@mindexec/cli 0.2.356 → 0.2.358
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/appsettings.json +83 -0
- package/wwwroot/assets/AdminDashboardPage-C6RNb3jX.js +1 -0
- package/wwwroot/assets/AppSidebar-CYsG4slO.js +1 -0
- package/wwwroot/assets/AuthPages-DxQDTt8X.js +1 -0
- package/wwwroot/assets/{CodePage-Dh_Ubwh1.js → CodePage-BM1f1VnB.js} +1 -1
- package/wwwroot/assets/{CompanyCorePage-BD6d7ZXf.js → CompanyCorePage-BcgESM4i.js} +1 -1
- package/wwwroot/assets/{ExecutionModePage-CrmiOVd0.js → ExecutionModePage-D3oo7YEk.js} +1 -1
- package/wwwroot/assets/{LaunchLeadCapture-C3SfsELA.js → LaunchLeadCapture-DhMxzfOQ.js} +1 -1
- package/wwwroot/assets/{MarketingHome-Cg_3ZuaT.js → MarketingHome-Di28dHQZ.js} +1 -1
- package/wwwroot/assets/MindCanvas-CcfxyCL9.js +48 -0
- package/wwwroot/assets/MindCanvas-CyVe9w7B.css +1 -0
- package/wwwroot/assets/{PlanMasterPage-BVT9x8xZ.js → PlanMasterPage-Dc9jGdQ6.js} +1 -1
- package/wwwroot/assets/PricingPage-C429WChq.js +1 -0
- package/wwwroot/assets/{ToolPages-DAOiYyG4.js → ToolPages-_JsgqKvE.js} +1 -1
- package/wwwroot/assets/{YouTubeSearchPage-hiZGXTZy.js → YouTubeSearchPage-DSjCA5Xo.js} +1 -1
- package/wwwroot/assets/{canvas-runtime-B14Cd9kl.js → canvas-runtime-hH7qY6Be.js} +1 -1
- package/wwwroot/assets/index-BnkMdiZi.js +2 -0
- package/wwwroot/assets/{storage-yMo_dD8a.js → storage-CWUvUZC-.js} +1 -1
- package/wwwroot/assets/{vendor-icons-Ckw7YAP6.js → vendor-icons-D0xKCnZS.js} +23 -18
- package/wwwroot/index.html +1 -1
- package/wwwroot/assets/AdminDashboardPage-pAvr0347.js +0 -1
- package/wwwroot/assets/AppSidebar-CBDe_h8f.js +0 -1
- package/wwwroot/assets/AuthPages-jj68QgpG.js +0 -1
- package/wwwroot/assets/MindCanvas-C4NXA7ge.js +0 -48
- package/wwwroot/assets/MindCanvas-CAd5o-DG.css +0 -1
- package/wwwroot/assets/PricingPage-SXA3ejIM.js +0 -1
- package/wwwroot/assets/index-CJuSIJ-Y.js +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as p,j as a}from"./vendor-react-BXzpOyCS.js";import{R as g}from"./app-runtime-xD2Z3NdN.js";import{S as gi,L as fi,P as bi,I as La,U as yi,a as ki,b as Ti,X as Po,K as pa,V as Ii,C as vi,B as Ci,c as ko,d as xi,e as wi,R as vo,f as nn,g as Si,M as Ri,h as ja,i as Na,j as Da,k as Oa,l as Mi,m as _a,n as Pi,o as Ai,F as Ei,p as Li,H as ji,q as Ni,r as Di,s as Fa,t as Oi,G as _i,u as Fi,v as Bi,w as Gi,x as Ui,y as zi,T as $i,z as Vi}from"./vendor-icons-Ckw7YAP6.js";const rt="gpt-5.5",qi="gemini-3-flash-preview",Wi="llama3",kn=[{id:"gpt-5.5",label:"GPT-5.5",provider:"codex"},{id:"gpt-5.4",label:"GPT-5.4",provider:"codex"},{id:"gpt-5.4-mini",label:"GPT-5.4 mini",provider:"codex"},{id:"gpt-5.3-codex-spark",label:"GPT-5.3 Codex Spark",provider:"codex"},{id:Wi,label:"llama3",provider:"ollama"},{id:"llama3.2",label:"llama3.2",provider:"ollama"},{id:"openrouter/auto",label:"Auto Router",provider:"openrouter"},{id:"openai/gpt-chat-latest",label:"GPT Chat Latest",provider:"openrouter"},{id:"anthropic/claude-sonnet-4.5",label:"Claude Sonnet 4.5",provider:"openrouter"},{id:"google/gemini-2.5-pro",label:"Gemini 2.5 Pro",provider:"openrouter"},{id:"google/gemini-2.5-flash",label:"Gemini 2.5 Flash",provider:"openrouter"},{id:qi,label:"Gemini 3 Flash Preview",provider:"gemini-cli"},{id:"gemini-3-pro-preview",label:"Gemini 3 Pro Preview",provider:"gemini-cli"},{id:"gemini-2.5-flash",label:"Gemini 2.5 Flash",provider:"gemini-cli"},{id:"gemini-2.5-pro",label:"Gemini 2.5 Pro",provider:"gemini-cli"},{id:"gemini-2.5-flash-lite-preview-06-17",label:"Gemini 2.5 Flash Lite Preview",provider:"gemini-cli"}],Hi=new Map([["",rt],["openai: gpt-4.1 mini",rt],["gpt-4.1 mini",rt],["gpt-5.3-codex",rt],["gpt-5.2",rt],["gpt-5.2-codex",rt]]);function Yt(e){const t=String(e??"").trim().replace(/^["']|["']$/g,""),o=t.toLowerCase();return Hi.get(o)??t}function Ki(e){const t=Yt(e);return t.includes("/")||t.includes(":")}function Xi(e){const t=Yt(e);return kn.find(o=>o.id===t)??null}function Ba(e){switch(e){case"codex":return"Codex";case"ollama":return"Ollama";case"gemini-cli":return"Gemini CLI";case"openrouter":return"OpenRouter";default:return e}}function ho(e,t){const o=new Map(t.map((n,r)=>[n,r]));return e.map((n,r)=>({option:n,index:r})).filter(({option:n})=>o.has(n.provider)).sort((n,r)=>{const s=o.get(n.option.provider)??Number.MAX_SAFE_INTEGER,c=o.get(r.option.provider)??Number.MAX_SAFE_INTEGER;return s-c||n.index-r.index}).map(({option:n})=>n)}function Yi(e,t=kn){switch(e){case"Local Ollama":return ho(t,["ollama","openrouter"]);case"OpenAI Codex":return ho(t,["codex","openrouter"]);case"Gemini CLI":return ho(t,["gemini-cli"]);case"Managed Cloud":case"BYOK":default:return ho(t,["openrouter"])}}function Qi(e){return e.startsWith("gemini-")?"gemini-cli":e.startsWith("llama")?"ollama":Ki(e)?"openrouter":"codex"}function Ji(e){const t=e.aiProvider??"OpenAI Codex",o=Yi(t),n=Yt(e.model);return n&&!o.some(r=>r.id===n)?[{id:n,label:`${n} (custom)`,provider:Qi(n)},...o]:o}const Tn="gpt-image-2",In="google/veo-2",Zi="1:1",es="16:9",Co="codex-image:",an="codex:",ts=["1024x1024","1536x1024","1024x1536"],os=[{id:"low",label:"Low"},{id:"medium",label:"Mid"},{id:"high",label:"High"}],ns=kn.filter(e=>e.provider==="codex").flatMap(e=>os.map(t=>({id:To(e.id,t.id),label:`Codex Image ${t.label} (${e.label})`,provider:"OpenAI Codex",mode:"Image",supportedSizes:ts}))),as=[{id:"gpt-image-2",label:"GPT Image 2",provider:"OpenAI",mode:"Image",supportedSizes:["custom"]},{id:"Tongyi-MAI/Z-Image-Turbo:free",label:"Z-Image Turbo",provider:"ImageRouter",mode:"Image",supportedSizes:["custom"]},...ns],rs=[{id:"google/veo-2",label:"Google Veo 2",provider:"ImageRouter",mode:"Video",supportedSizes:["1280x720","720x1280"]},{id:"runway/gen-3",label:"Runway Gen-3",provider:"ImageRouter",mode:"Video",supportedSizes:["1280x720","720x1280"]}],Ga=[{id:"1:1",label:"1:1",ratio:1,size:"1024x1024",width:1024,height:1024},{id:"4:3",label:"4:3",ratio:4/3,size:"1152x864",width:1152,height:864},{id:"3:4",label:"3:4",ratio:3/4,size:"864x1152",width:864,height:1152},{id:"16:9",label:"16:9",ratio:16/9,size:"1280x720",width:1280,height:720},{id:"9:16",label:"9:16",ratio:9/16,size:"720x1280",width:720,height:1280}],vn={id:"auto",label:"Auto",resolvedSize:null,note:"Adapter decides the final render size."},ma=.16;function Ao(e){return e==="Image"?as:rs}function Ua(e,t){const o=Cn(t),n=e==="Image"?Tn:In;if(!o)return n;if(e==="Image"){const r=ss(o);if(r)return r;if(cs(o))return us(o)}else{const r=ls(o);if(r)return r}return xn(e,o)??o}function rn(e,t){const o=e==="Image"?t.imageRouterImageModel:t.imageRouterVideoModel,n=Ua(e,o),r=e==="Image"?Tn:In,s=Ao(e),c=s.find(m=>m.id===n)??s.find(m=>m.id===r);return c||{id:n??r,label:n??r,provider:"Saved",mode:e,supportedSizes:e==="Image"?["custom"]:[]}}function za(e,t){if(e.supportedSizes.map(r=>r.toLowerCase()).includes("custom"))return ha(t);const n=e.supportedSizes.map(r=>ps(r)).filter(r=>!!r);return n.length>0?n:t==="Image"?ha(t):[vn]}function sn(e,t,o){const n=za(t,e),r=e==="Image"?Zi:es;return n.find(s=>s.id===o)??n.find(s=>s.id===r)??n[0]??vn}function is(e){switch(e){case"1:1":return"aspect-swatch--square";case"4:3":return"aspect-swatch--wide";case"3:4":return"aspect-swatch--portrait";case"16:9":return"aspect-swatch--cinema";case"9:16":return"aspect-swatch--vertical";default:return"aspect-swatch--auto"}}function ln(e){return e.resolvedSize??"auto"}function ha(e){const t=e==="Image"?"Image":"Video";return[vn,...Ga.map(o=>({id:o.id,label:o.label,resolvedSize:o.size,width:o.width,height:o.height,note:`${t} adapter hint: ${o.size}.`}))]}function Cn(e){return String(e??"").trim().replace(/^["']|["']$/g,"").trim()}function dt(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function ss(e){const t=dt(e);return["gpt-image-2","gpt image 2","gpt-image2","openai/gpt-image-2","openai:gpt-image-2","openai gpt-image-2","openai gpt image 2"].includes(t)?Tn:["tongyi-mai/z-image-turbo:free","z-image-turbo","z-image turbo","z image turbo","image-router/z-image-turbo","imagerouter z-image turbo"].includes(t)?"Tongyi-MAI/Z-Image-Turbo:free":xn("Image",e)}function ls(e){const t=dt(e);return["google/veo-2","google veo 2","google/veo2","google veo2","veo-2","veo2"].includes(t)?In:xn("Video",e)}function xn(e,t){const o=dt(t),n=Ao(e).find(r=>dt(r.id)===o||dt(r.label)===o);return(n==null?void 0:n.id)??null}function cs(e){const t=dt(e);return t.startsWith(Co)||t.startsWith(an)||t.startsWith("codex image")}function ds(e){const t=dt(Cn(e));return t==="low"?"low":t==="mid"||t==="medium"?"medium":t==="high"?"high":"medium"}function To(e,t){const o=Yt(e)||rt;return`${Co}${o}:${ds(t)}`}function us(e,t=rt){const o=Cn(e),n=dt(o);let r="";if(n.startsWith(Co)?r=o.slice(Co.length).trim():n.startsWith(an)?r=o.slice(an.length).trim():n.startsWith("codex image")&&(r=o.replace(/^codex\s+image\s*/i,"").trim()),!r)return To(t,"medium");const s=r.lastIndexOf(":");return s>0&&s<r.length-1?To(r.slice(0,s),r.slice(s+1)):To(t,r)}function ps(e){const t=ms(e);if(!t)return null;const o=t.width/t.height,n=Ga.map(s=>({definition:s,delta:Math.abs(s.ratio-o)})).sort((s,c)=>s.delta-c.delta)[0];return{id:n&&n.delta<=ma?n.definition.id:`${t.width}:${t.height}`,label:n&&n.delta<=ma?n.definition.label:e,resolvedSize:`${t.width}x${t.height}`,width:t.width,height:t.height,note:`Model native size: ${t.width}x${t.height}.`}}function ms(e){const t=e.trim().match(/^(\d{2,5})x(\d{2,5})$/i);if(!t)return null;const o=Number(t[1]),n=Number(t[2]);return!Number.isFinite(o)||!Number.isFinite(n)||o<=0||n<=0?null:{width:o,height:n}}const hs=[{id:"blank",label:"New Mind Canvas",description:"완전히 빈 실행 캔버스를 새로 만듭니다.",iconClass:"fa-solid fa-plus",prompt:"생성할 보드를 선택하세요.",quickCreateTemplateId:"blank-core",options:[]},{id:"business",label:"Business",description:"아이디어를 수익 모델, MVP, 실행 계획으로 바꾸는 비즈니스 설계 보드를 만듭니다.",iconClass:"fa-solid fa-lightbulb",prompt:"어떤 비즈니스 구조로 시작할까요?",options:[{id:"saas",label:"SaaS",description:"구독형 SaaS 비즈니스",templateId:"business-core"},{id:"mobile",label:"모바일 앱",description:"앱 중심 실행 보드",templateId:"business-core"},{id:"automation",label:"AI 자동화",description:"자동화 서비스 구조",templateId:"business-core"},{id:"education",label:"교육 상품",description:"코스/강의형 사업",templateId:"business-core"},{id:"unknown",label:"아직 모름",description:"아이디어 탐색 중심",templateId:"business-core"}]},{id:"build",label:"Build",description:"PRD, 데이터, 결제, 배포까지 한 흐름으로 정리한 서비스 개발 보드를 만듭니다.",iconClass:"fa-solid fa-hammer",prompt:"어떤 방식으로 제품을 만들고 싶나요?",options:[{id:"webapp",label:"웹앱",description:"웹앱 MVP 빌드",templateId:"build-core"},{id:"saas_mvp",label:"SaaS MVP",description:"구독형 SaaS 출시",templateId:"build-core"},{id:"aitool",label:"AI 도구",description:"AI 기반 서비스 구현",templateId:"build-core"},{id:"internal",label:"내부 도구",description:"팀/개인 생산성 도구",templateId:"build-core"}]},{id:"launch",label:"Launch",description:"랜딩 카피, 채널 게시물, 일정까지 묶인 마케팅 런치 보드를 만듭니다.",iconClass:"fa-solid fa-bullhorn",prompt:"어떤 런치 흐름에 맞춰 보드를 만들까요?",options:[{id:"product_hunt",label:"Product Hunt",description:"런치 페이지 중심",templateId:"launch-core"},{id:"social",label:"X / LinkedIn",description:"소셜 런치 중심",templateId:"launch-core"},{id:"community",label:"커뮤니티",description:"커뮤니티 배포 중심",templateId:"launch-core"},{id:"demo",label:"데모 영상",description:"데모 자산 준비 중심",templateId:"launch-core"}]},{id:"more",label:"More",description:"콘텐츠, 학습, 책, 음악처럼 다음 확장용 실행 보드를 불러옵니다.",iconClass:"fa-solid fa-ellipsis",prompt:"다음으로 확장할 실행 보드를 골라보세요.",options:[{id:"content",label:"콘텐츠",description:"영상/콘텐츠 제작",templateId:"content-core"},{id:"learn",label:"학습",description:"출시형 학습 보드",templateId:"learn-core"},{id:"book",label:"책",description:"전자책/스토리 제작",templateId:"book-core"},{id:"music",label:"음악",description:"오디오 제작 스튜디오",templateId:"music-core"}]}],gs=JSON.parse('[{"id":"blank-core","version":"0.1.0","tier":"core","status":"stable","boardTitle":"Canvas {{timestampShort}}","inputs":[],"nodes":[]},{"id":"business-core","version":"0.1.0","tier":"core","status":"stable","boardTitle":"비즈니스 설계 · {{optionLabel}}","inputs":[{"key":"businessIdea","type":"textarea","label":"어떤 비즈니스를 만들고 싶나요?","description":"한두 문장으로 해결하려는 문제와 아이디어를 적어보세요.","placeholder":"예: AI가 회의록을 정리하고 후속 업무를 자동으로 배정해주는 SaaS","required":true},{"key":"targetUser","type":"text","label":"주요 고객은 누구인가요?","description":"처음 돈을 낼 가능성이 큰 사용자군을 적어보세요.","placeholder":"예: 스타트업 팀 리드, 프리랜서 운영자"},{"key":"businessGoal","type":"select","label":"이번 보드의 목표","description":"지금 가장 먼저 해결하고 싶은 목표를 고르세요.","defaultValue":"validate","options":[{"value":"validate","label":"아이디어 검증"},{"value":"mvp","label":"MVP 설계"},{"value":"monetize","label":"수익화 설계"}]}],"nodes":[{"id":"idea","contentType":"memo","title":"사업 아이디어","body":"{{businessIdea}}","x":-520,"y":-40,"z":0,"width":360,"height":240,"metadata":{"memoColor":"amber","memoIcon":"lightbulb"}},{"id":"target","contentType":"note","title":"타깃 고객","body":"첫 고객 후보: {{targetUser}}\\n\\n1. 첫 고객군 3개\\n2. 각 고객의 급한 문제\\n3. 왜 지금 해결해야 하는지","x":-120,"y":-180,"z":0,"width":340,"height":220},{"id":"problem","contentType":"note","title":"문제 정의","body":"이번 목표는 {{businessGoal}}입니다.\\n불편함이 아니라 비용, 시간, 리스크처럼 돈이 되는 문제를 적어보세요.","x":280,"y":-180,"z":0,"width":340,"height":220},{"id":"revenue","contentType":"note","title":"수익 모델 후보","body":"구독 / 일회성 판매 / 크레딧 / 서비스형 결합 모델을 비교해보세요.","x":680,"y":-180,"z":0,"width":340,"height":220},{"id":"mvp","contentType":"note","title":"MVP 기능","body":"핵심 문제를 해결하는 기능만 3개 이하로 제한하세요.","x":-120,"y":120,"z":0,"width":340,"height":220},{"id":"pricing","contentType":"note","title":"가격 정책","body":"무료 체험, 기본 요금제, 업셀 지점을 함께 적어보세요.","x":280,"y":120,"z":0,"width":340,"height":220},{"id":"first100","contentType":"note","title":"첫 100명 전략","body":"직접 판매, 커뮤니티, 콘텐츠, 파트너십 중 가장 빠른 채널을 고르세요.","x":680,"y":120,"z":0,"width":340,"height":220},{"id":"plan7","contentType":"note","title":"7일 실행 계획","body":"오늘부터 7일 동안 해야 할 일만 날짜별로 적어 실행 가능한 일정으로 바꾸세요.","x":1080,"y":-20,"z":0,"width":340,"height":260}]},{"id":"build-core","version":"0.1.0","tier":"core","status":"stable","boardTitle":"서비스 개발 · {{productName}}","inputs":[{"key":"productName","type":"text","label":"무엇을 만들고 있나요?","description":"보드 상단과 노드에 바로 반영될 제품 이름을 적어보세요.","placeholder":"예: MeetingPilot","required":true},{"key":"productGoal","type":"textarea","label":"이번 MVP의 핵심 가치는 무엇인가요?","description":"사용자가 왜 이 제품을 써야 하는지 한두 문장으로 적어보세요.","placeholder":"예: 회의 후 5분 안에 실행 항목이 정리되도록 한다.","required":true},{"key":"stackOpinion","type":"select","label":"기본 빌드 흐름","description":"처음 버전에서 따라갈 구현 흐름을 고르세요.","defaultValue":"supabase-cloudflare","options":[{"value":"supabase-cloudflare","label":"Supabase + Cloudflare"},{"value":"webapp-default","label":"표준 웹앱 MVP"},{"value":"ai-tooling","label":"AI 도구 중심"}]}],"nodes":[{"id":"overview","contentType":"memo","title":"서비스 개요","body":"{{productName}}\\n\\n{{productGoal}}","x":-520,"y":-40,"z":0,"width":360,"height":240,"metadata":{"memoColor":"sky","memoIcon":"hammer"}},{"id":"prd","contentType":"note","title":"PRD","body":"제품: {{productName}}\\n문제, 사용자 흐름, 필수 기능, 제외 기능을 한 장으로 정리하세요.","x":-120,"y":-180,"z":0,"width":340,"height":220},{"id":"prompt","contentType":"note","title":"개발 프롬프트","body":"외부 개발 도구나 Codex에 넘길 구현 프롬프트 초안을 작성하세요.\\n기본 흐름: {{stackOpinion}}","x":280,"y":-180,"z":0,"width":340,"height":220},{"id":"db","contentType":"note","title":"DB 설계","body":"핵심 테이블, 관계, 최소 필수 컬럼만 먼저 정의하세요.","x":680,"y":-180,"z":0,"width":340,"height":220},{"id":"auth","contentType":"note","title":"Auth / 권한","body":"로그인, 역할, 온보딩, 접근 제어 시나리오를 적어보세요.","x":-120,"y":120,"z":0,"width":340,"height":220},{"id":"payment","contentType":"note","title":"결제 흐름","body":"요금제, 결제 성공/실패, 환불, 사용량 제한까지 연결하세요.","x":280,"y":120,"z":0,"width":340,"height":220},{"id":"deploy","contentType":"note","title":"배포 체크리스트","body":"환경 변수, 도메인, 모니터링, 오류 추적 준비 상태를 확인하세요.","x":680,"y":120,"z":0,"width":340,"height":220},{"id":"ops","contentType":"note","title":"운영 / 고객지원","body":"문의, 환불, 버그 리포트, 관리자 대시보드 항목을 정리하세요.","x":1080,"y":-180,"z":0,"width":340,"height":220},{"id":"qa","contentType":"note","title":"출시 전 QA","body":"결제, 로그인, 온보딩, 모바일 화면, 오류 복구 시나리오를 최종 점검하세요.","x":1080,"y":120,"z":0,"width":340,"height":220}]},{"id":"launch-core","version":"0.1.0","tier":"core","status":"stable","boardTitle":"마케팅 런치 · {{productName}}","inputs":[{"key":"productName","type":"text","label":"무엇을 홍보하나요?","description":"제품명이나 캠페인 이름을 적어보세요.","placeholder":"예: MeetingPilot","required":true},{"key":"targetAudience","type":"text","label":"주요 타깃은 누구인가요?","description":"메시지를 맞출 대표 사용자군을 적어보세요.","placeholder":"예: 스타트업 팀 리드, 솔로 파운더"},{"key":"launchGoal","type":"select","label":"이번 런치의 목표","description":"보드가 최우선으로 도와줄 목표를 고르세요.","defaultValue":"signups","options":[{"value":"signups","label":"가입 전환"},{"value":"waitlist","label":"대기자 확보"},{"value":"sales","label":"첫 결제 만들기"}]}],"nodes":[{"id":"positioning","contentType":"memo","title":"포지셔닝","body":"{{productName}}\\n주요 타깃: {{targetAudience}}\\n이번 목표: {{launchGoal}}","x":-520,"y":-40,"z":0,"width":360,"height":240,"metadata":{"memoColor":"rose","memoIcon":"bullhorn"}},{"id":"landing","contentType":"note","title":"랜딩페이지 카피","body":"헤드라인, 서브카피, CTA, 신뢰 요소를 빠르게 초안화하세요.","x":-120,"y":-180,"z":0,"width":340,"height":220},{"id":"channelCopy","contentType":"note","title":"채널별 소개문","body":"Product Hunt / X / LinkedIn / 커뮤니티용 소개문을 각각 다르게 써보세요.","x":280,"y":-180,"z":0,"width":340,"height":220},{"id":"community","contentType":"note","title":"커뮤니티 포스트","body":"홍보가 아니라 문제 해결 경험 공유 형태로 바꿔보세요.","x":680,"y":-180,"z":0,"width":340,"height":220},{"id":"demoChecklist","contentType":"note","title":"데모 영상 체크리스트","body":"문제 제시, 해결 시연, CTA 순서로 필요한 장면을 정리하세요.","x":-120,"y":120,"z":0,"width":340,"height":220},{"id":"assets","contentType":"note","title":"스크린샷 자산","body":"대표 화면, 비교 장면, 후기/증거 이미지를 수집하세요.","x":280,"y":120,"z":0,"width":340,"height":220},{"id":"schedule","contentType":"note","title":"배포 일정","body":"오늘, 내일, 일주일 안에 배포할 채널과 시간을 적어보세요.","x":680,"y":120,"z":0,"width":340,"height":220},{"id":"metrics","contentType":"note","title":"성과 기록","body":"방문, 가입, 결제, 반응이 좋았던 메시지를 한곳에 적재하세요.","x":1080,"y":-20,"z":0,"width":340,"height":260}]},{"id":"content-core","version":"0.1.0","tier":"preview","status":"experimental","boardTitle":"콘텐츠 제작 · {{contentTheme}}","inputs":[{"key":"contentTheme","type":"text","label":"무슨 콘텐츠를 만들까요?","description":"영상/게시물의 핵심 주제를 적어보세요.","placeholder":"예: AI 회의 요약 도구 소개 영상","required":true},{"key":"contentChannel","type":"select","label":"주요 채널","description":"초기 기획을 맞출 채널을 골라보세요.","defaultValue":"youtube","options":[{"value":"youtube","label":"YouTube"},{"value":"shorts","label":"Shorts / Reels"},{"value":"blog","label":"블로그 / 글"}]}],"nodes":[{"id":"contentPlan","contentType":"memo","title":"콘텐츠 기획","body":"{{contentTheme}}\\n주요 채널: {{contentChannel}}","x":-420,"y":-20,"z":0,"width":360,"height":240,"metadata":{"memoColor":"violet","memoIcon":"film"}},{"id":"script","contentType":"note","title":"대본","body":"오프닝 훅, 핵심 포인트, CTA를 써보세요.","x":0,"y":-160,"z":0,"width":340,"height":220},{"id":"scenes","contentType":"note","title":"장면 구성","body":"장면별 메시지와 필요한 시각 자료를 나누세요.","x":400,"y":-160,"z":0,"width":340,"height":220},{"id":"imagePrompts","contentType":"note","title":"이미지 프롬프트","body":"썸네일/컷신용 이미지 프롬프트를 작성하세요.","x":0,"y":120,"z":0,"width":340,"height":220},{"id":"videoPrompts","contentType":"note","title":"영상 프롬프트","body":"카메라 움직임, 분위기, 길이를 정의하세요.","x":400,"y":120,"z":0,"width":340,"height":220},{"id":"distribution","contentType":"note","title":"배포 체크","body":"제목, 설명, 썸네일, 업로드 일정까지 확인하세요.","x":800,"y":-20,"z":0,"width":340,"height":260}]},{"id":"learn-core","version":"0.1.0","tier":"preview","status":"experimental","boardTitle":"출시형 학습 · {{learningGoal}}","inputs":[{"key":"learningGoal","type":"text","label":"어떤 결과물을 목표로 배우나요?","description":"단순 문법보다 만들고 싶은 산출물을 적어보세요.","placeholder":"예: 첫 번째 SaaS MVP 출시","required":true}],"nodes":[{"id":"goal","contentType":"memo","title":"학습 목표","body":"{{learningGoal}}","x":-420,"y":-20,"z":0,"width":360,"height":240,"metadata":{"memoColor":"emerald","memoIcon":"graduation-cap"}},{"id":"basics","contentType":"note","title":"기초 개념","body":"지금 부족한 문법과 개념을 적어 우선순위를 정하세요.","x":0,"y":-160,"z":0,"width":340,"height":220},{"id":"smallFeature","contentType":"note","title":"작은 기능 만들기","body":"작게 끝낼 수 있는 기능 단위를 나누세요.","x":400,"y":-160,"z":0,"width":340,"height":220},{"id":"api","contentType":"note","title":"API 사용","body":"연동할 API와 테스트 시나리오를 정리하세요.","x":0,"y":120,"z":0,"width":340,"height":220},{"id":"dbAuth","contentType":"note","title":"DB / Auth","body":"저장 구조와 로그인 흐름을 간단히 설계하세요.","x":400,"y":120,"z":0,"width":340,"height":220},{"id":"ship","contentType":"note","title":"배포","body":"배포까지 필요한 최소 단계만 체크리스트로 적으세요.","x":800,"y":-20,"z":0,"width":340,"height":260}]},{"id":"book-core","version":"0.1.0","tier":"preview","status":"experimental","boardTitle":"책/전자책 · {{bookTopic}}","inputs":[{"key":"bookTopic","type":"text","label":"어떤 책을 만들까요?","description":"주제나 제목 초안을 적어보세요.","placeholder":"예: 솔로 파운더를 위한 AI 실행 가이드","required":true},{"key":"readerType","type":"text","label":"누구를 위한 책인가요?","description":"대표 독자층을 한 줄로 적어보세요.","placeholder":"예: 첫 제품을 만들려는 1인 창업자"}],"nodes":[{"id":"bookConcept","contentType":"memo","title":"책 컨셉","body":"{{bookTopic}}\\n대표 독자: {{readerType}}","x":-420,"y":-20,"z":0,"width":360,"height":240,"metadata":{"memoColor":"amber","memoIcon":"book-open"}},{"id":"toc","contentType":"note","title":"목차","body":"큰 장과 소장 흐름을 먼저 정리하세요.","x":0,"y":-160,"z":0,"width":340,"height":220},{"id":"chapters","contentType":"note","title":"챕터 초안","body":"핵심 메시지와 사례를 장별로 메모하세요.","x":400,"y":-160,"z":0,"width":340,"height":220},{"id":"cover","contentType":"note","title":"삽화 / 표지","body":"필요한 비주얼 자산 목록을 정리하세요.","x":0,"y":120,"z":0,"width":340,"height":220},{"id":"edit","contentType":"note","title":"교정 / 편집","body":"말투, 중복, 흐름, CTA 점검 포인트를 적으세요.","x":400,"y":120,"z":0,"width":340,"height":220},{"id":"export","contentType":"note","title":"Export","body":"PDF/EPUB/배포 채널까지 마무리 작업을 적으세요.","x":800,"y":-20,"z":0,"width":340,"height":260}]},{"id":"music-core","version":"0.1.0","tier":"preview","status":"experimental","boardTitle":"음악 제작 · {{trackMood}}","inputs":[{"key":"trackMood","type":"text","label":"어떤 분위기의 트랙을 만들까요?","description":"감정이나 사용 장면을 짧게 적어보세요.","placeholder":"예: 밤 작업용 로파이 집중 트랙","required":true},{"key":"musicGenre","type":"select","label":"기본 장르","description":"가장 가까운 출발 장르를 골라보세요.","defaultValue":"lofi","options":[{"value":"lofi","label":"Lo-fi"},{"value":"ambient","label":"Ambient"},{"value":"pop","label":"Pop"},{"value":"cinematic","label":"Cinematic"}]}],"nodes":[{"id":"musicConcept","contentType":"memo","title":"음악 컨셉","body":"{{trackMood}}\\n기본 장르: {{musicGenre}}","x":-420,"y":-20,"z":0,"width":360,"height":240,"metadata":{"memoColor":"pink","memoIcon":"music"}},{"id":"references","contentType":"note","title":"레퍼런스","body":"참고곡과 참고 포인트를 나열하세요.","x":0,"y":-160,"z":0,"width":340,"height":220},{"id":"vocals","contentType":"note","title":"보컬 / 악기","body":"보컬 타입과 핵심 악기 구성을 적어보세요.","x":400,"y":-160,"z":0,"width":340,"height":220},{"id":"lyrics","contentType":"note","title":"가사","body":"주제, 반복 훅, 금지 표현을 정리하세요.","x":0,"y":120,"z":0,"width":340,"height":220},{"id":"generationPrompt","contentType":"note","title":"생성 프롬프트","body":"음향, 구조, 분위기 지시문을 모아두세요.","x":400,"y":120,"z":0,"width":340,"height":220},{"id":"versions","contentType":"note","title":"버전 비교","body":"mp3 결과물과 수정 포인트를 기록하세요.","x":800,"y":-20,"z":0,"width":340,"height":260}]}]'),fs={launchers:hs,templates:gs},ga={en:{"launcher.blank.title":"New Mind Canvas","launcher.blank.desc":"Create a clean execution canvas.","launcher.blank.prompt":"Choose the board you want to create.","launcher.business.title":"Business","launcher.business.desc":"Turn an idea into a revenue model, MVP, and execution plan.","launcher.business.prompt":"What business structure should we start with?","launcher.business.option.saas.title":"SaaS","launcher.business.option.saas.desc":"Subscription SaaS business","launcher.business.option.mobile.title":"Mobile App","launcher.business.option.mobile.desc":"Mobile-first execution board","launcher.business.option.automation.title":"AI Automation","launcher.business.option.automation.desc":"Automation service structure","launcher.business.option.education.title":"Education Product","launcher.business.option.education.desc":"Course or lecture business","launcher.business.option.unknown.title":"Not sure yet","launcher.business.option.unknown.desc":"Explore possible ideas","launcher.build.title":"Build","launcher.build.desc":"Organize a service build from PRD, data, billing, and deployment.","launcher.build.prompt":"What kind of product should we build?","launcher.build.option.webapp.title":"Web App","launcher.build.option.webapp.desc":"Build a web MVP","launcher.build.option.saas_mvp.title":"SaaS MVP","launcher.build.option.saas_mvp.desc":"Launch a subscription SaaS","launcher.build.option.aitool.title":"AI Tool","launcher.build.option.aitool.desc":"Implement an AI-powered service","launcher.build.option.internal.title":"Internal Tool","launcher.build.option.internal.desc":"Team or personal productivity tool","launcher.launch.title":"Launch","launcher.launch.desc":"Plan landing copy, channel posts, assets, and launch schedule.","launcher.launch.prompt":"What launch flow should we prepare?","launcher.launch.option.product_hunt.title":"Product Hunt","launcher.launch.option.product_hunt.desc":"Prepare a launch page","launcher.launch.option.social.title":"X / LinkedIn","launcher.launch.option.social.desc":"Plan social launch posts","launcher.launch.option.community.title":"Community","launcher.launch.option.community.desc":"Plan community distribution","launcher.launch.option.demo.title":"Demo Video","launcher.launch.option.demo.desc":"Prepare a demo asset","launcher.more.title":"More","launcher.more.desc":"Open more execution boards for content, learning, books, and music.","launcher.more.prompt":"Choose the next execution board.","launcher.more.option.content.title":"Content","launcher.more.option.content.desc":"Start video or content production","launcher.more.option.learn.title":"Learn","launcher.more.option.learn.desc":"Create a launch-focused learning board","launcher.more.option.book.title":"Book","launcher.more.option.book.desc":"Start an ebook or story board","launcher.more.option.music.title":"Music","launcher.more.option.music.desc":"Start an audio production studio","templateCard.eyebrow":"Template","templateCard.generate":"Generate","templateCard.noInputs":"No inputs needed.","templateCard.generating":"Generating nodes...","templateCard.generated":"Generated {0} nodes below.","templateCard.failed":"Template generation failed.","templateCard.required":"{0} is required.","template.blank-core.boardTitle":"Canvas {{timestampShort}}","template.business-core.boardTitle":"Business Design - {{optionLabel}}","template.business-core.input.businessIdea.label":"What business do you want to build?","template.business-core.input.businessIdea.desc":"Write the problem and idea you want to solve in one or two sentences.","template.business-core.input.businessIdea.placeholder":"Example: A SaaS that summarizes meetings and assigns follow-up work automatically","template.business-core.input.targetUser.label":"Who is the primary customer?","template.business-core.input.targetUser.desc":"Write the user group most likely to pay first.","template.business-core.input.targetUser.placeholder":"Example: startup team leads, freelance operators","template.business-core.input.businessGoal.label":"Goal for this board","template.business-core.input.businessGoal.desc":"Choose what you want to solve first.","template.business-core.input.businessGoal.option.validate":"Validate the idea","template.business-core.input.businessGoal.option.mvp":"Design the MVP","template.business-core.input.businessGoal.option.monetize":"Design monetization","template.business-core.node.idea.title":"Business Idea","template.business-core.node.idea.body":"{{businessIdea}}","template.business-core.node.target.title":"Target Customers","template.business-core.node.target.body":`First customer candidates: {{targetUser}}
|
|
1
|
+
import{r as p,j as a}from"./vendor-react-BXzpOyCS.js";import{R as g}from"./app-runtime-xD2Z3NdN.js";import{S as gi,L as fi,P as bi,I as La,U as yi,a as ki,b as Ti,X as Po,K as pa,V as Ii,C as vi,B as Ci,c as ko,d as xi,e as wi,R as vo,f as nn,g as Si,M as Ri,h as ja,i as Na,j as Da,k as Oa,l as Mi,m as _a,n as Pi,o as Ai,F as Ei,p as Li,H as ji,q as Ni,r as Di,s as Fa,t as Oi,G as _i,u as Fi,v as Bi,w as Gi,x as Ui,y as zi,T as $i,z as Vi}from"./vendor-icons-D0xKCnZS.js";const rt="gpt-5.5",qi="gemini-3-flash-preview",Wi="llama3",kn=[{id:"gpt-5.5",label:"GPT-5.5",provider:"codex"},{id:"gpt-5.4",label:"GPT-5.4",provider:"codex"},{id:"gpt-5.4-mini",label:"GPT-5.4 mini",provider:"codex"},{id:"gpt-5.3-codex-spark",label:"GPT-5.3 Codex Spark",provider:"codex"},{id:Wi,label:"llama3",provider:"ollama"},{id:"llama3.2",label:"llama3.2",provider:"ollama"},{id:"openrouter/auto",label:"Auto Router",provider:"openrouter"},{id:"openai/gpt-chat-latest",label:"GPT Chat Latest",provider:"openrouter"},{id:"anthropic/claude-sonnet-4.5",label:"Claude Sonnet 4.5",provider:"openrouter"},{id:"google/gemini-2.5-pro",label:"Gemini 2.5 Pro",provider:"openrouter"},{id:"google/gemini-2.5-flash",label:"Gemini 2.5 Flash",provider:"openrouter"},{id:qi,label:"Gemini 3 Flash Preview",provider:"gemini-cli"},{id:"gemini-3-pro-preview",label:"Gemini 3 Pro Preview",provider:"gemini-cli"},{id:"gemini-2.5-flash",label:"Gemini 2.5 Flash",provider:"gemini-cli"},{id:"gemini-2.5-pro",label:"Gemini 2.5 Pro",provider:"gemini-cli"},{id:"gemini-2.5-flash-lite-preview-06-17",label:"Gemini 2.5 Flash Lite Preview",provider:"gemini-cli"}],Hi=new Map([["",rt],["openai: gpt-4.1 mini",rt],["gpt-4.1 mini",rt],["gpt-5.3-codex",rt],["gpt-5.2",rt],["gpt-5.2-codex",rt]]);function Yt(e){const t=String(e??"").trim().replace(/^["']|["']$/g,""),o=t.toLowerCase();return Hi.get(o)??t}function Ki(e){const t=Yt(e);return t.includes("/")||t.includes(":")}function Xi(e){const t=Yt(e);return kn.find(o=>o.id===t)??null}function Ba(e){switch(e){case"codex":return"Codex";case"ollama":return"Ollama";case"gemini-cli":return"Gemini CLI";case"openrouter":return"OpenRouter";default:return e}}function ho(e,t){const o=new Map(t.map((n,r)=>[n,r]));return e.map((n,r)=>({option:n,index:r})).filter(({option:n})=>o.has(n.provider)).sort((n,r)=>{const s=o.get(n.option.provider)??Number.MAX_SAFE_INTEGER,c=o.get(r.option.provider)??Number.MAX_SAFE_INTEGER;return s-c||n.index-r.index}).map(({option:n})=>n)}function Yi(e,t=kn){switch(e){case"Local Ollama":return ho(t,["ollama","openrouter"]);case"OpenAI Codex":return ho(t,["codex","openrouter"]);case"Gemini CLI":return ho(t,["gemini-cli"]);case"Managed Cloud":case"BYOK":default:return ho(t,["openrouter"])}}function Qi(e){return e.startsWith("gemini-")?"gemini-cli":e.startsWith("llama")?"ollama":Ki(e)?"openrouter":"codex"}function Ji(e){const t=e.aiProvider??"OpenAI Codex",o=Yi(t),n=Yt(e.model);return n&&!o.some(r=>r.id===n)?[{id:n,label:`${n} (custom)`,provider:Qi(n)},...o]:o}const Tn="gpt-image-2",In="google/veo-2",Zi="1:1",es="16:9",Co="codex-image:",an="codex:",ts=["1024x1024","1536x1024","1024x1536"],os=[{id:"low",label:"Low"},{id:"medium",label:"Mid"},{id:"high",label:"High"}],ns=kn.filter(e=>e.provider==="codex").flatMap(e=>os.map(t=>({id:To(e.id,t.id),label:`Codex Image ${t.label} (${e.label})`,provider:"OpenAI Codex",mode:"Image",supportedSizes:ts}))),as=[{id:"gpt-image-2",label:"GPT Image 2",provider:"OpenAI",mode:"Image",supportedSizes:["custom"]},{id:"Tongyi-MAI/Z-Image-Turbo:free",label:"Z-Image Turbo",provider:"ImageRouter",mode:"Image",supportedSizes:["custom"]},...ns],rs=[{id:"google/veo-2",label:"Google Veo 2",provider:"ImageRouter",mode:"Video",supportedSizes:["1280x720","720x1280"]},{id:"runway/gen-3",label:"Runway Gen-3",provider:"ImageRouter",mode:"Video",supportedSizes:["1280x720","720x1280"]}],Ga=[{id:"1:1",label:"1:1",ratio:1,size:"1024x1024",width:1024,height:1024},{id:"4:3",label:"4:3",ratio:4/3,size:"1152x864",width:1152,height:864},{id:"3:4",label:"3:4",ratio:3/4,size:"864x1152",width:864,height:1152},{id:"16:9",label:"16:9",ratio:16/9,size:"1280x720",width:1280,height:720},{id:"9:16",label:"9:16",ratio:9/16,size:"720x1280",width:720,height:1280}],vn={id:"auto",label:"Auto",resolvedSize:null,note:"Adapter decides the final render size."},ma=.16;function Ao(e){return e==="Image"?as:rs}function Ua(e,t){const o=Cn(t),n=e==="Image"?Tn:In;if(!o)return n;if(e==="Image"){const r=ss(o);if(r)return r;if(cs(o))return us(o)}else{const r=ls(o);if(r)return r}return xn(e,o)??o}function rn(e,t){const o=e==="Image"?t.imageRouterImageModel:t.imageRouterVideoModel,n=Ua(e,o),r=e==="Image"?Tn:In,s=Ao(e),c=s.find(m=>m.id===n)??s.find(m=>m.id===r);return c||{id:n??r,label:n??r,provider:"Saved",mode:e,supportedSizes:e==="Image"?["custom"]:[]}}function za(e,t){if(e.supportedSizes.map(r=>r.toLowerCase()).includes("custom"))return ha(t);const n=e.supportedSizes.map(r=>ps(r)).filter(r=>!!r);return n.length>0?n:t==="Image"?ha(t):[vn]}function sn(e,t,o){const n=za(t,e),r=e==="Image"?Zi:es;return n.find(s=>s.id===o)??n.find(s=>s.id===r)??n[0]??vn}function is(e){switch(e){case"1:1":return"aspect-swatch--square";case"4:3":return"aspect-swatch--wide";case"3:4":return"aspect-swatch--portrait";case"16:9":return"aspect-swatch--cinema";case"9:16":return"aspect-swatch--vertical";default:return"aspect-swatch--auto"}}function ln(e){return e.resolvedSize??"auto"}function ha(e){const t=e==="Image"?"Image":"Video";return[vn,...Ga.map(o=>({id:o.id,label:o.label,resolvedSize:o.size,width:o.width,height:o.height,note:`${t} adapter hint: ${o.size}.`}))]}function Cn(e){return String(e??"").trim().replace(/^["']|["']$/g,"").trim()}function dt(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function ss(e){const t=dt(e);return["gpt-image-2","gpt image 2","gpt-image2","openai/gpt-image-2","openai:gpt-image-2","openai gpt-image-2","openai gpt image 2"].includes(t)?Tn:["tongyi-mai/z-image-turbo:free","z-image-turbo","z-image turbo","z image turbo","image-router/z-image-turbo","imagerouter z-image turbo"].includes(t)?"Tongyi-MAI/Z-Image-Turbo:free":xn("Image",e)}function ls(e){const t=dt(e);return["google/veo-2","google veo 2","google/veo2","google veo2","veo-2","veo2"].includes(t)?In:xn("Video",e)}function xn(e,t){const o=dt(t),n=Ao(e).find(r=>dt(r.id)===o||dt(r.label)===o);return(n==null?void 0:n.id)??null}function cs(e){const t=dt(e);return t.startsWith(Co)||t.startsWith(an)||t.startsWith("codex image")}function ds(e){const t=dt(Cn(e));return t==="low"?"low":t==="mid"||t==="medium"?"medium":t==="high"?"high":"medium"}function To(e,t){const o=Yt(e)||rt;return`${Co}${o}:${ds(t)}`}function us(e,t=rt){const o=Cn(e),n=dt(o);let r="";if(n.startsWith(Co)?r=o.slice(Co.length).trim():n.startsWith(an)?r=o.slice(an.length).trim():n.startsWith("codex image")&&(r=o.replace(/^codex\s+image\s*/i,"").trim()),!r)return To(t,"medium");const s=r.lastIndexOf(":");return s>0&&s<r.length-1?To(r.slice(0,s),r.slice(s+1)):To(t,r)}function ps(e){const t=ms(e);if(!t)return null;const o=t.width/t.height,n=Ga.map(s=>({definition:s,delta:Math.abs(s.ratio-o)})).sort((s,c)=>s.delta-c.delta)[0];return{id:n&&n.delta<=ma?n.definition.id:`${t.width}:${t.height}`,label:n&&n.delta<=ma?n.definition.label:e,resolvedSize:`${t.width}x${t.height}`,width:t.width,height:t.height,note:`Model native size: ${t.width}x${t.height}.`}}function ms(e){const t=e.trim().match(/^(\d{2,5})x(\d{2,5})$/i);if(!t)return null;const o=Number(t[1]),n=Number(t[2]);return!Number.isFinite(o)||!Number.isFinite(n)||o<=0||n<=0?null:{width:o,height:n}}const hs=[{id:"blank",label:"New Mind Canvas",description:"완전히 빈 실행 캔버스를 새로 만듭니다.",iconClass:"fa-solid fa-plus",prompt:"생성할 보드를 선택하세요.",quickCreateTemplateId:"blank-core",options:[]},{id:"business",label:"Business",description:"아이디어를 수익 모델, MVP, 실행 계획으로 바꾸는 비즈니스 설계 보드를 만듭니다.",iconClass:"fa-solid fa-lightbulb",prompt:"어떤 비즈니스 구조로 시작할까요?",options:[{id:"saas",label:"SaaS",description:"구독형 SaaS 비즈니스",templateId:"business-core"},{id:"mobile",label:"모바일 앱",description:"앱 중심 실행 보드",templateId:"business-core"},{id:"automation",label:"AI 자동화",description:"자동화 서비스 구조",templateId:"business-core"},{id:"education",label:"교육 상품",description:"코스/강의형 사업",templateId:"business-core"},{id:"unknown",label:"아직 모름",description:"아이디어 탐색 중심",templateId:"business-core"}]},{id:"build",label:"Build",description:"PRD, 데이터, 결제, 배포까지 한 흐름으로 정리한 서비스 개발 보드를 만듭니다.",iconClass:"fa-solid fa-hammer",prompt:"어떤 방식으로 제품을 만들고 싶나요?",options:[{id:"webapp",label:"웹앱",description:"웹앱 MVP 빌드",templateId:"build-core"},{id:"saas_mvp",label:"SaaS MVP",description:"구독형 SaaS 출시",templateId:"build-core"},{id:"aitool",label:"AI 도구",description:"AI 기반 서비스 구현",templateId:"build-core"},{id:"internal",label:"내부 도구",description:"팀/개인 생산성 도구",templateId:"build-core"}]},{id:"launch",label:"Launch",description:"랜딩 카피, 채널 게시물, 일정까지 묶인 마케팅 런치 보드를 만듭니다.",iconClass:"fa-solid fa-bullhorn",prompt:"어떤 런치 흐름에 맞춰 보드를 만들까요?",options:[{id:"product_hunt",label:"Product Hunt",description:"런치 페이지 중심",templateId:"launch-core"},{id:"social",label:"X / LinkedIn",description:"소셜 런치 중심",templateId:"launch-core"},{id:"community",label:"커뮤니티",description:"커뮤니티 배포 중심",templateId:"launch-core"},{id:"demo",label:"데모 영상",description:"데모 자산 준비 중심",templateId:"launch-core"}]},{id:"more",label:"More",description:"콘텐츠, 학습, 책, 음악처럼 다음 확장용 실행 보드를 불러옵니다.",iconClass:"fa-solid fa-ellipsis",prompt:"다음으로 확장할 실행 보드를 골라보세요.",options:[{id:"content",label:"콘텐츠",description:"영상/콘텐츠 제작",templateId:"content-core"},{id:"learn",label:"학습",description:"출시형 학습 보드",templateId:"learn-core"},{id:"book",label:"책",description:"전자책/스토리 제작",templateId:"book-core"},{id:"music",label:"음악",description:"오디오 제작 스튜디오",templateId:"music-core"}]}],gs=JSON.parse('[{"id":"blank-core","version":"0.1.0","tier":"core","status":"stable","boardTitle":"Canvas {{timestampShort}}","inputs":[],"nodes":[]},{"id":"business-core","version":"0.1.0","tier":"core","status":"stable","boardTitle":"비즈니스 설계 · {{optionLabel}}","inputs":[{"key":"businessIdea","type":"textarea","label":"어떤 비즈니스를 만들고 싶나요?","description":"한두 문장으로 해결하려는 문제와 아이디어를 적어보세요.","placeholder":"예: AI가 회의록을 정리하고 후속 업무를 자동으로 배정해주는 SaaS","required":true},{"key":"targetUser","type":"text","label":"주요 고객은 누구인가요?","description":"처음 돈을 낼 가능성이 큰 사용자군을 적어보세요.","placeholder":"예: 스타트업 팀 리드, 프리랜서 운영자"},{"key":"businessGoal","type":"select","label":"이번 보드의 목표","description":"지금 가장 먼저 해결하고 싶은 목표를 고르세요.","defaultValue":"validate","options":[{"value":"validate","label":"아이디어 검증"},{"value":"mvp","label":"MVP 설계"},{"value":"monetize","label":"수익화 설계"}]}],"nodes":[{"id":"idea","contentType":"memo","title":"사업 아이디어","body":"{{businessIdea}}","x":-520,"y":-40,"z":0,"width":360,"height":240,"metadata":{"memoColor":"amber","memoIcon":"lightbulb"}},{"id":"target","contentType":"note","title":"타깃 고객","body":"첫 고객 후보: {{targetUser}}\\n\\n1. 첫 고객군 3개\\n2. 각 고객의 급한 문제\\n3. 왜 지금 해결해야 하는지","x":-120,"y":-180,"z":0,"width":340,"height":220},{"id":"problem","contentType":"note","title":"문제 정의","body":"이번 목표는 {{businessGoal}}입니다.\\n불편함이 아니라 비용, 시간, 리스크처럼 돈이 되는 문제를 적어보세요.","x":280,"y":-180,"z":0,"width":340,"height":220},{"id":"revenue","contentType":"note","title":"수익 모델 후보","body":"구독 / 일회성 판매 / 크레딧 / 서비스형 결합 모델을 비교해보세요.","x":680,"y":-180,"z":0,"width":340,"height":220},{"id":"mvp","contentType":"note","title":"MVP 기능","body":"핵심 문제를 해결하는 기능만 3개 이하로 제한하세요.","x":-120,"y":120,"z":0,"width":340,"height":220},{"id":"pricing","contentType":"note","title":"가격 정책","body":"무료 체험, 기본 요금제, 업셀 지점을 함께 적어보세요.","x":280,"y":120,"z":0,"width":340,"height":220},{"id":"first100","contentType":"note","title":"첫 100명 전략","body":"직접 판매, 커뮤니티, 콘텐츠, 파트너십 중 가장 빠른 채널을 고르세요.","x":680,"y":120,"z":0,"width":340,"height":220},{"id":"plan7","contentType":"note","title":"7일 실행 계획","body":"오늘부터 7일 동안 해야 할 일만 날짜별로 적어 실행 가능한 일정으로 바꾸세요.","x":1080,"y":-20,"z":0,"width":340,"height":260}]},{"id":"build-core","version":"0.1.0","tier":"core","status":"stable","boardTitle":"서비스 개발 · {{productName}}","inputs":[{"key":"productName","type":"text","label":"무엇을 만들고 있나요?","description":"보드 상단과 노드에 바로 반영될 제품 이름을 적어보세요.","placeholder":"예: MeetingPilot","required":true},{"key":"productGoal","type":"textarea","label":"이번 MVP의 핵심 가치는 무엇인가요?","description":"사용자가 왜 이 제품을 써야 하는지 한두 문장으로 적어보세요.","placeholder":"예: 회의 후 5분 안에 실행 항목이 정리되도록 한다.","required":true},{"key":"stackOpinion","type":"select","label":"기본 빌드 흐름","description":"처음 버전에서 따라갈 구현 흐름을 고르세요.","defaultValue":"supabase-cloudflare","options":[{"value":"supabase-cloudflare","label":"Supabase + Cloudflare"},{"value":"webapp-default","label":"표준 웹앱 MVP"},{"value":"ai-tooling","label":"AI 도구 중심"}]}],"nodes":[{"id":"overview","contentType":"memo","title":"서비스 개요","body":"{{productName}}\\n\\n{{productGoal}}","x":-520,"y":-40,"z":0,"width":360,"height":240,"metadata":{"memoColor":"sky","memoIcon":"hammer"}},{"id":"prd","contentType":"note","title":"PRD","body":"제품: {{productName}}\\n문제, 사용자 흐름, 필수 기능, 제외 기능을 한 장으로 정리하세요.","x":-120,"y":-180,"z":0,"width":340,"height":220},{"id":"prompt","contentType":"note","title":"개발 프롬프트","body":"외부 개발 도구나 Codex에 넘길 구현 프롬프트 초안을 작성하세요.\\n기본 흐름: {{stackOpinion}}","x":280,"y":-180,"z":0,"width":340,"height":220},{"id":"db","contentType":"note","title":"DB 설계","body":"핵심 테이블, 관계, 최소 필수 컬럼만 먼저 정의하세요.","x":680,"y":-180,"z":0,"width":340,"height":220},{"id":"auth","contentType":"note","title":"Auth / 권한","body":"로그인, 역할, 온보딩, 접근 제어 시나리오를 적어보세요.","x":-120,"y":120,"z":0,"width":340,"height":220},{"id":"payment","contentType":"note","title":"결제 흐름","body":"요금제, 결제 성공/실패, 환불, 사용량 제한까지 연결하세요.","x":280,"y":120,"z":0,"width":340,"height":220},{"id":"deploy","contentType":"note","title":"배포 체크리스트","body":"환경 변수, 도메인, 모니터링, 오류 추적 준비 상태를 확인하세요.","x":680,"y":120,"z":0,"width":340,"height":220},{"id":"ops","contentType":"note","title":"운영 / 고객지원","body":"문의, 환불, 버그 리포트, 관리자 대시보드 항목을 정리하세요.","x":1080,"y":-180,"z":0,"width":340,"height":220},{"id":"qa","contentType":"note","title":"출시 전 QA","body":"결제, 로그인, 온보딩, 모바일 화면, 오류 복구 시나리오를 최종 점검하세요.","x":1080,"y":120,"z":0,"width":340,"height":220}]},{"id":"launch-core","version":"0.1.0","tier":"core","status":"stable","boardTitle":"마케팅 런치 · {{productName}}","inputs":[{"key":"productName","type":"text","label":"무엇을 홍보하나요?","description":"제품명이나 캠페인 이름을 적어보세요.","placeholder":"예: MeetingPilot","required":true},{"key":"targetAudience","type":"text","label":"주요 타깃은 누구인가요?","description":"메시지를 맞출 대표 사용자군을 적어보세요.","placeholder":"예: 스타트업 팀 리드, 솔로 파운더"},{"key":"launchGoal","type":"select","label":"이번 런치의 목표","description":"보드가 최우선으로 도와줄 목표를 고르세요.","defaultValue":"signups","options":[{"value":"signups","label":"가입 전환"},{"value":"waitlist","label":"대기자 확보"},{"value":"sales","label":"첫 결제 만들기"}]}],"nodes":[{"id":"positioning","contentType":"memo","title":"포지셔닝","body":"{{productName}}\\n주요 타깃: {{targetAudience}}\\n이번 목표: {{launchGoal}}","x":-520,"y":-40,"z":0,"width":360,"height":240,"metadata":{"memoColor":"rose","memoIcon":"bullhorn"}},{"id":"landing","contentType":"note","title":"랜딩페이지 카피","body":"헤드라인, 서브카피, CTA, 신뢰 요소를 빠르게 초안화하세요.","x":-120,"y":-180,"z":0,"width":340,"height":220},{"id":"channelCopy","contentType":"note","title":"채널별 소개문","body":"Product Hunt / X / LinkedIn / 커뮤니티용 소개문을 각각 다르게 써보세요.","x":280,"y":-180,"z":0,"width":340,"height":220},{"id":"community","contentType":"note","title":"커뮤니티 포스트","body":"홍보가 아니라 문제 해결 경험 공유 형태로 바꿔보세요.","x":680,"y":-180,"z":0,"width":340,"height":220},{"id":"demoChecklist","contentType":"note","title":"데모 영상 체크리스트","body":"문제 제시, 해결 시연, CTA 순서로 필요한 장면을 정리하세요.","x":-120,"y":120,"z":0,"width":340,"height":220},{"id":"assets","contentType":"note","title":"스크린샷 자산","body":"대표 화면, 비교 장면, 후기/증거 이미지를 수집하세요.","x":280,"y":120,"z":0,"width":340,"height":220},{"id":"schedule","contentType":"note","title":"배포 일정","body":"오늘, 내일, 일주일 안에 배포할 채널과 시간을 적어보세요.","x":680,"y":120,"z":0,"width":340,"height":220},{"id":"metrics","contentType":"note","title":"성과 기록","body":"방문, 가입, 결제, 반응이 좋았던 메시지를 한곳에 적재하세요.","x":1080,"y":-20,"z":0,"width":340,"height":260}]},{"id":"content-core","version":"0.1.0","tier":"preview","status":"experimental","boardTitle":"콘텐츠 제작 · {{contentTheme}}","inputs":[{"key":"contentTheme","type":"text","label":"무슨 콘텐츠를 만들까요?","description":"영상/게시물의 핵심 주제를 적어보세요.","placeholder":"예: AI 회의 요약 도구 소개 영상","required":true},{"key":"contentChannel","type":"select","label":"주요 채널","description":"초기 기획을 맞출 채널을 골라보세요.","defaultValue":"youtube","options":[{"value":"youtube","label":"YouTube"},{"value":"shorts","label":"Shorts / Reels"},{"value":"blog","label":"블로그 / 글"}]}],"nodes":[{"id":"contentPlan","contentType":"memo","title":"콘텐츠 기획","body":"{{contentTheme}}\\n주요 채널: {{contentChannel}}","x":-420,"y":-20,"z":0,"width":360,"height":240,"metadata":{"memoColor":"violet","memoIcon":"film"}},{"id":"script","contentType":"note","title":"대본","body":"오프닝 훅, 핵심 포인트, CTA를 써보세요.","x":0,"y":-160,"z":0,"width":340,"height":220},{"id":"scenes","contentType":"note","title":"장면 구성","body":"장면별 메시지와 필요한 시각 자료를 나누세요.","x":400,"y":-160,"z":0,"width":340,"height":220},{"id":"imagePrompts","contentType":"note","title":"이미지 프롬프트","body":"썸네일/컷신용 이미지 프롬프트를 작성하세요.","x":0,"y":120,"z":0,"width":340,"height":220},{"id":"videoPrompts","contentType":"note","title":"영상 프롬프트","body":"카메라 움직임, 분위기, 길이를 정의하세요.","x":400,"y":120,"z":0,"width":340,"height":220},{"id":"distribution","contentType":"note","title":"배포 체크","body":"제목, 설명, 썸네일, 업로드 일정까지 확인하세요.","x":800,"y":-20,"z":0,"width":340,"height":260}]},{"id":"learn-core","version":"0.1.0","tier":"preview","status":"experimental","boardTitle":"출시형 학습 · {{learningGoal}}","inputs":[{"key":"learningGoal","type":"text","label":"어떤 결과물을 목표로 배우나요?","description":"단순 문법보다 만들고 싶은 산출물을 적어보세요.","placeholder":"예: 첫 번째 SaaS MVP 출시","required":true}],"nodes":[{"id":"goal","contentType":"memo","title":"학습 목표","body":"{{learningGoal}}","x":-420,"y":-20,"z":0,"width":360,"height":240,"metadata":{"memoColor":"emerald","memoIcon":"graduation-cap"}},{"id":"basics","contentType":"note","title":"기초 개념","body":"지금 부족한 문법과 개념을 적어 우선순위를 정하세요.","x":0,"y":-160,"z":0,"width":340,"height":220},{"id":"smallFeature","contentType":"note","title":"작은 기능 만들기","body":"작게 끝낼 수 있는 기능 단위를 나누세요.","x":400,"y":-160,"z":0,"width":340,"height":220},{"id":"api","contentType":"note","title":"API 사용","body":"연동할 API와 테스트 시나리오를 정리하세요.","x":0,"y":120,"z":0,"width":340,"height":220},{"id":"dbAuth","contentType":"note","title":"DB / Auth","body":"저장 구조와 로그인 흐름을 간단히 설계하세요.","x":400,"y":120,"z":0,"width":340,"height":220},{"id":"ship","contentType":"note","title":"배포","body":"배포까지 필요한 최소 단계만 체크리스트로 적으세요.","x":800,"y":-20,"z":0,"width":340,"height":260}]},{"id":"book-core","version":"0.1.0","tier":"preview","status":"experimental","boardTitle":"책/전자책 · {{bookTopic}}","inputs":[{"key":"bookTopic","type":"text","label":"어떤 책을 만들까요?","description":"주제나 제목 초안을 적어보세요.","placeholder":"예: 솔로 파운더를 위한 AI 실행 가이드","required":true},{"key":"readerType","type":"text","label":"누구를 위한 책인가요?","description":"대표 독자층을 한 줄로 적어보세요.","placeholder":"예: 첫 제품을 만들려는 1인 창업자"}],"nodes":[{"id":"bookConcept","contentType":"memo","title":"책 컨셉","body":"{{bookTopic}}\\n대표 독자: {{readerType}}","x":-420,"y":-20,"z":0,"width":360,"height":240,"metadata":{"memoColor":"amber","memoIcon":"book-open"}},{"id":"toc","contentType":"note","title":"목차","body":"큰 장과 소장 흐름을 먼저 정리하세요.","x":0,"y":-160,"z":0,"width":340,"height":220},{"id":"chapters","contentType":"note","title":"챕터 초안","body":"핵심 메시지와 사례를 장별로 메모하세요.","x":400,"y":-160,"z":0,"width":340,"height":220},{"id":"cover","contentType":"note","title":"삽화 / 표지","body":"필요한 비주얼 자산 목록을 정리하세요.","x":0,"y":120,"z":0,"width":340,"height":220},{"id":"edit","contentType":"note","title":"교정 / 편집","body":"말투, 중복, 흐름, CTA 점검 포인트를 적으세요.","x":400,"y":120,"z":0,"width":340,"height":220},{"id":"export","contentType":"note","title":"Export","body":"PDF/EPUB/배포 채널까지 마무리 작업을 적으세요.","x":800,"y":-20,"z":0,"width":340,"height":260}]},{"id":"music-core","version":"0.1.0","tier":"preview","status":"experimental","boardTitle":"음악 제작 · {{trackMood}}","inputs":[{"key":"trackMood","type":"text","label":"어떤 분위기의 트랙을 만들까요?","description":"감정이나 사용 장면을 짧게 적어보세요.","placeholder":"예: 밤 작업용 로파이 집중 트랙","required":true},{"key":"musicGenre","type":"select","label":"기본 장르","description":"가장 가까운 출발 장르를 골라보세요.","defaultValue":"lofi","options":[{"value":"lofi","label":"Lo-fi"},{"value":"ambient","label":"Ambient"},{"value":"pop","label":"Pop"},{"value":"cinematic","label":"Cinematic"}]}],"nodes":[{"id":"musicConcept","contentType":"memo","title":"음악 컨셉","body":"{{trackMood}}\\n기본 장르: {{musicGenre}}","x":-420,"y":-20,"z":0,"width":360,"height":240,"metadata":{"memoColor":"pink","memoIcon":"music"}},{"id":"references","contentType":"note","title":"레퍼런스","body":"참고곡과 참고 포인트를 나열하세요.","x":0,"y":-160,"z":0,"width":340,"height":220},{"id":"vocals","contentType":"note","title":"보컬 / 악기","body":"보컬 타입과 핵심 악기 구성을 적어보세요.","x":400,"y":-160,"z":0,"width":340,"height":220},{"id":"lyrics","contentType":"note","title":"가사","body":"주제, 반복 훅, 금지 표현을 정리하세요.","x":0,"y":120,"z":0,"width":340,"height":220},{"id":"generationPrompt","contentType":"note","title":"생성 프롬프트","body":"음향, 구조, 분위기 지시문을 모아두세요.","x":400,"y":120,"z":0,"width":340,"height":220},{"id":"versions","contentType":"note","title":"버전 비교","body":"mp3 결과물과 수정 포인트를 기록하세요.","x":800,"y":-20,"z":0,"width":340,"height":260}]}]'),fs={launchers:hs,templates:gs},ga={en:{"launcher.blank.title":"New Mind Canvas","launcher.blank.desc":"Create a clean execution canvas.","launcher.blank.prompt":"Choose the board you want to create.","launcher.business.title":"Business","launcher.business.desc":"Turn an idea into a revenue model, MVP, and execution plan.","launcher.business.prompt":"What business structure should we start with?","launcher.business.option.saas.title":"SaaS","launcher.business.option.saas.desc":"Subscription SaaS business","launcher.business.option.mobile.title":"Mobile App","launcher.business.option.mobile.desc":"Mobile-first execution board","launcher.business.option.automation.title":"AI Automation","launcher.business.option.automation.desc":"Automation service structure","launcher.business.option.education.title":"Education Product","launcher.business.option.education.desc":"Course or lecture business","launcher.business.option.unknown.title":"Not sure yet","launcher.business.option.unknown.desc":"Explore possible ideas","launcher.build.title":"Build","launcher.build.desc":"Organize a service build from PRD, data, billing, and deployment.","launcher.build.prompt":"What kind of product should we build?","launcher.build.option.webapp.title":"Web App","launcher.build.option.webapp.desc":"Build a web MVP","launcher.build.option.saas_mvp.title":"SaaS MVP","launcher.build.option.saas_mvp.desc":"Launch a subscription SaaS","launcher.build.option.aitool.title":"AI Tool","launcher.build.option.aitool.desc":"Implement an AI-powered service","launcher.build.option.internal.title":"Internal Tool","launcher.build.option.internal.desc":"Team or personal productivity tool","launcher.launch.title":"Launch","launcher.launch.desc":"Plan landing copy, channel posts, assets, and launch schedule.","launcher.launch.prompt":"What launch flow should we prepare?","launcher.launch.option.product_hunt.title":"Product Hunt","launcher.launch.option.product_hunt.desc":"Prepare a launch page","launcher.launch.option.social.title":"X / LinkedIn","launcher.launch.option.social.desc":"Plan social launch posts","launcher.launch.option.community.title":"Community","launcher.launch.option.community.desc":"Plan community distribution","launcher.launch.option.demo.title":"Demo Video","launcher.launch.option.demo.desc":"Prepare a demo asset","launcher.more.title":"More","launcher.more.desc":"Open more execution boards for content, learning, books, and music.","launcher.more.prompt":"Choose the next execution board.","launcher.more.option.content.title":"Content","launcher.more.option.content.desc":"Start video or content production","launcher.more.option.learn.title":"Learn","launcher.more.option.learn.desc":"Create a launch-focused learning board","launcher.more.option.book.title":"Book","launcher.more.option.book.desc":"Start an ebook or story board","launcher.more.option.music.title":"Music","launcher.more.option.music.desc":"Start an audio production studio","templateCard.eyebrow":"Template","templateCard.generate":"Generate","templateCard.noInputs":"No inputs needed.","templateCard.generating":"Generating nodes...","templateCard.generated":"Generated {0} nodes below.","templateCard.failed":"Template generation failed.","templateCard.required":"{0} is required.","template.blank-core.boardTitle":"Canvas {{timestampShort}}","template.business-core.boardTitle":"Business Design - {{optionLabel}}","template.business-core.input.businessIdea.label":"What business do you want to build?","template.business-core.input.businessIdea.desc":"Write the problem and idea you want to solve in one or two sentences.","template.business-core.input.businessIdea.placeholder":"Example: A SaaS that summarizes meetings and assigns follow-up work automatically","template.business-core.input.targetUser.label":"Who is the primary customer?","template.business-core.input.targetUser.desc":"Write the user group most likely to pay first.","template.business-core.input.targetUser.placeholder":"Example: startup team leads, freelance operators","template.business-core.input.businessGoal.label":"Goal for this board","template.business-core.input.businessGoal.desc":"Choose what you want to solve first.","template.business-core.input.businessGoal.option.validate":"Validate the idea","template.business-core.input.businessGoal.option.mvp":"Design the MVP","template.business-core.input.businessGoal.option.monetize":"Design monetization","template.business-core.node.idea.title":"Business Idea","template.business-core.node.idea.body":"{{businessIdea}}","template.business-core.node.target.title":"Target Customers","template.business-core.node.target.body":`First customer candidates: {{targetUser}}
|
|
2
2
|
|
|
3
3
|
1. Three first customer groups
|
|
4
4
|
2. Urgent problems for each group
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/supabaseAuthAdapter-C3z334Qw.js","assets/app-runtime-xD2Z3NdN.js","assets/MindCanvas-CcfxyCL9.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-C429WChq.js","assets/LaunchLeadCapture-DhMxzfOQ.js","assets/LaunchLeadCapture-CiRI1shz.css","assets/pricingCheckoutShell-O-DnwmbU.js","assets/PricingPage-Cg_0i_ZR.css","assets/AuthPages-DxQDTt8X.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-C6RNb3jX.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-CYsG4slO.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-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-CcfxyCL9.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-C429WChq.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-DxQDTt8X.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-DxQDTt8X.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-DxQDTt8X.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-C6RNb3jX.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-CYsG4slO.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 +1 @@
|
|
|
1
|
-
import{ac as b,ad as B,ae as x,af as R,ag as D}from"./canvas-runtime-
|
|
1
|
+
import{ac as b,ad as B,ae as x,af as R,ag as D}from"./canvas-runtime-hH7qY6Be.js";import{R as n}from"./app-runtime-xD2Z3NdN.js";import{l as T,b as f,c as O,d as _}from"./runtimeSettingsPersistenceProjection-BoNWmYjU.js";const L={id:"mindcanvas-main",name:"Global Launch Workspace",updatedAt:new Date().toISOString(),settings:{wheelMode:!1,cursorDirection:"right",inputMode:"Text",model:D,effort:"Normal",appLanguage:"auto",gridSnap:!0,gridType:"dot",cursorMode:"center",cameraTraceMode:"none",imageLoadSize:"default",aiNodeDefaultWidth:340,aiNodeDefaultHeight:196,showFullAiResponse:!1,minimapEnabled:!1,aiProvider:"OpenAI Codex",ollamaEndpoint:"http://localhost:11434",imageRouterEnabled:!1,imageRouterImageModel:R,imageRouterVideoModel:x,imageRouterImageAspectPresetId:B,imageRouterVideoAspectPresetId:b,codeMasterInsightBundlesEnabled:!0,codeMasterInsightBundleTimeoutMs:18e3,codeMasterInsightBundleRetryCount:2,codeMasterInsightBundleRetryCountDeep:3,executionMode:"Concept",directInstructionQueueMode:"Append"},nodes:[{id:"node-agent-command",kind:"ai-task",title:"AI Task",body:"Turn a rough global SaaS idea into a launchable work plan. Keep the result practical: offer, channel, first landing page, and 7-day execution steps.",result:"Drafted execution plan: validate one English-first offer, publish a narrow landing page, collect 20 founder leads, and turn repeated questions into MindCanvas templates.",status:"done",role:"Business operator",tags:["AI Task","Result"],x:180,y:170,width:330,height:196},{id:"node-context",kind:"note",title:"Context",body:"Target: global solo builders who need one place for notes, evidence, AI runs, assets, and task graphs. Price in USD. Avoid Korea-only positioning.",tags:["Context"],x:-270,y:90,width:320,height:180},{id:"node-pricing",kind:"memo",title:"Pricing memory",body:"Free local tools -> MindCanvas Pro $12/mo. The paid step appears after the work becomes worth keeping.",tags:["Pricing"],x:585,y:110,width:300,height:158},{id:"node-output",kind:"code",title:"Reusable output",body:"Ship React canvas first. Keep LocalBridge and cloud hooks adapter-based so the UI does not wait on Blazor or C# services.",tags:["React","Runtime"],x:190,y:455,width:370,height:166}],edges:[{id:"edge-context-task",from:"node-context",to:"node-agent-command",kind:"context"},{id:"edge-task-output",from:"node-agent-command",to:"node-output",kind:"result"}]},u="mindexec-react-board-v1",s="mindexec-react-current-board-v2",p="mindexec-react-board-index-v2",M="mindexec-react-board-v2:";function i(e){return`${M}${e}`}function l(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}function g(e){const t=e;return!!(t&&typeof t=="object"&&typeof t.id=="string"&&Array.isArray(t.nodes)&&Array.isArray(t.edges)&&t.settings)}function v(e){var t,r;return{id:e.id,name:e.name||"Untitled",updatedAt:e.updatedAt||new Date().toISOString(),nodeCount:e.nodes.length,edgeCount:e.edges.length,sourceKind:(t=e.source)==null?void 0:t.kind,sourceBoardId:(r=e.source)==null?void 0:r.boardId}}function c(){const e=l(localStorage.getItem(p));return Array.isArray(e)?y(e.filter(t=>t&&typeof t.id=="string").sort(m)):[]}function S(e){const t=y(e);localStorage.setItem(p,JSON.stringify(t)),_(t.map(r=>({BoardId:r.id,Title:r.name||"Untitled"})))}function h(e){const t=c(),r=t.find(d=>d.id===e.id),a=[{...v(e),order:(r==null?void 0:r.order)??t.length},...t.filter(d=>d.id!==e.id)].sort(m);S(a)}function I(e,t){return typeof e.order=="number"&&Number.isFinite(e.order)?e.order:t}function m(e,t){const r=I(e,Number.MAX_SAFE_INTEGER)-I(t,Number.MAX_SAFE_INTEGER);return r!==0?r:String(t.updatedAt||"").localeCompare(String(e.updatedAt||""))}function y(e){const t=new Set;return e.filter(r=>!(r!=null&&r.id)||t.has(r.id)?!1:(t.add(r.id),!0)).sort(m).map((r,o)=>({...r,order:o}))}function E(e){localStorage.setItem(i(e.id),JSON.stringify(e)),h(e),localStorage.setItem(s,e.id),f(e.id),localStorage.setItem(u,JSON.stringify(e))}function A(){const e=l(localStorage.getItem(u));return g(e)?(E(e),e):null}function N(e){try{const t=localStorage.getItem(s)||T();if(t){const o=l(localStorage.getItem(i(t)));if(g(o))return localStorage.setItem(s,o.id),f(o.id),n.emit("board.restore",{source:"localStorage",boardId:o.id,nodes:o.nodes.length,edges:o.edges.length}),o}const r=A();return r?(n.emit("board.restore",{source:"legacyLocalStorage",boardId:r.id,nodes:r.nodes.length,edges:r.edges.length}),r):(n.emit("board.restore",{source:"fixture"}),e)}catch(t){return n.emit("board.restore",{source:"fixture",error:String(t)}),e}}function P(e){const t={...e,updatedAt:new Date().toISOString()};try{return E(t),n.emit("board.persist",{boardId:e.id,nodes:e.nodes.length,edges:e.edges.length}),!0}catch(r){return n.emit("board.persist.failed",{boardId:e.id,message:r instanceof Error?r.message:String(r)}),!1}}function F(){try{const e=c();return e.length>0?e:(A(),c())}catch{return[]}}function U(e){try{const t=l(localStorage.getItem(i(e)));return g(t)?(localStorage.setItem(s,t.id),f(t.id),n.emit("board.restore",{source:"localStorage",boardId:t.id,nodes:t.nodes.length,edges:t.edges.length}),t):null}catch(t){return n.emit("board.restore",{source:"localStorage",boardId:e,error:String(t)}),null}}function K(e,t){const r=t.trim().slice(0,90)||"Untitled Workspace";try{const o=l(localStorage.getItem(i(e)));if(!g(o))return!1;const a={...o,name:r,updatedAt:new Date().toISOString()};return localStorage.setItem(i(e),JSON.stringify(a)),h(a),localStorage.getItem(s)===e&&localStorage.setItem(u,JSON.stringify(a)),n.emit("board.rename",{boardId:e,source:"stored"}),!0}catch(o){return n.emit("board.rename.failed",{boardId:e,message:o instanceof Error?o.message:String(o)}),!1}}function G(e){try{const t=c(),r=new Map(e.map((a,d)=>[a,d])),o=t.map((a,d)=>({...a,order:r.has(a.id)?r.get(a.id):e.length+d})).sort(m).map((a,d)=>({...a,order:d}));return S(o),n.emit("board.tabs.reorder",{orderedIds:o.map(a=>a.id)}),o}catch(t){return n.emit("board.tabs.reorder.failed",{message:t instanceof Error?t.message:String(t)}),c()}}function J(e){try{localStorage.removeItem(i(e)),S(c().filter(t=>t.id!==e)),localStorage.getItem(s)===e&&localStorage.removeItem(s),n.emit("board.local.delete",{boardId:e})}catch(t){n.emit("board.local.delete.failed",{boardId:e,message:t instanceof Error?t.message:String(t)})}}function X(){const e=c().map(t=>t.id);for(const t of e)localStorage.removeItem(i(t));localStorage.removeItem(p),localStorage.removeItem(s),localStorage.removeItem(u),O()}export{F as a,U as b,K as c,J as d,X as e,L as i,N as l,G as r,P as s};
|
|
@@ -108,12 +108,12 @@ import{r as c}from"./vendor-react-BXzpOyCS.js";/**
|
|
|
108
108
|
*
|
|
109
109
|
* This source code is licensed under the ISC license.
|
|
110
110
|
* See the LICENSE file in the root directory of this source tree.
|
|
111
|
-
*/const
|
|
111
|
+
*/const R=a("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/**
|
|
112
112
|
* @license lucide-react v0.468.0 - ISC
|
|
113
113
|
*
|
|
114
114
|
* This source code is licensed under the ISC license.
|
|
115
115
|
* See the LICENSE file in the root directory of this source tree.
|
|
116
|
-
*/const
|
|
116
|
+
*/const T=a("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/**
|
|
117
117
|
* @license lucide-react v0.468.0 - ISC
|
|
118
118
|
*
|
|
119
119
|
* This source code is licensed under the ISC license.
|
|
@@ -123,17 +123,17 @@ import{r as c}from"./vendor-react-BXzpOyCS.js";/**
|
|
|
123
123
|
*
|
|
124
124
|
* This source code is licensed under the ISC license.
|
|
125
125
|
* See the LICENSE file in the root directory of this source tree.
|
|
126
|
-
*/const
|
|
126
|
+
*/const U=a("CircleDashed",[["path",{d:"M10.1 2.182a10 10 0 0 1 3.8 0",key:"5ilxe3"}],["path",{d:"M13.9 21.818a10 10 0 0 1-3.8 0",key:"11zvb9"}],["path",{d:"M17.609 3.721a10 10 0 0 1 2.69 2.7",key:"1iw5b2"}],["path",{d:"M2.182 13.9a10 10 0 0 1 0-3.8",key:"c0bmvh"}],["path",{d:"M20.279 17.609a10 10 0 0 1-2.7 2.69",key:"1ruxm7"}],["path",{d:"M21.818 10.1a10 10 0 0 1 0 3.8",key:"qkgqxc"}],["path",{d:"M3.721 6.391a10 10 0 0 1 2.7-2.69",key:"1mcia2"}],["path",{d:"M6.391 20.279a10 10 0 0 1-2.69-2.7",key:"1fvljs"}]]);/**
|
|
127
127
|
* @license lucide-react v0.468.0 - ISC
|
|
128
128
|
*
|
|
129
129
|
* This source code is licensed under the ISC license.
|
|
130
130
|
* See the LICENSE file in the root directory of this source tree.
|
|
131
|
-
*/const
|
|
131
|
+
*/const Z=a("CircleDot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);/**
|
|
132
132
|
* @license lucide-react v0.468.0 - ISC
|
|
133
133
|
*
|
|
134
134
|
* This source code is licensed under the ISC license.
|
|
135
135
|
* See the LICENSE file in the root directory of this source tree.
|
|
136
|
-
*/const
|
|
136
|
+
*/const I=a("CirclePause",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"10",x2:"10",y1:"15",y2:"9",key:"c1nkhi"}],["line",{x1:"14",x2:"14",y1:"15",y2:"9",key:"h65svq"}]]);/**
|
|
137
137
|
* @license lucide-react v0.468.0 - ISC
|
|
138
138
|
*
|
|
139
139
|
* This source code is licensed under the ISC license.
|
|
@@ -378,12 +378,12 @@ import{r as c}from"./vendor-react-BXzpOyCS.js";/**
|
|
|
378
378
|
*
|
|
379
379
|
* This source code is licensed under the ISC license.
|
|
380
380
|
* See the LICENSE file in the root directory of this source tree.
|
|
381
|
-
*/const
|
|
381
|
+
*/const R1=a("LockOpen",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]);/**
|
|
382
382
|
* @license lucide-react v0.468.0 - ISC
|
|
383
383
|
*
|
|
384
384
|
* This source code is licensed under the ISC license.
|
|
385
385
|
* See the LICENSE file in the root directory of this source tree.
|
|
386
|
-
*/const
|
|
386
|
+
*/const T1=a("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);/**
|
|
387
387
|
* @license lucide-react v0.468.0 - ISC
|
|
388
388
|
*
|
|
389
389
|
* This source code is licensed under the ISC license.
|
|
@@ -393,17 +393,17 @@ import{r as c}from"./vendor-react-BXzpOyCS.js";/**
|
|
|
393
393
|
*
|
|
394
394
|
* This source code is licensed under the ISC license.
|
|
395
395
|
* See the LICENSE file in the root directory of this source tree.
|
|
396
|
-
*/const
|
|
396
|
+
*/const U1=a("Magnet",[["path",{d:"m6 15-4-4 6.75-6.77a7.79 7.79 0 0 1 11 11L13 22l-4-4 6.39-6.36a2.14 2.14 0 0 0-3-3L6 15",key:"1i3lhw"}],["path",{d:"m5 8 4 4",key:"j6kj7e"}],["path",{d:"m12 15 4 4",key:"lnac28"}]]);/**
|
|
397
397
|
* @license lucide-react v0.468.0 - ISC
|
|
398
398
|
*
|
|
399
399
|
* This source code is licensed under the ISC license.
|
|
400
400
|
* See the LICENSE file in the root directory of this source tree.
|
|
401
|
-
*/const
|
|
401
|
+
*/const Z1=a("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/**
|
|
402
402
|
* @license lucide-react v0.468.0 - ISC
|
|
403
403
|
*
|
|
404
404
|
* This source code is licensed under the ISC license.
|
|
405
405
|
* See the LICENSE file in the root directory of this source tree.
|
|
406
|
-
*/const
|
|
406
|
+
*/const I1=a("Maximize2",[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/**
|
|
407
407
|
* @license lucide-react v0.468.0 - ISC
|
|
408
408
|
*
|
|
409
409
|
* This source code is licensed under the ISC license.
|
|
@@ -628,22 +628,27 @@ import{r as c}from"./vendor-react-BXzpOyCS.js";/**
|
|
|
628
628
|
*
|
|
629
629
|
* This source code is licensed under the ISC license.
|
|
630
630
|
* See the LICENSE file in the root directory of this source tree.
|
|
631
|
-
*/const A2=a("
|
|
631
|
+
*/const A2=a("UserRound",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]);/**
|
|
632
632
|
* @license lucide-react v0.468.0 - ISC
|
|
633
633
|
*
|
|
634
634
|
* This source code is licensed under the ISC license.
|
|
635
635
|
* See the LICENSE file in the root directory of this source tree.
|
|
636
|
-
*/const S2=a("
|
|
636
|
+
*/const S2=a("UsersRound",[["path",{d:"M18 21a8 8 0 0 0-16 0",key:"3ypg7q"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3",key:"10s06x"}]]);/**
|
|
637
637
|
* @license lucide-react v0.468.0 - ISC
|
|
638
638
|
*
|
|
639
639
|
* This source code is licensed under the ISC license.
|
|
640
640
|
* See the LICENSE file in the root directory of this source tree.
|
|
641
|
-
*/const P2=a("
|
|
641
|
+
*/const P2=a("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]);/**
|
|
642
642
|
* @license lucide-react v0.468.0 - ISC
|
|
643
643
|
*
|
|
644
644
|
* This source code is licensed under the ISC license.
|
|
645
645
|
* See the LICENSE file in the root directory of this source tree.
|
|
646
|
-
*/const B2=a("
|
|
646
|
+
*/const B2=a("Video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]);/**
|
|
647
|
+
* @license lucide-react v0.468.0 - ISC
|
|
648
|
+
*
|
|
649
|
+
* This source code is licensed under the ISC license.
|
|
650
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
651
|
+
*/const R2=a("Wallet",[["path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"18etb6"}],["path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4",key:"xoc0q4"}]]);/**
|
|
647
652
|
* @license lucide-react v0.468.0 - ISC
|
|
648
653
|
*
|
|
649
654
|
* This source code is licensed under the ISC license.
|
|
@@ -653,12 +658,12 @@ import{r as c}from"./vendor-react-BXzpOyCS.js";/**
|
|
|
653
658
|
*
|
|
654
659
|
* This source code is licensed under the ISC license.
|
|
655
660
|
* See the LICENSE file in the root directory of this source tree.
|
|
656
|
-
*/const
|
|
661
|
+
*/const F2=a("WifiOff",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/**
|
|
657
662
|
* @license lucide-react v0.468.0 - ISC
|
|
658
663
|
*
|
|
659
664
|
* This source code is licensed under the ISC license.
|
|
660
665
|
* See the LICENSE file in the root directory of this source tree.
|
|
661
|
-
*/const
|
|
666
|
+
*/const U2=a("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);/**
|
|
662
667
|
* @license lucide-react v0.468.0 - ISC
|
|
663
668
|
*
|
|
664
669
|
* This source code is licensed under the ISC license.
|
|
@@ -673,9 +678,9 @@ import{r as c}from"./vendor-react-BXzpOyCS.js";/**
|
|
|
673
678
|
*
|
|
674
679
|
* This source code is licensed under the ISC license.
|
|
675
680
|
* See the LICENSE file in the root directory of this source tree.
|
|
676
|
-
*/const
|
|
681
|
+
*/const O2=a("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/**
|
|
677
682
|
* @license lucide-react v0.468.0 - ISC
|
|
678
683
|
*
|
|
679
684
|
* This source code is licensed under the ISC license.
|
|
680
685
|
* See the LICENSE file in the root directory of this source tree.
|
|
681
|
-
*/const
|
|
686
|
+
*/const W2=a("Youtube",[["path",{d:"M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17",key:"1q2vi4"}],["path",{d:"m10 15 5-3-5-3z",key:"1jp15x"}]]);export{h1 as $,P1 as A,q as B,a1 as C,F2 as D,K as E,r1 as F,x1 as G,u1 as H,z1 as I,H2 as J,q1 as K,H1 as L,E1 as M,F as N,b1 as O,a2 as P,z as Q,c2 as R,g2 as S,j2 as T,S2 as U,B2 as V,U2 as W,O2 as X,M1 as Y,s1 as Z,b2 as _,x2 as a,L2 as a$,P2 as a0,j as a1,Y1 as a2,Z2 as a3,Q as a4,G1 as a5,I1 as a6,W1 as a7,_1 as a8,L as a9,l2 as aA,p1 as aB,i2 as aC,Z as aD,v1 as aE,U1 as aF,f1 as aG,b as aH,N1 as aI,p2 as aJ,O1 as aK,O as aL,W as aM,I as aN,l1 as aO,G as aP,h2 as aQ,U as aR,e1 as aS,Z1 as aT,B1 as aU,k1 as aV,X1 as aW,A1 as aX,z2 as aY,S1 as aZ,u as a_,D as aa,J1 as ab,c1 as ac,m2 as ad,C2 as ae,v as af,g as ag,K1 as ah,E as ai,H as aj,n2 as ak,y1 as al,L1 as am,s2 as an,V1 as ao,$ as ap,Q1 as aq,T as ar,i1 as as,X as at,T2 as au,f as av,w2 as aw,V2 as ax,k2 as ay,q2 as az,C1 as b,W2 as b0,f2 as b1,A as b2,w1 as b3,R2 as b4,d2 as b5,o2 as b6,t1 as b7,d1 as b8,m1 as b9,C as ba,$1 as bb,I2 as bc,F1 as bd,A2 as be,v2 as c,e2 as d,y2 as e,M2 as f,u2 as g,t2 as h,_ as i,T1 as j,R1 as k,D1 as l,j1 as m,R as n,B as o,n1 as p,o1 as q,w as r,P as s,S as t,N as u,J as v,Y as w,V as x,g1 as y,r2 as z};
|
package/wwwroot/index.html
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
12
12
|
<link rel="manifest" href="/manifest.webmanifest" />
|
|
13
13
|
<title>MindExec React</title>
|
|
14
|
-
<script type="module" crossorigin src="/assets/index-
|
|
14
|
+
<script type="module" crossorigin src="/assets/index-BnkMdiZi.js"></script>
|
|
15
15
|
<link rel="modulepreload" crossorigin href="/assets/vendor-react-BXzpOyCS.js">
|
|
16
16
|
<link rel="modulepreload" crossorigin href="/assets/app-runtime-xD2Z3NdN.js">
|
|
17
17
|
<link rel="stylesheet" crossorigin href="/assets/index-DFCCVWKg.css">
|