@autocode-cli/autocode 0.25.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{DN7f1abK.js → B5lFKq3G.js} +1 -1
  3. package/.output/public/_nuxt/{NUjrRkWT.js → BBMcfTGy.js} +1 -1
  4. package/.output/public/_nuxt/{4_elwE_e.js → BcawioR3.js} +1 -1
  5. package/.output/public/_nuxt/{Bf1ocEu6.js → Br7Y24-t.js} +1 -1
  6. package/.output/public/_nuxt/{DSCi2X5i.js → Btwtsr_u.js} +6 -6
  7. package/.output/public/_nuxt/{CrRHcnKi.js → BvE9NWMw.js} +1 -1
  8. package/.output/public/_nuxt/{CgJk7mfe.js → C4itadaD.js} +1 -1
  9. package/.output/public/_nuxt/{CU99pbyc.js → C4ybMJ7Z.js} +1 -1
  10. package/.output/public/_nuxt/{Zm_G5zFc.js → C7Lp5NPF.js} +1 -1
  11. package/.output/public/_nuxt/{B9ujsiLr.js → CMcAFpoK.js} +1 -1
  12. package/.output/public/_nuxt/{C2mu5j0V.js → CWZ6WSwr.js} +1 -1
  13. package/.output/public/_nuxt/{CAz8NsVG.js → CYH4f4uY.js} +1 -1
  14. package/.output/public/_nuxt/{CoH6AHzq.js → CuwYCM4v.js} +1 -1
  15. package/.output/public/_nuxt/{86nT5DaM.js → CvcfIZU-.js} +1 -1
  16. package/.output/public/_nuxt/{CJ1p1ppq.js → CvmJj3tc.js} +1 -1
  17. package/.output/public/_nuxt/{ChEVWHQt.js → D-DgzaOC.js} +1 -1
  18. package/.output/public/_nuxt/{C5ytdoAl.js → D2qvqRWP.js} +1 -1
  19. package/.output/public/_nuxt/{yrliX9Qm.js → D5ZS_G-Z.js} +1 -1
  20. package/.output/public/_nuxt/{DRUbQSkU.js → D8M2gN6n.js} +1 -1
  21. package/.output/public/_nuxt/{CWlxiWg5.js → D90sdSc5.js} +1 -1
  22. package/.output/public/_nuxt/{CGP_mwJK.js → DGmZExaA.js} +1 -1
  23. package/.output/public/_nuxt/{D_y6EjZi.js → DJIybA4c.js} +1 -1
  24. package/.output/public/_nuxt/{BFqW8Kf_.js → DXwIM0gJ.js} +1 -1
  25. package/.output/public/_nuxt/{lWH5TUE4.js → DhNKaVRN.js} +1 -1
  26. package/.output/public/_nuxt/{BmzUVSgE.js → DkN85EyM.js} +1 -1
  27. package/.output/public/_nuxt/{bjB7AWxd.js → DmYbhlFa.js} +1 -1
  28. package/.output/public/_nuxt/{_ezvsEEN.js → DnOmfKyh.js} +1 -1
  29. package/.output/public/_nuxt/{D7nf-00m.js → DuqIS0qR.js} +1 -1
  30. package/.output/public/_nuxt/{DZrnlmz3.js → I-u8LDqX.js} +1 -1
  31. package/.output/public/_nuxt/builds/latest.json +1 -1
  32. package/.output/public/_nuxt/builds/meta/234711bd-452d-42ba-9430-4d79ebc81813.json +1 -0
  33. package/.output/public/_nuxt/{CAp6p9dY.js → nnCcRJrE.js} +1 -1
  34. package/.output/public/_nuxt/{IvWgEuRk.js → oH1B3N8m.js} +1 -1
  35. package/.output/public/_payload.json +1 -1
  36. package/.output/public/index.html +1 -1
  37. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  38. package/.output/server/chunks/build/nuxt-link-Cq8xZgFP.mjs +1 -1
  39. package/.output/server/chunks/build/server.mjs +3 -3
  40. package/.output/server/chunks/build/styles.mjs +18 -18
  41. package/.output/server/chunks/nitro/nitro.mjs +231 -230
  42. package/.output/server/chunks/routes/_ws.mjs +1 -1
  43. package/.output/server/chunks/routes/api/index.get4.mjs +1 -1
  44. package/.output/server/chunks/routes/api/index.post2.mjs +3 -1
  45. package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -1
  46. package/.output/server/chunks/routes/api/index.post3.mjs +1 -1
  47. package/.output/server/chunks/routes/api/pipelines/_name/activate.put.mjs +1 -1
  48. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version/activate.put.mjs +1 -1
  49. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version/finalize.post.mjs +1 -1
  50. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version_.delete.mjs +1 -1
  51. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version_.get.mjs +1 -1
  52. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version_.put.mjs +1 -1
  53. package/.output/server/chunks/routes/api/pipelines/_name/versions.get.mjs +1 -1
  54. package/.output/server/chunks/routes/api/pipelines/_name/versions.post.mjs +1 -1
  55. package/.output/server/chunks/routes/api/pipelines/_name_.delete.mjs +1 -1
  56. package/.output/server/chunks/routes/api/pipelines/_name_.get.mjs +1 -1
  57. package/.output/server/chunks/routes/api/pipelines/_name_.put.mjs +1 -1
  58. package/.output/server/chunks/routes/api/stats.get.mjs +1 -1
  59. package/.output/server/chunks/routes/api/workflow/health.get.mjs +1 -1
  60. package/.output/server/chunks/routes/api/ws/status.get.mjs +1 -1
  61. package/.output/server/chunks/routes/renderer.mjs +1 -1
  62. package/.output/server/node_modules/.prisma/client/index.js +3 -2
  63. package/.output/server/node_modules/.prisma/client/package.json +1 -1
  64. package/.output/server/package.json +1 -1
  65. package/package.json +1 -1
  66. package/.output/public/_nuxt/builds/meta/bd0344c0-8dae-4d94-bdab-994f482d9624.json +0 -1
  67. /package/.output/public/_i18n/{5YauuaBb → JmX-ZbAb}/en/messages.json +0 -0
  68. /package/.output/public/_i18n/{5YauuaBb → JmX-ZbAb}/fr/messages.json +0 -0
@@ -1,5 +1,5 @@
1
1
  {
2
- "date": "2026-01-06T21:37:56.462Z",
2
+ "date": "2026-01-07T06:28:33.364Z",
3
3
  "preset": "node-server",
4
4
  "framework": {
5
5
  "name": "nuxt",
@@ -1,2 +1,2 @@
1
- import{d as H,r as p,l as R,s as V,c,e,j as y,t as a,C as B,D as J,h as t,H as z,g as I,F as N,p as A,y as M,b as i,q as O,z as q,_ as G}from"./DSCi2X5i.js";import{u as L}from"./D7nf-00m.js";const U={class:"autocreate-page"},W={class:"page-header"},K={class:"page-description"},Q={class:"card input-section"},X={class:"form-group"},Y={class:"form-label",for:"prompt"},Z=["placeholder"],x=["disabled"],ee={key:0,class:"card streaming-section"},se={key:0,class:"cursor"},te={key:1,class:"card error-section"},ae={class:"error-text"},oe={key:2,class:"proposals-section"},le={class:"proposals-grid"},re=["onClick"],ne={class:"proposal-header"},ce=["checked","onChange"],ie={class:"proposal-description"},ue={class:"proposal-meta"},pe={class:"badge"},de={class:"proposals-actions"},he=["disabled"],ve={key:3,class:"card results-section"},fe={class:"results-list"},_e={class:"result-icon"},ge={class:"result-name"},me={key:0,class:"result-error"},ye=H({__name:"autocreate",setup(be){const{success:F,error:C}=L(),f=p(""),_=p(!1),k=p(!1),b=p(""),$=p(null),d=p([]),n=p([]),h=p([]),g=p(""),w=R(()=>d.value.length>0&&n.value.length===d.value.length),j=async()=>{if(f.value.trim()){_.value=!0,b.value="",d.value=[],h.value=[],n.value=[],g.value="";try{const s=await fetch("/api/catalog/autocreate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:f.value})});if(!s.ok)throw new Error(`HTTP error: ${s.status}`);const o=s.body?.getReader(),l=new TextDecoder;if(o){let r="";for(;;){const{done:m,value:v}=await o.read();if(m)break;r+=l.decode(v,{stream:!0});const P=r.split(`
1
+ import{d as H,r as p,l as R,s as V,c,e,j as y,t as a,C as B,D as J,h as t,H as z,g as I,F as N,p as A,y as M,b as i,q as O,z as q,_ as G}from"./Btwtsr_u.js";import{u as L}from"./DuqIS0qR.js";const U={class:"autocreate-page"},W={class:"page-header"},K={class:"page-description"},Q={class:"card input-section"},X={class:"form-group"},Y={class:"form-label",for:"prompt"},Z=["placeholder"],x=["disabled"],ee={key:0,class:"card streaming-section"},se={key:0,class:"cursor"},te={key:1,class:"card error-section"},ae={class:"error-text"},oe={key:2,class:"proposals-section"},le={class:"proposals-grid"},re=["onClick"],ne={class:"proposal-header"},ce=["checked","onChange"],ie={class:"proposal-description"},ue={class:"proposal-meta"},pe={class:"badge"},de={class:"proposals-actions"},he=["disabled"],ve={key:3,class:"card results-section"},fe={class:"results-list"},_e={class:"result-icon"},ge={class:"result-name"},me={key:0,class:"result-error"},ye=H({__name:"autocreate",setup(be){const{success:F,error:C}=L(),f=p(""),_=p(!1),k=p(!1),b=p(""),$=p(null),d=p([]),n=p([]),h=p([]),g=p(""),w=R(()=>d.value.length>0&&n.value.length===d.value.length),j=async()=>{if(f.value.trim()){_.value=!0,b.value="",d.value=[],h.value=[],n.value=[],g.value="";try{const s=await fetch("/api/catalog/autocreate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:f.value})});if(!s.ok)throw new Error(`HTTP error: ${s.status}`);const o=s.body?.getReader(),l=new TextDecoder;if(o){let r="";for(;;){const{done:m,value:v}=await o.read();if(m)break;r+=l.decode(v,{stream:!0});const P=r.split(`
2
2
  `);r=P.pop()||"";for(const S of P)if(S.startsWith("data: "))try{const u=JSON.parse(S.slice(6));u.type==="thinking"&&u.content?(b.value+=u.content,M(()=>{$.value&&($.value.scrollTop=$.value.scrollHeight)})):u.type==="proposals"&&u.proposals?(d.value=u.proposals,b.value=""):u.type==="error"&&u.message&&(g.value=u.message)}catch{}}}}catch{g.value="Failed to generate proposals. Please try again.",C("Generation failed")}finally{_.value=!1}}},T=s=>{const o=n.value.indexOf(s);o===-1?n.value.push(s):n.value.splice(o,1)},D=()=>{w.value?n.value=[]:n.value=d.value.map((s,o)=>o)},E=async()=>{if(n.value.length){k.value=!0,h.value=[];try{const s=n.value.map(v=>d.value[v]),o=await fetch("/api/catalog/autocreate/apply",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({proposals:s})});if(!o.ok)throw new Error("Failed to apply proposals");const l=await o.json();h.value=l;const r=h.value.filter(v=>v.success).length,m=h.value.filter(v=>!v.success).length;m===0?F(`Successfully applied ${r} columns`):C(`Applied ${r}, failed ${m}`)}catch{C("Failed to apply proposals")}finally{k.value=!1}}};return V({title:"Autocreate - AutoCode"}),(s,o)=>(i(),c("div",U,[e("header",W,[e("h1",null,a(s.$t("autocreate.title")),1),e("p",K,a(s.$t("autocreate.description")),1)]),e("div",Q,[e("div",X,[e("label",Y,a(s.$t("autocreate.prompt")),1),B(e("textarea",{id:"prompt","onUpdate:modelValue":o[0]||(o[0]=l=>z(f)?f.value=l:null),class:"form-input",rows:"4",placeholder:s.$t("autocreate.promptPlaceholder")},null,8,Z),[[J,t(f)]])]),e("button",{class:"btn btn-primary",disabled:!t(f).trim()||t(_),onClick:j},a(t(_)?s.$t("autocreate.generating"):s.$t("autocreate.generate")),9,x)]),t(b)||t(_)?(i(),c("div",ee,[e("h2",null,a(s.$t("autocreate.thinking")),1),e("div",{ref_key:"streamingRef",ref:$,class:"streaming-output"},[I(a(t(b))+" ",1),t(_)?(i(),c("span",se,"▊")):y("",!0)],512)])):y("",!0),t(g)?(i(),c("div",te,[e("p",ae,a(t(g)),1),e("button",{class:"btn btn-secondary",onClick:o[1]||(o[1]=l=>g.value="")},a(s.$t("form.dismiss")),1)])):y("",!0),t(d).length?(i(),c("div",oe,[e("h2",null,a(s.$t("autocreate.proposals")),1),e("div",le,[(i(!0),c(N,null,A(t(d),(l,r)=>(i(),c("div",{key:r,class:O(["proposal-card card",{selected:t(n).includes(r)}]),onClick:m=>T(r)},[e("div",ne,[e("input",{type:"checkbox",checked:t(n).includes(r),onClick:o[2]||(o[2]=q(()=>{},["stop"])),onChange:m=>T(r)},null,40,ce),e("h3",null,a(l.name),1)]),e("p",ie,a(l.description),1),e("div",ue,[e("span",pe,a(l.type),1)])],10,re))),128))]),e("div",de,[e("button",{class:"btn btn-secondary",onClick:D},a(t(w)?s.$t("autocreate.deselectAll"):s.$t("autocreate.selectAll")),1),e("button",{class:"btn btn-primary",disabled:!t(n).length||t(k),onClick:E},a(t(k)?s.$t("autocreate.applying"):s.$t("autocreate.apply"))+" ("+a(t(n).length)+") ",9,he)])])):y("",!0),t(h).length?(i(),c("div",ve,[e("h2",null,a(s.$t("autocreate.results")),1),e("ul",fe,[(i(!0),c(N,null,A(t(h),(l,r)=>(i(),c("li",{key:r,class:O({success:l.success,error:!l.success})},[e("span",_e,a(l.success?"✓":"✗"),1),e("span",ge,a(l.name),1),l.error?(i(),c("span",me,a(l.error),1)):y("",!0)],2))),128))])])):y("",!0)]))}}),Ce=G(ye,[["__scopeId","data-v-8a41c3ab"]]);export{Ce as default};
@@ -1 +1 @@
1
- import{u as V}from"./CrRHcnKi.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"./DSCi2X5i.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
+ import{u as V}from"./BvE9NWMw.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"./Btwtsr_u.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{r as i,o as I,a as h,A as p,I as k}from"./DSCi2X5i.js";const P=globalThis.setInterval;function E(y={}){const{autoConnect:v=!0,reconnectDelay:W=3e3,maxReconnectAttempts:f=5}=y,u=k(),c=i(!1),S=i(null),l=i(null),r=i(0);let e=null,a=null,t=null;const m=()=>{if(u.public.wsUrl)return u.public.wsUrl;{const n=window.location.protocol==="https:"?"wss:":"ws:",o=window.location.hostname,s=u.public.wsPort||"3001";return`${n}//${o}:${s}`}},d=()=>{if(e?.readyState===WebSocket.OPEN)return;const n=m();if(n)try{e=new WebSocket(n),e.onopen=()=>{c.value=!0,r.value=0,console.log("[WS] Connected"),t=P(()=>{e?.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"ping"}))},3e4)},e.onmessage=o=>{try{const s=JSON.parse(o.data);S.value=s,s.type==="connected"&&(l.value=s.clientId)}catch(s){console.error("[WS] Parse error:",s)}},e.onclose=()=>{c.value=!1,l.value=null,console.log("[WS] Disconnected"),t&&(clearInterval(t),t=null),g()},e.onerror=o=>{console.error("[WS] Error:",o)}}catch(o){console.error("[WS] Connection failed:",o),g()}},b=()=>{a&&(clearTimeout(a),a=null),t&&(clearInterval(t),t=null),e&&(e.close(),e=null),c.value=!1,l.value=null},g=()=>{if(r.value>=f){console.log("[WS] Max reconnect attempts reached");return}a=setTimeout(()=>{r.value++,console.log(`[WS] Reconnecting (${r.value}/${f})...`),d()},W)},w=n=>{e?.readyState===WebSocket.OPEN?e.send(JSON.stringify(n)):console.warn("[WS] Cannot send message: not connected")},N=n=>{e?.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"subscribe",channel:n}))},O=n=>{e?.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"unsubscribe",channel:n}))};return v&&I(()=>{d()}),h(()=>{b()}),{isConnected:p(c),lastMessage:S,clientId:p(l),connect:d,disconnect:b,send:w,subscribe:N,unsubscribe:O}}export{P as s,E as u};
1
+ import{r as i,o as I,a as h,A as p,I as k}from"./Btwtsr_u.js";const P=globalThis.setInterval;function E(y={}){const{autoConnect:v=!0,reconnectDelay:W=3e3,maxReconnectAttempts:f=5}=y,u=k(),c=i(!1),S=i(null),l=i(null),r=i(0);let e=null,a=null,t=null;const m=()=>{if(u.public.wsUrl)return u.public.wsUrl;{const n=window.location.protocol==="https:"?"wss:":"ws:",o=window.location.hostname,s=u.public.wsPort||"3001";return`${n}//${o}:${s}`}},d=()=>{if(e?.readyState===WebSocket.OPEN)return;const n=m();if(n)try{e=new WebSocket(n),e.onopen=()=>{c.value=!0,r.value=0,console.log("[WS] Connected"),t=P(()=>{e?.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"ping"}))},3e4)},e.onmessage=o=>{try{const s=JSON.parse(o.data);S.value=s,s.type==="connected"&&(l.value=s.clientId)}catch(s){console.error("[WS] Parse error:",s)}},e.onclose=()=>{c.value=!1,l.value=null,console.log("[WS] Disconnected"),t&&(clearInterval(t),t=null),g()},e.onerror=o=>{console.error("[WS] Error:",o)}}catch(o){console.error("[WS] Connection failed:",o),g()}},b=()=>{a&&(clearTimeout(a),a=null),t&&(clearInterval(t),t=null),e&&(e.close(),e=null),c.value=!1,l.value=null},g=()=>{if(r.value>=f){console.log("[WS] Max reconnect attempts reached");return}a=setTimeout(()=>{r.value++,console.log(`[WS] Reconnecting (${r.value}/${f})...`),d()},W)},w=n=>{e?.readyState===WebSocket.OPEN?e.send(JSON.stringify(n)):console.warn("[WS] Cannot send message: not connected")},N=n=>{e?.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"subscribe",channel:n}))},O=n=>{e?.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"unsubscribe",channel:n}))};return v&&I(()=>{d()}),h(()=>{b()}),{isConnected:p(c),lastMessage:S,clientId:p(l),connect:d,disconnect:b,send:w,subscribe:N,unsubscribe:O}}export{P as s,E as u};
@@ -1 +1 @@
1
- import{_ as w}from"./CWlxiWg5.js";import{_ as b}from"./CoH6AHzq.js";import{d as x,G as I,u as B,v as m,l as C,s as N,c as r,f as v,e as n,h as t,t as o,w as S,b as c,g as F,_ as G}from"./DSCi2X5i.js";import{u as h}from"./CrRHcnKi.js";const H={class:"prompt-page"},P={class:"card"},V={class:"section-header"},A={class:"column-badge"},E={key:0,class:"loading"},q={key:1,class:"error-message"},D={key:2,class:"empty"},L={key:3,class:"prompt-content"},R={class:"actions"},T=x({__name:"prompt",async setup(U){let s,i;const l=I(),{locale:y}=B(),u=l.params.id,p=l.params.column,{data:a}=([s,i]=m(()=>h(`/api/issues/${u}`,"$cZ6-GFSir3")),s=await s,i(),s),f=C(()=>{if(!a.value)return null;const e={id:a.value.key,title:a.value.title,column:a.value.column_slug};return a.value.priority&&(e.priority=a.value.priority),e}),{data:_,status:g,error:d}=([s,i]=m(()=>h(`/api/columns/${p}/prompt`,{query:{lang:y.value}},"$s9GIcvnBUu")),s=await s,i(),s);return N({title:`Prompt ${p} - ${u} - AutoCode`}),(e,Z)=>{const $=w,k=b;return c(),r("div",H,[v($,{issue:t(f),"active-tab":"history"},null,8,["issue"]),n("div",P,[n("div",V,[n("h2",null,o(e.$t("history.viewPrompt")),1),n("span",A,o(t(p)),1)]),t(g)==="pending"?(c(),r("div",E,o(e.$t("app.loading")),1)):t(d)?(c(),r("div",q,o(t(d).message),1)):t(_)?.content?(c(),r("div",L,[n("pre",null,o(t(_).content),1)])):(c(),r("div",D,o(e.$t("column.noPrompt")),1))]),n("div",R,[v(k,{to:`/issue/${t(u)}/history`,class:"btn-secondary"},{default:S(()=>[F(o(e.$t("nav.back")),1)]),_:1},8,["to"])])])}}}),M=G(T,[["__scopeId","data-v-9385d4f2"]]);export{M as default};
1
+ import{_ as w}from"./D90sdSc5.js";import{_ as b}from"./CuwYCM4v.js";import{d as x,G as I,u as B,v as m,l as C,s as N,c as r,f as v,e as n,h as t,t as o,w as S,b as c,g as F,_ as G}from"./Btwtsr_u.js";import{u as h}from"./BvE9NWMw.js";const H={class:"prompt-page"},P={class:"card"},V={class:"section-header"},A={class:"column-badge"},E={key:0,class:"loading"},q={key:1,class:"error-message"},D={key:2,class:"empty"},L={key:3,class:"prompt-content"},R={class:"actions"},T=x({__name:"prompt",async setup(U){let s,i;const l=I(),{locale:y}=B(),u=l.params.id,p=l.params.column,{data:a}=([s,i]=m(()=>h(`/api/issues/${u}`,"$cZ6-GFSir3")),s=await s,i(),s),f=C(()=>{if(!a.value)return null;const e={id:a.value.key,title:a.value.title,column:a.value.column_slug};return a.value.priority&&(e.priority=a.value.priority),e}),{data:_,status:g,error:d}=([s,i]=m(()=>h(`/api/columns/${p}/prompt`,{query:{lang:y.value}},"$s9GIcvnBUu")),s=await s,i(),s);return N({title:`Prompt ${p} - ${u} - AutoCode`}),(e,Z)=>{const $=w,k=b;return c(),r("div",H,[v($,{issue:t(f),"active-tab":"history"},null,8,["issue"]),n("div",P,[n("div",V,[n("h2",null,o(e.$t("history.viewPrompt")),1),n("span",A,o(t(p)),1)]),t(g)==="pending"?(c(),r("div",E,o(e.$t("app.loading")),1)):t(d)?(c(),r("div",q,o(t(d).message),1)):t(_)?.content?(c(),r("div",L,[n("pre",null,o(t(_).content),1)])):(c(),r("div",D,o(e.$t("column.noPrompt")),1))]),n("div",R,[v(k,{to:`/issue/${t(u)}/history`,class:"btn-secondary"},{default:S(()=>[F(o(e.$t("nav.back")),1)]),_:1},8,["to"])])])}}}),M=G(T,[["__scopeId","data-v-9385d4f2"]]);export{M as default};