n8n-editor-ui 1.34.1 → 1.34.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/.turbo/turbo-build.log +63 -63
  2. package/dist/assets/{AuthView-94aQ7z4H.js → AuthView-TLL7d7nz.js} +2 -2
  3. package/dist/assets/{AuthView-94aQ7z4H.js.map → AuthView-TLL7d7nz.js.map} +1 -1
  4. package/dist/assets/{CanvasControls-A5WBrohY.js → CanvasControls-QMz-txwk.js} +2 -2
  5. package/dist/assets/{CanvasControls-A5WBrohY.js.map → CanvasControls-QMz-txwk.js.map} +1 -1
  6. package/dist/assets/{ChangePasswordView-wsEhj8cy.js → ChangePasswordView-BpG2Rx4d.js} +2 -2
  7. package/dist/assets/{ChangePasswordView-wsEhj8cy.js.map → ChangePasswordView-BpG2Rx4d.js.map} +1 -1
  8. package/dist/assets/{CollectionParameter-XvPjL77I.js → CollectionParameter-jdGzYeqj.js} +2 -2
  9. package/dist/assets/CollectionParameter-jdGzYeqj.js.map +1 -0
  10. package/dist/assets/{CredentialsView-0XJMAGhU.js → CredentialsView-kiuFxEVH.js} +2 -2
  11. package/dist/assets/{CredentialsView-0XJMAGhU.js.map → CredentialsView-kiuFxEVH.js.map} +1 -1
  12. package/dist/assets/{ExecutionFilter-bhanFEvf.js → ExecutionFilter-V1l-9ps5.js} +2 -2
  13. package/dist/assets/{ExecutionFilter-bhanFEvf.js.map → ExecutionFilter-V1l-9ps5.js.map} +1 -1
  14. package/dist/assets/{ExecutionPreview-OlIAVmt8.js → ExecutionPreview-MPwJjWY4.js} +2 -2
  15. package/dist/assets/{ExecutionPreview-OlIAVmt8.js.map → ExecutionPreview-MPwJjWY4.js.map} +1 -1
  16. package/dist/assets/{ExecutionsInfoAccordion-8y0XuFEi.js → ExecutionsInfoAccordion-H3fj26pu.js} +2 -2
  17. package/dist/assets/{ExecutionsInfoAccordion-8y0XuFEi.js.map → ExecutionsInfoAccordion-H3fj26pu.js.map} +1 -1
  18. package/dist/assets/{ExecutionsLandingPage-S5UN8vIw.js → ExecutionsLandingPage-7qAKHfBe.js} +2 -2
  19. package/dist/assets/{ExecutionsLandingPage-S5UN8vIw.js.map → ExecutionsLandingPage-7qAKHfBe.js.map} +1 -1
  20. package/dist/assets/{ExecutionsList-BU7_tq5x.js → ExecutionsList-Y9rsGvqE.js} +2 -2
  21. package/dist/assets/{ExecutionsList-BU7_tq5x.js.map → ExecutionsList-Y9rsGvqE.js.map} +1 -1
  22. package/dist/assets/{ExecutionsView-aBSDNhOw.js → ExecutionsView-hi5NLYKp.js} +2 -2
  23. package/dist/assets/{ExecutionsView-aBSDNhOw.js.map → ExecutionsView-hi5NLYKp.js.map} +1 -1
  24. package/dist/assets/{ForgotMyPasswordView-y5xFculD.js → ForgotMyPasswordView-ho6gQT6y.js} +2 -2
  25. package/dist/assets/{ForgotMyPasswordView-y5xFculD.js.map → ForgotMyPasswordView-ho6gQT6y.js.map} +1 -1
  26. package/dist/assets/{MainHeader-dPdeQhkH.js → MainHeader-JVxjOJwJ.js} +2 -2
  27. package/dist/assets/{MainHeader-dPdeQhkH.js.map → MainHeader-JVxjOJwJ.js.map} +1 -1
  28. package/dist/assets/{MainSidebar-5wv4Ntz3.js → MainSidebar-h-btynOF.js} +2 -2
  29. package/dist/assets/{MainSidebar-5wv4Ntz3.js.map → MainSidebar-h-btynOF.js.map} +1 -1
  30. package/dist/assets/{NodeCreation-vCHQm0aM.js → NodeCreation--SFXDuf-.js} +3 -3
  31. package/dist/assets/{NodeCreation-vCHQm0aM.js.map → NodeCreation--SFXDuf-.js.map} +1 -1
  32. package/dist/assets/{NodeCreator-Qi3ajhnf.js → NodeCreator-ns8j677p.js} +2 -2
  33. package/dist/assets/{NodeCreator-Qi3ajhnf.js.map → NodeCreator-ns8j677p.js.map} +1 -1
  34. package/dist/assets/{NodeList-bi4nWtpD.js → NodeList-f2AyrOck.js} +2 -2
  35. package/dist/assets/{NodeList-bi4nWtpD.js.map → NodeList-f2AyrOck.js.map} +1 -1
  36. package/dist/assets/{NodeView-oDPyzajr.js → NodeView-7yZJ9OMj.js} +4 -4
  37. package/dist/assets/NodeView-7yZJ9OMj.js.map +1 -0
  38. package/dist/assets/NodeView-pdKhF5kg.css +1 -0
  39. package/dist/assets/{RunDataAi-DJiuZFJ2.js → RunDataAi-PNu5uqz6.js} +2 -2
  40. package/dist/assets/{RunDataAi-DJiuZFJ2.js.map → RunDataAi-PNu5uqz6.js.map} +1 -1
  41. package/dist/assets/{RunDataJson-9PUFQ2iv.js → RunDataJson-s5yVk7VC.js} +3 -3
  42. package/dist/assets/{RunDataJson-9PUFQ2iv.js.map → RunDataJson-s5yVk7VC.js.map} +1 -1
  43. package/dist/assets/{RunDataJsonActions-4HpuK2F9.js → RunDataJsonActions-VSs2XNyt.js} +2 -2
  44. package/dist/assets/{RunDataJsonActions-4HpuK2F9.js.map → RunDataJsonActions-VSs2XNyt.js.map} +1 -1
  45. package/dist/assets/{RunDataSchema-ezXA1IRJ.js → RunDataSchema-WeaaXm2i.js} +2 -2
  46. package/dist/assets/{RunDataSchema-ezXA1IRJ.js.map → RunDataSchema-WeaaXm2i.js.map} +1 -1
  47. package/dist/assets/{RunDataTable-fjkHn30C.js → RunDataTable-2YR4xl8i.js} +2 -2
  48. package/dist/assets/{RunDataTable-fjkHn30C.js.map → RunDataTable-2YR4xl8i.js.map} +1 -1
  49. package/dist/assets/{SamlOnboarding-yIx-rRda.js → SamlOnboarding-0ds_5hgl.js} +2 -2
  50. package/dist/assets/{SamlOnboarding-yIx-rRda.js.map → SamlOnboarding-0ds_5hgl.js.map} +1 -1
  51. package/dist/assets/{SettingsApiView-EZ0nAdDr.js → SettingsApiView-ZNTmBDeh.js} +2 -2
  52. package/dist/assets/{SettingsApiView-EZ0nAdDr.js.map → SettingsApiView-ZNTmBDeh.js.map} +1 -1
  53. package/dist/assets/{SettingsCommunityNodesView-GY7HDfXP.js → SettingsCommunityNodesView-YGybEb0Q.js} +2 -2
  54. package/dist/assets/{SettingsCommunityNodesView-GY7HDfXP.js.map → SettingsCommunityNodesView-YGybEb0Q.js.map} +1 -1
  55. package/dist/assets/{SettingsExternalSecrets-XjmxCmxV.js → SettingsExternalSecrets-V6XKdflH.js} +2 -2
  56. package/dist/assets/{SettingsExternalSecrets-XjmxCmxV.js.map → SettingsExternalSecrets-V6XKdflH.js.map} +1 -1
  57. package/dist/assets/{SettingsFakeDoorView-pVOCkUpk.js → SettingsFakeDoorView-RT3jHFTZ.js} +2 -2
  58. package/dist/assets/{SettingsFakeDoorView-pVOCkUpk.js.map → SettingsFakeDoorView-RT3jHFTZ.js.map} +1 -1
  59. package/dist/assets/{SettingsLdapView-447rSrxc.js → SettingsLdapView-lVhJpXDn.js} +2 -2
  60. package/dist/assets/{SettingsLdapView-447rSrxc.js.map → SettingsLdapView-lVhJpXDn.js.map} +1 -1
  61. package/dist/assets/{SettingsLogStreamingView-bUhYaLuP.js → SettingsLogStreamingView-hWjeVuyC.js} +2 -2
  62. package/dist/assets/{SettingsLogStreamingView-bUhYaLuP.js.map → SettingsLogStreamingView-hWjeVuyC.js.map} +1 -1
  63. package/dist/assets/{SettingsSourceControl-QbgpyFeh.js → SettingsSourceControl-XOku0dYa.js} +2 -2
  64. package/dist/assets/{SettingsSourceControl-QbgpyFeh.js.map → SettingsSourceControl-XOku0dYa.js.map} +1 -1
  65. package/dist/assets/{SettingsSso-1YVWObhc.js → SettingsSso-FfUWpkMk.js} +2 -2
  66. package/dist/assets/{SettingsSso-1YVWObhc.js.map → SettingsSso-FfUWpkMk.js.map} +1 -1
  67. package/dist/assets/{SettingsUsageAndPlan-RXRRDXy4.js → SettingsUsageAndPlan-bhK5h4Fc.js} +2 -2
  68. package/dist/assets/{SettingsUsageAndPlan-RXRRDXy4.js.map → SettingsUsageAndPlan-bhK5h4Fc.js.map} +1 -1
  69. package/dist/assets/{SettingsUsersView-eHaVB_6L.js → SettingsUsersView-wSBhrK4z.js} +2 -2
  70. package/dist/assets/{SettingsUsersView-eHaVB_6L.js.map → SettingsUsersView-wSBhrK4z.js.map} +1 -1
  71. package/dist/assets/{SettingsView-JVUkQw0d.js → SettingsView-k7YCmGxR.js} +2 -2
  72. package/dist/assets/{SettingsView-JVUkQw0d.js.map → SettingsView-k7YCmGxR.js.map} +1 -1
  73. package/dist/assets/{SetupView-fQzty7Gp.js → SetupView-q1H9bzQn.js} +2 -2
  74. package/dist/assets/{SetupView-fQzty7Gp.js.map → SetupView-q1H9bzQn.js.map} +1 -1
  75. package/dist/assets/{SetupWorkflowCredentialsButton-OiOkf-hI.js → SetupWorkflowCredentialsButton-MXDnpOlJ.js} +2 -2
  76. package/dist/assets/{SetupWorkflowCredentialsButton-OiOkf-hI.js.map → SetupWorkflowCredentialsButton-MXDnpOlJ.js.map} +1 -1
  77. package/dist/assets/{SetupWorkflowFromTemplateView-ckehDOej.js → SetupWorkflowFromTemplateView-0HgnF8Wk.js} +2 -2
  78. package/dist/assets/{SetupWorkflowFromTemplateView-ckehDOej.js.map → SetupWorkflowFromTemplateView-0HgnF8Wk.js.map} +1 -1
  79. package/dist/assets/{SigninView-6kvI5K04.js → SigninView-ZtC3HJKC.js} +2 -2
  80. package/dist/assets/{SigninView-6kvI5K04.js.map → SigninView-ZtC3HJKC.js.map} +1 -1
  81. package/dist/assets/{SignupView-USh4Ng3q.js → SignupView-9jLlb4-m.js} +2 -2
  82. package/dist/assets/{SignupView-USh4Ng3q.js.map → SignupView-9jLlb4-m.js.map} +1 -1
  83. package/dist/assets/{TemplateDetails-tXvyDDVg.js → TemplateDetails-w7x_Vgw_.js} +2 -2
  84. package/dist/assets/{TemplateDetails-tXvyDDVg.js.map → TemplateDetails-w7x_Vgw_.js.map} +1 -1
  85. package/dist/assets/{TemplateList-rsNRt0qZ.js → TemplateList-0nuqWVBy.js} +2 -2
  86. package/dist/assets/{TemplateList-rsNRt0qZ.js.map → TemplateList-0nuqWVBy.js.map} +1 -1
  87. package/dist/assets/{TemplatesCollectionView-lXJ9U359.js → TemplatesCollectionView-Z9UtKR-g.js} +2 -2
  88. package/dist/assets/{TemplatesCollectionView-lXJ9U359.js.map → TemplatesCollectionView-Z9UtKR-g.js.map} +1 -1
  89. package/dist/assets/{TemplatesInfoCarousel-P2HZ4dOz.js → TemplatesInfoCarousel-N3l1eTTG.js} +2 -2
  90. package/dist/assets/{TemplatesInfoCarousel-P2HZ4dOz.js.map → TemplatesInfoCarousel-N3l1eTTG.js.map} +1 -1
  91. package/dist/assets/{TemplatesSearchView-FN7reyfg.js → TemplatesSearchView-wkSt7PFf.js} +2 -2
  92. package/dist/assets/{TemplatesSearchView-FN7reyfg.js.map → TemplatesSearchView-wkSt7PFf.js.map} +1 -1
  93. package/dist/assets/{TemplatesWorkflowView-iRU7xCpM.js → TemplatesWorkflowView-epjsTDT4.js} +2 -2
  94. package/dist/assets/{TemplatesWorkflowView-iRU7xCpM.js.map → TemplatesWorkflowView-epjsTDT4.js.map} +1 -1
  95. package/dist/assets/{VariablesView-pWnSAbjy.js → VariablesView-mj7tvP3Z.js} +2 -2
  96. package/dist/assets/{VariablesView-pWnSAbjy.js.map → VariablesView-mj7tvP3Z.js.map} +1 -1
  97. package/dist/assets/{WorkerView-8rB6MB_M.js → WorkerView-urDpqCfL.js} +2 -2
  98. package/dist/assets/{WorkerView-8rB6MB_M.js.map → WorkerView-urDpqCfL.js.map} +1 -1
  99. package/dist/assets/{WorkflowActivator-hF9F5zIs.js → WorkflowActivator-2LVSrBU4.js} +2 -2
  100. package/dist/assets/{WorkflowActivator-hF9F5zIs.js.map → WorkflowActivator-2LVSrBU4.js.map} +1 -1
  101. package/dist/assets/{WorkflowHistory-gHQbqUXH.js → WorkflowHistory-4SEsxR0t.js} +2 -2
  102. package/dist/assets/{WorkflowHistory-gHQbqUXH.js.map → WorkflowHistory-4SEsxR0t.js.map} +1 -1
  103. package/dist/assets/{WorkflowOnboardingView-VpQ3P8b_.js → WorkflowOnboardingView-27zExcdN.js} +2 -2
  104. package/dist/assets/{WorkflowOnboardingView-VpQ3P8b_.js.map → WorkflowOnboardingView-27zExcdN.js.map} +1 -1
  105. package/dist/assets/{WorkflowsView-bfxfJsmW.js → WorkflowsView-rICV14FU.js} +2 -2
  106. package/dist/assets/{WorkflowsView-bfxfJsmW.js.map → WorkflowsView-rICV14FU.js.map} +1 -1
  107. package/dist/assets/{cloud-f74z4VKj.js → cloud-8u4ixH3T.js} +2 -2
  108. package/dist/assets/{cloud-f74z4VKj.js.map → cloud-8u4ixH3T.js.map} +1 -1
  109. package/dist/assets/{index-vdh5hVg3.js → index-4C1AxeXk.js} +4 -4
  110. package/dist/assets/{index-vdh5hVg3.js.map → index-4C1AxeXk.js.map} +1 -1
  111. package/dist/assets/index-PmN852am.css +1 -0
  112. package/dist/assets/{pushConnection-j2REJYmc.js → pushConnection-kCBulx2c.js} +2 -2
  113. package/dist/assets/{pushConnection-j2REJYmc.js.map → pushConnection-kCBulx2c.js.map} +1 -1
  114. package/dist/assets/{templateActions-iSfFOAhF.js → templateActions-tZeqnIph.js} +2 -2
  115. package/dist/assets/{templateActions-iSfFOAhF.js.map → templateActions-tZeqnIph.js.map} +1 -1
  116. package/dist/assets/{useExecutionDebugging-s7lAeIqB.js → useExecutionDebugging-eQjp4txV.js} +2 -2
  117. package/dist/assets/{useExecutionDebugging-s7lAeIqB.js.map → useExecutionDebugging-eQjp4txV.js.map} +1 -1
  118. package/dist/assets/{workflowActivate-SIKKLz8V.js → workflowActivate-6jCh92f_.js} +2 -2
  119. package/dist/assets/{workflowActivate-SIKKLz8V.js.map → workflowActivate-6jCh92f_.js.map} +1 -1
  120. package/dist/index.html +2 -2
  121. package/package.json +1 -1
  122. package/dist/assets/CollectionParameter-XvPjL77I.js.map +0 -1
  123. package/dist/assets/NodeView-FjGatqri.css +0 -1
  124. package/dist/assets/NodeView-oDPyzajr.js.map +0 -1
  125. package/dist/assets/index-suVg9RiN.css +0 -1
@@ -1,2 +1,2 @@
1
- import{u as k,g1 as _,m as D,v as d,o as N,$ as p}from"./n8n-G5ZIZCy5.js";import{a2 as n}from"./index-vdh5hVg3.js";import"./vendor-VXT4wwt2.js";import"./lodash-es-xYzII6mS.js";import"./axios-s2RMMPhA.js";import"./flatted-jPn12Tq4.js";import"./esprima-next-ulPLCZ1Z.js";import"./luxon-ZRIU05qF.js";import"./pinia-UPmhnKmF.js";import"./@vueuse/core-4MtarU7n.js";import"./uuid-McvpxQtQ.js";import"./vue-i18n-ZIlZf-IE.js";import"./@n8n/permissions-8yMqUF1Y.js";import"./@n8n/codemirror-lang-sql-A8tNeQAo.js";import"./@lezer/common-1hBQ1gIF.js";import"./prettier-s3fE3Qyr.js";import"./@jsplumb/util-DR0SB56A.js";import"./@jsplumb/core-MKwKlGip.js";import"./@jsplumb/common-Q5_tv_GT.js";import"./@jsplumb/connector-bezier-3dWY17R5.js";import"./@jsplumb/browser-ui-AlqFM-P6.js";import"./codemirror-lang-html-n8n-aqAgigXU.js";import"./codemirror-lang-n8n-expression-7tlJbTJw.js";import"./fast-json-stable-stringify-4gflVid-.js";import"./timeago.js--Bumj2r9.js";import"./qrcode.vue-t9lCVWTj.js";import"./vue3-touch-events-_RfbPMOD.js";import"./chart.js-JtqvIvkt.js";function S(){const e=k().fakeDoorFeatures.map(s=>({...s})),o=e.find(s=>s.id===_.ENVIRONMENTS);o&&(o.actionBoxTitle+=".cloud",o.linkURL+="&edition=cloud");const t=e.find(s=>s.id===_.LOGGING);return t&&(t.actionBoxTitle+=".cloud",t.linkURL+="&edition=cloud",t.infoText=""),e}const h=()=>{const r=k();r.fakeDoorFeatures=S()},a={sessionId:"",data:{nodeFilter:"",resultsNodes:[],filterMode:"Regular"}},g=()=>({eventName:"User entered nodes panel search term",properties:{search_string:a.data.nodeFilter,results_count:a.data.resultsNodes.length,results_nodes:a.data.resultsNodes,filter_mode:a.data.filterMode,nodes_panel_session_id:a.sessionId}}),y=()=>{a.sessionId=`nodes_panel_session_${new Date().valueOf()}`,a.data={nodeFilter:"",resultsNodes:[],filterMode:"Regular"}},E=r=>{var t;const e=D(),o=d();return{eventName:"User saved credentials",properties:{instance_id:e.instanceId,credential_type:r.credential_type,credential_id:r.credential_id,workflow_id:o.workflowId,node_type:(t=o.activeNode)==null?void 0:t.name,is_new:r.is_new}}},C=()=>{const r=d();return{eventName:"User opened workflow settings",properties:{workflow_id:r.workflowId,workflow_name:r.workflowName,current_settings:N(r.workflowSettings)}}},U=r=>{const e=d();return{eventName:"User updated workflow settings",properties:{workflow_id:e.workflowId,workflow_name:e.workflowName,new_settings:N(e.workflowSettings),old_settings:r.oldSettings}}},x=r=>{var o;return{eventName:"User opened node modal",properties:{node_name:(o=p().activeNode)==null?void 0:o.name,node_subtitle:r.nodeSubtitle}}},b=r=>{var o,t;const e=p();return{eventName:"User inserted item from Expression Editor variable selector",properties:{node_name:(o=e.activeNode)==null?void 0:o.name,node_type:(t=e.activeNode)==null?void 0:t.type.split(".")[1],parameter_name:r.parameter.displayName,variable_expression:r.selectedItem.variable}}},I=(r,e)=>{var s,i;const o=p(),t={eventName:"",properties:{}};return r.dialogVisible?(t.eventName="User opened Expression Editor",t.properties={node_name:(s=o.activeNode)==null?void 0:s.name,node_type:(i=o.activeNode)==null?void 0:i.type.split(".")[1],parameter_name:r.parameter.displayName,parameter_field_type:r.parameter.type,new_expression:e}):(t.eventName="User closed Expression Editor",t.properties={empty_expression:e,expression_value:r.value,expression_result:r.resolvedExpressionValue.slice(1)}),t},F=r=>{var o,t;const e=p();return{eventName:"User changed Authentication type from node modal",properties:{node_name:(o=e.activeNode)==null?void 0:o.name,node_type:(t=e.activeNode)==null?void 0:t.type.split(".")[1],old_mode:r.oldNodeParameters.authentication||(r.parameters.find(s=>s.name==="authentication")||{default:"default"}).default,new_mode:r.newValue}}},V=r=>{var o,t;const e=p();return{eventName:"User changed node output view mode",properties:{old_mode:r.oldValue,new_mode:r.newValue,node_name:(o=e.activeNode)==null?void 0:o.name,node_type:(t=e.activeNode)==null?void 0:t.type.split(".")[1]}}},M=r=>{var t,s,i,l,c,m,u,w,v,f;const e=d(),o={eventName:"",properties:{execution_id:e.activeExecutionId}};return(t=r.runDataExecutedStartData)!=null&&t.destinationNode?(o.eventName="Node execution finished",o.properties.node_type=(s=e.getNodeByName(r.nodeName||""))==null?void 0:s.type.split(".")[1],o.properties.node_name=r.nodeName):(o.eventName="Manual workflow execution finished",o.properties.workflow_id=e.workflowId,o.properties.workflow_name=e.workflowName),r.errorMessage||r.resultDataError?(o.properties.status="failed",o.properties.error_message=((i=r.resultDataError)==null?void 0:i.message)||"",o.properties.error_stack=((l=r.resultDataError)==null?void 0:l.stack)||"",o.properties.error_ui_message=r.errorMessage||"",o.properties.error_timestamp=new Date,r.resultDataError&&((c=r.resultDataError)!=null&&c.node)?o.properties.error_node=typeof((m=r.resultDataError)==null?void 0:m.node)=="string"?(u=r.resultDataError)==null?void 0:u.node:(v=(w=r.resultDataError)==null?void 0:w.node)==null?void 0:v.name:o.properties.error_node=r.nodeName):(o.properties.status="success",(f=r.runDataExecutedStartData)!=null&&f.destinationNode&&(o.properties.items_count=r.itemsCount||0)),o},R=r=>{const e=d();return{eventName:"User removed node from workflow canvas",properties:{node_name:r.node.name,node_type:r.node.type,node_disabled:r.node.disabled,workflow_id:e.workflowId}}},T=r=>{switch(r==null?void 0:r.type){case"n8n-nodes-base.httpRequest":const e=r.parameters.url.split("/")[2];return{eventName:"User finished httpRequest node editing",properties:{method:r.parameters.method,domain:e}};case"n8n-nodes-base.function":return{eventName:"User finished function node editing",properties:{node_name:r.name,code:r.parameters.functionCode}};case"n8n-nodes-base.functionItem":return{eventName:"User finished functionItem node editing",properties:{node_name:r.name,code:r.parameters.functionCode}};default:return}},O=r=>{var t;const e=d(),o={eventName:"",properties:{execution_id:e.activeExecutionId}};return r.nodeName?(o.eventName="User started node execution",o.properties.source="unknown",o.properties.node_type=(t=e.getNodeByName(r.nodeName))==null?void 0:t.type.split(".")[1],o.properties.node_name=r.nodeName,r.source==="RunData.ExecuteNodeButton"?o.properties.source="node_modal":r.source==="Node.executeNode"&&(o.properties.source="workflow_canvas")):(o.eventName="User started manual workflow execution",o.properties.workflow_id=e.workflowId,o.properties.workflow_name=e.workflowName),o},ce={app:{mount:[()=>{h()}]},nodeView:{mount:[()=>{n().identify()}],createNodeActiveChanged:[(r,e)=>{const o=n(),t={source:e.source,nodes_panel_session_id:a.sessionId};y(),o.track("User opened nodes panel",t),o.page("Cloud instance","Nodes panel",t)}],addNodeButton:[(r,e)=>{const o=n(),t={eventName:"User added node to workflow canvas",properties:{node_type:e.nodeTypeName.split(".")[1],nodes_panel_session_id:a.sessionId}};o.track(t.eventName,t.properties)}]},main:{routeChange:[(r,e)=>{const o=n(),t=e.to.path.split("/");if(e.from.path!=="/"&&t[1]==="workflow"){const s={workflow_id:t[2]};o.page("Cloud instance","Workflow editor",s)}}]},credential:{saved:[(r,e)=>{const o=n(),t=E(e);o.track(t.eventName,t.properties)}]},credentialsEdit:{credentialTypeChanged:[(r,e)=>{const o=n();if(e.newValue){const t={eventName:"User opened Credentials modal",properties:{source:e.setCredentialType===e.credentialType?"node":"primary_menu",new_credential:!e.editCredentials,credential_type:e.credentialType}};o.track(t.eventName,t.properties),o.page("Cloud instance","Credentials modal",t.properties)}}],credentialModalOpened:[(r,e)=>{const o=n(),t={eventName:"User opened Credentials modal",properties:{source:e.activeNode?"node":"primary_menu",new_credential:!e.isEditingCredential,credential_type:e.credentialType}};o.track(t.eventName,t.properties),o.page("Cloud instance","Credentials modal",t.properties)}]},credentialsList:{mounted:[()=>{const r=n(),e={eventName:"User opened global Credentials panel"};r.track(e.eventName),r.page("Cloud instance","Credentials panel")}],dialogVisibleChanged:[(r,e)=>{const o=n();if(e.dialogVisible){const t={eventName:"User opened global Credentials panel"};o.track(t.eventName),o.page("Cloud instance","Credentials panel")}}]},workflowSettings:{dialogVisibleChanged:[(r,e)=>{const o=n();if(e.dialogVisible){const t=C();o.track(t.eventName,t.properties)}}],saveSettings:[(r,e)=>{const o=n(),t=U(e);o.track(t.eventName,t.properties)}]},dataDisplay:{onDocumentationUrlClick:[(r,e)=>{const o=n(),t={eventName:"User clicked node modal docs link",properties:{node_type:e.nodeType.name.split(".")[1],docs_link:e.documentationUrl}};o.track(t.eventName,t.properties)}],nodeTypeChanged:[(r,e)=>{var i;const o=n(),t=p(),s=x(e);o.track(s.eventName,s.properties),o.page("Cloud instance","Node modal",{node:(i=t.activeNode)==null?void 0:i.name})}],nodeEditingFinished:[()=>{const r=n(),e=p(),o=d(),t=T(e.activeNode);t&&(t.properties.workflow_id=o.workflowId),t&&r.track(t.eventName,t.properties)}]},executionsList:{openDialog:[()=>{const r=n(),e={eventName:"User opened Executions log"};r.track(e.eventName),r.page("Cloud instance","Executions log")}]},showMessage:{showError:[(r,e)=>{const o=n(),t={eventName:"Instance FE emitted error",properties:{error_title:e.title,error_description:e.message,error_message:e.errorMessage}};o.track(t.eventName,t.properties)}]},expressionEdit:{itemSelected:[(r,e)=>{const o=n(),t=b(e);e.selectedItem.variable.startsWith("Object.keys")?t.properties.variable_type="Keys":e.selectedItem.variable.startsWith("Object.values")?t.properties.variable_type="Values":t.properties.variable_type="Raw value",o.track(t.eventName,t.properties)}],dialogVisibleChanged:[(r,e)=>{var l;const o=n(),t=((l=e.value)==null?void 0:l.slice(1))??"";let s=!1;switch(typeof e.parameter.default){case"boolean":s=t==="true"&&e.parameter.default||t==="false"&&!e.parameter.default;break;case"string":s=t===e.parameter.default;break;case"number":s=t===e.parameter.default.toString();break}const i=I(e,s);o.track(i.eventName,i.properties)}]},nodeSettings:{valueChanged:[(r,e)=>{const o=n();if(e.parameterPath!=="authentication")return;const t=F(e);o.track(t.eventName,t.properties)}],credentialSelected:[(r,e)=>{const o=n(),t=Object.keys(e.updateInformation.properties.credentials||{});if(t.length<1)return;const s={eventName:"User selected credential from node modal",properties:{credential_name:e.updateInformation.properties.credentials[t[0]],credential_type:t[0]}};o.track(s.eventName,s.properties)}]},workflowRun:{runWorkflow:[(r,e)=>{const o=n(),t=O(e);o.track(t.eventName,t.properties)}],runError:[(r,e)=>{const o=n(),t={eventName:e.nodeName?"Node execution finished":"Manual workflow execution finished",properties:{preflight:"true",status:"failed",error_message:e.errorMessages.join("<br />&nbsp;&nbsp;- "),error_timestamp:new Date,node_name:e.nodeName}};o.track(t.eventName,t.properties)}]},runData:{displayModeChanged:[(r,e)=>{const o=n(),t=V(e);o.track(t.eventName,t.properties)}]},pushConnection:{executionFinished:[(r,e)=>{const o=n(),t=M(e);o.track(t.eventName,t.properties)}]},node:{deleteNode:[(r,e)=>{const o=n(),t=R(e);o.track(t.eventName,t.properties)}]},workflow:{activeChange:[(r,e)=>{const o=n(),t={eventName:e.active&&"User activated workflow"||"User deactivated workflow",properties:{workflow_id:e.workflowId,source:"workflow_modal"}};o.track(t.eventName,t.properties)}],activeChangeCurrent:[(r,e)=>{const o=n(),t=d(),s={eventName:e.active&&"User activated workflow"||"User deactivated workflow",properties:{source:"main nav",workflow_id:e.workflowId,workflow_name:t.workflowName,workflow_nodes:t.allNodes.map(i=>i.type.split(".")[1])}};o.track(s.eventName,s.properties)}],afterUpdate:[(r,e)=>{const o=n(),t={eventName:"User saved workflow",properties:{workflow_id:e.workflowData.id,workflow_name:e.workflowData.name,workflow_nodes:e.workflowData.nodes.map(s=>s.type.split(".")[1])}};o.track(t.eventName,t.properties)}]},execution:{open:[(r,e)=>{const o=n(),t={eventName:"User opened read-only execution",properties:{workflow_id:e.workflowId,workflow_name:e.workflowName,execution_id:e.executionId}};o.track(t.eventName,t.properties)}]},nodeCreateList:{destroyed:[()=>{const r=n();if(a.data.nodeFilter.length>0&&a.data.nodeFilter!==""){const e=g();r.track(e.eventName,e.properties)}}],selectedTypeChanged:[(r,e)=>{const o=n(),t={eventName:"User changed nodes panel filter",properties:{old_filter:e.oldValue,new_filter:e.newValue,nodes_panel_session_id:a.sessionId}};a.data.filterMode=e.newValue,o.track(t.eventName,t.properties)}],nodeFilterChanged:[(r,e)=>{const o=n();if(e.newValue.length===0&&a.data.nodeFilter.length>0){const t=g();o.track(t.eventName,t.properties)}e.newValue.length>e.oldValue.length&&(a.data.nodeFilter=e.newValue,a.data.resultsNodes=e.filteredNodes.map(t=>t.name?t.name.split(".")[1]:t.key?t.key.split(".")[1]:""))}]}};export{ce as n8nCloudHooks};
2
- //# sourceMappingURL=cloud-f74z4VKj.js.map
1
+ import{u as k,g1 as _,m as D,v as d,o as N,$ as p}from"./n8n-G5ZIZCy5.js";import{a2 as n}from"./index-4C1AxeXk.js";import"./vendor-VXT4wwt2.js";import"./lodash-es-xYzII6mS.js";import"./axios-s2RMMPhA.js";import"./flatted-jPn12Tq4.js";import"./esprima-next-ulPLCZ1Z.js";import"./luxon-ZRIU05qF.js";import"./pinia-UPmhnKmF.js";import"./@vueuse/core-4MtarU7n.js";import"./uuid-McvpxQtQ.js";import"./vue-i18n-ZIlZf-IE.js";import"./@n8n/permissions-8yMqUF1Y.js";import"./@n8n/codemirror-lang-sql-A8tNeQAo.js";import"./@lezer/common-1hBQ1gIF.js";import"./prettier-s3fE3Qyr.js";import"./@jsplumb/util-DR0SB56A.js";import"./@jsplumb/core-MKwKlGip.js";import"./@jsplumb/common-Q5_tv_GT.js";import"./@jsplumb/connector-bezier-3dWY17R5.js";import"./@jsplumb/browser-ui-AlqFM-P6.js";import"./codemirror-lang-html-n8n-aqAgigXU.js";import"./codemirror-lang-n8n-expression-7tlJbTJw.js";import"./fast-json-stable-stringify-4gflVid-.js";import"./timeago.js--Bumj2r9.js";import"./qrcode.vue-t9lCVWTj.js";import"./vue3-touch-events-_RfbPMOD.js";import"./chart.js-JtqvIvkt.js";function S(){const e=k().fakeDoorFeatures.map(s=>({...s})),o=e.find(s=>s.id===_.ENVIRONMENTS);o&&(o.actionBoxTitle+=".cloud",o.linkURL+="&edition=cloud");const t=e.find(s=>s.id===_.LOGGING);return t&&(t.actionBoxTitle+=".cloud",t.linkURL+="&edition=cloud",t.infoText=""),e}const h=()=>{const r=k();r.fakeDoorFeatures=S()},a={sessionId:"",data:{nodeFilter:"",resultsNodes:[],filterMode:"Regular"}},g=()=>({eventName:"User entered nodes panel search term",properties:{search_string:a.data.nodeFilter,results_count:a.data.resultsNodes.length,results_nodes:a.data.resultsNodes,filter_mode:a.data.filterMode,nodes_panel_session_id:a.sessionId}}),y=()=>{a.sessionId=`nodes_panel_session_${new Date().valueOf()}`,a.data={nodeFilter:"",resultsNodes:[],filterMode:"Regular"}},E=r=>{var t;const e=D(),o=d();return{eventName:"User saved credentials",properties:{instance_id:e.instanceId,credential_type:r.credential_type,credential_id:r.credential_id,workflow_id:o.workflowId,node_type:(t=o.activeNode)==null?void 0:t.name,is_new:r.is_new}}},C=()=>{const r=d();return{eventName:"User opened workflow settings",properties:{workflow_id:r.workflowId,workflow_name:r.workflowName,current_settings:N(r.workflowSettings)}}},U=r=>{const e=d();return{eventName:"User updated workflow settings",properties:{workflow_id:e.workflowId,workflow_name:e.workflowName,new_settings:N(e.workflowSettings),old_settings:r.oldSettings}}},x=r=>{var o;return{eventName:"User opened node modal",properties:{node_name:(o=p().activeNode)==null?void 0:o.name,node_subtitle:r.nodeSubtitle}}},b=r=>{var o,t;const e=p();return{eventName:"User inserted item from Expression Editor variable selector",properties:{node_name:(o=e.activeNode)==null?void 0:o.name,node_type:(t=e.activeNode)==null?void 0:t.type.split(".")[1],parameter_name:r.parameter.displayName,variable_expression:r.selectedItem.variable}}},I=(r,e)=>{var s,i;const o=p(),t={eventName:"",properties:{}};return r.dialogVisible?(t.eventName="User opened Expression Editor",t.properties={node_name:(s=o.activeNode)==null?void 0:s.name,node_type:(i=o.activeNode)==null?void 0:i.type.split(".")[1],parameter_name:r.parameter.displayName,parameter_field_type:r.parameter.type,new_expression:e}):(t.eventName="User closed Expression Editor",t.properties={empty_expression:e,expression_value:r.value,expression_result:r.resolvedExpressionValue.slice(1)}),t},F=r=>{var o,t;const e=p();return{eventName:"User changed Authentication type from node modal",properties:{node_name:(o=e.activeNode)==null?void 0:o.name,node_type:(t=e.activeNode)==null?void 0:t.type.split(".")[1],old_mode:r.oldNodeParameters.authentication||(r.parameters.find(s=>s.name==="authentication")||{default:"default"}).default,new_mode:r.newValue}}},V=r=>{var o,t;const e=p();return{eventName:"User changed node output view mode",properties:{old_mode:r.oldValue,new_mode:r.newValue,node_name:(o=e.activeNode)==null?void 0:o.name,node_type:(t=e.activeNode)==null?void 0:t.type.split(".")[1]}}},M=r=>{var t,s,i,l,c,m,u,w,v,f;const e=d(),o={eventName:"",properties:{execution_id:e.activeExecutionId}};return(t=r.runDataExecutedStartData)!=null&&t.destinationNode?(o.eventName="Node execution finished",o.properties.node_type=(s=e.getNodeByName(r.nodeName||""))==null?void 0:s.type.split(".")[1],o.properties.node_name=r.nodeName):(o.eventName="Manual workflow execution finished",o.properties.workflow_id=e.workflowId,o.properties.workflow_name=e.workflowName),r.errorMessage||r.resultDataError?(o.properties.status="failed",o.properties.error_message=((i=r.resultDataError)==null?void 0:i.message)||"",o.properties.error_stack=((l=r.resultDataError)==null?void 0:l.stack)||"",o.properties.error_ui_message=r.errorMessage||"",o.properties.error_timestamp=new Date,r.resultDataError&&((c=r.resultDataError)!=null&&c.node)?o.properties.error_node=typeof((m=r.resultDataError)==null?void 0:m.node)=="string"?(u=r.resultDataError)==null?void 0:u.node:(v=(w=r.resultDataError)==null?void 0:w.node)==null?void 0:v.name:o.properties.error_node=r.nodeName):(o.properties.status="success",(f=r.runDataExecutedStartData)!=null&&f.destinationNode&&(o.properties.items_count=r.itemsCount||0)),o},R=r=>{const e=d();return{eventName:"User removed node from workflow canvas",properties:{node_name:r.node.name,node_type:r.node.type,node_disabled:r.node.disabled,workflow_id:e.workflowId}}},T=r=>{switch(r==null?void 0:r.type){case"n8n-nodes-base.httpRequest":const e=r.parameters.url.split("/")[2];return{eventName:"User finished httpRequest node editing",properties:{method:r.parameters.method,domain:e}};case"n8n-nodes-base.function":return{eventName:"User finished function node editing",properties:{node_name:r.name,code:r.parameters.functionCode}};case"n8n-nodes-base.functionItem":return{eventName:"User finished functionItem node editing",properties:{node_name:r.name,code:r.parameters.functionCode}};default:return}},O=r=>{var t;const e=d(),o={eventName:"",properties:{execution_id:e.activeExecutionId}};return r.nodeName?(o.eventName="User started node execution",o.properties.source="unknown",o.properties.node_type=(t=e.getNodeByName(r.nodeName))==null?void 0:t.type.split(".")[1],o.properties.node_name=r.nodeName,r.source==="RunData.ExecuteNodeButton"?o.properties.source="node_modal":r.source==="Node.executeNode"&&(o.properties.source="workflow_canvas")):(o.eventName="User started manual workflow execution",o.properties.workflow_id=e.workflowId,o.properties.workflow_name=e.workflowName),o},ce={app:{mount:[()=>{h()}]},nodeView:{mount:[()=>{n().identify()}],createNodeActiveChanged:[(r,e)=>{const o=n(),t={source:e.source,nodes_panel_session_id:a.sessionId};y(),o.track("User opened nodes panel",t),o.page("Cloud instance","Nodes panel",t)}],addNodeButton:[(r,e)=>{const o=n(),t={eventName:"User added node to workflow canvas",properties:{node_type:e.nodeTypeName.split(".")[1],nodes_panel_session_id:a.sessionId}};o.track(t.eventName,t.properties)}]},main:{routeChange:[(r,e)=>{const o=n(),t=e.to.path.split("/");if(e.from.path!=="/"&&t[1]==="workflow"){const s={workflow_id:t[2]};o.page("Cloud instance","Workflow editor",s)}}]},credential:{saved:[(r,e)=>{const o=n(),t=E(e);o.track(t.eventName,t.properties)}]},credentialsEdit:{credentialTypeChanged:[(r,e)=>{const o=n();if(e.newValue){const t={eventName:"User opened Credentials modal",properties:{source:e.setCredentialType===e.credentialType?"node":"primary_menu",new_credential:!e.editCredentials,credential_type:e.credentialType}};o.track(t.eventName,t.properties),o.page("Cloud instance","Credentials modal",t.properties)}}],credentialModalOpened:[(r,e)=>{const o=n(),t={eventName:"User opened Credentials modal",properties:{source:e.activeNode?"node":"primary_menu",new_credential:!e.isEditingCredential,credential_type:e.credentialType}};o.track(t.eventName,t.properties),o.page("Cloud instance","Credentials modal",t.properties)}]},credentialsList:{mounted:[()=>{const r=n(),e={eventName:"User opened global Credentials panel"};r.track(e.eventName),r.page("Cloud instance","Credentials panel")}],dialogVisibleChanged:[(r,e)=>{const o=n();if(e.dialogVisible){const t={eventName:"User opened global Credentials panel"};o.track(t.eventName),o.page("Cloud instance","Credentials panel")}}]},workflowSettings:{dialogVisibleChanged:[(r,e)=>{const o=n();if(e.dialogVisible){const t=C();o.track(t.eventName,t.properties)}}],saveSettings:[(r,e)=>{const o=n(),t=U(e);o.track(t.eventName,t.properties)}]},dataDisplay:{onDocumentationUrlClick:[(r,e)=>{const o=n(),t={eventName:"User clicked node modal docs link",properties:{node_type:e.nodeType.name.split(".")[1],docs_link:e.documentationUrl}};o.track(t.eventName,t.properties)}],nodeTypeChanged:[(r,e)=>{var i;const o=n(),t=p(),s=x(e);o.track(s.eventName,s.properties),o.page("Cloud instance","Node modal",{node:(i=t.activeNode)==null?void 0:i.name})}],nodeEditingFinished:[()=>{const r=n(),e=p(),o=d(),t=T(e.activeNode);t&&(t.properties.workflow_id=o.workflowId),t&&r.track(t.eventName,t.properties)}]},executionsList:{openDialog:[()=>{const r=n(),e={eventName:"User opened Executions log"};r.track(e.eventName),r.page("Cloud instance","Executions log")}]},showMessage:{showError:[(r,e)=>{const o=n(),t={eventName:"Instance FE emitted error",properties:{error_title:e.title,error_description:e.message,error_message:e.errorMessage}};o.track(t.eventName,t.properties)}]},expressionEdit:{itemSelected:[(r,e)=>{const o=n(),t=b(e);e.selectedItem.variable.startsWith("Object.keys")?t.properties.variable_type="Keys":e.selectedItem.variable.startsWith("Object.values")?t.properties.variable_type="Values":t.properties.variable_type="Raw value",o.track(t.eventName,t.properties)}],dialogVisibleChanged:[(r,e)=>{var l;const o=n(),t=((l=e.value)==null?void 0:l.slice(1))??"";let s=!1;switch(typeof e.parameter.default){case"boolean":s=t==="true"&&e.parameter.default||t==="false"&&!e.parameter.default;break;case"string":s=t===e.parameter.default;break;case"number":s=t===e.parameter.default.toString();break}const i=I(e,s);o.track(i.eventName,i.properties)}]},nodeSettings:{valueChanged:[(r,e)=>{const o=n();if(e.parameterPath!=="authentication")return;const t=F(e);o.track(t.eventName,t.properties)}],credentialSelected:[(r,e)=>{const o=n(),t=Object.keys(e.updateInformation.properties.credentials||{});if(t.length<1)return;const s={eventName:"User selected credential from node modal",properties:{credential_name:e.updateInformation.properties.credentials[t[0]],credential_type:t[0]}};o.track(s.eventName,s.properties)}]},workflowRun:{runWorkflow:[(r,e)=>{const o=n(),t=O(e);o.track(t.eventName,t.properties)}],runError:[(r,e)=>{const o=n(),t={eventName:e.nodeName?"Node execution finished":"Manual workflow execution finished",properties:{preflight:"true",status:"failed",error_message:e.errorMessages.join("<br />&nbsp;&nbsp;- "),error_timestamp:new Date,node_name:e.nodeName}};o.track(t.eventName,t.properties)}]},runData:{displayModeChanged:[(r,e)=>{const o=n(),t=V(e);o.track(t.eventName,t.properties)}]},pushConnection:{executionFinished:[(r,e)=>{const o=n(),t=M(e);o.track(t.eventName,t.properties)}]},node:{deleteNode:[(r,e)=>{const o=n(),t=R(e);o.track(t.eventName,t.properties)}]},workflow:{activeChange:[(r,e)=>{const o=n(),t={eventName:e.active&&"User activated workflow"||"User deactivated workflow",properties:{workflow_id:e.workflowId,source:"workflow_modal"}};o.track(t.eventName,t.properties)}],activeChangeCurrent:[(r,e)=>{const o=n(),t=d(),s={eventName:e.active&&"User activated workflow"||"User deactivated workflow",properties:{source:"main nav",workflow_id:e.workflowId,workflow_name:t.workflowName,workflow_nodes:t.allNodes.map(i=>i.type.split(".")[1])}};o.track(s.eventName,s.properties)}],afterUpdate:[(r,e)=>{const o=n(),t={eventName:"User saved workflow",properties:{workflow_id:e.workflowData.id,workflow_name:e.workflowData.name,workflow_nodes:e.workflowData.nodes.map(s=>s.type.split(".")[1])}};o.track(t.eventName,t.properties)}]},execution:{open:[(r,e)=>{const o=n(),t={eventName:"User opened read-only execution",properties:{workflow_id:e.workflowId,workflow_name:e.workflowName,execution_id:e.executionId}};o.track(t.eventName,t.properties)}]},nodeCreateList:{destroyed:[()=>{const r=n();if(a.data.nodeFilter.length>0&&a.data.nodeFilter!==""){const e=g();r.track(e.eventName,e.properties)}}],selectedTypeChanged:[(r,e)=>{const o=n(),t={eventName:"User changed nodes panel filter",properties:{old_filter:e.oldValue,new_filter:e.newValue,nodes_panel_session_id:a.sessionId}};a.data.filterMode=e.newValue,o.track(t.eventName,t.properties)}],nodeFilterChanged:[(r,e)=>{const o=n();if(e.newValue.length===0&&a.data.nodeFilter.length>0){const t=g();o.track(t.eventName,t.properties)}e.newValue.length>e.oldValue.length&&(a.data.nodeFilter=e.newValue,a.data.resultsNodes=e.filteredNodes.map(t=>t.name?t.name.split(".")[1]:t.key?t.key.split(".")[1]:""))}]}};export{ce as n8nCloudHooks};
2
+ //# sourceMappingURL=cloud-8u4ixH3T.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloud-f74z4VKj.js","sources":["../../src/hooks/utils/hooksAddFakeDoorFeatures.ts","../../src/hooks/utils/hooksNodesPanel.ts","../../src/hooks/segment/getters.ts","../../src/hooks/cloud.ts"],"sourcesContent":["import { useUIStore } from '@/stores/ui.store';\nimport type { IFakeDoor } from '@/Interface';\nimport { FAKE_DOOR_FEATURES } from '@/constants';\n\nexport function compileFakeDoorFeatures(): IFakeDoor[] {\n\tconst store = useUIStore();\n\tconst fakeDoorFeatures: IFakeDoor[] = store.fakeDoorFeatures.map((feature) => ({ ...feature }));\n\n\tconst environmentsFeature = fakeDoorFeatures.find(\n\t\t(feature) => feature.id === FAKE_DOOR_FEATURES.ENVIRONMENTS,\n\t);\n\tif (environmentsFeature) {\n\t\tenvironmentsFeature.actionBoxTitle += '.cloud';\n\t\tenvironmentsFeature.linkURL += '&edition=cloud';\n\t}\n\n\tconst loggingFeature = fakeDoorFeatures.find(\n\t\t(feature) => feature.id === FAKE_DOOR_FEATURES.LOGGING,\n\t);\n\tif (loggingFeature) {\n\t\tloggingFeature.actionBoxTitle += '.cloud';\n\t\tloggingFeature.linkURL += '&edition=cloud';\n\t\tloggingFeature.infoText = '';\n\t}\n\n\treturn fakeDoorFeatures;\n}\n\nexport const hooksAddFakeDoorFeatures = () => {\n\tconst store = useUIStore();\n\n\tstore.fakeDoorFeatures = compileFakeDoorFeatures();\n};\n","export const nodesPanelSession = {\n\tsessionId: '',\n\tdata: {\n\t\tnodeFilter: '',\n\t\tresultsNodes: [] as string[],\n\t\tfilterMode: 'Regular',\n\t},\n};\n\nexport const hooksGenerateNodesPanelEvent = () => {\n\treturn {\n\t\teventName: 'User entered nodes panel search term',\n\t\tproperties: {\n\t\t\tsearch_string: nodesPanelSession.data.nodeFilter,\n\t\t\tresults_count: nodesPanelSession.data.resultsNodes.length,\n\t\t\tresults_nodes: nodesPanelSession.data.resultsNodes,\n\t\t\tfilter_mode: nodesPanelSession.data.filterMode,\n\t\t\tnodes_panel_session_id: nodesPanelSession.sessionId,\n\t\t},\n\t};\n};\n\nexport const hooksResetNodesPanelSession = () => {\n\tnodesPanelSession.sessionId = `nodes_panel_session_${new Date().valueOf()}`;\n\tnodesPanelSession.data = {\n\t\tnodeFilter: '',\n\t\tresultsNodes: [],\n\t\tfilterMode: 'Regular',\n\t};\n};\n","import { deepCopy } from 'n8n-workflow';\nimport type {\n\tExecutionError,\n\tGenericValue,\n\tINodeParameters,\n\tINodeProperties,\n\tITelemetryTrackProperties,\n\tNodeParameterValue,\n\tINode,\n} from 'n8n-workflow';\nimport { useNDVStore } from '@/stores/ndv.store';\nimport type { TelemetryEventData } from '@/hooks/types';\nimport type { INodeUi } from '@/Interface';\nimport { useWorkflowsStore } from '@/stores/workflows.store';\nimport { useRootStore } from '@/stores/n8nRoot.store';\n\nexport interface UserSavedCredentialsEventData {\n\tcredential_type: string;\n\tcredential_id: string;\n\tis_new: boolean;\n}\n\nexport const getUserSavedCredentialsEventData = (meta: UserSavedCredentialsEventData) => {\n\tconst rootStore = useRootStore();\n\tconst workflowsStore = useWorkflowsStore();\n\n\treturn {\n\t\teventName: 'User saved credentials',\n\t\tproperties: {\n\t\t\tinstance_id: rootStore.instanceId,\n\t\t\tcredential_type: meta.credential_type,\n\t\t\tcredential_id: meta.credential_id,\n\t\t\tworkflow_id: workflowsStore.workflowId,\n\t\t\tnode_type: workflowsStore.activeNode?.name,\n\t\t\tis_new: meta.is_new,\n\t\t\t// is_complete: true,\n\t\t\t// is_valid: true,\n\t\t\t// error_message: ''\n\t\t},\n\t};\n};\n\nexport const getOpenWorkflowSettingsEventData = (): TelemetryEventData => {\n\tconst workflowsStore = useWorkflowsStore();\n\n\treturn {\n\t\teventName: 'User opened workflow settings',\n\t\tproperties: {\n\t\t\tworkflow_id: workflowsStore.workflowId,\n\t\t\tworkflow_name: workflowsStore.workflowName,\n\t\t\tcurrent_settings: deepCopy(workflowsStore.workflowSettings),\n\t\t},\n\t};\n};\n\nexport interface UpdatedWorkflowSettingsEventData {\n\toldSettings: Record<string, unknown>;\n}\n\nexport const getUpdatedWorkflowSettingsEventData = (\n\tmeta: UpdatedWorkflowSettingsEventData,\n): TelemetryEventData => {\n\tconst workflowsStore = useWorkflowsStore();\n\n\treturn {\n\t\teventName: 'User updated workflow settings',\n\t\tproperties: {\n\t\t\tworkflow_id: workflowsStore.workflowId,\n\t\t\tworkflow_name: workflowsStore.workflowName,\n\t\t\tnew_settings: deepCopy(workflowsStore.workflowSettings),\n\t\t\told_settings: meta.oldSettings,\n\t\t},\n\t};\n};\n\nexport interface NodeTypeChangedEventData {\n\tnodeSubtitle?: string;\n}\n\nexport const getNodeTypeChangedEventData = (meta: NodeTypeChangedEventData): TelemetryEventData => {\n\tconst store = useNDVStore();\n\n\treturn {\n\t\teventName: 'User opened node modal',\n\t\tproperties: {\n\t\t\tnode_name: store.activeNode?.name,\n\t\t\tnode_subtitle: meta.nodeSubtitle,\n\t\t},\n\t};\n};\n\nexport interface InsertedItemFromExpEditorEventData {\n\tparameter: {\n\t\tdisplayName: string;\n\t};\n\tvalue: string;\n\tselectedItem: {\n\t\tvariable: string;\n\t};\n}\n\nexport const getInsertedItemFromExpEditorEventData = (\n\tmeta: InsertedItemFromExpEditorEventData,\n): TelemetryEventData => {\n\tconst store = useNDVStore();\n\n\treturn {\n\t\teventName: 'User inserted item from Expression Editor variable selector',\n\t\tproperties: {\n\t\t\tnode_name: store.activeNode?.name,\n\t\t\tnode_type: store.activeNode?.type.split('.')[1],\n\t\t\tparameter_name: meta.parameter.displayName,\n\t\t\tvariable_expression: meta.selectedItem.variable,\n\t\t} as ITelemetryTrackProperties,\n\t};\n};\n\nexport interface ExpressionEditorEventsData {\n\tdialogVisible: boolean;\n\tvalue: string;\n\tresolvedExpressionValue: string;\n\tparameter: INodeParameters;\n}\n\nexport const getExpressionEditorEventsData = (\n\tmeta: ExpressionEditorEventsData,\n\tisValueDefault: boolean,\n): TelemetryEventData => {\n\tconst store = useNDVStore();\n\tconst eventData: TelemetryEventData = {\n\t\teventName: '',\n\t\tproperties: {},\n\t};\n\n\tif (!meta.dialogVisible) {\n\t\teventData.eventName = 'User closed Expression Editor';\n\t\teventData.properties = {\n\t\t\tempty_expression: isValueDefault,\n\t\t\texpression_value: meta.value,\n\t\t\texpression_result: meta.resolvedExpressionValue.slice(1),\n\t\t};\n\t} else {\n\t\teventData.eventName = 'User opened Expression Editor';\n\t\teventData.properties = {\n\t\t\tnode_name: store.activeNode?.name,\n\t\t\tnode_type: store.activeNode?.type.split('.')[1],\n\t\t\tparameter_name: meta.parameter.displayName,\n\t\t\tparameter_field_type: meta.parameter.type,\n\t\t\tnew_expression: isValueDefault,\n\t\t};\n\t}\n\treturn eventData;\n};\n\nexport interface AuthenticationModalEventData {\n\tparameterPath: string;\n\toldNodeParameters: Record<string, GenericValue>;\n\tparameters: INodeProperties[];\n\tnewValue: NodeParameterValue;\n}\nexport const getAuthenticationModalEventData = (\n\tmeta: AuthenticationModalEventData,\n): TelemetryEventData => {\n\tconst store = useNDVStore();\n\n\treturn {\n\t\teventName: 'User changed Authentication type from node modal',\n\t\tproperties: {\n\t\t\tnode_name: store.activeNode?.name,\n\t\t\tnode_type: store.activeNode?.type.split('.')[1],\n\t\t\told_mode:\n\t\t\t\tmeta.oldNodeParameters.authentication ||\n\t\t\t\t(\n\t\t\t\t\tmeta.parameters.find((param) => param.name === 'authentication') || {\n\t\t\t\t\t\tdefault: 'default',\n\t\t\t\t\t}\n\t\t\t\t).default,\n\t\t\tnew_mode: meta.newValue,\n\t\t},\n\t};\n};\n\nexport interface OutputModeChangedEventData {\n\toldValue: string;\n\tnewValue: string;\n}\n\nexport const getOutputModeChangedEventData = (\n\tmeta: OutputModeChangedEventData,\n): TelemetryEventData => {\n\tconst store = useNDVStore();\n\n\treturn {\n\t\teventName: 'User changed node output view mode',\n\t\tproperties: {\n\t\t\told_mode: meta.oldValue,\n\t\t\tnew_mode: meta.newValue,\n\t\t\tnode_name: store.activeNode?.name,\n\t\t\tnode_type: store.activeNode?.type.split('.')[1],\n\t\t},\n\t};\n};\n\nexport interface ExecutionFinishedEventData {\n\trunDataExecutedStartData:\n\t\t| { destinationNode?: string | undefined; runNodeFilter?: string[] | undefined }\n\t\t| undefined;\n\tnodeName?: string;\n\terrorMessage: string;\n\tresultDataError: ExecutionError | undefined;\n\titemsCount: number;\n}\n\nexport const getExecutionFinishedEventData = (\n\tmeta: ExecutionFinishedEventData,\n): TelemetryEventData => {\n\tconst store = useWorkflowsStore();\n\n\tconst eventData: TelemetryEventData = {\n\t\teventName: '',\n\t\tproperties: {\n\t\t\texecution_id: store.activeExecutionId,\n\t\t},\n\t};\n\n\tif (meta.runDataExecutedStartData?.destinationNode) {\n\t\teventData.eventName = 'Node execution finished';\n\t\teventData.properties!.node_type = store.getNodeByName(meta.nodeName || '')?.type.split('.')[1];\n\t\teventData.properties!.node_name = meta.nodeName;\n\t} else {\n\t\teventData.eventName = 'Manual workflow execution finished';\n\t\teventData.properties!.workflow_id = store.workflowId;\n\t\teventData.properties!.workflow_name = store.workflowName;\n\t}\n\n\tif (meta.errorMessage || meta.resultDataError) {\n\t\teventData.properties!.status = 'failed';\n\t\teventData.properties!.error_message = meta.resultDataError?.message || '';\n\t\teventData.properties!.error_stack = meta.resultDataError?.stack || '';\n\t\teventData.properties!.error_ui_message = meta.errorMessage || '';\n\t\teventData.properties!.error_timestamp = new Date();\n\n\t\tif (meta.resultDataError && (meta.resultDataError as unknown as { node: INodeUi })?.node) {\n\t\t\teventData.properties!.error_node =\n\t\t\t\ttypeof (meta.resultDataError as unknown as { node: string })?.node === 'string'\n\t\t\t\t\t? (meta.resultDataError as unknown as { node: string })?.node\n\t\t\t\t\t: (meta.resultDataError as unknown as { node: INodeUi })?.node?.name;\n\t\t} else {\n\t\t\teventData.properties!.error_node = meta.nodeName;\n\t\t}\n\t} else {\n\t\teventData.properties!.status = 'success';\n\t\tif (meta.runDataExecutedStartData?.destinationNode) {\n\t\t\t// Node execution finished\n\t\t\teventData.properties!.items_count = meta.itemsCount || 0;\n\t\t}\n\t}\n\treturn eventData;\n};\n\nexport interface NodeRemovedEventData {\n\tnode: INodeUi;\n}\n\nexport const getNodeRemovedEventData = (meta: NodeRemovedEventData): TelemetryEventData => {\n\tconst workflowsStore = useWorkflowsStore();\n\n\treturn {\n\t\teventName: 'User removed node from workflow canvas',\n\t\tproperties: {\n\t\t\tnode_name: meta.node.name,\n\t\t\tnode_type: meta.node.type,\n\t\t\tnode_disabled: meta.node.disabled,\n\t\t\tworkflow_id: workflowsStore.workflowId,\n\t\t},\n\t};\n};\n\nexport const getNodeEditingFinishedEventData = (\n\tactiveNode: INode | null,\n): TelemetryEventData | undefined => {\n\tswitch (activeNode?.type) {\n\t\tcase 'n8n-nodes-base.httpRequest':\n\t\t\tconst domain = (activeNode.parameters.url as string).split('/')[2];\n\t\t\treturn {\n\t\t\t\teventName: 'User finished httpRequest node editing',\n\t\t\t\tproperties: {\n\t\t\t\t\tmethod: activeNode.parameters.method,\n\t\t\t\t\tdomain,\n\t\t\t\t},\n\t\t\t};\n\t\tcase 'n8n-nodes-base.function':\n\t\t\treturn {\n\t\t\t\teventName: 'User finished function node editing',\n\t\t\t\tproperties: {\n\t\t\t\t\tnode_name: activeNode.name,\n\t\t\t\t\tcode: activeNode.parameters.functionCode,\n\t\t\t\t},\n\t\t\t};\n\t\tcase 'n8n-nodes-base.functionItem':\n\t\t\treturn {\n\t\t\t\teventName: 'User finished functionItem node editing',\n\t\t\t\tproperties: {\n\t\t\t\t\tnode_name: activeNode.name,\n\t\t\t\t\tcode: activeNode.parameters.functionCode,\n\t\t\t\t},\n\t\t\t};\n\t\tdefault:\n\t\t\treturn;\n\t}\n};\n\nexport interface ExecutionStartedEventData {\n\tnodeName?: string;\n\tsource?: string;\n}\n\nexport const getExecutionStartedEventData = (\n\tmeta: ExecutionStartedEventData,\n): TelemetryEventData => {\n\tconst store = useWorkflowsStore();\n\n\tconst eventData: TelemetryEventData = {\n\t\teventName: '',\n\t\tproperties: {\n\t\t\texecution_id: store.activeExecutionId,\n\t\t},\n\t};\n\n\t// node execution\n\tif (meta.nodeName) {\n\t\teventData.eventName = 'User started node execution';\n\t\teventData.properties!.source = 'unknown';\n\t\teventData.properties!.node_type = store.getNodeByName(meta.nodeName)?.type.split('.')[1];\n\t\teventData.properties!.node_name = meta.nodeName;\n\n\t\tif (meta.source === 'RunData.ExecuteNodeButton') {\n\t\t\teventData.properties!.source = 'node_modal';\n\t\t} else if (meta.source === 'Node.executeNode') {\n\t\t\teventData.properties!.source = 'workflow_canvas';\n\t\t}\n\t} else {\n\t\t// workflow execution\n\t\teventData.eventName = 'User started manual workflow execution';\n\t\teventData.properties!.workflow_id = store.workflowId;\n\t\teventData.properties!.workflow_name = store.workflowName;\n\t}\n\n\treturn eventData;\n};\n","import { hooksAddFakeDoorFeatures } from '@/hooks/utils';\nimport {\n\tgetAuthenticationModalEventData,\n\tgetExpressionEditorEventsData,\n\tgetInsertedItemFromExpEditorEventData,\n\tgetNodeTypeChangedEventData,\n\tgetOpenWorkflowSettingsEventData,\n\tgetOutputModeChangedEventData,\n\tgetUpdatedWorkflowSettingsEventData,\n\tgetUserSavedCredentialsEventData,\n\tgetExecutionFinishedEventData,\n\tgetNodeRemovedEventData,\n\tgetNodeEditingFinishedEventData,\n\tgetExecutionStartedEventData,\n} from '@/hooks/segment';\nimport { useNDVStore } from '@/stores/ndv.store';\nimport { useWorkflowsStore } from '@/stores/workflows.store';\nimport {\n\thooksGenerateNodesPanelEvent,\n\thooksResetNodesPanelSession,\n\tnodesPanelSession,\n} from '@/hooks/utils/hooksNodesPanel';\nimport { useSegment } from '@/stores/segment.store';\nimport type { PartialDeep } from 'type-fest';\nimport type { IDataObject } from 'n8n-workflow';\nimport type { INodeUi } from '@/Interface';\nimport type { ExternalHooks } from '@/types';\n\nexport const n8nCloudHooks: PartialDeep<ExternalHooks> = {\n\tapp: {\n\t\tmount: [\n\t\t\t() => {\n\t\t\t\thooksAddFakeDoorFeatures();\n\t\t\t},\n\t\t],\n\t},\n\tnodeView: {\n\t\tmount: [\n\t\t\t() => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tsegmentStore.identify();\n\t\t\t},\n\t\t],\n\t\tcreateNodeActiveChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\tsource: meta.source,\n\t\t\t\t\tnodes_panel_session_id: nodesPanelSession.sessionId,\n\t\t\t\t};\n\n\t\t\t\thooksResetNodesPanelSession();\n\t\t\t\tsegmentStore.track('User opened nodes panel', eventData);\n\t\t\t\tsegmentStore.page('Cloud instance', 'Nodes panel', eventData);\n\t\t\t},\n\t\t],\n\t\taddNodeButton: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'User added node to workflow canvas',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tnode_type: meta.nodeTypeName.split('.')[1],\n\t\t\t\t\t\tnodes_panel_session_id: nodesPanelSession.sessionId,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tmain: {\n\t\trouteChange: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst splitPath = meta.to.path.split('/');\n\t\t\t\tif (meta.from.path !== '/' && splitPath[1] === 'workflow') {\n\t\t\t\t\tconst eventData = {\n\t\t\t\t\t\tworkflow_id: splitPath[2],\n\t\t\t\t\t};\n\n\t\t\t\t\tsegmentStore.page('Cloud instance', 'Workflow editor', eventData);\n\t\t\t\t}\n\t\t\t},\n\t\t],\n\t},\n\tcredential: {\n\t\tsaved: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = getUserSavedCredentialsEventData(meta);\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tcredentialsEdit: {\n\t\tcredentialTypeChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tif (meta.newValue) {\n\t\t\t\t\tconst eventData = {\n\t\t\t\t\t\teventName: 'User opened Credentials modal',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tsource: meta.setCredentialType === meta.credentialType ? 'node' : 'primary_menu',\n\t\t\t\t\t\t\tnew_credential: !meta.editCredentials,\n\t\t\t\t\t\t\tcredential_type: meta.credentialType,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\n\t\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t\t\tsegmentStore.page('Cloud instance', 'Credentials modal', eventData.properties);\n\t\t\t\t}\n\t\t\t},\n\t\t],\n\t\tcredentialModalOpened: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'User opened Credentials modal',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tsource: meta.activeNode ? 'node' : 'primary_menu',\n\t\t\t\t\t\tnew_credential: !meta.isEditingCredential,\n\t\t\t\t\t\tcredential_type: meta.credentialType,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t\tsegmentStore.page('Cloud instance', 'Credentials modal', eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tcredentialsList: {\n\t\tmounted: [\n\t\t\t() => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'User opened global Credentials panel',\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName);\n\t\t\t\tsegmentStore.page('Cloud instance', 'Credentials panel');\n\t\t\t},\n\t\t],\n\t\tdialogVisibleChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tif (meta.dialogVisible) {\n\t\t\t\t\tconst eventData = {\n\t\t\t\t\t\teventName: 'User opened global Credentials panel',\n\t\t\t\t\t};\n\n\t\t\t\t\tsegmentStore.track(eventData.eventName);\n\t\t\t\t\tsegmentStore.page('Cloud instance', 'Credentials panel');\n\t\t\t\t}\n\t\t\t},\n\t\t],\n\t},\n\tworkflowSettings: {\n\t\tdialogVisibleChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tif (meta.dialogVisible) {\n\t\t\t\t\tconst eventData = getOpenWorkflowSettingsEventData();\n\t\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t\t}\n\t\t\t},\n\t\t],\n\t\tsaveSettings: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = getUpdatedWorkflowSettingsEventData(meta);\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tdataDisplay: {\n\t\tonDocumentationUrlClick: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'User clicked node modal docs link',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tnode_type: meta.nodeType.name.split('.')[1],\n\t\t\t\t\t\tdocs_link: meta.documentationUrl,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t\tnodeTypeChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst ndvStore = useNDVStore();\n\t\t\t\tconst eventData = getNodeTypeChangedEventData(meta);\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t\tsegmentStore.page('Cloud instance', 'Node modal', {\n\t\t\t\t\tnode: ndvStore.activeNode?.name,\n\t\t\t\t});\n\t\t\t},\n\t\t],\n\t\tnodeEditingFinished: [\n\t\t\t() => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst ndvStore = useNDVStore();\n\t\t\t\tconst workflowsStore = useWorkflowsStore();\n\n\t\t\t\tconst eventData = getNodeEditingFinishedEventData(ndvStore.activeNode);\n\t\t\t\tif (eventData) {\n\t\t\t\t\teventData.properties!.workflow_id = workflowsStore.workflowId;\n\t\t\t\t}\n\n\t\t\t\tif (eventData) {\n\t\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t\t}\n\t\t\t},\n\t\t],\n\t},\n\texecutionsList: {\n\t\topenDialog: [\n\t\t\t() => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'User opened Executions log',\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName);\n\t\t\t\tsegmentStore.page('Cloud instance', 'Executions log');\n\t\t\t},\n\t\t],\n\t},\n\tshowMessage: {\n\t\tshowError: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'Instance FE emitted error',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\terror_title: meta.title,\n\t\t\t\t\t\terror_description: meta.message,\n\t\t\t\t\t\terror_message: meta.errorMessage,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\texpressionEdit: {\n\t\titemSelected: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = getInsertedItemFromExpEditorEventData(meta);\n\n\t\t\t\tif (meta.selectedItem.variable.startsWith('Object.keys')) {\n\t\t\t\t\teventData.properties!.variable_type = 'Keys';\n\t\t\t\t} else if (meta.selectedItem.variable.startsWith('Object.values')) {\n\t\t\t\t\teventData.properties!.variable_type = 'Values';\n\t\t\t\t} else {\n\t\t\t\t\teventData.properties!.variable_type = 'Raw value';\n\t\t\t\t}\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t\tdialogVisibleChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst currentValue = meta.value?.slice(1) ?? '';\n\t\t\t\tlet isValueDefault = false;\n\n\t\t\t\tswitch (typeof meta.parameter.default) {\n\t\t\t\t\tcase 'boolean':\n\t\t\t\t\t\tisValueDefault =\n\t\t\t\t\t\t\t(currentValue === 'true' && meta.parameter.default) ||\n\t\t\t\t\t\t\t(currentValue === 'false' && !meta.parameter.default);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'string':\n\t\t\t\t\t\tisValueDefault = currentValue === meta.parameter.default;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'number':\n\t\t\t\t\t\tisValueDefault = currentValue === meta.parameter.default.toString();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tconst eventData = getExpressionEditorEventsData(meta, isValueDefault);\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tnodeSettings: {\n\t\tvalueChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tif (meta.parameterPath !== 'authentication') {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst eventData = getAuthenticationModalEventData(meta);\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t\tcredentialSelected: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst creds = Object.keys(meta.updateInformation.properties.credentials || {});\n\t\t\t\tif (creds.length < 1) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'User selected credential from node modal',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tcredential_name: (meta.updateInformation.properties.credentials as IDataObject)[\n\t\t\t\t\t\t\tcreds[0]\n\t\t\t\t\t\t],\n\t\t\t\t\t\tcredential_type: creds[0],\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tworkflowRun: {\n\t\trunWorkflow: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = getExecutionStartedEventData(meta);\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t\trunError: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: meta.nodeName\n\t\t\t\t\t\t? 'Node execution finished'\n\t\t\t\t\t\t: 'Manual workflow execution finished',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tpreflight: 'true',\n\t\t\t\t\t\tstatus: 'failed',\n\t\t\t\t\t\terror_message: meta.errorMessages.join('<br />&nbsp;&nbsp;- '),\n\t\t\t\t\t\terror_timestamp: new Date(),\n\t\t\t\t\t\tnode_name: meta.nodeName,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\trunData: {\n\t\tdisplayModeChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = getOutputModeChangedEventData(meta);\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tpushConnection: {\n\t\texecutionFinished: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = getExecutionFinishedEventData(meta);\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tnode: {\n\t\tdeleteNode: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = getNodeRemovedEventData(meta);\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tworkflow: {\n\t\tactiveChange: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: (meta.active && 'User activated workflow') || 'User deactivated workflow',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tworkflow_id: meta.workflowId,\n\t\t\t\t\t\tsource: 'workflow_modal',\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t\tactiveChangeCurrent: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst workflowsStore = useWorkflowsStore();\n\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: (meta.active && 'User activated workflow') || 'User deactivated workflow',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tsource: 'main nav',\n\t\t\t\t\t\tworkflow_id: meta.workflowId,\n\t\t\t\t\t\tworkflow_name: workflowsStore.workflowName,\n\t\t\t\t\t\tworkflow_nodes: workflowsStore.allNodes.map((n) => n.type.split('.')[1]),\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t\tafterUpdate: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'User saved workflow',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tworkflow_id: meta.workflowData.id,\n\t\t\t\t\t\tworkflow_name: meta.workflowData.name,\n\t\t\t\t\t\tworkflow_nodes: meta.workflowData.nodes.map((n) => n.type.split('.')[1]),\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\texecution: {\n\t\topen: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'User opened read-only execution',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tworkflow_id: meta.workflowId,\n\t\t\t\t\t\tworkflow_name: meta.workflowName,\n\t\t\t\t\t\texecution_id: meta.executionId,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tnodeCreateList: {\n\t\tdestroyed: [\n\t\t\t() => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tif (\n\t\t\t\t\tnodesPanelSession.data.nodeFilter.length > 0 &&\n\t\t\t\t\tnodesPanelSession.data.nodeFilter !== ''\n\t\t\t\t) {\n\t\t\t\t\tconst eventData = hooksGenerateNodesPanelEvent();\n\n\t\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t\t}\n\t\t\t},\n\t\t],\n\t\tselectedTypeChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'User changed nodes panel filter',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\told_filter: meta.oldValue,\n\t\t\t\t\t\tnew_filter: meta.newValue,\n\t\t\t\t\t\tnodes_panel_session_id: nodesPanelSession.sessionId,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\tnodesPanelSession.data.filterMode = meta.newValue;\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t\tnodeFilterChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tif (meta.newValue.length === 0 && nodesPanelSession.data.nodeFilter.length > 0) {\n\t\t\t\t\tconst eventData = hooksGenerateNodesPanelEvent();\n\n\t\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t\t}\n\n\t\t\t\tif (meta.newValue.length > meta.oldValue.length) {\n\t\t\t\t\tnodesPanelSession.data.nodeFilter = meta.newValue;\n\t\t\t\t\tnodesPanelSession.data.resultsNodes = meta.filteredNodes.map((node) => {\n\t\t\t\t\t\tif ((node as unknown as INodeUi).name) {\n\t\t\t\t\t\t\treturn (node as unknown as INodeUi).name.split('.')[1];\n\t\t\t\t\t\t} else if (node.key) {\n\t\t\t\t\t\t\treturn node.key.split('.')[1];\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t],\n\t},\n};\n"],"names":["compileFakeDoorFeatures","fakeDoorFeatures","useUIStore","feature","environmentsFeature","FAKE_DOOR_FEATURES","loggingFeature","hooksAddFakeDoorFeatures","store","nodesPanelSession","hooksGenerateNodesPanelEvent","hooksResetNodesPanelSession","getUserSavedCredentialsEventData","meta","rootStore","useRootStore","workflowsStore","useWorkflowsStore","_a","getOpenWorkflowSettingsEventData","deepCopy","getUpdatedWorkflowSettingsEventData","getNodeTypeChangedEventData","useNDVStore","getInsertedItemFromExpEditorEventData","_b","getExpressionEditorEventsData","isValueDefault","eventData","getAuthenticationModalEventData","param","getOutputModeChangedEventData","getExecutionFinishedEventData","_c","_d","_e","_f","_g","_i","_h","_j","getNodeRemovedEventData","getNodeEditingFinishedEventData","activeNode","domain","getExecutionStartedEventData","n8nCloudHooks","useSegment","_","segmentStore","splitPath","ndvStore","currentValue","creds","n","node"],"mappings":"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"}
1
+ {"version":3,"file":"cloud-8u4ixH3T.js","sources":["../../src/hooks/utils/hooksAddFakeDoorFeatures.ts","../../src/hooks/utils/hooksNodesPanel.ts","../../src/hooks/segment/getters.ts","../../src/hooks/cloud.ts"],"sourcesContent":["import { useUIStore } from '@/stores/ui.store';\nimport type { IFakeDoor } from '@/Interface';\nimport { FAKE_DOOR_FEATURES } from '@/constants';\n\nexport function compileFakeDoorFeatures(): IFakeDoor[] {\n\tconst store = useUIStore();\n\tconst fakeDoorFeatures: IFakeDoor[] = store.fakeDoorFeatures.map((feature) => ({ ...feature }));\n\n\tconst environmentsFeature = fakeDoorFeatures.find(\n\t\t(feature) => feature.id === FAKE_DOOR_FEATURES.ENVIRONMENTS,\n\t);\n\tif (environmentsFeature) {\n\t\tenvironmentsFeature.actionBoxTitle += '.cloud';\n\t\tenvironmentsFeature.linkURL += '&edition=cloud';\n\t}\n\n\tconst loggingFeature = fakeDoorFeatures.find(\n\t\t(feature) => feature.id === FAKE_DOOR_FEATURES.LOGGING,\n\t);\n\tif (loggingFeature) {\n\t\tloggingFeature.actionBoxTitle += '.cloud';\n\t\tloggingFeature.linkURL += '&edition=cloud';\n\t\tloggingFeature.infoText = '';\n\t}\n\n\treturn fakeDoorFeatures;\n}\n\nexport const hooksAddFakeDoorFeatures = () => {\n\tconst store = useUIStore();\n\n\tstore.fakeDoorFeatures = compileFakeDoorFeatures();\n};\n","export const nodesPanelSession = {\n\tsessionId: '',\n\tdata: {\n\t\tnodeFilter: '',\n\t\tresultsNodes: [] as string[],\n\t\tfilterMode: 'Regular',\n\t},\n};\n\nexport const hooksGenerateNodesPanelEvent = () => {\n\treturn {\n\t\teventName: 'User entered nodes panel search term',\n\t\tproperties: {\n\t\t\tsearch_string: nodesPanelSession.data.nodeFilter,\n\t\t\tresults_count: nodesPanelSession.data.resultsNodes.length,\n\t\t\tresults_nodes: nodesPanelSession.data.resultsNodes,\n\t\t\tfilter_mode: nodesPanelSession.data.filterMode,\n\t\t\tnodes_panel_session_id: nodesPanelSession.sessionId,\n\t\t},\n\t};\n};\n\nexport const hooksResetNodesPanelSession = () => {\n\tnodesPanelSession.sessionId = `nodes_panel_session_${new Date().valueOf()}`;\n\tnodesPanelSession.data = {\n\t\tnodeFilter: '',\n\t\tresultsNodes: [],\n\t\tfilterMode: 'Regular',\n\t};\n};\n","import { deepCopy } from 'n8n-workflow';\nimport type {\n\tExecutionError,\n\tGenericValue,\n\tINodeParameters,\n\tINodeProperties,\n\tITelemetryTrackProperties,\n\tNodeParameterValue,\n\tINode,\n} from 'n8n-workflow';\nimport { useNDVStore } from '@/stores/ndv.store';\nimport type { TelemetryEventData } from '@/hooks/types';\nimport type { INodeUi } from '@/Interface';\nimport { useWorkflowsStore } from '@/stores/workflows.store';\nimport { useRootStore } from '@/stores/n8nRoot.store';\n\nexport interface UserSavedCredentialsEventData {\n\tcredential_type: string;\n\tcredential_id: string;\n\tis_new: boolean;\n}\n\nexport const getUserSavedCredentialsEventData = (meta: UserSavedCredentialsEventData) => {\n\tconst rootStore = useRootStore();\n\tconst workflowsStore = useWorkflowsStore();\n\n\treturn {\n\t\teventName: 'User saved credentials',\n\t\tproperties: {\n\t\t\tinstance_id: rootStore.instanceId,\n\t\t\tcredential_type: meta.credential_type,\n\t\t\tcredential_id: meta.credential_id,\n\t\t\tworkflow_id: workflowsStore.workflowId,\n\t\t\tnode_type: workflowsStore.activeNode?.name,\n\t\t\tis_new: meta.is_new,\n\t\t\t// is_complete: true,\n\t\t\t// is_valid: true,\n\t\t\t// error_message: ''\n\t\t},\n\t};\n};\n\nexport const getOpenWorkflowSettingsEventData = (): TelemetryEventData => {\n\tconst workflowsStore = useWorkflowsStore();\n\n\treturn {\n\t\teventName: 'User opened workflow settings',\n\t\tproperties: {\n\t\t\tworkflow_id: workflowsStore.workflowId,\n\t\t\tworkflow_name: workflowsStore.workflowName,\n\t\t\tcurrent_settings: deepCopy(workflowsStore.workflowSettings),\n\t\t},\n\t};\n};\n\nexport interface UpdatedWorkflowSettingsEventData {\n\toldSettings: Record<string, unknown>;\n}\n\nexport const getUpdatedWorkflowSettingsEventData = (\n\tmeta: UpdatedWorkflowSettingsEventData,\n): TelemetryEventData => {\n\tconst workflowsStore = useWorkflowsStore();\n\n\treturn {\n\t\teventName: 'User updated workflow settings',\n\t\tproperties: {\n\t\t\tworkflow_id: workflowsStore.workflowId,\n\t\t\tworkflow_name: workflowsStore.workflowName,\n\t\t\tnew_settings: deepCopy(workflowsStore.workflowSettings),\n\t\t\told_settings: meta.oldSettings,\n\t\t},\n\t};\n};\n\nexport interface NodeTypeChangedEventData {\n\tnodeSubtitle?: string;\n}\n\nexport const getNodeTypeChangedEventData = (meta: NodeTypeChangedEventData): TelemetryEventData => {\n\tconst store = useNDVStore();\n\n\treturn {\n\t\teventName: 'User opened node modal',\n\t\tproperties: {\n\t\t\tnode_name: store.activeNode?.name,\n\t\t\tnode_subtitle: meta.nodeSubtitle,\n\t\t},\n\t};\n};\n\nexport interface InsertedItemFromExpEditorEventData {\n\tparameter: {\n\t\tdisplayName: string;\n\t};\n\tvalue: string;\n\tselectedItem: {\n\t\tvariable: string;\n\t};\n}\n\nexport const getInsertedItemFromExpEditorEventData = (\n\tmeta: InsertedItemFromExpEditorEventData,\n): TelemetryEventData => {\n\tconst store = useNDVStore();\n\n\treturn {\n\t\teventName: 'User inserted item from Expression Editor variable selector',\n\t\tproperties: {\n\t\t\tnode_name: store.activeNode?.name,\n\t\t\tnode_type: store.activeNode?.type.split('.')[1],\n\t\t\tparameter_name: meta.parameter.displayName,\n\t\t\tvariable_expression: meta.selectedItem.variable,\n\t\t} as ITelemetryTrackProperties,\n\t};\n};\n\nexport interface ExpressionEditorEventsData {\n\tdialogVisible: boolean;\n\tvalue: string;\n\tresolvedExpressionValue: string;\n\tparameter: INodeParameters;\n}\n\nexport const getExpressionEditorEventsData = (\n\tmeta: ExpressionEditorEventsData,\n\tisValueDefault: boolean,\n): TelemetryEventData => {\n\tconst store = useNDVStore();\n\tconst eventData: TelemetryEventData = {\n\t\teventName: '',\n\t\tproperties: {},\n\t};\n\n\tif (!meta.dialogVisible) {\n\t\teventData.eventName = 'User closed Expression Editor';\n\t\teventData.properties = {\n\t\t\tempty_expression: isValueDefault,\n\t\t\texpression_value: meta.value,\n\t\t\texpression_result: meta.resolvedExpressionValue.slice(1),\n\t\t};\n\t} else {\n\t\teventData.eventName = 'User opened Expression Editor';\n\t\teventData.properties = {\n\t\t\tnode_name: store.activeNode?.name,\n\t\t\tnode_type: store.activeNode?.type.split('.')[1],\n\t\t\tparameter_name: meta.parameter.displayName,\n\t\t\tparameter_field_type: meta.parameter.type,\n\t\t\tnew_expression: isValueDefault,\n\t\t};\n\t}\n\treturn eventData;\n};\n\nexport interface AuthenticationModalEventData {\n\tparameterPath: string;\n\toldNodeParameters: Record<string, GenericValue>;\n\tparameters: INodeProperties[];\n\tnewValue: NodeParameterValue;\n}\nexport const getAuthenticationModalEventData = (\n\tmeta: AuthenticationModalEventData,\n): TelemetryEventData => {\n\tconst store = useNDVStore();\n\n\treturn {\n\t\teventName: 'User changed Authentication type from node modal',\n\t\tproperties: {\n\t\t\tnode_name: store.activeNode?.name,\n\t\t\tnode_type: store.activeNode?.type.split('.')[1],\n\t\t\told_mode:\n\t\t\t\tmeta.oldNodeParameters.authentication ||\n\t\t\t\t(\n\t\t\t\t\tmeta.parameters.find((param) => param.name === 'authentication') || {\n\t\t\t\t\t\tdefault: 'default',\n\t\t\t\t\t}\n\t\t\t\t).default,\n\t\t\tnew_mode: meta.newValue,\n\t\t},\n\t};\n};\n\nexport interface OutputModeChangedEventData {\n\toldValue: string;\n\tnewValue: string;\n}\n\nexport const getOutputModeChangedEventData = (\n\tmeta: OutputModeChangedEventData,\n): TelemetryEventData => {\n\tconst store = useNDVStore();\n\n\treturn {\n\t\teventName: 'User changed node output view mode',\n\t\tproperties: {\n\t\t\told_mode: meta.oldValue,\n\t\t\tnew_mode: meta.newValue,\n\t\t\tnode_name: store.activeNode?.name,\n\t\t\tnode_type: store.activeNode?.type.split('.')[1],\n\t\t},\n\t};\n};\n\nexport interface ExecutionFinishedEventData {\n\trunDataExecutedStartData:\n\t\t| { destinationNode?: string | undefined; runNodeFilter?: string[] | undefined }\n\t\t| undefined;\n\tnodeName?: string;\n\terrorMessage: string;\n\tresultDataError: ExecutionError | undefined;\n\titemsCount: number;\n}\n\nexport const getExecutionFinishedEventData = (\n\tmeta: ExecutionFinishedEventData,\n): TelemetryEventData => {\n\tconst store = useWorkflowsStore();\n\n\tconst eventData: TelemetryEventData = {\n\t\teventName: '',\n\t\tproperties: {\n\t\t\texecution_id: store.activeExecutionId,\n\t\t},\n\t};\n\n\tif (meta.runDataExecutedStartData?.destinationNode) {\n\t\teventData.eventName = 'Node execution finished';\n\t\teventData.properties!.node_type = store.getNodeByName(meta.nodeName || '')?.type.split('.')[1];\n\t\teventData.properties!.node_name = meta.nodeName;\n\t} else {\n\t\teventData.eventName = 'Manual workflow execution finished';\n\t\teventData.properties!.workflow_id = store.workflowId;\n\t\teventData.properties!.workflow_name = store.workflowName;\n\t}\n\n\tif (meta.errorMessage || meta.resultDataError) {\n\t\teventData.properties!.status = 'failed';\n\t\teventData.properties!.error_message = meta.resultDataError?.message || '';\n\t\teventData.properties!.error_stack = meta.resultDataError?.stack || '';\n\t\teventData.properties!.error_ui_message = meta.errorMessage || '';\n\t\teventData.properties!.error_timestamp = new Date();\n\n\t\tif (meta.resultDataError && (meta.resultDataError as unknown as { node: INodeUi })?.node) {\n\t\t\teventData.properties!.error_node =\n\t\t\t\ttypeof (meta.resultDataError as unknown as { node: string })?.node === 'string'\n\t\t\t\t\t? (meta.resultDataError as unknown as { node: string })?.node\n\t\t\t\t\t: (meta.resultDataError as unknown as { node: INodeUi })?.node?.name;\n\t\t} else {\n\t\t\teventData.properties!.error_node = meta.nodeName;\n\t\t}\n\t} else {\n\t\teventData.properties!.status = 'success';\n\t\tif (meta.runDataExecutedStartData?.destinationNode) {\n\t\t\t// Node execution finished\n\t\t\teventData.properties!.items_count = meta.itemsCount || 0;\n\t\t}\n\t}\n\treturn eventData;\n};\n\nexport interface NodeRemovedEventData {\n\tnode: INodeUi;\n}\n\nexport const getNodeRemovedEventData = (meta: NodeRemovedEventData): TelemetryEventData => {\n\tconst workflowsStore = useWorkflowsStore();\n\n\treturn {\n\t\teventName: 'User removed node from workflow canvas',\n\t\tproperties: {\n\t\t\tnode_name: meta.node.name,\n\t\t\tnode_type: meta.node.type,\n\t\t\tnode_disabled: meta.node.disabled,\n\t\t\tworkflow_id: workflowsStore.workflowId,\n\t\t},\n\t};\n};\n\nexport const getNodeEditingFinishedEventData = (\n\tactiveNode: INode | null,\n): TelemetryEventData | undefined => {\n\tswitch (activeNode?.type) {\n\t\tcase 'n8n-nodes-base.httpRequest':\n\t\t\tconst domain = (activeNode.parameters.url as string).split('/')[2];\n\t\t\treturn {\n\t\t\t\teventName: 'User finished httpRequest node editing',\n\t\t\t\tproperties: {\n\t\t\t\t\tmethod: activeNode.parameters.method,\n\t\t\t\t\tdomain,\n\t\t\t\t},\n\t\t\t};\n\t\tcase 'n8n-nodes-base.function':\n\t\t\treturn {\n\t\t\t\teventName: 'User finished function node editing',\n\t\t\t\tproperties: {\n\t\t\t\t\tnode_name: activeNode.name,\n\t\t\t\t\tcode: activeNode.parameters.functionCode,\n\t\t\t\t},\n\t\t\t};\n\t\tcase 'n8n-nodes-base.functionItem':\n\t\t\treturn {\n\t\t\t\teventName: 'User finished functionItem node editing',\n\t\t\t\tproperties: {\n\t\t\t\t\tnode_name: activeNode.name,\n\t\t\t\t\tcode: activeNode.parameters.functionCode,\n\t\t\t\t},\n\t\t\t};\n\t\tdefault:\n\t\t\treturn;\n\t}\n};\n\nexport interface ExecutionStartedEventData {\n\tnodeName?: string;\n\tsource?: string;\n}\n\nexport const getExecutionStartedEventData = (\n\tmeta: ExecutionStartedEventData,\n): TelemetryEventData => {\n\tconst store = useWorkflowsStore();\n\n\tconst eventData: TelemetryEventData = {\n\t\teventName: '',\n\t\tproperties: {\n\t\t\texecution_id: store.activeExecutionId,\n\t\t},\n\t};\n\n\t// node execution\n\tif (meta.nodeName) {\n\t\teventData.eventName = 'User started node execution';\n\t\teventData.properties!.source = 'unknown';\n\t\teventData.properties!.node_type = store.getNodeByName(meta.nodeName)?.type.split('.')[1];\n\t\teventData.properties!.node_name = meta.nodeName;\n\n\t\tif (meta.source === 'RunData.ExecuteNodeButton') {\n\t\t\teventData.properties!.source = 'node_modal';\n\t\t} else if (meta.source === 'Node.executeNode') {\n\t\t\teventData.properties!.source = 'workflow_canvas';\n\t\t}\n\t} else {\n\t\t// workflow execution\n\t\teventData.eventName = 'User started manual workflow execution';\n\t\teventData.properties!.workflow_id = store.workflowId;\n\t\teventData.properties!.workflow_name = store.workflowName;\n\t}\n\n\treturn eventData;\n};\n","import { hooksAddFakeDoorFeatures } from '@/hooks/utils';\nimport {\n\tgetAuthenticationModalEventData,\n\tgetExpressionEditorEventsData,\n\tgetInsertedItemFromExpEditorEventData,\n\tgetNodeTypeChangedEventData,\n\tgetOpenWorkflowSettingsEventData,\n\tgetOutputModeChangedEventData,\n\tgetUpdatedWorkflowSettingsEventData,\n\tgetUserSavedCredentialsEventData,\n\tgetExecutionFinishedEventData,\n\tgetNodeRemovedEventData,\n\tgetNodeEditingFinishedEventData,\n\tgetExecutionStartedEventData,\n} from '@/hooks/segment';\nimport { useNDVStore } from '@/stores/ndv.store';\nimport { useWorkflowsStore } from '@/stores/workflows.store';\nimport {\n\thooksGenerateNodesPanelEvent,\n\thooksResetNodesPanelSession,\n\tnodesPanelSession,\n} from '@/hooks/utils/hooksNodesPanel';\nimport { useSegment } from '@/stores/segment.store';\nimport type { PartialDeep } from 'type-fest';\nimport type { IDataObject } from 'n8n-workflow';\nimport type { INodeUi } from '@/Interface';\nimport type { ExternalHooks } from '@/types';\n\nexport const n8nCloudHooks: PartialDeep<ExternalHooks> = {\n\tapp: {\n\t\tmount: [\n\t\t\t() => {\n\t\t\t\thooksAddFakeDoorFeatures();\n\t\t\t},\n\t\t],\n\t},\n\tnodeView: {\n\t\tmount: [\n\t\t\t() => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tsegmentStore.identify();\n\t\t\t},\n\t\t],\n\t\tcreateNodeActiveChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\tsource: meta.source,\n\t\t\t\t\tnodes_panel_session_id: nodesPanelSession.sessionId,\n\t\t\t\t};\n\n\t\t\t\thooksResetNodesPanelSession();\n\t\t\t\tsegmentStore.track('User opened nodes panel', eventData);\n\t\t\t\tsegmentStore.page('Cloud instance', 'Nodes panel', eventData);\n\t\t\t},\n\t\t],\n\t\taddNodeButton: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'User added node to workflow canvas',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tnode_type: meta.nodeTypeName.split('.')[1],\n\t\t\t\t\t\tnodes_panel_session_id: nodesPanelSession.sessionId,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tmain: {\n\t\trouteChange: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst splitPath = meta.to.path.split('/');\n\t\t\t\tif (meta.from.path !== '/' && splitPath[1] === 'workflow') {\n\t\t\t\t\tconst eventData = {\n\t\t\t\t\t\tworkflow_id: splitPath[2],\n\t\t\t\t\t};\n\n\t\t\t\t\tsegmentStore.page('Cloud instance', 'Workflow editor', eventData);\n\t\t\t\t}\n\t\t\t},\n\t\t],\n\t},\n\tcredential: {\n\t\tsaved: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = getUserSavedCredentialsEventData(meta);\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tcredentialsEdit: {\n\t\tcredentialTypeChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tif (meta.newValue) {\n\t\t\t\t\tconst eventData = {\n\t\t\t\t\t\teventName: 'User opened Credentials modal',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tsource: meta.setCredentialType === meta.credentialType ? 'node' : 'primary_menu',\n\t\t\t\t\t\t\tnew_credential: !meta.editCredentials,\n\t\t\t\t\t\t\tcredential_type: meta.credentialType,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\n\t\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t\t\tsegmentStore.page('Cloud instance', 'Credentials modal', eventData.properties);\n\t\t\t\t}\n\t\t\t},\n\t\t],\n\t\tcredentialModalOpened: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'User opened Credentials modal',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tsource: meta.activeNode ? 'node' : 'primary_menu',\n\t\t\t\t\t\tnew_credential: !meta.isEditingCredential,\n\t\t\t\t\t\tcredential_type: meta.credentialType,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t\tsegmentStore.page('Cloud instance', 'Credentials modal', eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tcredentialsList: {\n\t\tmounted: [\n\t\t\t() => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'User opened global Credentials panel',\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName);\n\t\t\t\tsegmentStore.page('Cloud instance', 'Credentials panel');\n\t\t\t},\n\t\t],\n\t\tdialogVisibleChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tif (meta.dialogVisible) {\n\t\t\t\t\tconst eventData = {\n\t\t\t\t\t\teventName: 'User opened global Credentials panel',\n\t\t\t\t\t};\n\n\t\t\t\t\tsegmentStore.track(eventData.eventName);\n\t\t\t\t\tsegmentStore.page('Cloud instance', 'Credentials panel');\n\t\t\t\t}\n\t\t\t},\n\t\t],\n\t},\n\tworkflowSettings: {\n\t\tdialogVisibleChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tif (meta.dialogVisible) {\n\t\t\t\t\tconst eventData = getOpenWorkflowSettingsEventData();\n\t\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t\t}\n\t\t\t},\n\t\t],\n\t\tsaveSettings: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = getUpdatedWorkflowSettingsEventData(meta);\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tdataDisplay: {\n\t\tonDocumentationUrlClick: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'User clicked node modal docs link',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tnode_type: meta.nodeType.name.split('.')[1],\n\t\t\t\t\t\tdocs_link: meta.documentationUrl,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t\tnodeTypeChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst ndvStore = useNDVStore();\n\t\t\t\tconst eventData = getNodeTypeChangedEventData(meta);\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t\tsegmentStore.page('Cloud instance', 'Node modal', {\n\t\t\t\t\tnode: ndvStore.activeNode?.name,\n\t\t\t\t});\n\t\t\t},\n\t\t],\n\t\tnodeEditingFinished: [\n\t\t\t() => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst ndvStore = useNDVStore();\n\t\t\t\tconst workflowsStore = useWorkflowsStore();\n\n\t\t\t\tconst eventData = getNodeEditingFinishedEventData(ndvStore.activeNode);\n\t\t\t\tif (eventData) {\n\t\t\t\t\teventData.properties!.workflow_id = workflowsStore.workflowId;\n\t\t\t\t}\n\n\t\t\t\tif (eventData) {\n\t\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t\t}\n\t\t\t},\n\t\t],\n\t},\n\texecutionsList: {\n\t\topenDialog: [\n\t\t\t() => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'User opened Executions log',\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName);\n\t\t\t\tsegmentStore.page('Cloud instance', 'Executions log');\n\t\t\t},\n\t\t],\n\t},\n\tshowMessage: {\n\t\tshowError: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'Instance FE emitted error',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\terror_title: meta.title,\n\t\t\t\t\t\terror_description: meta.message,\n\t\t\t\t\t\terror_message: meta.errorMessage,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\texpressionEdit: {\n\t\titemSelected: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = getInsertedItemFromExpEditorEventData(meta);\n\n\t\t\t\tif (meta.selectedItem.variable.startsWith('Object.keys')) {\n\t\t\t\t\teventData.properties!.variable_type = 'Keys';\n\t\t\t\t} else if (meta.selectedItem.variable.startsWith('Object.values')) {\n\t\t\t\t\teventData.properties!.variable_type = 'Values';\n\t\t\t\t} else {\n\t\t\t\t\teventData.properties!.variable_type = 'Raw value';\n\t\t\t\t}\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t\tdialogVisibleChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst currentValue = meta.value?.slice(1) ?? '';\n\t\t\t\tlet isValueDefault = false;\n\n\t\t\t\tswitch (typeof meta.parameter.default) {\n\t\t\t\t\tcase 'boolean':\n\t\t\t\t\t\tisValueDefault =\n\t\t\t\t\t\t\t(currentValue === 'true' && meta.parameter.default) ||\n\t\t\t\t\t\t\t(currentValue === 'false' && !meta.parameter.default);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'string':\n\t\t\t\t\t\tisValueDefault = currentValue === meta.parameter.default;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'number':\n\t\t\t\t\t\tisValueDefault = currentValue === meta.parameter.default.toString();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tconst eventData = getExpressionEditorEventsData(meta, isValueDefault);\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tnodeSettings: {\n\t\tvalueChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tif (meta.parameterPath !== 'authentication') {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst eventData = getAuthenticationModalEventData(meta);\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t\tcredentialSelected: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst creds = Object.keys(meta.updateInformation.properties.credentials || {});\n\t\t\t\tif (creds.length < 1) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'User selected credential from node modal',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tcredential_name: (meta.updateInformation.properties.credentials as IDataObject)[\n\t\t\t\t\t\t\tcreds[0]\n\t\t\t\t\t\t],\n\t\t\t\t\t\tcredential_type: creds[0],\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tworkflowRun: {\n\t\trunWorkflow: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = getExecutionStartedEventData(meta);\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t\trunError: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: meta.nodeName\n\t\t\t\t\t\t? 'Node execution finished'\n\t\t\t\t\t\t: 'Manual workflow execution finished',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tpreflight: 'true',\n\t\t\t\t\t\tstatus: 'failed',\n\t\t\t\t\t\terror_message: meta.errorMessages.join('<br />&nbsp;&nbsp;- '),\n\t\t\t\t\t\terror_timestamp: new Date(),\n\t\t\t\t\t\tnode_name: meta.nodeName,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\trunData: {\n\t\tdisplayModeChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = getOutputModeChangedEventData(meta);\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tpushConnection: {\n\t\texecutionFinished: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = getExecutionFinishedEventData(meta);\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tnode: {\n\t\tdeleteNode: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = getNodeRemovedEventData(meta);\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tworkflow: {\n\t\tactiveChange: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: (meta.active && 'User activated workflow') || 'User deactivated workflow',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tworkflow_id: meta.workflowId,\n\t\t\t\t\t\tsource: 'workflow_modal',\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t\tactiveChangeCurrent: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst workflowsStore = useWorkflowsStore();\n\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: (meta.active && 'User activated workflow') || 'User deactivated workflow',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tsource: 'main nav',\n\t\t\t\t\t\tworkflow_id: meta.workflowId,\n\t\t\t\t\t\tworkflow_name: workflowsStore.workflowName,\n\t\t\t\t\t\tworkflow_nodes: workflowsStore.allNodes.map((n) => n.type.split('.')[1]),\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t\tafterUpdate: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'User saved workflow',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tworkflow_id: meta.workflowData.id,\n\t\t\t\t\t\tworkflow_name: meta.workflowData.name,\n\t\t\t\t\t\tworkflow_nodes: meta.workflowData.nodes.map((n) => n.type.split('.')[1]),\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\texecution: {\n\t\topen: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'User opened read-only execution',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tworkflow_id: meta.workflowId,\n\t\t\t\t\t\tworkflow_name: meta.workflowName,\n\t\t\t\t\t\texecution_id: meta.executionId,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t},\n\tnodeCreateList: {\n\t\tdestroyed: [\n\t\t\t() => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tif (\n\t\t\t\t\tnodesPanelSession.data.nodeFilter.length > 0 &&\n\t\t\t\t\tnodesPanelSession.data.nodeFilter !== ''\n\t\t\t\t) {\n\t\t\t\t\tconst eventData = hooksGenerateNodesPanelEvent();\n\n\t\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t\t}\n\t\t\t},\n\t\t],\n\t\tselectedTypeChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tconst eventData = {\n\t\t\t\t\teventName: 'User changed nodes panel filter',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\told_filter: meta.oldValue,\n\t\t\t\t\t\tnew_filter: meta.newValue,\n\t\t\t\t\t\tnodes_panel_session_id: nodesPanelSession.sessionId,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\tnodesPanelSession.data.filterMode = meta.newValue;\n\n\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t},\n\t\t],\n\t\tnodeFilterChanged: [\n\t\t\t(_, meta) => {\n\t\t\t\tconst segmentStore = useSegment();\n\t\t\t\tif (meta.newValue.length === 0 && nodesPanelSession.data.nodeFilter.length > 0) {\n\t\t\t\t\tconst eventData = hooksGenerateNodesPanelEvent();\n\n\t\t\t\t\tsegmentStore.track(eventData.eventName, eventData.properties);\n\t\t\t\t}\n\n\t\t\t\tif (meta.newValue.length > meta.oldValue.length) {\n\t\t\t\t\tnodesPanelSession.data.nodeFilter = meta.newValue;\n\t\t\t\t\tnodesPanelSession.data.resultsNodes = meta.filteredNodes.map((node) => {\n\t\t\t\t\t\tif ((node as unknown as INodeUi).name) {\n\t\t\t\t\t\t\treturn (node as unknown as INodeUi).name.split('.')[1];\n\t\t\t\t\t\t} else if (node.key) {\n\t\t\t\t\t\t\treturn node.key.split('.')[1];\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t],\n\t},\n};\n"],"names":["compileFakeDoorFeatures","fakeDoorFeatures","useUIStore","feature","environmentsFeature","FAKE_DOOR_FEATURES","loggingFeature","hooksAddFakeDoorFeatures","store","nodesPanelSession","hooksGenerateNodesPanelEvent","hooksResetNodesPanelSession","getUserSavedCredentialsEventData","meta","rootStore","useRootStore","workflowsStore","useWorkflowsStore","_a","getOpenWorkflowSettingsEventData","deepCopy","getUpdatedWorkflowSettingsEventData","getNodeTypeChangedEventData","useNDVStore","getInsertedItemFromExpEditorEventData","_b","getExpressionEditorEventsData","isValueDefault","eventData","getAuthenticationModalEventData","param","getOutputModeChangedEventData","getExecutionFinishedEventData","_c","_d","_e","_f","_g","_i","_h","_j","getNodeRemovedEventData","getNodeEditingFinishedEventData","activeNode","domain","getExecutionStartedEventData","n8nCloudHooks","useSegment","_","segmentStore","splitPath","ndvStore","currentValue","creds","n","node"],"mappings":"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"}