@mindexec/cli 0.2.359 → 0.2.360
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/package.json +1 -1
- package/wwwroot/assets/{AdminDashboardPage-BgS5FRMr.js → AdminDashboardPage-D8CdgCG3.js} +1 -1
- package/wwwroot/assets/{AppSidebar-7gwE93h0.js → AppSidebar-CqkRTasO.js} +1 -1
- package/wwwroot/assets/AuthPages-CmAHlBT8.js +1 -0
- package/wwwroot/assets/{MindCanvas-BUmfFh7Q.js → MindCanvas-DMxa5cKY.js} +1 -1
- package/wwwroot/assets/{PricingPage-Bn2RPoYf.js → PricingPage-CADslKZR.js} +1 -1
- package/wwwroot/assets/{index-CnxgrZfY.js → index-gjNKWU_x.js} +2 -2
- package/wwwroot/assets/{supabaseAuthAdapter-C3z334Qw.js → supabaseAuthAdapter-Bptc9G29.js} +13 -13
- package/wwwroot/index.html +1 -1
- package/wwwroot/assets/AuthPages-Cq2TSrOI.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/supabaseAuthAdapter-
|
|
2
|
-
var F=Object.defineProperty;var V=(e,t,a)=>t in e?F(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var x=(e,t,a)=>V(e,typeof t!="symbol"?t+"":t,a);import{r as i,j as n,R as W}from"./vendor-react-BXzpOyCS.js";import{R as g,i as q}from"./app-runtime-xD2Z3NdN.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const d of o)if(d.type==="childList")for(const u of d.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&r(u)}).observe(document,{childList:!0,subtree:!0});function a(o){const d={};return o.integrity&&(d.integrity=o.integrity),o.referrerPolicy&&(d.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?d.credentials="include":o.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function r(o){if(o.ep)return;o.ep=!0;const d=a(o);fetch(o.href,d)}})();const G="modulepreload",Y=function(e){return"/"+e},U={},f=function(t,a,r){let o=Promise.resolve();if(a&&a.length>0){let u=function(p){return Promise.all(p.map(c=>Promise.resolve(c).then(y=>({status:"fulfilled",value:y}),y=>({status:"rejected",reason:y}))))};document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),h=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));o=u(a.map(p=>{if(p=Y(p),p in U)return;U[p]=!0;const c=p.endsWith(".css"),y=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${p}"]${y}`))return;const m=document.createElement("link");if(m.rel=c?"stylesheet":G,c||(m.as="script"),m.crossOrigin="",m.href=p,h&&m.setAttribute("nonce",h),document.head.appendChild(m),c)return new Promise((b,w)=>{m.addEventListener("load",b),m.addEventListener("error",()=>w(new Error(`Unable to preload CSS for ${p}`)))})}))}function d(u){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=u,window.dispatchEvent(s),!s.defaultPrevented)throw u}return o.then(u=>{for(const s of u||[])s.status==="rejected"&&d(s.reason);return t().catch(d)})},I="mindexec-react-auth-shell-v1",X="mindexec-react-auth-shell-session-changed",J="supabase-callback@mindexec.local";function Q(e){const t=e;return!!(t&&typeof t=="object"&&typeof t.userId=="string"&&typeof t.email=="string"&&t.provider==="Google"&&typeof t.signedInAt=="string")}function Z(e){const t=e.toLowerCase();return t.includes("access_token=")||t.includes("refresh_token=")||t.includes("provider_token=")||t.includes("provider_refresh_token=")||t.includes("expires_in=")||t.includes("token_type=")||t.includes("type=recovery")||t.includes("type=invite")||t.includes("error=")||t.includes("error_description=")||t.includes("code=")}function ee(e){const t=e.split("=",2)[0].toLowerCase();return t==="access_token"||t==="refresh_token"||t==="provider_token"||t==="provider_refresh_token"||t==="expires_in"||t==="expires_at"||t==="token_type"||t==="type"||t==="error"||t==="error_code"||t==="error_description"||t==="code"}function D(e){const t=e.trim().replace(/^[?#]/,"");return t?t.split("&").filter(Boolean).filter(r=>!ee(r)).join("&"):""}function te(e){const t=(e||"").trim();if(!t||!t.startsWith("/")||t.startsWith("//")||t.includes("\\"))return"";try{const a=new URL(t,window.location.origin);return a.origin!==window.location.origin?"":`${a.pathname}${a.search}${a.hash}`}catch{return""}}function ae(e){const t=new URL(e,window.location.origin),a=`${t.search}&${t.hash}`,r=Z(a);if(!r)return{hasAuthPayload:!1,cleanedPath:`${t.pathname}${t.search}${t.hash}`,shouldCreateLocalShell:!1,shouldRouteToMindCanvas:!1,hasError:!1,hasRecovery:!1,hasInvite:!1,hasCode:!1,hasToken:!1};const o=D(t.search),d=D(t.hash),u=/(?:^|[&#?])error=/i.test(a)||/(?:^|[&#?])error_description=/i.test(a),s=/(?:^|[&#?])type=recovery(?:&|$)/i.test(a),h=/(?:^|[&#?])type=invite(?:&|$)/i.test(a),p=/(?:^|[&#?])code=/i.test(a),c=/(?:^|[&#?])(?:access_token|refresh_token)=/i.test(a),y=te(t.searchParams.get("next"));let m=`${t.pathname}${o?`?${o}`:""}${d?`#${d}`:""}`;const b=t.pathname==="/"||t.pathname==="",w=t.pathname==="/login",E=!u&&!s&&!h&&(p||c),l=E&&!y&&(b||w);if(y&&E)m=y;else if(l){const v=new URLSearchParams(o);v.delete("next");const j=v.toString();m=`/mindcanvas${j?`?${j}`:""}`}return{hasAuthPayload:r,cleanedPath:m,shouldCreateLocalShell:!u&&!s&&!h&&(p||c),shouldRouteToMindCanvas:l,hasError:u,hasRecovery:s,hasInvite:h,hasCode:p,hasToken:c}}function oe(e){return`local-google-${e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-")||"user"}`}function ne(e){try{window.dispatchEvent(new CustomEvent(X,{detail:{signedIn:!!e,source:(e==null?void 0:e.source)??"cleared",hasEmail:!!(e!=null&&e.email)}}))}catch{}}function et(){try{const e=window.localStorage.getItem(I);if(!e)return null;const t=JSON.parse(e);return Q(t)?t:null}catch{return null}}function re(e="builder@mindexec.local",t="manual-google-shell"){const a=e.trim().toLowerCase()||"builder@mindexec.local",r={userId:typeof crypto<"u"&&"randomUUID"in crypto?`local-google-${crypto.randomUUID()}`:oe(a),email:a,provider:"Google",signedInAt:new Date().toISOString(),source:t};return O(r)}function O(e){try{window.localStorage.setItem(I,JSON.stringify(e))}catch{}return g.emit(e.source==="supabase-provider-session"?"auth.supabase.sessionShell":"auth.google.localShell",{provider:e.provider,hasEmail:!!e.email,source:e.source}),ne(e),e}const se={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1},ie="mindexec-production-adapter-runtime-env-loaded";function le(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function k(e,t){let a=e;for(const r of t){if(!le(a))return"";a=a[r]}return typeof a=="string"?a.trim():""}function S(e,t,a){a&&(e[t]=a)}function ce(e){const t={},a=k(e,["Supabase","Url"]),r=k(e,["Supabase","PublishableKey"])||k(e,["Supabase","Key"])||k(e,["Supabase","AnonKey"]),o=k(e,["CloudflareR2","PublicBaseUrl"])||k(e,["CloudStorage","PublicBaseUrl"])||k(e,["CloudStorage","PublicUrl"]);return S(t,"VITE_MINDEXEC_SUPABASE_URL",a),S(t,"VITE_MINDEXEC_SUPABASE_PUBLISHABLE_KEY",r),S(t,"VITE_MINDEXEC_CLOUD_STORAGE_PUBLIC_URL",o),t}function de(){return se??{}}function H(){return typeof window>"u"?{}:window.__MINDEXEC_PRODUCTION_ADAPTER_RUNTIME_ENV__??{}}function ue(e){if(!(typeof window>"u")){window.__MINDEXEC_PRODUCTION_ADAPTER_RUNTIME_ENV__={...H(),...e};try{window.dispatchEvent(new CustomEvent(ie,{detail:{keys:Object.keys(e).sort()}}))}catch{}}}function _(){return{...H(),...de()}}let T=null;async function pe(e=typeof fetch=="function"?fetch.bind(globalThis):null){return typeof window>"u"||!e?_():T||(T=(async()=>{try{const t=await e("/appsettings.json",{cache:"no-store",credentials:"same-origin"});if(!t.ok)return g.emit("productionAdapter.runtimeConfig.skipped",{source:"appsettings.json",reason:`http-${t.status}`}),_();const a=t.headers.get("content-type")||"";if(a&&!a.toLowerCase().includes("json"))return g.emit("productionAdapter.runtimeConfig.skipped",{source:"appsettings.json",reason:"non-json-response"}),_();const r=await t.json(),o=ce(r);return ue(o),g.emit("productionAdapter.runtimeConfig.loaded",{source:"appsettings.json",keys:Object.keys(o).sort()}),_()}catch(t){return g.emit("productionAdapter.runtimeConfig.skipped",{source:"appsettings.json",reason:t instanceof Error?t.message:String(t)}),_()}})(),T)}function me({onRouteReplaced:e}){const t=i.useRef(!1);return i.useEffect(()=>{if(t.current)return;t.current=!0,(async()=>{const r=window.location.href,o=ae(r);if(!o.hasAuthPayload)return;const d=_();let u={mode:"not-checked",canAttempt:!1},s=!1,h="",p=!1,c=null;if(!o.hasError&&!o.hasRecovery&&!o.hasInvite&&(o.hasCode||o.hasToken)){const{completeSupabaseAuthCallback:m,resolveSupabaseAuthAdapterState:b}=await f(async()=>{const{completeSupabaseAuthCallback:w,resolveSupabaseAuthAdapterState:E}=await import("./supabaseAuthAdapter-C3z334Qw.js").then(l=>l.c);return{completeSupabaseAuthCallback:w,resolveSupabaseAuthAdapterState:E}},__vite__mapDeps([0,1]));u=b(d),p=u.canAttempt,c=m}if(p&&c)try{const m=await c(d,r);m.session&&(O({...m.session,source:"supabase-provider-session"}),s=!0)}catch(m){h=m instanceof Error?m.message:String(m)}else o.shouldCreateLocalShell&&re(J,"supabase-callback-shell");g.emit(o.hasError||h?"auth.callback.error":"auth.callback.cleaned",{cleanedPath:o.cleanedPath,shouldCreateLocalShell:!p&&o.shouldCreateLocalShell,shouldRouteToMindCanvas:o.shouldRouteToMindCanvas,hasCode:o.hasCode,hasToken:o.hasToken,hasRecovery:o.hasRecovery,hasInvite:o.hasInvite,providerMode:u.mode,providerAttempted:p,providerSessionCreated:s,providerError:h});const y=`${window.location.pathname}${window.location.search}${window.location.hash}`;o.cleanedPath!==y&&(window.history.replaceState({authCallbackCleaned:!0},"",o.cleanedPath),e("auth-callback-bootstrap"))})()},[e]),null}class he extends i.Component{constructor(){super(...arguments);x(this,"state",{error:null});x(this,"retry",()=>{this.setState({error:null}),g.emit("runtime.errorBoundary.reset",{resetKey:this.props.resetKey,reason:"manual-retry"})})}static getDerivedStateFromError(a){return{error:a}}componentDidCatch(a,r){const o=(a==null?void 0:a.message)||"Unknown runtime error.";g.emit("runtime.errorBoundary.caught",{resetKey:this.props.resetKey,message:o,stack:(a==null?void 0:a.stack)||"",componentStack:r.componentStack}),console.error("[LoggingErrorBoundary] Unhandled React error.",a,r)}componentDidUpdate(a){a.resetKey!==this.props.resetKey&&this.state.error&&(this.setState({error:null}),g.emit("runtime.errorBoundary.reset",{from:a.resetKey,to:this.props.resetKey,reason:"route-change"}))}render(){const{error:a}=this.state;return a?n.jsx("div",{className:"page runtime-error-page","data-testid":"runtime-error-boundary","data-error-boundary-reset-key":this.props.resetKey,children:n.jsxs("section",{className:"execution-panel",children:[n.jsx("div",{className:"eyebrow",children:"Runtime Guard"}),n.jsx("h1",{children:"Something broke inside this React surface."}),n.jsx("p",{children:"The error was captured locally so the whole app shell can stay recoverable."}),n.jsxs("div",{className:"runtime-error-message","data-testid":"runtime-error-boundary-message",children:[n.jsx("span",{className:"runtime-error-symbol","aria-hidden":"true",children:"!"}),n.jsx("span",{children:a.message||"Unknown runtime error."})]}),n.jsxs("div",{className:"action-row",children:[n.jsx("button",{className:"btn btn-primary",type:"button",onClick:this.retry,"data-testid":"runtime-error-boundary-retry",children:"Retry"}),this.props.onNavigateHome&&n.jsx("button",{className:"btn btn-secondary",type:"button",onClick:this.props.onNavigateHome,"data-testid":"runtime-error-boundary-home",children:"MindCanvas"})]})]})}):this.props.children}}const ge="main",fe="h1",A="data-route-focus-target",ye=30;function be({route:e,rootSelector:t=ge,selector:a=fe}){return i.useEffect(()=>{let r=!1,o=0;const d=u=>{if(r)return;const s=document.querySelector(t),h=(s==null?void 0:s.querySelector(a))??document.querySelector(a);for(const p of document.querySelectorAll(`[${A}="true"]`))p.removeAttribute(A);if(!h){if(u<ye){o=window.requestAnimationFrame(()=>d(u+1));return}g.emit("route.focusOnNavigate.skipped",{route:e,selector:a,reason:"missing-target",attempts:u});return}h.hasAttribute("tabindex")||h.setAttribute("tabindex","-1"),h.setAttribute(A,"true"),h.focus({preventScroll:!1}),g.emit("route.focusOnNavigate.applied",{route:e,selector:a,tagName:h.tagName.toLowerCase(),text:(h.textContent||"").trim().slice(0,90),attempts:u})};return o=window.requestAnimationFrame(()=>d(1)),()=>{r=!0,window.cancelAnimationFrame(o)}},[e,t,a]),null}const ve=[{key:"markdown-viewer",liveUrl:"https://mdview-die.pages.dev",hostnames:["mdview.pages.dev","mdview-die.pages.dev","mdview.mindexec.io","markdown-viewer.pages.dev","markdown-viewer.mindexec.io"],title:"Free Online Markdown Viewer",heroEyebrow:"Free online markdown viewer",heroTitle:"Preview Markdown instantly in your browser",heroSubtitle:"Paste or open a markdown file, review the rendered result, and move bigger writing work into MindCanvas when it needs structure.",privacyNote:"Runs locally in your browser. No upload required."},{key:"bulk-markdown-viewer",liveUrl:"https://bulkmd.pages.dev",hostnames:["bulkmd.pages.dev","bulkmd.mindexec.io","bulk-markdown-viewer.pages.dev","bulk-markdown-viewer.mindexec.io"],title:"Bulk Markdown Viewer",heroEyebrow:"Bulk markdown preview",heroTitle:"Review multiple markdown snippets at once",heroSubtitle:"Paste a stack of markdown entries and scan them locally before turning the useful pieces into a MindCanvas board.",privacyNote:"Local browser-only preview. No account and no upload step."},{key:"readme-previewer",liveUrl:"https://readme-1o4.pages.dev",hostnames:["readme.pages.dev","readme-1o4.pages.dev","readme-previewer.pages.dev","readme.mindexec.io","readme-previewer.mindexec.io"],title:"README Previewer",heroEyebrow:"README previewer",heroTitle:"Preview README markdown before you publish",heroSubtitle:"Check headings, tables, links, and launch notes quickly, then keep bigger documentation work organized in MindCanvas.",privacyNote:"Local preview for README text. No repository access required."},{key:"markdown-to-html",liveUrl:"https://md2html-4r7.pages.dev",hostnames:["md2html.pages.dev","md2html-4r7.pages.dev","md2html.mindexec.io","markdown-to-html.pages.dev","markdown-to-html.mindexec.io"],title:"Markdown to HTML Preview",heroEyebrow:"Markdown to HTML",heroTitle:"Turn markdown into clean HTML preview",heroSubtitle:"Render markdown locally, copy the HTML shape, and move reusable publishing notes into MindCanvas.",privacyNote:"Conversion runs in-browser and keeps your text local."},{key:"markdown-outline",liveUrl:"https://mdoutln.pages.dev",hostnames:["mdoutln.pages.dev","mdoutln.mindexec.io","markdown-outline.pages.dev","markdown-outline.mindexec.io"],title:"Markdown Outline Generator",heroEyebrow:"Markdown outline generator",heroTitle:"Extract a document outline from markdown",heroSubtitle:"Scan headings, section depth, and missing structure before your document becomes a larger project.",privacyNote:"Outline extraction runs locally in this browser."},{key:"markdown-table-formatter",liveUrl:"https://mdtable-3ik.pages.dev",hostnames:["mdtable.pages.dev","mdtable-3ik.pages.dev","mdtable.mindexec.io","markdown-table-formatter.pages.dev","markdown-table-formatter.mindexec.io"],title:"Markdown Table Formatter",heroEyebrow:"Markdown table formatter",heroTitle:"Clean up markdown tables locally",heroSubtitle:"Paste a rough markdown table and get a cleaner version for docs, READMEs, and launch notes.",privacyNote:"Table formatting happens locally with no upload."},{key:"markdown-link-checker",liveUrl:"https://markdown-link-checker.pages.dev",hostnames:["mdcheck.pages.dev","markdown-link-checker.pages.dev","mdcheck.mindexec.io","markdown-link-checker.mindexec.io"],title:"Markdown Link Checker",heroEyebrow:"Markdown link checker",heroTitle:"Catch risky markdown links before publishing",heroSubtitle:"Find empty, localhost, JavaScript, and suspicious links locally before a README or docs page goes live.",privacyNote:"Link checks run locally against the pasted markdown."},{key:"browser-notepad",liveUrl:"https://quickpad.pages.dev",hostnames:["quickpad.pages.dev","quickpad.mindexec.io","browser-notepad.pages.dev","browser-notepad.mindexec.io"],title:"Browser Notepad",heroEyebrow:"Browser notepad",heroTitle:"Write quick notes without a sign-in",heroSubtitle:"Capture rough thoughts locally, then move the notes worth keeping into MindCanvas.",privacyNote:"Notes are stored locally in this browser unless you copy them elsewhere."},{key:"clipboard-board",liveUrl:"https://clipbrd.pages.dev",hostnames:["clipbrd.pages.dev","clipbrd.mindexec.io","clipboard-board.pages.dev","clipboard-board.mindexec.io"],title:"Local Clipboard Board",heroEyebrow:"Local clipboard board",heroTitle:"Collect snippets into a small local board",heroSubtitle:"Paste short ideas, snippets, and fragments into one local surface before promoting the useful set to MindCanvas.",privacyNote:"Clipboard notes stay local to this browser session."}];function M(e){const t=e.toLowerCase().replace(/^www\./,"");return ve.find(a=>a.hostnames.some(r=>r.toLowerCase()===t))}const we={enabled:!1,hideAppChrome:!0,allowMindCanvasRoute:!1,homeRoute:"/",toolKey:"",heroEyebrow:"Free local tool",heroTitle:"",heroSubtitle:"",primaryCtaText:"Open MindCanvas",primaryCtaHref:"https://mindexecution.pages.dev/mindcanvas",secondaryCtaText:"",secondaryCtaHref:"",publicUrl:"",privacyNote:"Runs locally in your browser. No login. No database storage."},ke={enableAgentWorkspace:!0,enableCodeWorkspace:!0,enablePlanWorkspace:!0,enableCompanyCore:!0,enableExecutionTest:!0,enableTemplateStudio:!0,enableProjectPopup:!0,enablePromptDebugger:!0,enablePointBadge:!0,enableResetData:!0},P={variantKey:"platform",slug:"mindexec",brandName:"MindExec",productName:"MindCanvas",appTitle:"MindExec",workspaceNounSingular:"canvas",workspaceNounPlural:"canvases",signInTitle:"Welcome Back",signUpTitle:"Create Account",signInSubtitle:"Sign in to access your MindCanvas workspace.",signUpSubtitle:"Sign up to start organizing your ideas on a visual canvas.",primaryCheckoutProvider:"dodo",runtimeHost:"",canonicalHost:"mindexecution.pages.dev",features:ke,marketingTool:we};function K(e){const t=L(e),a=M(t);return a?_e(t,a):{...P,runtimeHost:t,canonicalHost:P.canonicalHost,features:{...P.features},marketingTool:{...P.marketingTool}}}function Pe(e){return e.marketingTool.enabled?N(e.marketingTool.homeRoute):"/"}function B(e){return e.marketingTool.enabled&&e.marketingTool.toolKey?`/tools/${e.marketingTool.toolKey}`:Pe(e)}function Ee(e,t){const a=L(e.canonicalHost||e.runtimeHost);return a?`https://${a}${N(t)}`:""}function $(e,t){if(e.marketingTool.enabled&&!e.marketingTool.allowMindCanvasRoute&&(t==="/mindcanvas"||t==="/mindmap"))return!1;switch(t){case"/agent":return e.features.enableAgentWorkspace;case"/code":return e.features.enableCodeWorkspace;case"/planmaster":case"/planagent":return e.features.enablePlanWorkspace;case"/company-core":return e.features.enableCompanyCore;case"/execution-mode":return e.features.enableExecutionTest;default:return!0}}function Ce(e,t){const a=$(e,t),r=B(e),o=a?t:r;return{route:t,enabled:a,fallbackRoute:r,canonicalUrl:Ee(e,o),title:Te(e,o),description:xe(e,o)}}function L(e){const t=String(e??"").trim();if(!t)return"";try{return new URL(t).hostname.trim().toLowerCase().replace(/^www\./,"")}catch{return t.trim().replace(/^https?:\/\//i,"").replace(/^www\./,"").replace(/\/+$/,"").toLowerCase()}}function N(e){if(!e||!String(e).trim())return"/";let t=String(e).trim();return t.startsWith("/")||(t=`/${t}`),t.length>1&&(t=t.replace(/\/+$/,"")),t||"/"}function _e(e,t){const a=L(t.liveUrl)||e;return{...P,variantKey:"mini-tool",slug:t.key,brandName:t.title,productName:t.title,appTitle:`${t.title} - Free local browser tool`,runtimeHost:e,canonicalHost:a,features:{...P.features,enableAgentWorkspace:!1,enableCodeWorkspace:!1,enablePlanWorkspace:!1,enableCompanyCore:!1,enableExecutionTest:!1,enableTemplateStudio:!1,enableProjectPopup:!1,enablePromptDebugger:!1,enablePointBadge:!1,enableResetData:!1},marketingTool:{...P.marketingTool,enabled:!0,hideAppChrome:!0,allowMindCanvasRoute:!1,homeRoute:"/",toolKey:t.key,heroEyebrow:t.heroEyebrow,heroTitle:t.heroTitle,heroSubtitle:t.heroSubtitle,primaryCtaText:"Open MindCanvas",primaryCtaHref:"https://mindexecution.pages.dev/mindcanvas",secondaryCtaText:"More free tools",secondaryCtaHref:"https://mindexecution.pages.dev/tools",publicUrl:t.liveUrl,privacyNote:t.privacyNote}}}function Te(e,t){if(e.marketingTool.enabled&&t.startsWith("/tools/"))return e.appTitle;switch(t){case"/mindcanvas":case"/mindmap":return"MindCanvas | MindExec";case"/planmaster":case"/planagent":return"PlanMaster | MindExec";case"/pricing":return"MindExec Pricing";case"/login":return e.signInTitle;case"/forgot-password":return"Reset your MindExec password";case"/reset-password":return"Set a new MindExec password";case"/tools":return"Free Browser Tools | MindExec";case"/youtube":return"YouTube Capture | MindExec";case"/code":return"CodeMaster | MindExec";case"/agent":return"Agent Workspace | MindExec";case"/execution-mode":return"Execution Mode | MindExec";case"/company-core":return"Company Core | MindExec";case"/admin/dashboard":return"Admin Dashboard | MindExec";case"/not-found":return"Content not found | MindExec";case"/":default:return e.appTitle}}function xe(e,t){if(e.marketingTool.enabled)return e.marketingTool.heroSubtitle||e.marketingTool.privacyNote;switch(t){case"/mindcanvas":case"/mindmap":return"MindCanvas keeps notes, assets, AI tasks, and execution evidence together on a local-first visual board.";case"/planmaster":case"/planagent":return"PlanMaster turns goals into practical plans, stages, and execution checklists.";case"/pricing":return"MindExec pricing for free local tools and paid MindCanvas project workflows.";case"/tools":return"Free local browser tools that feed larger MindExec and MindCanvas workflows.";case"/code":case"/agent":return"CodeMaster previews code workflows and adapter-gated agent execution for local projects.";case"/execution-mode":return"Execution Mode tests deterministic browser-local Concept IR before live adapters are connected.";case"/company-core":return"Company Core organizes SaaS blueprint, growth, approval, and publishing decisions.";default:return"MindExec is an AI execution canvas for solo builders, researchers, developers, and creators."}}const Se=i.lazy(()=>f(async()=>{const{MindCanvas:e}=await import("./MindCanvas-BUmfFh7Q.js");return{MindCanvas:e}},__vite__mapDeps([2,3,4,5,1,6,7,8,0,9,10,11])).then(({MindCanvas:e})=>({default:e}))),Ae=i.lazy(()=>f(async()=>{const{PlanMasterPage:e}=await import("./PlanMasterPage-Dc9jGdQ6.js");return{PlanMasterPage:e}},__vite__mapDeps([12,3,4,5,1,6,7,13])).then(({PlanMasterPage:e})=>({default:e}))),Re=i.lazy(()=>f(async()=>{const{PricingPage:e}=await import("./PricingPage-Bn2RPoYf.js");return{PricingPage:e}},__vite__mapDeps([14,3,15,1,6,16,17,0,18])).then(({PricingPage:e})=>({default:e}))),Me=i.lazy(()=>f(async()=>{const{LoginPage:e}=await import("./AuthPages-Cq2TSrOI.js");return{LoginPage:e}},__vite__mapDeps([19,3,17,1,0,6,20])).then(({LoginPage:e})=>({default:e}))),Le=i.lazy(()=>f(async()=>{const{ForgotPasswordPage:e}=await import("./AuthPages-Cq2TSrOI.js");return{ForgotPasswordPage:e}},__vite__mapDeps([19,3,17,1,0,6,20])).then(({ForgotPasswordPage:e})=>({default:e}))),Ne=i.lazy(()=>f(async()=>{const{ResetPasswordPage:e}=await import("./AuthPages-Cq2TSrOI.js");return{ResetPasswordPage:e}},__vite__mapDeps([19,3,17,1,0,6,20])).then(({ResetPasswordPage:e})=>({default:e}))),je=i.lazy(()=>f(async()=>{const{ToolsDirectoryPage:e}=await import("./ToolPages-_JsgqKvE.js");return{ToolsDirectoryPage:e}},__vite__mapDeps([21,3,22,5,1,6,9,23])).then(({ToolsDirectoryPage:e})=>({default:e}))),Ue=i.lazy(()=>f(async()=>{const{MarketingToolPage:e}=await import("./ToolPages-_JsgqKvE.js");return{MarketingToolPage:e}},__vite__mapDeps([21,3,22,5,1,6,9,23])).then(({MarketingToolPage:e})=>({default:e}))),De=i.lazy(()=>f(async()=>{const{YouTubeSearchPage:e}=await import("./YouTubeSearchPage-DSjCA5Xo.js");return{YouTubeSearchPage:e}},__vite__mapDeps([24,3,5,1,6,9,25])).then(({YouTubeSearchPage:e})=>({default:e}))),Ie=i.lazy(()=>f(async()=>{const{CompanyCorePage:e}=await import("./CompanyCorePage-BcgESM4i.js");return{CompanyCorePage:e}},__vite__mapDeps([26,3,5,1,6,27])).then(({CompanyCorePage:e})=>({default:e}))),Oe=i.lazy(()=>f(async()=>{const{AdminDashboardPage:e}=await import("./AdminDashboardPage-BgS5FRMr.js");return{AdminDashboardPage:e}},__vite__mapDeps([28,3,0,1,6,29])).then(({AdminDashboardPage:e})=>({default:e}))),He=i.lazy(()=>f(async()=>{const{CodePage:e}=await import("./CodePage-BM1f1VnB.js");return{CodePage:e}},__vite__mapDeps([30,3,5,1,6,10,7,31,32])).then(({CodePage:e})=>({default:e}))),Ke=i.lazy(()=>f(async()=>{const{ExecutionModePage:e}=await import("./ExecutionModePage-D3oo7YEk.js");return{ExecutionModePage:e}},__vite__mapDeps([33,3,5,1,6,10,7,34])).then(({ExecutionModePage:e})=>({default:e}))),Be=i.lazy(()=>f(async()=>{const{MarketingHome:e}=await import("./MarketingHome-Di28dHQZ.js");return{MarketingHome:e}},__vite__mapDeps([35,3,15,1,6,16,22,36])).then(({MarketingHome:e})=>({default:e}))),$e=i.lazy(()=>f(async()=>{const{AppSidebar:e}=await import("./AppSidebar-7gwE93h0.js");return{AppSidebar:e}},__vite__mapDeps([37,3,6,1])).then(({AppSidebar:e})=>({default:e}))),ze=new Set(["/","/mindcanvas","/planmaster","/tools","/youtube","/code","/pricing","/company-core","/login"]);function Fe(e,t=window.location.hostname){const a=M(t);if(a&&(e==="/"||e==="/tools"))return`/tools/${a.key}`;if(e==="/agent")return"/agent";if(e==="/forgot-password")return"/forgot-password";if(e==="/reset-password")return"/reset-password";let r="/not-found";return e==="/"?r="/":e==="/mindmap"?r="/mindmap":e==="/planagent"?r="/planagent":e==="/execution-mode"?r="/execution-mode":e==="/not-found"?r="/not-found":e.startsWith("/tools/")&&(r=e),ze.has(e)?r=e:e==="/admin/dashboard"&&(r="/admin/dashboard"),r}function Ve(e,t=window.location.hostname){const a=K(t),r=Fe(e,t);return $(a,r)?r:B(a)}function z(e,t=window.location.hostname){const a=Ve(e,t);return{route:a,stalePath:a==="/not-found"&&e!=="/not-found"?e:""}}function R(e){const t=window.location.pathname,{route:a,stalePath:r}=z(t,window.location.hostname);return a==="/not-found"&&t!=="/not-found"?(window.history.replaceState({stalePath:t},"","/not-found"),g.emit("route.notFound.normalize",{source:e,from:r||t,to:"/not-found"})):N(t)!==a&&!(t==="/"&&a.startsWith("/tools/"))&&!(t==="/tools"&&a.startsWith("/tools/"))&&(window.history.replaceState({stalePath:t},"",a),g.emit("productProfile.route.fallback",{source:e,from:t,to:a})),a}function C(e,t,a){if(a===void 0){delete e.dataset[t];return}e.dataset[t]=a}function We(){const e=i.useMemo(()=>K(window.location.hostname),[]),t=i.useMemo(()=>M(window.location.hostname),[]),[a,r]=i.useState(()=>z(window.location.pathname,window.location.hostname).route),o=a==="/mindcanvas"||a==="/mindmap",[d,u]=i.useState(()=>o),s=i.useMemo(()=>Ce(e,a),[e,a]),[h,p]=i.useState([]);i.useEffect(()=>{r(R("initial"));const l=()=>r(R("popstate"));return window.addEventListener("popstate",l),()=>window.removeEventListener("popstate",l)},[]);const c=i.useCallback(l=>{window.history.pushState({},"",l),r(l)},[]),y=i.useCallback(l=>{r(R(l))},[]);i.useEffect(()=>{!o||d||(u(!0),g.emit("route.keepAlive.mindcanvas",{route:a,mounted:!0,source:"route-activate"}))},[o,d,a]);const m=a==="/planmaster"||a==="/planagent",b=a.startsWith("/tools/")?a.slice(7):null,w=e.marketingTool.enabled&&e.marketingTool.hideAppChrome,E=d||o;return i.useEffect(()=>{const l=document.documentElement,v={productProfile:l.dataset.productProfile,productVariant:l.dataset.productVariant,canonicalHost:l.dataset.canonicalHost,routeCanonical:l.dataset.routeCanonical,routeEnabled:l.dataset.routeEnabled,marketingToolKey:l.dataset.marketingToolKey};return l.dataset.productProfile=e.slug,l.dataset.productVariant=e.variantKey,l.dataset.canonicalHost=e.canonicalHost,l.dataset.routeCanonical=s.canonicalUrl,l.dataset.routeEnabled=s.enabled?"true":"false",e.marketingTool.toolKey?l.dataset.marketingToolKey=e.marketingTool.toolKey:delete l.dataset.marketingToolKey,g.emit("productProfile.route.applied",{route:a,variantKey:e.variantKey,slug:e.slug,canonicalHost:e.canonicalHost,canonicalUrl:s.canonicalUrl,routeEnabled:s.enabled,fallbackRoute:s.fallbackRoute,marketingToolKey:e.marketingTool.toolKey}),()=>{C(l,"productProfile",v.productProfile),C(l,"productVariant",v.productVariant),C(l,"canonicalHost",v.canonicalHost),C(l,"routeCanonical",v.routeCanonical),C(l,"routeEnabled",v.routeEnabled),C(l,"marketingToolKey",v.marketingToolKey)}},[e.canonicalHost,e.marketingTool.toolKey,e.slug,e.variantKey,a,s.canonicalUrl,s.enabled,s.fallbackRoute]),n.jsxs("div",{className:`${o?"app app--canvas":"app"} ${w?"app--mini-tool":""}`,"data-product-profile":e.slug,"data-product-variant":e.variantKey,"data-canonical-host":e.canonicalHost,"data-route-enabled":s.enabled?"true":"false","data-route-canonical":s.canonicalUrl,"data-marketing-tool-key":e.marketingTool.toolKey||void 0,children:[!w&&n.jsx(i.Suspense,{fallback:n.jsx(Ge,{}),children:n.jsx($e,{route:a,navigate:c,canvasActions:o?h:[]})}),n.jsxs("main",{className:"app-main",children:[n.jsx(me,{onRouteReplaced:y}),n.jsx(be,{route:a}),n.jsx(he,{resetKey:a,onNavigateHome:()=>c("/mindcanvas"),children:n.jsxs(i.Suspense,{fallback:n.jsx(qe,{route:a}),children:[a==="/"&&n.jsx(Be,{navigate:c}),E&&n.jsx("section",{className:"route-keepalive route-keepalive--mindcanvas","data-testid":"mindcanvas-keepalive-host","data-route-keepalive":"mindcanvas","data-route-active":o?"true":"false",hidden:!o,"aria-hidden":o?void 0:"true",children:n.jsx(Se,{navigate:c,onSidebarActionsChange:p})}),m&&n.jsx(Ae,{navigate:c}),a==="/pricing"&&n.jsx(Re,{navigate:c}),a==="/login"&&n.jsx(Me,{navigate:c}),a==="/forgot-password"&&n.jsx(Le,{navigate:c}),a==="/reset-password"&&n.jsx(Ne,{navigate:c}),a==="/tools"&&n.jsx(je,{navigate:c}),b&&n.jsx(Ue,{toolKey:b,navigate:c,miniHost:(t==null?void 0:t.key)===b}),a==="/youtube"&&n.jsx(De,{navigate:c}),(a==="/code"||a==="/agent")&&n.jsx(He,{}),a==="/execution-mode"&&n.jsx(Ke,{}),a==="/not-found"&&n.jsx(Ye,{navigate:c}),a==="/company-core"&&n.jsx(Ie,{}),a==="/admin/dashboard"&&n.jsx(Oe,{})]})})]})]})}function qe({route:e}){return i.useEffect(()=>{g.emit("route.lazyFallback.rendered",{route:e})},[e]),n.jsxs("div",{className:"route-lazy-fallback","data-testid":"route-lazy-fallback","data-route":e,children:[n.jsx("span",{className:"route-lazy-spinner","aria-hidden":"true"}),n.jsx("span",{children:"Loading MindExec surface..."})]})}function Ge(){return n.jsxs("aside",{className:"app-sidebar app-sidebar--loading","aria-label":"MindExec navigation loading",children:[n.jsx("div",{className:"sidebar-brand sidebar-placeholder"}),n.jsx("div",{className:"sidebar-divider"}),n.jsx("nav",{className:"sidebar-nav",children:Array.from({length:8},(e,t)=>n.jsx("div",{className:"sidebar-icon sidebar-placeholder"},t))}),n.jsx("div",{className:"sidebar-spacer"}),n.jsx("div",{className:"sidebar-icon sidebar-placeholder"})]})}function Ye({navigate:e}){return n.jsx("div",{className:"page not-found-page",children:n.jsxs("section",{className:"execution-panel",children:[n.jsx("div",{className:"eyebrow",children:"Not Found"}),n.jsx("h1",{children:"Content not found."}),n.jsx("p",{children:"The route exists as a React shell so stale Blazor links land cleanly."}),n.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>e("/"),children:"Go home"})]})})}q();async function Xe(){await pe(),W.createRoot(document.getElementById("root")).render(n.jsx(We,{}))}Xe();export{X as A,_ as a,I as b,re as c,et as g};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/supabaseAuthAdapter-Bptc9G29.js","assets/app-runtime-xD2Z3NdN.js","assets/MindCanvas-DMxa5cKY.js","assets/vendor-react-BXzpOyCS.js","assets/storage-CWUvUZC-.js","assets/canvas-runtime-hH7qY6Be.js","assets/vendor-icons-D0xKCnZS.js","assets/runtimeSettingsPersistenceProjection-BoNWmYjU.js","assets/vendor-msgpack-BE8aAsr3.js","assets/toolHandoff-D5e5f7t5.js","assets/executionModeSettings-NJqurj-o.js","assets/MindCanvas-CyVe9w7B.css","assets/PlanMasterPage-Dc9jGdQ6.js","assets/PlanMasterPage-CJ36rep-.css","assets/PricingPage-CADslKZR.js","assets/LaunchLeadCapture-DhMxzfOQ.js","assets/LaunchLeadCapture-CiRI1shz.css","assets/pricingCheckoutShell-O-DnwmbU.js","assets/PricingPage-Cg_0i_ZR.css","assets/AuthPages-CmAHlBT8.js","assets/AuthPages-DFGWKWuB.css","assets/ToolPages-_JsgqKvE.js","assets/marketingTools-DN_rnHeB.js","assets/ToolPages-DIB187pZ.css","assets/YouTubeSearchPage-DSjCA5Xo.js","assets/YouTubeSearchPage-IPPa_BIH.css","assets/CompanyCorePage-BcgESM4i.js","assets/CompanyCorePage-ChBnq1ve.css","assets/AdminDashboardPage-D8CdgCG3.js","assets/AdminDashboardPage-B2vz2Px9.css","assets/CodePage-BM1f1VnB.js","assets/code-agent-runtime-B5PPZd1t.js","assets/CodePage-Bncc352E.css","assets/ExecutionModePage-D3oo7YEk.js","assets/ExecutionModePage-TLuld9l3.css","assets/MarketingHome-Di28dHQZ.js","assets/MarketingHome-DPzaYzA_.css","assets/AppSidebar-CqkRTasO.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
var F=Object.defineProperty;var V=(e,t,a)=>t in e?F(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var x=(e,t,a)=>V(e,typeof t!="symbol"?t+"":t,a);import{r as i,j as n,R as W}from"./vendor-react-BXzpOyCS.js";import{R as g,i as q}from"./app-runtime-xD2Z3NdN.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const d of o)if(d.type==="childList")for(const u of d.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&r(u)}).observe(document,{childList:!0,subtree:!0});function a(o){const d={};return o.integrity&&(d.integrity=o.integrity),o.referrerPolicy&&(d.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?d.credentials="include":o.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function r(o){if(o.ep)return;o.ep=!0;const d=a(o);fetch(o.href,d)}})();const G="modulepreload",Y=function(e){return"/"+e},U={},f=function(t,a,r){let o=Promise.resolve();if(a&&a.length>0){let u=function(p){return Promise.all(p.map(c=>Promise.resolve(c).then(y=>({status:"fulfilled",value:y}),y=>({status:"rejected",reason:y}))))};document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),h=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));o=u(a.map(p=>{if(p=Y(p),p in U)return;U[p]=!0;const c=p.endsWith(".css"),y=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${p}"]${y}`))return;const m=document.createElement("link");if(m.rel=c?"stylesheet":G,c||(m.as="script"),m.crossOrigin="",m.href=p,h&&m.setAttribute("nonce",h),document.head.appendChild(m),c)return new Promise((b,w)=>{m.addEventListener("load",b),m.addEventListener("error",()=>w(new Error(`Unable to preload CSS for ${p}`)))})}))}function d(u){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=u,window.dispatchEvent(s),!s.defaultPrevented)throw u}return o.then(u=>{for(const s of u||[])s.status==="rejected"&&d(s.reason);return t().catch(d)})},I="mindexec-react-auth-shell-v1",X="mindexec-react-auth-shell-session-changed",J="supabase-callback@mindexec.local";function Q(e){const t=e;return!!(t&&typeof t=="object"&&typeof t.userId=="string"&&typeof t.email=="string"&&t.provider==="Google"&&typeof t.signedInAt=="string")}function Z(e){const t=e.toLowerCase();return t.includes("access_token=")||t.includes("refresh_token=")||t.includes("provider_token=")||t.includes("provider_refresh_token=")||t.includes("expires_in=")||t.includes("token_type=")||t.includes("type=recovery")||t.includes("type=invite")||t.includes("error=")||t.includes("error_description=")||t.includes("code=")}function ee(e){const t=e.split("=",2)[0].toLowerCase();return t==="access_token"||t==="refresh_token"||t==="provider_token"||t==="provider_refresh_token"||t==="expires_in"||t==="expires_at"||t==="token_type"||t==="type"||t==="error"||t==="error_code"||t==="error_description"||t==="code"}function D(e){const t=e.trim().replace(/^[?#]/,"");return t?t.split("&").filter(Boolean).filter(r=>!ee(r)).join("&"):""}function te(e){const t=(e||"").trim();if(!t||!t.startsWith("/")||t.startsWith("//")||t.includes("\\"))return"";try{const a=new URL(t,window.location.origin);return a.origin!==window.location.origin?"":`${a.pathname}${a.search}${a.hash}`}catch{return""}}function ae(e){const t=new URL(e,window.location.origin),a=`${t.search}&${t.hash}`,r=Z(a);if(!r)return{hasAuthPayload:!1,cleanedPath:`${t.pathname}${t.search}${t.hash}`,shouldCreateLocalShell:!1,shouldRouteToMindCanvas:!1,hasError:!1,hasRecovery:!1,hasInvite:!1,hasCode:!1,hasToken:!1};const o=D(t.search),d=D(t.hash),u=/(?:^|[&#?])error=/i.test(a)||/(?:^|[&#?])error_description=/i.test(a),s=/(?:^|[&#?])type=recovery(?:&|$)/i.test(a),h=/(?:^|[&#?])type=invite(?:&|$)/i.test(a),p=/(?:^|[&#?])code=/i.test(a),c=/(?:^|[&#?])(?:access_token|refresh_token)=/i.test(a),y=te(t.searchParams.get("next"));let m=`${t.pathname}${o?`?${o}`:""}${d?`#${d}`:""}`;const b=t.pathname==="/"||t.pathname==="",w=t.pathname==="/login",E=!u&&!s&&!h&&(p||c),l=E&&!y&&(b||w);if(y&&E)m=y;else if(l){const v=new URLSearchParams(o);v.delete("next");const j=v.toString();m=`/mindcanvas${j?`?${j}`:""}`}return{hasAuthPayload:r,cleanedPath:m,shouldCreateLocalShell:!u&&!s&&!h&&(p||c),shouldRouteToMindCanvas:l,hasError:u,hasRecovery:s,hasInvite:h,hasCode:p,hasToken:c}}function oe(e){return`local-google-${e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-")||"user"}`}function ne(e){try{window.dispatchEvent(new CustomEvent(X,{detail:{signedIn:!!e,source:(e==null?void 0:e.source)??"cleared",hasEmail:!!(e!=null&&e.email)}}))}catch{}}function et(){try{const e=window.localStorage.getItem(I);if(!e)return null;const t=JSON.parse(e);return Q(t)?t:null}catch{return null}}function re(e="builder@mindexec.local",t="manual-google-shell"){const a=e.trim().toLowerCase()||"builder@mindexec.local",r={userId:typeof crypto<"u"&&"randomUUID"in crypto?`local-google-${crypto.randomUUID()}`:oe(a),email:a,provider:"Google",signedInAt:new Date().toISOString(),source:t};return O(r)}function O(e){try{window.localStorage.setItem(I,JSON.stringify(e))}catch{}return g.emit(e.source==="supabase-provider-session"?"auth.supabase.sessionShell":"auth.google.localShell",{provider:e.provider,hasEmail:!!e.email,source:e.source}),ne(e),e}const se={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1},ie="mindexec-production-adapter-runtime-env-loaded";function le(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function k(e,t){let a=e;for(const r of t){if(!le(a))return"";a=a[r]}return typeof a=="string"?a.trim():""}function S(e,t,a){a&&(e[t]=a)}function ce(e){const t={},a=k(e,["Supabase","Url"]),r=k(e,["Supabase","PublishableKey"])||k(e,["Supabase","Key"])||k(e,["Supabase","AnonKey"]),o=k(e,["CloudflareR2","PublicBaseUrl"])||k(e,["CloudStorage","PublicBaseUrl"])||k(e,["CloudStorage","PublicUrl"]);return S(t,"VITE_MINDEXEC_SUPABASE_URL",a),S(t,"VITE_MINDEXEC_SUPABASE_PUBLISHABLE_KEY",r),S(t,"VITE_MINDEXEC_CLOUD_STORAGE_PUBLIC_URL",o),t}function de(){return se??{}}function H(){return typeof window>"u"?{}:window.__MINDEXEC_PRODUCTION_ADAPTER_RUNTIME_ENV__??{}}function ue(e){if(!(typeof window>"u")){window.__MINDEXEC_PRODUCTION_ADAPTER_RUNTIME_ENV__={...H(),...e};try{window.dispatchEvent(new CustomEvent(ie,{detail:{keys:Object.keys(e).sort()}}))}catch{}}}function _(){return{...H(),...de()}}let T=null;async function pe(e=typeof fetch=="function"?fetch.bind(globalThis):null){return typeof window>"u"||!e?_():T||(T=(async()=>{try{const t=await e("/appsettings.json",{cache:"no-store",credentials:"same-origin"});if(!t.ok)return g.emit("productionAdapter.runtimeConfig.skipped",{source:"appsettings.json",reason:`http-${t.status}`}),_();const a=t.headers.get("content-type")||"";if(a&&!a.toLowerCase().includes("json"))return g.emit("productionAdapter.runtimeConfig.skipped",{source:"appsettings.json",reason:"non-json-response"}),_();const r=await t.json(),o=ce(r);return ue(o),g.emit("productionAdapter.runtimeConfig.loaded",{source:"appsettings.json",keys:Object.keys(o).sort()}),_()}catch(t){return g.emit("productionAdapter.runtimeConfig.skipped",{source:"appsettings.json",reason:t instanceof Error?t.message:String(t)}),_()}})(),T)}function me({onRouteReplaced:e}){const t=i.useRef(!1);return i.useEffect(()=>{if(t.current)return;t.current=!0,(async()=>{const r=window.location.href,o=ae(r);if(!o.hasAuthPayload)return;const d=_();let u={mode:"not-checked",canAttempt:!1},s=!1,h="",p=!1,c=null;if(!o.hasError&&!o.hasRecovery&&!o.hasInvite&&(o.hasCode||o.hasToken)){const{completeSupabaseAuthCallback:m,resolveSupabaseAuthAdapterState:b}=await f(async()=>{const{completeSupabaseAuthCallback:w,resolveSupabaseAuthAdapterState:E}=await import("./supabaseAuthAdapter-Bptc9G29.js").then(l=>l.c);return{completeSupabaseAuthCallback:w,resolveSupabaseAuthAdapterState:E}},__vite__mapDeps([0,1]));u=b(d),p=u.canAttempt,c=m}if(p&&c)try{const m=await c(d,r);m.session&&(O({...m.session,source:"supabase-provider-session"}),s=!0)}catch(m){h=m instanceof Error?m.message:String(m)}else o.shouldCreateLocalShell&&re(J,"supabase-callback-shell");g.emit(o.hasError||h?"auth.callback.error":"auth.callback.cleaned",{cleanedPath:o.cleanedPath,shouldCreateLocalShell:!p&&o.shouldCreateLocalShell,shouldRouteToMindCanvas:o.shouldRouteToMindCanvas,hasCode:o.hasCode,hasToken:o.hasToken,hasRecovery:o.hasRecovery,hasInvite:o.hasInvite,providerMode:u.mode,providerAttempted:p,providerSessionCreated:s,providerError:h});const y=`${window.location.pathname}${window.location.search}${window.location.hash}`;o.cleanedPath!==y&&(window.history.replaceState({authCallbackCleaned:!0},"",o.cleanedPath),e("auth-callback-bootstrap"))})()},[e]),null}class he extends i.Component{constructor(){super(...arguments);x(this,"state",{error:null});x(this,"retry",()=>{this.setState({error:null}),g.emit("runtime.errorBoundary.reset",{resetKey:this.props.resetKey,reason:"manual-retry"})})}static getDerivedStateFromError(a){return{error:a}}componentDidCatch(a,r){const o=(a==null?void 0:a.message)||"Unknown runtime error.";g.emit("runtime.errorBoundary.caught",{resetKey:this.props.resetKey,message:o,stack:(a==null?void 0:a.stack)||"",componentStack:r.componentStack}),console.error("[LoggingErrorBoundary] Unhandled React error.",a,r)}componentDidUpdate(a){a.resetKey!==this.props.resetKey&&this.state.error&&(this.setState({error:null}),g.emit("runtime.errorBoundary.reset",{from:a.resetKey,to:this.props.resetKey,reason:"route-change"}))}render(){const{error:a}=this.state;return a?n.jsx("div",{className:"page runtime-error-page","data-testid":"runtime-error-boundary","data-error-boundary-reset-key":this.props.resetKey,children:n.jsxs("section",{className:"execution-panel",children:[n.jsx("div",{className:"eyebrow",children:"Runtime Guard"}),n.jsx("h1",{children:"Something broke inside this React surface."}),n.jsx("p",{children:"The error was captured locally so the whole app shell can stay recoverable."}),n.jsxs("div",{className:"runtime-error-message","data-testid":"runtime-error-boundary-message",children:[n.jsx("span",{className:"runtime-error-symbol","aria-hidden":"true",children:"!"}),n.jsx("span",{children:a.message||"Unknown runtime error."})]}),n.jsxs("div",{className:"action-row",children:[n.jsx("button",{className:"btn btn-primary",type:"button",onClick:this.retry,"data-testid":"runtime-error-boundary-retry",children:"Retry"}),this.props.onNavigateHome&&n.jsx("button",{className:"btn btn-secondary",type:"button",onClick:this.props.onNavigateHome,"data-testid":"runtime-error-boundary-home",children:"MindCanvas"})]})]})}):this.props.children}}const ge="main",fe="h1",A="data-route-focus-target",ye=30;function be({route:e,rootSelector:t=ge,selector:a=fe}){return i.useEffect(()=>{let r=!1,o=0;const d=u=>{if(r)return;const s=document.querySelector(t),h=(s==null?void 0:s.querySelector(a))??document.querySelector(a);for(const p of document.querySelectorAll(`[${A}="true"]`))p.removeAttribute(A);if(!h){if(u<ye){o=window.requestAnimationFrame(()=>d(u+1));return}g.emit("route.focusOnNavigate.skipped",{route:e,selector:a,reason:"missing-target",attempts:u});return}h.hasAttribute("tabindex")||h.setAttribute("tabindex","-1"),h.setAttribute(A,"true"),h.focus({preventScroll:!1}),g.emit("route.focusOnNavigate.applied",{route:e,selector:a,tagName:h.tagName.toLowerCase(),text:(h.textContent||"").trim().slice(0,90),attempts:u})};return o=window.requestAnimationFrame(()=>d(1)),()=>{r=!0,window.cancelAnimationFrame(o)}},[e,t,a]),null}const ve=[{key:"markdown-viewer",liveUrl:"https://mdview-die.pages.dev",hostnames:["mdview.pages.dev","mdview-die.pages.dev","mdview.mindexec.io","markdown-viewer.pages.dev","markdown-viewer.mindexec.io"],title:"Free Online Markdown Viewer",heroEyebrow:"Free online markdown viewer",heroTitle:"Preview Markdown instantly in your browser",heroSubtitle:"Paste or open a markdown file, review the rendered result, and move bigger writing work into MindCanvas when it needs structure.",privacyNote:"Runs locally in your browser. No upload required."},{key:"bulk-markdown-viewer",liveUrl:"https://bulkmd.pages.dev",hostnames:["bulkmd.pages.dev","bulkmd.mindexec.io","bulk-markdown-viewer.pages.dev","bulk-markdown-viewer.mindexec.io"],title:"Bulk Markdown Viewer",heroEyebrow:"Bulk markdown preview",heroTitle:"Review multiple markdown snippets at once",heroSubtitle:"Paste a stack of markdown entries and scan them locally before turning the useful pieces into a MindCanvas board.",privacyNote:"Local browser-only preview. No account and no upload step."},{key:"readme-previewer",liveUrl:"https://readme-1o4.pages.dev",hostnames:["readme.pages.dev","readme-1o4.pages.dev","readme-previewer.pages.dev","readme.mindexec.io","readme-previewer.mindexec.io"],title:"README Previewer",heroEyebrow:"README previewer",heroTitle:"Preview README markdown before you publish",heroSubtitle:"Check headings, tables, links, and launch notes quickly, then keep bigger documentation work organized in MindCanvas.",privacyNote:"Local preview for README text. No repository access required."},{key:"markdown-to-html",liveUrl:"https://md2html-4r7.pages.dev",hostnames:["md2html.pages.dev","md2html-4r7.pages.dev","md2html.mindexec.io","markdown-to-html.pages.dev","markdown-to-html.mindexec.io"],title:"Markdown to HTML Preview",heroEyebrow:"Markdown to HTML",heroTitle:"Turn markdown into clean HTML preview",heroSubtitle:"Render markdown locally, copy the HTML shape, and move reusable publishing notes into MindCanvas.",privacyNote:"Conversion runs in-browser and keeps your text local."},{key:"markdown-outline",liveUrl:"https://mdoutln.pages.dev",hostnames:["mdoutln.pages.dev","mdoutln.mindexec.io","markdown-outline.pages.dev","markdown-outline.mindexec.io"],title:"Markdown Outline Generator",heroEyebrow:"Markdown outline generator",heroTitle:"Extract a document outline from markdown",heroSubtitle:"Scan headings, section depth, and missing structure before your document becomes a larger project.",privacyNote:"Outline extraction runs locally in this browser."},{key:"markdown-table-formatter",liveUrl:"https://mdtable-3ik.pages.dev",hostnames:["mdtable.pages.dev","mdtable-3ik.pages.dev","mdtable.mindexec.io","markdown-table-formatter.pages.dev","markdown-table-formatter.mindexec.io"],title:"Markdown Table Formatter",heroEyebrow:"Markdown table formatter",heroTitle:"Clean up markdown tables locally",heroSubtitle:"Paste a rough markdown table and get a cleaner version for docs, READMEs, and launch notes.",privacyNote:"Table formatting happens locally with no upload."},{key:"markdown-link-checker",liveUrl:"https://markdown-link-checker.pages.dev",hostnames:["mdcheck.pages.dev","markdown-link-checker.pages.dev","mdcheck.mindexec.io","markdown-link-checker.mindexec.io"],title:"Markdown Link Checker",heroEyebrow:"Markdown link checker",heroTitle:"Catch risky markdown links before publishing",heroSubtitle:"Find empty, localhost, JavaScript, and suspicious links locally before a README or docs page goes live.",privacyNote:"Link checks run locally against the pasted markdown."},{key:"browser-notepad",liveUrl:"https://quickpad.pages.dev",hostnames:["quickpad.pages.dev","quickpad.mindexec.io","browser-notepad.pages.dev","browser-notepad.mindexec.io"],title:"Browser Notepad",heroEyebrow:"Browser notepad",heroTitle:"Write quick notes without a sign-in",heroSubtitle:"Capture rough thoughts locally, then move the notes worth keeping into MindCanvas.",privacyNote:"Notes are stored locally in this browser unless you copy them elsewhere."},{key:"clipboard-board",liveUrl:"https://clipbrd.pages.dev",hostnames:["clipbrd.pages.dev","clipbrd.mindexec.io","clipboard-board.pages.dev","clipboard-board.mindexec.io"],title:"Local Clipboard Board",heroEyebrow:"Local clipboard board",heroTitle:"Collect snippets into a small local board",heroSubtitle:"Paste short ideas, snippets, and fragments into one local surface before promoting the useful set to MindCanvas.",privacyNote:"Clipboard notes stay local to this browser session."}];function M(e){const t=e.toLowerCase().replace(/^www\./,"");return ve.find(a=>a.hostnames.some(r=>r.toLowerCase()===t))}const we={enabled:!1,hideAppChrome:!0,allowMindCanvasRoute:!1,homeRoute:"/",toolKey:"",heroEyebrow:"Free local tool",heroTitle:"",heroSubtitle:"",primaryCtaText:"Open MindCanvas",primaryCtaHref:"https://mindexecution.pages.dev/mindcanvas",secondaryCtaText:"",secondaryCtaHref:"",publicUrl:"",privacyNote:"Runs locally in your browser. No login. No database storage."},ke={enableAgentWorkspace:!0,enableCodeWorkspace:!0,enablePlanWorkspace:!0,enableCompanyCore:!0,enableExecutionTest:!0,enableTemplateStudio:!0,enableProjectPopup:!0,enablePromptDebugger:!0,enablePointBadge:!0,enableResetData:!0},P={variantKey:"platform",slug:"mindexec",brandName:"MindExec",productName:"MindCanvas",appTitle:"MindExec",workspaceNounSingular:"canvas",workspaceNounPlural:"canvases",signInTitle:"Welcome Back",signUpTitle:"Create Account",signInSubtitle:"Sign in to access your MindCanvas workspace.",signUpSubtitle:"Sign up to start organizing your ideas on a visual canvas.",primaryCheckoutProvider:"dodo",runtimeHost:"",canonicalHost:"mindexecution.pages.dev",features:ke,marketingTool:we};function K(e){const t=L(e),a=M(t);return a?_e(t,a):{...P,runtimeHost:t,canonicalHost:P.canonicalHost,features:{...P.features},marketingTool:{...P.marketingTool}}}function Pe(e){return e.marketingTool.enabled?N(e.marketingTool.homeRoute):"/"}function B(e){return e.marketingTool.enabled&&e.marketingTool.toolKey?`/tools/${e.marketingTool.toolKey}`:Pe(e)}function Ee(e,t){const a=L(e.canonicalHost||e.runtimeHost);return a?`https://${a}${N(t)}`:""}function $(e,t){if(e.marketingTool.enabled&&!e.marketingTool.allowMindCanvasRoute&&(t==="/mindcanvas"||t==="/mindmap"))return!1;switch(t){case"/agent":return e.features.enableAgentWorkspace;case"/code":return e.features.enableCodeWorkspace;case"/planmaster":case"/planagent":return e.features.enablePlanWorkspace;case"/company-core":return e.features.enableCompanyCore;case"/execution-mode":return e.features.enableExecutionTest;default:return!0}}function Ce(e,t){const a=$(e,t),r=B(e),o=a?t:r;return{route:t,enabled:a,fallbackRoute:r,canonicalUrl:Ee(e,o),title:Te(e,o),description:xe(e,o)}}function L(e){const t=String(e??"").trim();if(!t)return"";try{return new URL(t).hostname.trim().toLowerCase().replace(/^www\./,"")}catch{return t.trim().replace(/^https?:\/\//i,"").replace(/^www\./,"").replace(/\/+$/,"").toLowerCase()}}function N(e){if(!e||!String(e).trim())return"/";let t=String(e).trim();return t.startsWith("/")||(t=`/${t}`),t.length>1&&(t=t.replace(/\/+$/,"")),t||"/"}function _e(e,t){const a=L(t.liveUrl)||e;return{...P,variantKey:"mini-tool",slug:t.key,brandName:t.title,productName:t.title,appTitle:`${t.title} - Free local browser tool`,runtimeHost:e,canonicalHost:a,features:{...P.features,enableAgentWorkspace:!1,enableCodeWorkspace:!1,enablePlanWorkspace:!1,enableCompanyCore:!1,enableExecutionTest:!1,enableTemplateStudio:!1,enableProjectPopup:!1,enablePromptDebugger:!1,enablePointBadge:!1,enableResetData:!1},marketingTool:{...P.marketingTool,enabled:!0,hideAppChrome:!0,allowMindCanvasRoute:!1,homeRoute:"/",toolKey:t.key,heroEyebrow:t.heroEyebrow,heroTitle:t.heroTitle,heroSubtitle:t.heroSubtitle,primaryCtaText:"Open MindCanvas",primaryCtaHref:"https://mindexecution.pages.dev/mindcanvas",secondaryCtaText:"More free tools",secondaryCtaHref:"https://mindexecution.pages.dev/tools",publicUrl:t.liveUrl,privacyNote:t.privacyNote}}}function Te(e,t){if(e.marketingTool.enabled&&t.startsWith("/tools/"))return e.appTitle;switch(t){case"/mindcanvas":case"/mindmap":return"MindCanvas | MindExec";case"/planmaster":case"/planagent":return"PlanMaster | MindExec";case"/pricing":return"MindExec Pricing";case"/login":return e.signInTitle;case"/forgot-password":return"Reset your MindExec password";case"/reset-password":return"Set a new MindExec password";case"/tools":return"Free Browser Tools | MindExec";case"/youtube":return"YouTube Capture | MindExec";case"/code":return"CodeMaster | MindExec";case"/agent":return"Agent Workspace | MindExec";case"/execution-mode":return"Execution Mode | MindExec";case"/company-core":return"Company Core | MindExec";case"/admin/dashboard":return"Admin Dashboard | MindExec";case"/not-found":return"Content not found | MindExec";case"/":default:return e.appTitle}}function xe(e,t){if(e.marketingTool.enabled)return e.marketingTool.heroSubtitle||e.marketingTool.privacyNote;switch(t){case"/mindcanvas":case"/mindmap":return"MindCanvas keeps notes, assets, AI tasks, and execution evidence together on a local-first visual board.";case"/planmaster":case"/planagent":return"PlanMaster turns goals into practical plans, stages, and execution checklists.";case"/pricing":return"MindExec pricing for free local tools and paid MindCanvas project workflows.";case"/tools":return"Free local browser tools that feed larger MindExec and MindCanvas workflows.";case"/code":case"/agent":return"CodeMaster previews code workflows and adapter-gated agent execution for local projects.";case"/execution-mode":return"Execution Mode tests deterministic browser-local Concept IR before live adapters are connected.";case"/company-core":return"Company Core organizes SaaS blueprint, growth, approval, and publishing decisions.";default:return"MindExec is an AI execution canvas for solo builders, researchers, developers, and creators."}}const Se=i.lazy(()=>f(async()=>{const{MindCanvas:e}=await import("./MindCanvas-DMxa5cKY.js");return{MindCanvas:e}},__vite__mapDeps([2,3,4,5,1,6,7,8,0,9,10,11])).then(({MindCanvas:e})=>({default:e}))),Ae=i.lazy(()=>f(async()=>{const{PlanMasterPage:e}=await import("./PlanMasterPage-Dc9jGdQ6.js");return{PlanMasterPage:e}},__vite__mapDeps([12,3,4,5,1,6,7,13])).then(({PlanMasterPage:e})=>({default:e}))),Re=i.lazy(()=>f(async()=>{const{PricingPage:e}=await import("./PricingPage-CADslKZR.js");return{PricingPage:e}},__vite__mapDeps([14,3,15,1,6,16,17,0,18])).then(({PricingPage:e})=>({default:e}))),Me=i.lazy(()=>f(async()=>{const{LoginPage:e}=await import("./AuthPages-CmAHlBT8.js");return{LoginPage:e}},__vite__mapDeps([19,3,17,1,0,6,20])).then(({LoginPage:e})=>({default:e}))),Le=i.lazy(()=>f(async()=>{const{ForgotPasswordPage:e}=await import("./AuthPages-CmAHlBT8.js");return{ForgotPasswordPage:e}},__vite__mapDeps([19,3,17,1,0,6,20])).then(({ForgotPasswordPage:e})=>({default:e}))),Ne=i.lazy(()=>f(async()=>{const{ResetPasswordPage:e}=await import("./AuthPages-CmAHlBT8.js");return{ResetPasswordPage:e}},__vite__mapDeps([19,3,17,1,0,6,20])).then(({ResetPasswordPage:e})=>({default:e}))),je=i.lazy(()=>f(async()=>{const{ToolsDirectoryPage:e}=await import("./ToolPages-_JsgqKvE.js");return{ToolsDirectoryPage:e}},__vite__mapDeps([21,3,22,5,1,6,9,23])).then(({ToolsDirectoryPage:e})=>({default:e}))),Ue=i.lazy(()=>f(async()=>{const{MarketingToolPage:e}=await import("./ToolPages-_JsgqKvE.js");return{MarketingToolPage:e}},__vite__mapDeps([21,3,22,5,1,6,9,23])).then(({MarketingToolPage:e})=>({default:e}))),De=i.lazy(()=>f(async()=>{const{YouTubeSearchPage:e}=await import("./YouTubeSearchPage-DSjCA5Xo.js");return{YouTubeSearchPage:e}},__vite__mapDeps([24,3,5,1,6,9,25])).then(({YouTubeSearchPage:e})=>({default:e}))),Ie=i.lazy(()=>f(async()=>{const{CompanyCorePage:e}=await import("./CompanyCorePage-BcgESM4i.js");return{CompanyCorePage:e}},__vite__mapDeps([26,3,5,1,6,27])).then(({CompanyCorePage:e})=>({default:e}))),Oe=i.lazy(()=>f(async()=>{const{AdminDashboardPage:e}=await import("./AdminDashboardPage-D8CdgCG3.js");return{AdminDashboardPage:e}},__vite__mapDeps([28,3,0,1,6,29])).then(({AdminDashboardPage:e})=>({default:e}))),He=i.lazy(()=>f(async()=>{const{CodePage:e}=await import("./CodePage-BM1f1VnB.js");return{CodePage:e}},__vite__mapDeps([30,3,5,1,6,10,7,31,32])).then(({CodePage:e})=>({default:e}))),Ke=i.lazy(()=>f(async()=>{const{ExecutionModePage:e}=await import("./ExecutionModePage-D3oo7YEk.js");return{ExecutionModePage:e}},__vite__mapDeps([33,3,5,1,6,10,7,34])).then(({ExecutionModePage:e})=>({default:e}))),Be=i.lazy(()=>f(async()=>{const{MarketingHome:e}=await import("./MarketingHome-Di28dHQZ.js");return{MarketingHome:e}},__vite__mapDeps([35,3,15,1,6,16,22,36])).then(({MarketingHome:e})=>({default:e}))),$e=i.lazy(()=>f(async()=>{const{AppSidebar:e}=await import("./AppSidebar-CqkRTasO.js");return{AppSidebar:e}},__vite__mapDeps([37,3,6,1])).then(({AppSidebar:e})=>({default:e}))),ze=new Set(["/","/mindcanvas","/planmaster","/tools","/youtube","/code","/pricing","/company-core","/login"]);function Fe(e,t=window.location.hostname){const a=M(t);if(a&&(e==="/"||e==="/tools"))return`/tools/${a.key}`;if(e==="/agent")return"/agent";if(e==="/forgot-password")return"/forgot-password";if(e==="/reset-password")return"/reset-password";let r="/not-found";return e==="/"?r="/":e==="/mindmap"?r="/mindmap":e==="/planagent"?r="/planagent":e==="/execution-mode"?r="/execution-mode":e==="/not-found"?r="/not-found":e.startsWith("/tools/")&&(r=e),ze.has(e)?r=e:e==="/admin/dashboard"&&(r="/admin/dashboard"),r}function Ve(e,t=window.location.hostname){const a=K(t),r=Fe(e,t);return $(a,r)?r:B(a)}function z(e,t=window.location.hostname){const a=Ve(e,t);return{route:a,stalePath:a==="/not-found"&&e!=="/not-found"?e:""}}function R(e){const t=window.location.pathname,{route:a,stalePath:r}=z(t,window.location.hostname);return a==="/not-found"&&t!=="/not-found"?(window.history.replaceState({stalePath:t},"","/not-found"),g.emit("route.notFound.normalize",{source:e,from:r||t,to:"/not-found"})):N(t)!==a&&!(t==="/"&&a.startsWith("/tools/"))&&!(t==="/tools"&&a.startsWith("/tools/"))&&(window.history.replaceState({stalePath:t},"",a),g.emit("productProfile.route.fallback",{source:e,from:t,to:a})),a}function C(e,t,a){if(a===void 0){delete e.dataset[t];return}e.dataset[t]=a}function We(){const e=i.useMemo(()=>K(window.location.hostname),[]),t=i.useMemo(()=>M(window.location.hostname),[]),[a,r]=i.useState(()=>z(window.location.pathname,window.location.hostname).route),o=a==="/mindcanvas"||a==="/mindmap",[d,u]=i.useState(()=>o),s=i.useMemo(()=>Ce(e,a),[e,a]),[h,p]=i.useState([]);i.useEffect(()=>{r(R("initial"));const l=()=>r(R("popstate"));return window.addEventListener("popstate",l),()=>window.removeEventListener("popstate",l)},[]);const c=i.useCallback(l=>{window.history.pushState({},"",l),r(l)},[]),y=i.useCallback(l=>{r(R(l))},[]);i.useEffect(()=>{!o||d||(u(!0),g.emit("route.keepAlive.mindcanvas",{route:a,mounted:!0,source:"route-activate"}))},[o,d,a]);const m=a==="/planmaster"||a==="/planagent",b=a.startsWith("/tools/")?a.slice(7):null,w=e.marketingTool.enabled&&e.marketingTool.hideAppChrome,E=d||o;return i.useEffect(()=>{const l=document.documentElement,v={productProfile:l.dataset.productProfile,productVariant:l.dataset.productVariant,canonicalHost:l.dataset.canonicalHost,routeCanonical:l.dataset.routeCanonical,routeEnabled:l.dataset.routeEnabled,marketingToolKey:l.dataset.marketingToolKey};return l.dataset.productProfile=e.slug,l.dataset.productVariant=e.variantKey,l.dataset.canonicalHost=e.canonicalHost,l.dataset.routeCanonical=s.canonicalUrl,l.dataset.routeEnabled=s.enabled?"true":"false",e.marketingTool.toolKey?l.dataset.marketingToolKey=e.marketingTool.toolKey:delete l.dataset.marketingToolKey,g.emit("productProfile.route.applied",{route:a,variantKey:e.variantKey,slug:e.slug,canonicalHost:e.canonicalHost,canonicalUrl:s.canonicalUrl,routeEnabled:s.enabled,fallbackRoute:s.fallbackRoute,marketingToolKey:e.marketingTool.toolKey}),()=>{C(l,"productProfile",v.productProfile),C(l,"productVariant",v.productVariant),C(l,"canonicalHost",v.canonicalHost),C(l,"routeCanonical",v.routeCanonical),C(l,"routeEnabled",v.routeEnabled),C(l,"marketingToolKey",v.marketingToolKey)}},[e.canonicalHost,e.marketingTool.toolKey,e.slug,e.variantKey,a,s.canonicalUrl,s.enabled,s.fallbackRoute]),n.jsxs("div",{className:`${o?"app app--canvas":"app"} ${w?"app--mini-tool":""}`,"data-product-profile":e.slug,"data-product-variant":e.variantKey,"data-canonical-host":e.canonicalHost,"data-route-enabled":s.enabled?"true":"false","data-route-canonical":s.canonicalUrl,"data-marketing-tool-key":e.marketingTool.toolKey||void 0,children:[!w&&n.jsx(i.Suspense,{fallback:n.jsx(Ge,{}),children:n.jsx($e,{route:a,navigate:c,canvasActions:o?h:[]})}),n.jsxs("main",{className:"app-main",children:[n.jsx(me,{onRouteReplaced:y}),n.jsx(be,{route:a}),n.jsx(he,{resetKey:a,onNavigateHome:()=>c("/mindcanvas"),children:n.jsxs(i.Suspense,{fallback:n.jsx(qe,{route:a}),children:[a==="/"&&n.jsx(Be,{navigate:c}),E&&n.jsx("section",{className:"route-keepalive route-keepalive--mindcanvas","data-testid":"mindcanvas-keepalive-host","data-route-keepalive":"mindcanvas","data-route-active":o?"true":"false",hidden:!o,"aria-hidden":o?void 0:"true",children:n.jsx(Se,{navigate:c,onSidebarActionsChange:p})}),m&&n.jsx(Ae,{navigate:c}),a==="/pricing"&&n.jsx(Re,{navigate:c}),a==="/login"&&n.jsx(Me,{navigate:c}),a==="/forgot-password"&&n.jsx(Le,{navigate:c}),a==="/reset-password"&&n.jsx(Ne,{navigate:c}),a==="/tools"&&n.jsx(je,{navigate:c}),b&&n.jsx(Ue,{toolKey:b,navigate:c,miniHost:(t==null?void 0:t.key)===b}),a==="/youtube"&&n.jsx(De,{navigate:c}),(a==="/code"||a==="/agent")&&n.jsx(He,{}),a==="/execution-mode"&&n.jsx(Ke,{}),a==="/not-found"&&n.jsx(Ye,{navigate:c}),a==="/company-core"&&n.jsx(Ie,{}),a==="/admin/dashboard"&&n.jsx(Oe,{})]})})]})]})}function qe({route:e}){return i.useEffect(()=>{g.emit("route.lazyFallback.rendered",{route:e})},[e]),n.jsxs("div",{className:"route-lazy-fallback","data-testid":"route-lazy-fallback","data-route":e,children:[n.jsx("span",{className:"route-lazy-spinner","aria-hidden":"true"}),n.jsx("span",{children:"Loading MindExec surface..."})]})}function Ge(){return n.jsxs("aside",{className:"app-sidebar app-sidebar--loading","aria-label":"MindExec navigation loading",children:[n.jsx("div",{className:"sidebar-brand sidebar-placeholder"}),n.jsx("div",{className:"sidebar-divider"}),n.jsx("nav",{className:"sidebar-nav",children:Array.from({length:8},(e,t)=>n.jsx("div",{className:"sidebar-icon sidebar-placeholder"},t))}),n.jsx("div",{className:"sidebar-spacer"}),n.jsx("div",{className:"sidebar-icon sidebar-placeholder"})]})}function Ye({navigate:e}){return n.jsx("div",{className:"page not-found-page",children:n.jsxs("section",{className:"execution-panel",children:[n.jsx("div",{className:"eyebrow",children:"Not Found"}),n.jsx("h1",{children:"Content not found."}),n.jsx("p",{children:"The route exists as a React shell so stale Blazor links land cleanly."}),n.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>e("/"),children:"Go home"})]})})}q();async function Xe(){await pe(),W.createRoot(document.getElementById("root")).render(n.jsx(We,{}))}Xe();export{X as A,_ as a,I as b,re as c,et as g,O as s};
|