@atom8n/n8n-editor-ui 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.stylelintcache +1 -0
- package/README.md +59 -0
- package/biome.jsonc +8 -0
- package/build.log +55 -0
- package/data/node-popularity.json +3998 -0
- package/dist/assets/AddDataTableModal-UINkk54_.js +1555 -0
- package/dist/assets/AgentEditorModal-CVww87TJ.js +358 -0
- package/dist/assets/Alert-Dy86dyOr.js +102 -0
- package/dist/assets/AnimatedSpinner-DmPN4poP.js +15 -0
- package/dist/assets/AnnotationTagsDropdown.ee-BJ7N9lek.js +71 -0
- package/dist/assets/AuthView-D2LWHrMp.js +106 -0
- package/dist/assets/BottomMenu-CIQiK_dJ.js +532 -0
- package/dist/assets/CalendarDate-DgQUMbNo.js +875 -0
- package/dist/assets/ChangePasswordView-Z6tUkw0u.js +133 -0
- package/dist/assets/ChatAgentAvatar-50YBnv3N.js +67 -0
- package/dist/assets/ChatFile-xZxmc2nV.js +146 -0
- package/dist/assets/ChatLayout-CTE_5SiM.js +96 -0
- package/dist/assets/ChatPersonalAgentsView-BGpHk03K.js +149 -0
- package/dist/assets/ChatSidebar-BkVwIypC.js +528 -0
- package/dist/assets/ChatView-BbbdeU9x.js +1559 -0
- package/dist/assets/ChatWorkflowAgentsView-BtunOxlC.js +116 -0
- package/dist/assets/CollectionParameter-BdcPG1lu.js +52 -0
- package/dist/assets/CommitMonoVariable-ytizKI8U.woff2 +0 -0
- package/dist/assets/CommunityNodeUpdateInfo-C37kca4W.js +273 -0
- package/dist/assets/CopyInput-DDZVu2iU.js +74 -0
- package/dist/assets/CredentialIcon-8YdTTFZ1.js +80 -0
- package/dist/assets/CredentialPicker-DWtj314o.js +293 -0
- package/dist/assets/CredentialSelectorModal-DTW2fKh0.js +138 -0
- package/dist/assets/CredentialsView-BjUchcCu.js +480 -0
- package/dist/assets/DataTableActions-DpAkoxg_.js +95 -0
- package/dist/assets/DataTableDetailsView-Coq7zdW5.js +41922 -0
- package/dist/assets/DataTableView-Cs-BIkzw.js +293 -0
- package/dist/assets/DemoFooter-Cga3jvi-.js +65 -0
- package/dist/assets/Draggable-vfvXl9Sp.js +105 -0
- package/dist/assets/EmptySharedSectionActionBox-DOXZtTCv.js +36 -0
- package/dist/assets/EnterpriseEdition.ee-D_rCFexM.js +15 -0
- package/dist/assets/EntityNotFound-3dhTRWsE.js +85 -0
- package/dist/assets/EntityUnAuthorised-ChJYZakE.js +66 -0
- package/dist/assets/ErrorView-zT9cX76a.js +61 -0
- package/dist/assets/EvaluationsRootView-C-OVWYnY.js +523 -0
- package/dist/assets/EvaluationsView-CJwJTruc.js +469 -0
- package/dist/assets/ExecutionsTime-DEQiyozR.js +573 -0
- package/dist/assets/ExecutionsView-Bd5Oh8TH.js +791 -0
- package/dist/assets/ExternalSecretsProviderConnectionSwitch.ee-C7Ih-uRo.js +191 -0
- package/dist/assets/FixedCollectionParameter-CYuTDW9t.js +496 -0
- package/dist/assets/ForgotMyPasswordView-Bs_L9P27.js +102 -0
- package/dist/assets/InsightsChartAverageRuntime-Bp3VA8_7.js +62 -0
- package/dist/assets/InsightsChartFailed-KPaNWoEr.js +52 -0
- package/dist/assets/InsightsChartFailureRate-DE6kE3FM.js +54 -0
- package/dist/assets/InsightsChartTimeSaved-auABNZlc.js +68 -0
- package/dist/assets/InsightsChartTotal-BKzYRKE7.js +56 -0
- package/dist/assets/InsightsDashboard-JWx4W6Db.js +473 -0
- package/dist/assets/InsightsPaywall-C8zLLKe8.js +63 -0
- package/dist/assets/InsightsSummary-cmN1lHDm.js +210 -0
- package/dist/assets/InsightsTableWorkflows-CqcC3IbQ.js +203 -0
- package/dist/assets/InterVariable-DiVDrmQJ.woff2 +0 -0
- package/dist/assets/InterVariable-Italic-FCBEiFp6.woff2 +0 -0
- package/dist/assets/ItemsRenderer-DC8WVyMv.js +922 -0
- package/dist/assets/KeyboardShortcutTooltip-D8PAK5JP.js +31 -0
- package/dist/assets/LogsPanel-BR06u9RK.js +52 -0
- package/dist/assets/LogsPanel-C-_acMHp.js +2325 -0
- package/dist/assets/MCPConnectWorkflowsModal-3g8_iUa4.js +303 -0
- package/dist/assets/MainHeader-DiQc1edn.js +2153 -0
- package/dist/assets/MainSidebar-CoPGG5Ea.js +804 -0
- package/dist/assets/MigrationRuleDetail-BAxk1Pvl.js +295 -0
- package/dist/assets/MigrationRules-IW9lZMpE.js +285 -0
- package/dist/assets/Modal-CIzXlZdZ.js +204 -0
- package/dist/assets/ModelByIdSelectorModal-DLvBjzJO.js +115 -0
- package/dist/assets/NDVEmptyState-33UoX00I.js +19743 -0
- package/dist/assets/NodeCreation-BNzbSWSB.js +240 -0
- package/dist/assets/NodeCreator-BftgCKx7.js +1288 -0
- package/dist/assets/NodeDetailsView-CsoQCpcF.js +1075 -0
- package/dist/assets/NodeDetailsViewV2-C_wNQR_3.js +981 -0
- package/dist/assets/NodeIcon-B9VW6tX6.js +87 -0
- package/dist/assets/NodeSettings-ZwVip6VR.js +1872 -0
- package/dist/assets/NodeView-D4WUEvLB.js +2452 -0
- package/dist/assets/OAuthConsentView-DlrUqZbT.js +230 -0
- package/dist/assets/PageViewLayout-NT1KPFgy.js +12 -0
- package/dist/assets/ParameterInputList-sG2nz-Jo.js +38091 -0
- package/dist/assets/PrebuiltAgentTemplatesView-Csi5U8dc.js +154 -0
- package/dist/assets/ProjectBreadcrumb-C_XiY7sc.js +98 -0
- package/dist/assets/ProjectCardBadge-t_hs7vzx.js +209 -0
- package/dist/assets/ProjectHeader-Dq5Ihb26.js +549 -0
- package/dist/assets/ProjectIcon-DY8gGuHX.js +64 -0
- package/dist/assets/ProjectRoleView-Du-KTrAC.js +435 -0
- package/dist/assets/ProjectRolesView-DjxM_y4u.js +239 -0
- package/dist/assets/ProjectSettings-C6kWuV21.js +966 -0
- package/dist/assets/ProjectSharing-CVUgNWAY.js +262 -0
- package/dist/assets/ProjectVariables-CJlAo3dv.js +467 -0
- package/dist/assets/ProviderSettingsModal-BUFC2ZLv.js +307 -0
- package/dist/assets/PushConnectionTracker-DPBnGV0v.js +27 -0
- package/dist/assets/ResolversView-3BdkvvYA.js +209 -0
- package/dist/assets/ResourceFiltersDropdown-dgyXpcEX.js +159 -0
- package/dist/assets/ResourcesListLayout-qBLtomK6.js +631 -0
- package/dist/assets/RunDataHtml-BrW0OQra.js +7 -0
- package/dist/assets/RunDataHtml-Cleia4Cj.js +40 -0
- package/dist/assets/RunDataJson-uxkrhYRK.js +227 -0
- package/dist/assets/RunDataJsonActions-DkPk7E8d.js +5007 -0
- package/dist/assets/RunDataParsedAiContent-CtPRjig-.js +26 -0
- package/dist/assets/RunDataParsedAiContent-WAuqLQ5M.js +192 -0
- package/dist/assets/RunDataSearch-YBWUr93C.js +141 -0
- package/dist/assets/RunDataTable-DcXaBynW.js +631 -0
- package/dist/assets/SamlOnboarding-BTdQ_hr3.js +78 -0
- package/dist/assets/SaveButton-D5sQSxIk.js +89 -0
- package/dist/assets/SelectedItemsInfo-BHZ-NvF5.js +58 -0
- package/dist/assets/SettingsApiView-IfZTMXx1.js +313 -0
- package/dist/assets/SettingsChatHubView-gWh2X6vX.js +285 -0
- package/dist/assets/SettingsCommunityNodesView-D8VQtpGY.js +349 -0
- package/dist/assets/SettingsExternalSecrets-CpMc7mkW.js +233 -0
- package/dist/assets/SettingsLdapView-CU5a2MAy.js +2553 -0
- package/dist/assets/SettingsLogStreamingView-uojTe-oX.js +375 -0
- package/dist/assets/SettingsMCPView-B5Swp1C_.js +1214 -0
- package/dist/assets/SettingsPersonalView-Cr3aGood.js +402 -0
- package/dist/assets/SettingsSourceControl-DXOvFDEY.js +547 -0
- package/dist/assets/SettingsSso-27MfU1HV.js +1032 -0
- package/dist/assets/SettingsUsageAndPlan-DqIO-G46.js +419 -0
- package/dist/assets/SettingsUsersView-DfHB4_Kh.js +833 -0
- package/dist/assets/SettingsView-C4sA7Uny.js +90 -0
- package/dist/assets/SetupTemplateFormStep-BmiSzZin.js +258 -0
- package/dist/assets/SetupView-VORZ-L_u.js +112 -0
- package/dist/assets/SetupWorkflowCredentialsButton-DTmkOAW5.js +73 -0
- package/dist/assets/SetupWorkflowFromTemplateView-B9NupdJE.js +286 -0
- package/dist/assets/SeverityTag-CX1qTTNA.js +45 -0
- package/dist/assets/SigninView-D9_Pm16j.js +358 -0
- package/dist/assets/SignoutView-BFsjEAGz.js +19 -0
- package/dist/assets/SignupView-Am4ot0QZ.js +137 -0
- package/dist/assets/SkeletonAgentCard-C5TL-h8F.js +191 -0
- package/dist/assets/TagsDropdown-Bvx_Hd6Q.js +230 -0
- package/dist/assets/TemplateCard-CyQ1GuVz.js +105 -0
- package/dist/assets/TemplateDetails-CZRusTxE.js +124 -0
- package/dist/assets/TemplateList-DKvbwuiY.js +333 -0
- package/dist/assets/TemplatesCollectionView-D8dxU8By.js +184 -0
- package/dist/assets/TemplatesSearchView-CebC_GLs.js +1230 -0
- package/dist/assets/TemplatesView-025CcmIY.js +57 -0
- package/dist/assets/TemplatesWorkflowView-C2JfwJAn.js +170 -0
- package/dist/assets/TestRunDetailView-Ck78TTWO.js +395 -0
- package/dist/assets/TextWithHighlights-BxumwGnv.js +57 -0
- package/dist/assets/TimeAgo-C6EN4lCs.js +123 -0
- package/dist/assets/ToolsSelectorModal-8QJoUvRL.js +368 -0
- package/dist/assets/TriggerPanel-B6pacLkk.js +1225 -0
- package/dist/assets/VirtualSchema-B3zGe_8b.js +2402 -0
- package/dist/assets/VirtualSchema-Dkh0Cu5z.js +37 -0
- package/dist/assets/VueMarkdown-CQqJL9vK.js +28 -0
- package/dist/assets/WorkerView-Caznsljo.js +563 -0
- package/dist/assets/WorkflowActivationErrorMessage-CGrfPi9O.js +17 -0
- package/dist/assets/WorkflowActivator-BINnz0f7.js +362 -0
- package/dist/assets/WorkflowExecutionsInfoAccordion-Dg37yEfT.js +166 -0
- package/dist/assets/WorkflowExecutionsLandingPage-V2wdubhK.js +93 -0
- package/dist/assets/WorkflowExecutionsPreview-DdJaqYV6.js +616 -0
- package/dist/assets/WorkflowExecutionsView-DV8ySTfn.js +808 -0
- package/dist/assets/WorkflowHistory-GtaBMzIM.js +973 -0
- package/dist/assets/WorkflowLocation-CQ9Sq-2y.js +164 -0
- package/dist/assets/WorkflowOnboardingView-C49gt0Jr.js +61 -0
- package/dist/assets/WorkflowPreview-CXdvv4Nq.js +186 -0
- package/dist/assets/WorkflowTagsDropdown-QwbICWjN.js +71 -0
- package/dist/assets/WorkflowsView-B-MWIECO.js +3253 -0
- package/dist/assets/_MapCache-CcdIl4Ae.js +363 -0
- package/dist/assets/_baseOrderBy-N8Be_6z6.js +2989 -0
- package/dist/assets/_initCloneObject-viQQyT6o.js +80 -0
- package/dist/assets/_plugin-vue_export-helper-BwBpWJRZ.js +6 -0
- package/dist/assets/aiTemplatesStarterCollection.store-nL9nePkK.js +656 -0
- package/dist/assets/apiKeys.store-BhOFmP2j.js +51 -0
- package/dist/assets/assistant.store-CNywgN4S.js +518 -0
- package/dist/assets/auth.eventBus-CWXS0Qp7.js +5 -0
- package/dist/assets/banners.store-CGEcBTDn.js +195 -0
- package/dist/assets/builder.store-Czk2ipDE.js +31417 -0
- package/dist/assets/buttons.esm-yintpW2E.js +364 -0
- package/dist/assets/chart-CNvyywtJ.js +10958 -0
- package/dist/assets/chartjs.utils-BAE52Cv9.js +155 -0
- package/dist/assets/chat.store-290YeyrQ.js +865 -0
- package/dist/assets/chatPanel.store-NDaawEZL.js +118 -0
- package/dist/assets/chunk-6z4oVpB-.js +36 -0
- package/dist/assets/col-Cmt4cmuS.js +158 -0
- package/dist/assets/constants-C8OH4tTq.js +106256 -0
- package/dist/assets/constants-DMrsrpD7.js +32 -0
- package/dist/assets/core-B9gt_4yk.js +4 -0
- package/dist/assets/core-CP5FY4aX.js +1202 -0
- package/dist/assets/core-CRbPymLT.js +9741 -0
- package/dist/assets/dataTable.store-DmipQsol.js +207 -0
- package/dist/assets/date-picker-2IDsBs2n.js +4115 -0
- package/dist/assets/dateFormatter-ik4-9_9r.js +33 -0
- package/dist/assets/dateformat-hG8NERse.js +181 -0
- package/dist/assets/dialog-lMho1TD8.js +425 -0
- package/dist/assets/dist-Cw46Is-h.js +151 -0
- package/dist/assets/doppler-B__k0MeW.webp +0 -0
- package/dist/assets/element-icons-B-tDfklg.woff +0 -0
- package/dist/assets/element-icons-_lZGOqcG.ttf +0 -0
- package/dist/assets/empty-BuGRxzl4.js +2210 -0
- package/dist/assets/en-CF30SCh2.js +95 -0
- package/dist/assets/en-DyO2pPiC.js +2 -0
- package/dist/assets/es-BkUFJVtD.js +43338 -0
- package/dist/assets/evaluation.constants-GYAwmJnh.js +284 -0
- package/dist/assets/executions.store-B9uRYwgv.js +205 -0
- package/dist/assets/exports-Crx_gvt_.js +1799 -0
- package/dist/assets/externalSecrets.ee.store-BJh4a_6G.js +118 -0
- package/dist/assets/fileUtils-CRWqOQje.js +20 -0
- package/dist/assets/folders.store-yAFj-5Vl.js +235 -0
- package/dist/assets/get-BcEmeOxn.js +2781 -0
- package/dist/assets/index-SL8542zQ.js +28372 -0
- package/dist/assets/insights.constants-BkJCYJTL.js +55 -0
- package/dist/assets/insights.store-BFc3kDUo.js +61 -0
- package/dist/assets/insights.utils-CcLXdrrz.js +77 -0
- package/dist/assets/isEmpty-C3XXoHqJ.js +35216 -0
- package/dist/assets/languageModules-9LyndCqU.js +13862 -0
- package/dist/assets/logStreaming.store-IZhWe_VK.js +190 -0
- package/dist/assets/mcp.constants-_Jcn7fPq.js +10 -0
- package/dist/assets/mcp.store-B9yfcAN9.js +116 -0
- package/dist/assets/merge-DhuTk1HM.js +564 -0
- package/dist/assets/nodeCreator.store-Bpnrwp2l.js +5444 -0
- package/dist/assets/nodeIcon-D6X-ENYt.js +102 -0
- package/dist/assets/nodeTransforms-RzcOM0v2.js +42 -0
- package/dist/assets/orderBy-Cu9F9DU_.js +15 -0
- package/dist/assets/path-browserify-RUt2u7iT.js +328 -0
- package/dist/assets/personalizedTemplatesV3.store-BGYp0YBN.js +334 -0
- package/dist/assets/pickBy-UI0Jt4wC.js +18 -0
- package/dist/assets/preload-helper-dyVz7ck7.js +59 -0
- package/dist/assets/radio-CSce3UT0.js +262 -0
- package/dist/assets/readyToRun.store-YEMvPUqo.js +626 -0
- package/dist/assets/readyToRunWorkflows.store-G3srgIze.js +1319 -0
- package/dist/assets/retry-BgHaYzbB.js +23 -0
- package/dist/assets/roles.store-CRf_zJTb.js +51 -0
- package/dist/assets/router-DNpzz3GH.js +2631 -0
- package/dist/assets/sanitize-html-CbW56HUN.js +10758 -0
- package/dist/assets/schemaPreview.store-DUgN1yVE.js +113 -0
- package/dist/assets/semver-Bk6DGseV.js +1306 -0
- package/dist/assets/smartDecimal-DAZl4HKA.js +6 -0
- package/dist/assets/sortByProperty-Cn7iGKYu.js +8 -0
- package/dist/assets/sourceControl.eventBus-D47xXSc_.js +3 -0
- package/dist/assets/sqlite3-DBpDb1lf.wasm +0 -0
- package/dist/assets/sqlite3-opfs-async-proxy-vVtmDGHX.js +461 -0
- package/dist/assets/sqlite3-worker1-bundler-friendly-DLarOZDL.js +9405 -0
- package/dist/assets/src-jviYSG25.js +55454 -0
- package/dist/assets/sso.store-DyApJwhx.js +139 -0
- package/dist/assets/style-E3CrYFV8.css +111829 -0
- package/dist/assets/table-we1DjFMV.js +3944 -0
- package/dist/assets/templateActions-bEDSARw2.js +65 -0
- package/dist/assets/templateTransforms-BHWiRbtR.js +43 -0
- package/dist/assets/truncate-C0KYt7i3.js +4176 -0
- package/dist/assets/typescript.worker-CYqLvLHh.js +152048 -0
- package/dist/assets/uniqBy-xDyuCRP0.js +10 -0
- package/dist/assets/usage.store-CU5J_nGm.js +100 -0
- package/dist/assets/useActions-B1JckIRj.js +255 -0
- package/dist/assets/useBeforeUnload-DiDkvI8p.js +40 -0
- package/dist/assets/useCanvasMapping-BXT7rGhC.js +12570 -0
- package/dist/assets/useCanvasOperations-8ULLtMkY.js +1765 -0
- package/dist/assets/useClipboard-DvjhVHqJ.js +39 -0
- package/dist/assets/useCommandBar-C4tLJbKt.js +2425 -0
- package/dist/assets/useCredentialResolvers-BKeFGJnY.js +78 -0
- package/dist/assets/useCustomAgent-DpILEt5e.js +471 -0
- package/dist/assets/useDebounce-Br5_1ug-.js +147 -0
- package/dist/assets/useExecutionData-M5iKsX6z.js +23 -0
- package/dist/assets/useExecutionDebugging-8azMzbnd.js +191 -0
- package/dist/assets/useExecutionHelpers-BgRRhpBM.js +91 -0
- package/dist/assets/useImportCurlCommand-CKiEmX5P.js +8891 -0
- package/dist/assets/useIntersectionObserver-BWMwOueh.js +33 -0
- package/dist/assets/useKeybindings-B2jfN6rd.js +62 -0
- package/dist/assets/useLogsTreeExpand-sZViUfdM.js +843 -0
- package/dist/assets/useMcp-DoMOIfqT.js +27 -0
- package/dist/assets/usePageRedirectionHelper-DjkznpX6.js +51 -0
- package/dist/assets/usePinnedData-BhZkqttf.js +203 -0
- package/dist/assets/usePushConnection-DMS-F_IW.js +513 -0
- package/dist/assets/useRecentResources-BVORr7eM.js +118 -0
- package/dist/assets/useRunWorkflow-LO7ffLp9.js +950 -0
- package/dist/assets/useSettingsItems-BhZXwMZn.js +144 -0
- package/dist/assets/useTelemetryContext-V6bv4YRq.js +34 -0
- package/dist/assets/useWorkflowActivate-DeSmDXjI.js +152 -0
- package/dist/assets/useWorkflowsCache-DtcEEAIR.js +179 -0
- package/dist/assets/userRoleProvisioning.store-kkSIdeTo.js +33 -0
- package/dist/assets/utils-DI7dLldp.js +54 -0
- package/dist/assets/versions.store-B1z2OrLE.js +191 -0
- package/dist/assets/vue-CydWIhxN.js +4378 -0
- package/dist/assets/vue-json-pretty-CsGX66mG.js +1130 -0
- package/dist/assets/vue.runtime.esm-bundler-tP5dCd7J.js +7325 -0
- package/dist/assets/xml-B_oj6Mle.js +2060 -0
- package/dist/favicon.ico +0 -0
- package/dist/index.html +157 -0
- package/dist/static/base-path.js +1 -0
- package/dist/static/community_package_tooltip_img.png +0 -0
- package/dist/static/data-mapping-gif.gif +0 -0
- package/dist/static/form-grey.svg +1 -0
- package/dist/static/google-auth/disabled.dark.png +0 -0
- package/dist/static/google-auth/disabled.png +0 -0
- package/dist/static/google-auth/focus.dark.png +0 -0
- package/dist/static/google-auth/focus.png +0 -0
- package/dist/static/google-auth/normal.dark.png +0 -0
- package/dist/static/google-auth/normal.png +0 -0
- package/dist/static/google-auth/pressed.dark.png +0 -0
- package/dist/static/google-auth/pressed.png +0 -0
- package/dist/static/n8n-logo.png +0 -0
- package/dist/static/og_image.png +0 -0
- package/dist/static/open-ai.svg +1 -0
- package/dist/static/openChat.png +0 -0
- package/dist/static/posthog.init.js +41 -0
- package/dist/static/prefers-color-scheme.css +5 -0
- package/dist/static/webhook-icon.svg +1 -0
- package/dist/tree-sitter-bash.wasm +0 -0
- package/dist/tree-sitter.wasm +0 -0
- package/eslint.config.mjs +59 -0
- package/index.html +45 -0
- package/index.js +0 -0
- package/package.json +147 -0
- package/postcss.config.cjs +6 -0
- package/scripts/fetch-node-popularity.mjs +102 -0
- package/stylelint.config.mjs +9 -0
- package/tailwind.config.js +8 -0
- package/tsconfig.json +36 -0
- package/vite/i18n-locales-hmr-helpers.ts +19 -0
- package/vite/source-map-js-shim.ts +1 -0
- package/vite/vite-plugin-node-popularity.mts +32 -0
- package/vite.config.mts +304 -0
|
@@ -0,0 +1,626 @@
|
|
|
1
|
+
import { C as computed, It as ref, Pt as reactive } from "./vue.runtime.esm-bundler-tP5dCd7J.js";
|
|
2
|
+
import { rt as useI18n, v as useLocalStorage } from "./core-CRbPymLT.js";
|
|
3
|
+
import { Er as useUsersStore, M as usePostHog, P as useWorkflowsStore, _n as useCredentialsStore, k as useTelemetry, m as useCloudPlanStore, ms as useSettingsStore, wc as STORES, y as useToast } from "./builder.store-Czk2ipDE.js";
|
|
4
|
+
import { _ as useRoute, v as useRouter } from "./get-BcEmeOxn.js";
|
|
5
|
+
import { Ro as VIEWS, co as OPEN_AI_API_CREDENTIAL_TYPE, pc as READY_TO_RUN_V2_P3_EXPERIMENT, wa as deepCopy } from "./constants-C8OH4tTq.js";
|
|
6
|
+
import { k as defineStore } from "./_baseOrderBy-N8Be_6z6.js";
|
|
7
|
+
import { t as useFoldersStore } from "./folders.store-yAFj-5Vl.js";
|
|
8
|
+
const READY_TO_RUN_AI_WORKFLOW = {
|
|
9
|
+
name: "AI Agent workflow",
|
|
10
|
+
meta: { templateId: "ready-to-run-ai-workflow" },
|
|
11
|
+
nodes: [
|
|
12
|
+
{
|
|
13
|
+
parameters: {
|
|
14
|
+
url: "https://www.theverge.com/rss/index.xml",
|
|
15
|
+
options: {}
|
|
16
|
+
},
|
|
17
|
+
type: "n8n-nodes-base.rssFeedReadTool",
|
|
18
|
+
typeVersion: 1.2,
|
|
19
|
+
position: [-16, 768],
|
|
20
|
+
id: "303e9b4e-cc4e-4d8a-8ede-7550f070d212",
|
|
21
|
+
name: "Get Tech News"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
parameters: {
|
|
25
|
+
toolDescription: "Reads the news",
|
|
26
|
+
url: "=https://feeds.bbci.co.uk/news/world/rss.xml",
|
|
27
|
+
options: {}
|
|
28
|
+
},
|
|
29
|
+
type: "n8n-nodes-base.rssFeedReadTool",
|
|
30
|
+
typeVersion: 1.2,
|
|
31
|
+
position: [112, 768],
|
|
32
|
+
id: "4090a753-f131-40b1-87c3-cf74d5a7e325",
|
|
33
|
+
name: "Get World News"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
parameters: { rule: { interval: [{ triggerAtHour: 7 }] } },
|
|
37
|
+
type: "n8n-nodes-base.scheduleTrigger",
|
|
38
|
+
typeVersion: 1.2,
|
|
39
|
+
position: [-560, 752],
|
|
40
|
+
id: "651543b5-0213-433f-8760-57d62b8d6d64",
|
|
41
|
+
name: "Run every day at 7AM",
|
|
42
|
+
notesInFlow: true,
|
|
43
|
+
notes: "Double-click to open"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
parameters: {
|
|
47
|
+
assignments: { assignments: [{
|
|
48
|
+
id: "85b5c530-2c13-4424-ab83-05979bc879a5",
|
|
49
|
+
name: "output",
|
|
50
|
+
value: "={{ $json.output }}",
|
|
51
|
+
type: "string"
|
|
52
|
+
}] },
|
|
53
|
+
options: {}
|
|
54
|
+
},
|
|
55
|
+
type: "n8n-nodes-base.set",
|
|
56
|
+
typeVersion: 3.4,
|
|
57
|
+
position: [160, 544],
|
|
58
|
+
id: "99f7bb9e-f8c0-43ca-a9a8-a76634ac9611",
|
|
59
|
+
name: "Output",
|
|
60
|
+
notesInFlow: true,
|
|
61
|
+
notes: "Double-click to open"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
parameters: {},
|
|
65
|
+
type: "n8n-nodes-base.manualTrigger",
|
|
66
|
+
typeVersion: 1,
|
|
67
|
+
position: [-560, 544],
|
|
68
|
+
id: "a0390291-6794-4673-9a6a-5c3d3a5d9e4b",
|
|
69
|
+
name: "Click ‘Execute workflow’ to run"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
parameters: {
|
|
73
|
+
content: "## ⚡ Start here:",
|
|
74
|
+
height: 224,
|
|
75
|
+
width: 224,
|
|
76
|
+
color: 7
|
|
77
|
+
},
|
|
78
|
+
type: "n8n-nodes-base.stickyNote",
|
|
79
|
+
typeVersion: 1,
|
|
80
|
+
position: [-624, 480],
|
|
81
|
+
id: "fac5929f-e065-4474-96b1-7bcc06834238",
|
|
82
|
+
name: "Sticky Note"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
parameters: {
|
|
86
|
+
model: {
|
|
87
|
+
__rl: true,
|
|
88
|
+
mode: "list",
|
|
89
|
+
value: "gpt-4.1-mini"
|
|
90
|
+
},
|
|
91
|
+
options: {}
|
|
92
|
+
},
|
|
93
|
+
type: "@n8n/n8n-nodes-langchain.lmChatOpenAi",
|
|
94
|
+
typeVersion: 1.2,
|
|
95
|
+
position: [-272, 768],
|
|
96
|
+
id: "b16482e8-0d48-4426-aa93-c3fee11dd3cd",
|
|
97
|
+
name: "OpenAI Model",
|
|
98
|
+
notesInFlow: true,
|
|
99
|
+
credentials: {},
|
|
100
|
+
notes: "Double-click to open"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
parameters: {
|
|
104
|
+
content: "@[youtube](cMyOkQ4N-5M)",
|
|
105
|
+
height: 512,
|
|
106
|
+
width: 902,
|
|
107
|
+
color: 7
|
|
108
|
+
},
|
|
109
|
+
type: "n8n-nodes-base.stickyNote",
|
|
110
|
+
typeVersion: 1,
|
|
111
|
+
position: [-352, -96],
|
|
112
|
+
id: "ec65e69e-77fa-4912-a4af-49e0a248e2c8",
|
|
113
|
+
name: "Sticky Note3"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
parameters: {
|
|
117
|
+
promptType: "define",
|
|
118
|
+
text: "=Summarize world news and tech news from the last 24 hours. \nSkip your comments. \nThe titles should be \"World news:\" and \"Tech news:\" \nToday is {{ $today }}",
|
|
119
|
+
options: {}
|
|
120
|
+
},
|
|
121
|
+
type: "@n8n/n8n-nodes-langchain.agent",
|
|
122
|
+
typeVersion: 2.2,
|
|
123
|
+
position: [-272, 544],
|
|
124
|
+
id: "084d56aa-d157-4964-9073-b36d9d9589c5",
|
|
125
|
+
name: "AI Summary Agent",
|
|
126
|
+
notesInFlow: true,
|
|
127
|
+
notes: "Double-click to open"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
parameters: {
|
|
131
|
+
content: "### Double click here to see the results:",
|
|
132
|
+
height: 240,
|
|
133
|
+
width: 192,
|
|
134
|
+
color: 7
|
|
135
|
+
},
|
|
136
|
+
type: "n8n-nodes-base.stickyNote",
|
|
137
|
+
typeVersion: 1,
|
|
138
|
+
position: [112, 464],
|
|
139
|
+
id: "a4b7a69a-0db8-4b9b-a81d-fd83378043a3",
|
|
140
|
+
name: "Sticky Note1"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
parameters: {
|
|
144
|
+
content: "### 📰 Daily AI Summary\n\n\nThis workflow gets the latest news and asks AI to summarize it for you.\n\n⭐ Bonus: Send the summary via email by connecting your Gmail account\n\n▶ Watch the video to get started ",
|
|
145
|
+
height: 272,
|
|
146
|
+
width: 224,
|
|
147
|
+
color: 5
|
|
148
|
+
},
|
|
149
|
+
type: "n8n-nodes-base.stickyNote",
|
|
150
|
+
typeVersion: 1,
|
|
151
|
+
position: [-624, 32],
|
|
152
|
+
id: "74d80857-5e63-47a8-8e86-8ecd10fd5f9e",
|
|
153
|
+
name: "Sticky Note2"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
parameters: {
|
|
157
|
+
subject: "Your news daily summary",
|
|
158
|
+
emailType: "text",
|
|
159
|
+
message: "={{ $json.output }}",
|
|
160
|
+
options: {}
|
|
161
|
+
},
|
|
162
|
+
type: "n8n-nodes-base.gmail",
|
|
163
|
+
typeVersion: 2.1,
|
|
164
|
+
position: [432, 544],
|
|
165
|
+
id: "45625d0d-bf26-4379-9eed-7bbc8e5d87a5",
|
|
166
|
+
name: "Send summary by email",
|
|
167
|
+
webhookId: "093b04f1-5e78-4926-9863-1b100d6f2ead",
|
|
168
|
+
notesInFlow: true,
|
|
169
|
+
credentials: {},
|
|
170
|
+
notes: "Double-click to open"
|
|
171
|
+
}
|
|
172
|
+
],
|
|
173
|
+
connections: {
|
|
174
|
+
"Get Tech News": { ai_tool: [[{
|
|
175
|
+
node: "AI Summary Agent",
|
|
176
|
+
type: "ai_tool",
|
|
177
|
+
index: 0
|
|
178
|
+
}]] },
|
|
179
|
+
"Get World News": { ai_tool: [[{
|
|
180
|
+
node: "AI Summary Agent",
|
|
181
|
+
type: "ai_tool",
|
|
182
|
+
index: 0
|
|
183
|
+
}]] },
|
|
184
|
+
"Run every day at 7AM": { main: [[{
|
|
185
|
+
node: "AI Summary Agent",
|
|
186
|
+
type: "main",
|
|
187
|
+
index: 0
|
|
188
|
+
}]] },
|
|
189
|
+
"Click ‘Execute workflow’ to run": { main: [[{
|
|
190
|
+
node: "AI Summary Agent",
|
|
191
|
+
type: "main",
|
|
192
|
+
index: 0
|
|
193
|
+
}]] },
|
|
194
|
+
"OpenAI Model": { ai_languageModel: [[{
|
|
195
|
+
node: "AI Summary Agent",
|
|
196
|
+
type: "ai_languageModel",
|
|
197
|
+
index: 0
|
|
198
|
+
}]] },
|
|
199
|
+
"AI Summary Agent": { main: [[{
|
|
200
|
+
node: "Output",
|
|
201
|
+
type: "main",
|
|
202
|
+
index: 0
|
|
203
|
+
}]] },
|
|
204
|
+
Output: { main: [[]] }
|
|
205
|
+
},
|
|
206
|
+
pinData: {}
|
|
207
|
+
};
|
|
208
|
+
const useProjectPages = () => {
|
|
209
|
+
const route = useRoute();
|
|
210
|
+
const isProjectsSubPage = computed(() => route.params?.projectId !== void 0);
|
|
211
|
+
return reactive({
|
|
212
|
+
isOverviewSubPage: computed(() => route.params?.projectId === void 0),
|
|
213
|
+
isSharedSubPage: computed(() => route.name === VIEWS.SHARED_WITH_ME || route.name === VIEWS.SHARED_WORKFLOWS || route.name === VIEWS.SHARED_CREDENTIALS),
|
|
214
|
+
isProjectsSubPage
|
|
215
|
+
});
|
|
216
|
+
};
|
|
217
|
+
function useEmptyStateDetection() {
|
|
218
|
+
const foldersStore = useFoldersStore();
|
|
219
|
+
const projectPages = useProjectPages();
|
|
220
|
+
const route = useRoute();
|
|
221
|
+
const isTrulyEmpty = (currentRoute = route) => {
|
|
222
|
+
const hasNoWorkflows = foldersStore.workflowsCountLoaded && foldersStore.totalWorkflowCount === 0;
|
|
223
|
+
const isNotInSpecificFolder = !currentRoute.params?.folderId;
|
|
224
|
+
const isMainWorkflowsPage = projectPages.isOverviewSubPage;
|
|
225
|
+
const hasSearchQuery = !!currentRoute.query?.search;
|
|
226
|
+
const hasFilters = !!(currentRoute.query?.status || currentRoute.query?.tags || currentRoute.query?.showArchived || currentRoute.query?.homeProject);
|
|
227
|
+
return hasNoWorkflows && isNotInSpecificFolder && isMainWorkflowsPage && !hasSearchQuery && !hasFilters;
|
|
228
|
+
};
|
|
229
|
+
return { isTrulyEmpty };
|
|
230
|
+
}
|
|
231
|
+
const READY_TO_RUN_WORKFLOW_V5 = {
|
|
232
|
+
name: "Chat with the news",
|
|
233
|
+
meta: { templateId: "ready-to-run-ai-workflow-v5" },
|
|
234
|
+
settings: { executionOrder: "v1" },
|
|
235
|
+
nodes: [
|
|
236
|
+
{
|
|
237
|
+
parameters: { options: {} },
|
|
238
|
+
type: "@n8n/n8n-nodes-langchain.chatTrigger",
|
|
239
|
+
typeVersion: 1.4,
|
|
240
|
+
position: [288, 0],
|
|
241
|
+
id: "261ee04a-4695-4d1a-bec3-9f86b5efd5eb",
|
|
242
|
+
name: "When chat message received",
|
|
243
|
+
webhookId: "b567d98b-aabb-4963-b0f8-6b1e8b5f8959"
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
parameters: {
|
|
247
|
+
model: {
|
|
248
|
+
__rl: true,
|
|
249
|
+
mode: "list",
|
|
250
|
+
value: "gpt-4.1-mini"
|
|
251
|
+
},
|
|
252
|
+
responsesApiEnabled: false,
|
|
253
|
+
options: {}
|
|
254
|
+
},
|
|
255
|
+
type: "@n8n/n8n-nodes-langchain.lmChatOpenAi",
|
|
256
|
+
typeVersion: 1.3,
|
|
257
|
+
position: [400, 288],
|
|
258
|
+
id: "201ee441-da46-49fc-befa-312ad4b60479",
|
|
259
|
+
name: "OpenAI Model",
|
|
260
|
+
credentials: {}
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
parameters: {},
|
|
264
|
+
type: "@n8n/n8n-nodes-langchain.memoryBufferWindow",
|
|
265
|
+
typeVersion: 1.3,
|
|
266
|
+
position: [576, 288],
|
|
267
|
+
id: "aa874554-17b1-41a1-9e1f-8c6c197e7e2f",
|
|
268
|
+
name: "Simple Memory"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
parameters: {
|
|
272
|
+
url: "https://hnrss.org/frontpage",
|
|
273
|
+
options: {}
|
|
274
|
+
},
|
|
275
|
+
type: "n8n-nodes-base.rssFeedReadTool",
|
|
276
|
+
typeVersion: 1.2,
|
|
277
|
+
position: [1120, 288],
|
|
278
|
+
id: "5788980c-2a63-40ed-a375-c68ca7a3b9c0",
|
|
279
|
+
name: "Hackernews"
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
parameters: {
|
|
283
|
+
url: "https://www.theverge.com/rss/index.xml",
|
|
284
|
+
options: {}
|
|
285
|
+
},
|
|
286
|
+
type: "n8n-nodes-base.rssFeedReadTool",
|
|
287
|
+
typeVersion: 1.2,
|
|
288
|
+
position: [960, 288],
|
|
289
|
+
id: "f250ef18-d913-4a76-a607-b1eeebcbab23",
|
|
290
|
+
name: "TheVerge"
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
parameters: {
|
|
294
|
+
url: "https://feeds.bbci.co.uk/news/rss.xml",
|
|
295
|
+
options: {}
|
|
296
|
+
},
|
|
297
|
+
type: "n8n-nodes-base.rssFeedReadTool",
|
|
298
|
+
typeVersion: 1.2,
|
|
299
|
+
position: [800, 288],
|
|
300
|
+
id: "0c375d2e-4b2d-4fa6-8b3e-31ac931117cb",
|
|
301
|
+
name: "BBC News"
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
parameters: {
|
|
305
|
+
content: "✅ This AI News agent is ready to use. Chat with it! \n✨ We gave you free OpenAI credits\n💡 Learn [how to build](https://n8n.io/workflows/6270-build-your-first-ai-agent/) your own agent ",
|
|
306
|
+
height: 80,
|
|
307
|
+
width: 448,
|
|
308
|
+
color: 4
|
|
309
|
+
},
|
|
310
|
+
type: "n8n-nodes-base.stickyNote",
|
|
311
|
+
typeVersion: 1,
|
|
312
|
+
position: [0, -176],
|
|
313
|
+
id: "052068ba-ea50-4521-9946-63ded13b23b0",
|
|
314
|
+
name: "Sticky Note2"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
parameters: { options: { systemMessage: "=News Agent\n\n# Role\n\nYou are a concise, factual news assistant with access to these RSS tools:\n\n* BBC (Global news)\n* TheVerge (Consumer tech)\n* Hacker News (Tech discussions)\n\nYou always keep replies **short and focused (maximum 100 words total)**.\n\n# Behavior\n\n* On the first message only, greet the user and say you can search recent news.\n* When the user asks for news, always check all RSS tools and combine results from multiple feeds if relevant, but surface only the **top 1 to 5 most relevant items**.\n* Never invent information. Only use content found in the tools.\n\n# Answer Format\n\n* **Maximum 100 words per reply** (including any follow-up sentence).\n* Start with **one short intro sentence**.\n* Then provide **3–5 bullet points**, each a **single short sentence**.\n* Use short, clear sentences.\n* Add a link to the original article or source in at least one bullet.\n* Include a section **“Sources checked:”** listing the feeds used (e.g., “Sources checked: BBC, TheVerge”).\n\n# Edge Cases\n\n* If you find too little information, say so and suggest adding more news sources to the agent.\n* If the user asks you to build workflows or do non-news tasks, say you are only a news agent and point them to n8n’s AI Workflow Builder (✨ icon) and the docs: [https://docs.n8n.io/advanced-ai/ai-workflow-builder/](https://docs.n8n.io/advanced-ai/ai-workflow-builder/)\n* If the user asks for opinions or predictions, stay neutral and summarize facts only.\n* After sharing news results with the user for the first time, mention that they can also get AI-summarized news by email using this template: https://n8n.io/workflows/6270-build-your-first-ai-agent/. Only make this suggestion once in the entire chat history, not after every question (check your previous responses to make sure you don't repeat the suggestion).\n\n# Date\n\nToday is {{ $today }}\n" } },
|
|
318
|
+
type: "@n8n/n8n-nodes-langchain.agent",
|
|
319
|
+
typeVersion: 3,
|
|
320
|
+
position: [608, 0],
|
|
321
|
+
id: "e481d1a1-3a3d-4583-98ae-87a9b39471a8",
|
|
322
|
+
name: "AI Agent"
|
|
323
|
+
}
|
|
324
|
+
],
|
|
325
|
+
pinData: {},
|
|
326
|
+
connections: {
|
|
327
|
+
"When chat message received": { main: [[{
|
|
328
|
+
node: "AI Agent",
|
|
329
|
+
type: "main",
|
|
330
|
+
index: 0
|
|
331
|
+
}]] },
|
|
332
|
+
"OpenAI Model": { ai_languageModel: [[{
|
|
333
|
+
node: "AI Agent",
|
|
334
|
+
type: "ai_languageModel",
|
|
335
|
+
index: 0
|
|
336
|
+
}]] },
|
|
337
|
+
"Simple Memory": { ai_memory: [[{
|
|
338
|
+
node: "AI Agent",
|
|
339
|
+
type: "ai_memory",
|
|
340
|
+
index: 0
|
|
341
|
+
}]] },
|
|
342
|
+
Hackernews: { ai_tool: [[{
|
|
343
|
+
node: "AI Agent",
|
|
344
|
+
type: "ai_tool",
|
|
345
|
+
index: 0
|
|
346
|
+
}]] },
|
|
347
|
+
TheVerge: { ai_tool: [[{
|
|
348
|
+
node: "AI Agent",
|
|
349
|
+
type: "ai_tool",
|
|
350
|
+
index: 0
|
|
351
|
+
}]] },
|
|
352
|
+
"BBC News": { ai_tool: [[{
|
|
353
|
+
node: "AI Agent",
|
|
354
|
+
type: "ai_tool",
|
|
355
|
+
index: 0
|
|
356
|
+
}]] }
|
|
357
|
+
}
|
|
358
|
+
};
|
|
359
|
+
const READY_TO_RUN_WORKFLOW_V6 = {
|
|
360
|
+
name: "Chat with the news",
|
|
361
|
+
meta: { templateId: "ready-to-run-ai-workflow-v6" },
|
|
362
|
+
settings: { executionOrder: "v1" },
|
|
363
|
+
nodes: [
|
|
364
|
+
{
|
|
365
|
+
parameters: { options: {} },
|
|
366
|
+
type: "@n8n/n8n-nodes-langchain.chatTrigger",
|
|
367
|
+
typeVersion: 1.4,
|
|
368
|
+
position: [-160, 64],
|
|
369
|
+
id: "6f4d9435-be4c-48a6-89a2-9a24cdf68d40",
|
|
370
|
+
name: "When chat message received",
|
|
371
|
+
webhookId: "b567d98b-aabb-4963-b0f8-6b1e8b5f8959"
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
parameters: {
|
|
375
|
+
model: {
|
|
376
|
+
__rl: true,
|
|
377
|
+
mode: "list",
|
|
378
|
+
value: "gpt-4.1-mini"
|
|
379
|
+
},
|
|
380
|
+
responsesApiEnabled: false,
|
|
381
|
+
options: {}
|
|
382
|
+
},
|
|
383
|
+
type: "@n8n/n8n-nodes-langchain.lmChatOpenAi",
|
|
384
|
+
typeVersion: 1.3,
|
|
385
|
+
position: [-16, 384],
|
|
386
|
+
id: "f9b6e5c5-36d1-415f-9c5c-79fb79787207",
|
|
387
|
+
name: "OpenAI Model",
|
|
388
|
+
credentials: {}
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
parameters: {},
|
|
392
|
+
type: "@n8n/n8n-nodes-langchain.memoryBufferWindow",
|
|
393
|
+
typeVersion: 1.3,
|
|
394
|
+
position: [160, 384],
|
|
395
|
+
id: "81e7b833-c47b-44f7-950d-8d035fcb2205",
|
|
396
|
+
name: "Simple Memory"
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
parameters: {
|
|
400
|
+
url: "https://hnrss.org/frontpage",
|
|
401
|
+
options: {}
|
|
402
|
+
},
|
|
403
|
+
type: "n8n-nodes-base.rssFeedReadTool",
|
|
404
|
+
typeVersion: 1.2,
|
|
405
|
+
position: [432, 384],
|
|
406
|
+
id: "3677c36a-813b-407b-9fdc-38565c6f73e9",
|
|
407
|
+
name: "Hackernews"
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
parameters: {
|
|
411
|
+
url: "https://www.theverge.com/rss/index.xml",
|
|
412
|
+
options: {}
|
|
413
|
+
},
|
|
414
|
+
type: "n8n-nodes-base.rssFeedReadTool",
|
|
415
|
+
typeVersion: 1.2,
|
|
416
|
+
position: [592, 384],
|
|
417
|
+
id: "e1eaf4ea-0a02-44fd-b0c8-13505ad5bd22",
|
|
418
|
+
name: "TheVerge"
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
parameters: {
|
|
422
|
+
url: "https://feeds.bbci.co.uk/news/rss.xml",
|
|
423
|
+
options: {}
|
|
424
|
+
},
|
|
425
|
+
type: "n8n-nodes-base.rssFeedReadTool",
|
|
426
|
+
typeVersion: 1.2,
|
|
427
|
+
position: [752, 384],
|
|
428
|
+
id: "ee0b9c96-e66d-47e3-9122-0ca998caf687",
|
|
429
|
+
name: "BBC News"
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
parameters: {
|
|
433
|
+
content: "✅ This AI News agent is ready to use. Chat with it! \n✨ We gave you free OpenAI credits\n💡 Next: [Connect a Google Sheet](https://n8n.io/workflows/7639-talk-to-your-google-sheets-using-chatgpt-5/) to chat with your data",
|
|
434
|
+
height: 80,
|
|
435
|
+
width: 448,
|
|
436
|
+
color: 4
|
|
437
|
+
},
|
|
438
|
+
type: "n8n-nodes-base.stickyNote",
|
|
439
|
+
typeVersion: 1,
|
|
440
|
+
position: [-416, -112],
|
|
441
|
+
id: "99944422-2269-4952-bd31-715ec0eb5bb4",
|
|
442
|
+
name: "Sticky Note2"
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
parameters: {
|
|
446
|
+
documentId: {
|
|
447
|
+
__rl: true,
|
|
448
|
+
mode: "list",
|
|
449
|
+
value: ""
|
|
450
|
+
},
|
|
451
|
+
sheetName: {
|
|
452
|
+
__rl: true,
|
|
453
|
+
mode: "list",
|
|
454
|
+
value: ""
|
|
455
|
+
}
|
|
456
|
+
},
|
|
457
|
+
type: "n8n-nodes-base.googleSheetsTool",
|
|
458
|
+
typeVersion: 4.7,
|
|
459
|
+
position: [896, 384],
|
|
460
|
+
id: "fc10c8a7-6621-4e7d-937f-6cb1e03bc057",
|
|
461
|
+
name: "Google Sheets",
|
|
462
|
+
credentials: {}
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
parameters: { options: { systemMessage: "=News Agent\n\n# Role\n\nYou are a concise, factual news assistant with access to these RSS tools:\n\n* BBC (Global news)\n* TheVerge (Consumer tech)\n* Hacker News (Tech discussions)\n\nYou always keep replies **short and focused (maximum 100 words total)**.\n\n# Behavior\n\n* On the first message only, greet the user and say you can search recent news.\n* When the user asks for news, always check all RSS tools and combine results from multiple feeds if relevant, but surface only the **top 1 - 5 most relevant items**.\n* Never invent information. Only use content found in the tools.\n\n# Answer Format\n\n* **Maximum 100 words per reply** (including any follow-up sentence).\n* Start with **one short intro sentence**.\n* Then provide **3–5 bullet points**, each a **single short sentence**.\n* Use short, clear sentences.\n* Add a link to the original article or source in at least one bullet.\n\n# Edge Cases\n\n* If you find too little information, say so and suggest adding more news sources to the agent.\n* If the user asks you to build workflows or do non-news tasks, say you are only a news agent and point them to n8n’s AI Workflow Builder (✨ icon) and the docs: [https://docs.n8n.io/advanced-ai/ai-workflow-builder/](https://docs.n8n.io/advanced-ai/ai-workflow-builder/)\n* If the user asks for opinions or predictions, stay neutral and summarize facts only.\n* After sharing news results with the user for the first time, ask the user if they want to connect one of their Google Sheets so that they can chat with their own data. Only make this suggestion once in the entire chat history. If they say yes, provide these instructions:\n\n1. Connect the Google Sheets node to the AI Agent in the same way as the RSS nodes.\n2. Open the Google Sheets node and connect your Google account.\n3. Pick your Spreadsheet and Sheet from the dropdowns.\n\n\n# Date\n\nToday is {{ $today }}\n" } },
|
|
466
|
+
type: "@n8n/n8n-nodes-langchain.agent",
|
|
467
|
+
typeVersion: 3,
|
|
468
|
+
position: [192, 64],
|
|
469
|
+
id: "ce5dd204-b9d3-4455-ab0c-0c2ce314ad52",
|
|
470
|
+
name: "AI Agent"
|
|
471
|
+
}
|
|
472
|
+
],
|
|
473
|
+
pinData: {},
|
|
474
|
+
connections: {
|
|
475
|
+
"When chat message received": { main: [[{
|
|
476
|
+
node: "AI Agent",
|
|
477
|
+
type: "main",
|
|
478
|
+
index: 0
|
|
479
|
+
}]] },
|
|
480
|
+
"OpenAI Model": { ai_languageModel: [[{
|
|
481
|
+
node: "AI Agent",
|
|
482
|
+
type: "ai_languageModel",
|
|
483
|
+
index: 0
|
|
484
|
+
}]] },
|
|
485
|
+
"Simple Memory": { ai_memory: [[{
|
|
486
|
+
node: "AI Agent",
|
|
487
|
+
type: "ai_memory",
|
|
488
|
+
index: 0
|
|
489
|
+
}]] },
|
|
490
|
+
Hackernews: { ai_tool: [[{
|
|
491
|
+
node: "AI Agent",
|
|
492
|
+
type: "ai_tool",
|
|
493
|
+
index: 0
|
|
494
|
+
}]] },
|
|
495
|
+
TheVerge: { ai_tool: [[{
|
|
496
|
+
node: "AI Agent",
|
|
497
|
+
type: "ai_tool",
|
|
498
|
+
index: 0
|
|
499
|
+
}]] },
|
|
500
|
+
"BBC News": { ai_tool: [[{
|
|
501
|
+
node: "AI Agent",
|
|
502
|
+
type: "ai_tool",
|
|
503
|
+
index: 0
|
|
504
|
+
}]] },
|
|
505
|
+
"Google Sheets": { ai_tool: [[]] }
|
|
506
|
+
}
|
|
507
|
+
};
|
|
508
|
+
const useReadyToRunWorkflowsV2Store = defineStore(STORES.EXPERIMENT_READY_TO_RUN_WORKFLOWS_V2, () => {
|
|
509
|
+
const posthogStore = usePostHog();
|
|
510
|
+
const cloudPlanStore = useCloudPlanStore();
|
|
511
|
+
const currentVariant = computed(() => posthogStore.getVariant(READY_TO_RUN_V2_P3_EXPERIMENT.name));
|
|
512
|
+
const isVariant5 = computed(() => currentVariant.value === READY_TO_RUN_V2_P3_EXPERIMENT.variant5);
|
|
513
|
+
const isVariant6 = computed(() => currentVariant.value === READY_TO_RUN_V2_P3_EXPERIMENT.variant6);
|
|
514
|
+
const isFeatureEnabled = computed(() => cloudPlanStore.userIsTrialing && (isVariant5.value || isVariant6.value));
|
|
515
|
+
const getWorkflowForVariant = () => {
|
|
516
|
+
if (!isFeatureEnabled.value) return;
|
|
517
|
+
if (isVariant5.value) return READY_TO_RUN_WORKFLOW_V5;
|
|
518
|
+
if (isVariant6.value) return READY_TO_RUN_WORKFLOW_V6;
|
|
519
|
+
};
|
|
520
|
+
return {
|
|
521
|
+
currentVariant,
|
|
522
|
+
getWorkflowForVariant,
|
|
523
|
+
isFeatureEnabled
|
|
524
|
+
};
|
|
525
|
+
});
|
|
526
|
+
var LOCAL_STORAGE_CREDENTIAL_KEY = "N8N_READY_TO_RUN_OPENAI_CREDENTIAL_ID";
|
|
527
|
+
const useReadyToRunStore = defineStore(STORES.READY_TO_RUN, () => {
|
|
528
|
+
const telemetry = useTelemetry();
|
|
529
|
+
const i18n = useI18n();
|
|
530
|
+
const toast = useToast();
|
|
531
|
+
const router = useRouter();
|
|
532
|
+
const credentialsStore = useCredentialsStore();
|
|
533
|
+
const usersStore = useUsersStore();
|
|
534
|
+
const settingsStore = useSettingsStore();
|
|
535
|
+
const workflowsStore = useWorkflowsStore();
|
|
536
|
+
const readyToRunWorkflowsV2Store = useReadyToRunWorkflowsV2Store();
|
|
537
|
+
const claimedCredentialIdRef = useLocalStorage(LOCAL_STORAGE_CREDENTIAL_KEY, "");
|
|
538
|
+
const claimingCredits = ref(false);
|
|
539
|
+
const userHasOpenAiCredentialAlready = computed(() => !!credentialsStore.allCredentials.filter((credential) => credential.type === OPEN_AI_API_CREDENTIAL_TYPE).length);
|
|
540
|
+
const userHasClaimedAiCreditsAlready = computed(() => !!usersStore.currentUser?.settings?.userClaimedAiCredits);
|
|
541
|
+
const userCanClaimOpenAiCredits = computed(() => {
|
|
542
|
+
return settingsStore.isAiCreditsEnabled && !userHasOpenAiCredentialAlready.value && !userHasClaimedAiCreditsAlready.value;
|
|
543
|
+
});
|
|
544
|
+
const trackExecuteAiWorkflow = (status) => {
|
|
545
|
+
telemetry.track("User executed ready to run AI workflow", { status });
|
|
546
|
+
};
|
|
547
|
+
const trackExecuteAiWorkflowSuccess = () => {
|
|
548
|
+
telemetry.track("User executed ready to run AI workflow successfully");
|
|
549
|
+
};
|
|
550
|
+
const claimFreeAiCredits = async (projectId) => {
|
|
551
|
+
claimingCredits.value = true;
|
|
552
|
+
try {
|
|
553
|
+
const credential = await credentialsStore.claimFreeAiCredits(projectId);
|
|
554
|
+
claimedCredentialIdRef.value = credential.id;
|
|
555
|
+
telemetry.track("User claimed OpenAI credits");
|
|
556
|
+
return credential;
|
|
557
|
+
} catch (e) {
|
|
558
|
+
toast.showError(e, i18n.baseText("freeAi.credits.showError.claim.title"), i18n.baseText("freeAi.credits.showError.claim.message"));
|
|
559
|
+
throw e;
|
|
560
|
+
} finally {
|
|
561
|
+
claimingCredits.value = false;
|
|
562
|
+
}
|
|
563
|
+
};
|
|
564
|
+
const getReadyToRunWorkflowTemplate = () => {
|
|
565
|
+
return readyToRunWorkflowsV2Store.getWorkflowForVariant() ?? READY_TO_RUN_AI_WORKFLOW;
|
|
566
|
+
};
|
|
567
|
+
const createAndOpenAiWorkflow = async (source, parentFolderId) => {
|
|
568
|
+
telemetry.track("User opened ready to run AI workflow", { source });
|
|
569
|
+
try {
|
|
570
|
+
let workflowToCreate = {
|
|
571
|
+
...getReadyToRunWorkflowTemplate(),
|
|
572
|
+
parentFolderId
|
|
573
|
+
};
|
|
574
|
+
const credentialId = claimedCredentialIdRef.value;
|
|
575
|
+
if (credentialId && workflowToCreate.nodes) {
|
|
576
|
+
const clonedWorkflow = deepCopy(workflowToCreate);
|
|
577
|
+
const openAiNode = clonedWorkflow.nodes?.find((node) => node.name === "OpenAI Model");
|
|
578
|
+
if (openAiNode) {
|
|
579
|
+
openAiNode.credentials ??= {};
|
|
580
|
+
openAiNode.credentials[OPEN_AI_API_CREDENTIAL_TYPE] = {
|
|
581
|
+
id: credentialId,
|
|
582
|
+
name: ""
|
|
583
|
+
};
|
|
584
|
+
}
|
|
585
|
+
workflowToCreate = clonedWorkflow;
|
|
586
|
+
}
|
|
587
|
+
const createdWorkflow = await workflowsStore.createNewWorkflow(workflowToCreate);
|
|
588
|
+
await router.push({
|
|
589
|
+
name: VIEWS.WORKFLOW,
|
|
590
|
+
params: { name: createdWorkflow.id }
|
|
591
|
+
});
|
|
592
|
+
return createdWorkflow;
|
|
593
|
+
} catch (error) {
|
|
594
|
+
toast.showError(error, i18n.baseText("generic.error"));
|
|
595
|
+
throw error;
|
|
596
|
+
}
|
|
597
|
+
};
|
|
598
|
+
const claimCreditsAndOpenWorkflow = async (source, parentFolderId, projectId) => {
|
|
599
|
+
await claimFreeAiCredits(projectId);
|
|
600
|
+
await createAndOpenAiWorkflow(source, parentFolderId);
|
|
601
|
+
if (usersStore?.currentUser?.settings) usersStore.currentUser.settings.userClaimedAiCredits = true;
|
|
602
|
+
};
|
|
603
|
+
const getCardVisibility = (canCreate, readOnlyEnv) => {
|
|
604
|
+
return userCanClaimOpenAiCredits.value && !readOnlyEnv && canCreate;
|
|
605
|
+
};
|
|
606
|
+
const getButtonVisibility = (hasWorkflows, canCreate, readOnlyEnv) => {
|
|
607
|
+
return userCanClaimOpenAiCredits.value && !readOnlyEnv && canCreate && hasWorkflows;
|
|
608
|
+
};
|
|
609
|
+
const { isTrulyEmpty } = useEmptyStateDetection();
|
|
610
|
+
const getSimplifiedLayoutVisibility = (route) => {
|
|
611
|
+
return isTrulyEmpty(route);
|
|
612
|
+
};
|
|
613
|
+
return {
|
|
614
|
+
claimingCredits,
|
|
615
|
+
userCanClaimOpenAiCredits,
|
|
616
|
+
claimFreeAiCredits,
|
|
617
|
+
createAndOpenAiWorkflow,
|
|
618
|
+
claimCreditsAndOpenWorkflow,
|
|
619
|
+
getCardVisibility,
|
|
620
|
+
getButtonVisibility,
|
|
621
|
+
getSimplifiedLayoutVisibility,
|
|
622
|
+
trackExecuteAiWorkflow,
|
|
623
|
+
trackExecuteAiWorkflowSuccess
|
|
624
|
+
};
|
|
625
|
+
});
|
|
626
|
+
export { useProjectPages as n, useReadyToRunStore as t };
|