@autocode-cli/autocode 0.29.0 → 0.37.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 (203) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_i18n/Mqu2gZRD/en/messages.json +1 -0
  3. package/.output/public/_i18n/Mqu2gZRD/fr/messages.json +1 -0
  4. package/.output/public/_nuxt/-DEWfUYv.js +1 -0
  5. package/.output/public/_nuxt/{CGH8jYZ3.js → 0VxesDuV.js} +1 -1
  6. package/.output/public/_nuxt/{Cw9GjiQd.js → 3dDT4orS.js} +1 -1
  7. package/.output/public/_nuxt/{DJ68wI4q.js → B-L8_kPw.js} +1 -1
  8. package/.output/public/_nuxt/{WXFPFJGI.js → B6_0bWxd.js} +1 -1
  9. package/.output/public/_nuxt/B8IBFC6T.js +1 -0
  10. package/.output/public/_nuxt/{mhFvEihp.js → B9-SkqjX.js} +3 -3
  11. package/.output/public/_nuxt/{DwEf6snv.js → BBTritm-.js} +1 -1
  12. package/.output/public/_nuxt/{D2yqkPsk.js → BDW6A7V8.js} +1 -1
  13. package/.output/public/_nuxt/{CuMOMF74.js → BE1Ftxsu.js} +1 -1
  14. package/.output/public/_nuxt/BF5itqHW.js +10 -0
  15. package/.output/public/_nuxt/{c7taDBy4.js → BHpbNCa8.js} +1 -1
  16. package/.output/public/_nuxt/{CUrMRCov.js → BJGB6i4C.js} +1 -1
  17. package/.output/public/_nuxt/{ttDeS43_.js → BJnlSHzy.js} +1 -1
  18. package/.output/public/_nuxt/{Dnk-IiYT.js → BNr40Cyx.js} +1 -1
  19. package/.output/public/_nuxt/{CftWxl87.js → BP-5A3ad.js} +1 -1
  20. package/.output/public/_nuxt/{CvtJgrAC.js → BPSRe1xo.js} +1 -1
  21. package/.output/public/_nuxt/{DV1gbxJr.js → BatC3POU.js} +1 -1
  22. package/.output/public/_nuxt/{QO28866g.js → BcwrT42V.js} +1 -1
  23. package/.output/public/_nuxt/{MqYwBbea.js → BmfOZEEG.js} +1 -1
  24. package/.output/public/_nuxt/BqOlVwUK.js +1 -0
  25. package/.output/public/_nuxt/{CMirklGN.js → Bx15WLHx.js} +1 -1
  26. package/.output/public/_nuxt/{s3F7y6k3.js → C1Dh6gFG.js} +1 -1
  27. package/.output/public/_nuxt/{Bb4iE1RK.js → C1d_VCXk.js} +1 -1
  28. package/.output/public/_nuxt/{YFXx8Qjo.js → C3g32ML-.js} +1 -1
  29. package/.output/public/_nuxt/{BiTHsA5D.js → C819KIPL.js} +1 -1
  30. package/.output/public/_nuxt/{DMLkLSSr.js → CDRiuU72.js} +1 -1
  31. package/.output/public/_nuxt/{BWuiHx6Z.js → CH4xRPqk.js} +1 -1
  32. package/.output/public/_nuxt/{Qp3vP2w-.js → CHFxtqug.js} +1 -1
  33. package/.output/public/_nuxt/{BhOptLaB.js → CHQoxcLf.js} +1 -1
  34. package/.output/public/_nuxt/CKyM99yH.js +1 -0
  35. package/.output/public/_nuxt/{2aYBL_7i.js → CORW7tev.js} +1 -1
  36. package/.output/public/_nuxt/{5c4wy8Fe.js → CQakkP7y.js} +1 -1
  37. package/.output/public/_nuxt/{C1majTdt.js → CTidC4T0.js} +1 -1
  38. package/.output/public/_nuxt/CWELpXTp.js +1 -0
  39. package/.output/public/_nuxt/{C8ykELcI.js → CjND9Y9S.js} +1 -1
  40. package/.output/public/_nuxt/{eAMnPBdX.js → Cm1brjPJ.js} +1 -1
  41. package/.output/public/_nuxt/{DUT6s2Vc.js → CohKcwVk.js} +1 -1
  42. package/.output/public/_nuxt/CpaAmOT1.js +1 -0
  43. package/.output/public/_nuxt/{BKohRmb3.js → CqtB_OH7.js} +1 -1
  44. package/.output/public/_nuxt/{DBRrdiDg.js → CvEn06t8.js} +1 -1
  45. package/.output/public/_nuxt/{D0l9HWst.js → D3FsoLQm.js} +1 -1
  46. package/.output/public/_nuxt/{ZxHW_Wwi.js → D3uRvzsu.js} +1 -1
  47. package/.output/public/_nuxt/{c9kaG6Mb.js → D6s--CDK.js} +1 -1
  48. package/.output/public/_nuxt/{CFO65yNa.js → DL-48EFA.js} +1 -1
  49. package/.output/public/_nuxt/{a0ULJgSn.js → DPdNpAt1.js} +1 -1
  50. package/.output/public/_nuxt/DbKMezC2.js +1 -0
  51. package/.output/public/_nuxt/{W7VQVcj3.js → DjSp0ni5.js} +3 -3
  52. package/.output/public/_nuxt/{C9F9DISc.js → Dku8fc7v.js} +1 -1
  53. package/.output/public/_nuxt/{B-SoSAQ-.js → DorDSzHT.js} +1 -1
  54. package/.output/public/_nuxt/{CtihvsfH.js → DpJr9JIo.js} +1 -1
  55. package/.output/public/_nuxt/{DS8c6APr.js → DvdVpK92.js} +1 -1
  56. package/.output/public/_nuxt/{DfzafmDP.js → DyAfzMRU.js} +1 -1
  57. package/.output/public/_nuxt/{tqfMB__6.js → G3ENYyJJ.js} +1 -1
  58. package/.output/public/_nuxt/{BvR2cHrU.js → G3RO7xM_.js} +1 -1
  59. package/.output/public/_nuxt/{BsOUGgHX.js → Q3VbeUEc.js} +1 -1
  60. package/.output/public/_nuxt/{E037g09h.js → _Lx_e17m.js} +1 -1
  61. package/.output/public/_nuxt/{DEbgyyF-.js → _S9g-Cdv.js} +1 -1
  62. package/.output/public/_nuxt/{C_XYgaP4.js → _dIH-mlE.js} +1 -1
  63. package/.output/public/_nuxt/builds/latest.json +1 -1
  64. package/.output/public/_nuxt/builds/meta/cbc2f99e-ecf0-446a-810b-808825114bc3.json +1 -0
  65. package/.output/public/_nuxt/{BrN48gj6.js → c0R8lEWK.js} +1 -1
  66. package/.output/public/_nuxt/cli.D68WAxVv.css +1 -0
  67. package/.output/public/_nuxt/{Dmbsi9xE.js → cm-fPQZs.js} +1 -1
  68. package/.output/public/_nuxt/{C2MG9-_i.js → hYe2UtEI.js} +1 -1
  69. package/.output/public/_nuxt/index.B4qqY6WX.css +1 -0
  70. package/.output/public/_nuxt/index.CPvzWVwd.css +1 -0
  71. package/.output/public/_nuxt/{Camk5F-_.js → mbPYOeR0.js} +1 -1
  72. package/.output/public/_nuxt/n-2mvXdi.js +1 -0
  73. package/.output/public/_nuxt/new.84MgEEsd.css +1 -0
  74. package/.output/public/_nuxt/prompt.CNw9EZnJ.css +1 -0
  75. package/.output/public/_nuxt/{CL8Pd5Up.js → qNJDhLpf.js} +1 -1
  76. package/.output/public/_nuxt/{CDsqJjO8.js → rFVztcxU.js} +1 -1
  77. package/.output/public/_nuxt/{BG7brVhY.js → up1a6xQr.js} +1 -1
  78. package/.output/public/_nuxt/x9aAWeiI.js +1 -0
  79. package/.output/public/_payload.json +1 -1
  80. package/.output/public/api/_openapi.json +1 -1
  81. package/.output/public/docs/api/_payload.json +1 -1
  82. package/.output/public/docs/api/index.html +8 -4
  83. package/.output/public/docs/cli/_payload.json +1 -1
  84. package/.output/public/docs/cli/index.html +13 -13
  85. package/.output/public/index.html +1 -1
  86. package/.output/server/chunks/_/en.mjs +16 -23
  87. package/.output/server/chunks/_/en.mjs.map +1 -1
  88. package/.output/server/chunks/_/fr.mjs +16 -23
  89. package/.output/server/chunks/_/fr.mjs.map +1 -1
  90. package/.output/server/chunks/build/LandingAutonomy-styles.Dvel3Juy.mjs +8 -0
  91. package/.output/server/chunks/build/LandingAutonomy-styles.Dvel3Juy.mjs.map +1 -0
  92. package/.output/server/chunks/build/LandingFooter-styles.CudcJSR4.mjs +8 -0
  93. package/.output/server/chunks/build/LandingFooter-styles.CudcJSR4.mjs.map +1 -0
  94. package/.output/server/chunks/build/LandingPipeline-styles.C8JPQYOV.mjs +8 -0
  95. package/.output/server/chunks/build/LandingPipeline-styles.C8JPQYOV.mjs.map +1 -0
  96. package/.output/server/chunks/build/{cli-CZwbcgW5.mjs → cli-S2geGQoF.mjs} +27 -14
  97. package/.output/server/chunks/build/cli-S2geGQoF.mjs.map +1 -0
  98. package/.output/server/chunks/build/cli-styles.BonhH80m.mjs +8 -0
  99. package/.output/server/chunks/build/cli-styles.BonhH80m.mjs.map +1 -0
  100. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  101. package/.output/server/chunks/build/{en-BwRtQJL1.mjs → en-nHmCjmd_.mjs} +17 -24
  102. package/.output/server/chunks/build/{en-BwRtQJL1.mjs.map → en-nHmCjmd_.mjs.map} +1 -1
  103. package/.output/server/chunks/build/{fr-BAbxj8tA.mjs → fr-7FZEU85C.mjs} +17 -24
  104. package/.output/server/chunks/build/{fr-BAbxj8tA.mjs.map → fr-7FZEU85C.mjs.map} +1 -1
  105. package/.output/server/chunks/build/{index-CKZ58Ox2.mjs → index-BZJzUQ3B.mjs} +27 -17
  106. package/.output/server/chunks/build/index-BZJzUQ3B.mjs.map +1 -0
  107. package/.output/server/chunks/build/{index-3KvoAMZW.mjs → index-DYwGkPcJ.mjs} +92 -275
  108. package/.output/server/chunks/build/index-DYwGkPcJ.mjs.map +1 -0
  109. package/.output/server/chunks/build/index-styles.BP9liX_F.mjs +8 -0
  110. package/.output/server/chunks/build/index-styles.BP9liX_F.mjs.map +1 -0
  111. package/.output/server/chunks/build/{new-BI12IpeK.mjs → new-BqYiaSD7.mjs} +19 -19
  112. package/.output/server/chunks/build/{new-BI12IpeK.mjs.map → new-BqYiaSD7.mjs.map} +1 -1
  113. package/.output/server/chunks/build/new-styles.BPjkN6Iy.mjs +8 -0
  114. package/.output/server/chunks/build/new-styles.BPjkN6Iy.mjs.map +1 -0
  115. package/.output/server/chunks/build/{prompt-BjvwrM-J.mjs → prompt-D-xu1MtO.mjs} +41 -12
  116. package/.output/server/chunks/build/prompt-D-xu1MtO.mjs.map +1 -0
  117. package/.output/server/chunks/build/prompt-styles.Dvlc6Xra.mjs +8 -0
  118. package/.output/server/chunks/build/prompt-styles.Dvlc6Xra.mjs.map +1 -0
  119. package/.output/server/chunks/build/server.mjs +9 -9
  120. package/.output/server/chunks/build/styles.mjs +29 -35
  121. package/.output/server/chunks/nitro/nitro.mjs +551 -521
  122. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  123. package/.output/server/chunks/routes/.well-known/appspecific/_...path_.mjs +34 -0
  124. package/.output/server/chunks/routes/.well-known/appspecific/_...path_.mjs.map +1 -0
  125. package/.output/server/chunks/routes/api/issues/_id/history.get.mjs +3 -2
  126. package/.output/server/chunks/routes/api/issues/_id/history.get.mjs.map +1 -1
  127. package/.output/server/node_modules/.prisma/client/index.js +4 -3
  128. package/.output/server/node_modules/.prisma/client/package.json +1 -1
  129. package/.output/server/package.json +1 -1
  130. package/bin/autocode +188 -4
  131. package/package.json +5 -6
  132. package/prisma/migrations/20260104173538_init/migration.sql +142 -0
  133. package/prisma/migrations/20260104180000_pipeline_versioning/migration.sql +216 -0
  134. package/prisma/migrations/20260104190638_add_column_prompts/migration.sql +50 -0
  135. package/prisma/migrations/20260105120000_remove_column_prompts/migration.sql +3 -0
  136. package/prisma/migrations/20260105150000_normalize_pipeline_names/migration.sql +37 -0
  137. package/prisma/migrations/20260105170000_remove_slug_prefixes/migration.sql +16 -0
  138. package/prisma/migrations/migration_lock.toml +3 -0
  139. package/prisma/schema.prisma +185 -0
  140. package/templates/prompts/_transition-decision.en.md +41 -25
  141. package/templates/prompts/_transition-decision.fr.md +28 -11
  142. package/templates/prompts/design.en.md +31 -9
  143. package/templates/prompts/design.fr.md +31 -9
  144. package/templates/prompts/git-tag.en.md +47 -11
  145. package/templates/prompts/git-tag.fr.md +47 -11
  146. package/templates/prompts/in-progress.en.md +43 -9
  147. package/templates/prompts/in-progress.fr.md +44 -10
  148. package/templates/prompts/qualification.en.md +48 -17
  149. package/templates/prompts/qualification.fr.md +48 -17
  150. package/templates/prompts/retest-cypress.en.md +14 -3
  151. package/templates/prompts/retest-cypress.fr.md +14 -3
  152. package/templates/prompts/review-security.en.md +35 -6
  153. package/templates/prompts/review-security.fr.md +35 -6
  154. package/templates/prompts/specification.en.md +29 -7
  155. package/templates/prompts/specification.fr.md +29 -7
  156. package/templates/prompts/splitter.en.md +50 -28
  157. package/templates/prompts/splitter.fr.md +52 -31
  158. package/templates/prompts/testing-cypress.en.md +14 -4
  159. package/templates/prompts/testing-cypress.fr.md +14 -4
  160. package/templates/prompts/testing-integration.en.md +39 -3
  161. package/templates/prompts/testing-integration.fr.md +39 -3
  162. package/.output/public/_i18n/_RCBbyrF/en/messages.json +0 -1
  163. package/.output/public/_i18n/_RCBbyrF/fr/messages.json +0 -1
  164. package/.output/public/_nuxt/B-QzFHDD.js +0 -1
  165. package/.output/public/_nuxt/Bn3kTsBm.js +0 -1
  166. package/.output/public/_nuxt/C2Vs_J-1.js +0 -1
  167. package/.output/public/_nuxt/CDVPefsv.js +0 -1
  168. package/.output/public/_nuxt/CSk34z2H.js +0 -1
  169. package/.output/public/_nuxt/DPWzdJ4S.js +0 -1
  170. package/.output/public/_nuxt/DrzMcrms.js +0 -1
  171. package/.output/public/_nuxt/_bAHEawb.js +0 -1
  172. package/.output/public/_nuxt/b2LQmhwq.js +0 -1
  173. package/.output/public/_nuxt/builds/meta/4d6876ea-4c52-49d1-a9d5-07bb0648a85e.json +0 -1
  174. package/.output/public/_nuxt/cli.e1u7fwy6.css +0 -1
  175. package/.output/public/_nuxt/hWy-7Z1L.js +0 -10
  176. package/.output/public/_nuxt/index.COVdL_Kx.css +0 -1
  177. package/.output/public/_nuxt/index.Dndk3KN9.css +0 -1
  178. package/.output/public/_nuxt/new.BFERdqdm.css +0 -1
  179. package/.output/public/_nuxt/prompt.DZ0wdOji.css +0 -1
  180. package/.output/server/chunks/build/LandingArchitecture-styles.Don6ug3a.mjs +0 -8
  181. package/.output/server/chunks/build/LandingArchitecture-styles.Don6ug3a.mjs.map +0 -1
  182. package/.output/server/chunks/build/LandingAutonomy-styles.D9JJFMEO.mjs +0 -8
  183. package/.output/server/chunks/build/LandingAutonomy-styles.D9JJFMEO.mjs.map +0 -1
  184. package/.output/server/chunks/build/LandingDemo-styles.WY8VUN9P.mjs +0 -8
  185. package/.output/server/chunks/build/LandingDemo-styles.WY8VUN9P.mjs.map +0 -1
  186. package/.output/server/chunks/build/LandingFooter-styles.sSpn5cgM.mjs +0 -8
  187. package/.output/server/chunks/build/LandingFooter-styles.sSpn5cgM.mjs.map +0 -1
  188. package/.output/server/chunks/build/LandingPipeline-styles.CL96fyQR.mjs +0 -8
  189. package/.output/server/chunks/build/LandingPipeline-styles.CL96fyQR.mjs.map +0 -1
  190. package/.output/server/chunks/build/LandingRoadmap-styles.DX5EsTsx.mjs +0 -8
  191. package/.output/server/chunks/build/LandingRoadmap-styles.DX5EsTsx.mjs.map +0 -1
  192. package/.output/server/chunks/build/cli-CZwbcgW5.mjs.map +0 -1
  193. package/.output/server/chunks/build/cli-styles.CSdcLhw8.mjs +0 -8
  194. package/.output/server/chunks/build/cli-styles.CSdcLhw8.mjs.map +0 -1
  195. package/.output/server/chunks/build/index-3KvoAMZW.mjs.map +0 -1
  196. package/.output/server/chunks/build/index-CKZ58Ox2.mjs.map +0 -1
  197. package/.output/server/chunks/build/index-styles.BJ7kZO7q.mjs +0 -8
  198. package/.output/server/chunks/build/index-styles.BJ7kZO7q.mjs.map +0 -1
  199. package/.output/server/chunks/build/new-styles.Chk5u_6M.mjs +0 -8
  200. package/.output/server/chunks/build/new-styles.Chk5u_6M.mjs.map +0 -1
  201. package/.output/server/chunks/build/prompt-BjvwrM-J.mjs.map +0 -1
  202. package/.output/server/chunks/build/prompt-styles.DWfublIG.mjs +0 -8
  203. package/.output/server/chunks/build/prompt-styles.DWfublIG.mjs.map +0 -1
@@ -1 +1 @@
1
- import{d as O,y as q,ae as B,r as T,aW as k,o as j,b1 as N,b2 as E,ar as U,b3 as I,ad as A,aJ as L,b4 as D,b5 as w,b6 as F,m as g,b7 as _,b8 as H,i as V,K as W,b9 as z,ba as M,bb as $}from"./mhFvEihp.js";const G=(...t)=>t.find(o=>o!==void 0);function J(t){const o=t.componentName||"NuxtLink";function v(e){return typeof e=="string"&&e.startsWith("#")}function S(e,i,f){const r=f??t.trailingSlash;if(!e||r!=="append"&&r!=="remove")return e;if(typeof e=="string")return C(e,r);const l="path"in e&&e.path!==void 0?e.path:i(e).path;return{...e,name:void 0,path:C(l,r)}}function R(e){const i=q(),f=V(),r=g(()=>!!e.target&&e.target!=="_self"),l=g(()=>{const u=e.to||e.href||"";return typeof u=="string"&&_(u,{acceptRelative:!0})}),y=L("RouterLink"),h=y&&typeof y!="string"?y.useLink:void 0,c=g(()=>{if(e.external)return!0;const u=e.to||e.href||"";return typeof u=="object"?!1:u===""||l.value}),n=g(()=>{const u=e.to||e.href||"";return c.value?u:S(u,i.resolve,e.trailingSlash)}),b=c.value?void 0:h?.({...e,to:n}),m=g(()=>{const u=e.trailingSlash??t.trailingSlash;if(!n.value||l.value||v(n.value))return n.value;if(c.value){const p=typeof n.value=="object"&&"path"in n.value?w(n.value):n.value,x=typeof p=="object"?i.resolve(p).href:p;return C(x,u)}return typeof n.value=="object"?i.resolve(n.value)?.href??null:C(H(f.app.baseURL,n.value),u)});return{to:n,hasTarget:r,isAbsoluteUrl:l,isExternal:c,href:m,isActive:b?.isActive??g(()=>n.value===i.currentRoute.value.path),isExactActive:b?.isExactActive??g(()=>n.value===i.currentRoute.value.path),route:b?.route??g(()=>i.resolve(n.value)),async navigate(u){await W(m.value,{replace:e.replace,external:c.value||r.value})}}}return O({name:o,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:R,setup(e,{slots:i}){const f=q(),{to:r,href:l,navigate:y,isExternal:h,hasTarget:c,isAbsoluteUrl:n}=R(e),b=B(!1),m=T(null),u=s=>{m.value=e.custom?s?.$el?.nextElementSibling:s?.$el};function p(s){return!b.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===s:e.prefetchOn?.[s]??t.prefetchOn?.[s])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!X()}async function x(s=k()){if(b.value)return;b.value=!0;const d=typeof r.value=="string"?r.value:h.value?w(r.value):f.resolve(r.value).fullPath,a=h.value?new URL(d,window.location.href).href:d;await Promise.all([s.hooks.callHook("link:prefetch",a).catch(()=>{}),!h.value&&!c.value&&F(r.value,f).catch(()=>{})])}if(p("visibility")){const s=k();let d,a=null;j(()=>{const P=K();N(()=>{d=E(()=>{m?.value?.tagName&&(a=P.observe(m.value,async()=>{a?.(),a=null,await x(s)}))})})}),U(()=>{d&&I(d),a?.(),a=null})}return()=>{if(!h.value&&!c.value&&!v(r.value)){const a={ref:u,to:r.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(p("interaction")&&(a.onPointerenter=x.bind(null,void 0),a.onFocus=x.bind(null,void 0)),b.value&&(a.class=e.prefetchedClass||t.prefetchedClass),a.rel=e.rel||void 0),A(L("RouterLink"),a,i.default)}const s=e.target||null,d=G(e.noRel?"":e.rel,t.externalRelAttribute,n.value||c.value?"noopener noreferrer":"")||null;return e.custom?i.default?i.default({href:l.value,navigate:y,prefetch:x,get route(){if(!l.value)return;const a=new URL(l.value,window.location.href);return{path:a.pathname,fullPath:a.pathname,get query(){return D(a.search)},hash:a.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:l.value}},rel:d,target:s,isExternal:h.value||c.value,isActive:!1,isExactActive:!1}):null:A("a",{ref:m,href:l.value||null,rel:d,target:s,onClick:a=>{if(!(h.value||c.value))return a.preventDefault(),e.replace?f.replace(l.value):f.push(l.value)}},i.default?.())}}})}const Z=J($);function C(t,o){const v=o==="append"?z:M;return _(t)&&!t.startsWith("http")?t:v(t,!0)}function K(){const t=k();if(t._observer)return t._observer;let o=null;const v=new Map,S=(e,i)=>(o||=new IntersectionObserver(f=>{for(const r of f){const l=v.get(r.target);(r.isIntersecting||r.intersectionRatio>0)&&l&&l()}}),v.set(e,i),o.observe(e),()=>{v.delete(e),o?.unobserve(e),v.size===0&&(o?.disconnect(),o=null)});return t._observer={observe:S}}const Q=/2g/;function X(){const t=navigator.connection;return!!(t&&(t.saveData||Q.test(t.effectiveType)))}export{Z as _};
1
+ import{d as O,y as q,ae as B,r as T,aW as k,o as j,b1 as N,b2 as E,ar as U,b3 as I,ad as A,aJ as L,b4 as D,b5 as w,b6 as F,m as g,b7 as _,b8 as H,i as V,K as W,b9 as z,ba as M,bb as $}from"./B9-SkqjX.js";const G=(...t)=>t.find(o=>o!==void 0);function J(t){const o=t.componentName||"NuxtLink";function v(e){return typeof e=="string"&&e.startsWith("#")}function S(e,i,f){const r=f??t.trailingSlash;if(!e||r!=="append"&&r!=="remove")return e;if(typeof e=="string")return C(e,r);const l="path"in e&&e.path!==void 0?e.path:i(e).path;return{...e,name:void 0,path:C(l,r)}}function R(e){const i=q(),f=V(),r=g(()=>!!e.target&&e.target!=="_self"),l=g(()=>{const u=e.to||e.href||"";return typeof u=="string"&&_(u,{acceptRelative:!0})}),y=L("RouterLink"),h=y&&typeof y!="string"?y.useLink:void 0,c=g(()=>{if(e.external)return!0;const u=e.to||e.href||"";return typeof u=="object"?!1:u===""||l.value}),n=g(()=>{const u=e.to||e.href||"";return c.value?u:S(u,i.resolve,e.trailingSlash)}),b=c.value?void 0:h?.({...e,to:n}),m=g(()=>{const u=e.trailingSlash??t.trailingSlash;if(!n.value||l.value||v(n.value))return n.value;if(c.value){const p=typeof n.value=="object"&&"path"in n.value?w(n.value):n.value,x=typeof p=="object"?i.resolve(p).href:p;return C(x,u)}return typeof n.value=="object"?i.resolve(n.value)?.href??null:C(H(f.app.baseURL,n.value),u)});return{to:n,hasTarget:r,isAbsoluteUrl:l,isExternal:c,href:m,isActive:b?.isActive??g(()=>n.value===i.currentRoute.value.path),isExactActive:b?.isExactActive??g(()=>n.value===i.currentRoute.value.path),route:b?.route??g(()=>i.resolve(n.value)),async navigate(u){await W(m.value,{replace:e.replace,external:c.value||r.value})}}}return O({name:o,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:R,setup(e,{slots:i}){const f=q(),{to:r,href:l,navigate:y,isExternal:h,hasTarget:c,isAbsoluteUrl:n}=R(e),b=B(!1),m=T(null),u=s=>{m.value=e.custom?s?.$el?.nextElementSibling:s?.$el};function p(s){return!b.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===s:e.prefetchOn?.[s]??t.prefetchOn?.[s])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!X()}async function x(s=k()){if(b.value)return;b.value=!0;const d=typeof r.value=="string"?r.value:h.value?w(r.value):f.resolve(r.value).fullPath,a=h.value?new URL(d,window.location.href).href:d;await Promise.all([s.hooks.callHook("link:prefetch",a).catch(()=>{}),!h.value&&!c.value&&F(r.value,f).catch(()=>{})])}if(p("visibility")){const s=k();let d,a=null;j(()=>{const P=K();N(()=>{d=E(()=>{m?.value?.tagName&&(a=P.observe(m.value,async()=>{a?.(),a=null,await x(s)}))})})}),U(()=>{d&&I(d),a?.(),a=null})}return()=>{if(!h.value&&!c.value&&!v(r.value)){const a={ref:u,to:r.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(p("interaction")&&(a.onPointerenter=x.bind(null,void 0),a.onFocus=x.bind(null,void 0)),b.value&&(a.class=e.prefetchedClass||t.prefetchedClass),a.rel=e.rel||void 0),A(L("RouterLink"),a,i.default)}const s=e.target||null,d=G(e.noRel?"":e.rel,t.externalRelAttribute,n.value||c.value?"noopener noreferrer":"")||null;return e.custom?i.default?i.default({href:l.value,navigate:y,prefetch:x,get route(){if(!l.value)return;const a=new URL(l.value,window.location.href);return{path:a.pathname,fullPath:a.pathname,get query(){return D(a.search)},hash:a.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:l.value}},rel:d,target:s,isExternal:h.value||c.value,isActive:!1,isExactActive:!1}):null:A("a",{ref:m,href:l.value||null,rel:d,target:s,onClick:a=>{if(!(h.value||c.value))return a.preventDefault(),e.replace?f.replace(l.value):f.push(l.value)}},i.default?.())}}})}const Z=J($);function C(t,o){const v=o==="append"?z:M;return _(t)&&!t.startsWith("http")?t:v(t,!0)}function K(){const t=k();if(t._observer)return t._observer;let o=null;const v=new Map,S=(e,i)=>(o||=new IntersectionObserver(f=>{for(const r of f){const l=v.get(r.target);(r.isIntersecting||r.intersectionRatio>0)&&l&&l()}}),v.set(e,i),o.observe(e),()=>{v.delete(e),o?.unobserve(e),v.size===0&&(o?.disconnect(),o=null)});return t._observer={observe:S}}const Q=/2g/;function X(){const t=navigator.connection;return!!(t&&(t.saveData||Q.test(t.effectiveType)))}export{Z as _};
@@ -1 +1 @@
1
- import{_ as n,c as o,b as t,e as s,al as a}from"./mhFvEihp.js";const d={},r={class:"landing-layout"};function g(e,l){return t(),o("div",r,[l[0]||(l[0]=s("div",{class:"bg-grid"},null,-1)),l[1]||(l[1]=s("div",{class:"bg-glow bg-glow-1"},null,-1)),l[2]||(l[2]=s("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
+ import{_ as n,c as o,b as t,e as s,al as a}from"./B9-SkqjX.js";const d={},r={class:"landing-layout"};function g(e,l){return t(),o("div",r,[l[0]||(l[0]=s("div",{class:"bg-grid"},null,-1)),l[1]||(l[1]=s("div",{class:"bg-glow bg-glow-1"},null,-1)),l[2]||(l[2]=s("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
- import{_ as T}from"./C9F9DISc.js";import{u as U}from"./BiTHsA5D.js";import{u as V,s as B}from"./C2MG9-_i.js";import{d as D,u as K,r as L,x as M,n as E,o as R,a as j,m as b,v as q,c as l,e as s,f as z,w as g,t,k as r,h as o,s as H,F as h,q as I,b as n,g as k,j as W,_ as G}from"./mhFvEihp.js";const J={class:"stats-page"},P={class:"page-header"},Q={class:"header-badges"},X={key:0,class:"badge badge-profile"},Y={key:1,class:"badge badge-model"},Z={key:0,class:"loading"},x={key:0,class:"processing-alert card"},ss={class:"processing-issues"},ts={class:"stats-grid"},es={class:"stat-card card"},as={class:"stat-value"},os={class:"stat-breakdown"},ns={class:"breakdown-item"},ls={class:"label"},is={class:"value"},ds={class:"breakdown-item"},cs={class:"label"},rs={class:"value"},us={class:"stat-footer"},_s={class:"calls-count"},ps={class:"cost-value"},hs={key:0,class:"started-at"},ks={class:"stat-card card"},vs={class:"stat-value"},fs={class:"stat-breakdown"},ms={class:"breakdown-item"},ys={class:"label"},$s={class:"value"},bs={class:"breakdown-item"},gs={class:"label"},Is={class:"value"},ws={class:"stat-footer"},Cs={class:"calls-count"},As={class:"cost-value"},Fs={class:"stat-card card info-card"},Os={class:"cost-explanation"},Ns={class:"card history-card"},Ss={key:0,class:"empty"},Ts={key:1,class:"table-container"},Us={class:"history-table"},Vs={key:1,class:"text-muted"},Bs={class:"cost-cell"},Ds=D({__name:"stats",async setup(Ks){let c,v;const{locale:w}=K(),u=L(!1),{data:a,status:C,refresh:f}=([c,v]=M(()=>U("/api/stats","$ygpy_aVKAm")),c=await c,v(),c),{lastMessage:A}=V();E(A,e=>{(e?.type==="claude_end"||e?.type==="stats-update"||e?.type==="refresh")&&(u.value=!0,f().finally(()=>{u.value=!1}))});let _;R(()=>{_=B(()=>{f()},5e3)}),j(()=>{_&&clearInterval(_)});const F=b(()=>(a.value?.session?.tokensInput||0)+(a.value?.session?.tokensOutput||0)),O=b(()=>(a.value?.totals?.tokensInput||0)+(a.value?.totals?.tokensOutput||0)),d=e=>e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString(),p=e=>e.toFixed(4),N=e=>e?e<1e3?e+"ms":(e/1e3).toFixed(1)+"s":"-",m=e=>e?new Date(e).toLocaleString(w.value==="fr"?"fr-FR":"en-US"):"-";return q({title:"Statistics - AutoCode"}),(e,y)=>{const $=T;return n(),l("div",J,[s("header",P,[z($,{to:"/kanban",class:"back-link"},{default:g(()=>[k(" ← "+t(e.$t("stats.backToKanban")),1)]),_:1}),s("h1",null,t(e.$t("stats.title")),1),s("div",Q,[o(a)?.profile?(n(),l("span",X,t(o(a).profile),1)):r("",!0),o(a)?.model?(n(),l("span",Y,t(o(a).model),1)):r("",!0),s("span",{class:H(["refresh-indicator",{active:o(u)}])},null,2)])]),o(C)==="pending"?(n(),l("div",Z,t(e.$t("kanban.loading")),1)):(n(),l(h,{key:1},[o(a)?.processingIssues?.length?(n(),l("div",x,[s("h3",null,t(e.$t("stats.processing")),1),s("div",ss,[(n(!0),l(h,null,I(o(a).processingIssues,i=>(n(),l("span",{key:i,class:"processing-badge"},[y[0]||(y[0]=s("span",{class:"dot-pulse"},null,-1)),k(" "+t(i),1)]))),128))])])):r("",!0),s("div",ts,[s("div",es,[s("h2",null,t(e.$t("stats.session")),1),s("div",as,t(d(o(F))),1),s("div",os,[s("div",ns,[s("span",ls,t(e.$t("stats.tokensInput")),1),s("span",is,t(d(o(a)?.session?.tokensInput||0)),1)]),s("div",ds,[s("span",cs,t(e.$t("stats.tokensOutput")),1),s("span",rs,t(d(o(a)?.session?.tokensOutput||0)),1)])]),s("div",us,[s("span",_s,t(o(a)?.session?.callCount||0)+" "+t(e.$t("stats.calls")),1),s("span",ps,"$"+t(p(o(a)?.session?.costUsd||0)),1)]),o(a)?.session?.startedAt?(n(),l("div",hs,t(e.$t("stats.startedAt"))+": "+t(m(o(a).session.startedAt)),1)):r("",!0)]),s("div",ks,[s("h2",null,t(e.$t("stats.totals")),1),s("div",vs,t(d(o(O))),1),s("div",fs,[s("div",ms,[s("span",ys,t(e.$t("stats.tokensInput")),1),s("span",$s,t(d(o(a)?.totals?.tokensInput||0)),1)]),s("div",bs,[s("span",gs,t(e.$t("stats.tokensOutput")),1),s("span",Is,t(d(o(a)?.totals?.tokensOutput||0)),1)])]),s("div",ws,[s("span",Cs,t(o(a)?.totals?.callCount||0)+" "+t(e.$t("stats.calls")),1),s("span",As,"$"+t(p(o(a)?.totals?.costUsd||0)),1)])]),s("div",Fs,[s("h2",null,t(e.$t("stats.cost")),1),s("p",Os,t(e.$t("stats.costExplanation")),1)])]),s("div",Ns,[s("h2",null,t(e.$t("stats.recentActivity")),1),o(a)?.history?.length?(n(),l("div",Ts,[s("table",Us,[s("thead",null,[s("tr",null,[s("th",null,t(e.$t("stats.issue")),1),s("th",null,t(e.$t("stats.column")),1),s("th",null,t(e.$t("stats.tokensInput")),1),s("th",null,t(e.$t("stats.tokensOutput")),1),s("th",null,t(e.$t("stats.cost")),1),s("th",null,t(e.$t("stats.duration")),1),s("th",null,t(e.$t("stats.date")),1)])]),s("tbody",null,[(n(!0),l(h,null,I(o(a).history,(i,S)=>(n(),l("tr",{key:S},[s("td",null,[i.issue?(n(),W($,{key:0,to:`/issue/${i.issue}`,class:"issue-link"},{default:g(()=>[k(t(i.issue),1)]),_:2},1032,["to"])):(n(),l("span",Vs,"-"))]),s("td",null,t(i.column||"-"),1),s("td",null,t(d(i.tokensInput)),1),s("td",null,t(d(i.tokensOutput)),1),s("td",Bs,"$"+t(p(i.costUsd||0)),1),s("td",null,t(N(i.duration)),1),s("td",null,t(m(i.timestamp)),1)]))),128))])])])):(n(),l("div",Ss,t(e.$t("stats.noActivity")),1))])],64))])}}}),js=G(Ds,[["__scopeId","data-v-3e093864"]]);export{js as default};
1
+ import{_ as T}from"./Dku8fc7v.js";import{u as U}from"./C819KIPL.js";import{u as V,s as B}from"./hYe2UtEI.js";import{d as D,u as K,r as L,x as M,n as E,o as R,a as j,m as b,v as q,c as l,e as s,f as z,w as g,t,k as r,h as o,s as H,F as h,q as I,b as n,g as k,j as W,_ as G}from"./B9-SkqjX.js";const J={class:"stats-page"},P={class:"page-header"},Q={class:"header-badges"},X={key:0,class:"badge badge-profile"},Y={key:1,class:"badge badge-model"},Z={key:0,class:"loading"},x={key:0,class:"processing-alert card"},ss={class:"processing-issues"},ts={class:"stats-grid"},es={class:"stat-card card"},as={class:"stat-value"},os={class:"stat-breakdown"},ns={class:"breakdown-item"},ls={class:"label"},is={class:"value"},ds={class:"breakdown-item"},cs={class:"label"},rs={class:"value"},us={class:"stat-footer"},_s={class:"calls-count"},ps={class:"cost-value"},hs={key:0,class:"started-at"},ks={class:"stat-card card"},vs={class:"stat-value"},fs={class:"stat-breakdown"},ms={class:"breakdown-item"},ys={class:"label"},$s={class:"value"},bs={class:"breakdown-item"},gs={class:"label"},Is={class:"value"},ws={class:"stat-footer"},Cs={class:"calls-count"},As={class:"cost-value"},Fs={class:"stat-card card info-card"},Os={class:"cost-explanation"},Ns={class:"card history-card"},Ss={key:0,class:"empty"},Ts={key:1,class:"table-container"},Us={class:"history-table"},Vs={key:1,class:"text-muted"},Bs={class:"cost-cell"},Ds=D({__name:"stats",async setup(Ks){let c,v;const{locale:w}=K(),u=L(!1),{data:a,status:C,refresh:f}=([c,v]=M(()=>U("/api/stats","$ygpy_aVKAm")),c=await c,v(),c),{lastMessage:A}=V();E(A,e=>{(e?.type==="claude_end"||e?.type==="stats-update"||e?.type==="refresh")&&(u.value=!0,f().finally(()=>{u.value=!1}))});let _;R(()=>{_=B(()=>{f()},5e3)}),j(()=>{_&&clearInterval(_)});const F=b(()=>(a.value?.session?.tokensInput||0)+(a.value?.session?.tokensOutput||0)),O=b(()=>(a.value?.totals?.tokensInput||0)+(a.value?.totals?.tokensOutput||0)),d=e=>e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString(),p=e=>e.toFixed(4),N=e=>e?e<1e3?e+"ms":(e/1e3).toFixed(1)+"s":"-",m=e=>e?new Date(e).toLocaleString(w.value==="fr"?"fr-FR":"en-US"):"-";return q({title:"Statistics - AutoCode"}),(e,y)=>{const $=T;return n(),l("div",J,[s("header",P,[z($,{to:"/kanban",class:"back-link"},{default:g(()=>[k(" ← "+t(e.$t("stats.backToKanban")),1)]),_:1}),s("h1",null,t(e.$t("stats.title")),1),s("div",Q,[o(a)?.profile?(n(),l("span",X,t(o(a).profile),1)):r("",!0),o(a)?.model?(n(),l("span",Y,t(o(a).model),1)):r("",!0),s("span",{class:H(["refresh-indicator",{active:o(u)}])},null,2)])]),o(C)==="pending"?(n(),l("div",Z,t(e.$t("kanban.loading")),1)):(n(),l(h,{key:1},[o(a)?.processingIssues?.length?(n(),l("div",x,[s("h3",null,t(e.$t("stats.processing")),1),s("div",ss,[(n(!0),l(h,null,I(o(a).processingIssues,i=>(n(),l("span",{key:i,class:"processing-badge"},[y[0]||(y[0]=s("span",{class:"dot-pulse"},null,-1)),k(" "+t(i),1)]))),128))])])):r("",!0),s("div",ts,[s("div",es,[s("h2",null,t(e.$t("stats.session")),1),s("div",as,t(d(o(F))),1),s("div",os,[s("div",ns,[s("span",ls,t(e.$t("stats.tokensInput")),1),s("span",is,t(d(o(a)?.session?.tokensInput||0)),1)]),s("div",ds,[s("span",cs,t(e.$t("stats.tokensOutput")),1),s("span",rs,t(d(o(a)?.session?.tokensOutput||0)),1)])]),s("div",us,[s("span",_s,t(o(a)?.session?.callCount||0)+" "+t(e.$t("stats.calls")),1),s("span",ps,"$"+t(p(o(a)?.session?.costUsd||0)),1)]),o(a)?.session?.startedAt?(n(),l("div",hs,t(e.$t("stats.startedAt"))+": "+t(m(o(a).session.startedAt)),1)):r("",!0)]),s("div",ks,[s("h2",null,t(e.$t("stats.totals")),1),s("div",vs,t(d(o(O))),1),s("div",fs,[s("div",ms,[s("span",ys,t(e.$t("stats.tokensInput")),1),s("span",$s,t(d(o(a)?.totals?.tokensInput||0)),1)]),s("div",bs,[s("span",gs,t(e.$t("stats.tokensOutput")),1),s("span",Is,t(d(o(a)?.totals?.tokensOutput||0)),1)])]),s("div",ws,[s("span",Cs,t(o(a)?.totals?.callCount||0)+" "+t(e.$t("stats.calls")),1),s("span",As,"$"+t(p(o(a)?.totals?.costUsd||0)),1)])]),s("div",Fs,[s("h2",null,t(e.$t("stats.cost")),1),s("p",Os,t(e.$t("stats.costExplanation")),1)])]),s("div",Ns,[s("h2",null,t(e.$t("stats.recentActivity")),1),o(a)?.history?.length?(n(),l("div",Ts,[s("table",Us,[s("thead",null,[s("tr",null,[s("th",null,t(e.$t("stats.issue")),1),s("th",null,t(e.$t("stats.column")),1),s("th",null,t(e.$t("stats.tokensInput")),1),s("th",null,t(e.$t("stats.tokensOutput")),1),s("th",null,t(e.$t("stats.cost")),1),s("th",null,t(e.$t("stats.duration")),1),s("th",null,t(e.$t("stats.date")),1)])]),s("tbody",null,[(n(!0),l(h,null,I(o(a).history,(i,S)=>(n(),l("tr",{key:S},[s("td",null,[i.issue?(n(),W($,{key:0,to:`/issue/${i.issue}`,class:"issue-link"},{default:g(()=>[k(t(i.issue),1)]),_:2},1032,["to"])):(n(),l("span",Vs,"-"))]),s("td",null,t(i.column||"-"),1),s("td",null,t(d(i.tokensInput)),1),s("td",null,t(d(i.tokensOutput)),1),s("td",Bs,"$"+t(p(i.costUsd||0)),1),s("td",null,t(N(i.duration)),1),s("td",null,t(m(i.timestamp)),1)]))),128))])])])):(n(),l("div",Ss,t(e.$t("stats.noActivity")),1))])],64))])}}}),js=G(Ds,[["__scopeId","data-v-3e093864"]]);export{js as default};
@@ -1 +1 @@
1
- import{d as q,j as S,b as n,w as a,e as w,t as T,f as c,h as s,g as b,m as I,s as R,k as V,A as Q,c as y,F as C,q as D,a9 as X,al as M,ak as A,r as E,o as re,R as H,n as G}from"./mhFvEihp.js";import{g as P,T as B,L as ne,bc as L,bd as N,z as J,be as ce,bf as ie,r as ue,bg as de,aA as g,ay as Y,aB as pe,bh as me,aS as fe,bi as he,k as ye,bj as ve,bk as be,M as Z,aD as we,N as ee,bl as xe,bm as ke,bn as Ve,bo as ge,bp as Se,bq as _e,n as $e,C as Ue,aC as Ce,aF as Ae}from"./W7VQVcj3.js";const Oe={class:"text-c-2 mb-4 text-sm leading-normal"},ze={class:"flex justify-between gap-2"},te=q({__name:"DeleteRequestAuthModal",props:{state:{},scheme:{}},emits:["close","delete"],setup(l,{emit:U}){const f=l,h=U,{securitySchemeMutators:x}=P(),k=()=>{f.scheme?.id&&x.delete(f.scheme.id),h("delete")};return(o,p)=>(n(),S(s(ne),{size:"xxs",state:o.state,title:"Delete Security Scheme"},{default:a(()=>[w("p",Oe," This cannot be undone. You're about to delete the "+T(o.scheme?.label)+" security scheme from the collection. ",1),w("div",ze,[c(s(B),{class:"flex h-8 cursor-pointer items-center gap-1.5 px-3 shadow-none focus:outline-none",type:"button",variant:"outlined",onClick:p[0]||(p[0]=i=>h("close"))},{default:a(()=>[...p[1]||(p[1]=[b(" Cancel ",-1)])]),_:1}),c(s(B),{class:"flex h-8 cursor-pointer items-center gap-1.5 px-3 shadow-none focus:outline-none",type:"submit",onClick:k},{default:a(()=>[b(" Delete "+T(o.scheme?.label),1)]),_:1})])]),_:1},8,["state"]))}}),le=(l,U,f,{securitySchemeMutators:h,securitySchemes:x},k=!1)=>{if(h.edit(l,U,f),!!k)try{const o=JSON.parse(L().getItem(N.AUTH)??"{}"),p=x[l];if(o&&p?.nameKey){const i=o[p.nameKey]||={};i[U]=f,L().setItem(N.AUTH,JSON.stringify(o))}}catch(o){console.error(o)}},Te=(l,U)=>{try{const{collectionMutators:f,securitySchemes:h,securitySchemeMutators:x}=l,k=JSON.parse(L().getItem(N.AUTH)??"{}"),o=Object.keys(h).reduce((i,t)=>{const e=h[t];return e&&(i[e.nameKey]=e.uid),i},{});Object.entries(k).forEach(([i,t])=>{const e=o[i];e&&Object.entries(t).forEach(([r,u])=>{x.edit(e,r,u)})});const p=JSON.parse(L().getItem(N.SELECTED_SECURITY_SCHEMES)??"[]").map(i=>Array.isArray(i)?i.map(t=>o[t]).filter(J):o[i]).filter(J);f.edit(U,"selectedSecuritySchemeUids",p)}catch(f){console.error(f)}},Ie={class:"flex h-fit w-full"},Re={class:"flex-1"},Be={class:"flex items-center gap-1.75"},qe={class:"grid auto-rows-auto",style:{gridTemplateColumns:"1fr auto"}},je={key:0},Ee={class:"font-code text-xs"},Me=q({__name:"OAuthScopesInput",props:{flow:{},updateScheme:{type:Function}},setup(l){const U=I(()=>Object.entries(l.flow?.scopes??{}).map(([p,i])=>({id:p,label:p,description:i}))),f=I(()=>l.flow?.selectedScopes||[]);function h(p,i){i?l.updateScheme(`flows.${l.flow.type}.selectedScopes`,[...f.value,p]):l.updateScheme(`flows.${l.flow.type}.selectedScopes`,f.value.filter(t=>t!==p))}const x=I(()=>l.flow?.selectedScopes?.length===Object.keys(l.flow?.scopes??{}).length),k=()=>{l.updateScheme(`flows.${l.flow.type}.selectedScopes`,Object.keys(l.flow?.scopes??{}))},o=()=>{l.updateScheme(`flows.${l.flow.type}.selectedScopes`,[])};return(p,i)=>(n(),S(s(Y),{class:"h-auto !max-h-[initial] min-h-8 items-center"},{default:a(()=>[w("div",Ie,[i[2]||(i[2]=w("div",{class:"text-c-1 h-full items-center"},null,-1)),c(s(ce),{as:"div",class:"bl flex w-full flex-col"},{default:a(()=>[c(s(ie),{class:R(["group/scopes-accordion hover:text-c-1 flex h-auto min-h-8 cursor-pointer items-center gap-1.5 pr-2.25 pl-3 text-left",(p.flow?.selectedScopes?.length||0)>0?"text-c-1":"text-c-3"])},{default:a(({open:t})=>[w("div",Re," Scopes Selected "+T(p.flow?.selectedScopes?.length||0)+" / "+T(Object.keys(p.flow?.scopes??{}).length||0),1),w("div",Be,[x.value?(n(),S(s(B),{key:0,class:"pr-0.75 pl-1 transition-none",size:"sm",variant:"ghost",onClick:Q(o,["stop"])},{default:a(()=>[...i[0]||(i[0]=[b(" Deselect All ",-1)])]),_:1})):V("",!0),x.value?V("",!0):(n(),S(s(B),{key:1,class:"pr-0.75 pl-1 transition-none",size:"sm",variant:"ghost",onClick:Q(k,["stop"])},{default:a(()=>[...i[1]||(i[1]=[b(" Select All ",-1)])]),_:1})),c(s(ue),{class:"text-c-3 group-hover/scopes-accordion:text-c-2",icon:t?"ChevronDown":"ChevronRight",size:"md"},null,8,["icon"])])]),_:1},8,["class"]),c(s(de),{as:"template"},{default:a(()=>[w("table",qe,[(n(!0),y(C,null,D(U.value,({id:t,label:e,description:r})=>(n(),S(s(g),{key:t,class:"text-c-2",onClick:u=>h(t,!f.value.includes(t))},{default:a(()=>[c(s(Y),{class:"hover:text-c-1 box-border !max-h-[initial] w-full cursor-pointer px-3 py-1.5"},{default:a(()=>[r?(n(),y("div",je,[w("span",Ee,T(e),1),b(" – "+T(r),1)])):V("",!0)]),_:2},1024),c(s(pe),{modelValue:f.value.includes(t),"onUpdate:modelValue":()=>{}},null,8,["modelValue"])]),_:2},1032,["onClick"]))),128))])]),_:1})]),_:1})])]),_:1}))}}),Fe=["for"],z=q({__name:"RequestAuthDataTableInput",props:{type:{},containerClass:{},required:{type:Boolean,default:!1},modelValue:{},readOnly:{type:Boolean,default:!1},environment:{},envVariables:{},workspace:{}},emits:["update:modelValue","inputFocus","inputBlur","selectVariable"],setup(l,{emit:U}){const f=l,h=U,x=X();return(k,o)=>(n(),S(me,A({id:s(x),canAddCustomEnumValue:!f.readOnly,containerClass:f.containerClass},k.$attrs,{envVariables:f.envVariables,environment:f.environment,lineWrapping:"",modelValue:f.modelValue,readOnly:f.readOnly,required:f.required,type:f.type,workspace:f.workspace,onInputBlur:o[0]||(o[0]=p=>h("inputBlur")),onInputFocus:o[1]||(o[1]=p=>h("inputFocus")),onSelectVariable:o[2]||(o[2]=p=>h("selectVariable",p)),"onUpdate:modelValue":o[3]||(o[3]=p=>h("update:modelValue",p))}),{default:a(()=>[w("label",{for:s(x)},[M(k.$slots,"default")],8,Fe)]),icon:a(()=>[M(k.$slots,"icon")]),_:3},16,["id","canAddCustomEnumValue","containerClass","envVariables","environment","modelValue","readOnly","required","type","workspace"]))}}),De={class:"flex h-8 items-center justify-end border-t"},Le={class:"flex h-8 w-full items-center justify-end border-t"},Ne=q({__name:"OAuth2",props:{collection:{},environment:{},envVariables:{},flow:{},persistAuth:{type:Boolean,default:!1},scheme:{},server:{},workspace:{}},emits:["authorized"],setup(l,{emit:U}){const f=U,h=fe(),{toast:x}=ye(),k=P(),o=(t,e)=>le(l.scheme.uid,t,e,k,l.persistAuth),p=async()=>{if(h.isActive||!l.collection?.uid)return;if(!l.server){x("No server selected","error");return}h.start();const[t,e]=await ve(l.flow,l.server,l.workspace?.proxyUrl);await h.clear(),e?(o(`flows.${l.flow.type}.token`,e),f("authorized")):(console.error(t),x(t?.message??"Failed to authorize","error"))},i={environment:l.environment,envVariables:l.envVariables,workspace:l.workspace};return(t,e)=>(n(),y(C,null,[t.flow.token?(n(),y(C,{key:0},[c(s(g),null,{default:a(()=>[c(z,A(i,{class:"border-r-transparent",modelValue:t.flow.token,placeholder:"QUxMIFlPVVIgQkFTRSBBUkUgQkVMT05HIFRPIFVT",type:"password","onUpdate:modelValue":e[0]||(e[0]=r=>o(`flows.${t.flow.type}.token`,r))}),{default:a(()=>[...e[10]||(e[10]=[b(" Access Token ",-1)])]),_:1},16,["modelValue"])]),_:1}),c(s(g),{class:"min-w-full"},{default:a(()=>[w("div",De,[c(s(B),{class:"mr-1 p-0 px-2 py-0.5",loader:s(h),size:"sm",variant:"outlined",onClick:e[1]||(e[1]=r=>o(`flows.${t.flow.type}.token`,""))},{default:a(()=>[...e[11]||(e[11]=[b(" Clear ",-1)])]),_:1},8,["loader"]),M(t.$slots,"oauth-actions")])]),_:3})],64)):(n(),y(C,{key:1},[c(s(g),null,{default:a(()=>["authorizationUrl"in t.flow?(n(),S(z,A({key:0},i,{containerClass:"border-r-0",modelValue:t.flow.authorizationUrl,placeholder:"https://galaxy.scalar.com/authorize","onUpdate:modelValue":e[2]||(e[2]=r=>o(`flows.${t.flow.type}.authorizationUrl`,r))}),{default:a(()=>[...e[12]||(e[12]=[b(" Auth URL ",-1)])]),_:1},16,["modelValue"])):V("",!0),"tokenUrl"in t.flow?(n(),S(z,A({key:1},i,{modelValue:t.flow.tokenUrl,placeholder:"https://galaxy.scalar.com/token","onUpdate:modelValue":e[3]||(e[3]=r=>o(`flows.${t.flow.type}.tokenUrl`,r))}),{default:a(()=>[...e[13]||(e[13]=[b(" Token URL ",-1)])]),_:1},16,["modelValue"])):V("",!0)]),_:1}),"x-scalar-redirect-uri"in t.flow?(n(),S(s(g),{key:0},{default:a(()=>[c(z,A(i,{modelValue:t.flow["x-scalar-redirect-uri"],placeholder:"https://galaxy.scalar.com/callback","onUpdate:modelValue":e[4]||(e[4]=r=>o(`flows.${t.flow.type}.x-scalar-redirect-uri`,r))}),{default:a(()=>[...e[14]||(e[14]=[b(" Redirect URL ",-1)])]),_:1},16,["modelValue"])]),_:1})):V("",!0),t.flow.type==="password"?(n(),y(C,{key:1},[c(s(g),null,{default:a(()=>[c(z,A(i,{class:"text-c-2",modelValue:t.flow.username,placeholder:"janedoe","onUpdate:modelValue":e[5]||(e[5]=r=>o(`flows.${t.flow.type}.username`,r))}),{default:a(()=>[...e[15]||(e[15]=[b(" Username ",-1)])]),_:1},16,["modelValue"])]),_:1}),c(s(g),null,{default:a(()=>[c(z,A(i,{modelValue:t.flow.password,placeholder:"********",type:"password","onUpdate:modelValue":e[6]||(e[6]=r=>o(`flows.${t.flow.type}.password`,r))}),{default:a(()=>[...e[16]||(e[16]=[b(" Password ",-1)])]),_:1},16,["modelValue"])]),_:1})],64)):V("",!0),c(s(g),null,{default:a(()=>[c(z,A(i,{modelValue:t.flow["x-scalar-client-id"],placeholder:"12345","onUpdate:modelValue":e[7]||(e[7]=r=>o(`flows.${t.flow.type}.x-scalar-client-id`,r))}),{default:a(()=>[...e[17]||(e[17]=[b(" Client ID ",-1)])]),_:1},16,["modelValue"])]),_:1}),"clientSecret"in t.flow?(n(),S(s(g),{key:2},{default:a(()=>[c(z,A(i,{modelValue:t.flow.clientSecret,placeholder:"XYZ123",type:"password","onUpdate:modelValue":e[8]||(e[8]=r=>o(`flows.${t.flow.type}.clientSecret`,r))}),{default:a(()=>[...e[18]||(e[18]=[b(" Client Secret ",-1)])]),_:1},16,["modelValue"])]),_:1})):V("",!0),"x-usePkce"in t.flow?(n(),S(s(g),{key:3},{default:a(()=>[c(z,A(i,{enum:s(he),modelValue:t.flow["x-usePkce"],readOnly:"","onUpdate:modelValue":e[9]||(e[9]=r=>o(`flows.${t.flow.type}.x-usePkce`,r))}),{default:a(()=>[...e[19]||(e[19]=[b(" Use PKCE ",-1)])]),_:1},16,["enum","modelValue"])]),_:1})):V("",!0),Object.keys(t.flow.scopes??{}).length?(n(),S(s(g),{key:4},{default:a(()=>[c(Me,{flow:t.flow,updateScheme:o},null,8,["flow"])]),_:1})):V("",!0)],64)),t.flow.token?V("",!0):(n(),S(s(g),{key:2,class:"min-w-full"},{default:a(()=>[w("div",Le,[c(s(B),{class:"mr-0.75 p-0 px-2 py-0.5",loader:s(h),size:"sm",variant:"outlined",onClick:p},{default:a(()=>[...e[20]||(e[20]=[b(" Authorize ",-1)])]),_:1},8,["loader"])])]),_:1}))],64))}}),Pe={class:"bg-b-1 text-c-2 outline-b-3 top-0 z-1 h-full w-full overflow-hidden px-3 py-1.25 text-ellipsis group-hover/auth:absolute group-hover/auth:h-auto group-hover/auth:border-b *:first:line-clamp-1 *:first:text-ellipsis group-hover/auth:*:first:line-clamp-none"},Ke={key:0,class:"flex min-h-8 border-t text-base"},He={class:"flex h-8 max-w-full gap-2.5 overflow-x-auto px-3"},Qe=["onClick"],Je={class:"relative z-10"},Ye=q({__name:"RequestAuthTab",props:{collection:{},environment:{},envVariables:{},layout:{},persistAuth:{type:Boolean,default:!1},securitySchemeUids:{},server:{},workspace:{}},emits:["authorized"],setup(l,{emit:U}){const f=U,h=P(),{securitySchemes:x}=h,k=I(()=>l.securitySchemeUids.map(e=>({scheme:x[e]}))),o=E(""),p=e=>{const r=e.description?`: ${e.description}`:"",u=`${H(e.nameKey)}${r||`: ${e.type}`}`;if(e.type==="apiKey")return`${H(e.nameKey)}${r||`: ${e.in}`}`;if(e.type==="oauth2"){const _=Object.values(e.flows??{})[0];return`${H(e.nameKey)}: ${o.value?o.value:_?.type??""}${r}`}return e.type==="http"?`${H(e.nameKey)}: ${e.scheme}${r}`:`${u}${r}`},i=(e,r,u)=>{le(e,r,u,h,l.persistAuth)};re(()=>{l.persistAuth&&Te(h,l.collection.uid)});const t={environment:l.environment,envVariables:l.envVariables,workspace:l.workspace};return(e,r)=>(n(!0),y(C,null,D(k.value,({scheme:u})=>(n(),y(C,{key:u?.uid},[k.value.length>1&&u?(n(),S(s(g),{key:0},{default:a(()=>[c(s(Y),{"aria-label":p(u),class:"text-c-2 group/auth flex items-center leading-[22px] whitespace-nowrap outline-none hover:whitespace-normal"},{default:a(()=>[w("p",Pe,T(p(u)),1)]),_:2},1032,["aria-label"])]),_:2},1024)):V("",!0),u?.description&&k.value.length<=1?(n(),S(s(g),{key:1},{default:a(()=>[c(s(Y),{"aria-label":u.description,class:"max-h-[auto]"},{default:a(()=>[c(s(be),{class:"auth-description bg-b-1 text-c-2 min-w-0 flex-1 px-3 py-1.25",value:u.description},null,8,["value"])]),_:2},1032,["aria-label"])]),_:2},1024)):V("",!0),u?.type==="http"?(n(),y(C,{key:2},[u.scheme==="bearer"?(n(),S(s(g),{key:0},{default:a(()=>[c(z,A({ref_for:!0},t,{containerClass:e.layout==="reference"&&"border-t",modelValue:u.token,placeholder:"Token",type:"password","onUpdate:modelValue":_=>i(u.uid,"token",_)}),{default:a(()=>[...r[1]||(r[1]=[b(" Bearer Token ",-1)])]),_:1},16,["containerClass","modelValue","onUpdate:modelValue"])]),_:2},1024)):u?.scheme==="basic"?(n(),y(C,{key:1},[c(s(g),null,{default:a(()=>[c(z,A({ref_for:!0},t,{class:"text-c-2",modelValue:u.username,placeholder:"janedoe",required:"","onUpdate:modelValue":_=>i(u.uid,"username",_)}),{default:a(()=>[...r[2]||(r[2]=[b(" Username ",-1)])]),_:1},16,["modelValue","onUpdate:modelValue"])]),_:2},1024),c(s(g),null,{default:a(()=>[c(z,A({ref_for:!0},t,{modelValue:u.password,placeholder:"********",type:"password","onUpdate:modelValue":_=>i(u.uid,"password",_)}),{default:a(()=>[...r[3]||(r[3]=[b(" Password ",-1)])]),_:1},16,["modelValue","onUpdate:modelValue"])]),_:2},1024)],64)):V("",!0)],64)):u?.type==="apiKey"?(n(),y(C,{key:3},[c(s(g),null,{default:a(()=>[c(z,A({ref_for:!0},t,{containerClass:e.layout==="reference"&&"border-t",modelValue:u.name,placeholder:"api-key","onUpdate:modelValue":_=>i(u.uid,"name",_)}),{default:a(()=>[...r[4]||(r[4]=[b(" Name ",-1)])]),_:1},16,["containerClass","modelValue","onUpdate:modelValue"])]),_:2},1024),c(s(g),null,{default:a(()=>[c(z,A({ref_for:!0},t,{modelValue:u.value,placeholder:"QUxMIFlPVVIgQkFTRSBBUkUgQkVMT05HIFRPIFVT",type:"password","onUpdate:modelValue":_=>i(u.uid,"value",_)}),{default:a(()=>[...r[5]||(r[5]=[b(" Value ",-1)])]),_:1},16,["modelValue","onUpdate:modelValue"])]),_:2},1024)],64)):u?.type==="oauth2"?(n(),y(C,{key:4},[c(s(g),null,{default:a(()=>[Object.keys(u.flows).length>1?(n(),y("div",Ke,[w("div",He,[(n(!0),y(C,null,D(u?.flows,(_,O,j)=>(n(),y("button",{key:O,class:R(["floating-bg text-c-3 relative cursor-pointer border-b-[1px] border-transparent py-1 text-base font-medium",{"!text-c-1 !rounded-none border-b-[1px] !border-current":e.layout!=="reference"&&(o.value===O||j===0&&!o.value),"!text-c-1 !rounded-none border-b-[1px] !border-current opacity-100":e.layout==="reference"&&(o.value===O||j===0&&!o.value)}]),type:"button",onClick:K=>o.value=O},[w("span",Je,T(O),1)],10,Qe))),128))])])):V("",!0)]),_:2},1024),(n(!0),y(C,null,D(u?.flows,(_,O,j)=>(n(),y(C,{key:O},[o.value===O||j===0&&!o.value?(n(),S(Ne,A({key:0,ref_for:!0},t,{collection:e.collection,flow:_,persistAuth:e.persistAuth,scheme:u,server:e.server,workspace:e.workspace,onAuthorized:r[0]||(r[0]=K=>f("authorized"))}),{"oauth-actions":a(()=>[M(e.$slots,"oauth-actions")]),_:3},16,["collection","flow","persistAuth","scheme","server","workspace"])):V("",!0)],64))),128))],64)):u?.type==="openIdConnect"?(n(),y("div",{key:5,class:R(["text-c-3 bg-b-1 flex min-h-[calc(4rem+1px)] items-center justify-center border-t border-b-0 px-4 text-base",{"rounded-b-lg":e.layout==="reference"}])}," Coming soon ",2)):V("",!0)],64))),128))}}),We=["onClick"],Ge={class:"relative z-10 font-medium whitespace-nowrap"},Xe={key:0,class:"absolute inset-x-1 bottom-[var(--scalar-border-width)] left-1/2 z-1 h-px w-full -translate-x-1/2 bg-current"},Ze=q({__name:"RequestAuthDataTable",props:{collection:{},environment:{},envVariables:{},layout:{default:"client"},persistAuth:{type:Boolean,default:!1},selectedSchemeOptions:{default:()=>[]},server:{},workspace:{}},emits:["authorized","activeSchemes"],setup(l,{emit:U}){const f=U,{securitySchemes:h}=P(),x=Z(),k=E(null),o=E(0),p=I(()=>{if(!l.selectedSchemeOptions||l.selectedSchemeOptions.length===0)return[];const t=l.selectedSchemeOptions[o.value];if(!t)return[];const e=t.id.split(",").filter(Boolean);return e.length>1?e:[t.id]});G(p,t=>{f("activeSchemes",t.map(e=>h[e]).filter(J))},{immediate:!0});const i=I(()=>p.value.length>0);return G(()=>l.selectedSchemeOptions,t=>{(!t||!t[o.value])&&(o.value=Math.max(0,o.value-1))}),(t,e)=>(n(),y("form",{onSubmit:e[2]||(e[2]=Q(()=>{},["prevent"]))},[t.selectedSchemeOptions.length>1?(n(),y("div",{key:0,class:R(["box-content flex flex-wrap gap-x-2.5 overflow-hidden border border-b-0 px-3",t.layout==="client"&&"border-x-0"])},[(n(!0),y(C,null,D(t.selectedSchemeOptions,(r,u)=>(n(),y("div",{key:r.id,class:R(["relative z-1 -mb-[var(--scalar-border-width)] flex h-8 cursor-pointer",[o.value===u?"text-c-1":"text-c-3"]])},[w("button",{class:"floating-bg relative cursor-pointer border-b-[1px] border-transparent py-1 text-sm font-medium",type:"button",onClick:_=>o.value=u},[w("span",Ge,T(r.label),1)],8,We),o.value===u?(n(),y("div",Xe)):V("",!0)],2))),128))],2)):V("",!0),i.value?(n(),S(s(we),{key:1,class:R(["flex-1",t.layout==="reference"&&"bg-b-1 rounded-b-lg border border-t-0"]),columns:[""],presentational:""},{default:a(()=>[c(Ye,{collection:t.collection,envVariables:t.envVariables,environment:t.environment,layout:t.layout,persistAuth:t.persistAuth,securitySchemeUids:p.value,server:t.server,workspace:t.workspace,onAuthorized:e[0]||(e[0]=r=>f("authorized"))},{"oauth-actions":a(()=>[M(t.$slots,"oauth-actions",{},void 0,!0)]),_:3},8,["collection","envVariables","environment","layout","persistAuth","securitySchemeUids","server","workspace"])]),_:3},8,["class"])):(n(),y("div",{key:2,class:R(["text-c-3 bg-b-1 flex min-h-16 items-center justify-center border-t px-4 text-sm",t.layout==="reference"&&"min-h-[calc(4rem+0.5px)] rounded-b-lg border"])}," No authentication selected ",2)),c(te,{scheme:k.value,state:s(x),onClose:e[1]||(e[1]=r=>s(x).hide())},null,8,["scheme","state"])],32))}}),et=ee(Ze,[["__scopeId","data-v-0bb98074"]]),tt=["id"],lt={class:"flex flex-1"},at={class:"min-w-0 flex-1 truncate"},ot=q({__name:"RequestAuth",props:{collection:{},isReadOnly:{type:Boolean,default:!1},environment:{},envVariables:{},layout:{},operation:{},persistAuth:{type:Boolean,default:!1},selectedSecuritySchemeUids:{},server:{},title:{},workspace:{}},emits:["authorized","activeSchemes"],setup(l,{emit:U}){const f=U,{securitySchemes:h,securitySchemeMutators:x,requestMutators:k,collectionMutators:o}=P(),p=X(),i=E(null),t=Z(),e=E(null),r=E(!1),u=I(()=>{const m=xe(l.operation,l.collection);return{filteredRequirements:m.filter(d=>Object.keys(d).length),requirements:m}}),_=I(()=>{const{filteredRequirements:m,requirements:d}=u.value;if(!d.length)return null;const v=!d.some($=>Object.keys($).length>1)&&m.length<d.length;return{icon:v?"Unlock":"Lock",text:v?"Optional":"Required"}}),O=I(()=>l.selectedSecuritySchemeUids.map(m=>{if(Array.isArray(m))return ke(m,h);const d=h[m??""];if(d)return Ve(d)}).filter(J));function j(m){const d=m.find($=>$.payload),v=m.filter($=>!$.payload).map(({id:$})=>{const F=$.split(",");return F.length>1?F:$});if(d?.payload){const $=x.add(d.payload,l.collection?.uid);$&&v.push($.uid)}K(v)}const K=m=>{if(l.collection.useCollectionSecurity){if(o.edit(l.collection.uid,"selectedSecuritySchemeUids",m),!l.persistAuth)return;const d=m.map(v=>Array.isArray(v)?v.map($=>h[$]?.nameKey):h[v]?.nameKey);L().setItem(N.SELECTED_SECURITY_SCHEMES,JSON.stringify(d))}else l.operation?.uid&&k.edit(l.operation.uid,"selectedSecuritySchemeUids",m)};function W({id:m,label:d}){e.value={id:m,label:d},t.show()}const ae=m=>{if(!m)return;const d=l.selectedSecuritySchemeUids.filter(v=>{const $=m.split(",");return $.length>1&&Array.isArray(v)&&$.length===v.length?v.every(F=>!$.includes(F)):v!==m});K(d),i.value?.$el.focus(),t.hide()},oe=I(()=>ge(u.value.filteredRequirements,l.collection?.securitySchemes??[],h,l.isReadOnly)),se=m=>{r.value&&m.stopPropagation(),i.value?.$el.click()};return(m,d)=>(n(),S(Ae,{class:"group/params relative",itemCount:O.value.length,layout:m.layout,"onUpdate:modelValue":d[4]||(d[4]=v=>r.value=v)},{title:a(()=>[w("div",{id:s(p),class:"inline-flex items-center gap-0.5 leading-[20px]"},[w("span",null,T(m.title),1),_.value?(n(),y("span",{key:0,class:R(["text-c-3 hover:bg-b-3 hover:text-c-1 -mr-1 cursor-pointer rounded px-1 py-0.5 text-xs leading-[normal]",{"text-c-1":_.value.text==="Required"}]),onClick:se},T(_.value.text),3)):V("",!0)],8,tt)]),actions:a(()=>[w("div",lt,[c(s(Se),{class:"w-72 text-xs",modelValue:O.value,multiple:"",options:oe.value,placement:"bottom-end",teleport:"",onDelete:W,"onUpdate:modelValue":j},{option:a(({option:v,selected:$})=>[c(s($e),{multiselect:"",selected:$},null,8,["selected"]),w("div",at,T(v.label),1),v.isDeletable??!m.isReadOnly?(n(),S(s(Ue),{key:0,class:"-m-0.5 shrink-0 p-0.5 opacity-0 group-hover/item:opacity-100",icon:s(Ce),label:`Delete ${v.label}`,size:"xs",onClick:Q(F=>W(v),["stop"])},null,8,["icon","label","onClick"])):V("",!0)]),default:a(()=>[c(s(B),{ref_key:"comboboxButtonRef",ref:i,"aria-describedby":s(p),class:"group/combobox-button hover:text-c-1 text-c-2 flex h-fit w-full items-center gap-1 px-0.75 py-0.25 text-base font-normal transition-transform",variant:"ghost"},{default:a(()=>[O.value.length===1?(n(),y(C,{key:0},[d[5]||(d[5]=w("span",{class:"sr-only"},"Selected Auth Type:",-1)),b(" "+T(O.value[0]?.label),1)],64)):O.value.length>1?(n(),y(C,{key:1},[d[6]||(d[6]=b(" Multiple ",-1)),d[7]||(d[7]=w("span",{class:"sr-only"},"Auth Types Selected",-1))],64)):(n(),y(C,{key:2},[d[8]||(d[8]=w("span",{class:"sr-only"},"Select",-1)),d[9]||(d[9]=b(" Auth Type ",-1))],64)),c(s(_e),{class:"size-3 shrink-0 transition-transform duration-100 group-aria-expanded/combobox-button:rotate-180",weight:"bold"})]),_:1},8,["aria-describedby"])]),_:1},8,["modelValue","options"])])]),default:a(()=>[c(et,{collection:m.collection,envVariables:m.envVariables,environment:m.environment,layout:m.layout,persistAuth:m.persistAuth,selectedSchemeOptions:O.value,server:m.server,workspace:m.workspace,onActiveSchemes:d[0]||(d[0]=v=>f("activeSchemes",v)),onAuthorized:d[1]||(d[1]=v=>f("authorized"))},{"oauth-actions":a(()=>[M(m.$slots,"oauth-actions",{},void 0,!0)]),_:3},8,["collection","envVariables","environment","layout","persistAuth","selectedSchemeOptions","server","workspace"]),c(te,{scheme:e.value,state:s(t),onClose:d[2]||(d[2]=v=>s(t).hide()),onDelete:d[3]||(d[3]=v=>ae(e.value?.id))},null,8,["scheme","state"])]),_:3},8,["itemCount","layout"]))}}),nt=ee(ot,[["__scopeId","data-v-3f1067a4"]]);export{nt as f};
1
+ import{d as q,j as S,b as n,w as a,e as w,t as T,f as c,h as s,g as b,m as I,s as R,k as V,A as Q,c as y,F as C,q as D,a9 as X,al as M,ak as A,r as E,o as re,R as H,n as G}from"./B9-SkqjX.js";import{g as P,T as B,L as ne,bc as L,bd as N,z as J,be as ce,bf as ie,r as ue,bg as de,aA as g,ay as Y,aB as pe,bh as me,aS as fe,bi as he,k as ye,bj as ve,bk as be,M as Z,aD as we,N as ee,bl as xe,bm as ke,bn as Ve,bo as ge,bp as Se,bq as _e,n as $e,C as Ue,aC as Ce,aF as Ae}from"./DjSp0ni5.js";const Oe={class:"text-c-2 mb-4 text-sm leading-normal"},ze={class:"flex justify-between gap-2"},te=q({__name:"DeleteRequestAuthModal",props:{state:{},scheme:{}},emits:["close","delete"],setup(l,{emit:U}){const f=l,h=U,{securitySchemeMutators:x}=P(),k=()=>{f.scheme?.id&&x.delete(f.scheme.id),h("delete")};return(o,p)=>(n(),S(s(ne),{size:"xxs",state:o.state,title:"Delete Security Scheme"},{default:a(()=>[w("p",Oe," This cannot be undone. You're about to delete the "+T(o.scheme?.label)+" security scheme from the collection. ",1),w("div",ze,[c(s(B),{class:"flex h-8 cursor-pointer items-center gap-1.5 px-3 shadow-none focus:outline-none",type:"button",variant:"outlined",onClick:p[0]||(p[0]=i=>h("close"))},{default:a(()=>[...p[1]||(p[1]=[b(" Cancel ",-1)])]),_:1}),c(s(B),{class:"flex h-8 cursor-pointer items-center gap-1.5 px-3 shadow-none focus:outline-none",type:"submit",onClick:k},{default:a(()=>[b(" Delete "+T(o.scheme?.label),1)]),_:1})])]),_:1},8,["state"]))}}),le=(l,U,f,{securitySchemeMutators:h,securitySchemes:x},k=!1)=>{if(h.edit(l,U,f),!!k)try{const o=JSON.parse(L().getItem(N.AUTH)??"{}"),p=x[l];if(o&&p?.nameKey){const i=o[p.nameKey]||={};i[U]=f,L().setItem(N.AUTH,JSON.stringify(o))}}catch(o){console.error(o)}},Te=(l,U)=>{try{const{collectionMutators:f,securitySchemes:h,securitySchemeMutators:x}=l,k=JSON.parse(L().getItem(N.AUTH)??"{}"),o=Object.keys(h).reduce((i,t)=>{const e=h[t];return e&&(i[e.nameKey]=e.uid),i},{});Object.entries(k).forEach(([i,t])=>{const e=o[i];e&&Object.entries(t).forEach(([r,u])=>{x.edit(e,r,u)})});const p=JSON.parse(L().getItem(N.SELECTED_SECURITY_SCHEMES)??"[]").map(i=>Array.isArray(i)?i.map(t=>o[t]).filter(J):o[i]).filter(J);f.edit(U,"selectedSecuritySchemeUids",p)}catch(f){console.error(f)}},Ie={class:"flex h-fit w-full"},Re={class:"flex-1"},Be={class:"flex items-center gap-1.75"},qe={class:"grid auto-rows-auto",style:{gridTemplateColumns:"1fr auto"}},je={key:0},Ee={class:"font-code text-xs"},Me=q({__name:"OAuthScopesInput",props:{flow:{},updateScheme:{type:Function}},setup(l){const U=I(()=>Object.entries(l.flow?.scopes??{}).map(([p,i])=>({id:p,label:p,description:i}))),f=I(()=>l.flow?.selectedScopes||[]);function h(p,i){i?l.updateScheme(`flows.${l.flow.type}.selectedScopes`,[...f.value,p]):l.updateScheme(`flows.${l.flow.type}.selectedScopes`,f.value.filter(t=>t!==p))}const x=I(()=>l.flow?.selectedScopes?.length===Object.keys(l.flow?.scopes??{}).length),k=()=>{l.updateScheme(`flows.${l.flow.type}.selectedScopes`,Object.keys(l.flow?.scopes??{}))},o=()=>{l.updateScheme(`flows.${l.flow.type}.selectedScopes`,[])};return(p,i)=>(n(),S(s(Y),{class:"h-auto !max-h-[initial] min-h-8 items-center"},{default:a(()=>[w("div",Ie,[i[2]||(i[2]=w("div",{class:"text-c-1 h-full items-center"},null,-1)),c(s(ce),{as:"div",class:"bl flex w-full flex-col"},{default:a(()=>[c(s(ie),{class:R(["group/scopes-accordion hover:text-c-1 flex h-auto min-h-8 cursor-pointer items-center gap-1.5 pr-2.25 pl-3 text-left",(p.flow?.selectedScopes?.length||0)>0?"text-c-1":"text-c-3"])},{default:a(({open:t})=>[w("div",Re," Scopes Selected "+T(p.flow?.selectedScopes?.length||0)+" / "+T(Object.keys(p.flow?.scopes??{}).length||0),1),w("div",Be,[x.value?(n(),S(s(B),{key:0,class:"pr-0.75 pl-1 transition-none",size:"sm",variant:"ghost",onClick:Q(o,["stop"])},{default:a(()=>[...i[0]||(i[0]=[b(" Deselect All ",-1)])]),_:1})):V("",!0),x.value?V("",!0):(n(),S(s(B),{key:1,class:"pr-0.75 pl-1 transition-none",size:"sm",variant:"ghost",onClick:Q(k,["stop"])},{default:a(()=>[...i[1]||(i[1]=[b(" Select All ",-1)])]),_:1})),c(s(ue),{class:"text-c-3 group-hover/scopes-accordion:text-c-2",icon:t?"ChevronDown":"ChevronRight",size:"md"},null,8,["icon"])])]),_:1},8,["class"]),c(s(de),{as:"template"},{default:a(()=>[w("table",qe,[(n(!0),y(C,null,D(U.value,({id:t,label:e,description:r})=>(n(),S(s(g),{key:t,class:"text-c-2",onClick:u=>h(t,!f.value.includes(t))},{default:a(()=>[c(s(Y),{class:"hover:text-c-1 box-border !max-h-[initial] w-full cursor-pointer px-3 py-1.5"},{default:a(()=>[r?(n(),y("div",je,[w("span",Ee,T(e),1),b(" – "+T(r),1)])):V("",!0)]),_:2},1024),c(s(pe),{modelValue:f.value.includes(t),"onUpdate:modelValue":()=>{}},null,8,["modelValue"])]),_:2},1032,["onClick"]))),128))])]),_:1})]),_:1})])]),_:1}))}}),Fe=["for"],z=q({__name:"RequestAuthDataTableInput",props:{type:{},containerClass:{},required:{type:Boolean,default:!1},modelValue:{},readOnly:{type:Boolean,default:!1},environment:{},envVariables:{},workspace:{}},emits:["update:modelValue","inputFocus","inputBlur","selectVariable"],setup(l,{emit:U}){const f=l,h=U,x=X();return(k,o)=>(n(),S(me,A({id:s(x),canAddCustomEnumValue:!f.readOnly,containerClass:f.containerClass},k.$attrs,{envVariables:f.envVariables,environment:f.environment,lineWrapping:"",modelValue:f.modelValue,readOnly:f.readOnly,required:f.required,type:f.type,workspace:f.workspace,onInputBlur:o[0]||(o[0]=p=>h("inputBlur")),onInputFocus:o[1]||(o[1]=p=>h("inputFocus")),onSelectVariable:o[2]||(o[2]=p=>h("selectVariable",p)),"onUpdate:modelValue":o[3]||(o[3]=p=>h("update:modelValue",p))}),{default:a(()=>[w("label",{for:s(x)},[M(k.$slots,"default")],8,Fe)]),icon:a(()=>[M(k.$slots,"icon")]),_:3},16,["id","canAddCustomEnumValue","containerClass","envVariables","environment","modelValue","readOnly","required","type","workspace"]))}}),De={class:"flex h-8 items-center justify-end border-t"},Le={class:"flex h-8 w-full items-center justify-end border-t"},Ne=q({__name:"OAuth2",props:{collection:{},environment:{},envVariables:{},flow:{},persistAuth:{type:Boolean,default:!1},scheme:{},server:{},workspace:{}},emits:["authorized"],setup(l,{emit:U}){const f=U,h=fe(),{toast:x}=ye(),k=P(),o=(t,e)=>le(l.scheme.uid,t,e,k,l.persistAuth),p=async()=>{if(h.isActive||!l.collection?.uid)return;if(!l.server){x("No server selected","error");return}h.start();const[t,e]=await ve(l.flow,l.server,l.workspace?.proxyUrl);await h.clear(),e?(o(`flows.${l.flow.type}.token`,e),f("authorized")):(console.error(t),x(t?.message??"Failed to authorize","error"))},i={environment:l.environment,envVariables:l.envVariables,workspace:l.workspace};return(t,e)=>(n(),y(C,null,[t.flow.token?(n(),y(C,{key:0},[c(s(g),null,{default:a(()=>[c(z,A(i,{class:"border-r-transparent",modelValue:t.flow.token,placeholder:"QUxMIFlPVVIgQkFTRSBBUkUgQkVMT05HIFRPIFVT",type:"password","onUpdate:modelValue":e[0]||(e[0]=r=>o(`flows.${t.flow.type}.token`,r))}),{default:a(()=>[...e[10]||(e[10]=[b(" Access Token ",-1)])]),_:1},16,["modelValue"])]),_:1}),c(s(g),{class:"min-w-full"},{default:a(()=>[w("div",De,[c(s(B),{class:"mr-1 p-0 px-2 py-0.5",loader:s(h),size:"sm",variant:"outlined",onClick:e[1]||(e[1]=r=>o(`flows.${t.flow.type}.token`,""))},{default:a(()=>[...e[11]||(e[11]=[b(" Clear ",-1)])]),_:1},8,["loader"]),M(t.$slots,"oauth-actions")])]),_:3})],64)):(n(),y(C,{key:1},[c(s(g),null,{default:a(()=>["authorizationUrl"in t.flow?(n(),S(z,A({key:0},i,{containerClass:"border-r-0",modelValue:t.flow.authorizationUrl,placeholder:"https://galaxy.scalar.com/authorize","onUpdate:modelValue":e[2]||(e[2]=r=>o(`flows.${t.flow.type}.authorizationUrl`,r))}),{default:a(()=>[...e[12]||(e[12]=[b(" Auth URL ",-1)])]),_:1},16,["modelValue"])):V("",!0),"tokenUrl"in t.flow?(n(),S(z,A({key:1},i,{modelValue:t.flow.tokenUrl,placeholder:"https://galaxy.scalar.com/token","onUpdate:modelValue":e[3]||(e[3]=r=>o(`flows.${t.flow.type}.tokenUrl`,r))}),{default:a(()=>[...e[13]||(e[13]=[b(" Token URL ",-1)])]),_:1},16,["modelValue"])):V("",!0)]),_:1}),"x-scalar-redirect-uri"in t.flow?(n(),S(s(g),{key:0},{default:a(()=>[c(z,A(i,{modelValue:t.flow["x-scalar-redirect-uri"],placeholder:"https://galaxy.scalar.com/callback","onUpdate:modelValue":e[4]||(e[4]=r=>o(`flows.${t.flow.type}.x-scalar-redirect-uri`,r))}),{default:a(()=>[...e[14]||(e[14]=[b(" Redirect URL ",-1)])]),_:1},16,["modelValue"])]),_:1})):V("",!0),t.flow.type==="password"?(n(),y(C,{key:1},[c(s(g),null,{default:a(()=>[c(z,A(i,{class:"text-c-2",modelValue:t.flow.username,placeholder:"janedoe","onUpdate:modelValue":e[5]||(e[5]=r=>o(`flows.${t.flow.type}.username`,r))}),{default:a(()=>[...e[15]||(e[15]=[b(" Username ",-1)])]),_:1},16,["modelValue"])]),_:1}),c(s(g),null,{default:a(()=>[c(z,A(i,{modelValue:t.flow.password,placeholder:"********",type:"password","onUpdate:modelValue":e[6]||(e[6]=r=>o(`flows.${t.flow.type}.password`,r))}),{default:a(()=>[...e[16]||(e[16]=[b(" Password ",-1)])]),_:1},16,["modelValue"])]),_:1})],64)):V("",!0),c(s(g),null,{default:a(()=>[c(z,A(i,{modelValue:t.flow["x-scalar-client-id"],placeholder:"12345","onUpdate:modelValue":e[7]||(e[7]=r=>o(`flows.${t.flow.type}.x-scalar-client-id`,r))}),{default:a(()=>[...e[17]||(e[17]=[b(" Client ID ",-1)])]),_:1},16,["modelValue"])]),_:1}),"clientSecret"in t.flow?(n(),S(s(g),{key:2},{default:a(()=>[c(z,A(i,{modelValue:t.flow.clientSecret,placeholder:"XYZ123",type:"password","onUpdate:modelValue":e[8]||(e[8]=r=>o(`flows.${t.flow.type}.clientSecret`,r))}),{default:a(()=>[...e[18]||(e[18]=[b(" Client Secret ",-1)])]),_:1},16,["modelValue"])]),_:1})):V("",!0),"x-usePkce"in t.flow?(n(),S(s(g),{key:3},{default:a(()=>[c(z,A(i,{enum:s(he),modelValue:t.flow["x-usePkce"],readOnly:"","onUpdate:modelValue":e[9]||(e[9]=r=>o(`flows.${t.flow.type}.x-usePkce`,r))}),{default:a(()=>[...e[19]||(e[19]=[b(" Use PKCE ",-1)])]),_:1},16,["enum","modelValue"])]),_:1})):V("",!0),Object.keys(t.flow.scopes??{}).length?(n(),S(s(g),{key:4},{default:a(()=>[c(Me,{flow:t.flow,updateScheme:o},null,8,["flow"])]),_:1})):V("",!0)],64)),t.flow.token?V("",!0):(n(),S(s(g),{key:2,class:"min-w-full"},{default:a(()=>[w("div",Le,[c(s(B),{class:"mr-0.75 p-0 px-2 py-0.5",loader:s(h),size:"sm",variant:"outlined",onClick:p},{default:a(()=>[...e[20]||(e[20]=[b(" Authorize ",-1)])]),_:1},8,["loader"])])]),_:1}))],64))}}),Pe={class:"bg-b-1 text-c-2 outline-b-3 top-0 z-1 h-full w-full overflow-hidden px-3 py-1.25 text-ellipsis group-hover/auth:absolute group-hover/auth:h-auto group-hover/auth:border-b *:first:line-clamp-1 *:first:text-ellipsis group-hover/auth:*:first:line-clamp-none"},Ke={key:0,class:"flex min-h-8 border-t text-base"},He={class:"flex h-8 max-w-full gap-2.5 overflow-x-auto px-3"},Qe=["onClick"],Je={class:"relative z-10"},Ye=q({__name:"RequestAuthTab",props:{collection:{},environment:{},envVariables:{},layout:{},persistAuth:{type:Boolean,default:!1},securitySchemeUids:{},server:{},workspace:{}},emits:["authorized"],setup(l,{emit:U}){const f=U,h=P(),{securitySchemes:x}=h,k=I(()=>l.securitySchemeUids.map(e=>({scheme:x[e]}))),o=E(""),p=e=>{const r=e.description?`: ${e.description}`:"",u=`${H(e.nameKey)}${r||`: ${e.type}`}`;if(e.type==="apiKey")return`${H(e.nameKey)}${r||`: ${e.in}`}`;if(e.type==="oauth2"){const _=Object.values(e.flows??{})[0];return`${H(e.nameKey)}: ${o.value?o.value:_?.type??""}${r}`}return e.type==="http"?`${H(e.nameKey)}: ${e.scheme}${r}`:`${u}${r}`},i=(e,r,u)=>{le(e,r,u,h,l.persistAuth)};re(()=>{l.persistAuth&&Te(h,l.collection.uid)});const t={environment:l.environment,envVariables:l.envVariables,workspace:l.workspace};return(e,r)=>(n(!0),y(C,null,D(k.value,({scheme:u})=>(n(),y(C,{key:u?.uid},[k.value.length>1&&u?(n(),S(s(g),{key:0},{default:a(()=>[c(s(Y),{"aria-label":p(u),class:"text-c-2 group/auth flex items-center leading-[22px] whitespace-nowrap outline-none hover:whitespace-normal"},{default:a(()=>[w("p",Pe,T(p(u)),1)]),_:2},1032,["aria-label"])]),_:2},1024)):V("",!0),u?.description&&k.value.length<=1?(n(),S(s(g),{key:1},{default:a(()=>[c(s(Y),{"aria-label":u.description,class:"max-h-[auto]"},{default:a(()=>[c(s(be),{class:"auth-description bg-b-1 text-c-2 min-w-0 flex-1 px-3 py-1.25",value:u.description},null,8,["value"])]),_:2},1032,["aria-label"])]),_:2},1024)):V("",!0),u?.type==="http"?(n(),y(C,{key:2},[u.scheme==="bearer"?(n(),S(s(g),{key:0},{default:a(()=>[c(z,A({ref_for:!0},t,{containerClass:e.layout==="reference"&&"border-t",modelValue:u.token,placeholder:"Token",type:"password","onUpdate:modelValue":_=>i(u.uid,"token",_)}),{default:a(()=>[...r[1]||(r[1]=[b(" Bearer Token ",-1)])]),_:1},16,["containerClass","modelValue","onUpdate:modelValue"])]),_:2},1024)):u?.scheme==="basic"?(n(),y(C,{key:1},[c(s(g),null,{default:a(()=>[c(z,A({ref_for:!0},t,{class:"text-c-2",modelValue:u.username,placeholder:"janedoe",required:"","onUpdate:modelValue":_=>i(u.uid,"username",_)}),{default:a(()=>[...r[2]||(r[2]=[b(" Username ",-1)])]),_:1},16,["modelValue","onUpdate:modelValue"])]),_:2},1024),c(s(g),null,{default:a(()=>[c(z,A({ref_for:!0},t,{modelValue:u.password,placeholder:"********",type:"password","onUpdate:modelValue":_=>i(u.uid,"password",_)}),{default:a(()=>[...r[3]||(r[3]=[b(" Password ",-1)])]),_:1},16,["modelValue","onUpdate:modelValue"])]),_:2},1024)],64)):V("",!0)],64)):u?.type==="apiKey"?(n(),y(C,{key:3},[c(s(g),null,{default:a(()=>[c(z,A({ref_for:!0},t,{containerClass:e.layout==="reference"&&"border-t",modelValue:u.name,placeholder:"api-key","onUpdate:modelValue":_=>i(u.uid,"name",_)}),{default:a(()=>[...r[4]||(r[4]=[b(" Name ",-1)])]),_:1},16,["containerClass","modelValue","onUpdate:modelValue"])]),_:2},1024),c(s(g),null,{default:a(()=>[c(z,A({ref_for:!0},t,{modelValue:u.value,placeholder:"QUxMIFlPVVIgQkFTRSBBUkUgQkVMT05HIFRPIFVT",type:"password","onUpdate:modelValue":_=>i(u.uid,"value",_)}),{default:a(()=>[...r[5]||(r[5]=[b(" Value ",-1)])]),_:1},16,["modelValue","onUpdate:modelValue"])]),_:2},1024)],64)):u?.type==="oauth2"?(n(),y(C,{key:4},[c(s(g),null,{default:a(()=>[Object.keys(u.flows).length>1?(n(),y("div",Ke,[w("div",He,[(n(!0),y(C,null,D(u?.flows,(_,O,j)=>(n(),y("button",{key:O,class:R(["floating-bg text-c-3 relative cursor-pointer border-b-[1px] border-transparent py-1 text-base font-medium",{"!text-c-1 !rounded-none border-b-[1px] !border-current":e.layout!=="reference"&&(o.value===O||j===0&&!o.value),"!text-c-1 !rounded-none border-b-[1px] !border-current opacity-100":e.layout==="reference"&&(o.value===O||j===0&&!o.value)}]),type:"button",onClick:K=>o.value=O},[w("span",Je,T(O),1)],10,Qe))),128))])])):V("",!0)]),_:2},1024),(n(!0),y(C,null,D(u?.flows,(_,O,j)=>(n(),y(C,{key:O},[o.value===O||j===0&&!o.value?(n(),S(Ne,A({key:0,ref_for:!0},t,{collection:e.collection,flow:_,persistAuth:e.persistAuth,scheme:u,server:e.server,workspace:e.workspace,onAuthorized:r[0]||(r[0]=K=>f("authorized"))}),{"oauth-actions":a(()=>[M(e.$slots,"oauth-actions")]),_:3},16,["collection","flow","persistAuth","scheme","server","workspace"])):V("",!0)],64))),128))],64)):u?.type==="openIdConnect"?(n(),y("div",{key:5,class:R(["text-c-3 bg-b-1 flex min-h-[calc(4rem+1px)] items-center justify-center border-t border-b-0 px-4 text-base",{"rounded-b-lg":e.layout==="reference"}])}," Coming soon ",2)):V("",!0)],64))),128))}}),We=["onClick"],Ge={class:"relative z-10 font-medium whitespace-nowrap"},Xe={key:0,class:"absolute inset-x-1 bottom-[var(--scalar-border-width)] left-1/2 z-1 h-px w-full -translate-x-1/2 bg-current"},Ze=q({__name:"RequestAuthDataTable",props:{collection:{},environment:{},envVariables:{},layout:{default:"client"},persistAuth:{type:Boolean,default:!1},selectedSchemeOptions:{default:()=>[]},server:{},workspace:{}},emits:["authorized","activeSchemes"],setup(l,{emit:U}){const f=U,{securitySchemes:h}=P(),x=Z(),k=E(null),o=E(0),p=I(()=>{if(!l.selectedSchemeOptions||l.selectedSchemeOptions.length===0)return[];const t=l.selectedSchemeOptions[o.value];if(!t)return[];const e=t.id.split(",").filter(Boolean);return e.length>1?e:[t.id]});G(p,t=>{f("activeSchemes",t.map(e=>h[e]).filter(J))},{immediate:!0});const i=I(()=>p.value.length>0);return G(()=>l.selectedSchemeOptions,t=>{(!t||!t[o.value])&&(o.value=Math.max(0,o.value-1))}),(t,e)=>(n(),y("form",{onSubmit:e[2]||(e[2]=Q(()=>{},["prevent"]))},[t.selectedSchemeOptions.length>1?(n(),y("div",{key:0,class:R(["box-content flex flex-wrap gap-x-2.5 overflow-hidden border border-b-0 px-3",t.layout==="client"&&"border-x-0"])},[(n(!0),y(C,null,D(t.selectedSchemeOptions,(r,u)=>(n(),y("div",{key:r.id,class:R(["relative z-1 -mb-[var(--scalar-border-width)] flex h-8 cursor-pointer",[o.value===u?"text-c-1":"text-c-3"]])},[w("button",{class:"floating-bg relative cursor-pointer border-b-[1px] border-transparent py-1 text-sm font-medium",type:"button",onClick:_=>o.value=u},[w("span",Ge,T(r.label),1)],8,We),o.value===u?(n(),y("div",Xe)):V("",!0)],2))),128))],2)):V("",!0),i.value?(n(),S(s(we),{key:1,class:R(["flex-1",t.layout==="reference"&&"bg-b-1 rounded-b-lg border border-t-0"]),columns:[""],presentational:""},{default:a(()=>[c(Ye,{collection:t.collection,envVariables:t.envVariables,environment:t.environment,layout:t.layout,persistAuth:t.persistAuth,securitySchemeUids:p.value,server:t.server,workspace:t.workspace,onAuthorized:e[0]||(e[0]=r=>f("authorized"))},{"oauth-actions":a(()=>[M(t.$slots,"oauth-actions",{},void 0,!0)]),_:3},8,["collection","envVariables","environment","layout","persistAuth","securitySchemeUids","server","workspace"])]),_:3},8,["class"])):(n(),y("div",{key:2,class:R(["text-c-3 bg-b-1 flex min-h-16 items-center justify-center border-t px-4 text-sm",t.layout==="reference"&&"min-h-[calc(4rem+0.5px)] rounded-b-lg border"])}," No authentication selected ",2)),c(te,{scheme:k.value,state:s(x),onClose:e[1]||(e[1]=r=>s(x).hide())},null,8,["scheme","state"])],32))}}),et=ee(Ze,[["__scopeId","data-v-0bb98074"]]),tt=["id"],lt={class:"flex flex-1"},at={class:"min-w-0 flex-1 truncate"},ot=q({__name:"RequestAuth",props:{collection:{},isReadOnly:{type:Boolean,default:!1},environment:{},envVariables:{},layout:{},operation:{},persistAuth:{type:Boolean,default:!1},selectedSecuritySchemeUids:{},server:{},title:{},workspace:{}},emits:["authorized","activeSchemes"],setup(l,{emit:U}){const f=U,{securitySchemes:h,securitySchemeMutators:x,requestMutators:k,collectionMutators:o}=P(),p=X(),i=E(null),t=Z(),e=E(null),r=E(!1),u=I(()=>{const m=xe(l.operation,l.collection);return{filteredRequirements:m.filter(d=>Object.keys(d).length),requirements:m}}),_=I(()=>{const{filteredRequirements:m,requirements:d}=u.value;if(!d.length)return null;const v=!d.some($=>Object.keys($).length>1)&&m.length<d.length;return{icon:v?"Unlock":"Lock",text:v?"Optional":"Required"}}),O=I(()=>l.selectedSecuritySchemeUids.map(m=>{if(Array.isArray(m))return ke(m,h);const d=h[m??""];if(d)return Ve(d)}).filter(J));function j(m){const d=m.find($=>$.payload),v=m.filter($=>!$.payload).map(({id:$})=>{const F=$.split(",");return F.length>1?F:$});if(d?.payload){const $=x.add(d.payload,l.collection?.uid);$&&v.push($.uid)}K(v)}const K=m=>{if(l.collection.useCollectionSecurity){if(o.edit(l.collection.uid,"selectedSecuritySchemeUids",m),!l.persistAuth)return;const d=m.map(v=>Array.isArray(v)?v.map($=>h[$]?.nameKey):h[v]?.nameKey);L().setItem(N.SELECTED_SECURITY_SCHEMES,JSON.stringify(d))}else l.operation?.uid&&k.edit(l.operation.uid,"selectedSecuritySchemeUids",m)};function W({id:m,label:d}){e.value={id:m,label:d},t.show()}const ae=m=>{if(!m)return;const d=l.selectedSecuritySchemeUids.filter(v=>{const $=m.split(",");return $.length>1&&Array.isArray(v)&&$.length===v.length?v.every(F=>!$.includes(F)):v!==m});K(d),i.value?.$el.focus(),t.hide()},oe=I(()=>ge(u.value.filteredRequirements,l.collection?.securitySchemes??[],h,l.isReadOnly)),se=m=>{r.value&&m.stopPropagation(),i.value?.$el.click()};return(m,d)=>(n(),S(Ae,{class:"group/params relative",itemCount:O.value.length,layout:m.layout,"onUpdate:modelValue":d[4]||(d[4]=v=>r.value=v)},{title:a(()=>[w("div",{id:s(p),class:"inline-flex items-center gap-0.5 leading-[20px]"},[w("span",null,T(m.title),1),_.value?(n(),y("span",{key:0,class:R(["text-c-3 hover:bg-b-3 hover:text-c-1 -mr-1 cursor-pointer rounded px-1 py-0.5 text-xs leading-[normal]",{"text-c-1":_.value.text==="Required"}]),onClick:se},T(_.value.text),3)):V("",!0)],8,tt)]),actions:a(()=>[w("div",lt,[c(s(Se),{class:"w-72 text-xs",modelValue:O.value,multiple:"",options:oe.value,placement:"bottom-end",teleport:"",onDelete:W,"onUpdate:modelValue":j},{option:a(({option:v,selected:$})=>[c(s($e),{multiselect:"",selected:$},null,8,["selected"]),w("div",at,T(v.label),1),v.isDeletable??!m.isReadOnly?(n(),S(s(Ue),{key:0,class:"-m-0.5 shrink-0 p-0.5 opacity-0 group-hover/item:opacity-100",icon:s(Ce),label:`Delete ${v.label}`,size:"xs",onClick:Q(F=>W(v),["stop"])},null,8,["icon","label","onClick"])):V("",!0)]),default:a(()=>[c(s(B),{ref_key:"comboboxButtonRef",ref:i,"aria-describedby":s(p),class:"group/combobox-button hover:text-c-1 text-c-2 flex h-fit w-full items-center gap-1 px-0.75 py-0.25 text-base font-normal transition-transform",variant:"ghost"},{default:a(()=>[O.value.length===1?(n(),y(C,{key:0},[d[5]||(d[5]=w("span",{class:"sr-only"},"Selected Auth Type:",-1)),b(" "+T(O.value[0]?.label),1)],64)):O.value.length>1?(n(),y(C,{key:1},[d[6]||(d[6]=b(" Multiple ",-1)),d[7]||(d[7]=w("span",{class:"sr-only"},"Auth Types Selected",-1))],64)):(n(),y(C,{key:2},[d[8]||(d[8]=w("span",{class:"sr-only"},"Select",-1)),d[9]||(d[9]=b(" Auth Type ",-1))],64)),c(s(_e),{class:"size-3 shrink-0 transition-transform duration-100 group-aria-expanded/combobox-button:rotate-180",weight:"bold"})]),_:1},8,["aria-describedby"])]),_:1},8,["modelValue","options"])])]),default:a(()=>[c(et,{collection:m.collection,envVariables:m.envVariables,environment:m.environment,layout:m.layout,persistAuth:m.persistAuth,selectedSchemeOptions:O.value,server:m.server,workspace:m.workspace,onActiveSchemes:d[0]||(d[0]=v=>f("activeSchemes",v)),onAuthorized:d[1]||(d[1]=v=>f("authorized"))},{"oauth-actions":a(()=>[M(m.$slots,"oauth-actions",{},void 0,!0)]),_:3},8,["collection","envVariables","environment","layout","persistAuth","selectedSchemeOptions","server","workspace"]),c(te,{scheme:e.value,state:s(t),onClose:d[2]||(d[2]=v=>s(t).hide()),onDelete:d[3]||(d[3]=v=>ae(e.value?.id))},null,8,["scheme","state"])]),_:3},8,["itemCount","layout"]))}}),nt=ee(ot,[["__scopeId","data-v-3f1067a4"]]);export{nt as f};
@@ -1 +1 @@
1
- import{d,u as p,m as c,o as g,c as n,b as s,F as v,q as h,s as L,h as l,t as f,_ as S}from"./mhFvEihp.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),o=async e=>{await u(e),localStorage.setItem(r,e),document.documentElement.lang=e};return g(()=>{const e=localStorage.getItem(r);e&&e!==a.value&&o(e),document.documentElement.lang=a.value}),(e,E)=>(s(),n("div",b,[(s(!0),n(v,null,h(l(i),t=>(s(),n("button",{key:t.code,class:L(["lang-btn",{active:l(m)===t.code}]),title:t.name,onClick:x=>o(t.code)},f(t.code.toUpperCase()),11,k))),128))]))}}),y=Object.assign(S(w,[["__scopeId","data-v-2d84a2aa"]]),{__name:"LangSwitcher"});export{y as _};
1
+ import{d,u as p,m as c,o as g,c as n,b as s,F as v,q as h,s as L,h as l,t as f,_ as S}from"./B9-SkqjX.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),o=async e=>{await u(e),localStorage.setItem(r,e),document.documentElement.lang=e};return g(()=>{const e=localStorage.getItem(r);e&&e!==a.value&&o(e),document.documentElement.lang=a.value}),(e,E)=>(s(),n("div",b,[(s(!0),n(v,null,h(l(i),t=>(s(),n("button",{key:t.code,class:L(["lang-btn",{active:l(m)===t.code}]),title:t.name,onClick:x=>o(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{_ as R}from"./BrN48gj6.js";import{d as B,H as D,r as g,x as b,m as I,n as L,o as M,z as k,v as N,c as n,f as O,e as s,h as c,t,k as $,F as v,q as C,b as r,s as P,_ as q}from"./mhFvEihp.js";import{u as H}from"./BiTHsA5D.js";import{u as E}from"./C2MG9-_i.js";import"./C9F9DISc.js";const W={class:"issue-terminal-page"},X={class:"terminal-content card"},j={class:"terminal-header"},x={class:"terminal-actions"},G={key:0,class:"terminal-empty"},J={class:"section-header"},K={class:"section-icon"},Q={class:"section-column"},U={class:"section-session"},Y={key:0,class:"log-time"},Z={class:"log-message"},ee=B({__name:"terminal",async setup(se){let a,u;const m=D().params.id,o=g(null),i=g(!0),{data:l}=([a,u]=b(()=>H(`/api/issues/${m}`,"$s3Vbd9k-VO")),a=await a,u(),a),S=I(()=>{if(!l.value)return null;const e={id:l.value.key,title:l.value.title,column:l.value.column_slug};return l.value.priority&&(e.priority=l.value.priority),e}),{data:f,refresh:h}=([a,u]=b(()=>H(`/api/issues/${m}/full-terminal`,"$XMztO43Pyz")),a=await a,u(),a),{lastMessage:T}=E();L(T,e=>{e?.type==="claude_end"&&e.issue===m&&h(),i.value&&k(()=>{o.value&&(o.value.scrollTop=o.value.scrollHeight)})}),M(()=>{k(()=>{o.value&&i.value&&(o.value.scrollTop=o.value.scrollHeight)})});const w=e=>{if(!e)return"";try{return new Date(e).toLocaleTimeString()}catch{return e}},V=e=>e===0?"1":String(e+1),z=()=>{i.value=!i.value};return N({title:`Terminal - ${m} - AutoCode`}),(e,y)=>{const A=R;return r(),n("div",W,[O(A,{issue:c(S),"active-tab":"terminal"},null,8,["issue"]),s("div",X,[s("div",j,[s("h2",null,t(e.$t("issue.terminal"))+" ("+t(e.$t("terminal.fullHistory"))+")",1),s("div",x,[s("button",{class:"btn btn-secondary btn-sm",onClick:z},t(c(i)?"Pause":"Resume")+" Auto-scroll ",1),s("button",{class:"btn btn-secondary btn-sm",onClick:y[0]||(y[0]=()=>c(h)())},t(e.$t("btn.refresh")),1)])]),s("div",{ref_key:"terminalRef",ref:o,class:"terminal-output"},[c(f)?.logFiles?.length?$("",!0):(r(),n("div",G,t(e.$t("terminal.noLogs")),1)),(r(!0),n(v,null,C(c(f)?.logFiles,(_,p)=>(r(),n(v,{key:p},[s("div",J,[s("span",K,t(V(p)),1),s("span",Q,t(_.column),1),s("span",U,t(_.sessionId),1)]),(r(!0),n(v,null,C(_.logs,(d,F)=>(r(),n("div",{key:`${p}-${F}`,class:P(["log-line",`log-${d.level}`])},[d.timestamp?(r(),n("span",Y,t(w(d.timestamp)),1)):$("",!0),s("span",Z,t(d.message),1)],2))),128))],64))),128))],512)])])}}}),ie=q(ee,[["__scopeId","data-v-3b499d2c"]]);export{ie as default};
1
+ import{_ as R}from"./c0R8lEWK.js";import{d as B,H as D,r as g,x as b,m as I,n as L,o as M,z as k,v as N,c as n,f as O,e as s,h as c,t,k as $,F as v,q as C,b as r,s as P,_ as q}from"./B9-SkqjX.js";import{u as H}from"./C819KIPL.js";import{u as E}from"./hYe2UtEI.js";import"./Dku8fc7v.js";const W={class:"issue-terminal-page"},X={class:"terminal-content card"},j={class:"terminal-header"},x={class:"terminal-actions"},G={key:0,class:"terminal-empty"},J={class:"section-header"},K={class:"section-icon"},Q={class:"section-column"},U={class:"section-session"},Y={key:0,class:"log-time"},Z={class:"log-message"},ee=B({__name:"terminal",async setup(se){let a,u;const m=D().params.id,o=g(null),i=g(!0),{data:l}=([a,u]=b(()=>H(`/api/issues/${m}`,"$s3Vbd9k-VO")),a=await a,u(),a),S=I(()=>{if(!l.value)return null;const e={id:l.value.key,title:l.value.title,column:l.value.column_slug};return l.value.priority&&(e.priority=l.value.priority),e}),{data:f,refresh:h}=([a,u]=b(()=>H(`/api/issues/${m}/full-terminal`,"$XMztO43Pyz")),a=await a,u(),a),{lastMessage:T}=E();L(T,e=>{e?.type==="claude_end"&&e.issue===m&&h(),i.value&&k(()=>{o.value&&(o.value.scrollTop=o.value.scrollHeight)})}),M(()=>{k(()=>{o.value&&i.value&&(o.value.scrollTop=o.value.scrollHeight)})});const w=e=>{if(!e)return"";try{return new Date(e).toLocaleTimeString()}catch{return e}},V=e=>e===0?"1":String(e+1),z=()=>{i.value=!i.value};return N({title:`Terminal - ${m} - AutoCode`}),(e,y)=>{const A=R;return r(),n("div",W,[O(A,{issue:c(S),"active-tab":"terminal"},null,8,["issue"]),s("div",X,[s("div",j,[s("h2",null,t(e.$t("issue.terminal"))+" ("+t(e.$t("terminal.fullHistory"))+")",1),s("div",x,[s("button",{class:"btn btn-secondary btn-sm",onClick:z},t(c(i)?"Pause":"Resume")+" Auto-scroll ",1),s("button",{class:"btn btn-secondary btn-sm",onClick:y[0]||(y[0]=()=>c(h)())},t(e.$t("btn.refresh")),1)])]),s("div",{ref_key:"terminalRef",ref:o,class:"terminal-output"},[c(f)?.logFiles?.length?$("",!0):(r(),n("div",G,t(e.$t("terminal.noLogs")),1)),(r(!0),n(v,null,C(c(f)?.logFiles,(_,p)=>(r(),n(v,{key:p},[s("div",J,[s("span",K,t(V(p)),1),s("span",Q,t(_.column),1),s("span",U,t(_.sessionId),1)]),(r(!0),n(v,null,C(_.logs,(d,F)=>(r(),n("div",{key:`${p}-${F}`,class:P(["log-line",`log-${d.level}`])},[d.timestamp?(r(),n("span",Y,t(w(d.timestamp)),1)):$("",!0),s("span",Z,t(d.message),1)],2))),128))],64))),128))],512)])])}}}),ie=q(ee,[["__scopeId","data-v-3b499d2c"]]);export{ie as default};
@@ -1 +1 @@
1
- import{N as C,M as _,bt as R,r as v,L as E}from"./W7VQVcj3.js";import{c as s,b as t,al as N,d as k,r as x,e as D,f as i,k as b,h as n,A as w,w as h,j as B,F as $,aF as I,m as S,aJ as z,s as F,p as A,t as L}from"./mhFvEihp.js";import{m as V}from"./DEbgyyF-.js";import{w as O}from"./YFXx8Qjo.js";const j={},q={class:"gap-1/2 flex flex-col px-3 pb-[75px]"};function J(r,u){return t(),s("ul",q,[N(r.$slots,"default")])}const X=C(j,[["render",J]]),K={class:"absolute right-1 flex opacity-0 group-hover:opacity-100"},T=k({__name:"SidebarListElementActions",props:{variable:{},warningMessage:{},isCopyable:{type:Boolean},isDeletable:{type:Boolean},isRenameable:{type:Boolean}},emits:["delete","rename"],setup(r,{emit:u}){const c=u,o=x({action:"None",name:""}),p=_(),{copyToClipboard:g}=R();function f(a){o.value={action:a,name:r.variable.name},p.show()}function d(){p.hide(),o.value={action:"None",name:""}}function y(a){c("delete",a),d()}return(a,e)=>(t(),s($,null,[D("div",K,[a.isCopyable?(t(),s("button",{key:0,class:"text-c-3 hover:bg-b-3 hover:text-c-1 rounded p-[5px]",type:"button",onClick:e[0]||(e[0]=l=>n(g)(a.variable.name))},[i(n(v),{class:"h-3 w-3",icon:"Clipboard"})])):b("",!0),a.isRenameable?(t(),s("button",{key:1,class:"text-c-3 hover:bg-b-3 hover:text-c-1 rounded p-[5px]",type:"button",onClick:e[1]||(e[1]=l=>c("rename",a.variable.uid))},[i(n(v),{class:"h-3 w-3",icon:"Edit"})])):b("",!0),!a.variable.isDefault&&a.isDeletable?(t(),s("button",{key:2,class:"text-c-3 hover:bg-b-3 hover:text-c-1 rounded p-1",type:"button",onClick:e[2]||(e[2]=w(l=>f("Delete"),["prevent"]))},[i(n(v),{class:"h-3.5 w-3.5",icon:"Close"})])):b("",!0)]),i(n(E),{size:"sm",state:n(p),title:`${o.value.action} ${o.value.name}`},{default:h(()=>[o.value.action==="Delete"?(t(),B(O,{key:0,variableName:o.value.name,warningMessage:a.warningMessage,onClose:d,onDelete:e[3]||(e[3]=l=>y(a.variable.uid))},null,8,["variableName","warningMessage"])):b("",!0)]),_:1},8,["state","title"])],64))}}),G={class:"empty-variable-name line-clamp-1 text-sm break-all group-hover:pr-5"},H=k({__name:"SidebarListElement",props:{variable:{},warningMessage:{},to:{},isDeletable:{type:Boolean},isCopyable:{type:Boolean},isRenameable:{type:Boolean},isDraggable:{type:Boolean,default:!1},isDroppable:{type:[Boolean,Function],default:!1},collectionId:{}},emits:["delete","colorModal","rename","onDragEnd"],setup(r,{emit:u}){const c=u,o=I(),p=e=>{e.metaKey?window.open(o.resolve(r.to).href,"_blank"):o.push(r.to)},g=e=>{c("delete",e)},f=e=>{c("colorModal",e)},d=e=>{c("rename",e)},y=x(null),a=S(()=>({ceiling:.5,floor:.5}));return(e,l)=>{const M=z("router-link");return t(),s("li",null,[i(n(V),{id:e.variable.uid,ref_key:"draggableRef",ref:y,ceiling:a.value.ceiling,floor:a.value.floor,isDraggable:e.isDraggable,isDroppable:e.isDroppable,parentIds:e.collectionId?[e.collectionId]:[],onOnDragEnd:l[2]||(l[2]=(...m)=>e.$emit("onDragEnd",...m))},{default:h(()=>[i(M,{class:F(["text-c-2 hover:bg-b-2 group relative flex h-8 items-center gap-1.5 rounded py-1 pr-1.5 font-medium no-underline",[e.variable.color?"pl-5":"pl-1.5"]]),exactActiveClass:"bg-b-2 !text-c-1",role:"button",to:e.to,onClick:l[1]||(l[1]=w(m=>p(m),["prevent"]))},{default:h(()=>[e.variable.color?(t(),s("button",{key:0,class:"hover:bg-b-3 rounded p-1.5",type:"button",onClick:l[0]||(l[0]=m=>f(e.variable.uid))},[D("div",{class:"h-2.5 w-2.5 rounded-xl",style:A({backgroundColor:e.variable.color})},null,4)])):b("",!0),e.variable.icon?(t(),B(n(v),{key:1,class:"text-sidebar-c-2 size-3.5 stroke-[2.25]",icon:e.variable.icon},null,8,["icon"])):b("",!0),D("span",G,L(e.variable.name),1),i(T,{isCopyable:!!e.isCopyable,isDeletable:!!e.isDeletable,isRenameable:!!e.isRenameable,variable:{...e.variable,isDefault:e.variable.isDefault??!1},warningMessage:e.warningMessage,onDelete:g,onRename:d},null,8,["isCopyable","isDeletable","isRenameable","variable","warningMessage"])]),_:1},8,["class","to"])]),_:1},8,["id","ceiling","floor","isDraggable","isDroppable","parentIds"])])}}}),Y=C(H,[["__scopeId","data-v-0b6c70e4"]]);export{X as _,Y as p};
1
+ import{N as C,M as _,bt as R,r as v,L as E}from"./DjSp0ni5.js";import{c as s,b as t,al as N,d as k,r as x,e as D,f as i,k as b,h as n,A as w,w as h,j as B,F as $,aF as I,m as S,aJ as z,s as F,p as A,t as L}from"./B9-SkqjX.js";import{m as V}from"./_S9g-Cdv.js";import{w as O}from"./C3g32ML-.js";const j={},q={class:"gap-1/2 flex flex-col px-3 pb-[75px]"};function J(r,u){return t(),s("ul",q,[N(r.$slots,"default")])}const X=C(j,[["render",J]]),K={class:"absolute right-1 flex opacity-0 group-hover:opacity-100"},T=k({__name:"SidebarListElementActions",props:{variable:{},warningMessage:{},isCopyable:{type:Boolean},isDeletable:{type:Boolean},isRenameable:{type:Boolean}},emits:["delete","rename"],setup(r,{emit:u}){const c=u,o=x({action:"None",name:""}),p=_(),{copyToClipboard:g}=R();function f(a){o.value={action:a,name:r.variable.name},p.show()}function d(){p.hide(),o.value={action:"None",name:""}}function y(a){c("delete",a),d()}return(a,e)=>(t(),s($,null,[D("div",K,[a.isCopyable?(t(),s("button",{key:0,class:"text-c-3 hover:bg-b-3 hover:text-c-1 rounded p-[5px]",type:"button",onClick:e[0]||(e[0]=l=>n(g)(a.variable.name))},[i(n(v),{class:"h-3 w-3",icon:"Clipboard"})])):b("",!0),a.isRenameable?(t(),s("button",{key:1,class:"text-c-3 hover:bg-b-3 hover:text-c-1 rounded p-[5px]",type:"button",onClick:e[1]||(e[1]=l=>c("rename",a.variable.uid))},[i(n(v),{class:"h-3 w-3",icon:"Edit"})])):b("",!0),!a.variable.isDefault&&a.isDeletable?(t(),s("button",{key:2,class:"text-c-3 hover:bg-b-3 hover:text-c-1 rounded p-1",type:"button",onClick:e[2]||(e[2]=w(l=>f("Delete"),["prevent"]))},[i(n(v),{class:"h-3.5 w-3.5",icon:"Close"})])):b("",!0)]),i(n(E),{size:"sm",state:n(p),title:`${o.value.action} ${o.value.name}`},{default:h(()=>[o.value.action==="Delete"?(t(),B(O,{key:0,variableName:o.value.name,warningMessage:a.warningMessage,onClose:d,onDelete:e[3]||(e[3]=l=>y(a.variable.uid))},null,8,["variableName","warningMessage"])):b("",!0)]),_:1},8,["state","title"])],64))}}),G={class:"empty-variable-name line-clamp-1 text-sm break-all group-hover:pr-5"},H=k({__name:"SidebarListElement",props:{variable:{},warningMessage:{},to:{},isDeletable:{type:Boolean},isCopyable:{type:Boolean},isRenameable:{type:Boolean},isDraggable:{type:Boolean,default:!1},isDroppable:{type:[Boolean,Function],default:!1},collectionId:{}},emits:["delete","colorModal","rename","onDragEnd"],setup(r,{emit:u}){const c=u,o=I(),p=e=>{e.metaKey?window.open(o.resolve(r.to).href,"_blank"):o.push(r.to)},g=e=>{c("delete",e)},f=e=>{c("colorModal",e)},d=e=>{c("rename",e)},y=x(null),a=S(()=>({ceiling:.5,floor:.5}));return(e,l)=>{const M=z("router-link");return t(),s("li",null,[i(n(V),{id:e.variable.uid,ref_key:"draggableRef",ref:y,ceiling:a.value.ceiling,floor:a.value.floor,isDraggable:e.isDraggable,isDroppable:e.isDroppable,parentIds:e.collectionId?[e.collectionId]:[],onOnDragEnd:l[2]||(l[2]=(...m)=>e.$emit("onDragEnd",...m))},{default:h(()=>[i(M,{class:F(["text-c-2 hover:bg-b-2 group relative flex h-8 items-center gap-1.5 rounded py-1 pr-1.5 font-medium no-underline",[e.variable.color?"pl-5":"pl-1.5"]]),exactActiveClass:"bg-b-2 !text-c-1",role:"button",to:e.to,onClick:l[1]||(l[1]=w(m=>p(m),["prevent"]))},{default:h(()=>[e.variable.color?(t(),s("button",{key:0,class:"hover:bg-b-3 rounded p-1.5",type:"button",onClick:l[0]||(l[0]=m=>f(e.variable.uid))},[D("div",{class:"h-2.5 w-2.5 rounded-xl",style:A({backgroundColor:e.variable.color})},null,4)])):b("",!0),e.variable.icon?(t(),B(n(v),{key:1,class:"text-sidebar-c-2 size-3.5 stroke-[2.25]",icon:e.variable.icon},null,8,["icon"])):b("",!0),D("span",G,L(e.variable.name),1),i(T,{isCopyable:!!e.isCopyable,isDeletable:!!e.isDeletable,isRenameable:!!e.isRenameable,variable:{...e.variable,isDefault:e.variable.isDefault??!1},warningMessage:e.warningMessage,onDelete:g,onRename:d},null,8,["isCopyable","isDeletable","isRenameable","variable","warningMessage"])]),_:1},8,["class","to"])]),_:1},8,["id","ceiling","floor","isDraggable","isDroppable","parentIds"])])}}}),Y=C(H,[["__scopeId","data-v-0b6c70e4"]]);export{X as _,Y as p};
@@ -1 +1 @@
1
- import{_ as d}from"./C9F9DISc.js";import{u}from"./BiTHsA5D.js";import{d as m,u as f,x as g,o as v,K as x,v as h,c as i,k as y,h as e,t as p,e as C,f as k,w,b as c,g as N,_ as V}from"./mhFvEihp.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),k(o,{to:"/settings/pipeline/new",class:"btn btn-primary"},{default:w(()=>[N(" + "+p(e(a)("pipeline.new")),1)]),_:1})]))])}}}),F=V($,[["__scopeId","data-v-9f6aa041"]]);export{F as default};
1
+ import{_ as d}from"./Dku8fc7v.js";import{u}from"./C819KIPL.js";import{d as m,u as f,x as g,o as v,K as x,v as h,c as i,k as y,h as e,t as p,e as C,f as k,w,b as c,g as N,_ as V}from"./B9-SkqjX.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),k(o,{to:"/settings/pipeline/new",class:"btn btn-primary"},{default:w(()=>[N(" + "+p(e(a)("pipeline.new")),1)]),_:1})]))])}}}),F=V($,[["__scopeId","data-v-9f6aa041"]]);export{F as default};
@@ -1,2 +1,2 @@
1
- import{d as V,r as p,m as j,v as B,c,e,k as y,t as a,D as H,E as I,h as t,I as J,g as z,F as A,q as N,z as M,b as i,s as O,A as q,_ as G}from"./mhFvEihp.js";import{u as L}from"./C1majTdt.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=V({__name:"autocreate",setup(ke){const{success:E,error:C}=L(),f=p(""),_=p(!1),b=p(!1),k=p(""),$=p(null),d=p([]),n=p([]),h=p([]),g=p(""),w=j(()=>d.value.length>0&&n.value.length===d.value.length),F=async()=>{if(f.value.trim()){_.value=!0,k.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 V,r as p,m as j,v as B,c,e,k as y,t as a,D as H,E as I,h as t,I as J,g as z,F as A,q as N,z as M,b as i,s as O,A as q,_ as G}from"./B9-SkqjX.js";import{u as L}from"./CTidC4T0.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=V({__name:"autocreate",setup(ke){const{success:E,error:C}=L(),f=p(""),_=p(!1),b=p(!1),k=p(""),$=p(null),d=p([]),n=p([]),h=p([]),g=p(""),w=j(()=>d.value.length>0&&n.value.length===d.value.length),F=async()=>{if(f.value.trim()){_.value=!0,k.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?(k.value+=u.content,M(()=>{$.value&&($.value.scrollTop=$.value.scrollHeight)})):u.type==="proposals"&&u.proposals?(d.value=u.proposals,k.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)},R=async()=>{if(n.value.length){b.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?E(`Successfully applied ${r} columns`):C(`Applied ${r}, failed ${m}`)}catch{C("Failed to apply proposals")}finally{b.value=!1}}};return B({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),H(e("textarea",{id:"prompt","onUpdate:modelValue":o[0]||(o[0]=l=>J(f)?f.value=l:null),class:"form-input",rows:"4",placeholder:s.$t("autocreate.promptPlaceholder")},null,8,Z),[[I,t(f)]])]),e("button",{class:"btn btn-primary",disabled:!t(f).trim()||t(_),onClick:F},a(t(_)?s.$t("autocreate.generating"):s.$t("autocreate.generate")),9,x)]),t(k)||t(_)?(i(),c("div",ee,[e("h2",null,a(s.$t("autocreate.thinking")),1),e("div",{ref_key:"streamingRef",ref:$,class:"streaming-output"},[z(a(t(k))+" ",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(A,null,N(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(b),onClick:R},a(t(b)?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(A,null,N(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{r as b,d as _,m as c,c as Y,b as y,al as B,A as v,s as S,h as m}from"./mhFvEihp.js";const r=b(null),l=b(null),w=(a,f)=>{let o=!1;return(...s)=>{o||(a(...s),o=!0,setTimeout(()=>o=!1,f))}},A=["draggable"],C=_({__name:"Draggable",props:{ceiling:{default:.8},floor:{default:.2},isDraggable:{type:Boolean,default:!0},isDroppable:{type:[Boolean,Function],default:!0},parentIds:{},id:{}},emits:["onDragEnd","onDragStart"],setup(a,{expose:f,emit:o}){const s=o,n=c(()=>a.parentIds.at(-1)??null),D=e=>{!e.dataTransfer||!(e.target instanceof HTMLElement)||!a.isDraggable||(e.target.classList.add("dragging"),e.dataTransfer.dropEffect="move",e.dataTransfer.effectAllowed="move",r.value={id:a.id,parentId:n.value},s("onDragStart",{id:a.id,parentId:n.value}))},I=e=>typeof a.isDroppable=="function"?a.isDroppable(r.value,{id:a.id,parentId:n.value,offset:e}):a.isDroppable,u=w(e=>{if(!r.value||r.value.id===a.id||a.parentIds.includes(r.value?.id??""))return;const t=l.value?.offset,d=e.target.offsetHeight,g=a.floor*d,p=a.ceiling*d;let i=3;e.offsetY<=0&&t&&t!==3?i=t:e.offsetY<=g?i=0:e.offsetY>=p?i=1:e.offsetY>g&&e.offsetY<p&&(i=2),I(i)&&(l.value={id:a.id,parentId:n.value,offset:i})},25),h=["above","below","asChild"],E=c(()=>{let e="sidebar-indent-nested";return a.id===l.value?.id&&(e+=` dragover-${h[l.value.offset]}`),e}),T=()=>{if(!l.value||!r.value)return;const e={...r.value},t={...l.value};r.value=null,l.value=null,document.querySelectorAll("div.dragging").forEach(d=>d.classList.remove("dragging")),e.id!==t.id&&s("onDragEnd",e,t)};return f({draggingItem:r,hoveredItem:l}),(e,t)=>(y(),Y("div",{class:S(E.value),draggable:e.isDraggable,onDragend:T,onDragover:t[0]||(t[0]=v((...d)=>m(u)&&m(u)(...d),["prevent","stop"])),onDragstart:v(D,["stop"])},[B(e.$slots,"default",{},void 0,!0)],42,A))}}),H=(a,f)=>{const o=a.__vccOpts||a;for(const[s,n]of f)o[s]=n;return o},k=H(C,[["__scopeId","data-v-a89d6a6e"]]);export{k as m};
1
+ import{r as b,d as _,m as c,c as Y,b as y,al as B,A as v,s as S,h as m}from"./B9-SkqjX.js";const r=b(null),l=b(null),w=(a,f)=>{let o=!1;return(...s)=>{o||(a(...s),o=!0,setTimeout(()=>o=!1,f))}},A=["draggable"],C=_({__name:"Draggable",props:{ceiling:{default:.8},floor:{default:.2},isDraggable:{type:Boolean,default:!0},isDroppable:{type:[Boolean,Function],default:!0},parentIds:{},id:{}},emits:["onDragEnd","onDragStart"],setup(a,{expose:f,emit:o}){const s=o,n=c(()=>a.parentIds.at(-1)??null),D=e=>{!e.dataTransfer||!(e.target instanceof HTMLElement)||!a.isDraggable||(e.target.classList.add("dragging"),e.dataTransfer.dropEffect="move",e.dataTransfer.effectAllowed="move",r.value={id:a.id,parentId:n.value},s("onDragStart",{id:a.id,parentId:n.value}))},I=e=>typeof a.isDroppable=="function"?a.isDroppable(r.value,{id:a.id,parentId:n.value,offset:e}):a.isDroppable,u=w(e=>{if(!r.value||r.value.id===a.id||a.parentIds.includes(r.value?.id??""))return;const t=l.value?.offset,d=e.target.offsetHeight,g=a.floor*d,p=a.ceiling*d;let i=3;e.offsetY<=0&&t&&t!==3?i=t:e.offsetY<=g?i=0:e.offsetY>=p?i=1:e.offsetY>g&&e.offsetY<p&&(i=2),I(i)&&(l.value={id:a.id,parentId:n.value,offset:i})},25),h=["above","below","asChild"],E=c(()=>{let e="sidebar-indent-nested";return a.id===l.value?.id&&(e+=` dragover-${h[l.value.offset]}`),e}),T=()=>{if(!l.value||!r.value)return;const e={...r.value},t={...l.value};r.value=null,l.value=null,document.querySelectorAll("div.dragging").forEach(d=>d.classList.remove("dragging")),e.id!==t.id&&s("onDragEnd",e,t)};return f({draggingItem:r,hoveredItem:l}),(e,t)=>(y(),Y("div",{class:S(E.value),draggable:e.isDraggable,onDragend:T,onDragover:t[0]||(t[0]=v((...d)=>m(u)&&m(u)(...d),["prevent","stop"])),onDragstart:v(D,["stop"])},[B(e.$slots,"default",{},void 0,!0)],42,A))}}),H=(a,f)=>{const o=a.__vccOpts||a;for(const[s,n]of f)o[s]=n;return o},k=H(C,[["__scopeId","data-v-a89d6a6e"]]);export{k as m};
@@ -1,2 +1,2 @@
1
- import{d as ne,H as ae,y as oe,m as l,r as v,x as E,u as le,o as re,v as ie,c as r,e as a,k as C,t as n,h as e,s as ce,F as ue,D as de,E as pe,I as me,g as R,b as i,_ as ve}from"./mhFvEihp.js";import{u as fe}from"./C1majTdt.js";import{u as ge}from"./D0l9HWst.js";import{u as D}from"./BiTHsA5D.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"},Ie={class:"meta-item"},Te={key:0,class:"meta-item meta-dirty"},Ve=ne({__name:"prompt",async setup(Fe){let u,g;const w=ae(),N=oe(),{success:P,error:B}=fe(),{pipelineConfig:M,isColumnInPipeline:q,addColumnBySlug:z,removeColumnBySlug:H,savePipeline:I,loadActivePipeline:j}=ge(),d=l(()=>w.params.slug),y=l(()=>w.query.pipeline||""),U=l(()=>w.query.name||""),G=l(()=>U.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:T,refresh:W}=([u,g]=E(()=>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||"":""),V=l(()=>c.value?m.value:f.value),Z=l(()=>{const s=V.value;return!s||typeof s!="string"?0:s.split(`
1
+ import{d as ne,H as ae,y as oe,m as l,r as v,x as E,u as le,o as re,v as ie,c as r,e as a,k as C,t as n,h as e,s as ce,F as ue,D as de,E as pe,I as me,g as R,b as i,_ as ve}from"./B9-SkqjX.js";import{u as fe}from"./CTidC4T0.js";import{u as ge}from"./D3FsoLQm.js";import{u as D}from"./C819KIPL.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"},Ie={class:"meta-item"},Te={key:0,class:"meta-item meta-dirty"},Ve=ne({__name:"prompt",async setup(Fe){let u,g;const w=ae(),N=oe(),{success:P,error:B}=fe(),{pipelineConfig:M,isColumnInPipeline:q,addColumnBySlug:z,removeColumnBySlug:H,savePipeline:I,loadActivePipeline:j}=ge(),d=l(()=>w.params.slug),y=l(()=>w.query.pipeline||""),U=l(()=>w.query.name||""),G=l(()=>U.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:T,refresh:W}=([u,g]=E(()=>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||"":""),V=l(()=>c.value?m.value:f.value),Z=l(()=>{const s=V.value;return!s||typeof s!="string"?0:s.split(`
2
2
  `).length}),K=l(()=>{const s=V.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:F}=([u,g]=E(()=>D("/api/catalog","$8GjW2wVST-")),u=await u,g(),u),k=l(()=>{if(!F.value)return null;const s=d.value.replace(/^\d+_/,"");for(const o of["definition","action","finish"]){const A=F.value.segments[o].columns.find(se=>se.slug.replace(/^\d+_/,"")===s);if(A)return{...A,segment:o}}return null}),ee=l(()=>q(d.value)),$=l(()=>ee.value.inPipeline),te=async()=>{if(k.value){h.value=!0;try{if($.value)H(d.value),await I(),P(t("pipeline.columnRemoved"));else{const s=k.value.segment;z(d.value,k.value.name,s),await I(),P(t("pipeline.columnAdded"))}}catch{B(t("error.saveFailed"))}finally{h.value=!1}}};return re(()=>{j()}),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(G)),1),e(y)?(i(),r("span",be,n(e(y)),1)):C("",!0)]),a("div",ke,[!e(c)&&e(k)&&e(M)?(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(T)?(i(),r("div",Se,n(e(T).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),R(" "+n(e(Z)),1)]),a("span",Ie,[a("strong",null,n(e(t)("column.chars"))+":",1),R(" "+n(e(K)),1)]),e(c)&&e(p)?(i(),r("span",Te,n(e(t)("form.unsavedChanges")),1)):C("",!0)])]))]))}}),Me=ve(Ve,[["__scopeId","data-v-bf4ee782"]]);export{Me as default};
@@ -1 +1 @@
1
- {"id":"4d6876ea-4c52-49d1-a9d5-07bb0648a85e","timestamp":1767788279494}
1
+ {"id":"cbc2f99e-ecf0-446a-810b-808825114bc3","timestamp":1767907121206}
@@ -0,0 +1 @@
1
+ {"id":"cbc2f99e-ecf0-446a-810b-808825114bc3","timestamp":1767907121206,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":["/docs/cli","/","/docs/api"]}
@@ -1 +1 @@
1
- import{_ as v}from"./C9F9DISc.js";import{d as f,H as $,m as k,c as d,e as a,f as c,w as n,h as m,g as i,t as e,k as y,s as u,b as r,_}from"./mhFvEihp.js";const T={class:"issue-header"},g={class:"issue-info"},N={class:"issue-title"},C={class:"issue-id"},V={class:"issue-meta"},x={class:"column-name"},B={class:"issue-tabs"},H=f({__name:"IssueHeader",props:{issue:{},activeTab:{}},setup(s){const h=s,b=$(),l=k(()=>b.path.match(/\/issue\/[^/]+\/history\/[^/]+\/(terminal|prompt)$/)?{to:`/issue/${h.issue?.id}/history`,label:"issue.history"}:{to:"/kanban",label:"nav.kanban"});return(t,I)=>{const o=v;return r(),d("div",T,[a("div",g,[c(o,{to:m(l).to,class:"back-link"},{default:n(()=>[i(" ← "+e(t.$t(m(l).label)),1)]),_:1},8,["to"]),a("h1",N,[a("span",C,e(s.issue?.id),1),i(" "+e(s.issue?.title),1)]),a("div",V,[s.issue?.priority?(r(),d("span",{key:0,class:u(["badge",`badge-${s.issue.priority}`])},e(s.issue.priority),3)):y("",!0),a("span",x,e(s.issue?.column),1)])]),a("nav",B,[c(o,{to:`/issue/${s.issue?.id}`,class:u(["tab",{active:s.activeTab==="details"}])},{default:n(()=>[i(e(t.$t("issue.details")),1)]),_:1},8,["to","class"]),c(o,{to:`/issue/${s.issue?.id}/comments`,class:u(["tab",{active:s.activeTab==="comments"}])},{default:n(()=>[i(e(t.$t("issue.comments")),1)]),_:1},8,["to","class"]),c(o,{to:`/issue/${s.issue?.id}/history`,class:u(["tab",{active:s.activeTab==="history"}])},{default:n(()=>[i(e(t.$t("issue.history")),1)]),_:1},8,["to","class"]),c(o,{to:`/issue/${s.issue?.id}/terminal`,class:u(["tab",{active:s.activeTab==="terminal"}])},{default:n(()=>[i(e(t.$t("issue.terminal")),1)]),_:1},8,["to","class"])])])}}}),j=Object.assign(_(H,[["__scopeId","data-v-242cda85"]]),{__name:"IssueHeader"});export{j as _};
1
+ import{_ as v}from"./Dku8fc7v.js";import{d as f,H as $,m as k,c as d,e as a,f as c,w as n,h as m,g as i,t as e,k as y,s as u,b as r,_}from"./B9-SkqjX.js";const T={class:"issue-header"},g={class:"issue-info"},N={class:"issue-title"},C={class:"issue-id"},V={class:"issue-meta"},x={class:"column-name"},B={class:"issue-tabs"},H=f({__name:"IssueHeader",props:{issue:{},activeTab:{}},setup(s){const h=s,b=$(),l=k(()=>b.path.match(/\/issue\/[^/]+\/history\/[^/]+\/(terminal|prompt)$/)?{to:`/issue/${h.issue?.id}/history`,label:"issue.history"}:{to:"/kanban",label:"nav.kanban"});return(t,I)=>{const o=v;return r(),d("div",T,[a("div",g,[c(o,{to:m(l).to,class:"back-link"},{default:n(()=>[i(" ← "+e(t.$t(m(l).label)),1)]),_:1},8,["to"]),a("h1",N,[a("span",C,e(s.issue?.id),1),i(" "+e(s.issue?.title),1)]),a("div",V,[s.issue?.priority?(r(),d("span",{key:0,class:u(["badge",`badge-${s.issue.priority}`])},e(s.issue.priority),3)):y("",!0),a("span",x,e(s.issue?.column),1)])]),a("nav",B,[c(o,{to:`/issue/${s.issue?.id}`,class:u(["tab",{active:s.activeTab==="details"}])},{default:n(()=>[i(e(t.$t("issue.details")),1)]),_:1},8,["to","class"]),c(o,{to:`/issue/${s.issue?.id}/comments`,class:u(["tab",{active:s.activeTab==="comments"}])},{default:n(()=>[i(e(t.$t("issue.comments")),1)]),_:1},8,["to","class"]),c(o,{to:`/issue/${s.issue?.id}/history`,class:u(["tab",{active:s.activeTab==="history"}])},{default:n(()=>[i(e(t.$t("issue.history")),1)]),_:1},8,["to","class"]),c(o,{to:`/issue/${s.issue?.id}/terminal`,class:u(["tab",{active:s.activeTab==="terminal"}])},{default:n(()=>[i(e(t.$t("issue.terminal")),1)]),_:1},8,["to","class"])])])}}}),j=Object.assign(_(H,[["__scopeId","data-v-242cda85"]]),{__name:"IssueHeader"});export{j as _};
@@ -0,0 +1 @@
1
+ .docs-cli-page[data-v-b18423a9]{background:var(--landing-bg);color:var(--landing-text-primary);min-height:100vh;padding:var(--landing-spacing-xl) var(--landing-spacing-lg)}.docs-cli-header[data-v-b18423a9]{margin:0 auto var(--landing-spacing-xl);max-width:900px;text-align:center}.docs-cli-back[data-v-b18423a9]{color:var(--landing-accent);display:inline-flex;font-size:.9rem;gap:.5rem;margin-bottom:var(--landing-spacing-lg);text-decoration:none;transition:opacity .2s}.docs-cli-back[data-v-b18423a9]:hover{opacity:.8}.docs-cli-back-arrow[data-v-b18423a9]{font-size:1.2rem}.docs-cli-header h1[data-v-b18423a9]{font-size:2.5rem;margin-bottom:var(--landing-spacing-sm)}.docs-cli-subtitle[data-v-b18423a9]{color:var(--landing-text-secondary);font-size:1.1rem}.docs-cli-content[data-v-b18423a9]{margin:0 auto;max-width:900px}.docs-cli-section[data-v-b18423a9]{margin-bottom:var(--landing-spacing-xl)}.docs-cli-section h2[data-v-b18423a9]{border-bottom:1px solid var(--landing-border-color);color:var(--landing-accent);font-size:1.5rem;padding-bottom:var(--landing-spacing-sm)}.docs-cli-command[data-v-b18423a9],.docs-cli-section h2[data-v-b18423a9]{margin-bottom:var(--landing-spacing-lg)}.docs-cli-command[data-v-b18423a9]{background:var(--landing-card-bg);border:1px solid var(--landing-border-color);border-radius:var(--landing-radius-md);padding:var(--landing-spacing-lg)}.docs-cli-command h3[data-v-b18423a9]{margin-bottom:var(--landing-spacing-sm)}.docs-cli-command h3 code[data-v-b18423a9]{background:var(--landing-code-bg);border-radius:var(--landing-radius-sm);color:var(--landing-accent);font-size:1.1rem;padding:4px 12px}.docs-cli-command-desc[data-v-b18423a9]{color:var(--landing-text-secondary)}.docs-cli-command-desc[data-v-b18423a9],.docs-cli-syntax[data-v-b18423a9]{margin-bottom:var(--landing-spacing-md)}.docs-cli-syntax code[data-v-b18423a9]{background:var(--landing-code-bg);border-radius:var(--landing-radius-sm);color:var(--landing-text-primary);margin-left:var(--landing-spacing-sm);padding:4px 8px}.docs-cli-options[data-v-b18423a9]{margin-bottom:var(--landing-spacing-md)}.docs-cli-options-table[data-v-b18423a9]{border-collapse:collapse;margin-top:var(--landing-spacing-sm);width:100%}.docs-cli-options-table td[data-v-b18423a9]{border-bottom:1px solid var(--landing-border-color);padding:var(--landing-spacing-sm) var(--landing-spacing-md)}.docs-cli-options-table td[data-v-b18423a9]:first-child{white-space:nowrap;width:200px}.docs-cli-options-table code[data-v-b18423a9]{background:var(--landing-code-bg);border-radius:var(--landing-radius-sm);color:var(--landing-accent);font-size:.85rem;padding:2px 6px}.docs-cli-examples[data-v-b18423a9]{margin-top:var(--landing-spacing-md)}.docs-cli-code-block[data-v-b18423a9]{background:var(--landing-code-bg);border-radius:var(--landing-radius-md);margin-top:var(--landing-spacing-sm);overflow-x:auto;padding:var(--landing-spacing-md)}.docs-cli-code-block pre[data-v-b18423a9]{margin:0}.docs-cli-code-block code[data-v-b18423a9]{color:var(--landing-text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.6}.docs-cli-note[data-v-b18423a9]{color:var(--landing-text-secondary);font-size:.9rem;font-style:italic;margin-top:var(--landing-spacing-sm)}.docs-cli-env-table[data-v-b18423a9]{border-collapse:collapse;width:100%}.docs-cli-env-table td[data-v-b18423a9],.docs-cli-env-table th[data-v-b18423a9]{border:1px solid var(--landing-border-color);padding:var(--landing-spacing-md);text-align:left}.docs-cli-env-table th[data-v-b18423a9]{background:#6366f11a}.docs-cli-env-table td[data-v-b18423a9]:first-child{white-space:nowrap}.docs-cli-env-table code[data-v-b18423a9]{background:var(--landing-code-bg);border-radius:var(--landing-radius-sm);color:var(--landing-accent);padding:2px 6px}@media(max-width:768px){.docs-cli-header h1[data-v-b18423a9]{font-size:1.8rem}.docs-cli-options-table td[data-v-b18423a9]:first-child{width:auto}}
@@ -1 +1 @@
1
- import{_ as be}from"./C9F9DISc.js";import{d as we,y as xe,u as Ce,r as v,o as K,z as U,a as $e,x as H,n as q,v as Ie,c as a,e as r,k as p,t as u,f as G,w as Y,h as o,p as j,F as Q,q as X,b as l,g as S,A,s as N,_ as De}from"./mhFvEihp.js";import{u as Se}from"./C1majTdt.js";import{u as Ee}from"./c9kaG6Mb.js";import{u as Z}from"./BiTHsA5D.js";import{u as Me}from"./C2MG9-_i.js";const Le={class:"kanban-page"},Te={class:"page-header"},Re={class:"header-actions"},ze={key:0,class:"loading"},Ae={key:1,class:"error-message"},Ne={key:2,class:"board-wrapper"},Fe=["onDragover","onDrop"],Pe={class:"column-header"},Ve={class:"column-header-top"},Oe={class:"column-title"},We={class:"column-count"},Be={key:0,class:"wip-limit"},Je={class:"column-content"},Ke={key:0,class:"column-empty"},Ue=["onDragstart","onClick"],He={class:"issue-header"},qe={class:"issue-key"},Ge={key:0,class:"processing-indicator",title:"Claude is working..."},Ye=["onClick"],je={class:"issue-title"},Qe={class:"issue-meta"},Xe={key:1,class:"parent-indicator",title:"Has parent"},Ze=["onClick"],ee=5,es=we({__name:"kanban",async setup(ss){let f,x;const se=xe(),{t:C}=Ce(),{success:E,error:M}=Se(),{getErrorMessage:L}=Ee(),b=v(null),h=v(null),F=v(0);let _=!1;const te=()=>{_||!b.value||!h.value||(_=!0,h.value.scrollLeft=b.value.scrollLeft,_=!1)},ne=()=>{_||!b.value||!h.value||(_=!0,b.value.scrollLeft=h.value.scrollLeft,_=!1)},$=()=>{h.value&&(F.value=h.value.scrollWidth)};K(()=>{U($),window.addEventListener("resize",$)}),$e(()=>{window.removeEventListener("resize",$)});const P=v({}),g=v(null),k=v(null),T=v(!1),V=v(0),m=v(new Set),d=v({visible:!1,x:0,y:0,issue:null}),{data:c,status:oe,error:O}=([f,x]=H(()=>Z("/api/columns","$35IWyimU8j")),f=await f,x(),f),{data:y,status:ae,error:W,refresh:R}=([f,x]=H(()=>Z("/api/issues","$0eQrGqHYDa")),f=await f,x(),f);q(()=>c.value,()=>U($));const w=e=>y.value?y.value.filter(s=>s.column_slug===e):[],I=e=>P.value[e]??ee,re=e=>{const s=w(e),n=I(e);return s.slice(0,n)},le=e=>{const s=w(e),n=I(e);return s.length>n},ie=e=>{const s=w(e),n=I(e);return Math.max(0,s.length-n)},ue=e=>{const s=I(e);P.value[e]=s+ee},ce=e=>{const s=Date.now()-V.value;(!T.value||s<150)&&se.push(`/issue/${e}`)},de=e=>{g.value=e,V.value=Date.now(),setTimeout(()=>{g.value===e&&(T.value=!0)},100)},ve=()=>{g.value=null,k.value=null,T.value=!1},pe=e=>{k.value=e},fe=()=>{k.value=null},ge=async e=>{if(!g.value)return;const s=g.value;if(y.value?.find(t=>t.key===s)?.column_slug===e){g.value=null,k.value=null;return}try{await $fetch(`/api/issues/${s}/move`,{method:"POST",body:{column:e}}),E(C("notify.issueMoved")),R()}catch(t){M(L(t))}finally{g.value=null,k.value=null}},he=(e,s)=>{e.preventDefault(),e.stopPropagation(),d.value={visible:!0,x:e.clientX,y:e.clientY,issue:s}},D=()=>{d.value.visible=!1},ye=async()=>{if(!d.value.issue||!c.value||c.value.length===0)return;const e=d.value.issue.key,s=c.value[c.value.length-1];if(s)try{await $fetch(`/api/issues/${e}/move`,{method:"POST",body:{column:s.slug,force:!0}}),E(C("notify.issueArchived")),R()}catch(n){M(L(n))}finally{D()}},_e=async()=>{if(!d.value.issue)return;if(!confirm(C("issue.confirmDelete"))){D();return}const e=d.value.issue.key;try{await $fetch(`/api/issues/${e}/archive`,{method:"DELETE"}),E(C("notify.issueDeleted")),R()}catch(s){M(L(s))}finally{D()}},{lastMessage:ke}=Me(),B=async()=>{try{const e=await $fetch("/api/issues");if(y.value&&e){const s=JSON.stringify(y.value),n=JSON.stringify(e);s!==n&&(y.value=e)}}catch{}},me=async()=>{try{const e=await $fetch("/api/stats");e.processingIssues&&(m.value=new Set(e.processingIssues))}catch{}},J=e=>{if(!m.value.has(e)||!c.value||c.value.length<2)return!1;const s=y.value?.find(t=>t.key===e);if(!s)return!1;const n=c.value.findIndex(t=>t.slug===s.column_slug);return!(n===0||n===c.value.length-1)};return K(()=>{me()}),q(ke,e=>{if((e?.type==="refresh"||e?.type==="issue-update")&&B(),e?.type==="claude_start"&&e.issue){const s=e.issue;m.value=new Set([...m.value,s])}if(e?.type==="claude_end"&&e.issue){const s=e.issue,n=new Set(m.value);n.delete(s),m.value=n,B()}}),Ie({title:"Kanban - AutoCode"}),(e,s)=>{const n=be;return l(),a("div",Le,[r("header",Te,[r("h1",null,u(e.$t("kanban.title")),1),r("div",Re,[G(n,{to:"/issues/graph",class:"btn btn-secondary"},{default:Y(()=>[S(u(e.$t("graph.title")),1)]),_:1})])]),o(oe)==="pending"||o(ae)==="pending"?(l(),a("div",ze,u(e.$t("kanban.loading")),1)):o(O)||o(W)?(l(),a("div",Ae,u(o(O)?.message||o(W)?.message),1)):(l(),a("div",Ne,[r("div",{ref_key:"scrollTopRef",ref:b,class:"scroll-top",onScroll:te},[r("div",{class:"scroll-spacer",style:j({width:o(F)+"px"})},null,4)],544),r("div",{ref_key:"boardRef",ref:h,class:"board",onScroll:ne},[(l(!0),a(Q,null,X(o(c),t=>(l(),a("div",{key:t.slug,class:N(["board-column",{"drag-over":o(k)===t.slug}]),onDragover:A(i=>pe(t.slug),["prevent"]),onDragleave:fe,onDrop:i=>ge(t.slug)},[r("div",Pe,[r("div",Ve,[r("h2",Oe,[S(u(t.name)+" ",1),r("span",We,u(w(t.slug).length),1)]),G(n,{to:`/column/${t.slug}/prompt?name=${encodeURIComponent(t.name)}`,class:"column-action",title:"View prompt"},{default:Y(()=>[...s[0]||(s[0]=[S(" 👁 ",-1)])]),_:1},8,["to"])]),t.wip_limit?(l(),a("span",Be,u(e.$t("kanban.wipLimit"))+": "+u(t.wip_limit),1)):p("",!0)]),r("div",Je,[w(t.slug).length===0?(l(),a("div",Ke,u(e.$t("kanban.noIssues")),1)):p("",!0),(l(!0),a(Q,null,X(re(t.slug),i=>(l(),a("div",{key:i.key,class:N(["issue-card",{dragging:o(g)===i.key,processing:J(i.key)}]),draggable:"true",onDragstart:z=>de(i.key),onDragend:ve,onClick:z=>ce(i.key)},[r("div",He,[r("div",qe,[J(i.key)?(l(),a("span",Ge,"⚙️")):p("",!0),S(" "+u(i.key),1)]),r("button",{class:"issue-menu-btn",title:"Menu",onClick:A(z=>he(z,i),["stop"])}," ☰ ",8,Ye)]),r("div",je,u(i.title),1),r("div",Qe,[i.priority?(l(),a("span",{key:0,class:N(["badge",`badge-${i.priority}`])},u(i.priority),3)):p("",!0),i.parent_key?(l(),a("span",Xe," ^ ")):p("",!0)])],42,Ue))),128)),le(t.slug)?(l(),a("button",{key:1,class:"load-more-btn",onClick:A(i=>ue(t.slug),["stop"])},u(e.$t("kanban.loadMore"))+" ("+u(ie(t.slug))+") ",9,Ze)):p("",!0)])],42,Fe))),128))],544)])),o(d).visible?(l(),a("div",{key:3,style:{position:"fixed",inset:"0",zIndex:99998},onClick:D})):p("",!0),o(d).visible?(l(),a("div",{key:4,style:j({position:"fixed",top:o(d).y+"px",left:o(d).x+"px",zIndex:99999,background:"white",border:"1px solid #ddd",borderRadius:"8px",boxShadow:"0 4px 12px rgba(0,0,0,0.15)",padding:"4px 0",minWidth:"140px"})},[o(d).issue&&o(c)&&o(d).issue.column_slug!==o(c)[o(c).length-1]?.slug?(l(),a("button",{key:0,style:{display:"block",width:"100%",padding:"10px 16px",textAlign:"left",background:"none",border:"none",cursor:"pointer",fontSize:"14px"},onClick:ye},u(e.$t("issue.archive")),1)):p("",!0),r("button",{style:{display:"block",width:"100%",padding:"10px 16px",textAlign:"left",background:"none",border:"none",cursor:"pointer",fontSize:"14px",color:"#ef4444"},onClick:_e},u(e.$t("common.delete")),1)],4)):p("",!0)])}}}),is=De(es,[["__scopeId","data-v-a660ac78"]]);export{is as default};
1
+ import{_ as be}from"./Dku8fc7v.js";import{d as we,y as xe,u as Ce,r as v,o as K,z as U,a as $e,x as H,n as q,v as Ie,c as a,e as r,k as p,t as u,f as G,w as Y,h as o,p as j,F as Q,q as X,b as l,g as S,A,s as N,_ as De}from"./B9-SkqjX.js";import{u as Se}from"./CTidC4T0.js";import{u as Ee}from"./D6s--CDK.js";import{u as Z}from"./C819KIPL.js";import{u as Me}from"./hYe2UtEI.js";const Le={class:"kanban-page"},Te={class:"page-header"},Re={class:"header-actions"},ze={key:0,class:"loading"},Ae={key:1,class:"error-message"},Ne={key:2,class:"board-wrapper"},Fe=["onDragover","onDrop"],Pe={class:"column-header"},Ve={class:"column-header-top"},Oe={class:"column-title"},We={class:"column-count"},Be={key:0,class:"wip-limit"},Je={class:"column-content"},Ke={key:0,class:"column-empty"},Ue=["onDragstart","onClick"],He={class:"issue-header"},qe={class:"issue-key"},Ge={key:0,class:"processing-indicator",title:"Claude is working..."},Ye=["onClick"],je={class:"issue-title"},Qe={class:"issue-meta"},Xe={key:1,class:"parent-indicator",title:"Has parent"},Ze=["onClick"],ee=5,es=we({__name:"kanban",async setup(ss){let f,x;const se=xe(),{t:C}=Ce(),{success:E,error:M}=Se(),{getErrorMessage:L}=Ee(),b=v(null),h=v(null),F=v(0);let _=!1;const te=()=>{_||!b.value||!h.value||(_=!0,h.value.scrollLeft=b.value.scrollLeft,_=!1)},ne=()=>{_||!b.value||!h.value||(_=!0,b.value.scrollLeft=h.value.scrollLeft,_=!1)},$=()=>{h.value&&(F.value=h.value.scrollWidth)};K(()=>{U($),window.addEventListener("resize",$)}),$e(()=>{window.removeEventListener("resize",$)});const P=v({}),g=v(null),k=v(null),T=v(!1),V=v(0),m=v(new Set),d=v({visible:!1,x:0,y:0,issue:null}),{data:c,status:oe,error:O}=([f,x]=H(()=>Z("/api/columns","$35IWyimU8j")),f=await f,x(),f),{data:y,status:ae,error:W,refresh:R}=([f,x]=H(()=>Z("/api/issues","$0eQrGqHYDa")),f=await f,x(),f);q(()=>c.value,()=>U($));const w=e=>y.value?y.value.filter(s=>s.column_slug===e):[],I=e=>P.value[e]??ee,re=e=>{const s=w(e),n=I(e);return s.slice(0,n)},le=e=>{const s=w(e),n=I(e);return s.length>n},ie=e=>{const s=w(e),n=I(e);return Math.max(0,s.length-n)},ue=e=>{const s=I(e);P.value[e]=s+ee},ce=e=>{const s=Date.now()-V.value;(!T.value||s<150)&&se.push(`/issue/${e}`)},de=e=>{g.value=e,V.value=Date.now(),setTimeout(()=>{g.value===e&&(T.value=!0)},100)},ve=()=>{g.value=null,k.value=null,T.value=!1},pe=e=>{k.value=e},fe=()=>{k.value=null},ge=async e=>{if(!g.value)return;const s=g.value;if(y.value?.find(t=>t.key===s)?.column_slug===e){g.value=null,k.value=null;return}try{await $fetch(`/api/issues/${s}/move`,{method:"POST",body:{column:e}}),E(C("notify.issueMoved")),R()}catch(t){M(L(t))}finally{g.value=null,k.value=null}},he=(e,s)=>{e.preventDefault(),e.stopPropagation(),d.value={visible:!0,x:e.clientX,y:e.clientY,issue:s}},D=()=>{d.value.visible=!1},ye=async()=>{if(!d.value.issue||!c.value||c.value.length===0)return;const e=d.value.issue.key,s=c.value[c.value.length-1];if(s)try{await $fetch(`/api/issues/${e}/move`,{method:"POST",body:{column:s.slug,force:!0}}),E(C("notify.issueArchived")),R()}catch(n){M(L(n))}finally{D()}},_e=async()=>{if(!d.value.issue)return;if(!confirm(C("issue.confirmDelete"))){D();return}const e=d.value.issue.key;try{await $fetch(`/api/issues/${e}/archive`,{method:"DELETE"}),E(C("notify.issueDeleted")),R()}catch(s){M(L(s))}finally{D()}},{lastMessage:ke}=Me(),B=async()=>{try{const e=await $fetch("/api/issues");if(y.value&&e){const s=JSON.stringify(y.value),n=JSON.stringify(e);s!==n&&(y.value=e)}}catch{}},me=async()=>{try{const e=await $fetch("/api/stats");e.processingIssues&&(m.value=new Set(e.processingIssues))}catch{}},J=e=>{if(!m.value.has(e)||!c.value||c.value.length<2)return!1;const s=y.value?.find(t=>t.key===e);if(!s)return!1;const n=c.value.findIndex(t=>t.slug===s.column_slug);return!(n===0||n===c.value.length-1)};return K(()=>{me()}),q(ke,e=>{if((e?.type==="refresh"||e?.type==="issue-update")&&B(),e?.type==="claude_start"&&e.issue){const s=e.issue;m.value=new Set([...m.value,s])}if(e?.type==="claude_end"&&e.issue){const s=e.issue,n=new Set(m.value);n.delete(s),m.value=n,B()}}),Ie({title:"Kanban - AutoCode"}),(e,s)=>{const n=be;return l(),a("div",Le,[r("header",Te,[r("h1",null,u(e.$t("kanban.title")),1),r("div",Re,[G(n,{to:"/issues/graph",class:"btn btn-secondary"},{default:Y(()=>[S(u(e.$t("graph.title")),1)]),_:1})])]),o(oe)==="pending"||o(ae)==="pending"?(l(),a("div",ze,u(e.$t("kanban.loading")),1)):o(O)||o(W)?(l(),a("div",Ae,u(o(O)?.message||o(W)?.message),1)):(l(),a("div",Ne,[r("div",{ref_key:"scrollTopRef",ref:b,class:"scroll-top",onScroll:te},[r("div",{class:"scroll-spacer",style:j({width:o(F)+"px"})},null,4)],544),r("div",{ref_key:"boardRef",ref:h,class:"board",onScroll:ne},[(l(!0),a(Q,null,X(o(c),t=>(l(),a("div",{key:t.slug,class:N(["board-column",{"drag-over":o(k)===t.slug}]),onDragover:A(i=>pe(t.slug),["prevent"]),onDragleave:fe,onDrop:i=>ge(t.slug)},[r("div",Pe,[r("div",Ve,[r("h2",Oe,[S(u(t.name)+" ",1),r("span",We,u(w(t.slug).length),1)]),G(n,{to:`/column/${t.slug}/prompt?name=${encodeURIComponent(t.name)}`,class:"column-action",title:"View prompt"},{default:Y(()=>[...s[0]||(s[0]=[S(" 👁 ",-1)])]),_:1},8,["to"])]),t.wip_limit?(l(),a("span",Be,u(e.$t("kanban.wipLimit"))+": "+u(t.wip_limit),1)):p("",!0)]),r("div",Je,[w(t.slug).length===0?(l(),a("div",Ke,u(e.$t("kanban.noIssues")),1)):p("",!0),(l(!0),a(Q,null,X(re(t.slug),i=>(l(),a("div",{key:i.key,class:N(["issue-card",{dragging:o(g)===i.key,processing:J(i.key)}]),draggable:"true",onDragstart:z=>de(i.key),onDragend:ve,onClick:z=>ce(i.key)},[r("div",He,[r("div",qe,[J(i.key)?(l(),a("span",Ge,"⚙️")):p("",!0),S(" "+u(i.key),1)]),r("button",{class:"issue-menu-btn",title:"Menu",onClick:A(z=>he(z,i),["stop"])}," ☰ ",8,Ye)]),r("div",je,u(i.title),1),r("div",Qe,[i.priority?(l(),a("span",{key:0,class:N(["badge",`badge-${i.priority}`])},u(i.priority),3)):p("",!0),i.parent_key?(l(),a("span",Xe," ^ ")):p("",!0)])],42,Ue))),128)),le(t.slug)?(l(),a("button",{key:1,class:"load-more-btn",onClick:A(i=>ue(t.slug),["stop"])},u(e.$t("kanban.loadMore"))+" ("+u(ie(t.slug))+") ",9,Ze)):p("",!0)])],42,Fe))),128))],544)])),o(d).visible?(l(),a("div",{key:3,style:{position:"fixed",inset:"0",zIndex:99998},onClick:D})):p("",!0),o(d).visible?(l(),a("div",{key:4,style:j({position:"fixed",top:o(d).y+"px",left:o(d).x+"px",zIndex:99999,background:"white",border:"1px solid #ddd",borderRadius:"8px",boxShadow:"0 4px 12px rgba(0,0,0,0.15)",padding:"4px 0",minWidth:"140px"})},[o(d).issue&&o(c)&&o(d).issue.column_slug!==o(c)[o(c).length-1]?.slug?(l(),a("button",{key:0,style:{display:"block",width:"100%",padding:"10px 16px",textAlign:"left",background:"none",border:"none",cursor:"pointer",fontSize:"14px"},onClick:ye},u(e.$t("issue.archive")),1)):p("",!0),r("button",{style:{display:"block",width:"100%",padding:"10px 16px",textAlign:"left",background:"none",border:"none",cursor:"pointer",fontSize:"14px",color:"#ef4444"},onClick:_e},u(e.$t("common.delete")),1)],4)):p("",!0)])}}}),is=De(es,[["__scopeId","data-v-a660ac78"]]);export{is as default};
@@ -1 +1 @@
1
- import{r as i,o as k,a as I,B as y,i as P}from"./mhFvEihp.js";const C=globalThis.setInterval;function J(v={}){const{autoConnect:w=!0,reconnectDelay:W=3e3,maxReconnectAttempts:S=5}=v,u=P(),c=i(!1),p=i(null),r=i(null),l=i(0);let e=null,a=null,s=null;const m=()=>{if(u.public.wsUrl)return u.public.wsUrl;{const n=window.location.protocol==="https:"?"wss:":"ws:",o=window.location.hostname,t=window.location.port,f=u.public.wsPort;if(f&&f!==t)return`${n}//${o}:${f}`;const h=t?`:${t}`:"";return`${n}//${o}${h}/_ws`}},d=()=>{if(e?.readyState===WebSocket.OPEN)return;const n=m();if(n)try{e=new WebSocket(n),e.onopen=()=>{c.value=!0,l.value=0,console.log("[WS] Connected"),s=C(()=>{e?.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"ping"}))},3e4)},e.onmessage=o=>{try{const t=JSON.parse(o.data);p.value=t,t.type==="connected"&&(r.value=t.clientId)}catch(t){console.error("[WS] Parse error:",t)}},e.onclose=()=>{c.value=!1,r.value=null,console.log("[WS] Disconnected"),s&&(clearInterval(s),s=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),s&&(clearInterval(s),s=null),e&&(e.close(),e=null),c.value=!1,r.value=null},g=()=>{if(l.value>=S){console.log("[WS] Max reconnect attempts reached");return}a=setTimeout(()=>{l.value++,console.log(`[WS] Reconnecting (${l.value}/${S})...`),d()},W)},N=n=>{e?.readyState===WebSocket.OPEN?e.send(JSON.stringify(n)):console.warn("[WS] Cannot send message: not connected")},O=n=>{e?.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"subscribe",channel:n}))},$=n=>{e?.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"unsubscribe",channel:n}))};return w&&k(()=>{d()}),I(()=>{b()}),{isConnected:y(c),lastMessage:p,clientId:y(r),connect:d,disconnect:b,send:N,subscribe:O,unsubscribe:$}}export{C as s,J as u};
1
+ import{r as i,o as k,a as I,B as y,i as P}from"./B9-SkqjX.js";const C=globalThis.setInterval;function J(v={}){const{autoConnect:w=!0,reconnectDelay:W=3e3,maxReconnectAttempts:S=5}=v,u=P(),c=i(!1),p=i(null),r=i(null),l=i(0);let e=null,a=null,s=null;const m=()=>{if(u.public.wsUrl)return u.public.wsUrl;{const n=window.location.protocol==="https:"?"wss:":"ws:",o=window.location.hostname,t=window.location.port,f=u.public.wsPort;if(f&&f!==t)return`${n}//${o}:${f}`;const h=t?`:${t}`:"";return`${n}//${o}${h}/_ws`}},d=()=>{if(e?.readyState===WebSocket.OPEN)return;const n=m();if(n)try{e=new WebSocket(n),e.onopen=()=>{c.value=!0,l.value=0,console.log("[WS] Connected"),s=C(()=>{e?.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"ping"}))},3e4)},e.onmessage=o=>{try{const t=JSON.parse(o.data);p.value=t,t.type==="connected"&&(r.value=t.clientId)}catch(t){console.error("[WS] Parse error:",t)}},e.onclose=()=>{c.value=!1,r.value=null,console.log("[WS] Disconnected"),s&&(clearInterval(s),s=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),s&&(clearInterval(s),s=null),e&&(e.close(),e=null),c.value=!1,r.value=null},g=()=>{if(l.value>=S){console.log("[WS] Max reconnect attempts reached");return}a=setTimeout(()=>{l.value++,console.log(`[WS] Reconnecting (${l.value}/${S})...`),d()},W)},N=n=>{e?.readyState===WebSocket.OPEN?e.send(JSON.stringify(n)):console.warn("[WS] Cannot send message: not connected")},O=n=>{e?.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"subscribe",channel:n}))},$=n=>{e?.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"unsubscribe",channel:n}))};return w&&k(()=>{d()}),I(()=>{b()}),{isConnected:y(c),lastMessage:p,clientId:y(r),connect:d,disconnect:b,send:N,subscribe:O,unsubscribe:$}}export{C as s,J as u};
@@ -0,0 +1 @@
1
+ .landing-matrix-bg[data-v-b5216f08]{height:100%;left:0;opacity:.35;pointer-events:none;position:fixed;top:0;width:100%;z-index:0}.landing-podcast-player[data-v-5dee128b]{background:var(--landing-card-bg);border:1px solid var(--landing-border-color);border-radius:var(--landing-radius-xl);margin:0 auto;max-width:700px;padding:var(--landing-spacing-xl)}.podcast-info[data-v-5dee128b]{gap:var(--landing-spacing-md);margin-bottom:var(--landing-spacing-lg)}.podcast-artwork[data-v-5dee128b],.podcast-info[data-v-5dee128b]{align-items:center;display:flex}.podcast-artwork[data-v-5dee128b]{background:var(--landing-gradient-1);border-radius:var(--landing-radius-md);color:#fff;height:64px;justify-content:center;width:64px}.podcast-meta h3[data-v-5dee128b]{color:var(--landing-text-primary);font-size:1.125rem;margin:0 0 var(--landing-spacing-xs)}.podcast-lang-badge[data-v-5dee128b]{background:var(--landing-accent);border-radius:var(--landing-radius-sm);color:#fff;font-size:.75rem;font-weight:600;padding:2px 8px}.podcast-controls[data-v-5dee128b]{align-items:center;display:flex;gap:var(--landing-spacing-md)}.podcast-play-btn[data-v-5dee128b]{align-items:center;background:var(--landing-accent);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:48px;justify-content:center;transition:all var(--landing-transition);width:48px}.podcast-play-btn[data-v-5dee128b]:hover:not(:disabled){background:var(--landing-accent-hover);transform:scale(1.05)}.podcast-play-btn[data-v-5dee128b]:disabled{cursor:not-allowed;opacity:.5}.podcast-progress-container[data-v-5dee128b]{cursor:pointer;flex:1}.podcast-progress-bar[data-v-5dee128b]{background:var(--landing-border-color);border-radius:4px;height:8px;overflow:hidden}.podcast-progress-fill[data-v-5dee128b]{background:var(--landing-gradient-1);height:100%;transition:width .1s linear}.podcast-time[data-v-5dee128b]{color:var(--landing-text-muted);display:flex;font-size:.75rem;justify-content:space-between;margin-top:var(--landing-spacing-xs)}.podcast-speed[data-v-5dee128b]{display:flex;gap:4px}.podcast-speed button[data-v-5dee128b]{background:transparent;border:1px solid var(--landing-border-color);border-radius:var(--landing-radius-sm);color:var(--landing-text-secondary);cursor:pointer;font-size:.75rem;padding:4px 8px;transition:all var(--landing-transition)}.podcast-speed button.active[data-v-5dee128b],.podcast-speed button[data-v-5dee128b]:hover{background:var(--landing-accent);border-color:var(--landing-accent);color:#fff}.podcast-volume[data-v-5dee128b]{align-items:center;display:flex;gap:var(--landing-spacing-xs)}.podcast-volume svg[data-v-5dee128b]{color:var(--landing-text-secondary)}.podcast-volume input[type=range][data-v-5dee128b]{-webkit-appearance:none;background:var(--landing-border-color);border-radius:4px;height:4px;width:80px}.podcast-volume input[type=range][data-v-5dee128b]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--landing-accent);border-radius:50%;cursor:pointer;height:14px;width:14px}@media(max-width:768px){.podcast-controls[data-v-5dee128b]{flex-wrap:wrap}.podcast-progress-container[data-v-5dee128b]{order:3;width:100%}.podcast-speed[data-v-5dee128b],.podcast-volume[data-v-5dee128b]{order:4}}.landing-pipeline-flow[data-v-985987e8]{align-items:stretch;display:flex;gap:var(--landing-spacing-md);justify-content:center;margin-bottom:var(--landing-spacing-xl)}.pipeline-phase[data-v-985987e8]{background:var(--landing-card-bg);border:1px solid var(--landing-border-color);border-radius:var(--landing-radius-lg);flex:1;max-width:250px;padding:var(--landing-spacing-lg);text-align:center;transition:all var(--landing-transition)}.pipeline-phase[data-v-985987e8]:hover{transform:translateY(-4px)}.pipeline-phase-blue[data-v-985987e8]{border-top:3px solid #3b82f6}.pipeline-phase-purple[data-v-985987e8]{border-top:3px solid #8b5cf6}.pipeline-phase-orange[data-v-985987e8]{border-top:3px solid #f59e0b}.pipeline-phase-green[data-v-985987e8]{border-top:3px solid #22c55e}.phase-icon[data-v-985987e8]{font-size:2rem;margin-bottom:var(--landing-spacing-sm)}.pipeline-phase h3[data-v-985987e8]{color:var(--landing-text-primary);font-size:1rem;margin-bottom:var(--landing-spacing-xs)}.pipeline-phase>p[data-v-985987e8]{color:var(--landing-text-secondary);font-size:.875rem;line-height:1.5}.pipeline-arrow[data-v-985987e8]{align-items:center;color:var(--landing-text-muted);display:flex}.landing-pipeline-note[data-v-985987e8]{align-items:center;background:#6366f11a;border-radius:var(--landing-radius-lg);display:flex;gap:var(--landing-spacing-md);justify-content:center;margin:0 auto;max-width:600px;padding:var(--landing-spacing-md) var(--landing-spacing-lg)}.note-icon[data-v-985987e8]{font-size:1.5rem}.landing-pipeline-note p[data-v-985987e8]{color:var(--landing-text-secondary);font-size:.9rem;margin:0}@media(max-width:900px){.landing-pipeline-flow[data-v-985987e8]{align-items:center;flex-direction:column}.pipeline-phase[data-v-985987e8]{max-width:100%;width:100%}.pipeline-arrow[data-v-985987e8]{transform:rotate(90deg)}}.landing-autonomy-grid[data-v-2365c19b]{display:grid;gap:var(--landing-spacing-lg);grid-template-columns:repeat(3,1fr)}.landing-autonomy-card[data-v-2365c19b]{background:var(--landing-card-bg);border:1px solid var(--landing-border-color);border-radius:var(--landing-radius-lg);padding:var(--landing-spacing-xl);text-align:center;transition:all var(--landing-transition)}.landing-autonomy-card[data-v-2365c19b]:hover{border-color:var(--landing-accent);transform:translateY(-4px)}.autonomy-icon[data-v-2365c19b]{font-size:3rem;margin-bottom:var(--landing-spacing-md)}.landing-autonomy-card h3[data-v-2365c19b]{color:var(--landing-text-primary);font-size:1.25rem;margin-bottom:var(--landing-spacing-sm)}.landing-autonomy-card p[data-v-2365c19b]{color:var(--landing-text-secondary);font-size:.95rem;line-height:1.6}@media(max-width:768px){.landing-autonomy-grid[data-v-2365c19b]{grid-template-columns:1fr}}.landing-docs-grid[data-v-ec88dc23]{display:grid;gap:var(--landing-spacing-xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:800px}.landing-docs-card[data-v-ec88dc23]{background:var(--landing-card-bg);border:1px solid var(--landing-border-color);border-radius:var(--landing-radius-lg);display:block;padding:var(--landing-spacing-xl);text-align:center;text-decoration:none;transition:border-color .3s,transform .3s}.landing-docs-card[data-v-ec88dc23]:hover{border-color:var(--landing-accent);transform:translateY(-4px)}.landing-docs-icon[data-v-ec88dc23]{color:var(--landing-accent);margin-bottom:var(--landing-spacing-md)}.landing-docs-card h3[data-v-ec88dc23]{color:var(--landing-text-primary);font-size:1.4rem;margin-bottom:var(--landing-spacing-sm)}.landing-docs-card p[data-v-ec88dc23]{color:var(--landing-text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:var(--landing-spacing-md)}.landing-docs-link[data-v-ec88dc23]{color:var(--landing-accent);font-size:.9rem;font-weight:600}@media(max-width:768px){.landing-docs-grid[data-v-ec88dc23]{grid-template-columns:1fr}}.landing-footer[data-v-94d22946]{border-top:1px solid var(--landing-border);padding:3rem 2rem;position:relative;z-index:1}.landing-footer-content[data-v-94d22946]{gap:1.5rem;margin:0 auto;max-width:800px;text-align:center}.landing-footer-brand[data-v-94d22946],.landing-footer-content[data-v-94d22946]{align-items:center;display:flex;flex-direction:column}.landing-footer-brand[data-v-94d22946]{gap:.5rem}.landing-footer-logo[data-v-94d22946]{background:var(--landing-gradient-1);-webkit-background-clip:text;font-size:1.75rem;font-weight:700;-webkit-text-fill-color:transparent;background-clip:text}.landing-footer-tagline[data-v-94d22946]{color:var(--landing-text-muted);font-size:.875rem}.landing-footer-nav[data-v-94d22946]{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.landing-footer-nav a[data-v-94d22946]{align-items:center;color:var(--landing-text-secondary);display:inline-flex;font-size:.9rem;gap:.5rem;text-decoration:none;transition:color .2s}.landing-footer-nav a[data-v-94d22946]:hover{color:var(--landing-accent-light)}.landing-footer-nav svg[data-v-94d22946]{opacity:.7}.landing-footer-nav a:hover svg[data-v-94d22946]{opacity:1}.landing-footer-dashboard[data-v-94d22946]{background:var(--landing-accent);border-radius:6px;color:#fff!important;font-weight:500;padding:.5rem 1rem}.landing-footer-dashboard[data-v-94d22946]:hover{background:var(--landing-accent-light)}.landing-footer-bottom[data-v-94d22946]{border-top:1px solid var(--landing-border);padding-top:1rem;width:100%}.landing-footer-copy[data-v-94d22946]{color:var(--landing-text-muted);font-size:.8rem;margin:0}@media(max-width:768px){.landing-footer[data-v-94d22946]{padding:2rem 1rem}.landing-footer-nav[data-v-94d22946]{gap:1rem}}
@@ -0,0 +1 @@
1
+ .issue-history-page[data-v-4be073b7]{margin:0 auto;max-width:900px}.section-header[data-v-4be073b7]{align-items:center;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.section-header h2[data-v-4be073b7]{font-size:var(--font-size-lg);font-weight:600;margin:0}.count[data-v-4be073b7]{color:var(--text-muted);font-size:var(--font-size-sm)}.history-list[data-v-4be073b7]{list-style:none;margin:0;padding:0}.history-item[data-v-4be073b7]{background:var(--bg-secondary);border-radius:var(--radius-md);flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);padding:var(--spacing-md)}.history-item[data-v-4be073b7],.history-main[data-v-4be073b7]{align-items:flex-start;display:flex}.history-main[data-v-4be073b7]{flex:1;flex-wrap:wrap;gap:var(--spacing-sm)}.history-action[data-v-4be073b7]{border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;padding:4px 10px;text-transform:capitalize}.history-action-created[data-v-4be073b7]{background:#22c55e33;color:#22c55e}.history-action-moved[data-v-4be073b7]{background:#3b82f633;color:var(--primary-color)}.history-action-started[data-v-4be073b7]{background:#eab30833;color:#eab308}.history-action-forced[data-v-4be073b7]{background:#fb923c33;color:#fb923c}.history-action-edited[data-v-4be073b7]{background:#a78bfa33;color:#a78bfa}.history-action-blocked[data-v-4be073b7]{background:#ef444433;color:#ef4444}.history-changes[data-v-4be073b7]{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.history-change-item[data-v-4be073b7]{align-items:center;display:flex;flex-wrap:wrap;font-size:var(--font-size-xs);gap:var(--spacing-sm)}.change-field[data-v-4be073b7]{color:var(--text-secondary);font-weight:600;min-width:80px}.change-from[data-v-4be073b7]{background:#f8727226;color:#f87171}.change-from[data-v-4be073b7],.change-to[data-v-4be073b7]{border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);padding:4px 10px;white-space:pre-wrap;word-break:break-word}.change-to[data-v-4be073b7]{background:#22c55e26;color:#22c55e}.history-from[data-v-4be073b7],.history-to[data-v-4be073b7]{background:var(--bg-primary);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);padding:4px 10px}.history-arrow[data-v-4be073b7]{color:var(--text-muted)}.history-reason[data-v-4be073b7]{background:#ef444414;border-left:3px solid #ef4444;border-radius:var(--radius-sm);color:var(--text-primary);display:block;font-size:var(--font-size-sm);margin-top:var(--spacing-sm);padding:12px 16px;width:100%}.history-reason[data-v-4be073b7] p{margin:0 0 var(--spacing-sm) 0}.history-reason[data-v-4be073b7] p:last-child{margin-bottom:0}.history-reason[data-v-4be073b7] ol,.history-reason[data-v-4be073b7] ul{margin:var(--spacing-sm) 0;padding-left:1.5em}.history-reason[data-v-4be073b7] li{margin-bottom:var(--spacing-xs)}.history-reason[data-v-4be073b7] strong{color:var(--text-primary);font-weight:600}.history-reason[data-v-4be073b7] code{background:var(--bg-primary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);padding:2px 6px}.history-actions[data-v-4be073b7]{display:flex;gap:var(--spacing-sm)}.btn-action[data-v-4be073b7]{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--primary-color);font-size:var(--font-size-xs);padding:6px 12px;text-decoration:none;transition:all .2s}.btn-action[data-v-4be073b7]:hover{background:#3b82f61a;border-color:var(--primary-color)}.session-badge[data-v-4be073b7]{background:#eab30826;border-radius:var(--radius-sm);color:#eab308;font-family:var(--font-mono);padding:4px 8px}.history-date[data-v-4be073b7],.session-badge[data-v-4be073b7]{font-size:var(--font-size-xs)}.history-date[data-v-4be073b7]{color:var(--text-muted);white-space:nowrap}.empty[data-v-4be073b7],.loading[data-v-4be073b7]{color:var(--text-secondary);padding:var(--spacing-xl);text-align:center}
@@ -1 +1 @@
1
- import{_ as N}from"./C9F9DISc.js";import{d as P,y as V,u as B,r as c,v as D,c as u,e as s,f as _,w as m,t as o,h as e,D as f,k as E,E as h,J as I,I as v,b,g as y,_ as S}from"./mhFvEihp.js";import{u as T}from"./C1majTdt.js";import{u as $}from"./D0l9HWst.js";const K={class:"new-pipeline-page"},R={class:"page-header card"},U={class:"header-left"},A={class:"card form-card"},F={class:"form-group"},H={class:"form-label"},J=["placeholder"],L={key:0,class:"input-hint"},M={class:"form-group"},O={class:"form-label"},j=["placeholder"],q={class:"form-actions"},z=["disabled"],G=P({__name:"new",setup(Q){const g=V(),{t}=B(),{success:w,error:k}=T(),{generateSlug:x,loadPipeline:C}=$(),a=c(""),l=c(""),i=c(!1),p=async()=>{if(!(!a.value.trim()||i.value)){i.value=!0;try{await $fetch("/api/pipelines",{method:"POST",body:{name:a.value,description:l.value}}),w(t("pipeline.pipelineCreated")),await C(a.value),g.push("/settings/pipeline")}catch{k(t("error.createFailed"))}finally{i.value=!1}}};return D({title:`${t("pipeline.new")} - AutoCode`}),(W,n)=>{const d=N;return b(),u("div",K,[s("header",R,[s("div",U,[_(d,{to:"/settings/pipeline",class:"back-link"},{default:m(()=>[y("← "+o(e(t)("nav.back")),1)]),_:1}),n[2]||(n[2]=s("span",{class:"header-separator"},"/",-1)),s("h1",null,o(e(t)("pipeline.new")),1)])]),s("div",A,[s("div",F,[s("label",H,o(e(t)("pipeline.name")),1),f(s("input",{"onUpdate:modelValue":n[0]||(n[0]=r=>v(a)?a.value=r:null),type:"text",class:"form-input",placeholder:e(t)("pipeline.namePlaceholder"),onKeyup:I(p,["enter"])},null,40,J),[[h,e(a)]]),e(a)?(b(),u("span",L," key: "+o(e(x)(e(a))),1)):E("",!0)]),s("div",M,[s("label",O,o(e(t)("pipeline.description")),1),f(s("textarea",{"onUpdate:modelValue":n[1]||(n[1]=r=>v(l)?l.value=r:null),class:"form-input",rows:"4",placeholder:e(t)("pipeline.descriptionPlaceholder")},null,8,j),[[h,e(l)]])]),s("div",q,[_(d,{to:"/settings/pipeline",class:"btn btn-secondary"},{default:m(()=>[y(o(e(t)("modal.cancel")),1)]),_:1}),s("button",{class:"btn btn-primary",disabled:!e(a).trim()||e(i),onClick:p},o(e(i)?e(t)("form.saving"):e(t)("form.create")),9,z)])])])}}}),se=S(G,[["__scopeId","data-v-123b6ad2"]]);export{se as default};
1
+ import{_ as N}from"./Dku8fc7v.js";import{d as P,y as V,u as B,r as c,v as D,c as u,e as s,f as _,w as m,t as o,h as e,D as f,k as E,E as h,J as I,I as v,b,g as y,_ as S}from"./B9-SkqjX.js";import{u as T}from"./CTidC4T0.js";import{u as $}from"./D3FsoLQm.js";const K={class:"new-pipeline-page"},R={class:"page-header card"},U={class:"header-left"},A={class:"card form-card"},F={class:"form-group"},H={class:"form-label"},J=["placeholder"],L={key:0,class:"input-hint"},M={class:"form-group"},O={class:"form-label"},j=["placeholder"],q={class:"form-actions"},z=["disabled"],G=P({__name:"new",setup(Q){const g=V(),{t}=B(),{success:w,error:k}=T(),{generateSlug:x,loadPipeline:C}=$(),a=c(""),l=c(""),i=c(!1),p=async()=>{if(!(!a.value.trim()||i.value)){i.value=!0;try{await $fetch("/api/pipelines",{method:"POST",body:{name:a.value,description:l.value}}),w(t("pipeline.pipelineCreated")),await C(a.value),g.push("/settings/pipeline")}catch{k(t("error.createFailed"))}finally{i.value=!1}}};return D({title:`${t("pipeline.new")} - AutoCode`}),(W,n)=>{const d=N;return b(),u("div",K,[s("header",R,[s("div",U,[_(d,{to:"/settings/pipeline",class:"back-link"},{default:m(()=>[y("← "+o(e(t)("nav.back")),1)]),_:1}),n[2]||(n[2]=s("span",{class:"header-separator"},"/",-1)),s("h1",null,o(e(t)("pipeline.new")),1)])]),s("div",A,[s("div",F,[s("label",H,o(e(t)("pipeline.name")),1),f(s("input",{"onUpdate:modelValue":n[0]||(n[0]=r=>v(a)?a.value=r:null),type:"text",class:"form-input",placeholder:e(t)("pipeline.namePlaceholder"),onKeyup:I(p,["enter"])},null,40,J),[[h,e(a)]]),e(a)?(b(),u("span",L," key: "+o(e(x)(e(a))),1)):E("",!0)]),s("div",M,[s("label",O,o(e(t)("pipeline.description")),1),f(s("textarea",{"onUpdate:modelValue":n[1]||(n[1]=r=>v(l)?l.value=r:null),class:"form-input",rows:"4",placeholder:e(t)("pipeline.descriptionPlaceholder")},null,8,j),[[h,e(l)]])]),s("div",q,[_(d,{to:"/settings/pipeline",class:"btn btn-secondary"},{default:m(()=>[y(o(e(t)("modal.cancel")),1)]),_:1}),s("button",{class:"btn btn-primary",disabled:!e(a).trim()||e(i),onClick:p},o(e(i)?e(t)("form.saving"):e(t)("form.create")),9,z)])])])}}}),se=S(G,[["__scopeId","data-v-123b6ad2"]]);export{se as default};
@@ -0,0 +1 @@
1
+ import{d as y,r as x,o as j,a as U,c as g,b as c,_ as H,u as $,e as n,f as v,w as S,g as L,t as a,h as e,i as I,j as D,k as q,l as P,m as F,n as X,p as Y,F as T,q as A,s as R,v as J}from"./B9-SkqjX.js";import{_ as E}from"./Dku8fc7v.js";import{_ as K}from"./DyAfzMRU.js";const Q=y({__name:"LandingMatrixBg",setup(w){const t=x(null),d=['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"],o=["rgba(99, 102, 241, ","rgba(139, 92, 246, ","rgba(168, 85, 247, ","rgba(192, 132, 252, ","rgba(236, 72, 153, "];let l=[],i=null;function p(){const _=t.value;if(!_)return;const k=()=>{_.width=window.innerWidth,_.height=window.innerHeight};k(),window.addEventListener("resize",k);const u=_.getContext("2d");if(!u)return;const C=Math.floor(window.innerWidth/60);l=[];for(let b=0;b<C;b++)h(_.width,_.height);function z(){if(!u||!_)return;u.clearRect(0,0,_.width,_.height);const b=Date.now();for(let M=l.length-1;M>=0;M--){const s=l[M];if(s.phase==="writing")s.charIndex+=s.speed*.5,s.charIndex>=s.text.length&&(s.phase="visible",s.visibleTime=b);else if(s.phase==="visible")b-s.visibleTime>300+Math.random()*500&&(s.phase="fading");else if(s.phase==="fading"&&(s.opacity-=.03*s.speed,s.opacity<=0)){l.splice(M,1),h(_.width,_.height);continue}u.font=`${s.fontSize}px 'JetBrains Mono', 'Fira Code', monospace`;const B=s.text.substring(0,Math.floor(s.charIndex));if(u.shadowColor=s.color+"0.5)",u.shadowBlur=8,u.fillStyle=s.color+(s.opacity*.8).toFixed(2)+")",u.fillText(B,s.x,s.y),u.shadowBlur=0,u.fillStyle=s.color+s.opacity.toFixed(2)+")",u.fillText(B,s.x,s.y),s.phase==="writing"&&Math.floor(b/100)%2===0){const V=s.x+u.measureText(B).width;u.fillStyle=s.color+"0.9)",u.fillRect(V+2,s.y-s.fontSize+4,2,s.fontSize)}}i=requestAnimationFrame(z)}z()}function h(_,k){const u=10+Math.random()*6,C=d[Math.floor(Math.random()*d.length)];l.push({x:Math.random()*(_-300),y:50+Math.random()*(k-100),text:C,charIndex:0,opacity:.2+Math.random()*.4,speed:.5+Math.random()*3.5,color:o[Math.floor(Math.random()*o.length)],phase:"writing",visibleTime:0,fontSize:u})}return j(()=>{p()}),U(()=>{i&&cancelAnimationFrame(i)}),(_,k)=>(c(),g("canvas",{ref_key:"canvasRef",ref:t,class:"landing-matrix-bg","aria-hidden":"true"},null,512))}}),Z=Object.assign(H(Q,[["__scopeId","data-v-b5216f08"]]),{__name:"LandingMatrixBg"}),nn={class:"landing-nav"},tn={class:"landing-nav-container"},en={class:"landing-beta-badge"},an={class:"landing-nav-links"},on={href:"#features"},sn={href:"#pipeline"},ln={href:"#faq"},dn={class:"landing-nav-right"},cn=y({__name:"LandingNav",setup(w){const{t}=$(),d=I(),o=x(!1);return j(()=>{o.value=window.location.host.endsWith(".gitlab.io")}),(l,i)=>{const p=E,h=K;return c(),g("nav",nn,[n("div",tn,[v(p,{to:"/",class:"landing-logo"},{default:S(()=>[i[0]||(i[0]=n("span",null,"⚡",-1)),i[1]||(i[1]=L(" AutoCode ",-1)),n("span",en,"v"+a(e(d).public.appVersion),1)]),_:1}),n("ul",an,[n("li",null,[n("a",on,a(e(t)("landing.nav.features")),1)]),n("li",null,[n("a",sn,a(e(t)("landing.nav.workflow")),1)]),n("li",null,[n("a",ln,a(e(t)("landing.nav.faq")),1)])]),n("div",dn,[v(h),e(o)?q("",!0):(c(),D(p,{key:0,to:"/kanban",class:"landing-nav-cta"},{default:S(()=>[L(a(e(t)("landing.nav.dashboard")),1)]),_:1}))])])])}}}),rn=Object.assign(cn,{__name:"LandingNav"}),pn={class:"landing-hero"},un={class:"landing-hero-content"},gn={class:"gradient"},_n={class:"landing-hero-buttons"},hn={href:"#workflow",class:"landing-btn landing-btn-primary"},vn=y({__name:"LandingHero",setup(w){const{t}=$();return(d,o)=>(c(),g("section",pn,[n("div",un,[n("h1",null,[L(a(e(t)("landing.hero.title1")),1),o[0]||(o[0]=n("br",null,null,-1)),n("span",gn,a(e(t)("landing.hero.title2")),1)]),n("p",null,a(e(t)("landing.hero.description")),1),n("div",_n,[n("a",hn,[L(a(e(t)("landing.hero.cta"))+" ",1),o[1]||(o[1]=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))]),o[2]||(o[2]=P('<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))]),o[3]||(o[3]=P('<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))])]))}}),mn=Object.assign(vn,{__name:"LandingHero"}),fn={id:"podcast",class:"landing-section"},yn={class:"landing-section-header"},wn={class:"landing-podcast-player"},kn=["src"],bn={class:"podcast-info"},xn={class:"podcast-meta"},$n={class:"podcast-lang-badge"},Ln={class:"podcast-controls"},Cn=["disabled"],Mn={key:0,width:"24",height:"24",fill:"currentColor",viewBox:"0 0 24 24"},zn={key:1,width:"24",height:"24",fill:"currentColor",viewBox:"0 0 24 24"},Tn={class:"podcast-progress-bar"},Hn={class:"podcast-time"},Bn={class:"podcast-speed"},Sn=["onClick"],An={class:"podcast-volume"},Fn=["value"],Pn=y({__name:"LandingPodcast",setup(w){const{t,locale:d}=$(),o=x(null),l=x(!1),i=x(0),p=x(0),h=x(1),_=x(1),k=x(!1),u=F(()=>`./media/podcast/${d.value}.m4a`),C=F(()=>M(i.value)),z=F(()=>M(p.value)),b=F(()=>p.value>0?i.value/p.value*100:0);function M(m){const r=Math.floor(m/60),f=Math.floor(m%60);return`${r}:${f.toString().padStart(2,"0")}`}function s(){o.value&&(l.value?o.value.pause():o.value.play())}function B(){o.value&&(i.value=o.value.currentTime)}function V(){o.value&&(p.value=o.value.duration,k.value=!0)}function N(m){if(!o.value||!p.value)return;const f=m.currentTarget.getBoundingClientRect(),O=(m.clientX-f.left)/f.width;o.value.currentTime=O*p.value}function G(m){_.value=m,o.value&&(o.value.playbackRate=m)}function W(m){const r=m.target;h.value=parseFloat(r.value),o.value&&(o.value.volume=h.value)}return X(d,()=>{if(o.value){const m=l.value,r=i.value;o.value.load(),o.value.currentTime=r,m&&o.value.play()}}),(m,r)=>(c(),g("section",fn,[n("div",yn,[n("h2",null,a(e(t)("landing.podcast.title")),1),n("p",null,a(e(t)("landing.podcast.description")),1)]),n("div",wn,[n("audio",{ref_key:"audioRef",ref:o,src:e(u),preload:"metadata",onTimeupdate:B,onLoadedmetadata:V,onPlay:r[0]||(r[0]=f=>l.value=!0),onPause:r[1]||(r[1]=f=>l.value=!1),onEnded:r[2]||(r[2]=f=>l.value=!1)},null,40,kn),n("div",bn,[r[3]||(r[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",xn,[n("h3",null,a(e(t)("landing.podcast.episode")),1),n("span",$n,a(e(d).toUpperCase()),1)])]),n("div",Ln,[n("button",{class:"podcast-play-btn",disabled:!e(k),onClick:s},[e(l)?(c(),g("svg",zn,[...r[5]||(r[5]=[n("path",{d:"M6 19h4V5H6v14zm8-14v14h4V5h-4z"},null,-1)])])):(c(),g("svg",Mn,[...r[4]||(r[4]=[n("path",{d:"M8 5v14l11-7z"},null,-1)])]))],8,Cn),n("div",{class:"podcast-progress-container",onClick:N},[n("div",Tn,[n("div",{class:"podcast-progress-fill",style:Y({width:`${e(b)}%`})},null,4)]),n("div",Hn,[n("span",null,a(e(C)),1),n("span",null,a(e(z)),1)])]),n("div",Bn,[(c(),g(T,null,A([.5,1,1.5,2],f=>n("button",{key:f,class:R({active:e(_)===f}),onClick:O=>G(f)},a(f)+"x ",11,Sn)),64))]),n("div",An,[r[6]||(r[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:e(h),onInput:W},null,40,Fn)])])])]))}}),Vn=Object.assign(H(Pn,[["__scopeId","data-v-5dee128b"]]),{__name:"LandingPodcast"}),jn={id:"features",class:"landing-section"},qn={class:"landing-section-header"},Rn={class:"landing-features-grid"},On={class:"landing-feature-icon"},In=y({__name:"LandingFeatures",setup(w){const{t}=$(),d=[{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(o,l)=>(c(),g("section",jn,[n("div",qn,[n("h2",null,a(e(t)("landing.features.title")),1),n("p",null,a(e(t)("landing.features.subtitle")),1)]),n("div",Rn,[(c(),g(T,null,A(d,i=>n("div",{key:i.key,class:R(["landing-feature-card",{highlight:i.highlight}])},[n("div",On,a(i.icon),1),n("h3",null,a(e(t)(`landing.features.${i.key}.title`)),1),n("p",null,a(e(t)(`landing.features.${i.key}.desc`)),1)],2)),64))])]))}}),Dn=Object.assign(In,{__name:"LandingFeatures"}),En={id:"pipeline",class:"landing-section"},Nn={class:"landing-section-header"},Gn={class:"landing-pipeline-flow"},Wn={class:"phase-icon"},Un={key:0,class:"pipeline-arrow"},Xn={class:"landing-pipeline-note"},Yn=y({__name:"LandingPipeline",setup(w){const{t}=$(),d=[{key:"create",icon:"💬",color:"blue"},{key:"reviews",icon:"🛡️",color:"purple"},{key:"tests",icon:"🔄",color:"orange"},{key:"deploy",icon:"🚀",color:"green"}];return(o,l)=>(c(),g("section",En,[n("div",Nn,[n("h2",null,a(e(t)("landing.pipeline.title")),1),n("p",null,a(e(t)("landing.pipeline.subtitle")),1)]),n("div",Gn,[(c(),g(T,null,A(d,(i,p)=>(c(),g(T,{key:i.key},[n("div",{class:R(["pipeline-phase",`pipeline-phase-${i.color}`])},[n("div",Wn,a(i.icon),1),n("h3",null,a(e(t)(`landing.pipeline.${i.key}.title`)),1),n("p",null,a(e(t)(`landing.pipeline.${i.key}.desc`)),1)],2),p<d.length-1?(c(),g("div",Un,[...l[0]||(l[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)])])):q("",!0)],64))),64))]),n("div",Xn,[l[1]||(l[1]=n("span",{class:"note-icon"},"💡",-1)),n("p",null,a(e(t)("landing.pipeline.note")),1)])]))}}),Jn=Object.assign(H(Yn,[["__scopeId","data-v-985987e8"]]),{__name:"LandingPipeline"}),Kn={id:"autonomy",class:"landing-section"},Qn={class:"landing-section-header"},Zn={class:"landing-autonomy-grid"},nt={class:"autonomy-icon"},tt=y({__name:"LandingAutonomy",setup(w){const{t}=$(),d=[{key:"skip",icon:"✨"},{key:"correct",icon:"♻️"},{key:"spawn",icon:"🆕"}];return(o,l)=>(c(),g("section",Kn,[n("div",Qn,[n("h2",null,a(e(t)("landing.autonomy.title")),1),n("p",null,a(e(t)("landing.autonomy.subtitle")),1)]),n("div",Zn,[(c(),g(T,null,A(d,i=>n("div",{key:i.key,class:"landing-autonomy-card"},[n("div",nt,a(i.icon),1),n("h3",null,a(e(t)(`landing.autonomy.${i.key}.title`)),1),n("p",null,a(e(t)(`landing.autonomy.${i.key}.desc`)),1)])),64))])]))}}),et=Object.assign(H(tt,[["__scopeId","data-v-2365c19b"]]),{__name:"LandingAutonomy"}),at={id:"docs",class:"landing-section"},ot={class:"landing-section-header"},it={class:"landing-docs-grid"},st={href:"/docs/cli",class:"landing-docs-card"},lt={class:"landing-docs-link"},dt={href:"/docs/api",class:"landing-docs-card"},ct={class:"landing-docs-link"},rt=y({__name:"LandingDocs",setup(w){const{t}=$();return(d,o)=>(c(),g("section",at,[n("div",ot,[n("h2",null,a(e(t)("landing.docs.title")),1),n("p",null,a(e(t)("landing.docs.subtitle")),1)]),n("div",it,[n("a",st,[o[0]||(o[0]=n("div",{class:"landing-docs-icon"},[n("svg",{xmlns:"http://www.w3.org/2000/svg",width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[n("polyline",{points:"4 17 10 11 4 5"}),n("line",{x1:"12",y1:"19",x2:"20",y2:"19"})])],-1)),n("h3",null,a(e(t)("landing.docs.cli.title")),1),n("p",null,a(e(t)("landing.docs.cli.desc")),1),n("span",lt,a(e(t)("landing.docs.viewDocs"))+" →",1)]),n("a",dt,[o[1]||(o[1]=P('<div class="landing-docs-icon" data-v-ec88dc23><svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-ec88dc23><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" data-v-ec88dc23></path><polyline points="14 2 14 8 20 8" data-v-ec88dc23></polyline><line x1="16" y1="13" x2="8" y2="13" data-v-ec88dc23></line><line x1="16" y1="17" x2="8" y2="17" data-v-ec88dc23></line><polyline points="10 9 9 9 8 9" data-v-ec88dc23></polyline></svg></div>',1)),n("h3",null,a(e(t)("landing.docs.api.title")),1),n("p",null,a(e(t)("landing.docs.api.desc")),1),n("span",ct,a(e(t)("landing.docs.viewDocs"))+" →",1)])])]))}}),pt=Object.assign(H(rt,[["__scopeId","data-v-ec88dc23"]]),{__name:"LandingDocs"}),ut={id:"faq",class:"landing-section"},gt={class:"landing-section-header"},_t={class:"landing-faq-container"},ht=y({__name:"LandingFaq",setup(w){const{t}=$(),d=["free","claude","customize","database","testing"];return(o,l)=>(c(),g("section",ut,[n("div",gt,[n("h2",null,a(e(t)("landing.faq.title")),1),n("p",null,a(e(t)("landing.faq.subtitle")),1)]),n("div",_t,[(c(),g(T,null,A(d,i=>n("div",{key:i,class:"landing-faq-item"},[n("h3",null,a(e(t)(`landing.faq.${i}.q`)),1),n("p",null,a(e(t)(`landing.faq.${i}.a`)),1)])),64))])]))}}),vt=Object.assign(ht,{__name:"LandingFaq"}),mt={class:"landing-footer"},ft={class:"landing-footer-content"},yt={class:"landing-footer-brand"},wt={class:"landing-footer-logo"},kt={class:"landing-beta-badge"},bt={class:"landing-footer-tagline"},xt={class:"landing-footer-nav"},$t={href:"https://gitlab.com/evkoh/autocode/-/issues",target:"_blank",rel:"noopener"},Lt={class:"landing-footer-bottom"},Ct={class:"landing-footer-copy"},Mt=y({__name:"LandingFooter",setup(w){const{t}=$(),d=I(),o=new Date().getFullYear(),l=x(!1);return j(()=>{l.value=window.location.host.endsWith(".gitlab.io")}),(i,p)=>{const h=E;return c(),g("footer",mt,[n("div",ft,[n("div",yt,[n("span",wt,[p[0]||(p[0]=L(" AutoCode ",-1)),n("span",kt,"v"+a(e(d).public.appVersion),1)]),n("span",bt,a(e(t)("landing.footer.madeWith")),1)]),n("nav",xt,[p[1]||(p[1]=P('<a href="https://gitlab.com/evkoh/autocode" target="_blank" rel="noopener" data-v-94d22946><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-v-94d22946><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-94d22946></path></svg> GitLab </a><a href="https://www.npmjs.com/package/@autocode-cli/autocode" target="_blank" rel="noopener" data-v-94d22946><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-v-94d22946><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-94d22946></path></svg> npm </a>',2)),v(h,{to:"/docs/cli"},{default:S(()=>[L(a(e(t)("landing.docs.cli.title")),1)]),_:1}),v(h,{to:"/docs/api"},{default:S(()=>[L(a(e(t)("landing.docs.api.title")),1)]),_:1}),n("a",$t,a(e(t)("landing.roadmap.title")),1),e(l)?q("",!0):(c(),D(h,{key:0,to:"/kanban",class:"landing-footer-dashboard"},{default:S(()=>[L(a(e(t)("landing.footer.dashboard")),1)]),_:1}))]),n("div",Lt,[n("p",Ct," © "+a(e(o))+" AutoCode · "+a(e(t)("landing.footer.license")),1)])])])}}}),zt=Object.assign(H(Mt,[["__scopeId","data-v-94d22946"]]),{__name:"LandingFooter"}),Tt={class:"landing-page"},At=y({__name:"index",setup(w){const{t}=$();return J({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"}]}),(d,o)=>{const l=Z,i=rn,p=mn,h=Vn,_=Dn,k=Jn,u=et,C=pt,z=vt,b=zt;return c(),g("div",Tt,[v(l),v(i),v(p),v(h),v(_),v(k),v(u),v(C),v(z),v(b)])}}});export{At as default};
@@ -0,0 +1 @@
1
+ .new-issue-page[data-v-b7ec4fbf]{margin:0 auto;max-width:800px}.page-header[data-v-b7ec4fbf]{margin-bottom:var(--spacing-lg)}.back-link[data-v-b7ec4fbf]{color:var(--text-secondary);display:inline-block;font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.back-link[data-v-b7ec4fbf]:hover{color:var(--primary-color)}.page-header h1[data-v-b7ec4fbf]{font-size:var(--font-size-xl);font-weight:600}.title-row[data-v-b7ec4fbf]{align-items:center;display:flex;gap:var(--spacing-sm)}.title-row .form-input[data-v-b7ec4fbf]{flex:1}.btn-autocomplete[data-v-b7ec4fbf]{align-items:center;background:linear-gradient(135deg,var(--primary-color),#9333ea);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:500;gap:6px;height:42px;padding:10px 16px;transition:all .2s;white-space:nowrap}.btn-autocomplete[data-v-b7ec4fbf]:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-autocomplete[data-v-b7ec4fbf]:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-autocomplete .sparkle[data-v-b7ec4fbf]{font-size:1rem}.btn-autocomplete .spinner[data-v-b7ec4fbf]{animation:spin-b7ec4fbf .8s linear infinite;border:2px solid transparent;border-radius:50%;border-top-color:#fff;height:14px;width:14px}@keyframes spin-b7ec4fbf{to{transform:rotate(1turn)}}.issue-form[data-v-b7ec4fbf]{padding:var(--spacing-xl)}.form-row[data-v-b7ec4fbf]{display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 1fr}.required[data-v-b7ec4fbf]{color:var(--error-color)}.form-hint[data-v-b7ec4fbf]{color:var(--text-muted);font-size:var(--font-size-xs)}.error-text[data-v-b7ec4fbf],.form-hint[data-v-b7ec4fbf]{margin-top:var(--spacing-xs)}.error-text[data-v-b7ec4fbf]{color:var(--error-color);display:block;font-size:var(--font-size-sm)}.has-error[data-v-b7ec4fbf]{border-color:var(--error-color)}.criteria-list[data-v-b7ec4fbf]{flex-direction:column}.criteria-item[data-v-b7ec4fbf],.criteria-list[data-v-b7ec4fbf]{display:flex;gap:var(--spacing-sm)}.criteria-item .form-input[data-v-b7ec4fbf]{flex:1}.btn-icon[data-v-b7ec4fbf]{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;display:flex;font-size:1.25rem;height:36px;justify-content:center;width:36px}.btn-icon[data-v-b7ec4fbf]:hover{background:var(--bg-hover);color:var(--error-color)}.btn-sm[data-v-b7ec4fbf]{font-size:var(--font-size-sm);padding:.375rem .75rem}.dropzone[data-v-b7ec4fbf]{border:2px dashed var(--border-color);border-radius:var(--radius-lg);cursor:pointer;padding:var(--spacing-xl);text-align:center;transition:all var(--transition-fast)}.dropzone.dragover[data-v-b7ec4fbf],.dropzone[data-v-b7ec4fbf]:hover{background:#3b82f60d;border-color:var(--primary-color)}.file-input[data-v-b7ec4fbf]{display:none}.dropzone p[data-v-b7ec4fbf]{color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.attachments-list[data-v-b7ec4fbf]{list-style:none;margin-top:var(--spacing-md)}.attachments-list li[data-v-b7ec4fbf]{align-items:center;background:var(--bg-secondary);border-radius:var(--radius-md);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);padding:var(--spacing-sm)}.file-name[data-v-b7ec4fbf]{flex:1;font-size:var(--font-size-sm)}.file-size[data-v-b7ec4fbf]{color:var(--text-muted);font-size:var(--font-size-xs)}.form-actions[data-v-b7ec4fbf]{border-top:1px solid var(--border-color);display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg)}@media(max-width:640px){.form-row[data-v-b7ec4fbf]{grid-template-columns:1fr}}
@@ -0,0 +1 @@
1
+ .prompt-page[data-v-9e0cebf5]{margin:0 auto;max-width:900px}.section-header[data-v-9e0cebf5]{align-items:center;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.section-header h2[data-v-9e0cebf5]{font-size:var(--font-size-lg);font-weight:600;margin:0}.session-badge[data-v-9e0cebf5]{background:#eab30833;color:#eab308}.column-badge[data-v-9e0cebf5],.session-badge[data-v-9e0cebf5]{border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);padding:4px 10px}.column-badge[data-v-9e0cebf5]{background:var(--bg-secondary);color:var(--primary-color)}.view-toggle[data-v-9e0cebf5]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-family:var(--font-mono);font-size:var(--font-size-sm);margin-left:auto;padding:4px 10px;transition:all .2s}.view-toggle[data-v-9e0cebf5]:hover{border-color:var(--primary-color);color:var(--primary-color)}.prompt-content[data-v-9e0cebf5]{background:var(--bg-secondary);border-radius:var(--radius-md);line-height:1.6;overflow-x:auto;padding:var(--spacing-md)}.prompt-raw pre[data-v-9e0cebf5]{margin:0;white-space:pre-wrap;word-wrap:break-word;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:1.6}.prompt-markdown[data-v-9e0cebf5]>:first-child{margin-top:0}.prompt-markdown[data-v-9e0cebf5] h1,.prompt-markdown[data-v-9e0cebf5] h2,.prompt-markdown[data-v-9e0cebf5] h3,.prompt-markdown[data-v-9e0cebf5] h4,.prompt-markdown[data-v-9e0cebf5] h5,.prompt-markdown[data-v-9e0cebf5] h6{font-weight:600;line-height:1.3;margin-bottom:var(--spacing-sm);margin-top:var(--spacing-lg)}.prompt-markdown[data-v-9e0cebf5] h1{border-bottom:1px solid var(--border-color);font-size:1.5em;padding-bottom:var(--spacing-xs)}.prompt-markdown[data-v-9e0cebf5] h2{font-size:1.3em}.prompt-markdown[data-v-9e0cebf5] h3{font-size:1.15em}.prompt-markdown[data-v-9e0cebf5] h4,.prompt-markdown[data-v-9e0cebf5] h5,.prompt-markdown[data-v-9e0cebf5] h6{font-size:1em}.prompt-markdown[data-v-9e0cebf5] p{margin-bottom:var(--spacing-md)}.prompt-markdown[data-v-9e0cebf5] p:last-child{margin-bottom:0}.prompt-markdown[data-v-9e0cebf5] ol,.prompt-markdown[data-v-9e0cebf5] ul{margin-bottom:var(--spacing-md);padding-left:var(--spacing-xl)}.prompt-markdown[data-v-9e0cebf5] ul{list-style-type:disc}.prompt-markdown[data-v-9e0cebf5] ol{list-style-type:decimal}.prompt-markdown[data-v-9e0cebf5] li{margin-bottom:var(--spacing-xs);padding-left:var(--spacing-xs)}.prompt-markdown[data-v-9e0cebf5] li>ol,.prompt-markdown[data-v-9e0cebf5] li>ul{margin-bottom:var(--spacing-xs);margin-top:var(--spacing-xs)}.prompt-markdown[data-v-9e0cebf5] strong{color:var(--text-primary);font-weight:600}.prompt-markdown[data-v-9e0cebf5] code{background-color:var(--bg-tertiary);border-radius:4px;font-family:var(--font-mono);font-size:.9em;padding:.2em .4em}.prompt-markdown[data-v-9e0cebf5] pre{background-color:var(--bg-tertiary);border-radius:6px;margin-bottom:var(--spacing-md);overflow-x:auto;padding:var(--spacing-md)}.prompt-markdown[data-v-9e0cebf5] pre code{background:none;padding:0}.prompt-markdown[data-v-9e0cebf5] blockquote{border-left:3px solid var(--color-primary);color:var(--text-secondary);font-style:italic;margin:var(--spacing-md) 0;padding-left:var(--spacing-md)}.prompt-markdown[data-v-9e0cebf5] hr{border:none;border-top:1px solid var(--border-color);margin:var(--spacing-lg) 0}.prompt-markdown[data-v-9e0cebf5] a{color:var(--color-primary);text-decoration:none}.prompt-markdown[data-v-9e0cebf5] a:hover{text-decoration:underline}.prompt-markdown[data-v-9e0cebf5] table{border-collapse:collapse;margin-bottom:var(--spacing-md);width:100%}.prompt-markdown[data-v-9e0cebf5] td,.prompt-markdown[data-v-9e0cebf5] th{border:1px solid var(--border-color);padding:var(--spacing-sm);text-align:left}.prompt-markdown[data-v-9e0cebf5] th{background-color:var(--bg-tertiary);font-weight:600}.empty[data-v-9e0cebf5],.loading[data-v-9e0cebf5]{color:var(--text-secondary);padding:var(--spacing-xl);text-align:center}.actions[data-v-9e0cebf5]{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.btn-secondary[data-v-9e0cebf5]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);padding:8px 16px;text-decoration:none;transition:all .2s}.btn-secondary[data-v-9e0cebf5]:hover{background:#3b82f61a;border-color:var(--primary-color)}
@@ -1 +1 @@
1
- import{b5 as f}from"./W7VQVcj3.js";import{ab as d}from"./mhFvEihp.js";function s({container:e,accept:r,walk:i,enabled:t}){d(()=>{let a=e.value;if(!a||t!==void 0&&!t.value)return;let c=f(e);if(!c)return;let l=Object.assign(n=>r(n),{acceptNode:r}),o=c.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,l,!1);for(;o.nextNode();)i(o.currentNode)})}export{s as i};
1
+ import{b5 as f}from"./DjSp0ni5.js";import{ab as d}from"./B9-SkqjX.js";function s({container:e,accept:r,walk:i,enabled:t}){d(()=>{let a=e.value;if(!a||t!==void 0&&!t.value)return;let c=f(e);if(!c)return;let l=Object.assign(n=>r(n),{acceptNode:r}),o=c.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,l,!1);for(;o.nextNode();)i(o.currentNode)})}export{s as i};