@atom8n/n8n-editor-ui 2.5.0 → 2.5.2

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.
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./FixedCollectionParameter-8JGOsPVc.js","./_plugin-vue_export-helper-BwBpWJRZ.js","./src-jviYSG25.js","./preload-helper-dyVz7ck7.js","./truncate-C0KYt7i3.js","./core-CRbPymLT.js","./vue.runtime.esm-bundler-tP5dCd7J.js","./chunk-6z4oVpB-.js","./CalendarDate-DgQUMbNo.js","./get-BcEmeOxn.js","./_MapCache-CcdIl4Ae.js","./sanitize-html-CbW56HUN.js","./empty-BuGRxzl4.js","./path-browserify-RUt2u7iT.js","./en-CF30SCh2.js","./nodeCreator.store-CD9YI3Xp.js","./constants-C8OH4tTq.js","./merge-DhuTk1HM.js","./builder.store-DCtdlG-W.js","./_baseOrderBy-N8Be_6z6.js","./dateformat-hG8NERse.js","./useDebounce-Br5_1ug-.js","./nodeIcon-YzIaMUQc.js","./isEmpty-BQTTpadw.js","./useRunWorkflow-Dwb-II31.js","./useCanvasOperations-Bx4d7B17.js","./useClipboard-DvjhVHqJ.js","./usePinnedData-D0VBnmri.js","./folders.store-BZx1lmGB.js","./executions.store-DYnJLmf-.js","./retry-BgHaYzbB.js","./uniqBy-xDyuCRP0.js","./NDVEmptyState-33UoX00I.js","./vue-json-pretty-CsGX66mG.js","./assistant.store-DKII8TNC.js","./schemaPreview.store-CV_FRBc0.js","./chatPanel.store-CV1AqUpM.js","./useExecutionHelpers-vvnjVvZi.js","./dateFormatter-ik4-9_9r.js","./externalSecrets.ee.store-DN3YWD6I.js","./RunDataHtml-Cleia4Cj.js","./ParameterInputList-BHEErlR7.js","./exports-Crx_gvt_.js","./vue-CydWIhxN.js","./date-picker-2IDsBs2n.js","./dialog-a_kpqaGP.js","./VirtualSchema-DjWytYas.js","./Draggable-DM5zvfPN.js","./NodeIcon-DP2CO-KH.js","./useTelemetryContext-V6bv4YRq.js","./nodeTransforms-CAJjthlc.js","./TextWithHighlights-BxumwGnv.js","./VueMarkdown-CQqJL9vK.js","./useImportCurlCommand-BliGPuwz.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./FixedCollectionParameter-8JGOsPVc.js","./_plugin-vue_export-helper-BwBpWJRZ.js","./src-jviYSG25.js","./preload-helper-dyVz7ck7.js","./truncate-C0KYt7i3.js","./core-CRbPymLT.js","./vue.runtime.esm-bundler-tP5dCd7J.js","./chunk-6z4oVpB-.js","./CalendarDate-DgQUMbNo.js","./get-BcEmeOxn.js","./_MapCache-CcdIl4Ae.js","./sanitize-html-CbW56HUN.js","./empty-BuGRxzl4.js","./path-browserify-RUt2u7iT.js","./en-CF30SCh2.js","./nodeCreator.store-CD9YI3Xp.js","./constants-C8OH4tTq.js","./merge-DhuTk1HM.js","./builder.store-DCtdlG-W.js","./_baseOrderBy-N8Be_6z6.js","./dateformat-hG8NERse.js","./useDebounce-Br5_1ug-.js","./nodeIcon-YzIaMUQc.js","./isEmpty-BQTTpadw.js","./useRunWorkflow-Dwb-II31.js","./useCanvasOperations-Bx4d7B17.js","./useClipboard-DvjhVHqJ.js","./usePinnedData-D0VBnmri.js","./folders.store-BZx1lmGB.js","./executions.store-DYnJLmf-.js","./retry-BgHaYzbB.js","./uniqBy-xDyuCRP0.js","./NDVEmptyState-33UoX00I.js","./vue-json-pretty-CsGX66mG.js","./assistant.store-DKII8TNC.js","./schemaPreview.store-CV_FRBc0.js","./chatPanel.store-CV1AqUpM.js","./useExecutionHelpers-vvnjVvZi.js","./dateFormatter-ik4-9_9r.js","./externalSecrets.ee.store-DN3YWD6I.js","./RunDataHtml-Cleia4Cj.js","./ParameterInputList-BHEErlR7.js","./exports-Crx_gvt_.js","./vue-CydWIhxN.js","./date-picker-2IDsBs2n.js","./dialog-a_kpqaGP.js","./VirtualSchema-DjWytYas.js","./Draggable-DM5zvfPN.js","./NodeIcon-DP2CO-KH.js","./useTelemetryContext-V6bv4YRq.js","./nodeTransforms-CAJjthlc.js","./TextWithHighlights-BxumwGnv.js","./VueMarkdown-CQqJL9vK.js","./useImportCurlCommand-DJMAznZ_.js"])))=>i.map(i=>d[i]);
2
2
  import { o as __toESM, t as __commonJSMin } from "./chunk-6z4oVpB-.js";
3
3
  import { $ as onUpdated, Bt as toRaw, C as computed, Cn as toDisplayString, D as createElementBlock, E as createCommentVNode, G as nextTick, Gt as unref, I as guardReactiveProps, It as ref, J as onBeforeUnmount, L as h, M as createVNode, N as defineAsyncComponent, P as defineComponent, Pt as reactive, Q as onUnmounted, T as createBlock, U as mergeModels, Ut as toValue, W as mergeProps, Z as onMounted, _ as Fragment, _t as watch, at as renderSlot, b as Teleport, bn as normalizeStyle, bt as withCtx, c as useCssModule, ct as resolveDynamicComponent, et as openBlock, ft as useModel, h as withModifiers, i as createApp, it as renderList, j as createTextVNode, jt as isRef, k as createSlots, l as useCssVars, m as withKeys, mt as useTemplateRef, n as Transition, ot as resolveComponent, p as vShow, q as onBeforeMount, r as TransitionGroup, st as resolveDirective, v as KeepAlive, vn as normalizeClass, vt as watchEffect, w as createBaseVNode, xt as withDirectives, yn as normalizeProps, zt as shallowRef } from "./vue.runtime.esm-bundler-tP5dCd7J.js";
4
4
  import { L as refDebounced, O as createEventHook, T as useStorage, Z as addCredentialTranslation, et as i18n$1, it as I18nT, k as createInjectionState, l as useCssVar, nt as setLanguage, p as useElementSize, rt as useI18n, s as useAsyncState, tt as i18nInstance } from "./core-CRbPymLT.js";
@@ -10304,7 +10304,7 @@ var ImportCurlModal_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
10304
10304
  }
10305
10305
  async function onImport() {
10306
10306
  const { useImportCurlCommand } = await __vitePreload(async () => {
10307
- const { useImportCurlCommand: useImportCurlCommand$1 } = await import("./useImportCurlCommand-BliGPuwz.js");
10307
+ const { useImportCurlCommand: useImportCurlCommand$1 } = await import("./useImportCurlCommand-DJMAznZ_.js");
10308
10308
  return { useImportCurlCommand: useImportCurlCommand$1 };
10309
10309
  }, __vite__mapDeps([53,4,5,6,7,16,12,9,10,17,18,19,20,21,13]), import.meta.url);
10310
10310
  const { importCurlCommand } = useImportCurlCommand({
@@ -27429,50 +27429,60 @@ var App_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComp
27429
27429
  useTelemetryContext({ ndv_source: computed(() => ndvStore.lastSetActiveNodeSource) });
27430
27430
  const toast = useToast();
27431
27431
  const { applyRunDataFromFile } = useExecutionDebugging();
27432
+ let syncingPromise = null;
27432
27433
  async function handleVSCodeWorkflowSync(messageEvent) {
27433
27434
  if (typeof messageEvent.data === "object" && messageEvent.data !== null) {
27434
27435
  if (messageEvent.data.type === "workflowSync") {
27435
27436
  console.log("[App.vue] Received workflowSync message");
27436
- try {
27437
- const { syncWorkflow, navigateToWorkflow } = useWorkflowSync();
27438
- const { initializeWorkspace } = useCanvasOperations();
27439
- const workflowsStore = useWorkflowsStore();
27440
- const workflowData = messageEvent.data.workflow;
27441
- if (!workflowData || !workflowData.name) throw new Error("Invalid workflow data: missing name");
27442
- console.log("[App.vue] Syncing workflow:", workflowData.name);
27443
- const result = await syncWorkflow(workflowData);
27444
- if (result.action === "created" || workflowsStore.workflowId !== result.workflow.id) await navigateToWorkflow(result.workflow.id);
27437
+ if (window.vscode) window.vscode.postMessage({ type: "workflowSyncAck" });
27438
+ if (syncingPromise) {
27439
+ console.log("[App.vue] Already syncing, skipping duplicate workflowSync");
27440
+ return;
27441
+ }
27442
+ syncingPromise = (async () => {
27445
27443
  try {
27446
- const updatedWorkflow = await workflowsStore.fetchWorkflow(result.workflow.id);
27447
- if (updatedWorkflow.checksum) {
27448
- if (workflowsStore.workflowId === result.workflow.id) {
27449
- await initializeWorkspace(updatedWorkflow);
27450
- console.log("[App.vue] Workflow UI refreshed");
27444
+ const { syncWorkflow, navigateToWorkflow } = useWorkflowSync();
27445
+ const { initializeWorkspace } = useCanvasOperations();
27446
+ const workflowsStore = useWorkflowsStore();
27447
+ const workflowData = messageEvent.data.workflow;
27448
+ if (!workflowData || !workflowData.name) throw new Error("Invalid workflow data: missing name");
27449
+ console.log("[App.vue] Syncing workflow:", workflowData.name);
27450
+ const result = await syncWorkflow(workflowData);
27451
+ if (result.action === "created" || workflowsStore.workflowId !== result.workflow.id) await navigateToWorkflow(result.workflow.id);
27452
+ try {
27453
+ const updatedWorkflow = await workflowsStore.fetchWorkflow(result.workflow.id);
27454
+ if (updatedWorkflow.checksum) {
27455
+ if (workflowsStore.workflowId === result.workflow.id) {
27456
+ await initializeWorkspace(updatedWorkflow);
27457
+ console.log("[App.vue] Workflow UI refreshed");
27458
+ }
27451
27459
  }
27460
+ } catch (refreshError) {
27461
+ console.warn("[App.vue] Failed to refresh workflow UI:", refreshError);
27452
27462
  }
27453
- } catch (refreshError) {
27454
- console.warn("[App.vue] Failed to refresh workflow UI:", refreshError);
27463
+ if (window.parent) window.parent.postMessage(JSON.stringify({
27464
+ command: "workflowSyncComplete",
27465
+ workflowId: result.workflow.id,
27466
+ workflowName: result.workflow.name,
27467
+ action: result.action
27468
+ }), "*");
27469
+ if (result.action === "created") toast.showMessage({
27470
+ title: "Workflow Created",
27471
+ message: `Created new workflow: ${result.workflow.name}`,
27472
+ type: "success"
27473
+ });
27474
+ } catch (e) {
27475
+ console.error("[App.vue] Workflow sync error:", e);
27476
+ if (window.top) window.top.postMessage(JSON.stringify({
27477
+ command: "error",
27478
+ message: "Failed to sync workflow",
27479
+ error: e.message
27480
+ }), "*");
27481
+ toast.showError(e, "Workflow Sync Error");
27455
27482
  }
27456
- if (window.parent) window.parent.postMessage(JSON.stringify({
27457
- command: "workflowSyncComplete",
27458
- workflowId: result.workflow.id,
27459
- workflowName: result.workflow.name,
27460
- action: result.action
27461
- }), "*");
27462
- if (result.action === "created") toast.showMessage({
27463
- title: "Workflow Created",
27464
- message: `Created new workflow: ${result.workflow.name}`,
27465
- type: "success"
27466
- });
27467
- } catch (e) {
27468
- console.error("[App.vue] Workflow sync error:", e);
27469
- if (window.top) window.top.postMessage(JSON.stringify({
27470
- command: "error",
27471
- message: "Failed to sync workflow",
27472
- error: e.message
27473
- }), "*");
27474
- toast.showError(e, "Workflow Sync Error");
27475
- }
27483
+ })().finally(() => {
27484
+ syncingPromise = null;
27485
+ });
27476
27486
  } else if (messageEvent.data.type === "dataFileLoaded") {
27477
27487
  console.log("[App.vue] Received dataFileLoaded message");
27478
27488
  try {
@@ -110331,8 +110331,7 @@ label {
110331
110331
  border: none;
110332
110332
  outline: none;
110333
110333
  font-size: var(--font-size--sm);
110334
- -webkit-appearance: none;
110335
- appearance: none;
110334
+ appearance: none;
110336
110335
  background-color: var(--color--background--light-3);
110337
110336
  color: var(--color--text--shade-1);
110338
110337
  }
package/dist/index.html CHANGED
@@ -11,7 +11,7 @@
11
11
  <script src="/{{BASE_PATH}}/static/posthog.init.js" type="text/javascript"></script>
12
12
 
13
13
  <title>n8n.io - Workflow Automation</title>
14
- <script type="module" crossorigin src="./assets/index-VrvVsvSD.js"></script>
14
+ <script type="module" crossorigin src="./assets/index-Bl4g26Ej.js"></script>
15
15
  <link rel="modulepreload" crossorigin href="./assets/_plugin-vue_export-helper-BwBpWJRZ.js">
16
16
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-dyVz7ck7.js">
17
17
  <link rel="modulepreload" crossorigin href="./assets/chunk-6z4oVpB-.js">
@@ -123,7 +123,7 @@
123
123
  <link rel="modulepreload" crossorigin href="./assets/TagsDropdown-CRvhpa58.js">
124
124
  <link rel="modulepreload" crossorigin href="./assets/WorkflowTagsDropdown-DEOJWNZ6.js">
125
125
  <link rel="modulepreload" crossorigin href="./assets/utils-DI7dLldp.js">
126
- <link rel="stylesheet" crossorigin href="./assets/style-E3CrYFV8.css">
126
+ <link rel="stylesheet" crossorigin href="./assets/style-DTrv5uoi.css">
127
127
  </head>
128
128
  <body>
129
129
  <noscript>
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atom8n/n8n-editor-ui",
3
- "version": "2.5.0",
3
+ "version": "2.5.2",
4
4
  "description": "Workflow Editor UI for n8n",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -35,18 +35,18 @@
35
35
  "@codemirror/view": "^6.26.3",
36
36
  "@dagrejs/dagre": "^1.1.4",
37
37
  "@lezer/common": "1.1.0",
38
- "@n8n/api-types": "npm:@atom8n/api-types@1.5.0",
39
- "@n8n/chat": "npm:@atom8n/chat@1.5.0",
38
+ "@n8n/api-types": "npm:@atom8n/api-types@1.5.2",
39
+ "@n8n/chat": "npm:@atom8n/chat@1.5.2",
40
40
  "@n8n/codemirror-lang": "*",
41
- "@n8n/codemirror-lang-sql": "npm:@atom8n/codemirror-lang-sql@1.6.0",
42
- "@n8n/composables": "npm:@atom8n/composables@1.16.0",
43
- "@n8n/constants": "npm:@atom8n/constants@0.18.0",
44
- "@n8n/design-system": "npm:@atom8n/design-system@2.5.0",
45
- "@n8n/i18n": "npm:@atom8n/i18n@2.5.0",
46
- "@n8n/permissions": "npm:@atom8n/permissions@0.48.0",
47
- "@n8n/rest-api-client": "npm:@atom8n/rest-api-client@2.5.0",
48
- "@n8n/stores": "npm:@atom8n/stores@2.5.0",
49
- "@n8n/utils": "npm:@atom8n/utils@1.24.0",
41
+ "@n8n/codemirror-lang-sql": "npm:@atom8n/codemirror-lang-sql@1.6.2",
42
+ "@n8n/composables": "npm:@atom8n/composables@1.16.2",
43
+ "@n8n/constants": "npm:@atom8n/constants@0.18.2",
44
+ "@n8n/design-system": "npm:@atom8n/design-system@2.5.2",
45
+ "@n8n/i18n": "npm:@atom8n/i18n@2.5.2",
46
+ "@n8n/permissions": "npm:@atom8n/permissions@0.48.2",
47
+ "@n8n/rest-api-client": "npm:@atom8n/rest-api-client@2.5.2",
48
+ "@n8n/stores": "npm:@atom8n/stores@2.5.2",
49
+ "@n8n/utils": "npm:@atom8n/utils@1.24.2",
50
50
  "@replit/codemirror-indentation-markers": "^6.5.3",
51
51
  "@sentry/vue": "^9.42.1",
52
52
  "@sqlite.org/sqlite-wasm": "3.50.4-build1",
@@ -81,7 +81,7 @@
81
81
  "jsonpath": "^1.1.1",
82
82
  "lodash": "4.17.21",
83
83
  "luxon": "3.4.4",
84
- "n8n-workflow": "npm:@atom8n/n8n-workflow@2.5.0",
84
+ "n8n-workflow": "npm:@atom8n/n8n-workflow@2.5.2",
85
85
  "nanoid": "3.3.8",
86
86
  "pinia": "^2.2.4",
87
87
  "prettier": "^3.3.3",
@@ -114,8 +114,8 @@
114
114
  "@iconify/json": "^2.2.349",
115
115
  "@n8n/eslint-config": "*",
116
116
  "@n8n/stylelint-config": "*",
117
- "@n8n/typescript-config": "npm:@atom8n/typescript-config@1.6.0",
118
- "@n8n/vitest-config": "npm:@atom8n/vitest-config@1.8.0",
117
+ "@n8n/typescript-config": "npm:@atom8n/typescript-config@1.6.2",
118
+ "@n8n/vitest-config": "npm:@atom8n/vitest-config@1.8.2",
119
119
  "@pinia/testing": "^0.1.6",
120
120
  "@sentry/vite-plugin": "^4.3.0",
121
121
  "@storybook/types": "^8.6.14",