n8n-editor-ui 1.83.2 → 1.84.0

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 (110) hide show
  1. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-COOCXFFe.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-78eP7HIe.js} +1 -1
  2. package/dist/assets/{AuthView-C7UxnH6d.js → AuthView-Bn_LB3Kw.js} +2 -2
  3. package/dist/assets/{CanvasChat-CSLR5tKe.css → CanvasChat-CGGQcCRA.css} +45 -30
  4. package/dist/assets/{CanvasChat-CmjR9yPV.js → CanvasChat-tuKMnT6J.js} +230 -143
  5. package/dist/assets/{ChangePasswordView-ah8H7l7b.js → ChangePasswordView-aXYIR8zr.js} +3 -3
  6. package/dist/assets/CollectionParameter-DR9e0MGf.js +4 -0
  7. package/dist/assets/{CredentialsView-DqcTSsjv.js → CredentialsView-k8CeiyMJ.js} +5 -6
  8. package/dist/assets/{ErrorView-DG7aEbhz.js → ErrorView-e-cpk6J7.js} +1 -1
  9. package/dist/assets/{ConcurrentExecutionsHeader-CEBmSYNK.css → ExecutionsTime-BOPJEomw.css} +63 -63
  10. package/dist/assets/{ConcurrentExecutionsHeader-tdwilNra.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-BYacEmlc.js} +114 -114
  11. package/dist/assets/ExecutionsView-CQi8A4ps.js +926 -0
  12. package/dist/assets/{ExecutionsView-CB1tvZfo.css → ExecutionsView-CRTcP3sx.css} +60 -188
  13. package/dist/assets/{FileSaver.min-D9u6MONp.js → FileSaver.min-DmMmlWYQ.js} +1 -1
  14. package/dist/assets/{FixedCollectionParameter-CLjLHGyL.js → FixedCollectionParameter-BfUPtP5M.js} +1 -1
  15. package/dist/assets/{ForgotMyPasswordView-DDtUSUcw.js → ForgotMyPasswordView-Dzao5PZ9.js} +3 -3
  16. package/dist/assets/{ProjectHeader-BZ6b6lat.css → Logo-DLBj1gMw.css} +23 -17
  17. package/dist/assets/{Logo-CBvZEey7.js → Logo-DVRZ2qRx.js} +8 -19
  18. package/dist/assets/{MainHeader-PgJurmwZ.js → MainHeader-BUw_JG4S.js} +10 -10
  19. package/dist/assets/{MainSidebar-DsyUXL2c.js → MainSidebar-C6aXqICd.js} +75 -42
  20. package/dist/assets/{MainSidebar-BRAjTL7J.css → MainSidebar-CKMiDGvH.css} +13 -12
  21. package/dist/assets/{NodeCreation-CiSTfSrv.js → NodeCreation-B9-99kNr.js} +4 -4
  22. package/dist/assets/{NodeCreator-16svYK-i.js → NodeCreator-DH90304h.js} +4 -4
  23. package/dist/assets/{NodeDetailsView-CVVfk-zW.css → NodeDetailsView-0RXvy-0D.css} +2 -2
  24. package/dist/assets/{NodeDetailsView-D5ZKTnOO.js → NodeDetailsView-Ci-9Cz_w.js} +69 -61
  25. package/dist/assets/{NodeView-CVxHVGxF.js → NodeView-CFUO-Q9X.js} +57 -19
  26. package/dist/assets/{ProjectCardBadge-DKJ8uRN7.js → ProjectCardBadge-CGqr1_BG.js} +1 -1
  27. package/dist/assets/{ProjectHeader-BY3TAX3C.js → ProjectHeader-C8hRwBFC.js} +60 -7
  28. package/dist/assets/ProjectHeader-CQjB5wC7.css +285 -0
  29. package/dist/assets/{ProjectSettings-B3FxW1ze.js → ProjectSettings-motYfWGR.js} +2 -3
  30. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-CzwYeMCe.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DzkWenq4.js} +2 -2
  31. package/dist/assets/{ResourcesListLayout-DbPhtDij.js → ResourcesListLayout-BYVhS2j5.js} +14 -13
  32. package/dist/assets/{ResourcesListLayout-Brs7VKUf.css → ResourcesListLayout-BqQI0lCG.css} +29 -22
  33. package/dist/assets/{RunDataAi-Cq_XIdUj.js → RunDataAi-pfKF0Nfm.js} +3 -3
  34. package/dist/assets/{RunDataJson-BYaB0x1O.js → RunDataJson-CNT_rM-i.js} +12 -12
  35. package/dist/assets/{RunDataJsonActions-CU0K3JKo.js → RunDataJsonActions-BTLAUv9R.js} +2 -2
  36. package/dist/assets/{RunDataSearch-Cx3Q6SS-.js → RunDataSearch-BpcbBojC.js} +1 -1
  37. package/dist/assets/{RunDataTable-thC_K8V5.js → RunDataTable-ZnG9QEzJ.js} +2 -2
  38. package/dist/assets/{SamlOnboarding-kqju2Vdw.js → SamlOnboarding-DjhCWFIr.js} +3 -3
  39. package/dist/assets/{SettingsApiView-DZWY9nyk.js → SettingsApiView-C1ClqjeG.js} +1 -1
  40. package/dist/assets/{SettingsCommunityNodesView-BLPF2nGe.js → SettingsCommunityNodesView-D5eLIpQC.js} +5 -5
  41. package/dist/assets/{SettingsExternalSecrets-giVhhOpK.js → SettingsExternalSecrets-ubf6jijA.js} +1 -1
  42. package/dist/assets/{SettingsLdapView-CcLGbweG.js → SettingsLdapView-BezV6JLr.js} +1 -1
  43. package/dist/assets/{SettingsLogStreamingView-T4v-UDVv.js → SettingsLogStreamingView-ETOxA5Tw.js} +1 -1
  44. package/dist/assets/{SettingsPersonalView-C1vojEEm.js → SettingsPersonalView-DGxUC8Q4.js} +1 -1
  45. package/dist/assets/{SettingsSourceControl-mTHmVIMw.js → SettingsSourceControl-1vHHG6W9.js} +1 -1
  46. package/dist/assets/{SettingsSso-BBoPSBvR.js → SettingsSso-CdI26YPF.js} +1 -1
  47. package/dist/assets/{SettingsUsageAndPlan-CT1Jb0GH.js → SettingsUsageAndPlan-BmI8cSiq.js} +1 -1
  48. package/dist/assets/{SettingsUsersView-Cak1x7Pc.js → SettingsUsersView-90JmT1qM.js} +1 -1
  49. package/dist/assets/{SettingsView-DCkltMay.js → SettingsView-i7rE7s3I.js} +1 -1
  50. package/dist/assets/{SetupView-DJmIQyS0.js → SetupView-Lp4ullGE.js} +3 -3
  51. package/dist/assets/{SetupWorkflowCredentialsButton-DCfwCYAd.js → SetupWorkflowCredentialsButton-CoXXUd3B.js} +1 -1
  52. package/dist/assets/{SetupWorkflowFromTemplateView-k_iBV2jh.js → SetupWorkflowFromTemplateView-TVU0-Zq4.js} +3 -3
  53. package/dist/assets/{SigninView-BnsteSQ9.js → SigninView-BqF8j6-h.js} +3 -3
  54. package/dist/assets/{SignoutView-CyCh9bOx.js → SignoutView-DrYJ9Qe3.js} +1 -1
  55. package/dist/assets/{SignupView-BsFwHPbF.js → SignupView-_EKPhYKN.js} +3 -3
  56. package/dist/assets/{TemplateDetails-D_qS2oXP.js → TemplateDetails-DAalg9G2.js} +3 -3
  57. package/dist/assets/{TemplateList-Bsr77oun.js → TemplateList-BEYMeJMu.js} +1 -1
  58. package/dist/assets/{TemplatesCollectionView-DOx2xwGE.js → TemplatesCollectionView-fMELXCRX.js} +5 -5
  59. package/dist/assets/{TemplatesSearchView-C6YmB2wy.js → TemplatesSearchView-BO-e3IH7.js} +3 -3
  60. package/dist/assets/{TemplatesView-DQBwrteM.js → TemplatesView-p57nARMp.js} +1 -1
  61. package/dist/assets/{TemplatesWorkflowView-C2iuRHel.js → TemplatesWorkflowView-DAbL5S1-.js} +5 -5
  62. package/dist/assets/{TestDefinitionEditView-BhFe0nl4.js → TestDefinitionEditView-BTo9LlAU.js} +244 -252
  63. package/dist/assets/{TestDefinitionEditView-JONL00pA.css → TestDefinitionEditView-BXhOuJrU.css} +128 -116
  64. package/dist/assets/{TestDefinitionListView-xb_7O8DU.js → TestDefinitionListView-D_-DyZDv.js} +1 -1
  65. package/dist/assets/{TestDefinitionNewView-DfTA2Tx8.js → TestDefinitionNewView-Crk5OePO.js} +13 -4
  66. package/dist/assets/{TestDefinitionRootView-CaoWSLan.js → TestDefinitionRootView-BtiqAWW1.js} +1 -1
  67. package/dist/assets/{VariablesView-B2ttHbBo.js → VariablesView-Bg3GI1iE.js} +5 -5
  68. package/dist/assets/{VariablesView-CbTLdNwU.css → VariablesView-BvDpOTm3.css} +7 -11
  69. package/dist/assets/{WorkerView-CzDTwlX2.js → WorkerView-CaTyr1ci.js} +7 -7
  70. package/dist/assets/{WorkflowActivator-mNogYc60.js → WorkflowActivator-BvmRhIkt.js} +2 -2
  71. package/dist/assets/{WorkflowExecutionsInfoAccordion-CNoXKDkU.js → WorkflowExecutionsInfoAccordion-BuIbG1kZ.js} +1 -1
  72. package/dist/assets/{WorkflowExecutionsLandingPage-XS-H1Pwn.js → WorkflowExecutionsLandingPage-BirtsKx4.js} +2 -2
  73. package/dist/assets/{WorkflowExecutionsPreview-BDVLuC1z.css → WorkflowExecutionsPreview-CPGOOAq2.css} +48 -16
  74. package/dist/assets/{WorkflowExecutionsPreview-BMqpqyNP.js → WorkflowExecutionsPreview-DFyHWF9H.js} +253 -119
  75. package/dist/assets/{WorkflowExecutionsView-BLj64NZs.js → WorkflowExecutionsView-IUjVjxU9.js} +7 -7
  76. package/dist/assets/{WorkflowHistory-CFqqM71F.js → WorkflowHistory-BqKSxr_5.js} +3 -3
  77. package/dist/assets/{WorkflowOnboardingView-8o-XsXJA.js → WorkflowOnboardingView-Bs0Rmm6I.js} +1 -1
  78. package/dist/assets/{WorkflowPreview-B05e6atY.js → WorkflowPreview-1jsK9hpV.js} +1 -1
  79. package/dist/assets/{WorkflowsView-D6AZEJR8.js → WorkflowsView-MzPw02jI.js} +482 -347
  80. package/dist/assets/{WorkflowsView-JN0Hvhvt.css → WorkflowsView-Sg6GR5kC.css} +53 -39
  81. package/dist/assets/{easyAiWorkflowUtils-DCq6uUmq.js → easyAiWorkflowUtils-DlyLBhIZ.js} +1 -1
  82. package/dist/assets/{global-link-actions-DhVbzPXz.js → global-link-actions-DvwtxSrW.js} +1 -1
  83. package/dist/assets/{import-curl-CpQ9LTub.js → import-curl-CbxpR02g.js} +1 -1
  84. package/dist/assets/{index-D534l065.css → index-74EeM2i2.css} +743 -95
  85. package/dist/assets/{index-ntAcmC2q.js → index-CyVlLoqB.js} +3214 -2196
  86. package/dist/assets/{index-wbgX3Vnk.js → index-tzkIB4Tg.js} +1 -1
  87. package/dist/assets/{pickBy-DAl85H93.js → pickBy-DI3cF803.js} +1 -1
  88. package/dist/assets/{polyfills-C7eMRNFe.js → polyfills-CLZ4X0Ad.js} +2342 -1944
  89. package/dist/assets/{pushConnection.store-Cs7MLBaJ.js → pushConnection.store-BhUCpqAg.js} +1 -1
  90. package/dist/assets/{templateActions-C6kwBsE2.js → templateActions-BnGO7zdc.js} +1 -1
  91. package/dist/assets/{typescript.worker-DP34mIHW.js → typescript.worker-Bt3bByTc.js} +1158 -695
  92. package/dist/assets/{useBeforeUnload-Cr9E4FVX.js → useBeforeUnload-DtKxjKeS.js} +1 -1
  93. package/dist/assets/{useCanvasMapping-DwbUSpab.js → useCanvasMapping-BCP7UO9p.js} +10410 -10398
  94. package/dist/assets/{useCanvasMapping-CkNBF2SE.css → useCanvasMapping-CI4ehFWu.css} +579 -579
  95. package/dist/assets/{useCanvasOperations-Ch4-PXXM.js → useCanvasOperations-Ctquo5LL.js} +23 -6
  96. package/dist/assets/{useExecutionDebugging-WtMBcJA-.js → useExecutionDebugging-C0TAc9fj.js} +1 -1
  97. package/dist/assets/{useExecutionHelpers-DYVB2XNC.js → useExecutionHelpers-BQHL3OpL.js} +1 -1
  98. package/dist/assets/{useImportCurlCommand-B6a2t4kf.js → useImportCurlCommand-IE8oJ9bp.js} +13 -20
  99. package/dist/assets/{usePinnedData-CvnROquX.js → usePinnedData-CtRDhd6k.js} +2 -2
  100. package/dist/assets/{usePushConnection-BvuDmDSY.js → usePushConnection-DXozzPWi.js} +5 -4
  101. package/dist/assets/{useRunWorkflow-BjW-TsKk.js → useRunWorkflow-D9JIEr1s.js} +3 -3
  102. package/dist/assets/{useTestDefinitionForm-uexL_DkW.js → useTestDefinitionForm-8dJH3v29.js} +1 -1
  103. package/dist/assets/{useWorkflowActivate-BAjo-kUC.js → useWorkflowActivate-CI3X35ZJ.js} +1 -1
  104. package/dist/index.html +3 -3
  105. package/package.json +1 -1
  106. package/dist/assets/CollectionParameter-Dk76idMw.js +0 -4
  107. package/dist/assets/ExecutionsView-zqdNLgx1.js +0 -983
  108. package/dist/assets/Logo-DJLTXpXC.css +0 -165
  109. package/dist/assets/ProjectCreateResource-5lC9x1Ht.js +0 -56
  110. package/dist/assets/ProjectCreateResource-eYdTamXR.css +0 -139
@@ -1,9 +1,9 @@
1
- import { aX as inject, aY as isRef, c as openBlock, h as createElementBlock, j as createBaseVNode, d as defineComponent, q as computed, i as createVNode, l as unref, t as toDisplayString, J as withModifiers, e as createBlock, f as createCommentVNode, _ as _export_sfc, aZ as toRefs, r as ref, o as onMounted, v as renderSlot, a_ as normalizeProps, a$ as guardReactiveProps, b0 as mergeProps, b1 as resolveDynamicComponent, b2 as VueMarkdown, F as Fragment, B as renderList, n as normalizeClass, b3 as markdownLink, b4 as useFileDialog, b5 as onUnmounted, ax as withDirectives, b6 as vModelText, H as withKeys, C as normalizeStyle, w as withCtx, I as watch, m as resolveComponent, k as createTextVNode, b7 as useClipboard, a as useToast, aT as createSlots, g as useI18n$1, af as MODAL_CONFIRM, al as useMessage, b8 as CHAT_TRIGGER_NODE_TYPE, b9 as MANUAL_CHAT_TRIGGER_NODE_TYPE, ba as CHAIN_SUMMARIZATION_LANGCHAIN_NODE_TYPE, bb as AI_SUBCATEGORY, bc as AI_CATEGORY_AGENTS, bd as AI_CATEGORY_CHAINS, be as AI_CODE_NODE_TYPE, bf as getNodeInputs, bg as getConnectionTypes, bh as getNodeOutputs, bi as NodeConnectionType, bj as isEmpty, bk as get, bl as v4, bm as last, bn as CHAT_TRIGGER_NODE_TYPE$1, aJ as useStorage, bo as watchEffect, y as onBeforeUnmount, K as useDebounce, U as useWorkflowsStore, a0 as useCanvasStore, bp as useNodeTypesStore, bq as useNodeHelpers, b as useRouter, V as VIEWS, br as provide } from "./index-ntAcmC2q.js";
2
- import { H as HighlightJS, R as RunDataAi } from "./RunDataAi-Cq_XIdUj.js";
3
- import { u as usePinnedData } from "./usePinnedData-CvnROquX.js";
4
- import { u as useRunWorkflow } from "./useRunWorkflow-BjW-TsKk.js";
5
- import "./useExecutionHelpers-DYVB2XNC.js";
6
- import "./pushConnection.store-Cs7MLBaJ.js";
1
+ import { aX as inject, aY as isRef, i as createElementBlock, g as openBlock, k as createBaseVNode, d as defineComponent, q as computed, j as createVNode, e as createBlock, f as createCommentVNode, m as unref, t as toDisplayString, J as withModifiers, _ as _export_sfc, aZ as toRefs, r as ref, o as onMounted, n as normalizeClass, x as renderSlot, a_ as normalizeProps, a$ as guardReactiveProps, b0 as resolveDynamicComponent, b1 as mergeProps, b2 as VueMarkdown, F as Fragment, D as renderList, b3 as markdownLink, b4 as useFileDialog, b5 as onUnmounted, B as normalizeStyle, aA as withDirectives, b6 as vModelText, H as withKeys, w as withCtx, I as watch, h as resolveComponent, l as createTextVNode, b7 as useClipboard, a as useToast, c as useI18n$1, aU as createSlots, b8 as CHAIN_SUMMARIZATION_LANGCHAIN_NODE_TYPE, b9 as AI_SUBCATEGORY, ba as AI_CATEGORY_AGENTS, bb as AI_CATEGORY_CHAINS, bc as AI_CODE_NODE_TYPE, bd as getNodeInputs, be as getConnectionTypes, bf as getNodeOutputs, bg as NodeConnectionType, bh as CHAT_TRIGGER_NODE_TYPE, bi as MANUAL_CHAT_TRIGGER_NODE_TYPE, bj as get, bk as last, bl as isEmpty, ai as useMessage, aj as MODAL_CONFIRM, bm as v4, bn as CHAT_TRIGGER_NODE_TYPE$1, aJ as useStorage, bo as watchEffect, y as onBeforeUnmount, K as useDebounce, bp as provide, bq as useProvideTooltipAppendTo, br as IsInPiPWindowSymbol, T as useWorkflowsStore, a1 as useCanvasStore, bs as useNodeTypesStore, bt as useNodeHelpers, b as useRouter, bu as useTemplateRef, bv as N8nResizeWrapper, ag as useTelemetry, V as VIEWS } from "./index-CyVlLoqB.js";
2
+ import { H as HighlightJS, R as RunDataAi } from "./RunDataAi-pfKF0Nfm.js";
3
+ import { u as usePinnedData } from "./usePinnedData-CtRDhd6k.js";
4
+ import { u as useRunWorkflow } from "./useRunWorkflow-D9JIEr1s.js";
5
+ import "./useExecutionHelpers-BQHL3OpL.js";
6
+ import "./pushConnection.store-BhUCpqAg.js";
7
7
  const ChatSymbol = "Chat";
8
8
  const ChatOptionsSymbol = "ChatOptions";
9
9
  function createEventBus() {
@@ -3250,7 +3250,6 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3250
3250
  setup(__props, { emit: __emit }) {
3251
3251
  const props = __props;
3252
3252
  const emit = __emit;
3253
- const messageComposable = useMessage();
3254
3253
  const clipboard = useClipboard();
3255
3254
  const locale = useI18n$1();
3256
3255
  const toast = useToast();
@@ -3274,23 +3273,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3274
3273
  previousMessageIndex.value = 0;
3275
3274
  emit("sendMessage", message);
3276
3275
  }
3277
- async function onRefreshSession() {
3278
- if (props.messages.length === 0) {
3279
- emit("refreshSession");
3280
- return;
3281
- }
3282
- const confirmResult = await messageComposable.confirm(
3283
- locale.baseText("chat.window.session.reset.warning"),
3284
- {
3285
- title: locale.baseText("chat.window.session.reset.title"),
3286
- type: "warning",
3287
- confirmButtonText: locale.baseText("chat.window.session.reset.confirm"),
3288
- showClose: true
3289
- }
3290
- );
3291
- if (confirmResult === MODAL_CONFIRM) {
3292
- emit("refreshSession");
3293
- }
3276
+ function onRefreshSession() {
3277
+ emit("refreshSession");
3294
3278
  }
3295
3279
  function onArrowKeyDown({ currentInputValue, key }) {
3296
3280
  const pastMessages = props.pastChatMessages;
@@ -3319,8 +3303,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3319
3303
  previousMessageIndex.value = 0;
3320
3304
  }
3321
3305
  }
3322
- function copySessionId() {
3323
- void clipboard.copy(props.sessionId);
3306
+ async function copySessionId() {
3307
+ await clipboard.copy(props.sessionId);
3324
3308
  toast.showMessage({
3325
3309
  title: locale.baseText("generic.copiedToClipboard"),
3326
3310
  message: "",
@@ -3351,9 +3335,9 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3351
3335
  ]),
3352
3336
  default: withCtx(() => [
3353
3337
  createBaseVNode("span", {
3354
- class: normalizeClass(_ctx.$style.sessionId),
3338
+ class: normalizeClass([_ctx.$style.sessionId, unref(clipboard).isSupported.value ? _ctx.$style.copyable : ""]),
3355
3339
  "data-test-id": "chat-session-id",
3356
- onClick: copySessionId
3340
+ onClick: _cache[0] || (_cache[0] = ($event) => unref(clipboard).isSupported.value ? copySessionId() : null)
3357
3341
  }, toDisplayString(_ctx.sessionId), 3)
3358
3342
  ]),
3359
3343
  _: 1
@@ -3365,7 +3349,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3365
3349
  type: "secondary",
3366
3350
  size: "mini",
3367
3351
  icon: "undo",
3368
- title: unref(locale).baseText("chat.window.session.reset.confirm"),
3352
+ title: unref(locale).baseText("chat.window.session.reset"),
3369
3353
  onClick: onRefreshSession
3370
3354
  }, null, 8, ["class", "title"]),
3371
3355
  _ctx.showCloseButton ? (openBlock(), createBlock(_component_n8n_icon_button, {
@@ -3375,7 +3359,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3375
3359
  type: "secondary",
3376
3360
  size: "mini",
3377
3361
  icon: "times",
3378
- onClick: _cache[0] || (_cache[0] = ($event) => emit("close"))
3362
+ onClick: _cache[1] || (_cache[1] = ($event) => emit("close"))
3379
3363
  }, null, 8, ["class"])) : createCommentVNode("", true)
3380
3364
  ], 2)
3381
3365
  ], 2),
@@ -3441,7 +3425,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3441
3425
  type: "tertiary",
3442
3426
  text: "",
3443
3427
  size: "mini",
3444
- onClick: _cache[1] || (_cache[1] = ($event) => onArrowKeyDown({ currentInputValue: "", key: "ArrowUp" }))
3428
+ onClick: _cache[2] || (_cache[2] = ($event) => onArrowKeyDown({ currentInputValue: "", key: "ArrowUp" }))
3445
3429
  }),
3446
3430
  createVNode(_component_n8n_button, {
3447
3431
  title: "Navigate to next message",
@@ -3449,7 +3433,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3449
3433
  type: "tertiary",
3450
3434
  text: "",
3451
3435
  size: "mini",
3452
- onClick: _cache[2] || (_cache[2] = ($event) => onArrowKeyDown({ currentInputValue: "", key: "ArrowDown" }))
3436
+ onClick: _cache[3] || (_cache[3] = ($event) => onArrowKeyDown({ currentInputValue: "", key: "ArrowDown" }))
3453
3437
  })
3454
3438
  ], 2)
3455
3439
  ]),
@@ -3461,21 +3445,23 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3461
3445
  };
3462
3446
  }
3463
3447
  });
3464
- const chat$1 = "_chat_16ciy_123";
3465
- const chatHeader = "_chatHeader_16ciy_148";
3466
- const chatTitle = "_chatTitle_16ciy_161";
3467
- const session = "_session_16ciy_165";
3468
- const sessionId = "_sessionId_16ciy_173";
3469
- const headerButton = "_headerButton_16ciy_181";
3470
- const chatBody = "_chatBody_16ciy_186";
3471
- const messages = "_messages_16ciy_192";
3472
- const messagesInput = "_messagesInput_16ciy_203";
3448
+ const chat$1 = "_chat_9tbjh_123";
3449
+ const chatHeader = "_chatHeader_9tbjh_148";
3450
+ const chatTitle = "_chatTitle_9tbjh_161";
3451
+ const session = "_session_9tbjh_165";
3452
+ const sessionId = "_sessionId_9tbjh_173";
3453
+ const copyable = "_copyable_9tbjh_179";
3454
+ const headerButton = "_headerButton_9tbjh_183";
3455
+ const chatBody = "_chatBody_9tbjh_188";
3456
+ const messages = "_messages_9tbjh_194";
3457
+ const messagesInput = "_messagesInput_9tbjh_205";
3473
3458
  const style0$2 = {
3474
3459
  chat: chat$1,
3475
3460
  chatHeader,
3476
3461
  chatTitle,
3477
3462
  session,
3478
3463
  sessionId,
3464
+ copyable,
3479
3465
  headerButton,
3480
3466
  chatBody,
3481
3467
  messages,
@@ -3494,12 +3480,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3494
3480
  slim: { type: Boolean },
3495
3481
  workflow: {}
3496
3482
  },
3497
- emits: ["close"],
3498
- setup(__props, { emit: __emit }) {
3499
- const emit = __emit;
3483
+ setup(__props) {
3500
3484
  const locale = useI18n$1();
3501
3485
  return (_ctx, _cache) => {
3502
- const _component_n8n_icon_button = resolveComponent("n8n-icon-button");
3503
3486
  return openBlock(), createElementBlock("div", {
3504
3487
  class: normalizeClass(_ctx.$style.logsWrapper),
3505
3488
  "data-test-id": "lm-chat-logs"
@@ -3511,14 +3494,11 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3511
3494
  createTextVNode(toDisplayString(unref(locale).baseText("chat.window.logs")) + " ", 1),
3512
3495
  _ctx.node ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(unref(locale).baseText("chat.window.logsFromNode", { interpolate: { nodeName: _ctx.node.name } })), 1)) : createCommentVNode("", true)
3513
3496
  ]),
3514
- createVNode(_component_n8n_icon_button, {
3515
- class: normalizeClass(_ctx.$style.close),
3516
- outline: "",
3517
- icon: "times",
3518
- type: "secondary",
3519
- size: "mini",
3520
- onClick: _cache[0] || (_cache[0] = ($event) => emit("close"))
3521
- }, null, 8, ["class"])
3497
+ createBaseVNode("div", {
3498
+ class: normalizeClass(_ctx.$style.actions)
3499
+ }, [
3500
+ renderSlot(_ctx.$slots, "actions")
3501
+ ], 2)
3522
3502
  ], 2),
3523
3503
  createBaseVNode("div", {
3524
3504
  class: normalizeClass(_ctx.$style.logs)
@@ -3535,17 +3515,17 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3535
3515
  };
3536
3516
  }
3537
3517
  });
3538
- const logsHeader = "_logsHeader_km5h4_123";
3539
- const close = "_close_km5h4_136";
3540
- const logsWrapper = "_logsWrapper_km5h4_143";
3541
- const logsTitle = "_logsTitle_km5h4_152";
3542
- const logs$1 = "_logs_km5h4_123";
3518
+ const logsHeader = "_logsHeader_1s52w_123";
3519
+ const logsWrapper = "_logsWrapper_1s52w_140";
3520
+ const logsTitle = "_logsTitle_1s52w_149";
3521
+ const logs$1 = "_logs_1s52w_123";
3522
+ const actions = "_actions_1s52w_159";
3543
3523
  const style0$1 = {
3544
3524
  logsHeader,
3545
- close,
3546
3525
  logsWrapper,
3547
3526
  logsTitle,
3548
- logs: logs$1
3527
+ logs: logs$1,
3528
+ actions
3549
3529
  };
3550
3530
  const cssModules$1 = {
3551
3531
  "$style": style0$1
@@ -3904,6 +3884,66 @@ function useResize(container2) {
3904
3884
  panelToContainerRatio
3905
3885
  };
3906
3886
  }
3887
+ function usePiPWindow({
3888
+ container: container2,
3889
+ content,
3890
+ initialHeight,
3891
+ initialWidth,
3892
+ shouldPopOut,
3893
+ onRequestClose
3894
+ }) {
3895
+ const pipWindow = ref();
3896
+ const isUnmounting = ref(false);
3897
+ const canPopOut = computed(() => !!window.documentPictureInPicture);
3898
+ const isPoppedOut = computed(() => !!pipWindow.value);
3899
+ const tooltipContainer = computed(
3900
+ () => isPoppedOut.value ? content.value ?? void 0 : void 0
3901
+ );
3902
+ provide(IsInPiPWindowSymbol, isPoppedOut);
3903
+ useProvideTooltipAppendTo(tooltipContainer);
3904
+ async function showPip() {
3905
+ if (!content.value) {
3906
+ return;
3907
+ }
3908
+ pipWindow.value = pipWindow.value ?? await window.documentPictureInPicture?.requestWindow({
3909
+ width: initialWidth,
3910
+ height: initialHeight,
3911
+ disallowReturnToOpener: true
3912
+ });
3913
+ [...document.styleSheets].forEach((styleSheet) => {
3914
+ try {
3915
+ const cssRules = [...styleSheet.cssRules].map((rule) => rule.cssText).join("");
3916
+ const style = document.createElement("style");
3917
+ style.textContent = cssRules;
3918
+ pipWindow.value?.document.head.appendChild(style);
3919
+ } catch (e) {
3920
+ const link = document.createElement("link");
3921
+ link.rel = "stylesheet";
3922
+ link.type = styleSheet.type;
3923
+ link.media = styleSheet.media;
3924
+ link.href = styleSheet.href;
3925
+ pipWindow.value?.document.head.appendChild(link);
3926
+ }
3927
+ });
3928
+ pipWindow.value?.document.body.append(content.value);
3929
+ pipWindow.value?.addEventListener("pagehide", () => !isUnmounting.value && onRequestClose());
3930
+ }
3931
+ function hidePiP() {
3932
+ pipWindow.value?.close();
3933
+ pipWindow.value = void 0;
3934
+ if (content.value) {
3935
+ container2.value?.appendChild(content.value);
3936
+ }
3937
+ }
3938
+ watch(shouldPopOut, (value) => value ? requestAnimationFrame(showPip) : hidePiP(), {
3939
+ immediate: true
3940
+ });
3941
+ onBeforeUnmount(() => {
3942
+ isUnmounting.value = true;
3943
+ pipWindow.value?.close();
3944
+ });
3945
+ return { canPopOut, isPoppedOut, pipWindow };
3946
+ }
3907
3947
  const _sfc_main = /* @__PURE__ */ defineComponent({
3908
3948
  __name: "CanvasChat",
3909
3949
  setup(__props, { expose: __expose }) {
@@ -3916,14 +3956,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3916
3956
  const currentSessionId = ref(v4().replace(/-/g, ""));
3917
3957
  const isDisabled = ref(false);
3918
3958
  const container2 = ref();
3959
+ const pipContainer = useTemplateRef("pipContainer");
3960
+ const pipContent2 = useTemplateRef("pipContent");
3919
3961
  const workflow = computed(() => workflowsStore.getCurrentWorkflow());
3920
3962
  const allConnections = computed(() => workflowsStore.allConnections);
3921
- const isChatOpen = computed(() => {
3922
- const result = workflowsStore.isChatPanelOpen;
3923
- return result;
3924
- });
3963
+ const chatPanelState = computed(() => workflowsStore.chatPanelState);
3925
3964
  const canvasNodes = computed(() => workflowsStore.allNodes);
3926
- const isLogsOpen = computed(() => workflowsStore.isLogsPanelOpen);
3927
3965
  const previousChatMessages = computed(() => workflowsStore.getPastChatMessages);
3928
3966
  const resultData = computed(() => workflowsStore.getWorkflowRunData);
3929
3967
  __expose({
@@ -3932,6 +3970,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3932
3970
  isDisabled,
3933
3971
  workflow
3934
3972
  });
3973
+ const telemetry = useTelemetry();
3935
3974
  const { runWorkflow } = useRunWorkflow({ router });
3936
3975
  const {
3937
3976
  chatTriggerNode,
@@ -3965,6 +4004,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3965
4004
  onResizeChatDebounced,
3966
4005
  onWindowResize
3967
4006
  } = useResize(container2);
4007
+ const { canPopOut, isPoppedOut, pipWindow } = usePiPWindow({
4008
+ initialHeight: 400,
4009
+ initialWidth: window.document.body.offsetWidth * 0.8,
4010
+ container: pipContainer,
4011
+ content: pipContent2,
4012
+ shouldPopOut: computed(() => chatPanelState.value === "floating"),
4013
+ onRequestClose: () => {
4014
+ if (chatPanelState.value === "closed") {
4015
+ return;
4016
+ }
4017
+ telemetry.track("User toggled log view", { new_state: "attached" });
4018
+ workflowsStore.setPanelState("attached");
4019
+ }
4020
+ });
3968
4021
  function createChatConfig(params) {
3969
4022
  const chatConfig2 = {
3970
4023
  messages: params.messages,
@@ -4020,7 +4073,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4020
4073
  });
4021
4074
  };
4022
4075
  const closePanel = () => {
4023
- workflowsStore.setPanelOpen("chat", false);
4076
+ workflowsStore.setPanelState("closed");
4024
4077
  };
4025
4078
  async function createExecutionPromise() {
4026
4079
  return await new Promise((resolve) => {
@@ -4052,6 +4105,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4052
4105
  }
4053
4106
  return;
4054
4107
  }
4108
+ function onPopOut() {
4109
+ telemetry.track("User toggled log view", { new_state: "floating" });
4110
+ workflowsStore.setPanelState("floating");
4111
+ }
4055
4112
  const { chatConfig, chatOptions } = createChatConfig({
4056
4113
  messages: messages2,
4057
4114
  sendMessage,
@@ -4064,9 +4121,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4064
4121
  provide(ChatSymbol, chatConfig);
4065
4122
  provide(ChatOptionsSymbol, chatOptions);
4066
4123
  watch(
4067
- () => isChatOpen.value,
4068
- (isOpen) => {
4069
- if (isOpen) {
4124
+ chatPanelState,
4125
+ (state) => {
4126
+ if (state !== "closed") {
4070
4127
  setChatTriggerNode();
4071
4128
  setConnectedNode();
4072
4129
  if (messages2.value.length === 0) {
@@ -4094,88 +4151,118 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4094
4151
  { deep: true }
4095
4152
  );
4096
4153
  watchEffect(() => {
4097
- canvasStore.setPanelHeight(isChatOpen.value || isLogsOpen.value ? height.value : 0);
4154
+ canvasStore.setPanelHeight(chatPanelState.value === "attached" ? height.value : 0);
4098
4155
  });
4099
4156
  return (_ctx, _cache) => {
4100
- const _component_n8n_resize_wrapper = resolveComponent("n8n-resize-wrapper");
4101
- const _component_N8nResizeWrapper = resolveComponent("N8nResizeWrapper");
4102
- return unref(chatTriggerNode) ? (openBlock(), createBlock(_component_N8nResizeWrapper, {
4103
- key: 0,
4104
- "is-resizing-enabled": isChatOpen.value || isLogsOpen.value,
4105
- "supported-directions": ["top"],
4106
- class: normalizeClass([_ctx.$style.resizeWrapper, !isChatOpen.value && !isLogsOpen.value && _ctx.$style.empty]),
4107
- height: unref(height),
4108
- style: normalizeStyle(unref(rootStyles)),
4109
- onResize: unref(onResizeDebounced)
4110
- }, {
4111
- default: withCtx(() => [
4112
- createBaseVNode("div", {
4113
- ref_key: "container",
4114
- ref: container2,
4115
- class: normalizeClass([_ctx.$style.container, "ignore-key-press-canvas"]),
4116
- tabindex: "0"
4117
- }, [
4118
- isChatOpen.value || isLogsOpen.value ? (openBlock(), createElementBlock("div", {
4119
- key: 0,
4120
- class: normalizeClass(_ctx.$style.chatResizer)
4121
- }, [
4122
- isChatOpen.value ? (openBlock(), createBlock(_component_n8n_resize_wrapper, {
4123
- key: 0,
4124
- "supported-directions": ["right"],
4125
- width: unref(chatWidth),
4126
- class: normalizeClass(_ctx.$style.chat),
4127
- onResize: unref(onResizeChatDebounced)
4128
- }, {
4129
- default: withCtx(() => [
4130
- createBaseVNode("div", {
4131
- class: normalizeClass(_ctx.$style.inner)
4132
- }, [
4133
- createVNode(ChatMessagesPanel, {
4134
- "data-test-id": "canvas-chat",
4135
- messages: messages2.value,
4136
- "session-id": currentSessionId.value,
4137
- "past-chat-messages": previousChatMessages.value,
4138
- "show-close-button": !unref(connectedNode),
4139
- onClose: closePanel,
4140
- onRefreshSession: handleRefreshSession,
4141
- onDisplayExecution: handleDisplayExecution,
4142
- onSendMessage: unref(sendMessage)
4143
- }, null, 8, ["messages", "session-id", "past-chat-messages", "show-close-button", "onSendMessage"])
4144
- ], 2)
4145
- ]),
4146
- _: 1
4147
- }, 8, ["width", "class", "onResize"])) : createCommentVNode("", true),
4148
- isLogsOpen.value && unref(connectedNode) ? (openBlock(), createElementBlock("div", {
4149
- key: 1,
4150
- class: normalizeClass(_ctx.$style.logs)
4157
+ const _component_n8n_icon_button = resolveComponent("n8n-icon-button");
4158
+ return openBlock(), createElementBlock("div", {
4159
+ ref_key: "pipContainer",
4160
+ ref: pipContainer
4161
+ }, [
4162
+ createBaseVNode("div", {
4163
+ ref_key: "pipContent",
4164
+ ref: pipContent2,
4165
+ class: normalizeClass(_ctx.$style.pipContent)
4166
+ }, [
4167
+ unref(chatTriggerNode) ? (openBlock(), createBlock(unref(N8nResizeWrapper), {
4168
+ key: 0,
4169
+ "is-resizing-enabled": !unref(isPoppedOut) && chatPanelState.value === "attached",
4170
+ "supported-directions": ["top"],
4171
+ class: normalizeClass([_ctx.$style.resizeWrapper, chatPanelState.value === "closed" && _ctx.$style.empty]),
4172
+ height: unref(height),
4173
+ style: normalizeStyle(unref(rootStyles)),
4174
+ onResize: unref(onResizeDebounced)
4175
+ }, {
4176
+ default: withCtx(() => [
4177
+ createBaseVNode("div", {
4178
+ ref_key: "container",
4179
+ ref: container2,
4180
+ class: normalizeClass([_ctx.$style.container, "ignore-key-press-canvas"]),
4181
+ tabindex: "0"
4151
4182
  }, [
4152
- (openBlock(), createBlock(ChatLogsPanel, {
4153
- key: `${resultData.value?.length ?? messages2.value?.length}`,
4154
- workflow: workflow.value,
4155
- "data-test-id": "canvas-chat-logs",
4156
- node: unref(connectedNode),
4157
- slim: unref(logsWidth) < 700,
4158
- onClose: closePanel
4159
- }, null, 8, ["workflow", "node", "slim"]))
4160
- ], 2)) : createCommentVNode("", true)
4161
- ], 2)) : createCommentVNode("", true)
4162
- ], 2)
4163
- ]),
4164
- _: 1
4165
- }, 8, ["is-resizing-enabled", "class", "height", "style", "onResize"])) : createCommentVNode("", true);
4183
+ chatPanelState.value !== "closed" ? (openBlock(), createElementBlock("div", {
4184
+ key: 0,
4185
+ class: normalizeClass(_ctx.$style.chatResizer)
4186
+ }, [
4187
+ createVNode(unref(N8nResizeWrapper), {
4188
+ "supported-directions": ["right"],
4189
+ width: unref(chatWidth),
4190
+ class: normalizeClass(_ctx.$style.chat),
4191
+ window: unref(pipWindow),
4192
+ onResize: unref(onResizeChatDebounced)
4193
+ }, {
4194
+ default: withCtx(() => [
4195
+ createBaseVNode("div", {
4196
+ class: normalizeClass(_ctx.$style.inner)
4197
+ }, [
4198
+ createVNode(ChatMessagesPanel, {
4199
+ "data-test-id": "canvas-chat",
4200
+ messages: messages2.value,
4201
+ "session-id": currentSessionId.value,
4202
+ "past-chat-messages": previousChatMessages.value,
4203
+ "show-close-button": !unref(isPoppedOut) && !unref(connectedNode),
4204
+ onClose: closePanel,
4205
+ onRefreshSession: handleRefreshSession,
4206
+ onDisplayExecution: handleDisplayExecution,
4207
+ onSendMessage: unref(sendMessage)
4208
+ }, null, 8, ["messages", "session-id", "past-chat-messages", "show-close-button", "onSendMessage"])
4209
+ ], 2)
4210
+ ]),
4211
+ _: 1
4212
+ }, 8, ["width", "class", "window", "onResize"]),
4213
+ unref(connectedNode) ? (openBlock(), createElementBlock("div", {
4214
+ key: 0,
4215
+ class: normalizeClass(_ctx.$style.logs)
4216
+ }, [
4217
+ (openBlock(), createBlock(ChatLogsPanel, {
4218
+ key: `${resultData.value?.length ?? messages2.value?.length}`,
4219
+ workflow: workflow.value,
4220
+ "data-test-id": "canvas-chat-logs",
4221
+ node: unref(connectedNode),
4222
+ slim: unref(logsWidth) < 700
4223
+ }, {
4224
+ actions: withCtx(() => [
4225
+ unref(canPopOut) && !unref(isPoppedOut) ? (openBlock(), createBlock(_component_n8n_icon_button, {
4226
+ key: 0,
4227
+ icon: "pop-out",
4228
+ type: "secondary",
4229
+ size: "medium",
4230
+ onClick: onPopOut
4231
+ })) : createCommentVNode("", true),
4232
+ !unref(isPoppedOut) ? (openBlock(), createBlock(_component_n8n_icon_button, {
4233
+ key: 1,
4234
+ outline: "",
4235
+ icon: "times",
4236
+ type: "secondary",
4237
+ size: "medium",
4238
+ onClick: closePanel
4239
+ })) : createCommentVNode("", true)
4240
+ ]),
4241
+ _: 1
4242
+ }, 8, ["workflow", "node", "slim"]))
4243
+ ], 2)) : createCommentVNode("", true)
4244
+ ], 2)) : createCommentVNode("", true)
4245
+ ], 2)
4246
+ ]),
4247
+ _: 1
4248
+ }, 8, ["is-resizing-enabled", "class", "height", "style", "onResize"])) : createCommentVNode("", true)
4249
+ ], 2)
4250
+ ], 512);
4166
4251
  };
4167
4252
  }
4168
4253
  });
4169
- const resizeWrapper = "_resizeWrapper_1tz98_123";
4170
- const empty = "_empty_1tz98_130";
4171
- const container = "_container_1tz98_136";
4172
- const chatResizer = "_chatResizer_1tz98_144";
4173
- const footer = "_footer_1tz98_151";
4174
- const chat = "_chat_1tz98_144";
4175
- const inner = "_inner_1tz98_170";
4176
- const logs = "_logs_1tz98_178";
4254
+ const resizeWrapper = "_resizeWrapper_1aajp_124";
4255
+ const pipContent = "_pipContent_1aajp_129";
4256
+ const empty = "_empty_1aajp_140";
4257
+ const container = "_container_1aajp_146";
4258
+ const chatResizer = "_chatResizer_1aajp_154";
4259
+ const footer = "_footer_1aajp_161";
4260
+ const chat = "_chat_1aajp_154";
4261
+ const inner = "_inner_1aajp_180";
4262
+ const logs = "_logs_1aajp_188";
4177
4263
  const style0 = {
4178
4264
  resizeWrapper,
4265
+ pipContent,
4179
4266
  empty,
4180
4267
  container,
4181
4268
  chatResizer,
@@ -1,6 +1,6 @@
1
- import { d as defineComponent, u as useUsersStore, a as useToast, b as useRouter, r as ref, o as onMounted, M as MFA_AUTHENTICATION_CODE_INPUT_MAX_LENGTH, V as VIEWS, c as openBlock, e as createBlock, f as createCommentVNode, g as useI18n } from "./index-ntAcmC2q.js";
2
- import { A as AuthView } from "./AuthView-C7UxnH6d.js";
3
- import "./Logo-CBvZEey7.js";
1
+ import { d as defineComponent, u as useUsersStore, a as useToast, b as useRouter, r as ref, o as onMounted, c as useI18n, M as MFA_AUTHENTICATION_CODE_INPUT_MAX_LENGTH, V as VIEWS, e as createBlock, f as createCommentVNode, g as openBlock } from "./index-CyVlLoqB.js";
2
+ import { A as AuthView } from "./AuthView-Bn_LB3Kw.js";
3
+ import "./Logo-DVRZ2qRx.js";
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "ChangePasswordView",
6
6
  setup(__props) {
@@ -0,0 +1,4 @@
1
+ import { gI as _sfc_main } from "./index-CyVlLoqB.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -1,9 +1,8 @@
1
- import { d as defineComponent, L as useUIStore, bv as useCredentialsStore, a2 as useProjectsStore, q as computed, am as getResourcePermissions, dS as dateFormat, m as resolveComponent, c as openBlock, e as createBlock, w as withCtx, i as createVNode, gm as CredentialIcon, n as normalizeClass, k as createTextVNode, t as toDisplayString, l as unref, f as createCommentVNode, j as createBaseVNode, J as withModifiers, gb as ResourceType, h as createElementBlock, ax as withDirectives, cB as _sfc_main$2, ay as vShow, g as useI18n, af as MODAL_CONFIRM, gc as PROJECT_MOVE_RESOURCE_MODAL, al as useMessage, _ as _export_sfc, bp as useNodeTypesStore, a1 as useSourceControlStore, bx as useExternalSecretsStore, u as useUsersStore, a4 as useDocumentTitle, W as useRoute, b as useRouter, r as ref, gn as listenForModalChanges, I as watch, o as onMounted, F as Fragment, B as renderList, cW as N8nCheckbox, go as CREDENTIAL_EMPTY_VALUE, gp as isCredentialsResource, gq as CREDENTIAL_SELECT_MODAL_KEY, V as VIEWS, p as useSettingsStore, a9 as EnterpriseEditionFeature, bw as useEnvironmentsStore, ak as useTelemetry, gr as CREDENTIAL_EDIT_MODAL_KEY } from "./index-ntAcmC2q.js";
2
- import { R as ResourcesListLayout } from "./ResourcesListLayout-DbPhtDij.js";
3
- import { P as ProjectCardBadge } from "./ProjectCardBadge-DKJ8uRN7.js";
4
- import { P as ProjectHeader } from "./ProjectHeader-BY3TAX3C.js";
5
- import { p as pickBy } from "./pickBy-DAl85H93.js";
6
- import "./ProjectCreateResource-5lC9x1Ht.js";
1
+ import { d as defineComponent, L as useUIStore, bz as useCredentialsStore, a3 as useProjectsStore, q as computed, c as useI18n, a8 as getResourcePermissions, d$ as dateFormat, h as resolveComponent, e as createBlock, g as openBlock, J as withModifiers, n as normalizeClass, w as withCtx, k as createBaseVNode, j as createVNode, i as createElementBlock, f as createCommentVNode, aA as withDirectives, t as toDisplayString, aB as vShow, l as createTextVNode, m as unref, cM as _sfc_main$2, gj as ResourceType, gt as CredentialIcon, ai as useMessage, aj as MODAL_CONFIRM, gk as PROJECT_MOVE_RESOURCE_MODAL, _ as _export_sfc, bs as useNodeTypesStore, a2 as useSourceControlStore, bB as useExternalSecretsStore, u as useUsersStore, a5 as useDocumentTitle, U as useRoute, b as useRouter, r as ref, gu as listenForModalChanges, I as watch, o as onMounted, F as Fragment, D as renderList, d3 as N8nCheckbox, gv as CREDENTIAL_EMPTY_VALUE, ag as useTelemetry, p as useSettingsStore, ab as EnterpriseEditionFeature, bA as useEnvironmentsStore, gw as CREDENTIAL_SELECT_MODAL_KEY, V as VIEWS, gx as CREDENTIAL_EDIT_MODAL_KEY, gy as isCredentialsResource } from "./index-CyVlLoqB.js";
2
+ import { R as ResourcesListLayout } from "./ResourcesListLayout-BYVhS2j5.js";
3
+ import { P as ProjectCardBadge } from "./ProjectCardBadge-CGqr1_BG.js";
4
+ import { P as ProjectHeader } from "./ProjectHeader-C8hRwBFC.js";
5
+ import { p as pickBy } from "./pickBy-DI3cF803.js";
7
6
  const _hoisted_1$1 = { key: 0 };
8
7
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
9
8
  __name: "CredentialCard",
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, b as useRouter, c as openBlock, h as createElementBlock, i as createVNode, n as normalizeClass, j as createBaseVNode, w as withCtx, k as createTextVNode, t as toDisplayString, l as unref, e as createBlock, f as createCommentVNode, g as useI18n, V as VIEWS, m as resolveComponent, _ as _export_sfc } from "./index-ntAcmC2q.js";
1
+ import { d as defineComponent, b as useRouter, h as resolveComponent, i as createElementBlock, g as openBlock, j as createVNode, k as createBaseVNode, n as normalizeClass, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, c as useI18n, e as createBlock, f as createCommentVNode, V as VIEWS, _ as _export_sfc } from "./index-CyVlLoqB.js";
2
2
  const _sfc_main = /* @__PURE__ */ defineComponent({
3
3
  __name: "ErrorView",
4
4
  props: {