@autocode-cli/autocode 0.24.0 → 0.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{DEicEhPN.js → 30x-pnPQ.js} +1 -1
- package/.output/public/_nuxt/{BL3gdTy3.js → B5K45pkN.js} +1 -1
- package/.output/public/_nuxt/{8THboZmE.js → B7N9KVJb.js} +1 -1
- package/.output/public/_nuxt/{Ct1wD_ak.js → B8fx2Odl.js} +1 -1
- package/.output/public/_nuxt/{B6eh1ZOq.js → BMpzg2mk.js} +1 -1
- package/.output/public/_nuxt/{p5o8ebxv.js → BSxoTORP.js} +1 -1
- package/.output/public/_nuxt/{BE_AlRS6.js → BV98b_5N.js} +1 -1
- package/.output/public/_nuxt/{CKeBHRuu.js → BmXdU8s6.js} +1 -1
- package/.output/public/_nuxt/{teKmjdue.js → BnYbZ_Q-.js} +1 -1
- package/.output/public/_nuxt/{66ZmMMJ2.js → Bng5mevu.js} +1 -1
- package/.output/public/_nuxt/{Dtyr3Ptk.js → BxuncHIl.js} +1 -1
- package/.output/public/_nuxt/{E2h0K5Qn.js → CHghi4ZS.js} +1 -1
- package/.output/public/_nuxt/{BDASIxln.js → CfnfFBgB.js} +1 -1
- package/.output/public/_nuxt/{DlTeOLHG.js → CheLvSKu.js} +1 -1
- package/.output/public/_nuxt/{-dQPdr6B.js → CjrJmDFL.js} +1 -1
- package/.output/public/_nuxt/{DKj_oZ78.js → CrYhmOVM.js} +1 -1
- package/.output/public/_nuxt/{CHc8-G9J.js → DDXh7sp0.js} +1 -1
- package/.output/public/_nuxt/{DxaZgXvq.js → DJpW4QHw.js} +1 -1
- package/.output/public/_nuxt/{Bo-KGD7n.js → DLjMZl4b.js} +1 -1
- package/.output/public/_nuxt/{DsCGEKfY.js → Da5mz8p9.js} +3 -3
- package/.output/public/_nuxt/{M57FIHwY.js → DcEDc3V6.js} +1 -1
- package/.output/public/_nuxt/{CIgI-kep.js → DhIzsKNb.js} +1 -1
- package/.output/public/_nuxt/{C7zce8Gq.js → Di3lPWqt.js} +1 -1
- package/.output/public/_nuxt/{BICeJifN.js → DomCSEI3.js} +1 -1
- package/.output/public/_nuxt/{C2_wg8pQ.js → DtwILEdu.js} +1 -1
- package/.output/public/_nuxt/{BA3hQEn3.js → PiC8eKKb.js} +1 -1
- package/.output/public/_nuxt/{C4EkQk2p.js → Sgc77AB2.js} +1 -1
- package/.output/public/_nuxt/{uyQmTYnD.js → U87oYT86.js} +1 -1
- package/.output/public/_nuxt/{DXYLT_D8.js → Up0p2QoY.js} +1 -1
- package/.output/public/_nuxt/{BELXF6aE.js → YT65Mr4H.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/d9565cd3-0558-4052-9d4b-0d843258bfa3.json +1 -0
- package/.output/public/_nuxt/{DvVB97EX.js → t_pTtAs-.js} +1 -1
- package/.output/public/_payload.json +1 -1
- package/.output/public/index.html +1 -1
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/server.mjs +2 -2
- package/.output/server/chunks/build/styles.mjs +19 -19
- package/.output/server/chunks/nitro/nitro.mjs +248 -257
- package/.output/server/package.json +1 -1
- package/package.json +1 -1
- package/templates/prompts/splitter.en.md +17 -2
- package/templates/prompts/splitter.fr.md +17 -2
- package/.output/public/_nuxt/builds/meta/a848760b-b2f3-47a2-a548-c3c02733b51c.json +0 -1
- /package/.output/public/_i18n/{LLdrvu-h → o5vy9wFb}/en/messages.json +0 -0
- /package/.output/public/_i18n/{LLdrvu-h → o5vy9wFb}/fr/messages.json +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as V}from"./
|
|
1
|
+
import{u as V}from"./B7N9KVJb.js";import{r as y,o as T,A as N,d as B,u as H,v as j,l as b,s as P,c as e,e as s,t as n,j as _,h as l,g as v,F as f,p as S,b as a,_ as R}from"./Da5mz8p9.js";const L={CHANGELOG_LAST_SEEN:"autocode-changelog-lastSeen"};function U(){const u=y(null),c=y(!1);T(()=>{const o=localStorage.getItem(L.CHANGELOG_LAST_SEEN);o&&(u.value=o)});const i=o=>{u.value=o,localStorage.setItem(L.CHANGELOG_LAST_SEEN,o),c.value=!1},d=o=>u.value?u.value!==o?(c.value=!0,!0):!1:(i(o),!1);return{lastSeenVersion:N(u),hasNewChanges:N(c),markAsSeen:i,checkForUpdates:d}}const q={class:"changelog-page"},K={class:"page-header"},M={class:"summary-section"},Y={key:1,class:"summary-loading"},x={key:2,class:"summary-banner"},z={class:"summary-text"},J={key:0,class:"loading"},Q={key:1,class:"error-message"},W={key:2,class:"empty"},X={key:3,class:"changelog-list"},Z={class:"entry-header"},ee={class:"entry-version"},ae={key:0,class:"badge badge-success"},se={class:"entry-date"},te={class:"entry-content"},ne=B({__name:"changelog",async setup(u){let c,i;const{locale:d}=H(),{data:o,status:w,error:k}=([c,i]=j(()=>V("/api/changelog",{query:{lang:d.value}},"$j1EO-12DBP")),c=await c,i(),c),C=b(()=>o.value?.data?.entries||[]),E=b(()=>o.value?.data?.topTag||""),{lastSeenVersion:A,markAsSeen:$}=U(),h=y(null),g=y(!1);async function G(){g.value=!0;const t=localStorage.getItem("autocode-changelog-seen");try{const r=await $fetch("/api/changelog/summary",{method:"POST",body:{lang:d.value,lastSeenTag:t}});r?.data?.summary&&(h.value=r.data.summary)}catch{}finally{g.value=!1}}const O=t=>A.value?t>A.value:!1;T(()=>{E.value&&$(E.value)});const D=t=>new Date(t).toLocaleDateString(d.value==="fr"?"fr-FR":"en-US",{year:"numeric",month:"long",day:"numeric"});return P({title:"Changelog - AutoCode"}),(t,r)=>(a(),e("div",q,[s("header",K,[s("h1",null,n(t.$t("changelog.title")),1)]),s("div",M,[!l(h)&&!l(g)?(a(),e("button",{key:0,class:"btn btn-secondary summary-btn",onClick:G},[r[0]||(r[0]=s("span",{class:"btn-icon"},"✨",-1)),v(" "+n(t.$t("changelog.generateSummary")),1)])):_("",!0),l(g)?(a(),e("div",Y,[r[1]||(r[1]=s("span",{class:"spinner"},null,-1)),v(" "+n(t.$t("changelog.generatingSummary")),1)])):_("",!0),l(h)&&!l(g)?(a(),e("div",x,[r[2]||(r[2]=s("div",{class:"summary-icon"},[s("span",{class:"icon"},"✨")],-1)),s("p",z,n(l(h)),1)])):_("",!0)]),l(w)==="pending"?(a(),e("div",J,n(t.$t("app.loading")),1)):l(k)?(a(),e("div",Q,n(l(k).message),1)):l(C)?.length?(a(),e("div",X,[(a(!0),e(f,null,S(l(C),m=>(a(),e("article",{key:m.tag,class:"changelog-entry card"},[s("header",Z,[s("h2",ee,[v(n(m.tag)+" ",1),O(m.tag)?(a(),e("span",ae,n(t.$t("changelog.new")),1)):_("",!0)]),s("time",se,n(D(m.date)),1)]),s("div",te,[(a(!0),e(f,null,S(m.sections,p=>(a(),e("div",{key:p.title,class:"entry-section"},[s("h3",null,n(p.title),1),s("ul",null,[(a(!0),e(f,null,S(p.items,(F,I)=>(a(),e("li",{key:I},n(F),1))),128))])]))),128))])]))),128))])):(a(),e("div",W,n(t.$t("changelog.noChanges")),1))]))}}),re=R(ne,[["__scopeId","data-v-03a0ef3e"]]);export{re as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as f,r as u}from"./
|
|
1
|
+
import{A as f,r as u}from"./Da5mz8p9.js";const e=u([]);function v(){const t=n=>{const o=`notification-${Date.now()}-${Math.random().toString(36).slice(2)}`,i={id:o,duration:5e3,...n};e.value.push(i),i.duration&&i.duration>0&&setTimeout(()=>{s(o)},i.duration)},s=n=>{const o=e.value.findIndex(i=>i.id===n);o!==-1&&e.value.splice(o,1)},c=(n,o)=>{t({type:"success",message:n,...o!==void 0&&{duration:o}})},r=(n,o)=>{t({type:"error",message:n,duration:o??8e3})},a=(n,o)=>{t({type:"warning",message:n,...o!==void 0&&{duration:o}})},d=(n,o)=>{t({type:"info",message:n,...o!==void 0&&{duration:o}})};return{notifications:f(e),add:t,remove:s,success:c,error:r,warning:a,info:d}}export{v as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as d}from"./
|
|
1
|
+
import{_ as d}from"./DLjMZl4b.js";import{u}from"./B7N9KVJb.js";import{d as m,u as f,v as g,o as v,K as x,s as h,c as i,j as y,h as e,t as p,e as C,f as w,w as k,b as c,g as N,_ as V}from"./Da5mz8p9.js";const b={class:"pipeline-page"},B={key:0,class:"loading card"},I={key:1,class:"empty-state card"},$=m({__name:"index",async setup(A){let t,_;const{t:a}=f(),{data:n,pending:l}=([t,_]=g(()=>u("/api/pipelines","$p7t_x6yV7n")),t=await t,_(),t);return v(()=>{if(n.value?.length){const s=n.value.find(o=>o.active)||n.value[0];s&&x(`/settings/pipeline/${encodeURIComponent(s.name)}`,{replace:!0})}}),h({title:"Pipeline Configuration - AutoCode"}),(r,s)=>{const o=d;return c(),i("div",b,[e(l)?(c(),i("div",B,p(e(a)("app.loading")),1)):e(n)?.length?y("",!0):(c(),i("div",I,[C("p",null,p(e(a)("pipeline.noColumns")),1),w(o,{to:"/settings/pipeline/new",class:"btn btn-primary"},{default:k(()=>[N(" + "+p(e(a)("pipeline.new")),1)]),_:1})]))])}}}),E=V($,[["__scopeId","data-v-9f6aa041"]]);export{E as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d,u as p,l as c,o as g,c as n,b as o,F as v,p as h,q as L,h as l,t as f,_ as S}from"./
|
|
1
|
+
import{d,u as p,l as c,o as g,c as n,b as o,F as v,p as h,q as L,h as l,t as f,_ as S}from"./Da5mz8p9.js";const b={class:"lang-switcher"},k=["title","onClick"],r="autocode-lang",w=d({__name:"LangSwitcher",setup(C){const{locale:a,locales:_,setLocale:u}=p(),i=c(()=>_.value),m=c(()=>a.value),s=async e=>{await u(e),localStorage.setItem(r,e),document.documentElement.lang=e};return g(()=>{const e=localStorage.getItem(r);e&&e!==a.value&&s(e),document.documentElement.lang=a.value}),(e,E)=>(o(),n("div",b,[(o(!0),n(v,null,h(l(i),t=>(o(),n("button",{key:t.code,class:L(["lang-btn",{active:l(m)===t.code}]),title:t.name,onClick:x=>s(t.code)},f(t.code.toUpperCase()),11,k))),128))]))}}),y=Object.assign(S(w,[["__scopeId","data-v-2d84a2aa"]]),{__name:"LangSwitcher"});export{y as _};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as m,r as $,o as O,a as G,c as r,b as d,_ as A,u as f,e as n,f as g,w as S,g as T,t as e,h as o,i as E,j as F,k as I,l as P,m as U,n as X,F as w,p as x,q as R,s as Y}from"./DsCGEKfY.js";import{_ as D}from"./Bo-KGD7n.js";import{_ as J}from"./BICeJifN.js";const K=m({__name:"LandingMatrixBg",setup(h){const t=$(null),l=['autocode new "Fix login bug" -p P1',"autocode serve --expose","autocode next AC-000042","autocode move AC-000001 review","autocode pipeline show default","autocode stats --session","autocode health --verbose","autocode list --tree","autocode history AC-000015 --full",'autocode comment AC-000003 "Done"',"autocode catalog add security-audit","autocode init && autocode serve","GET /api/issues?column=in-progress","POST /api/issues { title, priority }","PATCH /api/issues/AC-000001","POST /api/issues/:id/next","GET /api/pipelines/default","GET /api/workflow/health","POST /api/issues/:id/comments","GET /api/stats",'claude -p "Review this code"','claude -p "Fix the failing tests"','claude -p "Add security validation"','claude -p "Refactor for clarity"',"await claude.execute(prompt)",'claude --model opus "Analyze"',"pipeline.advance(issue)","if (review.passed) next()","while (!tests.green) retry()","bestPractices.validate(code)","security.audit(changes)","duplication.detect(diff)","consistency.check(style)","prisma.issue.findMany()","prisma.issue.update({ data })","await prisma.$transaction()","SELECT * FROM issues WHERE done"],i=["rgba(99, 102, 241, ","rgba(139, 92, 246, ","rgba(168, 85, 247, ","rgba(192, 132, 252, ","rgba(236, 72, 153, "];let a=[],s=null;function v(){const _=t.value;if(!_)return;const L=()=>{_.width=window.innerWidth,_.height=window.innerHeight};L(),window.addEventListener("resize",L);const u=_.getContext("2d");if(!u)return;const z=Math.floor(window.innerWidth/60);a=[];for(let C=0;C<z;C++)b(_.width,_.height);function B(){if(!u||!_)return;u.clearRect(0,0,_.width,_.height);const C=Date.now();for(let M=a.length-1;M>=0;M--){const c=a[M];if(c.phase==="writing")c.charIndex+=c.speed*.5,c.charIndex>=c.text.length&&(c.phase="visible",c.visibleTime=C);else if(c.phase==="visible")C-c.visibleTime>300+Math.random()*500&&(c.phase="fading");else if(c.phase==="fading"&&(c.opacity-=.03*c.speed,c.opacity<=0)){a.splice(M,1),b(_.width,_.height);continue}u.font=`${c.fontSize}px 'JetBrains Mono', 'Fira Code', monospace`;const H=c.text.substring(0,Math.floor(c.charIndex));if(u.shadowColor=c.color+"0.5)",u.shadowBlur=8,u.fillStyle=c.color+(c.opacity*.8).toFixed(2)+")",u.fillText(H,c.x,c.y),u.shadowBlur=0,u.fillStyle=c.color+c.opacity.toFixed(2)+")",u.fillText(H,c.x,c.y),c.phase==="writing"&&Math.floor(C/100)%2===0){const j=c.x+u.measureText(H).width;u.fillStyle=c.color+"0.9)",u.fillRect(j+2,c.y-c.fontSize+4,2,c.fontSize)}}s=requestAnimationFrame(B)}B()}function b(_,L){const u=10+Math.random()*6,z=l[Math.floor(Math.random()*l.length)];a.push({x:Math.random()*(_-300),y:50+Math.random()*(L-100),text:z,charIndex:0,opacity:.2+Math.random()*.4,speed:.5+Math.random()*3.5,color:i[Math.floor(Math.random()*i.length)],phase:"writing",visibleTime:0,fontSize:u})}return O(()=>{v()}),G(()=>{s&&cancelAnimationFrame(s)}),(_,L)=>(d(),r("canvas",{ref_key:"canvasRef",ref:t,class:"landing-matrix-bg","aria-hidden":"true"},null,512))}}),Q=Object.assign(A(K,[["__scopeId","data-v-b5216f08"]]),{__name:"LandingMatrixBg"}),Z={class:"landing-nav"},nn={class:"landing-nav-container"},tn={class:"landing-nav-links"},en={href:"#features"},on={href:"#workflow"},an={href:"#installation"},sn={href:"#faq"},ln={href:"#api"},dn={class:"landing-nav-right"},cn=m({__name:"LandingNav",setup(h){const{t}=f(),l=$(!1);return O(()=>{l.value=window.location.host.endsWith(".gitlab.io")}),(i,a)=>{const s=D,v=J;return d(),r("nav",Z,[n("div",nn,[g(s,{to:"/",class:"landing-logo"},{default:S(()=>[...a[0]||(a[0]=[n("span",null,"⚡",-1),T(" AutoCode ",-1),n("span",{class:"landing-beta-badge"},"BETA",-1)])]),_:1}),n("ul",tn,[n("li",null,[n("a",en,e(o(t)("landing.nav.features")),1)]),n("li",null,[n("a",on,e(o(t)("landing.nav.workflow")),1)]),n("li",null,[n("a",an,e(o(t)("landing.nav.installation")),1)]),n("li",null,[n("a",sn,e(o(t)("landing.nav.faq")),1)]),n("li",null,[n("a",ln,e(o(t)("landing.nav.api")),1)])]),n("div",dn,[g(v),o(l)?F("",!0):(d(),E(s,{key:0,to:"/kanban",class:"landing-nav-cta"},{default:S(()=>[T(e(o(t)("landing.nav.dashboard")),1)]),_:1}))])])])}}}),rn=Object.assign(cn,{__name:"LandingNav"}),pn={class:"landing-hero"},un={class:"landing-hero-content"},_n={class:"landing-hero-badge"},gn={class:"gradient"},mn={class:"landing-hero-buttons"},hn={href:"#installation",class:"landing-btn landing-btn-primary"},vn=m({__name:"LandingHero",setup(h){const{t}=f();return(l,i)=>(d(),r("section",pn,[n("div",un,[n("div",_n,[i[0]||(i[0]=n("span",null,"Wrapper",-1)),n("span",null,e(o(t)("landing.hero.badge")),1)]),n("h1",null,[T(e(o(t)("landing.hero.title1")),1),i[1]||(i[1]=n("br",null,null,-1)),n("span",gn,e(o(t)("landing.hero.title2")),1)]),n("p",null,e(o(t)("landing.hero.description")),1),n("div",mn,[n("a",hn,[T(e(o(t)("landing.hero.cta"))+" ",1),i[2]||(i[2]=n("svg",{width:"20",height:"20",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 7l5 5m0 0l-5 5m5-5H6"})],-1))]),i[3]||(i[3]=I('<a href="https://gitlab.com/evkoh/autocode" class="landing-btn landing-btn-secondary" target="_blank"><svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path></svg> GitLab </a><a href="https://www.npmjs.com/package/@autocode-cli/autocode" class="landing-btn landing-btn-secondary" target="_blank"><svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M0 7.334v8h6.666v1.332H12v-1.332h12v-8H0zm6.666 6.664H5.334v-4H3.999v4H1.335V8.667h5.331v5.331zm4 0v1.336H8.001V8.667h5.334v5.332h-2.669v-.001zm12.001 0h-1.33v-4h-1.336v4h-1.335v-4h-1.33v4h-2.671V8.667h8.002v5.331zM10.665 10H12v2.667h-1.335V10z"></path></svg> npm </a>',2))]),i[4]||(i[4]=I('<div class="landing-terminal"><div class="landing-terminal-header"><span class="landing-terminal-dot red"></span><span class="landing-terminal-dot yellow"></span><span class="landing-terminal-dot green"></span></div><div class="landing-terminal-body"><div class="landing-terminal-line"><span class="landing-terminal-prompt">$</span><span class="landing-terminal-command">npm install -g @autocode-cli/autocode</span></div><div class="landing-terminal-output"><span style="color:#22c55e;">+ @autocode-cli/autocode installed</span></div><div class="landing-terminal-line"><span class="landing-terminal-prompt">$</span><span class="landing-terminal-command">autocode serve</span></div><div class="landing-terminal-output"> Dashboard available at <span class="landing-terminal-accent">http://localhost:3000</span></div></div></div>',1))])]))}}),fn=Object.assign(vn,{__name:"LandingHero"}),yn={id:"demo",class:"landing-section landing-demo"},kn={class:"landing-demo-content"},wn={key:1,href:"https://gitlab.com/evkoh/autocode",target:"_blank",class:"landing-btn landing-btn-primary landing-btn-large"},bn=m({__name:"LandingDemo",setup(h){const{t}=f(),l=$(!1);return O(()=>{const i=window.location.hostname;l.value=i==="localhost"||i==="127.0.0.1"}),(i,a)=>{const s=D;return d(),r("section",yn,[n("div",kn,[n("h2",null,e(o(t)("landing.demo.title")),1),n("p",null,e(o(t)("landing.demo.description")),1),o(l)?(d(),E(s,{key:0,to:"/kanban",class:"landing-btn landing-btn-primary landing-btn-large"},{default:S(()=>[T(e(o(t)("landing.demo.cta"))+" ",1),a[0]||(a[0]=n("svg",{width:"24",height:"24",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14 5l7 7m0 0l-7 7m7-7H3"})],-1))]),_:1})):(d(),r("a",wn,[T(e(o(t)("landing.demo.ctaGitlab"))+" ",1),a[1]||(a[1]=n("svg",{width:"24",height:"24",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14 5l7 7m0 0l-7 7m7-7H3"})],-1))]))])])}}}),$n=Object.assign(A(bn,[["__scopeId","data-v-5e25f58c"]]),{__name:"LandingDemo"}),xn={id:"podcast",class:"landing-section"},Ln={class:"landing-section-header"},Cn={class:"landing-podcast-player"},Mn=["src"],An={class:"podcast-info"},Tn={class:"podcast-meta"},zn={class:"podcast-lang-badge"},Hn={class:"podcast-controls"},Bn=["disabled"],jn={key:0,width:"24",height:"24",fill:"currentColor",viewBox:"0 0 24 24"},Pn={key:1,width:"24",height:"24",fill:"currentColor",viewBox:"0 0 24 24"},Sn={class:"podcast-progress-bar"},Fn={class:"podcast-time"},In={class:"podcast-speed"},On=["onClick"],Rn={class:"podcast-volume"},qn=["value"],Vn=m({__name:"LandingPodcast",setup(h){const{t,locale:l}=f(),i=$(null),a=$(!1),s=$(0),v=$(0),b=$(1),_=$(1),L=$(!1),u=P(()=>`./media/podcast/${l.value}.m4a`),z=P(()=>M(s.value)),B=P(()=>M(v.value)),C=P(()=>v.value>0?s.value/v.value*100:0);function M(y){const p=Math.floor(y/60),k=Math.floor(y%60);return`${p}:${k.toString().padStart(2,"0")}`}function c(){i.value&&(a.value?i.value.pause():i.value.play())}function H(){i.value&&(s.value=i.value.currentTime)}function j(){i.value&&(v.value=i.value.duration,L.value=!0)}function q(y){if(!i.value||!v.value)return;const k=y.currentTarget.getBoundingClientRect(),N=(y.clientX-k.left)/k.width;i.value.currentTime=N*v.value}function V(y){_.value=y,i.value&&(i.value.playbackRate=y)}function W(y){const p=y.target;b.value=parseFloat(p.value),i.value&&(i.value.volume=b.value)}return U(l,()=>{if(i.value){const y=a.value,p=s.value;i.value.load(),i.value.currentTime=p,y&&i.value.play()}}),(y,p)=>(d(),r("section",xn,[n("div",Ln,[n("h2",null,e(o(t)("landing.podcast.title")),1),n("p",null,e(o(t)("landing.podcast.description")),1)]),n("div",Cn,[n("audio",{ref_key:"audioRef",ref:i,src:o(u),preload:"metadata",onTimeupdate:H,onLoadedmetadata:j,onPlay:p[0]||(p[0]=k=>a.value=!0),onPause:p[1]||(p[1]=k=>a.value=!1),onEnded:p[2]||(p[2]=k=>a.value=!1)},null,40,Mn),n("div",An,[p[3]||(p[3]=n("div",{class:"podcast-artwork"},[n("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"currentColor"},[n("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})])],-1)),n("div",Tn,[n("h3",null,e(o(t)("landing.podcast.episode")),1),n("span",zn,e(o(l).toUpperCase()),1)])]),n("div",Hn,[n("button",{class:"podcast-play-btn",disabled:!o(L),onClick:c},[o(a)?(d(),r("svg",Pn,[...p[5]||(p[5]=[n("path",{d:"M6 19h4V5H6v14zm8-14v14h4V5h-4z"},null,-1)])])):(d(),r("svg",jn,[...p[4]||(p[4]=[n("path",{d:"M8 5v14l11-7z"},null,-1)])]))],8,Bn),n("div",{class:"podcast-progress-container",onClick:q},[n("div",Sn,[n("div",{class:"podcast-progress-fill",style:X({width:`${o(C)}%`})},null,4)]),n("div",Fn,[n("span",null,e(o(z)),1),n("span",null,e(o(B)),1)])]),n("div",In,[(d(),r(w,null,x([.5,1,1.5,2],k=>n("button",{key:k,class:R({active:o(_)===k}),onClick:N=>V(k)},e(k)+"x ",11,On)),64))]),n("div",Rn,[p[6]||(p[6]=n("svg",{width:"20",height:"20",fill:"currentColor",viewBox:"0 0 24 24"},[n("path",{d:"M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02z"})],-1)),n("input",{type:"range",min:"0",max:"1",step:"0.1",value:o(b),onInput:W},null,40,qn)])])])]))}}),En=Object.assign(A(Vn,[["__scopeId","data-v-5dee128b"]]),{__name:"LandingPodcast"}),Dn={id:"features",class:"landing-section"},Nn={class:"landing-section-header"},Wn={class:"landing-features-grid"},Gn={class:"landing-feature-icon"},Un=m({__name:"LandingFeatures",setup(h){const{t}=f(),l=[{icon:"🎯",key:"wrapper"},{icon:"🛡️",key:"pipeline"},{icon:"⏱️",key:"time"},{icon:"🗄️",key:"filesystem"},{icon:"📊",key:"kanban"},{icon:"🔧",key:"custom"},{icon:"💰",key:"cost"},{icon:"🪄",key:"autocreate",highlight:!0},{icon:"🌐",key:"expose"}];return(i,a)=>(d(),r("section",Dn,[n("div",Nn,[n("h2",null,e(o(t)("landing.features.title")),1),n("p",null,e(o(t)("landing.features.subtitle")),1)]),n("div",Wn,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:R(["landing-feature-card",{highlight:s.highlight}])},[n("div",Gn,e(s.icon),1),n("h3",null,e(o(t)(`landing.features.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.features.${s.key}.desc`)),1)],2)),64))])]))}}),Xn=Object.assign(Un,{__name:"LandingFeatures"}),Yn={id:"pipeline",class:"landing-section"},Jn={class:"landing-section-header"},Kn={class:"landing-pipeline-flow"},Qn={class:"phase-icon"},Zn={key:0,class:"phase-items"},nt={key:0,class:"pipeline-arrow"},tt={class:"landing-pipeline-note"},et=m({__name:"LandingPipeline",setup(h){const{t}=f(),l=[{key:"create",icon:"📝",color:"blue"},{key:"reviews",icon:"🔍",color:"purple",items:["bestPractices","duplication","consistency","security"]},{key:"tests",icon:"🧪",color:"orange"},{key:"deploy",icon:"🚀",color:"green"}];return(i,a)=>(d(),r("section",Yn,[n("div",Jn,[n("h2",null,e(o(t)("landing.pipeline.title")),1),n("p",null,e(o(t)("landing.pipeline.subtitle")),1)]),n("div",Kn,[(d(),r(w,null,x(l,(s,v)=>(d(),r(w,{key:s.key},[n("div",{class:R(["pipeline-phase",`pipeline-phase-${s.color}`])},[n("div",Qn,e(s.icon),1),n("h3",null,e(o(t)(`landing.pipeline.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.pipeline.${s.key}.desc`)),1),s.items?(d(),r("div",Zn,[(d(!0),r(w,null,x(s.items,b=>(d(),r("span",{key:b,class:"phase-item"},e(o(t)(`landing.pipeline.reviews.${b}`)),1))),128))])):F("",!0)],2),v<l.length-1?(d(),r("div",nt,[...a[0]||(a[0]=[n("svg",{width:"24",height:"24",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 7l5 5m0 0l-5 5m5-5H6"})],-1)])])):F("",!0)],64))),64))]),n("div",tt,[a[1]||(a[1]=n("span",{class:"note-icon"},"💡",-1)),n("p",null,e(o(t)("landing.pipeline.note")),1)])]))}}),ot=Object.assign(A(et,[["__scopeId","data-v-b084b36d"]]),{__name:"LandingPipeline"}),at={id:"workflow",class:"landing-section landing-workflow"},st={class:"landing-section-header"},it={class:"landing-workflow-container"},lt={class:"landing-workflow-steps"},dt={class:"landing-step-number"},ct={class:"landing-step-content"},rt=m({__name:"LandingWorkflow",setup(h){const{t}=f(),l=[{number:"1",key:"install"},{number:"2",key:"init"},{number:"3",key:"create"},{number:"4",key:"serve"}];return(i,a)=>(d(),r("section",at,[n("div",st,[n("h2",null,e(o(t)("landing.workflow.title")),1),n("p",null,e(o(t)("landing.workflow.subtitle")),1)]),n("div",it,[n("div",lt,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:"landing-workflow-step"},[n("div",dt,e(s.number),1),n("div",ct,[n("h4",null,e(o(t)(`landing.workflow.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.workflow.${s.key}.desc`)),1)])])),64))])])]))}}),pt=Object.assign(rt,{__name:"LandingWorkflow"}),ut={id:"autonomy",class:"landing-section"},_t={class:"landing-section-header"},gt={class:"landing-autonomy-grid"},mt={class:"autonomy-icon"},ht={class:"landing-autonomy-workflow"},vt={class:"workflow-header"},ft={class:"workflow-content"},yt={class:"workflow-source"},kt={class:"workflow-node source-node"},wt={class:"node-text"},bt={class:"workflow-paths"},$t={class:"workflow-path path-1"},xt={class:"workflow-node action-node"},Lt={class:"node-text"},Ct={class:"workflow-path path-2"},Mt={class:"workflow-node action-node"},At={class:"node-text"},Tt={class:"workflow-path path-3"},zt={class:"workflow-node action-node"},Ht={class:"node-text"},Bt=m({__name:"LandingAutonomy",setup(h){const{t}=f(),l=[{key:"skip",icon:"⏭️"},{key:"correct",icon:"🔄"},{key:"spawn",icon:"🐣"}];return(i,a)=>(d(),r("section",ut,[n("div",_t,[n("h2",null,e(o(t)("landing.autonomy.title")),1),n("p",null,e(o(t)("landing.autonomy.subtitle")),1)]),n("div",gt,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:"landing-autonomy-card"},[n("div",mt,e(s.icon),1),n("h3",null,e(o(t)(`landing.autonomy.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.autonomy.${s.key}.desc`)),1)])),64))]),n("div",ht,[n("div",vt,[n("span",null,e(o(t)("landing.autonomy.codeTitle")),1)]),n("div",ft,[n("div",yt,[n("div",kt,[a[0]||(a[0]=n("span",{class:"node-icon"},"🔍",-1)),n("span",wt,e(o(t)("landing.autonomy.code.comment1")),1)])]),a[7]||(a[7]=n("div",{class:"workflow-arrow-down"},[n("svg",{width:"24",height:"40",viewBox:"0 0 24 40",fill:"none",stroke:"currentColor"},[n("path",{"stroke-width":"2",d:"M12 0v32m0 0l-6-6m6 6l6-6"})])],-1)),n("div",bt,[n("div",$t,[a[2]||(a[2]=n("div",{class:"path-condition"},"Hors scope ?",-1)),n("div",xt,[a[1]||(a[1]=n("span",{class:"node-icon"},"🐣",-1)),n("span",Lt,e(o(t)("landing.autonomy.code.comment2")),1)])]),n("div",Ct,[a[4]||(a[4]=n("div",{class:"path-condition"},"Dans le scope ?",-1)),n("div",Mt,[a[3]||(a[3]=n("span",{class:"node-icon"},"⚡",-1)),n("span",At,e(o(t)("landing.autonomy.code.comment3")),1)])]),n("div",Tt,[a[6]||(a[6]=n("div",{class:"path-condition"},"Amélioration ?",-1)),n("div",zt,[a[5]||(a[5]=n("span",{class:"node-icon"},"📝",-1)),n("span",Ht,e(o(t)("landing.autonomy.code.comment4")),1)])])])])])]))}}),jt=Object.assign(A(Bt,[["__scopeId","data-v-89440757"]]),{__name:"LandingAutonomy"}),Pt={id:"installation",class:"landing-section"},St={class:"landing-section-header"},Ft={class:"landing-install-container"},It={class:"landing-code-block"},Ot={class:"landing-code-header"},Rt={class:"landing-code-content"},qt={class:"landing-code-comment"},Vt={class:"landing-code-block"},Et={class:"landing-code-header"},Dt={class:"landing-code-content"},Nt={class:"landing-code-comment"},Wt={class:"landing-code-block"},Gt={class:"landing-code-header"},Ut={class:"landing-code-content"},Xt={class:"landing-code-comment"},Yt=m({__name:"LandingInstall",setup(h){const{t}=f(),l=async i=>{try{await navigator.clipboard.writeText(i)}catch{}};return(i,a)=>(d(),r("section",Pt,[n("div",St,[n("h2",null,e(o(t)("landing.install.title")),1),n("p",null,e(o(t)("landing.install.subtitle")),1)]),n("div",Ft,[n("div",It,[n("div",Ot,[n("span",null,e(o(t)("landing.install.step1")),1),n("button",{class:"landing-copy-btn",onClick:a[0]||(a[0]=s=>l("npm install -g @autocode-cli/autocode"))},e(o(t)("landing.install.copy")),1)]),n("div",Rt,[n("code",null,[n("span",qt,"# "+e(o(t)("landing.install.globalInstall")),1),a[3]||(a[3]=n("br",null,null,-1)),a[4]||(a[4]=n("span",{class:"landing-code-command"},"npm install -g @autocode-cli/autocode",-1))])])]),n("div",Vt,[n("div",Et,[n("span",null,e(o(t)("landing.install.step2")),1),n("button",{class:"landing-copy-btn",onClick:a[1]||(a[1]=s=>l("autocode init"))},e(o(t)("landing.install.copy")),1)]),n("div",Dt,[n("code",null,[n("span",Nt,"# "+e(o(t)("landing.install.initProject")),1),a[5]||(a[5]=n("br",null,null,-1)),a[6]||(a[6]=n("span",{class:"landing-code-command"},"autocode init",-1))])])]),n("div",Wt,[n("div",Gt,[n("span",null,e(o(t)("landing.install.step3")),1),n("button",{class:"landing-copy-btn",onClick:a[2]||(a[2]=s=>l("autocode serve"))},e(o(t)("landing.install.copy")),1)]),n("div",Ut,[n("code",null,[n("span",Xt,"# "+e(o(t)("landing.install.startDashboard")),1),a[7]||(a[7]=n("br",null,null,-1)),a[8]||(a[8]=n("span",{class:"landing-code-command"},"autocode serve",-1))])])])])]))}}),Jt=Object.assign(Yt,{__name:"LandingInstall"}),Kt={id:"commands",class:"landing-section"},Qt={class:"landing-section-header"},Zt={class:"landing-commands-table-wrapper"},ne={class:"landing-commands-table"},te=m({__name:"LandingCommands",setup(h){const{t}=f(),l=[{cmd:"autocode init",key:"init"},{cmd:"autocode serve",key:"serve"},{cmd:"autocode serve --expose",key:"expose"},{cmd:"autocode new <title> [desc]",key:"new"},{cmd:"autocode list",key:"list"},{cmd:"autocode show <key>",key:"show"},{cmd:"autocode next <key>",key:"next"},{cmd:"autocode move <key> <column>",key:"move"},{cmd:"autocode start <key>",key:"start"},{cmd:"autocode comment <key> <text>",key:"comment"},{cmd:"autocode history <key>",key:"history"},{cmd:"autocode parent <key> [parent]",key:"parent"},{cmd:"autocode stats",key:"stats"},{cmd:"autocode health",key:"health"},{cmd:"autocode pipeline <action>",key:"pipeline"},{cmd:"autocode catalog",key:"catalog"},{cmd:"autocode help",key:"help"}];return(i,a)=>(d(),r("section",Kt,[n("div",Qt,[n("h2",null,e(o(t)("landing.commands.title")),1),n("p",null,e(o(t)("landing.commands.subtitle")),1)]),n("div",Zt,[n("table",ne,[n("thead",null,[n("tr",null,[n("th",null,e(o(t)("landing.commands.command")),1),n("th",null,e(o(t)("landing.commands.description")),1)])]),n("tbody",null,[(d(),r(w,null,x(l,s=>n("tr",{key:s.key},[n("td",null,[n("code",null,e(s.cmd),1)]),n("td",null,e(o(t)(`landing.commands.${s.key}`)),1)])),64))])])])]))}}),ee=Object.assign(A(te,[["__scopeId","data-v-dc1385aa"]]),{__name:"LandingCommands"}),oe={id:"architecture",class:"landing-section"},ae={class:"landing-section-header"},se={class:"landing-architecture-flow"},ie={class:"flow-step"},le={class:"flow-step success"},de={class:"landing-architecture-details"},ce={class:"detail-icon"},re=m({__name:"LandingArchitecture",setup(h){const{t}=f(),l=[{key:"storage",icon:"🗄️"},{key:"interfaces",icon:"🔌"},{key:"tech",icon:"⚙️"}];return(i,a)=>(d(),r("section",oe,[n("div",ae,[n("h2",null,e(o(t)("landing.architecture.title")),1),n("p",null,e(o(t)("landing.architecture.subtitle")),1)]),n("div",se,[n("div",ie,[a[0]||(a[0]=n("div",{class:"flow-icon"},"👤",-1)),n("span",null,e(o(t)("landing.architecture.flow.you")),1)]),a[2]||(a[2]=I('<div class="flow-arrow" data-v-ab99f707>→</div><div class="flow-step highlight" data-v-ab99f707><div class="flow-icon" data-v-ab99f707>⚡</div><span data-v-ab99f707>AutoCode</span></div><div class="flow-arrow" data-v-ab99f707>→</div><div class="flow-step" data-v-ab99f707><div class="flow-icon" data-v-ab99f707>🤖</div><span data-v-ab99f707>Claude Code</span></div><div class="flow-arrow" data-v-ab99f707>→</div>',5)),n("div",le,[a[1]||(a[1]=n("div",{class:"flow-icon"},"✅",-1)),n("span",null,e(o(t)("landing.architecture.flow.validated")),1)])]),n("div",de,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:"architecture-detail-card"},[n("div",ce,e(s.icon),1),n("h3",null,e(o(t)(`landing.architecture.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.architecture.${s.key}.desc`)),1)])),64))])]))}}),pe=Object.assign(A(re,[["__scopeId","data-v-ab99f707"]]),{__name:"LandingArchitecture"}),ue={id:"api",class:"landing-section"},_e={class:"landing-section-header"},ge={class:"landing-api-grid"},me={class:"landing-api-endpoint"},he=m({__name:"LandingApi",setup(h){const{t}=f(),l=[{method:"get",endpoint:"/api/issues"},{method:"get",endpoint:"/api/issues/:id"},{method:"post",endpoint:"/api/issues"},{method:"patch",endpoint:"/api/issues/:id"},{method:"post",endpoint:"/api/issues/:id/move"},{method:"post",endpoint:"/api/issues/:id/next"},{method:"get",endpoint:"/api/issues/:id/comments"},{method:"post",endpoint:"/api/issues/:id/comments"},{method:"delete",endpoint:"/api/issues/:id/archive"},{method:"get",endpoint:"/api/columns"},{method:"get",endpoint:"/api/pipelines"},{method:"get",endpoint:"/api/stats"}];return(i,a)=>(d(),r("section",ue,[n("div",_e,[n("h2",null,e(o(t)("landing.api.title")),1),n("p",null,e(o(t)("landing.api.subtitle")),1)]),n("div",ge,[(d(),r(w,null,x(l,s=>n("div",{key:s.endpoint,class:"landing-api-card"},[n("span",{class:R(["landing-api-method",s.method])},e(s.method.toUpperCase()),3),n("span",me,e(s.endpoint),1)])),64))])]))}}),ve=Object.assign(he,{__name:"LandingApi"}),fe={id:"roadmap",class:"landing-section"},ye={class:"landing-section-header"},ke={class:"landing-roadmap-grid"},we={class:"roadmap-icon"},be={class:"roadmap-status"},$e={class:"landing-roadmap-cta"},xe={href:"https://gitlab.com/evkoh/autocode/-/issues",target:"_blank",class:"landing-btn landing-btn-secondary"},Le=m({__name:"LandingRoadmap",setup(h){const{t}=f(),l=[{key:"mcp",icon:"🔗"},{key:"catalog",icon:"📚"}];return(i,a)=>(d(),r("section",fe,[n("div",ye,[n("h2",null,e(o(t)("landing.roadmap.title")),1),n("p",null,e(o(t)("landing.roadmap.subtitle")),1)]),n("div",ke,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:"landing-roadmap-card"},[n("div",we,e(s.icon),1),n("h3",null,e(o(t)(`landing.roadmap.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.roadmap.${s.key}.desc`)),1),n("span",be,e(o(t)("landing.roadmap.coming")),1)])),64))]),n("div",$e,[n("a",xe,[T(e(o(t)("landing.roadmap.cta"))+" ",1),a[0]||(a[0]=n("svg",{width:"20",height:"20",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})],-1))])])]))}}),Ce=Object.assign(A(Le,[["__scopeId","data-v-c498be6d"]]),{__name:"LandingRoadmap"}),Me={id:"faq",class:"landing-section"},Ae={class:"landing-section-header"},Te={class:"landing-faq-container"},ze=m({__name:"LandingFaq",setup(h){const{t}=f(),l=["what","install","free","pipeline","claude","customize","database","testing"];return(i,a)=>(d(),r("section",Me,[n("div",Ae,[n("h2",null,e(o(t)("landing.faq.title")),1),n("p",null,e(o(t)("landing.faq.subtitle")),1)]),n("div",Te,[(d(),r(w,null,x(l,s=>n("div",{key:s,class:"landing-faq-item"},[n("h3",null,e(o(t)(`landing.faq.${s}.q`)),1),n("p",null,e(o(t)(`landing.faq.${s}.a`)),1)])),64))])]))}}),He=Object.assign(ze,{__name:"LandingFaq"}),Be={class:"landing-footer"},je={class:"landing-footer-content"},Pe={class:"landing-footer-brand"},Se={class:"landing-footer-tagline"},Fe={class:"landing-footer-nav"},Ie={class:"landing-footer-bottom"},Oe={class:"landing-footer-copy"},Re=m({__name:"LandingFooter",setup(h){const{t}=f(),l=new Date().getFullYear(),i=$(!1);return O(()=>{i.value=window.location.host.endsWith(".gitlab.io")}),(a,s)=>{const v=D;return d(),r("footer",Be,[n("div",je,[n("div",Pe,[s[0]||(s[0]=n("span",{class:"landing-footer-logo"},"AutoCode",-1)),n("span",Se,e(o(t)("landing.footer.madeWith")),1)]),n("nav",Fe,[s[1]||(s[1]=I('<a href="https://gitlab.com/evkoh/autocode" target="_blank" rel="noopener" data-v-63ea1028><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-v-63ea1028><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z" data-v-63ea1028></path></svg> GitLab </a><a href="https://www.npmjs.com/package/@autocode-cli/autocode" target="_blank" rel="noopener" data-v-63ea1028><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-v-63ea1028><path d="M0 7.334v8h6.666v1.332H12v-1.332h12v-8H0zm6.666 6.664H5.334v-4H3.999v4H1.335V8.667h5.331v5.331zm4 0v1.336H8.001V8.667h5.334v5.332h-2.669v-.001zm12.001 0h-1.33v-4h-1.336v4h-1.335v-4h-1.33v4h-2.671V8.667h8.002v5.331z" data-v-63ea1028></path></svg> npm </a><a href="#api" data-v-63ea1028>API</a>',3)),o(i)?F("",!0):(d(),E(v,{key:0,to:"/kanban",class:"landing-footer-dashboard"},{default:S(()=>[T(e(o(t)("landing.footer.dashboard")),1)]),_:1}))]),n("div",Ie,[n("p",Oe," © "+e(o(l))+" AutoCode · "+e(o(t)("landing.footer.license")),1)])])])}}}),qe=Object.assign(A(Re,[["__scopeId","data-v-63ea1028"]]),{__name:"LandingFooter"}),Ve={class:"landing-page"},We=m({__name:"index",setup(h){const{t}=f();return Y({title:()=>t("landing.meta.title"),link:[{rel:"icon",type:"image/svg+xml",href:"/favicon.svg"},{rel:"canonical",href:"https://autocode.dev/"}],meta:[{name:"description",content:()=>t("landing.meta.description")},{name:"keywords",content:()=>t("landing.meta.keywords")},{property:"og:type",content:"website"},{property:"og:url",content:"https://autocode.dev/"},{property:"og:title",content:()=>t("landing.meta.title")},{property:"og:description",content:()=>t("landing.meta.description")},{property:"og:site_name",content:"AutoCode"},{property:"og:image",content:"https://autocode.dev/og-image.svg"},{property:"og:image:width",content:"1200"},{property:"og:image:height",content:"630"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:title",content:()=>t("landing.meta.title")},{name:"twitter:description",content:()=>t("landing.meta.description")},{name:"twitter:image",content:"https://autocode.dev/og-image.svg"}]}),(l,i)=>{const a=Q,s=rn,v=fn,b=$n,_=En,L=Xn,u=ot,z=pt,B=jt,C=Jt,M=ee,c=pe,H=ve,j=Ce,q=He,V=qe;return d(),r("div",Ve,[g(a),g(s),g(v),g(b),g(_),g(L),g(u),g(z),g(B),g(C),g(M),g(c),g(H),g(j),g(q),g(V)])}}});export{We as default};
|
|
1
|
+
import{d as m,r as $,o as O,a as G,c as r,b as d,_ as A,u as f,e as n,f as g,w as S,g as T,t as e,h as o,i as E,j as F,k as I,l as P,m as U,n as X,F as w,p as x,q as R,s as Y}from"./Da5mz8p9.js";import{_ as D}from"./DLjMZl4b.js";import{_ as J}from"./DomCSEI3.js";const K=m({__name:"LandingMatrixBg",setup(h){const t=$(null),l=['autocode new "Fix login bug" -p P1',"autocode serve --expose","autocode next AC-000042","autocode move AC-000001 review","autocode pipeline show default","autocode stats --session","autocode health --verbose","autocode list --tree","autocode history AC-000015 --full",'autocode comment AC-000003 "Done"',"autocode catalog add security-audit","autocode init && autocode serve","GET /api/issues?column=in-progress","POST /api/issues { title, priority }","PATCH /api/issues/AC-000001","POST /api/issues/:id/next","GET /api/pipelines/default","GET /api/workflow/health","POST /api/issues/:id/comments","GET /api/stats",'claude -p "Review this code"','claude -p "Fix the failing tests"','claude -p "Add security validation"','claude -p "Refactor for clarity"',"await claude.execute(prompt)",'claude --model opus "Analyze"',"pipeline.advance(issue)","if (review.passed) next()","while (!tests.green) retry()","bestPractices.validate(code)","security.audit(changes)","duplication.detect(diff)","consistency.check(style)","prisma.issue.findMany()","prisma.issue.update({ data })","await prisma.$transaction()","SELECT * FROM issues WHERE done"],i=["rgba(99, 102, 241, ","rgba(139, 92, 246, ","rgba(168, 85, 247, ","rgba(192, 132, 252, ","rgba(236, 72, 153, "];let a=[],s=null;function v(){const _=t.value;if(!_)return;const L=()=>{_.width=window.innerWidth,_.height=window.innerHeight};L(),window.addEventListener("resize",L);const u=_.getContext("2d");if(!u)return;const z=Math.floor(window.innerWidth/60);a=[];for(let C=0;C<z;C++)b(_.width,_.height);function B(){if(!u||!_)return;u.clearRect(0,0,_.width,_.height);const C=Date.now();for(let M=a.length-1;M>=0;M--){const c=a[M];if(c.phase==="writing")c.charIndex+=c.speed*.5,c.charIndex>=c.text.length&&(c.phase="visible",c.visibleTime=C);else if(c.phase==="visible")C-c.visibleTime>300+Math.random()*500&&(c.phase="fading");else if(c.phase==="fading"&&(c.opacity-=.03*c.speed,c.opacity<=0)){a.splice(M,1),b(_.width,_.height);continue}u.font=`${c.fontSize}px 'JetBrains Mono', 'Fira Code', monospace`;const H=c.text.substring(0,Math.floor(c.charIndex));if(u.shadowColor=c.color+"0.5)",u.shadowBlur=8,u.fillStyle=c.color+(c.opacity*.8).toFixed(2)+")",u.fillText(H,c.x,c.y),u.shadowBlur=0,u.fillStyle=c.color+c.opacity.toFixed(2)+")",u.fillText(H,c.x,c.y),c.phase==="writing"&&Math.floor(C/100)%2===0){const j=c.x+u.measureText(H).width;u.fillStyle=c.color+"0.9)",u.fillRect(j+2,c.y-c.fontSize+4,2,c.fontSize)}}s=requestAnimationFrame(B)}B()}function b(_,L){const u=10+Math.random()*6,z=l[Math.floor(Math.random()*l.length)];a.push({x:Math.random()*(_-300),y:50+Math.random()*(L-100),text:z,charIndex:0,opacity:.2+Math.random()*.4,speed:.5+Math.random()*3.5,color:i[Math.floor(Math.random()*i.length)],phase:"writing",visibleTime:0,fontSize:u})}return O(()=>{v()}),G(()=>{s&&cancelAnimationFrame(s)}),(_,L)=>(d(),r("canvas",{ref_key:"canvasRef",ref:t,class:"landing-matrix-bg","aria-hidden":"true"},null,512))}}),Q=Object.assign(A(K,[["__scopeId","data-v-b5216f08"]]),{__name:"LandingMatrixBg"}),Z={class:"landing-nav"},nn={class:"landing-nav-container"},tn={class:"landing-nav-links"},en={href:"#features"},on={href:"#workflow"},an={href:"#installation"},sn={href:"#faq"},ln={href:"#api"},dn={class:"landing-nav-right"},cn=m({__name:"LandingNav",setup(h){const{t}=f(),l=$(!1);return O(()=>{l.value=window.location.host.endsWith(".gitlab.io")}),(i,a)=>{const s=D,v=J;return d(),r("nav",Z,[n("div",nn,[g(s,{to:"/",class:"landing-logo"},{default:S(()=>[...a[0]||(a[0]=[n("span",null,"⚡",-1),T(" AutoCode ",-1),n("span",{class:"landing-beta-badge"},"BETA",-1)])]),_:1}),n("ul",tn,[n("li",null,[n("a",en,e(o(t)("landing.nav.features")),1)]),n("li",null,[n("a",on,e(o(t)("landing.nav.workflow")),1)]),n("li",null,[n("a",an,e(o(t)("landing.nav.installation")),1)]),n("li",null,[n("a",sn,e(o(t)("landing.nav.faq")),1)]),n("li",null,[n("a",ln,e(o(t)("landing.nav.api")),1)])]),n("div",dn,[g(v),o(l)?F("",!0):(d(),E(s,{key:0,to:"/kanban",class:"landing-nav-cta"},{default:S(()=>[T(e(o(t)("landing.nav.dashboard")),1)]),_:1}))])])])}}}),rn=Object.assign(cn,{__name:"LandingNav"}),pn={class:"landing-hero"},un={class:"landing-hero-content"},_n={class:"landing-hero-badge"},gn={class:"gradient"},mn={class:"landing-hero-buttons"},hn={href:"#installation",class:"landing-btn landing-btn-primary"},vn=m({__name:"LandingHero",setup(h){const{t}=f();return(l,i)=>(d(),r("section",pn,[n("div",un,[n("div",_n,[i[0]||(i[0]=n("span",null,"Wrapper",-1)),n("span",null,e(o(t)("landing.hero.badge")),1)]),n("h1",null,[T(e(o(t)("landing.hero.title1")),1),i[1]||(i[1]=n("br",null,null,-1)),n("span",gn,e(o(t)("landing.hero.title2")),1)]),n("p",null,e(o(t)("landing.hero.description")),1),n("div",mn,[n("a",hn,[T(e(o(t)("landing.hero.cta"))+" ",1),i[2]||(i[2]=n("svg",{width:"20",height:"20",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 7l5 5m0 0l-5 5m5-5H6"})],-1))]),i[3]||(i[3]=I('<a href="https://gitlab.com/evkoh/autocode" class="landing-btn landing-btn-secondary" target="_blank"><svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path></svg> GitLab </a><a href="https://www.npmjs.com/package/@autocode-cli/autocode" class="landing-btn landing-btn-secondary" target="_blank"><svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M0 7.334v8h6.666v1.332H12v-1.332h12v-8H0zm6.666 6.664H5.334v-4H3.999v4H1.335V8.667h5.331v5.331zm4 0v1.336H8.001V8.667h5.334v5.332h-2.669v-.001zm12.001 0h-1.33v-4h-1.336v4h-1.335v-4h-1.33v4h-2.671V8.667h8.002v5.331zM10.665 10H12v2.667h-1.335V10z"></path></svg> npm </a>',2))]),i[4]||(i[4]=I('<div class="landing-terminal"><div class="landing-terminal-header"><span class="landing-terminal-dot red"></span><span class="landing-terminal-dot yellow"></span><span class="landing-terminal-dot green"></span></div><div class="landing-terminal-body"><div class="landing-terminal-line"><span class="landing-terminal-prompt">$</span><span class="landing-terminal-command">npm install -g @autocode-cli/autocode</span></div><div class="landing-terminal-output"><span style="color:#22c55e;">+ @autocode-cli/autocode installed</span></div><div class="landing-terminal-line"><span class="landing-terminal-prompt">$</span><span class="landing-terminal-command">autocode serve</span></div><div class="landing-terminal-output"> Dashboard available at <span class="landing-terminal-accent">http://localhost:3000</span></div></div></div>',1))])]))}}),fn=Object.assign(vn,{__name:"LandingHero"}),yn={id:"demo",class:"landing-section landing-demo"},kn={class:"landing-demo-content"},wn={key:1,href:"https://gitlab.com/evkoh/autocode",target:"_blank",class:"landing-btn landing-btn-primary landing-btn-large"},bn=m({__name:"LandingDemo",setup(h){const{t}=f(),l=$(!1);return O(()=>{const i=window.location.hostname;l.value=i==="localhost"||i==="127.0.0.1"}),(i,a)=>{const s=D;return d(),r("section",yn,[n("div",kn,[n("h2",null,e(o(t)("landing.demo.title")),1),n("p",null,e(o(t)("landing.demo.description")),1),o(l)?(d(),E(s,{key:0,to:"/kanban",class:"landing-btn landing-btn-primary landing-btn-large"},{default:S(()=>[T(e(o(t)("landing.demo.cta"))+" ",1),a[0]||(a[0]=n("svg",{width:"24",height:"24",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14 5l7 7m0 0l-7 7m7-7H3"})],-1))]),_:1})):(d(),r("a",wn,[T(e(o(t)("landing.demo.ctaGitlab"))+" ",1),a[1]||(a[1]=n("svg",{width:"24",height:"24",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14 5l7 7m0 0l-7 7m7-7H3"})],-1))]))])])}}}),$n=Object.assign(A(bn,[["__scopeId","data-v-5e25f58c"]]),{__name:"LandingDemo"}),xn={id:"podcast",class:"landing-section"},Ln={class:"landing-section-header"},Cn={class:"landing-podcast-player"},Mn=["src"],An={class:"podcast-info"},Tn={class:"podcast-meta"},zn={class:"podcast-lang-badge"},Hn={class:"podcast-controls"},Bn=["disabled"],jn={key:0,width:"24",height:"24",fill:"currentColor",viewBox:"0 0 24 24"},Pn={key:1,width:"24",height:"24",fill:"currentColor",viewBox:"0 0 24 24"},Sn={class:"podcast-progress-bar"},Fn={class:"podcast-time"},In={class:"podcast-speed"},On=["onClick"],Rn={class:"podcast-volume"},qn=["value"],Vn=m({__name:"LandingPodcast",setup(h){const{t,locale:l}=f(),i=$(null),a=$(!1),s=$(0),v=$(0),b=$(1),_=$(1),L=$(!1),u=P(()=>`./media/podcast/${l.value}.m4a`),z=P(()=>M(s.value)),B=P(()=>M(v.value)),C=P(()=>v.value>0?s.value/v.value*100:0);function M(y){const p=Math.floor(y/60),k=Math.floor(y%60);return`${p}:${k.toString().padStart(2,"0")}`}function c(){i.value&&(a.value?i.value.pause():i.value.play())}function H(){i.value&&(s.value=i.value.currentTime)}function j(){i.value&&(v.value=i.value.duration,L.value=!0)}function q(y){if(!i.value||!v.value)return;const k=y.currentTarget.getBoundingClientRect(),N=(y.clientX-k.left)/k.width;i.value.currentTime=N*v.value}function V(y){_.value=y,i.value&&(i.value.playbackRate=y)}function W(y){const p=y.target;b.value=parseFloat(p.value),i.value&&(i.value.volume=b.value)}return U(l,()=>{if(i.value){const y=a.value,p=s.value;i.value.load(),i.value.currentTime=p,y&&i.value.play()}}),(y,p)=>(d(),r("section",xn,[n("div",Ln,[n("h2",null,e(o(t)("landing.podcast.title")),1),n("p",null,e(o(t)("landing.podcast.description")),1)]),n("div",Cn,[n("audio",{ref_key:"audioRef",ref:i,src:o(u),preload:"metadata",onTimeupdate:H,onLoadedmetadata:j,onPlay:p[0]||(p[0]=k=>a.value=!0),onPause:p[1]||(p[1]=k=>a.value=!1),onEnded:p[2]||(p[2]=k=>a.value=!1)},null,40,Mn),n("div",An,[p[3]||(p[3]=n("div",{class:"podcast-artwork"},[n("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"currentColor"},[n("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})])],-1)),n("div",Tn,[n("h3",null,e(o(t)("landing.podcast.episode")),1),n("span",zn,e(o(l).toUpperCase()),1)])]),n("div",Hn,[n("button",{class:"podcast-play-btn",disabled:!o(L),onClick:c},[o(a)?(d(),r("svg",Pn,[...p[5]||(p[5]=[n("path",{d:"M6 19h4V5H6v14zm8-14v14h4V5h-4z"},null,-1)])])):(d(),r("svg",jn,[...p[4]||(p[4]=[n("path",{d:"M8 5v14l11-7z"},null,-1)])]))],8,Bn),n("div",{class:"podcast-progress-container",onClick:q},[n("div",Sn,[n("div",{class:"podcast-progress-fill",style:X({width:`${o(C)}%`})},null,4)]),n("div",Fn,[n("span",null,e(o(z)),1),n("span",null,e(o(B)),1)])]),n("div",In,[(d(),r(w,null,x([.5,1,1.5,2],k=>n("button",{key:k,class:R({active:o(_)===k}),onClick:N=>V(k)},e(k)+"x ",11,On)),64))]),n("div",Rn,[p[6]||(p[6]=n("svg",{width:"20",height:"20",fill:"currentColor",viewBox:"0 0 24 24"},[n("path",{d:"M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02z"})],-1)),n("input",{type:"range",min:"0",max:"1",step:"0.1",value:o(b),onInput:W},null,40,qn)])])])]))}}),En=Object.assign(A(Vn,[["__scopeId","data-v-5dee128b"]]),{__name:"LandingPodcast"}),Dn={id:"features",class:"landing-section"},Nn={class:"landing-section-header"},Wn={class:"landing-features-grid"},Gn={class:"landing-feature-icon"},Un=m({__name:"LandingFeatures",setup(h){const{t}=f(),l=[{icon:"🎯",key:"wrapper"},{icon:"🛡️",key:"pipeline"},{icon:"⏱️",key:"time"},{icon:"🗄️",key:"filesystem"},{icon:"📊",key:"kanban"},{icon:"🔧",key:"custom"},{icon:"💰",key:"cost"},{icon:"🪄",key:"autocreate",highlight:!0},{icon:"🌐",key:"expose"}];return(i,a)=>(d(),r("section",Dn,[n("div",Nn,[n("h2",null,e(o(t)("landing.features.title")),1),n("p",null,e(o(t)("landing.features.subtitle")),1)]),n("div",Wn,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:R(["landing-feature-card",{highlight:s.highlight}])},[n("div",Gn,e(s.icon),1),n("h3",null,e(o(t)(`landing.features.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.features.${s.key}.desc`)),1)],2)),64))])]))}}),Xn=Object.assign(Un,{__name:"LandingFeatures"}),Yn={id:"pipeline",class:"landing-section"},Jn={class:"landing-section-header"},Kn={class:"landing-pipeline-flow"},Qn={class:"phase-icon"},Zn={key:0,class:"phase-items"},nt={key:0,class:"pipeline-arrow"},tt={class:"landing-pipeline-note"},et=m({__name:"LandingPipeline",setup(h){const{t}=f(),l=[{key:"create",icon:"📝",color:"blue"},{key:"reviews",icon:"🔍",color:"purple",items:["bestPractices","duplication","consistency","security"]},{key:"tests",icon:"🧪",color:"orange"},{key:"deploy",icon:"🚀",color:"green"}];return(i,a)=>(d(),r("section",Yn,[n("div",Jn,[n("h2",null,e(o(t)("landing.pipeline.title")),1),n("p",null,e(o(t)("landing.pipeline.subtitle")),1)]),n("div",Kn,[(d(),r(w,null,x(l,(s,v)=>(d(),r(w,{key:s.key},[n("div",{class:R(["pipeline-phase",`pipeline-phase-${s.color}`])},[n("div",Qn,e(s.icon),1),n("h3",null,e(o(t)(`landing.pipeline.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.pipeline.${s.key}.desc`)),1),s.items?(d(),r("div",Zn,[(d(!0),r(w,null,x(s.items,b=>(d(),r("span",{key:b,class:"phase-item"},e(o(t)(`landing.pipeline.reviews.${b}`)),1))),128))])):F("",!0)],2),v<l.length-1?(d(),r("div",nt,[...a[0]||(a[0]=[n("svg",{width:"24",height:"24",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 7l5 5m0 0l-5 5m5-5H6"})],-1)])])):F("",!0)],64))),64))]),n("div",tt,[a[1]||(a[1]=n("span",{class:"note-icon"},"💡",-1)),n("p",null,e(o(t)("landing.pipeline.note")),1)])]))}}),ot=Object.assign(A(et,[["__scopeId","data-v-b084b36d"]]),{__name:"LandingPipeline"}),at={id:"workflow",class:"landing-section landing-workflow"},st={class:"landing-section-header"},it={class:"landing-workflow-container"},lt={class:"landing-workflow-steps"},dt={class:"landing-step-number"},ct={class:"landing-step-content"},rt=m({__name:"LandingWorkflow",setup(h){const{t}=f(),l=[{number:"1",key:"install"},{number:"2",key:"init"},{number:"3",key:"create"},{number:"4",key:"serve"}];return(i,a)=>(d(),r("section",at,[n("div",st,[n("h2",null,e(o(t)("landing.workflow.title")),1),n("p",null,e(o(t)("landing.workflow.subtitle")),1)]),n("div",it,[n("div",lt,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:"landing-workflow-step"},[n("div",dt,e(s.number),1),n("div",ct,[n("h4",null,e(o(t)(`landing.workflow.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.workflow.${s.key}.desc`)),1)])])),64))])])]))}}),pt=Object.assign(rt,{__name:"LandingWorkflow"}),ut={id:"autonomy",class:"landing-section"},_t={class:"landing-section-header"},gt={class:"landing-autonomy-grid"},mt={class:"autonomy-icon"},ht={class:"landing-autonomy-workflow"},vt={class:"workflow-header"},ft={class:"workflow-content"},yt={class:"workflow-source"},kt={class:"workflow-node source-node"},wt={class:"node-text"},bt={class:"workflow-paths"},$t={class:"workflow-path path-1"},xt={class:"workflow-node action-node"},Lt={class:"node-text"},Ct={class:"workflow-path path-2"},Mt={class:"workflow-node action-node"},At={class:"node-text"},Tt={class:"workflow-path path-3"},zt={class:"workflow-node action-node"},Ht={class:"node-text"},Bt=m({__name:"LandingAutonomy",setup(h){const{t}=f(),l=[{key:"skip",icon:"⏭️"},{key:"correct",icon:"🔄"},{key:"spawn",icon:"🐣"}];return(i,a)=>(d(),r("section",ut,[n("div",_t,[n("h2",null,e(o(t)("landing.autonomy.title")),1),n("p",null,e(o(t)("landing.autonomy.subtitle")),1)]),n("div",gt,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:"landing-autonomy-card"},[n("div",mt,e(s.icon),1),n("h3",null,e(o(t)(`landing.autonomy.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.autonomy.${s.key}.desc`)),1)])),64))]),n("div",ht,[n("div",vt,[n("span",null,e(o(t)("landing.autonomy.codeTitle")),1)]),n("div",ft,[n("div",yt,[n("div",kt,[a[0]||(a[0]=n("span",{class:"node-icon"},"🔍",-1)),n("span",wt,e(o(t)("landing.autonomy.code.comment1")),1)])]),a[7]||(a[7]=n("div",{class:"workflow-arrow-down"},[n("svg",{width:"24",height:"40",viewBox:"0 0 24 40",fill:"none",stroke:"currentColor"},[n("path",{"stroke-width":"2",d:"M12 0v32m0 0l-6-6m6 6l6-6"})])],-1)),n("div",bt,[n("div",$t,[a[2]||(a[2]=n("div",{class:"path-condition"},"Hors scope ?",-1)),n("div",xt,[a[1]||(a[1]=n("span",{class:"node-icon"},"🐣",-1)),n("span",Lt,e(o(t)("landing.autonomy.code.comment2")),1)])]),n("div",Ct,[a[4]||(a[4]=n("div",{class:"path-condition"},"Dans le scope ?",-1)),n("div",Mt,[a[3]||(a[3]=n("span",{class:"node-icon"},"⚡",-1)),n("span",At,e(o(t)("landing.autonomy.code.comment3")),1)])]),n("div",Tt,[a[6]||(a[6]=n("div",{class:"path-condition"},"Amélioration ?",-1)),n("div",zt,[a[5]||(a[5]=n("span",{class:"node-icon"},"📝",-1)),n("span",Ht,e(o(t)("landing.autonomy.code.comment4")),1)])])])])])]))}}),jt=Object.assign(A(Bt,[["__scopeId","data-v-89440757"]]),{__name:"LandingAutonomy"}),Pt={id:"installation",class:"landing-section"},St={class:"landing-section-header"},Ft={class:"landing-install-container"},It={class:"landing-code-block"},Ot={class:"landing-code-header"},Rt={class:"landing-code-content"},qt={class:"landing-code-comment"},Vt={class:"landing-code-block"},Et={class:"landing-code-header"},Dt={class:"landing-code-content"},Nt={class:"landing-code-comment"},Wt={class:"landing-code-block"},Gt={class:"landing-code-header"},Ut={class:"landing-code-content"},Xt={class:"landing-code-comment"},Yt=m({__name:"LandingInstall",setup(h){const{t}=f(),l=async i=>{try{await navigator.clipboard.writeText(i)}catch{}};return(i,a)=>(d(),r("section",Pt,[n("div",St,[n("h2",null,e(o(t)("landing.install.title")),1),n("p",null,e(o(t)("landing.install.subtitle")),1)]),n("div",Ft,[n("div",It,[n("div",Ot,[n("span",null,e(o(t)("landing.install.step1")),1),n("button",{class:"landing-copy-btn",onClick:a[0]||(a[0]=s=>l("npm install -g @autocode-cli/autocode"))},e(o(t)("landing.install.copy")),1)]),n("div",Rt,[n("code",null,[n("span",qt,"# "+e(o(t)("landing.install.globalInstall")),1),a[3]||(a[3]=n("br",null,null,-1)),a[4]||(a[4]=n("span",{class:"landing-code-command"},"npm install -g @autocode-cli/autocode",-1))])])]),n("div",Vt,[n("div",Et,[n("span",null,e(o(t)("landing.install.step2")),1),n("button",{class:"landing-copy-btn",onClick:a[1]||(a[1]=s=>l("autocode init"))},e(o(t)("landing.install.copy")),1)]),n("div",Dt,[n("code",null,[n("span",Nt,"# "+e(o(t)("landing.install.initProject")),1),a[5]||(a[5]=n("br",null,null,-1)),a[6]||(a[6]=n("span",{class:"landing-code-command"},"autocode init",-1))])])]),n("div",Wt,[n("div",Gt,[n("span",null,e(o(t)("landing.install.step3")),1),n("button",{class:"landing-copy-btn",onClick:a[2]||(a[2]=s=>l("autocode serve"))},e(o(t)("landing.install.copy")),1)]),n("div",Ut,[n("code",null,[n("span",Xt,"# "+e(o(t)("landing.install.startDashboard")),1),a[7]||(a[7]=n("br",null,null,-1)),a[8]||(a[8]=n("span",{class:"landing-code-command"},"autocode serve",-1))])])])])]))}}),Jt=Object.assign(Yt,{__name:"LandingInstall"}),Kt={id:"commands",class:"landing-section"},Qt={class:"landing-section-header"},Zt={class:"landing-commands-table-wrapper"},ne={class:"landing-commands-table"},te=m({__name:"LandingCommands",setup(h){const{t}=f(),l=[{cmd:"autocode init",key:"init"},{cmd:"autocode serve",key:"serve"},{cmd:"autocode serve --expose",key:"expose"},{cmd:"autocode new <title> [desc]",key:"new"},{cmd:"autocode list",key:"list"},{cmd:"autocode show <key>",key:"show"},{cmd:"autocode next <key>",key:"next"},{cmd:"autocode move <key> <column>",key:"move"},{cmd:"autocode start <key>",key:"start"},{cmd:"autocode comment <key> <text>",key:"comment"},{cmd:"autocode history <key>",key:"history"},{cmd:"autocode parent <key> [parent]",key:"parent"},{cmd:"autocode stats",key:"stats"},{cmd:"autocode health",key:"health"},{cmd:"autocode pipeline <action>",key:"pipeline"},{cmd:"autocode catalog",key:"catalog"},{cmd:"autocode help",key:"help"}];return(i,a)=>(d(),r("section",Kt,[n("div",Qt,[n("h2",null,e(o(t)("landing.commands.title")),1),n("p",null,e(o(t)("landing.commands.subtitle")),1)]),n("div",Zt,[n("table",ne,[n("thead",null,[n("tr",null,[n("th",null,e(o(t)("landing.commands.command")),1),n("th",null,e(o(t)("landing.commands.description")),1)])]),n("tbody",null,[(d(),r(w,null,x(l,s=>n("tr",{key:s.key},[n("td",null,[n("code",null,e(s.cmd),1)]),n("td",null,e(o(t)(`landing.commands.${s.key}`)),1)])),64))])])])]))}}),ee=Object.assign(A(te,[["__scopeId","data-v-dc1385aa"]]),{__name:"LandingCommands"}),oe={id:"architecture",class:"landing-section"},ae={class:"landing-section-header"},se={class:"landing-architecture-flow"},ie={class:"flow-step"},le={class:"flow-step success"},de={class:"landing-architecture-details"},ce={class:"detail-icon"},re=m({__name:"LandingArchitecture",setup(h){const{t}=f(),l=[{key:"storage",icon:"🗄️"},{key:"interfaces",icon:"🔌"},{key:"tech",icon:"⚙️"}];return(i,a)=>(d(),r("section",oe,[n("div",ae,[n("h2",null,e(o(t)("landing.architecture.title")),1),n("p",null,e(o(t)("landing.architecture.subtitle")),1)]),n("div",se,[n("div",ie,[a[0]||(a[0]=n("div",{class:"flow-icon"},"👤",-1)),n("span",null,e(o(t)("landing.architecture.flow.you")),1)]),a[2]||(a[2]=I('<div class="flow-arrow" data-v-ab99f707>→</div><div class="flow-step highlight" data-v-ab99f707><div class="flow-icon" data-v-ab99f707>⚡</div><span data-v-ab99f707>AutoCode</span></div><div class="flow-arrow" data-v-ab99f707>→</div><div class="flow-step" data-v-ab99f707><div class="flow-icon" data-v-ab99f707>🤖</div><span data-v-ab99f707>Claude Code</span></div><div class="flow-arrow" data-v-ab99f707>→</div>',5)),n("div",le,[a[1]||(a[1]=n("div",{class:"flow-icon"},"✅",-1)),n("span",null,e(o(t)("landing.architecture.flow.validated")),1)])]),n("div",de,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:"architecture-detail-card"},[n("div",ce,e(s.icon),1),n("h3",null,e(o(t)(`landing.architecture.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.architecture.${s.key}.desc`)),1)])),64))])]))}}),pe=Object.assign(A(re,[["__scopeId","data-v-ab99f707"]]),{__name:"LandingArchitecture"}),ue={id:"api",class:"landing-section"},_e={class:"landing-section-header"},ge={class:"landing-api-grid"},me={class:"landing-api-endpoint"},he=m({__name:"LandingApi",setup(h){const{t}=f(),l=[{method:"get",endpoint:"/api/issues"},{method:"get",endpoint:"/api/issues/:id"},{method:"post",endpoint:"/api/issues"},{method:"patch",endpoint:"/api/issues/:id"},{method:"post",endpoint:"/api/issues/:id/move"},{method:"post",endpoint:"/api/issues/:id/next"},{method:"get",endpoint:"/api/issues/:id/comments"},{method:"post",endpoint:"/api/issues/:id/comments"},{method:"delete",endpoint:"/api/issues/:id/archive"},{method:"get",endpoint:"/api/columns"},{method:"get",endpoint:"/api/pipelines"},{method:"get",endpoint:"/api/stats"}];return(i,a)=>(d(),r("section",ue,[n("div",_e,[n("h2",null,e(o(t)("landing.api.title")),1),n("p",null,e(o(t)("landing.api.subtitle")),1)]),n("div",ge,[(d(),r(w,null,x(l,s=>n("div",{key:s.endpoint,class:"landing-api-card"},[n("span",{class:R(["landing-api-method",s.method])},e(s.method.toUpperCase()),3),n("span",me,e(s.endpoint),1)])),64))])]))}}),ve=Object.assign(he,{__name:"LandingApi"}),fe={id:"roadmap",class:"landing-section"},ye={class:"landing-section-header"},ke={class:"landing-roadmap-grid"},we={class:"roadmap-icon"},be={class:"roadmap-status"},$e={class:"landing-roadmap-cta"},xe={href:"https://gitlab.com/evkoh/autocode/-/issues",target:"_blank",class:"landing-btn landing-btn-secondary"},Le=m({__name:"LandingRoadmap",setup(h){const{t}=f(),l=[{key:"mcp",icon:"🔗"},{key:"catalog",icon:"📚"}];return(i,a)=>(d(),r("section",fe,[n("div",ye,[n("h2",null,e(o(t)("landing.roadmap.title")),1),n("p",null,e(o(t)("landing.roadmap.subtitle")),1)]),n("div",ke,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:"landing-roadmap-card"},[n("div",we,e(s.icon),1),n("h3",null,e(o(t)(`landing.roadmap.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.roadmap.${s.key}.desc`)),1),n("span",be,e(o(t)("landing.roadmap.coming")),1)])),64))]),n("div",$e,[n("a",xe,[T(e(o(t)("landing.roadmap.cta"))+" ",1),a[0]||(a[0]=n("svg",{width:"20",height:"20",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})],-1))])])]))}}),Ce=Object.assign(A(Le,[["__scopeId","data-v-c498be6d"]]),{__name:"LandingRoadmap"}),Me={id:"faq",class:"landing-section"},Ae={class:"landing-section-header"},Te={class:"landing-faq-container"},ze=m({__name:"LandingFaq",setup(h){const{t}=f(),l=["what","install","free","pipeline","claude","customize","database","testing"];return(i,a)=>(d(),r("section",Me,[n("div",Ae,[n("h2",null,e(o(t)("landing.faq.title")),1),n("p",null,e(o(t)("landing.faq.subtitle")),1)]),n("div",Te,[(d(),r(w,null,x(l,s=>n("div",{key:s,class:"landing-faq-item"},[n("h3",null,e(o(t)(`landing.faq.${s}.q`)),1),n("p",null,e(o(t)(`landing.faq.${s}.a`)),1)])),64))])]))}}),He=Object.assign(ze,{__name:"LandingFaq"}),Be={class:"landing-footer"},je={class:"landing-footer-content"},Pe={class:"landing-footer-brand"},Se={class:"landing-footer-tagline"},Fe={class:"landing-footer-nav"},Ie={class:"landing-footer-bottom"},Oe={class:"landing-footer-copy"},Re=m({__name:"LandingFooter",setup(h){const{t}=f(),l=new Date().getFullYear(),i=$(!1);return O(()=>{i.value=window.location.host.endsWith(".gitlab.io")}),(a,s)=>{const v=D;return d(),r("footer",Be,[n("div",je,[n("div",Pe,[s[0]||(s[0]=n("span",{class:"landing-footer-logo"},"AutoCode",-1)),n("span",Se,e(o(t)("landing.footer.madeWith")),1)]),n("nav",Fe,[s[1]||(s[1]=I('<a href="https://gitlab.com/evkoh/autocode" target="_blank" rel="noopener" data-v-63ea1028><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-v-63ea1028><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z" data-v-63ea1028></path></svg> GitLab </a><a href="https://www.npmjs.com/package/@autocode-cli/autocode" target="_blank" rel="noopener" data-v-63ea1028><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-v-63ea1028><path d="M0 7.334v8h6.666v1.332H12v-1.332h12v-8H0zm6.666 6.664H5.334v-4H3.999v4H1.335V8.667h5.331v5.331zm4 0v1.336H8.001V8.667h5.334v5.332h-2.669v-.001zm12.001 0h-1.33v-4h-1.336v4h-1.335v-4h-1.33v4h-2.671V8.667h8.002v5.331z" data-v-63ea1028></path></svg> npm </a><a href="#api" data-v-63ea1028>API</a>',3)),o(i)?F("",!0):(d(),E(v,{key:0,to:"/kanban",class:"landing-footer-dashboard"},{default:S(()=>[T(e(o(t)("landing.footer.dashboard")),1)]),_:1}))]),n("div",Ie,[n("p",Oe," © "+e(o(l))+" AutoCode · "+e(o(t)("landing.footer.license")),1)])])])}}}),qe=Object.assign(A(Re,[["__scopeId","data-v-63ea1028"]]),{__name:"LandingFooter"}),Ve={class:"landing-page"},We=m({__name:"index",setup(h){const{t}=f();return Y({title:()=>t("landing.meta.title"),link:[{rel:"icon",type:"image/svg+xml",href:"/favicon.svg"},{rel:"canonical",href:"https://autocode.dev/"}],meta:[{name:"description",content:()=>t("landing.meta.description")},{name:"keywords",content:()=>t("landing.meta.keywords")},{property:"og:type",content:"website"},{property:"og:url",content:"https://autocode.dev/"},{property:"og:title",content:()=>t("landing.meta.title")},{property:"og:description",content:()=>t("landing.meta.description")},{property:"og:site_name",content:"AutoCode"},{property:"og:image",content:"https://autocode.dev/og-image.svg"},{property:"og:image:width",content:"1200"},{property:"og:image:height",content:"630"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:title",content:()=>t("landing.meta.title")},{name:"twitter:description",content:()=>t("landing.meta.description")},{name:"twitter:image",content:"https://autocode.dev/og-image.svg"}]}),(l,i)=>{const a=Q,s=rn,v=fn,b=$n,_=En,L=Xn,u=ot,z=pt,B=jt,C=Jt,M=ee,c=pe,H=ve,j=Ce,q=He,V=qe;return d(),r("div",Ve,[g(a),g(s),g(v),g(b),g(_),g(L),g(u),g(z),g(B),g(C),g(M),g(c),g(H),g(j),g(q),g(V)])}}});export{We as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as d}from"./
|
|
1
|
+
import{_ as d}from"./DLjMZl4b.js";import{d as r,G as u,l as _,s as l,c as p,e,f as i,g as o,t as c,h as m,w as f,b as x,_ as b}from"./Da5mz8p9.js";const k={class:"test-page card"},N=r({__name:"[id]",setup(g){const a=u(),s=_(()=>a.params.id);return l({title:`Test ${s.value} - AutoCode`}),(v,t)=>{const n=d;return x(),p("div",k,[t[2]||(t[2]=e("h1",null,"Test Route Dynamique",-1)),e("p",null,[t[0]||(t[0]=o(" ID: ",-1)),e("code",null,c(m(s)),1)]),i(n,{to:"/kanban",class:"btn btn-secondary"},{default:f(()=>[...t[1]||(t[1]=[o(" Retour ",-1)])]),_:1})])}}}),C=b(N,[["__scopeId","data-v-bd9f8600"]]);export{C as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{d as ne,G as ae,x as oe,l,r as v,v as R,u as le,o as re,s as ie,c as r,e as a,j as C,t as n,h as e,q as ce,F as ue,C as de,D as pe,H as me,g as q,b as i,_ as ve}from"./
|
|
1
|
+
import{d as ne,G as ae,x as oe,l,r as v,v as R,u as le,o as re,s as ie,c as r,e as a,j as C,t as n,h as e,q as ce,F as ue,C as de,D as pe,H as me,g as q,b as i,_ as ve}from"./Da5mz8p9.js";import{u as fe}from"./DhIzsKNb.js";import{u as ge}from"./B5K45pkN.js";import{u as D}from"./B7N9KVJb.js";const ye={class:"column-prompt-page"},_e={class:"page-header card"},he={class:"header-left"},be={key:0,class:"pipeline-badge"},ke={class:"header-right"},Ce=["disabled"],we=["disabled"],Pe={key:0,class:"loading card"},Se={key:1,class:"error-message card"},$e={key:2,class:"prompt-container card"},xe={key:0,class:"prompt-content"},Ne={class:"prompt-meta"},Be={class:"meta-item"},Te={class:"meta-item"},Ve={key:0,class:"meta-item meta-dirty"},Fe=ne({__name:"prompt",async setup(Ie){let u,g;const w=ae(),N=oe(),{success:P,error:B}=fe(),{pipelineConfig:E,isColumnInPipeline:M,addColumnBySlug:j,removeColumnBySlug:z,savePipeline:T,loadActivePipeline:H}=ge(),d=l(()=>w.params.slug),y=l(()=>w.query.pipeline||""),G=l(()=>w.query.name||""),U=l(()=>G.value||d.value),J=()=>{window.history.length>1?N.back():N.push("/kanban")},S=v(!1),c=v(!1),m=v(""),p=v(!1),_=v(!1),h=v(!1),{data:b,status:L,error:V,refresh:W}=([u,g]=R(()=>D(()=>{const s=new URLSearchParams;y.value&&s.set("pipeline",y.value);const o=s.toString();return`/api/columns/${d.value}/prompt${o?`?${o}`:""}`},"$jZPB4J8e0r")),u=await u,g(),u),f=l(()=>b.value?typeof b.value=="string"?b.value:b.value.content||"":""),F=l(()=>c.value?m.value:f.value),Z=l(()=>{const s=F.value;return!s||typeof s!="string"?0:s.split(`
|
|
2
2
|
`).length}),K=l(()=>{const s=F.value;return!s||typeof s!="string"?0:s.length}),O=async()=>{if(f.value)try{await navigator.clipboard.writeText(f.value),S.value=!0,setTimeout(()=>{S.value=!1},2e3)}catch(s){console.error("Failed to copy:",s)}},Q=()=>{m.value=f.value,p.value=!1,c.value=!0},X=()=>{p.value&&!confirm("Vous avez des modifications non enregistrées. Voulez-vous vraiment annuler ?")||(c.value=!1,p.value=!1)},Y=async()=>{_.value=!0;try{await $fetch(`/api/columns/${d.value}/actions`,{method:"PATCH",body:{content:m.value}}),P(t("pipeline.promptSaved")),p.value=!1,await W(),c.value=!1}catch{B(t("error.saveFailed"))}finally{_.value=!1}},{t}=le(),{data:I}=([u,g]=R(()=>D("/api/catalog","$8GjW2wVST-")),u=await u,g(),u),k=l(()=>{if(!I.value)return null;const s=d.value.replace(/^\d+_/,"");for(const o of["definition","action","finish"]){const A=I.value.segments[o].columns.find(se=>se.slug.replace(/^\d+_/,"")===s);if(A)return{...A,segment:o}}return null}),ee=l(()=>M(d.value)),$=l(()=>ee.value.inPipeline),te=async()=>{if(k.value){h.value=!0;try{if($.value)z(d.value),await T(),P(t("pipeline.columnRemoved"));else{const s=k.value.segment;j(d.value,k.value.name,s),await T(),P(t("pipeline.columnAdded"))}}catch{B(t("error.saveFailed"))}finally{h.value=!1}}};return re(()=>{H()}),ie({title:l(()=>`${d.value} - AutoCode`)}),(s,o)=>(i(),r("div",ye,[a("header",_e,[a("div",he,[a("button",{class:"back-link",onClick:J},"← "+n(e(t)("nav.back")),1),o[2]||(o[2]=a("span",{class:"header-separator"},"/",-1)),a("h1",null,n(e(U)),1),e(y)?(i(),r("span",be,n(e(y)),1)):C("",!0)]),a("div",ke,[!e(c)&&e(k)&&e(E)?(i(),r("button",{key:0,class:ce(["btn btn-sm",e($)?"btn-danger":"btn-success"]),disabled:e(h),onClick:te},n(e(h)?"...":e($)?e(t)("column.deactivate"):e(t)("column.activate")),11,Ce)):C("",!0),e(c)?C("",!0):(i(),r("button",{key:1,class:"btn btn-secondary btn-sm",onClick:O},n(e(S)?e(t)("form.copied"):e(t)("form.copy")),1)),e(c)?(i(),r(ue,{key:3},[a("button",{class:"btn btn-secondary btn-sm",onClick:X},n(e(t)("modal.cancel")),1),a("button",{class:"btn btn-primary btn-sm",disabled:e(_)||!e(p),onClick:Y},n(e(_)?e(t)("form.saving"):e(t)("form.save")),9,we)],64)):(i(),r("button",{key:2,class:"btn btn-primary btn-sm",onClick:Q},n(e(t)("column.edit")),1))])]),e(L)==="pending"?(i(),r("div",Pe,n(e(t)("app.loading")),1)):e(V)?(i(),r("div",Se,n(e(V).message),1)):(i(),r("div",$e,[e(c)?de((i(),r("textarea",{key:1,"onUpdate:modelValue":o[0]||(o[0]=x=>me(m)?m.value=x:null),class:"code-editor",spellcheck:"false",onInput:o[1]||(o[1]=x=>p.value=!0)},null,544)),[[pe,e(m)]]):(i(),r("pre",xe,[a("code",null,n(e(f)),1)])),a("div",Ne,[a("span",Be,[a("strong",null,n(e(t)("column.lines"))+":",1),q(" "+n(e(Z)),1)]),a("span",Te,[a("strong",null,n(e(t)("column.chars"))+":",1),q(" "+n(e(K)),1)]),e(c)&&e(p)?(i(),r("span",Ve,n(e(t)("form.unsavedChanges")),1)):C("",!0)])]))]))}}),Ee=ve(Fe,[["__scopeId","data-v-bf4ee782"]]);export{Ee as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as it}from"./
|
|
1
|
+
import{_ as it}from"./DLjMZl4b.js";import{d as st,x as ot,r as g,u as rt,B as N,v as at,l as U,s as nt,c as l,e,f as X,w as E,t as r,j as $,g as h,C as v,D as k,h as o,q as V,E as lt,F as D,p as S,z as T,b as c,_ as ct}from"./Da5mz8p9.js";import{u as pt}from"./DhIzsKNb.js";import{u as dt}from"./BV98b_5N.js";import{u as ut}from"./B7N9KVJb.js";const mt=()=>({validateTitle:p=>p.trim()?p.length>200?"Title too long (max 200 characters)":null:"Title is required",validateDescription:p=>p.trim()?null:"Description is required",validateKey:p=>/^AC-\d{6}$/.test(p)?null:"Invalid issue key format (AC-XXXXXX)",validateFile:p=>{const F=["image/png","image/jpeg","image/gif","image/webp","application/pdf","text/plain","text/markdown","application/json","application/xml"];return p.size>10485760?"File too large (max 10MB)":F.includes(p.type)?null:"File type not allowed"}}),ft={class:"new-issue-page"},ht={class:"page-header"},vt={class:"form-group"},_t={class:"form-label",for:"title"},yt={class:"title-row"},bt=["disabled","title"],gt={key:0,class:"spinner"},$t={key:1,class:"sparkle"},kt={key:0,class:"error-text"},Ct={class:"form-group"},wt={class:"form-label",for:"description"},Ft={class:"form-hint"},It={key:0,class:"error-text"},Vt={class:"form-row"},Dt={class:"form-group"},St={class:"form-label",for:"priority"},Tt={value:""},At={value:"low"},Bt={value:"medium"},zt={value:"high"},Pt={value:"critical"},qt={class:"form-group"},Mt={class:"form-label",for:"parent"},Nt=["placeholder"],Ut={id:"parent-suggestions"},Xt=["value"],Et={class:"form-group"},jt={class:"form-label"},Kt={class:"criteria-list"},Lt=["onUpdate:modelValue","placeholder"],Ot=["onClick"],Rt={class:"form-group"},Ht={class:"form-label"},Gt={key:0,class:"attachments-list"},Jt={class:"file-name"},Qt={class:"file-size"},Wt=["onClick"],Yt={key:1,class:"error-text"},Zt={class:"form-actions"},xt=["disabled"],te=st({__name:"new",async setup(j){let f,C;const A=ot(),{success:p,error:w}=pt(),{validateTitle:F,validateDescription:K,validateFile:L}=mt(),{getErrorMessage:B}=dt(),z=g(null),_=g(!1),y=g(!1),m=g(!1),{locale:O,t:P}=rt(),s=N({title:"",description:"",priority:"",parent:"",acceptanceCriteria:[""],attachments:[]}),n=N({title:"",description:"",attachments:""}),{data:R}=([f,C]=at(()=>ut("/api/issues","$PR1V20I2qI")),f=await f,C(),f),H=U(()=>(R.value||[]).slice(0,10)),q=U(()=>s.title.trim()&&s.description.trim()&&!n.attachments),b=t=>{t==="title"?n.title=F(s.title)||"":t==="description"&&(n.description=K(s.description)||"")},G=async()=>{if(!(!s.title.trim()||m.value)){m.value=!0;try{const t=s.acceptanceCriteria.filter(d=>d.trim()),i=await $fetch("/api/issues/autocomplete",{method:"POST",body:{title:s.title,lang:O.value,description:s.description||void 0,priority:s.priority||void 0,acceptance_criteria:t.length>0?t:void 0,parent_key:s.parent||void 0}});if(i.description&&(s.description=i.description),i.priority){const d={P0:"critical",P1:"high",P2:"medium",P3:"low"};s.priority=d[i.priority]||i.priority}i.acceptance_criteria&&Array.isArray(i.acceptance_criteria)&&(s.acceptanceCriteria=i.acceptance_criteria.length>0?i.acceptance_criteria:[""]),p(P("autocomplete.rememberSave"))}catch(t){w(B(t,P("autocomplete.error")))}finally{m.value=!1}}},J=()=>{s.acceptanceCriteria.push("")},Q=t=>{s.acceptanceCriteria.splice(t,1)},W=()=>{z.value?.click()},Y=t=>{const i=t.target;i.files&&M(Array.from(i.files))},Z=t=>{_.value=!1,t.dataTransfer?.files&&M(Array.from(t.dataTransfer.files))},M=t=>{n.attachments="";for(const i of t){const d=L(i);if(d){n.attachments=d;return}s.attachments.push(i)}},x=t=>{s.attachments.splice(t,1),n.attachments=""},tt=t=>t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`,et=async()=>{if(q.value&&(b("title"),b("description"),!(n.title||n.description))){y.value=!0;try{const t=s.acceptanceCriteria.filter(d=>d.trim()),i=await $fetch("/api/issues",{method:"POST",body:{title:s.title,description:s.description,priority:s.priority||void 0,parent_key:s.parent||void 0,acceptance_criteria:t.length>0?t:void 0}});p("Issue created"),A.push(`/issue/${i.key}`)}catch(t){w(B(t,"Failed to create issue"))}finally{y.value=!1}}};return nt({title:"New Issue - AutoCode"}),(t,i)=>{const d=it;return c(),l("div",ft,[e("header",ht,[X(d,{to:"/kanban",class:"back-link"},{default:E(()=>[h(" ← "+r(t.$t("nav.kanban")),1)]),_:1}),e("h1",null,r(t.$t("nav.newIssue")),1)]),e("form",{class:"issue-form card",onSubmit:T(et,["prevent"])},[e("div",vt,[e("label",_t,[h(r(t.$t("issue.title"))+" ",1),i[8]||(i[8]=e("span",{class:"required"},"*",-1))]),e("div",yt,[v(e("input",{id:"title","onUpdate:modelValue":i[0]||(i[0]=a=>o(s).title=a),type:"text",class:V(["form-input",{"has-error":o(n).title}]),required:"",onBlur:i[1]||(i[1]=a=>b("title"))},null,34),[[k,o(s).title]]),e("button",{type:"button",class:"btn-autocomplete",disabled:o(m)||!o(s).title.trim(),title:t.$t("autocomplete.tooltip"),onClick:G},[o(m)?(c(),l("span",gt)):(c(),l("span",$t,"✨")),h(" "+r(o(m)?t.$t("autocomplete.loading"):t.$t("autocomplete.button")),1)],8,bt)]),o(n).title?(c(),l("span",kt,r(o(n).title),1)):$("",!0)]),e("div",Ct,[e("label",wt,[h(r(t.$t("issue.description"))+" ",1),i[9]||(i[9]=e("span",{class:"required"},"*",-1))]),v(e("textarea",{id:"description","onUpdate:modelValue":i[2]||(i[2]=a=>o(s).description=a),class:V(["form-input",{"has-error":o(n).description}]),rows:"8",required:"",onBlur:i[3]||(i[3]=a=>b("description"))},null,34),[[k,o(s).description]]),e("p",Ft,r(t.$t("form.markdownSupported")),1),o(n).description?(c(),l("span",It,r(o(n).description),1)):$("",!0)]),e("div",Vt,[e("div",Dt,[e("label",St,r(t.$t("issue.priority")),1),v(e("select",{id:"priority","onUpdate:modelValue":i[4]||(i[4]=a=>o(s).priority=a),class:"form-input"},[e("option",Tt,r(t.$t("form.select")),1),e("option",At,r(t.$t("priority.low")),1),e("option",Bt,r(t.$t("priority.medium")),1),e("option",zt,r(t.$t("priority.high")),1),e("option",Pt,r(t.$t("priority.critical")),1)],512),[[lt,o(s).priority]])]),e("div",qt,[e("label",Mt,r(t.$t("issue.parent")),1),v(e("input",{id:"parent","onUpdate:modelValue":i[5]||(i[5]=a=>o(s).parent=a),type:"text",class:"form-input",placeholder:t.$t("form.parentPlaceholder"),list:"parent-suggestions"},null,8,Nt),[[k,o(s).parent]]),e("datalist",Ut,[(c(!0),l(D,null,S(o(H),a=>(c(),l("option",{key:a.key,value:a.key},r(a.title),9,Xt))),128))])])]),e("div",Et,[e("label",jt,r(t.$t("issue.acceptanceCriteria")),1),e("div",Kt,[(c(!0),l(D,null,S(o(s).acceptanceCriteria,(a,u)=>(c(),l("div",{key:u,class:"criteria-item"},[v(e("input",{"onUpdate:modelValue":I=>o(s).acceptanceCriteria[u]=I,type:"text",class:"form-input",placeholder:t.$t("form.criteriaPlaceholder")},null,8,Lt),[[k,o(s).acceptanceCriteria[u]]]),e("button",{type:"button",class:"btn-icon",onClick:I=>Q(u)},"×",8,Ot)]))),128)),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:J}," + "+r(t.$t("form.addCriteria")),1)])]),e("div",Rt,[e("label",Ht,r(t.$t("issue.attachments")),1),e("div",{class:V(["dropzone",{dragover:o(_)}]),onDragover:i[6]||(i[6]=T(a=>_.value=!0,["prevent"])),onDragleave:i[7]||(i[7]=a=>_.value=!1),onDrop:T(Z,["prevent"])},[e("input",{ref_key:"fileInput",ref:z,type:"file",multiple:"",class:"file-input",onChange:Y},null,544),e("p",null,r(t.$t("form.dropFiles")),1),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:W},r(t.$t("form.browse")),1)],34),o(s).attachments.length?(c(),l("ul",Gt,[(c(!0),l(D,null,S(o(s).attachments,(a,u)=>(c(),l("li",{key:u},[e("span",Jt,r(a.name),1),e("span",Qt,r(tt(a.size)),1),e("button",{type:"button",class:"btn-icon",onClick:I=>x(u)},"×",8,Wt)]))),128))])):$("",!0),o(n).attachments?(c(),l("span",Yt,r(o(n).attachments),1)):$("",!0)]),e("div",Zt,[X(d,{to:"/kanban",class:"btn btn-secondary"},{default:E(()=>[h(r(t.$t("form.cancel")),1)]),_:1}),e("button",{type:"submit",class:"btn btn-primary",disabled:o(y)||!o(q)},r(o(y)?t.$t("form.creating"):t.$t("form.create")),9,xt)])],32)])}}}),ae=ct(te,[["__scopeId","data-v-78563ddb"]]);export{ae as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as C}from"
|
|
1
|
+
import{_ as C}from"./CjrJmDFL.js";import{_ as T}from"./DLjMZl4b.js";import{d as x,G as F,v as h,l as I,s as L,c as a,f as v,e as n,h as e,j as V,t,F as D,p as B,w as H,b as i,q as S,g as X,_ as A}from"./Da5mz8p9.js";import{u as y}from"./B7N9KVJb.js";const E={class:"terminal-page"},R={class:"card"},j={class:"section-header"},q={class:"session-badge"},z={key:0,class:"column-badge"},G={key:0,class:"loading"},J={key:1,class:"error-message"},O={key:2,class:"empty"},W={key:3,class:"terminal-content"},Y={class:"log-time"},K={class:"log-level"},M={class:"log-message"},P={class:"actions"},Q=x({__name:"terminal",async setup(U){let o,c;const p=F(),l=p.params.id,u=p.params.sessionId,{data:r}=([o,c]=h(()=>y(`/api/issues/${l}`,"$WXwXsy2rDm")),o=await o,c(),o),f=I(()=>{if(!r.value)return null;const s={id:r.value.key,title:r.value.title,column:r.value.column_slug};return r.value.priority&&(s.priority=r.value.priority),s}),{data:d,status:$,error:g}=([o,c]=h(()=>y(`/api/issues/${l}/history/${u}/log`,"$7VJyO-YXL0")),o=await o,c(),o),k=s=>{const m=new Date(s);return isNaN(m.getTime())?s:m.toLocaleTimeString("fr-FR",{hour:"2-digit",minute:"2-digit",second:"2-digit"})};return L({title:`Terminal ${u} - ${l} - AutoCode`}),(s,m)=>{const w=C,b=T;return i(),a("div",E,[v(w,{issue:e(f),"active-tab":"history"},null,8,["issue"]),n("div",R,[n("div",j,[n("h2",null,t(s.$t("history.viewTerminal")),1),n("span",q,t(e(u)),1),e(d)?.column?(i(),a("span",z,t(e(d).column),1)):V("",!0)]),e($)==="pending"?(i(),a("div",G,t(s.$t("app.loading")),1)):e(g)?(i(),a("div",J,t(e(g).message),1)):e(d)?.logs?.length?(i(),a("div",W,[(i(!0),a(D,null,B(e(d).logs,(_,N)=>(i(),a("div",{key:N,class:S(["log-entry",`log-${_.level}`])},[n("span",Y,t(k(_.timestamp)),1),n("span",K,t(_.level),1),n("span",M,t(_.message),1)],2))),128))])):(i(),a("div",O,t(s.$t("terminal.noLogs")),1))]),n("div",P,[v(b,{to:`/issue/${e(l)}/history`,class:"btn-secondary"},{default:H(()=>[X(t(s.$t("nav.back")),1)]),_:1},8,["to"])])])}}}),os=A(Q,[["__scopeId","data-v-608b488c"]]);export{os as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as h}from"./
|
|
1
|
+
import{_ as h}from"./DLjMZl4b.js";import{_ as C}from"./DomCSEI3.js";import{d as g,r as x,G as y,m as w,o as N,a as I,c as _,b as l,e as n,f as a,w as u,q as f,h as i,F as $,p as k,g as A,t as d,_ as v,i as E,an as L,ao as O,ap as B}from"./Da5mz8p9.js";import{u as H}from"./DhIzsKNb.js";const S={class:"app-header"},T={class:"header-content"},V={class:"header-actions"},j={class:"btn-text"},F=["aria-label"],G=g({__name:"AppHeader",setup(m){const t=x(!1),c=[{to:"/kanban",label:"nav.kanban"},{to:"/stats",label:"nav.stats"},{to:"/changelog",label:"nav.changelog"},{to:"/settings/pipeline",label:"nav.settings"}],r=y();return w(()=>r.path,()=>{t.value=!1}),N(()=>{const o=e=>{e.key==="Escape"&&(t.value=!1)};document.addEventListener("keydown",o),I(()=>{document.removeEventListener("keydown",o)})}),(o,e)=>{const s=h,b=C;return l(),_("header",S,[n("div",T,[a(s,{to:"/",class:"logo"},{default:u(()=>[...e[2]||(e[2]=[n("span",{class:"logo-icon"},"⚡",-1),n("span",{class:"logo-text"},"AutoCode",-1)])]),_:1}),n("nav",{class:f(["main-nav",{open:i(t)}])},[(l(),_($,null,k(c,p=>a(s,{key:p.to,to:p.to,class:"nav-link",onClick:e[0]||(e[0]=W=>t.value=!1)},{default:u(()=>[A(d(o.$t(p.label)),1)]),_:2},1032,["to"])),64))],2),n("div",V,[a(s,{to:"/issue/new",class:"btn btn-primary new-issue-btn"},{default:u(()=>[e[3]||(e[3]=n("span",{class:"btn-icon"},"+",-1)),n("span",j,d(o.$t("nav.newIssue")),1)]),_:1}),a(b),n("button",{class:"mobile-menu-btn","aria-label":i(t)?"Close menu":"Open menu",onClick:e[1]||(e[1]=p=>t.value=!i(t))},[n("span",{class:f(["hamburger",{open:i(t)}])},[...e[4]||(e[4]=[n("span",null,null,-1),n("span",null,null,-1),n("span",null,null,-1)])],2)],8,F)])])])}}}),M=Object.assign(v(G,[["__scopeId","data-v-055d7a5c"]]),{__name:"AppHeader"}),q={class:"notification-container"},z={class:"notification-icon"},D={class:"notification-message"},K=["onClick"],R=g({__name:"NotificationContainer",setup(m){const{notifications:t,remove:c}=H(),r=o=>({success:"OK",error:"X",warning:"!",info:"i"})[o]||"i";return(o,e)=>(l(),E(O,{to:"body"},[n("div",q,[a(L,{name:"notification"},{default:u(()=>[(l(!0),_($,null,k(i(t),s=>(l(),_("div",{key:s.id,class:f(["notification",`notification-${s.type}`])},[n("span",z,d(r(s.type)),1),n("span",D,d(s.message),1),n("button",{class:"notification-close",onClick:b=>i(c)(s.id)},"x",8,K)],2))),128))]),_:1})])]))}}),U=Object.assign(v(R,[["__scopeId","data-v-87475ab3"]]),{__name:"NotificationContainer"}),X={},J={class:"app-layout"},P={class:"app-main"};function Q(m,t){const c=M,r=U;return l(),_("div",J,[a(c),n("main",P,[B(m.$slots,"default",{},void 0,!0)]),t[0]||(t[0]=n("footer",{class:"app-footer"},[n("p",null,"AutoCode v0.3.0")],-1)),a(r)])}const tn=v(X,[["render",Q],["__scopeId","data-v-157bd0ef"]]);export{tn as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"
|
|
1
|
+
{"id":"d9565cd3-0558-4052-9d4b-0d843258bfa3","timestamp":1767718350528}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"d9565cd3-0558-4052-9d4b-0d843258bfa3","timestamp":1767718350528,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":["/"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as n,c as o,b as t,e as l,ap as a}from"./
|
|
1
|
+
import{_ as n,c as o,b as t,e as l,ap as a}from"./Da5mz8p9.js";const d={},r={class:"landing-layout"};function g(e,s){return t(),o("div",r,[s[0]||(s[0]=l("div",{class:"bg-grid"},null,-1)),s[1]||(s[1]=l("div",{class:"bg-glow bg-glow-1"},null,-1)),s[2]||(s[2]=l("div",{class:"bg-glow bg-glow-2"},null,-1)),a(e.$slots,"default",{},void 0,!0)])}const u=n(d,[["render",g],["__scopeId","data-v-7140fa30"]]);export{u as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},
|
|
1
|
+
[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1767718378176]
|