n8n-editor-ui 2.1.2 → 2.2.1

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 (298) hide show
  1. package/data/node-popularity.json +0 -4
  2. package/dist/assets/{AddDataTableModal-Biub-zeV.js → AddDataTableModal-DdQPndvj.js} +18 -19
  3. package/dist/assets/{AgentEditorModal-PXvmwyMd.js → AgentEditorModal-13IKfi65.js} +51 -62
  4. package/dist/assets/{AgentEditorModal-CzlIqORm.css → AgentEditorModal-CnYw6elM.css} +7 -13
  5. package/dist/assets/{Alert-ThpSN7C0.js → Alert-DOlbYzaP.js} +1 -1
  6. package/dist/assets/{AnnotationTagsDropdown.ee-CgUQtuOy.js → AnnotationTagsDropdown.ee-BV5N0QpC.js} +2 -2
  7. package/dist/assets/{AuthView-CIGxT6Xf.js → AuthView-XL99nUn8.js} +5 -5
  8. package/dist/assets/BottomMenu-CRVyIu-B.css +474 -0
  9. package/dist/assets/BottomMenu-Urdm-sib.js +547 -0
  10. package/dist/assets/{ChangePasswordView-BGSyBBl2.js → ChangePasswordView-BE2ZGJcQ.js} +15 -15
  11. package/dist/assets/{ChatAgentAvatar-BK95BHUo.css → ChatAgentAvatar-B68ZZ295.css} +18 -9
  12. package/dist/assets/{ChatAgentAvatar-BLpWC-zL.js → ChatAgentAvatar-DWOQygP6.js} +17 -16
  13. package/dist/assets/{ChatSidebarOpener-ctovVEcz.js → ChatLayout--VoBX0db.js} +9 -28
  14. package/dist/assets/ChatPersonalAgentsView-BiiyFIRl.css +159 -0
  15. package/dist/assets/{ChatPersonalAgentsView-Bd73mT2L.js → ChatPersonalAgentsView-C0AZXJ21.js} +29 -34
  16. package/dist/assets/ChatSidebar-C7kpSeSL.js +526 -0
  17. package/dist/assets/{ChatSidebar-D0f-W0S9.css → ChatSidebar-DcNxY7Pt.css} +61 -336
  18. package/dist/assets/{ChatView-k5Ib5T23.js → ChatView-DPBUfiCx.js} +121 -142
  19. package/dist/assets/{ChatView-mTIZIDr3.css → ChatView-DZODCD2o.css} +4 -4
  20. package/dist/assets/{ChatWorkflowAgentsView-CPOcTSK4.js → ChatWorkflowAgentsView-CPDjKGeW.js} +22 -23
  21. package/dist/assets/CollectionParameter-PHj-nQX_.js +50 -0
  22. package/dist/assets/{CommunityNodeUpdateInfo-Dy0ilmZE.js → CommunityNodeUpdateInfo-C8_mLrZ5.js} +8 -8
  23. package/dist/assets/{CopyInput-B2aUDGPW.js → CopyInput-D4IqeIwh.js} +4 -4
  24. package/dist/assets/{CredentialIcon-BGZoAL3d.js → CredentialIcon-uhIIYjQ5.js} +3 -3
  25. package/dist/assets/{CredentialPicker-BtKDHFRq.js → CredentialPicker-CHj_u87Q.js} +5 -6
  26. package/dist/assets/{CredentialSelectorModal-DkyFq-Pq.js → CredentialSelectorModal-BgjG3ACX.js} +18 -20
  27. package/dist/assets/{CredentialsView-xnKf-zG4.js → CredentialsView-GgHi3Nwa.js} +34 -37
  28. package/dist/assets/{DataTableActions-B5aTsXib.js → DataTableActions-D8jtOheL.js} +5 -6
  29. package/dist/assets/{DataTableDetailsView-C6okqjS-.js → DataTableDetailsView-BQKJhJRx.js} +22 -24
  30. package/dist/assets/{DataTableView-BM78mbgY.js → DataTableView-CRpaR8O2.js} +31 -34
  31. package/dist/assets/DemoFooter-Cxu0hnvC.js +63 -0
  32. package/dist/assets/{Draggable-DveKAuxg.js → Draggable-CeRLORdu.js} +1 -1
  33. package/dist/assets/{EmptySharedSectionActionBox-SKlYZNuX.js → EmptySharedSectionActionBox-WNc5syUl.js} +4 -4
  34. package/dist/assets/{EnterpriseEdition.ee-BQiXZvAd.js → EnterpriseEdition.ee-D0ixqMOk.js} +1 -1
  35. package/dist/assets/{EntityNotFound-ByhfFutM.js → EntityNotFound-CuNhWBrZ.js} +7 -7
  36. package/dist/assets/{EntityUnAuthorised-Ab8M--6A.js → EntityUnAuthorised-ProWKTPU.js} +7 -7
  37. package/dist/assets/{ErrorView-Csvm001D.js → ErrorView-jBBYrV1n.js} +9 -9
  38. package/dist/assets/{EvaluationsRootView-B6-VDQXl.js → EvaluationsRootView-D70Tp2Up.js} +36 -36
  39. package/dist/assets/{EvaluationsView-D8teiZoa.js → EvaluationsView-DPKBS6PJ.js} +21 -21
  40. package/dist/assets/{ExecutionsTime-CNz8UC7l.css → ExecutionsTime-CMAp2_xF.css} +24 -21
  41. package/dist/assets/{ExecutionsTime-CLQBgXgq.js → ExecutionsTime-CQneihIO.js} +37 -28
  42. package/dist/assets/{ExecutionsView-B6W7-w3K.js → ExecutionsView-Vg6JvFFQ.js} +34 -37
  43. package/dist/assets/{ExternalSecretsProviderConnectionSwitch.ee-DcLHCwv3.js → ExternalSecretsProviderConnectionSwitch.ee-B9I0rKT4.js} +4 -4
  44. package/dist/assets/{FixedCollectionParameter-ozilaYrN.js → FixedCollectionParameter-Dgp7H09p.js} +45 -53
  45. package/dist/assets/{ForgotMyPasswordView-Bnk-XG6Z.js → ForgotMyPasswordView-DqcF_Z2q.js} +15 -15
  46. package/dist/assets/{InsightsChartAverageRuntime-Bm0c6_UE.js → InsightsChartAverageRuntime-Cljk8p2A.js} +10 -10
  47. package/dist/assets/{InsightsChartFailed-D6TI96gu.js → InsightsChartFailed-DTmTcxHp.js} +8 -8
  48. package/dist/assets/{InsightsChartFailureRate-BXjbwEEr.js → InsightsChartFailureRate-BKL-1iTZ.js} +10 -10
  49. package/dist/assets/{InsightsChartTimeSaved-BPUaaTg8.js → InsightsChartTimeSaved-CIxYU033.js} +10 -10
  50. package/dist/assets/{InsightsChartTotal-D3aCqsFD.js → InsightsChartTotal-_2DLJIdR.js} +8 -8
  51. package/dist/assets/{InsightsDashboard-KVEJC5l2.js → InsightsDashboard-CiJyVecp.js} +32 -34
  52. package/dist/assets/{InsightsPaywall-BrnS_pKR.js → InsightsPaywall-CINaGtwo.js} +15 -16
  53. package/dist/assets/{InsightsSummary-Da08_DCk.js → InsightsSummary-CgA8vOKu.js} +8 -8
  54. package/dist/assets/{InsightsTableWorkflows-CjXv0hN6.js → InsightsTableWorkflows-YYoh5C57.js} +18 -18
  55. package/dist/assets/{ItemsRenderer-B3028vj7.js → ItemsRenderer-Bkvm6ylT.js} +10 -10
  56. package/dist/assets/{ItemsRenderer-Cr6c6uYy.css → ItemsRenderer-DkobJF9f.css} +4 -2
  57. package/dist/assets/{KeyboardShortcutTooltip-vWNBozVo.js → KeyboardShortcutTooltip-BErFISFN.js} +1 -1
  58. package/dist/assets/LogsPanel-1rVp7yTV.js +50 -0
  59. package/dist/assets/{LogsPanel-DxQFRme8.js → LogsPanel-wqHn7duZ.js} +24 -25
  60. package/dist/assets/MCPConnectWorkflowsModal-CS2q8ice.css +275 -0
  61. package/dist/assets/MCPConnectWorkflowsModal-zndEVWiT.js +301 -0
  62. package/dist/assets/{MainHeader-DJA_Afhq.css → MainHeader-CSaAWCWj.css} +13 -13
  63. package/dist/assets/{MainHeader-Di9xKi5B.js → MainHeader-S9F1mef-.js} +97 -101
  64. package/dist/assets/{MainSidebar-bwCkn71q.css → MainSidebar-CEsQ8o1Y.css} +84 -304
  65. package/dist/assets/{MainSidebar-DIa4RZxf.js → MainSidebar-nlRQuq4m.js} +222 -694
  66. package/dist/assets/{MigrationRuleDetail-mcU4VyTt.js → MigrationRuleDetail-MPJH8woH.js} +20 -20
  67. package/dist/assets/{MigrationRules-2g39kC1H.js → MigrationRules-CXWOU2h7.js} +12 -12
  68. package/dist/assets/{Modal-DGPQBa8T.js → Modal-Bx0XYuv8.js} +4 -4
  69. package/dist/assets/{ModelByIdSelectorModal-CzcpDw87.js → ModelByIdSelectorModal-BI7ckDXC.js} +17 -18
  70. package/dist/assets/{NDVEmptyState-BeXJvhnF.js → NDVEmptyState-YMeX60Ni.js} +1 -1
  71. package/dist/assets/{NodeCreation-Br8ljRfC.js → NodeCreation-BaNMWutd.js} +41 -49
  72. package/dist/assets/{NodeCreator-fSrstn2P.js → NodeCreator-C852UqEf.js} +47 -50
  73. package/dist/assets/{NodeCreator-C-ckvxD7.css → NodeCreator-OSIpRI6S.css} +25 -25
  74. package/dist/assets/{NodeDetailsView-HXe2ZuYh.js → NodeDetailsView-GXMPg1-K.js} +60 -68
  75. package/dist/assets/{NodeDetailsViewV2-C3W-2c0t.js → NodeDetailsViewV2-DCnVXlNg.js} +61 -69
  76. package/dist/assets/{NodeIcon-eaW3atZy.css → NodeIcon-BDxr0f30.css} +5 -2
  77. package/dist/assets/{NodeIcon-CWvzhRQM.js → NodeIcon-UuZXMI3b.js} +4 -4
  78. package/dist/assets/{NodeSettings-Br6GFKCU.js → NodeSettings-sGW3h0b4.js} +17 -17
  79. package/dist/assets/{NodeView-BLDOwZvQ.js → NodeView-i2FqlrZg.js} +111 -106
  80. package/dist/assets/{OAuthConsentView-C13weyO_.js → OAuthConsentView-BCnyFvFE.js} +14 -14
  81. package/dist/assets/{ParameterInputList-CXEjv4Ky.css → ParameterInputList-0YoVowEI.css} +10 -7
  82. package/dist/assets/{ParameterInputList-BUU1q_EZ.js → ParameterInputList-Br9nDZxe.js} +59 -56
  83. package/dist/assets/{PrebuiltAgentTemplatesView-D9w4f2e0.js → PrebuiltAgentTemplatesView-CKUzZatm.js} +17 -19
  84. package/dist/assets/{ProjectBreadcrumb-8JDiuLL3.js → ProjectBreadcrumb-ByT1IATl.js} +4 -4
  85. package/dist/assets/{ProjectCardBadge-CcHOiONP.js → ProjectCardBadge-DjNmgRAP.js} +5 -5
  86. package/dist/assets/{ProjectHeader-D4bO6fjq.js → ProjectHeader-Cl-v-GMx.js} +8 -8
  87. package/dist/assets/{ProjectIcon-DQILIjYR.js → ProjectIcon-CVhr6466.js} +1 -1
  88. package/dist/assets/{ProjectRoleView-UeSNgqSq.js → ProjectRoleView-3D060erL.js} +15 -16
  89. package/dist/assets/{ProjectRolesView-DhXb0x1i.js → ProjectRolesView-DvZkoFBe.js} +16 -19
  90. package/dist/assets/{ProjectSettings-CUnoqyPE.js → ProjectSettings-0C6lnj8u.js} +26 -28
  91. package/dist/assets/{ProjectSharing-utuPX2PB.js → ProjectSharing-CtOlIYg8.js} +5 -5
  92. package/dist/assets/{ProjectVariables-djh1rIms.js → ProjectVariables-COktFANb.js} +32 -35
  93. package/dist/assets/{ProviderSettingsModal-CazzGyiO.js → ProviderSettingsModal-B-btuOfV.js} +21 -23
  94. package/dist/assets/{PushConnectionTracker-Dpvr4Zz3.js → PushConnectionTracker-C4wioF1a.js} +3 -3
  95. package/dist/assets/{ResolversView-BdV4DSqj.js → ResolversView-qWEf4KSk.js} +15 -17
  96. package/dist/assets/{ResourceFiltersDropdown-W30MKKtt.js → ResourceFiltersDropdown-BikLhLzy.js} +18 -18
  97. package/dist/assets/{ResourceFiltersDropdown-BACE5ZTX.css → ResourceFiltersDropdown-Cma1Lj9J.css} +12 -9
  98. package/dist/assets/{ResourcesListLayout-DqSGTRQL.js → ResourcesListLayout-DjbDZ485.js} +9 -9
  99. package/dist/assets/{RunDataHtml-DhjduYN-.js → RunDataHtml-B4A7gRBL.js} +3 -3
  100. package/dist/assets/{RunDataHtml-_b8v7-9v.js → RunDataHtml-CkjC7YuF.js} +1 -1
  101. package/dist/assets/{RunDataJson-Ber6Oi12.js → RunDataJson-xNt8TeT7.js} +14 -14
  102. package/dist/assets/{RunDataJsonActions-Bf98jdLe.js → RunDataJsonActions-ZnTJFjPn.js} +15 -15
  103. package/dist/assets/{RunDataParsedAiContent-DL7QTmP_.js → RunDataParsedAiContent-BCJUkbqC.js} +8 -8
  104. package/dist/assets/RunDataParsedAiContent-DqRKhrSB.js +24 -0
  105. package/dist/assets/{RunDataSearch-jh-3G-0I.js → RunDataSearch-BAwHZr-P.js} +10 -10
  106. package/dist/assets/{RunDataTable-BVL7OKID.js → RunDataTable-YYViC6gq.js} +18 -18
  107. package/dist/assets/{SamlOnboarding-D_thSH33.js → SamlOnboarding-C5Tr3Slo.js} +15 -15
  108. package/dist/assets/{SaveButton-DooLZseO.js → SaveButton-92mEEoEP.js} +3 -3
  109. package/dist/assets/{SelectedItemsInfo-DDt5oazC.js → SelectedItemsInfo-DzkrxhPo.js} +2 -2
  110. package/dist/assets/{SettingsApiView-BBxKUUm2.js → SettingsApiView-CJyqNNAX.js} +17 -20
  111. package/dist/assets/{SettingsChatHubView-DVgdfxN7.js → SettingsChatHubView-DpdcfBor.js} +19 -19
  112. package/dist/assets/{SettingsCommunityNodesView-BRFN63n0.js → SettingsCommunityNodesView-BCvCmXWC.js} +29 -36
  113. package/dist/assets/{SettingsExternalSecrets-C0x7V0VC.js → SettingsExternalSecrets-CtuNjOHB.js} +17 -18
  114. package/dist/assets/{SettingsLdapView-Bwoo1o2k.js → SettingsLdapView-CB2PN4XF.js} +19 -22
  115. package/dist/assets/{SettingsLogStreamingView-BgwdyH0h.js → SettingsLogStreamingView-BkeGZzXU.js} +17 -20
  116. package/dist/assets/{SettingsMCPView-DzdHfN6P.js → SettingsMCPView-CfaP3OAo.js} +136 -164
  117. package/dist/assets/{SettingsMCPView-CuJwNWhp.css → SettingsMCPView-DIdodQTu.css} +28 -41
  118. package/dist/assets/{SettingsPersonalView-CnMsk8M2.js → SettingsPersonalView-DqyIIYiM.js} +15 -16
  119. package/dist/assets/{SettingsSourceControl-DKRbSwDj.js → SettingsSourceControl-DTKvyQ-E.js} +19 -21
  120. package/dist/assets/{SettingsSso-DD32GRf1.js → SettingsSso-BqSa2kyP.js} +21 -24
  121. package/dist/assets/{SettingsUsageAndPlan-lZYIpXMj.js → SettingsUsageAndPlan-DjxRwtnH.js} +17 -19
  122. package/dist/assets/{SettingsUsersView-BP2U2tD2.js → SettingsUsersView-DTtMD45S.js} +22 -25
  123. package/dist/assets/{SettingsView-BRsk0Vjq.js → SettingsView-LehjcLhP.js} +14 -14
  124. package/dist/assets/{SetupTemplateFormStep-DcmVXD3a.js → SetupTemplateFormStep-DH5EaAC-.js} +7 -7
  125. package/dist/assets/{SetupView-DBFUYVtm.js → SetupView-CNpqI-Mm.js} +15 -15
  126. package/dist/assets/{SetupWorkflowCredentialsButton-ChlRSbhd.js → SetupWorkflowCredentialsButton-Cd6MsYCC.js} +14 -14
  127. package/dist/assets/{SetupWorkflowFromTemplateView-CER9J7DP.js → SetupWorkflowFromTemplateView-CKYEo2_N.js} +21 -25
  128. package/dist/assets/{SeverityTag-CkJev9WS.js → SeverityTag-CjL6aCgr.js} +2 -2
  129. package/dist/assets/{SigninView-CWdvHULD.js → SigninView-BFhXhQy_.js} +16 -16
  130. package/dist/assets/{SignoutView-fvJJZx5p.js → SignoutView-C5Rqj0rG.js} +8 -8
  131. package/dist/assets/{SignupView-SNgWdNtE.js → SignupView-pkWEAwT4.js} +15 -15
  132. package/dist/assets/{SkeletonAgentCard-DQhrFpBG.js → SkeletonAgentCard-CFbUHoJ_.js} +8 -8
  133. package/dist/assets/{TagsDropdown-RP7eXKHF.js → TagsDropdown-Ckp4w5RZ.js} +3 -3
  134. package/dist/assets/{TemplateCard-DbQ8Ekek.js → TemplateCard-CVIt847s.js} +6 -7
  135. package/dist/assets/{TemplateDetails-BlnoU2XX.js → TemplateDetails-CU_WdmN6.js} +6 -7
  136. package/dist/assets/{TemplateList-EUHRRcHT.js → TemplateList-CI2Xi3Nr.js} +5 -5
  137. package/dist/assets/{TemplatesCollectionView-CShXKKou.js → TemplatesCollectionView-9nTVlhmd.js} +22 -24
  138. package/dist/assets/{TemplatesSearchView-JPvTJqrT.js → TemplatesSearchView-5sECuF70.js} +19 -21
  139. package/dist/assets/{TemplatesView-CkSiPY6S.js → TemplatesView-BwDvsLzl.js} +3 -3
  140. package/dist/assets/{TemplatesWorkflowView-mGRivOAH.js → TemplatesWorkflowView-BUJF5y7g.js} +23 -25
  141. package/dist/assets/{TestRunDetailView-d89WWvUc.js → TestRunDetailView-CpbEtZB0.js} +19 -19
  142. package/dist/assets/{TimeAgo-BgFYQmEV.js → TimeAgo-wOp8Jlnz.js} +3 -3
  143. package/dist/assets/{ToolsSelectorModal-BBdpzWrV.js → ToolsSelectorModal-B4Id-oqD.js} +17 -18
  144. package/dist/assets/{TriggerPanel-Ccr_a4aS.js → TriggerPanel-ClTWEUV8.js} +18 -19
  145. package/dist/assets/VirtualSchema-Bf4iCl-D.js +35 -0
  146. package/dist/assets/{VirtualSchema-Ccpa4B_2.js → VirtualSchema-CnYo2buH.js} +15 -16
  147. package/dist/assets/{VueMarkdown-wTXGt3en.js → VueMarkdown-DQtBIjcr.js} +1 -1
  148. package/dist/assets/{WorkerView-CjTDGSi1.js → WorkerView-BFEeByTA.js} +34 -41
  149. package/dist/assets/{WorkflowActivationErrorMessage-CQe9ZG_g.js → WorkflowActivationErrorMessage-D9ktIWO1.js} +1 -1
  150. package/dist/assets/{WorkflowActivator-xCBwqG20.css → WorkflowActivator-BGcCOUCH.css} +2 -2
  151. package/dist/assets/{WorkflowActivator-B4F8t0yo.js → WorkflowActivator-Bxd-bB8P.js} +13 -11
  152. package/dist/assets/{WorkflowExecutionsInfoAccordion-Cx2nzSuB.js → WorkflowExecutionsInfoAccordion-BbBvNiqB.js} +11 -15
  153. package/dist/assets/{WorkflowExecutionsLandingPage-DEJ2PbWE.js → WorkflowExecutionsLandingPage-C9EEWnxX.js} +19 -33
  154. package/dist/assets/{WorkflowExecutionsPreview-BMGRACSR.js → WorkflowExecutionsPreview-bL404UdF.js} +22 -25
  155. package/dist/assets/{WorkflowExecutionsView-Bqx9k5c-.js → WorkflowExecutionsView-Bpxaw8Vh.js} +50 -46
  156. package/dist/assets/{WorkflowExecutionsView-J4lWGYW8.css → WorkflowExecutionsView-DzHhxp4K.css} +2 -2
  157. package/dist/assets/{WorkflowHistory-D3BhOWlD.css → WorkflowHistory-BBHdNsOb.css} +147 -98
  158. package/dist/assets/{WorkflowHistory-DmtAM9fi.js → WorkflowHistory-CORp6hCd.js} +329 -273
  159. package/dist/assets/WorkflowLocation-6rp_-CuW.css +164 -0
  160. package/dist/assets/WorkflowLocation-tnhpuBX7.js +164 -0
  161. package/dist/assets/{WorkflowOnboardingView-CIrmsRw4.js → WorkflowOnboardingView-BEawbzt-.js} +8 -10
  162. package/dist/assets/{WorkflowPreview-CYlgo0kD.js → WorkflowPreview-CEDUFgeD.js} +4 -4
  163. package/dist/assets/{WorkflowTagsDropdown-BsjxBGVH.js → WorkflowTagsDropdown-XEtouCaM.js} +2 -2
  164. package/dist/assets/{WorkflowsView-D-Je3mdl.js → WorkflowsView-ClQilsPp.js} +65 -84
  165. package/dist/assets/{_MapCache-BXj4WgHo.js → _MapCache-0zNxISSG.js} +78 -8
  166. package/dist/assets/{_baseOrderBy-ZGuD_-iy.js → _baseOrderBy-xWA0TcWm.js} +4 -4
  167. package/dist/assets/{_initCloneObject-DCLKwsUi.js → _initCloneObject-DZFc-F-b.js} +2 -2
  168. package/dist/assets/{aiTemplatesStarterCollection.store-NYOrgNlj.js → aiTemplatesStarterCollection.store-zMePNJbZ.js} +5 -5
  169. package/dist/assets/{apiKeys.store-DOf4JeD0.js → apiKeys.store-BzgIQpBj.js} +2 -2
  170. package/dist/assets/{assistant.store-Dy9VDomp.js → assistant.store-B5OR1Bze.js} +6 -6
  171. package/dist/assets/{auth.eventBus-Pqv7Rxfm.js → auth.eventBus-D3nU98SE.js} +1 -1
  172. package/dist/assets/{banners.store-Rf3We1Q7.js → banners.store-B7CxzJ2_.js} +4 -4
  173. package/dist/assets/{builder.store-D_RDTxxI.js → builder.store-DoNE5iKP.js} +5772 -157
  174. package/dist/assets/{chartjs.utils-BuKhcKwM.js → chartjs.utils-CoNBCTXc.js} +3 -3
  175. package/dist/assets/{chat.store-D4DOVQYU.js → chat.store-YIaykMtq.js} +124 -88
  176. package/dist/assets/{chatPanel.store-D3DaHq1z.js → chatPanel.store-zWZ0Jjvi.js} +17 -11
  177. package/dist/assets/{col-ebWyVZHF.js → col-Cj8t34XN.js} +1 -2
  178. package/dist/assets/{constants-DPB1SWiX.js → constants-BiRoCM0c.js} +13 -13
  179. package/dist/assets/{constants-qk3hx0l8.js → constants-DLTaaipl.js} +2 -1
  180. package/dist/assets/{core-CiWhevuy.js → core-BbiIkN91.js} +1 -1
  181. package/dist/assets/{dataTable.store-BL0mLkMg.js → dataTable.store-BXKAnmr0.js} +3 -3
  182. package/dist/assets/{date-picker-tQf2dntC.js → date-picker-CNwAHb3n.js} +2 -2
  183. package/dist/assets/{dateFormatter-DqsBbNBt.js → dateFormatter-DzJiM44k.js} +2 -2
  184. package/dist/assets/{dialog-jh_mITmm.js → dialog-Bot5nr0N.js} +3 -3
  185. package/dist/assets/{dist-JIm44DPf.js → dist-DP_8je0B.js} +1 -1
  186. package/dist/assets/{en-b3uD8cvU.js → en-CF30SCh2.js} +11 -1
  187. package/dist/assets/en-DyO2pPiC.js +2 -0
  188. package/dist/assets/{es-BskBLtZB.js → es-DlTgUi2w.js} +1 -1
  189. package/dist/assets/{evaluation.constants-iqEXbNEl.js → evaluation.constants-QH_qT6UD.js} +3 -3
  190. package/dist/assets/{executions.store-D8Pn4Xih.js → executions.store-O0Cs6kyK.js} +2 -2
  191. package/dist/assets/{externalSecrets.ee.store-BDrodR7I.js → externalSecrets.ee.store-D1gmVgZF.js} +3 -3
  192. package/dist/assets/{folders.store-D8nKs5-U.js → folders.store-vVDyrOf9.js} +3 -3
  193. package/dist/assets/{index-BkLJ6ICr.css → index-Bl6XoGDE.css} +155 -24
  194. package/dist/assets/{index-DvVzFVr2.js → index-D6qelrIy.js} +478 -172
  195. package/dist/assets/{insights.constants-B7y0cvTb.js → insights.constants-C8GITe6H.js} +1 -1
  196. package/dist/assets/{insights.store-6LgiVo3h.js → insights.store-CEm0oAQ1.js} +5 -5
  197. package/dist/assets/{insights.utils-Dc4VSauh.js → insights.utils-BjffJfoC.js} +4 -4
  198. package/dist/assets/{isEmpty-GqdrxwqC.js → isEmpty-DCuynolj.js} +26 -27
  199. package/dist/assets/{languageModules-CLe6cIYW.js → languageModules-D_uyjb6R.js} +1 -1
  200. package/dist/assets/{logStreaming.store-I5_7h6od.js → logStreaming.store-rSlN8vmt.js} +2 -2
  201. package/dist/assets/mcp.constants-DQPD3Ntp.js +10 -0
  202. package/dist/assets/{mcp.store-BiAizQEG.js → mcp.store-NBibfYnt.js} +14 -3
  203. package/dist/assets/{merge-BfSiz1ty.js → merge-BmWPLD5Q.js} +1 -1
  204. package/dist/assets/{nodeCreator.store-CzS_snY4.js → nodeCreator.store-C5ZiFH88.js} +11 -16
  205. package/dist/assets/{nodeIcon-B3eU2X78.js → nodeIcon-CPowiQry.js} +3 -3
  206. package/dist/assets/{nodeTransforms-DQR-xCjB.js → nodeTransforms-B7ZrYsoY.js} +2 -2
  207. package/dist/assets/{orderBy-CKjuXXf2.js → orderBy-C7nKLQm8.js} +2 -2
  208. package/dist/assets/{personalizedTemplatesV3.store-uBVFSjod.js → personalizedTemplatesV3.store-C-6ck-eG.js} +3 -5
  209. package/dist/assets/{pickBy-DWwTL0iT.js → pickBy-CegO_wl5.js} +2 -2
  210. package/dist/assets/{radio-CHTjuYB5.js → radio-BQbSXowV.js} +1 -2
  211. package/dist/assets/{readyToRun.store-CoBaUeeQ.js → readyToRun.store-B87q35Mr.js} +6 -7
  212. package/dist/assets/{readyToRunWorkflows.store-CP3ZQHOV.js → readyToRunWorkflows.store-DYQM88iU.js} +5 -6
  213. package/dist/assets/{roles.store-Cc8yV7SO.js → roles.store-D6uYJEc8.js} +3 -3
  214. package/dist/assets/{router-DqNrjUQe.js → router-BeB9V_IR.js} +111 -90
  215. package/dist/assets/{sanitize-html-Cft-jOcY.js → sanitize-html-Cc45ZKm8.js} +1 -1
  216. package/dist/assets/{schemaPreview.store-CEyVQQFy.js → schemaPreview.store-C7il53qQ.js} +3 -3
  217. package/dist/assets/{semver-D94dSx-h.js → semver-DQ1spAwG.js} +2 -2
  218. package/dist/assets/{sourceControl.eventBus-dh45B_eQ.js → sourceControl.eventBus-C4ZTxfD6.js} +1 -1
  219. package/dist/assets/{src-DS0bffpn.css → src-CWWagUhy.css} +729 -81
  220. package/dist/assets/{src-D5Ea_YL1.js → src-Czua7QS4.js} +1675 -3573
  221. package/dist/assets/{sso.store-BhQFxFCm.js → sso.store-XplLjdjE.js} +2 -2
  222. package/dist/assets/{table-C-rs8-jl.js → table-BaJV0PMz.js} +3 -3
  223. package/dist/assets/{templateActions-Diym8ovq.js → templateActions-CnKsqyQX.js} +5 -5
  224. package/dist/assets/{templateTransforms-CKqUjP17.js → templateTransforms-tCNgggoI.js} +1 -1
  225. package/dist/assets/{truncate-Dmdv43Z9.js → truncate-4AS2exV3.js} +2266 -27
  226. package/dist/assets/{uniqBy-MFjFW8tb.js → uniqBy-DYX8cQbP.js} +1 -1
  227. package/dist/assets/{usage.store-DhJeF5yr.js → usage.store---1xT3dr.js} +2 -2
  228. package/dist/assets/{useActions-dKafQbOS.js → useActions-SqyZSpq8.js} +4 -4
  229. package/dist/assets/{useBeforeUnload-Bmlb3xCA.js → useBeforeUnload-Frc3kJwY.js} +3 -3
  230. package/dist/assets/{useCanvasMapping-B63N62Et.js → useCanvasMapping-ckk9p3Z_.js} +35 -32
  231. package/dist/assets/{useCanvasOperations-CfQ4z3tY.js → useCanvasOperations-B0_VkwYO.js} +140 -28
  232. package/dist/assets/{useClipboard-C_mhEUZu.js → useClipboard-aAhMBccX.js} +2 -2
  233. package/dist/assets/{useCommandBar-DaWt4vV_.js → useCommandBar-B-FM_q4D.js} +26 -30
  234. package/dist/assets/{useCredentialResolvers--QtS2m8P.js → useCredentialResolvers-BUdqGvmz.js} +4 -5
  235. package/dist/assets/{useCustomAgent-CfCSJQhK.js → useCustomAgent-CpSjLLmx.js} +25 -15
  236. package/dist/assets/{useDebounce-ChdrGmRj.js → useDebounce-BT72iAmz.js} +2 -2
  237. package/dist/assets/{useExecutionData-CW_KIDkd.js → useExecutionData-CcJxqQ4P.js} +1 -1
  238. package/dist/assets/{useExecutionDebugging-wiVN69Tq.js → useExecutionDebugging-CtsTTYUP.js} +6 -7
  239. package/dist/assets/{useExecutionHelpers-BuuqwS9p.js → useExecutionHelpers-BT28_NgQ.js} +5 -5
  240. package/dist/assets/{useImportCurlCommand-13VIaPBb.js → useImportCurlCommand-iPI3t0bK.js} +9 -9
  241. package/dist/assets/{useKeybindings-Dy748tLi.js → useKeybindings-CdqRqeMq.js} +4 -4
  242. package/dist/assets/{useLogsTreeExpand-BEKrkc6w.js → useLogsTreeExpand-U4aHj0YH.js} +13 -13
  243. package/dist/assets/{useMcp-DybYgWvO.js → useMcp-DqpgReET.js} +2 -2
  244. package/dist/assets/{usePageRedirectionHelper-BniqTqk7.js → usePageRedirectionHelper-WQFPPEkJ.js} +3 -4
  245. package/dist/assets/{usePinnedData-oATErInx.js → usePinnedData-DY18UrR8.js} +4 -4
  246. package/dist/assets/{usePushConnection-BucLZJhS.js → usePushConnection-DLXKs6Pl.js} +12 -13
  247. package/dist/assets/{useRecentResources-Cswwj5RH.js → useRecentResources-Dmyse5sV.js} +9 -8
  248. package/dist/assets/{useRunWorkflow-CtXYGwm0.js → useRunWorkflow-qvHcKYK-.js} +9 -10
  249. package/dist/assets/{useSettingsItems-Lsuyk-2F.js → useSettingsItems-BnPf2JrE.js} +4 -4
  250. package/dist/assets/{useTelemetryContext-TG-yqBI_.js → useTelemetryContext-k7tFigHj.js} +1 -1
  251. package/dist/assets/{useWorkflowActivate-Dzfi3i8Q.js → useWorkflowActivate-B8Z7d2ST.js} +7 -8
  252. package/dist/assets/{useWorkflowsCache-CUuFvP-s.js → useWorkflowsCache-Bph0PnSk.js} +1 -1
  253. package/dist/assets/{userRoleProvisioning.store-D4bBWYXg.js → userRoleProvisioning.store-DD9VUV4g.js} +2 -2
  254. package/dist/assets/utils-C2GPI2gK.js +54 -0
  255. package/dist/assets/{versions.store-UoNOsj3D.js → versions.store-BTPqbzUV.js} +3 -3
  256. package/dist/index.html +109 -119
  257. package/package.json +1 -1
  258. package/dist/assets/ChatSidebar-FcoKSroN.js +0 -555
  259. package/dist/assets/CollectionParameter-BdVkYonk.js +0 -58
  260. package/dist/assets/DemoFooter-BCrcY2ep.js +0 -71
  261. package/dist/assets/FileSaver.min--9uV1QmK.js +0 -72
  262. package/dist/assets/LogsPanel-Bl6S94ba.js +0 -58
  263. package/dist/assets/ModalDrawer-B-12esvU.css +0 -129
  264. package/dist/assets/ModalDrawer-CHxulsmc.js +0 -277
  265. package/dist/assets/RunDataParsedAiContent-Brtftd8W.js +0 -24
  266. package/dist/assets/VirtualSchema-wYsuagJ2.js +0 -42
  267. package/dist/assets/cloudPlan.store-Ck9BLZl3.js +0 -185
  268. package/dist/assets/en-BD3FHSTF.js +0 -2
  269. package/dist/assets/focusPanel.store-Cr5ipnc8.js +0 -208
  270. package/dist/assets/mcp.constants-svQUbNx5.js +0 -8
  271. package/dist/assets/npsSurvey.store-CjDE24yH.js +0 -98
  272. package/dist/assets/overlay-DBShc2HG.js +0 -165
  273. package/dist/assets/templates.store-DW5zmCkZ.js +0 -3915
  274. package/dist/assets/useChatHubSidebarState-Dp-DKjJx.js +0 -29
  275. package/dist/assets/useMessage-D9ClyiWR.js +0 -610
  276. package/dist/assets/useWorkflowSaving-BZmOLOu-.js +0 -229
  277. package/dist/assets/utils-BLHsa_NJ.js +0 -18
  278. /package/dist/assets/{AnimatedSpinner-g6zev3_N.js → AnimatedSpinner-wiGFgffA.js} +0 -0
  279. /package/dist/assets/{CalendarDate-B-JEhNYg.js → CalendarDate-zWqgZMlk.js} +0 -0
  280. /package/dist/assets/{ChatFile-8ik4bOn3.js → ChatFile-cnNK8Kf8.js} +0 -0
  281. /package/dist/assets/{ChatSidebarOpener-CxM-3LAt.css → ChatLayout-CxM-3LAt.css} +0 -0
  282. /package/dist/assets/{ChatPersonalAgentsView-BBfu-g98.css → ChatWorkflowAgentsView-BBfu-g98.css} +0 -0
  283. /package/dist/assets/{PageViewLayout-B889Bfwc.js → PageViewLayout-BHSzOio1.js} +0 -0
  284. /package/dist/assets/{TextWithHighlights-C4QSPTGM.js → TextWithHighlights-DjzuDrgO.js} +0 -0
  285. /package/dist/assets/{buttons.esm-CZxEX89d.js → buttons.esm-CT4flsfB.js} +0 -0
  286. /package/dist/assets/{chart-BxWK2ZOo.js → chart-CE3HWIkr.js} +0 -0
  287. /package/dist/assets/{core-CXk6RNMV.js → core-6W4wWNc1.js} +0 -0
  288. /package/dist/assets/{dateformat-hG8NERse.js → dateformat-CM9k0--B.js} +0 -0
  289. /package/dist/assets/{exports-CdZcr9ah.js → exports-hpMZaOPT.js} +0 -0
  290. /package/dist/assets/{fileUtils-D3GQ2UWQ.js → fileUtils-D_SiS8no.js} +0 -0
  291. /package/dist/assets/{path-browserify-BgjP7RyT.js → path-browserify-BtCDmZ3_.js} +0 -0
  292. /package/dist/assets/{retry-CMAFrhVi.js → retry-dP46utx2.js} +0 -0
  293. /package/dist/assets/{smartDecimal-Bi50OE4b.js → smartDecimal-DK6-_VSq.js} +0 -0
  294. /package/dist/assets/{sortByProperty-DAqnDMg7.js → sortByProperty-CV1aCzkS.js} +0 -0
  295. /package/dist/assets/{useIntersectionObserver-BZ6Jqnr3.js → useIntersectionObserver-DXKoRNFj.js} +0 -0
  296. /package/dist/assets/{vue-0rlD32wK.js → vue-Dg_43WEg.js} +0 -0
  297. /package/dist/assets/{vue-json-pretty-B9qWbmOF.js → vue-json-pretty-DGKuDe33.js} +0 -0
  298. /package/dist/assets/{xml-DSIt30t0.js → xml-B6veOr9z.js} +0 -0
@@ -1,40 +1,38 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/es-BskBLtZB.js","assets/core-CXk6RNMV.js","assets/chunk-6z4oVpB-.js","assets/languageModules-CLe6cIYW.js","assets/xml-DSIt30t0.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/es-DlTgUi2w.js","assets/core-6W4wWNc1.js","assets/chunk-6z4oVpB-.js","assets/languageModules-D_uyjb6R.js","assets/xml-B6veOr9z.js"])))=>i.map(i=>d[i]);
2
2
  import { o as __toESM } from "./chunk-6z4oVpB-.js";
3
3
  import { C as computed, Cn as toDisplayString, D as createElementBlock, E as createCommentVNode, G as nextTick, Gt as unref, It as ref, M as createVNode, P as defineComponent, T as createBlock, _ as Fragment, _t as watch, b as Teleport, bn as normalizeStyle, bt as withCtx, c as useCssModule, et as openBlock, h as withModifiers, it as renderList, j as createTextVNode, mt as useTemplateRef, q as onBeforeMount, vn as normalizeClass, w as createBaseVNode } from "./vue.runtime.esm-bundler-tP5dCd7J.js";
4
- import { E as useElementSize, I as useSpeechRecognition, L as useSpeechSynthesis, M as useMediaQuery, P as useScroll, _t as I18nT, gt as useI18n, j as useLocalStorage } from "./_MapCache-BXj4WgHo.js";
5
- import { Bn as N8nHeading_default, Gn as N8nIcon_default, Hn as N8nText_default, Un as N8nButton_default, ct as useDeviceSupport, gt as require_markdown_it_link_attributes, ht as N8nTooltip_default, mt as N8nLink_default, s as N8nScrollArea_default, xt as N8nIconButton_default, yt as N8nInput_default } from "./src-D5Ea_YL1.js";
6
- import "./en-b3uD8cvU.js";
4
+ import { D as useElementSize, F as useScroll, L as useSpeechRecognition, M as useLocalStorage, N as useMediaQuery, R as useSpeechSynthesis, _t as useI18n, vt as I18nT } from "./_MapCache-0zNxISSG.js";
5
+ import { Sn as N8nButton_default, ct as useDeviceSupport, gt as require_markdown_it_link_attributes, ht as N8nTooltip_default, mt as N8nLink_default, s as N8nScrollArea_default, wn as N8nIcon_default, xn as N8nText_default, xt as N8nIconButton_default, yn as N8nHeading_default, yt as N8nInput_default } from "./src-Czua7QS4.js";
6
+ import "./en-CF30SCh2.js";
7
7
  import { t as __vitePreload } from "./preload-helper-CR0ecmWK.js";
8
8
  import { t as __plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BwBpWJRZ.js";
9
- import { v as useRoute, y as useRouter } from "./truncate-Dmdv43Z9.js";
9
+ import { v as useRoute, y as useRouter } from "./truncate-4AS2exV3.js";
10
+ import { Dr as useUsersStore, N as useWorkflowsStore, Yn as useDocumentTitle, ds as v4_default, hs as useSettingsStore, oa as useUIStore, v as useToast } from "./builder.store-DoNE5iKP.js";
10
11
  import "./empty-BuGRxzl4.js";
11
- import { $o as useSettingsStore, Nn as useDocumentTitle, Wi as useUIStore, Yo as v4_default, dr as useUsersStore, n as useToast, nr as hasPermission } from "./builder.store-D_RDTxxI.js";
12
- import "./sanitize-html-Cft-jOcY.js";
13
- import "./CalendarDate-B-JEhNYg.js";
14
- import "./path-browserify-BgjP7RyT.js";
15
- import { As as LOCAL_STORAGE_CHAT_HUB_SELECTED_TOOLS, Qr as PROVIDER_CREDENTIAL_TYPE_MAP, Vo as VIEWS, ei as chatHubConversationModelSchema, gi as INodesSchema, ks as LOCAL_STORAGE_CHAT_HUB_SELECTED_MODEL } from "./constants-DPB1SWiX.js";
16
- import "./merge-BfSiz1ty.js";
17
- import { r as useRootStore } from "./_baseOrderBy-ZGuD_-iy.js";
18
- import "./dateformat-hG8NERse.js";
19
- import "./useDebounce-ChdrGmRj.js";
20
- import "./retry-CMAFrhVi.js";
21
- import "./nodeIcon-B3eU2X78.js";
22
- import { t as useClipboard } from "./useClipboard-C_mhEUZu.js";
23
- import "./NodeIcon-CWvzhRQM.js";
24
- import "./CredentialIcon-BGZoAL3d.js";
25
- import { t as VueMarkdown_default } from "./VueMarkdown-wTXGt3en.js";
26
- import { d as MOBILE_MEDIA_QUERY, f as TOOLS_SELECTOR_MODAL_KEY, l as CHAT_VIEW, n as CHAT_CONVERSATION_VIEW, p as providerDisplayNames, t as AGENT_EDITOR_MODAL_KEY } from "./constants-qk3hx0l8.js";
27
- import { h as buildChatAttachmentUrl, i as findOneFromModelsResponse, l as isLlmProvider, n as createMimeTypes, p as unflattenModel, t as useChatStore, u as isLlmProviderModel } from "./chat.store-D4DOVQYU.js";
28
- import "./fileUtils-D3GQ2UWQ.js";
29
- import { n as ToolsSelector_default, r as ModelSelector_default, t as useCustomAgent } from "./useCustomAgent-CfCSJQhK.js";
30
- import { t as ChatAgentAvatar_default } from "./ChatAgentAvatar-BLpWC-zL.js";
31
- import { i as chatHubConversationModelWithCachedDisplayNameSchema, n as ChatLayout_default, r as useChatCredentials, t as ChatSidebarOpener_default } from "./ChatSidebarOpener-ctovVEcz.js";
32
- import { t as useChatHubSidebarState } from "./useChatHubSidebarState-Dp-DKjJx.js";
33
- import { t as ChatFile_default } from "./ChatFile-8ik4bOn3.js";
12
+ import "./sanitize-html-Cc45ZKm8.js";
13
+ import "./CalendarDate-zWqgZMlk.js";
14
+ import "./path-browserify-BtCDmZ3_.js";
15
+ import { Es as LOCAL_STORAGE_CHAT_HUB_SELECTED_TOOLS, Ro as VIEWS, Ts as LOCAL_STORAGE_CHAT_HUB_SELECTED_MODEL, Yr as PROVIDER_CREDENTIAL_TYPE_MAP, Zr as chatHubConversationModelSchema, pi as INodesSchema } from "./constants-BiRoCM0c.js";
16
+ import "./merge-BmWPLD5Q.js";
17
+ import { r as useRootStore } from "./_baseOrderBy-xWA0TcWm.js";
18
+ import "./dateformat-CM9k0--B.js";
19
+ import "./useDebounce-BT72iAmz.js";
20
+ import "./retry-dP46utx2.js";
21
+ import "./nodeIcon-CPowiQry.js";
22
+ import { t as useClipboard } from "./useClipboard-aAhMBccX.js";
23
+ import "./NodeIcon-UuZXMI3b.js";
24
+ import "./CredentialIcon-uhIIYjQ5.js";
25
+ import { t as VueMarkdown_default } from "./VueMarkdown-DQtBIjcr.js";
26
+ import { f as MOBILE_MEDIA_QUERY, m as providerDisplayNames, n as CHAT_CONVERSATION_VIEW, p as TOOLS_SELECTOR_MODAL_KEY, t as AGENT_EDITOR_MODAL_KEY, u as CHAT_VIEW } from "./constants-DLTaaipl.js";
27
+ import { h as buildChatAttachmentUrl, i as findOneFromModelsResponse, l as isLlmProvider, n as createMimeTypes, p as unflattenModel, t as useChatStore, u as isLlmProviderModel } from "./chat.store-YIaykMtq.js";
28
+ import "./fileUtils-D_SiS8no.js";
29
+ import { n as ToolsSelector_default, r as ModelSelector_default, t as useCustomAgent } from "./useCustomAgent-CpSjLLmx.js";
30
+ import { t as ChatAgentAvatar_default } from "./ChatAgentAvatar-DWOQygP6.js";
31
+ import { n as useChatCredentials, r as chatHubConversationModelWithCachedDisplayNameSchema, t as ChatLayout_default } from "./ChatLayout--VoBX0db.js";
32
+ import { t as ChatFile_default } from "./ChatFile-cnNK8Kf8.js";
34
33
  var ChatConversationHeader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
35
34
  __name: "ChatConversationHeader",
36
35
  props: {
37
- isNewSession: { type: Boolean },
38
36
  selectedModel: {},
39
37
  credentials: {},
40
38
  readyToShowModelSelector: { type: Boolean }
@@ -49,14 +47,12 @@ var ChatConversationHeader_vue_vue_type_script_setup_true_lang_default = /* @__P
49
47
  ],
50
48
  setup(__props, { expose: __expose, emit: __emit }) {
51
49
  const emit = __emit;
52
- const sidebar = useChatHubSidebarState();
53
- const router = useRouter();
54
50
  const modelSelectorRef = useTemplateRef("modelSelectorRef");
55
51
  const i18n = useI18n();
56
52
  const chatStore = useChatStore();
57
53
  const isLoadingAgents = ref(false);
58
54
  const showOpenWorkflow = computed(() => {
59
- return __props.selectedModel?.model.provider === "n8n" && hasPermission(["rbac"], { rbac: { scope: "workflow:read" } });
55
+ return __props.selectedModel?.model.provider === "n8n" && __props.selectedModel.metadata.scopes?.includes("workflow:read");
60
56
  });
61
57
  function onOpenWorkflow() {
62
58
  if (__props.selectedModel?.model.provider === "n8n") emit("openWorkflow", __props.selectedModel.model.workflowId);
@@ -64,13 +60,6 @@ var ChatConversationHeader_vue_vue_type_script_setup_true_lang_default = /* @__P
64
60
  function onModelChange(selection) {
65
61
  emit("selectModel", selection);
66
62
  }
67
- function onNewChat() {
68
- sidebar.toggleOpen(false);
69
- router.push({
70
- name: CHAT_VIEW,
71
- force: true
72
- });
73
- }
74
63
  watch(() => __props.credentials, async (creds) => {
75
64
  if (creds) {
76
65
  isLoadingAgents.value = true;
@@ -87,42 +76,24 @@ var ChatConversationHeader_vue_vue_type_script_setup_true_lang_default = /* @__P
87
76
  });
88
77
  return (_ctx, _cache) => {
89
78
  return openBlock(), createElementBlock("div", { class: normalizeClass(_ctx.$style.component) }, [
90
- createBaseVNode("div", { class: normalizeClass(_ctx.$style.grow) }, [
91
- createVNode(ChatSidebarOpener_default, { class: normalizeClass(_ctx.$style.menuButton) }, null, 8, ["class"]),
92
- !unref(sidebar).isStatic.value ? (openBlock(), createBlock(unref(N8nIconButton_default), {
93
- key: 0,
94
- class: normalizeClass(_ctx.$style.menuButton),
95
- type: "secondary",
96
- icon: "square-pen",
97
- text: "",
98
- "icon-size": "large",
99
- "aria-label": unref(i18n).baseText("chatHub.chat.header.button.newChat"),
100
- disabled: _ctx.isNewSession,
101
- onClick: onNewChat
102
- }, null, 8, [
103
- "class",
104
- "aria-label",
105
- "disabled"
106
- ])) : createCommentVNode("", true),
107
- _ctx.readyToShowModelSelector ? (openBlock(), createBlock(ModelSelector_default, {
108
- key: 1,
109
- ref_key: "modelSelectorRef",
110
- ref: modelSelectorRef,
111
- "selected-agent": _ctx.selectedModel,
112
- credentials: _ctx.credentials,
113
- text: "",
114
- agents: unref(chatStore).agents,
115
- "is-loading": isLoadingAgents.value,
116
- onChange: onModelChange,
117
- onCreateCustomAgent: _cache[0] || (_cache[0] = ($event) => emit("createCustomAgent")),
118
- onSelectCredential: _cache[1] || (_cache[1] = (provider, credentialId) => emit("selectCredential", provider, credentialId))
119
- }, null, 8, [
120
- "selected-agent",
121
- "credentials",
122
- "agents",
123
- "is-loading"
124
- ])) : createCommentVNode("", true)
125
- ], 2),
79
+ createBaseVNode("div", { class: normalizeClass(_ctx.$style.grow) }, [_ctx.readyToShowModelSelector ? (openBlock(), createBlock(ModelSelector_default, {
80
+ key: 0,
81
+ ref_key: "modelSelectorRef",
82
+ ref: modelSelectorRef,
83
+ "selected-agent": _ctx.selectedModel,
84
+ credentials: _ctx.credentials,
85
+ text: "",
86
+ agents: unref(chatStore).agents,
87
+ "is-loading": isLoadingAgents.value,
88
+ onChange: onModelChange,
89
+ onCreateCustomAgent: _cache[0] || (_cache[0] = ($event) => emit("createCustomAgent")),
90
+ onSelectCredential: _cache[1] || (_cache[1] = (provider, credentialId) => emit("selectCredential", provider, credentialId))
91
+ }, null, 8, [
92
+ "selected-agent",
93
+ "credentials",
94
+ "agents",
95
+ "is-loading"
96
+ ])) : createCommentVNode("", true)], 2),
126
97
  _ctx.selectedModel?.model.provider === "custom-agent" ? (openBlock(), createBlock(unref(N8nButton_default), {
127
98
  key: 0,
128
99
  class: normalizeClass(_ctx.$style.editAgent),
@@ -159,7 +130,10 @@ var ChatTypingIndicator_vue_vue_type_style_index_0_lang_module_default = {
159
130
  };
160
131
  var _sfc_main = {};
161
132
  function _sfc_render(_ctx, _cache) {
162
- return openBlock(), createElementBlock("span", { class: normalizeClass(_ctx.$style.typing) }, _cache[0] || (_cache[0] = [
133
+ return openBlock(), createElementBlock("span", {
134
+ class: normalizeClass(_ctx.$style.typing),
135
+ "data-test-id": "chat-typing-indicator"
136
+ }, _cache[0] || (_cache[0] = [
163
137
  createBaseVNode("i", null, null, -1),
164
138
  createBaseVNode("i", null, null, -1),
165
139
  createBaseVNode("i", null, null, -1)
@@ -191,7 +165,7 @@ function useChatHubMarkdownOptions(codeBlockActionsClassName, tableContainerClas
191
165
  try {
192
166
  asyncImport = {
193
167
  status: "inProgress",
194
- promise: Promise.all([__vitePreload(() => import("./es-BskBLtZB.js"), __vite__mapDeps([0,1,2])), __vitePreload(() => import("./languageModules-CLe6cIYW.js"), __vite__mapDeps([3,4]))])
168
+ promise: Promise.all([__vitePreload(() => import("./es-DlTgUi2w.js"), __vite__mapDeps([0,1,2])), __vitePreload(() => import("./languageModules-D_uyjb6R.js"), __vite__mapDeps([3,4]))])
195
169
  };
196
170
  const [hljs, languages] = await asyncImport.promise;
197
171
  asyncImport = { status: "done" };
@@ -284,9 +258,9 @@ var ChatMessageActions_vue_vue_type_script_setup_true_lang_default = /* @__PURE_
284
258
  __name: "ChatMessageActions",
285
259
  props: {
286
260
  message: {},
287
- alternatives: {},
288
261
  isSpeechSynthesisAvailable: { type: Boolean },
289
- isSpeaking: { type: Boolean }
262
+ isSpeaking: { type: Boolean },
263
+ hasSessionStreaming: { type: Boolean }
290
264
  },
291
265
  emits: [
292
266
  "edit",
@@ -297,16 +271,13 @@ var ChatMessageActions_vue_vue_type_script_setup_true_lang_default = /* @__PURE_
297
271
  setup(__props, { emit: __emit }) {
298
272
  const i18n = useI18n();
299
273
  const router = useRouter();
274
+ const workflowsStore = useWorkflowsStore();
300
275
  const emit = __emit;
301
276
  const currentAlternativeIndex = computed(() => {
302
- return __props.alternatives.findIndex((id) => id === __props.message.id);
303
- });
304
- const showExecutionUrl = computed(() => {
305
- return hasPermission(["rbac"], { rbac: { scope: "workflow:read" } });
277
+ return __props.message.alternatives.findIndex((id) => id === __props.message.id);
306
278
  });
307
279
  const executionUrl = computed(() => {
308
- if (!showExecutionUrl.value) return void 0;
309
- if (__props.message.type === "ai" && __props.message.provider === "n8n" && __props.message.executionId) return router.resolve({
280
+ if (workflowsStore.canViewWorkflows && __props.message.type === "ai" && __props.message.provider === "n8n" && __props.message.executionId) return router.resolve({
310
281
  name: VIEWS.EXECUTION_PREVIEW,
311
282
  params: {
312
283
  name: __props.message.workflowId,
@@ -325,7 +296,10 @@ var ChatMessageActions_vue_vue_type_script_setup_true_lang_default = /* @__PURE_
325
296
  }
326
297
  return (_ctx, _cache) => {
327
298
  return openBlock(), createElementBlock("div", { class: normalizeClass(_ctx.$style.actions) }, [
328
- createVNode(CopyButton_default, { content: _ctx.message.content }, null, 8, ["content"]),
299
+ createVNode(CopyButton_default, {
300
+ content: _ctx.message.content,
301
+ "data-test-id": "chat-message-copy"
302
+ }, null, 8, ["content"]),
329
303
  _ctx.isSpeechSynthesisAvailable && _ctx.message.type === "ai" ? (openBlock(), createBlock(unref(N8nTooltip_default), {
330
304
  key: 0,
331
305
  placement: "bottom",
@@ -352,8 +326,10 @@ var ChatMessageActions_vue_vue_type_script_setup_true_lang_default = /* @__PURE_
352
326
  type: "tertiary",
353
327
  size: "medium",
354
328
  text: "",
329
+ "data-test-id": "chat-message-edit",
330
+ disabled: _ctx.hasSessionStreaming,
355
331
  onClick: handleEdit
356
- })]),
332
+ }, null, 8, ["disabled"])]),
357
333
  _: 1
358
334
  })) : createCommentVNode("", true),
359
335
  _ctx.message.type === "ai" ? (openBlock(), createBlock(unref(N8nTooltip_default), {
@@ -367,8 +343,10 @@ var ChatMessageActions_vue_vue_type_script_setup_true_lang_default = /* @__PURE_
367
343
  type: "tertiary",
368
344
  size: "medium",
369
345
  text: "",
346
+ "data-test-id": "chat-message-regenerate",
347
+ disabled: _ctx.hasSessionStreaming,
370
348
  onClick: handleRegenerate
371
- })]),
349
+ }, null, 8, ["disabled"])]),
372
350
  _: 1
373
351
  })) : createCommentVNode("", true),
374
352
  executionUrl.value ? (openBlock(), createBlock(unref(N8nTooltip_default), {
@@ -387,24 +365,26 @@ var ChatMessageActions_vue_vue_type_script_setup_true_lang_default = /* @__PURE_
387
365
  icon: "info",
388
366
  type: "tertiary",
389
367
  size: "medium",
390
- text: ""
368
+ text: "",
369
+ "data-test-id": "chat-message-info"
391
370
  })]),
392
371
  _: 1
393
372
  })) : createCommentVNode("", true),
394
- _ctx.alternatives.length > 1 ? (openBlock(), createElementBlock(Fragment, { key: 4 }, [
373
+ _ctx.message.alternatives.length > 1 ? (openBlock(), createElementBlock(Fragment, { key: 4 }, [
395
374
  createVNode(unref(N8nIconButton_default), {
396
375
  icon: "chevron-left",
397
376
  type: "tertiary",
398
377
  size: "medium",
399
378
  text: "",
400
- disabled: currentAlternativeIndex.value === 0,
401
- onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("switchAlternative", _ctx.alternatives[currentAlternativeIndex.value - 1]))
379
+ disabled: _ctx.hasSessionStreaming || currentAlternativeIndex.value === 0,
380
+ "data-test-id": "chat-message-prev-alternative",
381
+ onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("switchAlternative", _ctx.message.alternatives[currentAlternativeIndex.value - 1]))
402
382
  }, null, 8, ["disabled"]),
403
383
  createVNode(unref(N8nText_default), {
404
384
  size: "medium",
405
385
  color: "text-base"
406
386
  }, {
407
- default: withCtx(() => [createTextVNode(toDisplayString(`${currentAlternativeIndex.value + 1}/${_ctx.alternatives.length}`), 1)]),
387
+ default: withCtx(() => [createTextVNode(toDisplayString(`${currentAlternativeIndex.value + 1}/${_ctx.message.alternatives.length}`), 1)]),
408
388
  _: 1
409
389
  }),
410
390
  createVNode(unref(N8nIconButton_default), {
@@ -412,8 +392,9 @@ var ChatMessageActions_vue_vue_type_script_setup_true_lang_default = /* @__PURE_
412
392
  type: "tertiary",
413
393
  size: "medium",
414
394
  text: "",
415
- disabled: currentAlternativeIndex.value === _ctx.alternatives.length - 1,
416
- onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("switchAlternative", _ctx.alternatives[currentAlternativeIndex.value + 1]))
395
+ disabled: _ctx.hasSessionStreaming || currentAlternativeIndex.value === _ctx.message.alternatives.length - 1,
396
+ "data-test-id": "chat-message-next-alternative",
397
+ onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("switchAlternative", _ctx.message.alternatives[currentAlternativeIndex.value + 1]))
417
398
  }, null, 8, ["disabled"])
418
399
  ], 64)) : createCommentVNode("", true)
419
400
  ], 2);
@@ -421,7 +402,7 @@ var ChatMessageActions_vue_vue_type_script_setup_true_lang_default = /* @__PURE_
421
402
  }
422
403
  });
423
404
  var ChatMessageActions_vue_vue_type_style_index_0_lang_module_default = { actions: "_actions_1sizk_123" };
424
- var ChatMessageActions_default = /* @__PURE__ */ __plugin_vue_export_helper_default(ChatMessageActions_vue_vue_type_script_setup_true_lang_default, [["__cssModules", { "$style": ChatMessageActions_vue_vue_type_style_index_0_lang_module_default }], ["__scopeId", "data-v-5c4db6e8"]]);
405
+ var ChatMessageActions_default = /* @__PURE__ */ __plugin_vue_export_helper_default(ChatMessageActions_vue_vue_type_script_setup_true_lang_default, [["__cssModules", { "$style": ChatMessageActions_vue_vue_type_style_index_0_lang_module_default }], ["__scopeId", "data-v-28c70984"]]);
425
406
  var _hoisted_1$1 = ["data-message-id"];
426
407
  var _hoisted_2 = { key: 1 };
427
408
  var _hoisted_3 = { key: 1 };
@@ -431,7 +412,7 @@ var ChatMessage_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
431
412
  message: {},
432
413
  compact: { type: Boolean },
433
414
  isEditing: { type: Boolean },
434
- isStreaming: { type: Boolean },
415
+ hasSessionStreaming: { type: Boolean },
435
416
  cachedAgentDisplayName: {},
436
417
  cachedAgentIcon: {},
437
418
  minHeight: {},
@@ -629,7 +610,7 @@ var ChatMessage_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
629
610
  "source",
630
611
  "options",
631
612
  "plugins"
632
- ]))], 34), _ctx.isStreaming ? (openBlock(), createBlock(ChatTypingIndicator_default, {
613
+ ]))], 34), _ctx.message.status === "running" ? (openBlock(), createBlock(ChatTypingIndicator_default, {
633
614
  key: 0,
634
615
  class: normalizeClass(_ctx.$style.typingIndicator)
635
616
  }, null, 8, ["class"])) : (openBlock(), createBlock(ChatMessageActions_default, {
@@ -638,7 +619,7 @@ var ChatMessage_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
638
619
  "is-speaking": unref(speech).isPlaying.value,
639
620
  class: normalizeClass(_ctx.$style.actions),
640
621
  message: _ctx.message,
641
- alternatives: _ctx.message.alternatives,
622
+ "has-session-streaming": _ctx.hasSessionStreaming,
642
623
  onEdit: handleEdit,
643
624
  onRegenerate: handleRegenerate,
644
625
  onReadAloud: handleReadAloud,
@@ -648,7 +629,7 @@ var ChatMessage_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
648
629
  "is-speaking",
649
630
  "class",
650
631
  "message",
651
- "alternatives"
632
+ "has-session-streaming"
652
633
  ]))]))], 2),
653
634
  hoveredCodeBlockActions.value && hoveredCodeBlockContent.value ? (openBlock(), createBlock(Teleport, {
654
635
  key: 0,
@@ -681,10 +662,9 @@ var _hoisted_1 = ["accept"];
681
662
  var ChatPrompt_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
682
663
  __name: "ChatPrompt",
683
664
  props: {
684
- isResponding: { type: Boolean },
665
+ messagingState: {},
685
666
  isNewSession: { type: Boolean },
686
667
  isToolsSelectable: { type: Boolean },
687
- issue: {},
688
668
  selectedModel: {},
689
669
  selectedTools: {}
690
670
  },
@@ -745,9 +725,6 @@ var ChatPrompt_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
745
725
  if (trimmed) {
746
726
  speechInput.stop();
747
727
  emit("submit", trimmed, attachments$2.value);
748
- message$1.value = "";
749
- committedSpokenMessage.value = "";
750
- attachments$2.value = [];
751
728
  }
752
729
  }
753
730
  function handleKeydownTextarea(e) {
@@ -757,9 +734,6 @@ var ChatPrompt_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
757
734
  e.preventDefault();
758
735
  speechInput.stop();
759
736
  emit("submit", trimmed, attachments$2.value);
760
- message$1.value = "";
761
- committedSpokenMessage.value = "";
762
- attachments$2.value = [];
763
737
  }
764
738
  }
765
739
  function handleClickInputWrapper() {
@@ -796,6 +770,11 @@ var ChatPrompt_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
796
770
  }
797
771
  __expose({
798
772
  focus: () => inputRef.value?.focus(),
773
+ reset: () => {
774
+ message$1.value = "";
775
+ committedSpokenMessage.value = "";
776
+ attachments$2.value = [];
777
+ },
799
778
  setText: (text) => {
800
779
  message$1.value = text;
801
780
  },
@@ -809,7 +788,7 @@ var ChatPrompt_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
809
788
  class: normalizeClass(_ctx.$style.prompt),
810
789
  onSubmit: withModifiers(handleSubmitForm, ["prevent"])
811
790
  }, [createBaseVNode("div", { class: normalizeClass(_ctx.$style.inputWrap) }, [
812
- _ctx.issue === "missingAgent" ? (openBlock(), createBlock(unref(N8nText_default), {
791
+ _ctx.messagingState === "missingAgent" ? (openBlock(), createBlock(unref(N8nText_default), {
813
792
  key: 0,
814
793
  class: normalizeClass(_ctx.$style.callout)
815
794
  }, {
@@ -825,7 +804,7 @@ var ChatPrompt_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
825
804
  _: 1
826
805
  }, 8, ["keypath"])]),
827
806
  _: 1
828
- }, 8, ["class"])) : _ctx.issue === "missingCredentials" && llmProvider.value ? (openBlock(), createBlock(unref(N8nText_default), {
807
+ }, 8, ["class"])) : _ctx.messagingState === "missingCredentials" && llmProvider.value ? (openBlock(), createBlock(unref(N8nText_default), {
829
808
  key: 1,
830
809
  class: normalizeClass(_ctx.$style.callout)
831
810
  }, {
@@ -864,9 +843,9 @@ var ChatPrompt_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
864
843
  key: index,
865
844
  file,
866
845
  "is-previewable": true,
867
- "is-removable": true,
846
+ "is-removable": _ctx.messagingState === "idle",
868
847
  onRemove: removeAttachment
869
- }, null, 8, ["file"]);
848
+ }, null, 8, ["file", "is-removable"]);
870
849
  }), 128))], 2)) : createCommentVNode("", true),
871
850
  createVNode(unref(N8nInput_default), {
872
851
  ref_key: "inputRef",
@@ -881,7 +860,7 @@ var ChatPrompt_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
881
860
  maxRows: 6
882
861
  },
883
862
  autofocus: "",
884
- disabled: !!_ctx.issue,
863
+ disabled: _ctx.messagingState !== "idle",
885
864
  onKeydown: handleKeydownTextarea
886
865
  }, null, 8, [
887
866
  "modelValue",
@@ -891,7 +870,7 @@ var ChatPrompt_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
891
870
  createBaseVNode("div", { class: normalizeClass(_ctx.$style.footer) }, [createBaseVNode("div", { class: normalizeClass(_ctx.$style.tools) }, [createVNode(ToolsSelector_default, {
892
871
  class: normalizeClass(_ctx.$style.toolsButton),
893
872
  selected: _ctx.selectedTools ?? [],
894
- disabled: !!_ctx.issue || _ctx.isResponding || !_ctx.isToolsSelectable,
873
+ disabled: _ctx.messagingState !== "idle" || !_ctx.isToolsSelectable,
895
874
  "disabled-tooltip": _ctx.isToolsSelectable ? void 0 : unref(i18n).baseText("chatHub.tools.selector.disabled.tooltip"),
896
875
  "transparent-bg": "",
897
876
  onClick: onSelectTools
@@ -903,13 +882,13 @@ var ChatPrompt_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
903
882
  ])], 2), createBaseVNode("div", { class: normalizeClass(_ctx.$style.actions) }, [
904
883
  createVNode(unref(N8nTooltip_default), {
905
884
  content: !canUploadFiles.value ? unref(i18n).baseText("chatHub.chat.prompt.button.attach.disabled") : unref(i18n).baseText("chatHub.chat.prompt.button.attach"),
906
- disabled: canUploadFiles.value && !_ctx.issue && !_ctx.isResponding,
885
+ disabled: canUploadFiles.value && _ctx.messagingState === "idle",
907
886
  placement: "top"
908
887
  }, {
909
888
  default: withCtx(() => [createVNode(unref(N8nIconButton_default), {
910
889
  "native-type": "button",
911
890
  type: "secondary",
912
- disabled: !!_ctx.issue || _ctx.isResponding || !canUploadFiles.value,
891
+ disabled: _ctx.messagingState !== "idle" || !canUploadFiles.value,
913
892
  icon: "paperclip",
914
893
  "icon-size": "large",
915
894
  text: "",
@@ -922,7 +901,7 @@ var ChatPrompt_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
922
901
  "native-type": "button",
923
902
  title: unref(speechInput).isListening.value ? unref(i18n).baseText("chatHub.chat.prompt.button.stopRecording") : unref(i18n).baseText("chatHub.chat.prompt.button.voiceInput"),
924
903
  type: "secondary",
925
- disabled: !!_ctx.issue || _ctx.isResponding,
904
+ disabled: _ctx.messagingState !== "idle",
926
905
  icon: unref(speechInput).isListening.value ? "square" : "mic",
927
906
  class: normalizeClass({ [_ctx.$style.recording]: unref(speechInput).isListening.value }),
928
907
  "icon-size": "large",
@@ -933,15 +912,20 @@ var ChatPrompt_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
933
912
  "icon",
934
913
  "class"
935
914
  ])) : createCommentVNode("", true),
936
- !_ctx.isResponding ? (openBlock(), createBlock(unref(N8nIconButton_default), {
915
+ _ctx.messagingState !== "receiving" ? (openBlock(), createBlock(unref(N8nIconButton_default), {
937
916
  key: 1,
938
917
  "native-type": "submit",
939
- disabled: !!_ctx.issue || !message$1.value.trim(),
918
+ disabled: _ctx.messagingState !== "idle" || !message$1.value.trim(),
940
919
  title: unref(i18n).baseText("chatHub.chat.prompt.button.send"),
920
+ loading: _ctx.messagingState === "waitingFirstChunk",
941
921
  icon: "arrow-up",
942
922
  "icon-size": "large",
943
923
  onClick: _cache[3] || (_cache[3] = withModifiers(() => {}, ["stop"]))
944
- }, null, 8, ["disabled", "title"])) : (openBlock(), createBlock(unref(N8nIconButton_default), {
924
+ }, null, 8, [
925
+ "disabled",
926
+ "title",
927
+ "loading"
928
+ ])) : (openBlock(), createBlock(unref(N8nIconButton_default), {
945
929
  key: 2,
946
930
  "native-type": "button",
947
931
  title: unref(i18n).baseText("chatHub.chat.prompt.button.stopGenerating"),
@@ -1155,7 +1139,7 @@ var ChatView_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
1155
1139
  icon: defaultModel.value.cachedIcon
1156
1140
  });
1157
1141
  });
1158
- const customAgent = useCustomAgent(computed(() => selectedModel.value?.model.provider === "custom-agent" ? selectedModel.value.model.agentId : void 0));
1142
+ const { customAgent } = useCustomAgent(computed(() => selectedModel.value?.model.provider === "custom-agent" ? selectedModel.value.model.agentId : void 0));
1159
1143
  const selectedTools = computed(() => {
1160
1144
  if (customAgent.value) return customAgent.value.tools;
1161
1145
  if (currentConversation.value?.tools) return currentConversation.value.tools;
@@ -1175,11 +1159,11 @@ var ChatView_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
1175
1159
  } };
1176
1160
  });
1177
1161
  const isMissingSelectedCredential = computed(() => !credentialsForSelectedProvider.value);
1178
- const issue = computed(() => {
1179
- if (!chatStore.agentsReady) return null;
1180
- if (!selectedModel.value) return "missingAgent";
1181
- if (isMissingSelectedCredential.value) return "missingCredentials";
1182
- return null;
1162
+ const messagingState = computed(() => {
1163
+ if (chatStore.streaming?.sessionId === sessionId.value) return chatStore.streaming.messageId ? "receiving" : "waitingFirstChunk";
1164
+ if (chatStore.agentsReady && !selectedModel.value) return "missingAgent";
1165
+ if (chatStore.agentsReady && isMissingSelectedCredential.value) return "missingCredentials";
1166
+ return "idle";
1183
1167
  });
1184
1168
  const editingMessageId = ref();
1185
1169
  const didSubmitInCurrentSession = ref(false);
@@ -1250,7 +1234,7 @@ var ChatView_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
1250
1234
  didSubmitInCurrentSession.value = true;
1251
1235
  editingMessageId.value = void 0;
1252
1236
  await chatStore.sendMessage(sessionId.value, message$1, selectedModel.value, credentialsForSelectedProvider.value, canSelectTools.value ? selectedTools.value : [], attachments$2);
1253
- inputRef.value?.setText("");
1237
+ inputRef.value?.reset();
1254
1238
  if (isNewSession$1.value) router.push({
1255
1239
  name: CHAT_CONVERSATION_VIEW,
1256
1240
  params: { id: sessionId.value }
@@ -1265,16 +1249,17 @@ var ChatView_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
1265
1249
  function handleCancelEditMessage() {
1266
1250
  editingMessageId.value = void 0;
1267
1251
  }
1268
- function handleEditMessage(message$1) {
1252
+ async function handleEditMessage(message$1) {
1269
1253
  if (isResponding.value || !["human", "ai"].includes(message$1.type) || !selectedModel.value || !credentialsForSelectedProvider.value) return;
1270
1254
  const messageToEdit = message$1.revisionOfMessageId ?? message$1.id;
1271
- chatStore.editMessage(sessionId.value, messageToEdit, message$1.content, selectedModel.value, credentialsForSelectedProvider.value);
1255
+ await chatStore.editMessage(sessionId.value, messageToEdit, message$1.content, selectedModel.value, credentialsForSelectedProvider.value);
1272
1256
  editingMessageId.value = void 0;
1273
1257
  }
1274
- function handleRegenerateMessage(message$1) {
1258
+ async function handleRegenerateMessage(message$1) {
1275
1259
  if (isResponding.value || message$1.type !== "ai" || !selectedModel.value || !credentialsForSelectedProvider.value) return;
1276
1260
  const messageToRetry = message$1.id;
1277
- chatStore.regenerateMessage(sessionId.value, messageToRetry, selectedModel.value, credentialsForSelectedProvider.value);
1261
+ editingMessageId.value = void 0;
1262
+ await chatStore.regenerateMessage(sessionId.value, messageToRetry, selectedModel.value, credentialsForSelectedProvider.value);
1278
1263
  }
1279
1264
  async function handleSelectModel(selection, selectedAgent) {
1280
1265
  const agent = selectedAgent ?? chatStore.getAgent(selection);
@@ -1377,7 +1362,6 @@ var ChatView_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
1377
1362
  "selected-model": selectedModel.value,
1378
1363
  credentials: unref(credentialsByProvider),
1379
1364
  "ready-to-show-model-selector": isNewSession$1.value || !!currentConversation.value,
1380
- "is-new-session": isNewSession$1.value,
1381
1365
  onSelectModel: handleSelectModel,
1382
1366
  onEditCustomAgent: handleEditAgent,
1383
1367
  onCreateCustomAgent: openNewAgentCreator,
@@ -1387,7 +1371,6 @@ var ChatView_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
1387
1371
  "selected-model",
1388
1372
  "credentials",
1389
1373
  "ready-to-show-model-selector",
1390
- "is-new-session",
1391
1374
  "onSelectCredential"
1392
1375
  ]),
1393
1376
  createVNode(unref(N8nScrollArea_default), {
@@ -1415,7 +1398,7 @@ var ChatView_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
1415
1398
  message: message$1,
1416
1399
  compact: unref(isMobileDevice$1),
1417
1400
  "is-editing": editingMessageId.value === message$1.id,
1418
- "is-streaming": message$1.status === "running",
1401
+ "has-session-streaming": isResponding.value,
1419
1402
  "cached-agent-display-name": selectedModel.value?.name ?? null,
1420
1403
  "cached-agent-icon": selectedModel.value?.icon ?? null,
1421
1404
  "min-height": didSubmitInCurrentSession.value && message$1.type === "ai" && index === chatMessages.value.length - 1 && scrollContainerRef.value ? scrollContainerRef.value.offsetHeight - 30 - 200 : void 0,
@@ -1429,7 +1412,7 @@ var ChatView_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
1429
1412
  "message",
1430
1413
  "compact",
1431
1414
  "is-editing",
1432
- "is-streaming",
1415
+ "has-session-streaming",
1433
1416
  "cached-agent-display-name",
1434
1417
  "cached-agent-icon",
1435
1418
  "min-height",
@@ -1449,11 +1432,9 @@ var ChatView_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
1449
1432
  class: normalizeClass(_ctx.$style.prompt),
1450
1433
  "selected-model": selectedModel.value,
1451
1434
  "selected-tools": selectedTools.value,
1452
- "is-responding": isResponding.value,
1435
+ "messaging-state": messagingState.value,
1453
1436
  "is-tools-selectable": canSelectTools.value,
1454
- "is-missing-credentials": isMissingSelectedCredential.value,
1455
1437
  "is-new-session": isNewSession$1.value,
1456
- issue: issue.value,
1457
1438
  onSubmit,
1458
1439
  onStop,
1459
1440
  onSelectModel: handleConfigureModel,
@@ -1464,11 +1445,9 @@ var ChatView_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
1464
1445
  "class",
1465
1446
  "selected-model",
1466
1447
  "selected-tools",
1467
- "is-responding",
1448
+ "messaging-state",
1468
1449
  "is-tools-selectable",
1469
- "is-missing-credentials",
1470
- "is-new-session",
1471
- "issue"
1450
+ "is-new-session"
1472
1451
  ])], 2)], 2)]),
1473
1452
  _: 1
1474
1453
  }, 8, ["class"])
@@ -548,12 +548,12 @@
548
548
  color: var(--color--text--tint-1);
549
549
  stroke-width: 2.5;
550
550
  }
551
- .fade-enter-active[data-v-5c4db6e8],
552
- .fade-leave-active[data-v-5c4db6e8] {
551
+ .fade-enter-active[data-v-28c70984],
552
+ .fade-leave-active[data-v-28c70984] {
553
553
  transition: opacity 0.15s ease;
554
554
  }
555
- .fade-enter-from[data-v-5c4db6e8],
556
- .fade-leave-to[data-v-5c4db6e8] {
555
+ .fade-enter-from[data-v-28c70984],
556
+ .fade-leave-to[data-v-28c70984] {
557
557
  opacity: 0;
558
558
  }
559
559
  /* BEM support Func