contentrain 0.4.3 → 0.5.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 (109) hide show
  1. package/README.md +112 -34
  2. package/dist/{activity-CbkxcfDf.mjs → activity-B8j9gfsK.mjs} +3 -3
  3. package/dist/{branches-D2UWex1N.mjs → branches-CvpFbyrJ.mjs} +3 -3
  4. package/dist/{cdn-build-BzC2QPNi.mjs → cdn-build-DS9FprWU.mjs} +3 -3
  5. package/dist/{cdn-init-CsmqJIaQ.mjs → cdn-init-Bm4dpEJn.mjs} +3 -3
  6. package/dist/{connect-DJo9PSiw.mjs → connect-Bb0BrZsx.mjs} +3 -3
  7. package/dist/describe-DJ5H9Cxm.mjs +106 -0
  8. package/dist/describe-format-CUAqB0C4.mjs +50 -0
  9. package/dist/{diff--halNUpG.mjs → diff-ov1j9bAb.mjs} +67 -59
  10. package/dist/doctor-MOf_LQEL.mjs +95 -0
  11. package/dist/{generate-DrUojrk8.mjs → generate-ByscV5SN.mjs} +26 -9
  12. package/dist/{ide-4ZGiAtYB.mjs → ide-DPDVYiaq.mjs} +6 -8
  13. package/dist/index.mjs +50 -12
  14. package/dist/{init-BVlisNcW.mjs → init-540qiNQJ.mjs} +6 -6
  15. package/dist/{login-DCXkOrQV.mjs → login-xvzL-UvR.mjs} +3 -3
  16. package/dist/{logout-nPt2UAeQ.mjs → logout-DzspSatR.mjs} +2 -2
  17. package/dist/mcp-client-DVWTex2i.mjs +44 -0
  18. package/dist/merge-DdPRttF-.mjs +82 -0
  19. package/dist/{resolve-context-Cg6JoVZt.mjs → resolve-context-hKVYPniC.mjs} +1 -1
  20. package/dist/scaffold-iuvrMh78.mjs +115 -0
  21. package/dist/{serve-CNeFIQ1i.mjs → serve-CxA2pKbp.mjs} +58 -5
  22. package/dist/serve-ui/assets/{AgentPromptGroup.vue_vue_type_script_setup_true_lang-Ulb-9Tr3.js → AgentPromptGroup.vue_vue_type_script_setup_true_lang-Bftt9tx_.js} +1 -1
  23. package/dist/serve-ui/assets/AppLayout-B-fbrfMk.js +21 -0
  24. package/dist/serve-ui/assets/BranchDetailPage-B3PL9PGp.js +17 -0
  25. package/dist/serve-ui/assets/{BranchesPage-CSwikNkd.js → BranchesPage-4YpE_szf.js} +2 -2
  26. package/dist/serve-ui/assets/CardContent.vue_vue_type_script_setup_true_lang-D1L2MnBU.js +1 -0
  27. package/dist/serve-ui/assets/CollapsibleTrigger.vue_vue_type_script_setup_true_lang-B4uDtllm.js +1 -0
  28. package/dist/serve-ui/assets/{Collection-DTB4xCCE.js → Collection-9URFko-Y.js} +2 -2
  29. package/dist/serve-ui/assets/ConfigProvider-CwkmRpT5.js +1 -0
  30. package/dist/serve-ui/assets/{ContentListPage-DF-LjAaS.js → ContentListPage-BMfSfg8x.js} +2 -2
  31. package/dist/serve-ui/assets/ContentPage-BXUnNJlB.js +1 -0
  32. package/dist/serve-ui/assets/DashboardPage-1UyYgg5J.js +21 -0
  33. package/dist/serve-ui/assets/{DialogTitle.vue_vue_type_script_setup_true_lang-2sQAJn_Y.js → DialogTitle.vue_vue_type_script_setup_true_lang-M4LOzTva.js} +1 -1
  34. package/dist/serve-ui/assets/DoctorPage-WnQ8xYWy.js +1 -0
  35. package/dist/serve-ui/assets/FormatReferencePage-DoKEaawl.js +1 -0
  36. package/dist/serve-ui/assets/{Input.vue_vue_type_script_setup_true_lang-BveqfZsR.js → Input.vue_vue_type_script_setup_true_lang-tW0hgReH.js} +2 -2
  37. package/dist/serve-ui/assets/{ModelDetailPage-_TIV9itx.js → ModelDetailPage-BysqN8IL.js} +3 -3
  38. package/dist/serve-ui/assets/ModelsPage-DFZrdBIi.js +1 -0
  39. package/dist/serve-ui/assets/{NormalizePage-Cde8vdk2.js → NormalizePage-4f5Ib_ES.js} +2 -2
  40. package/dist/serve-ui/assets/{PageHeader.vue_vue_type_script_setup_true_lang-CEnjONvd.js → PageHeader.vue_vue_type_script_setup_true_lang-Bln1czg7.js} +1 -1
  41. package/dist/serve-ui/assets/Presence-CA3xTrht.js +3 -0
  42. package/dist/serve-ui/assets/{Separator.vue_vue_type_script_setup_true_lang-1pFZ2PR2.js → Separator.vue_vue_type_script_setup_true_lang-PECBq3nc.js} +1 -1
  43. package/dist/serve-ui/assets/{StudioHint.vue_vue_type_script_setup_true_lang-C6JN5tPq.js → StudioHint.vue_vue_type_script_setup_true_lang-DYTEoyjw.js} +1 -1
  44. package/dist/serve-ui/assets/{TrustBadge.vue_vue_type_script_setup_true_lang-KRiTnLVk.js → TrustBadge.vue_vue_type_script_setup_true_lang-BRXWvOYU.js} +2 -2
  45. package/dist/serve-ui/assets/ValidatePage-BMTpV2KL.js +16 -0
  46. package/dist/serve-ui/assets/{arrow-down-BAJwpryD.js → arrow-down-IJu6H7Es.js} +1 -1
  47. package/dist/serve-ui/assets/{arrow-left-DANf_wrK.js → arrow-left-D8ZjVYAI.js} +1 -1
  48. package/dist/serve-ui/assets/{book-marked-DS8FXgjz.js → book-marked-BNyyZrq3.js} +1 -1
  49. package/dist/serve-ui/assets/{book-open-DnH5T78M.js → book-open-Dw1fQtSI.js} +1 -1
  50. package/dist/serve-ui/assets/{box-UJk5SvJJ.js → box-BoGMZDZR.js} +1 -1
  51. package/dist/serve-ui/assets/{chevron-down-C1nYx5Eu.js → chevron-down-UcXxhyyY.js} +1 -1
  52. package/dist/serve-ui/assets/{chevron-right-XnJVrezx.js → chevron-right-SpdM5LBc.js} +1 -1
  53. package/dist/serve-ui/assets/circle-alert-CEwKJpYl.js +6 -0
  54. package/dist/serve-ui/assets/{content-Ctqretwl.js → content-BQEzysvq.js} +1 -1
  55. package/dist/serve-ui/assets/{database-Wd_i2bM1.js → database-U6JU8oc9.js} +1 -1
  56. package/dist/serve-ui/assets/{file-code-ScWZN40B.js → file-code-_sq1QHQo.js} +1 -1
  57. package/dist/serve-ui/assets/{file-text-J3Wzwieh.js → file-text-BiMGJckO.js} +1 -1
  58. package/dist/serve-ui/assets/{git-branch-DqEFTZDt.js → git-branch-CdZMOuSP.js} +1 -1
  59. package/dist/serve-ui/assets/{git-merge-Bmz-MVBm.js → git-merge-D8Y-BwIh.js} +1 -1
  60. package/dist/serve-ui/assets/{hash-pCwLSzjB.js → hash-CrXakbCy.js} +1 -1
  61. package/dist/serve-ui/assets/index-DL_dw3XX.js +80 -0
  62. package/dist/serve-ui/assets/index-KZ2rT4mJ.css +1 -0
  63. package/dist/serve-ui/assets/{languages-CQqNMim-.js → languages-DvyMGPwy.js} +1 -1
  64. package/dist/serve-ui/assets/{plus-Cw1OnTR2.js → plus-Ddujj7Qx.js} +1 -1
  65. package/dist/serve-ui/assets/project-Dg2BVay_.js +1 -0
  66. package/dist/serve-ui/assets/{scan-search-UJ-_oiOR.js → scan-search-CsPYGmEs.js} +1 -1
  67. package/dist/serve-ui/assets/{settings-Dnm4yTIj.js → settings-IQvevsKM.js} +1 -1
  68. package/dist/serve-ui/assets/{shield-check-B67ELGUT.js → shield-check-BmSBU8Ai.js} +1 -1
  69. package/dist/serve-ui/assets/stethoscope-DgCa_7BL.js +6 -0
  70. package/dist/serve-ui/assets/{trash-2-B1QgZW1G.js → trash-2-CNTkluuz.js} +1 -1
  71. package/dist/serve-ui/assets/useDirection-DfPL7a9d.js +1 -0
  72. package/dist/serve-ui/assets/{useId-CPFWZ4Bo.js → useId-B-RTM02R.js} +1 -1
  73. package/dist/serve-ui/assets/{useNonce-BffIzuhE.js → useNonce-DR6M3tLq.js} +1 -1
  74. package/dist/serve-ui/assets/useWatch-D4Y-epQR.js +1 -0
  75. package/dist/serve-ui/index.html +2 -2
  76. package/dist/{server-DTdmutjb.mjs → server-B1PSjXbu.mjs} +313 -112
  77. package/dist/{setup-4mS8RuCy.mjs → setup-BMqKibZt.mjs} +3 -3
  78. package/dist/{skills-4nhto0AZ.mjs → skills-CZ54F-97.mjs} +3 -3
  79. package/dist/{status-Cyv-jo1y.mjs → status-BJ6Lu3J4.mjs} +3 -3
  80. package/dist/{status-CoHgz6HN.mjs → status-Bmjfrk-B.mjs} +24 -11
  81. package/dist/studio-DPVJ-2oG.mjs +24 -0
  82. package/dist/{submissions-bIG-MWvv.mjs → submissions-zH_S7JIQ.mjs} +3 -3
  83. package/dist/{usage-B2xuc2DT.mjs → usage-z6eyT64a.mjs} +3 -3
  84. package/dist/{validate-B10L7RL7.mjs → validate-BG0X5g09.mjs} +102 -4
  85. package/dist/{webhooks-Dq3zFLP7.mjs → webhooks-CBG2Bs9P.mjs} +3 -3
  86. package/dist/{whoami-Ub5RznbU.mjs → whoami-CXVfvo7x.mjs} +2 -2
  87. package/package.json +7 -6
  88. package/dist/doctor-DyKjAIKH.mjs +0 -187
  89. package/dist/serve-ui/assets/AppLayout-C91DN08z.js +0 -21
  90. package/dist/serve-ui/assets/BranchDetailPage-BokOnhE7.js +0 -17
  91. package/dist/serve-ui/assets/CollapsibleTrigger.vue_vue_type_script_setup_true_lang-BRzXVXDG.js +0 -1
  92. package/dist/serve-ui/assets/ConfigProvider-Dvd7YoEV.js +0 -1
  93. package/dist/serve-ui/assets/ContentPage-BABg8pgn.js +0 -1
  94. package/dist/serve-ui/assets/DashboardPage-BFLFEJNZ.js +0 -21
  95. package/dist/serve-ui/assets/ModelsPage-DrQemHQ-.js +0 -1
  96. package/dist/serve-ui/assets/Presence-BXKCIfUk.js +0 -3
  97. package/dist/serve-ui/assets/ValidatePage-DRFAySNR.js +0 -21
  98. package/dist/serve-ui/assets/index-CG5NtNtt.css +0 -1
  99. package/dist/serve-ui/assets/index-De_z0714.js +0 -1
  100. package/dist/serve-ui/assets/index-RDdffBTh.js +0 -80
  101. package/dist/serve-ui/assets/project-BlZcHJw6.js +0 -1
  102. package/dist/serve-ui/assets/useDirection-B4S5kPsI.js +0 -1
  103. package/dist/serve-ui/assets/useWatch-B2FLRWr8.js +0 -1
  104. package/dist/studio-CJUGiIMd.mjs +0 -24
  105. package/dist/{client-C400qHcL.mjs → client-C9E9D4mb.mjs} +1 -1
  106. package/dist/{context-An3xrvcP.mjs → context-OskMGy8y.mjs} +1 -1
  107. package/dist/{demo-DcBt6fw8.mjs → demo-BOUcAoFZ.mjs} +3 -3
  108. package/dist/{oauth-server-Beppljfz.mjs → oauth-server-smSxDoH5.mjs} +1 -1
  109. /package/dist/{ui-B5mXontH.mjs → ui-B8l_LC36.mjs} +0 -0
@@ -0,0 +1,16 @@
1
+ import{c as G,a as ue,i as ve,p as u,j as t,e as n,u as e,q as a,L as X,g as f,s as m,B as l,F as k,y as g,z as w,x as q,h as y,r as h,G as me,o as r,S as U,Z as B,b as _,A as E,C as fe}from"./index-DL_dw3XX.js";import{d as _e,u as pe,_ as b}from"./useWatch-D4Y-epQR.js";import{u as xe}from"./content-BQEzysvq.js";import{_ as ge,a as C}from"./PageHeader.vue_vue_type_script_setup_true_lang-Bln1czg7.js";import{_ as ye}from"./StudioHint.vue_vue_type_script_setup_true_lang-DYTEoyjw.js";import{_ as Y,a as D}from"./AgentPromptGroup.vue_vue_type_script_setup_true_lang-Bftt9tx_.js";import{_ as he}from"./TrustBadge.vue_vue_type_script_setup_true_lang-BRXWvOYU.js";import{_ as z,a as ee,b as te,c as se}from"./CollapsibleTrigger.vue_vue_type_script_setup_true_lang-B4uDtllm.js";import{_ as M}from"./CardContent.vue_vue_type_script_setup_true_lang-D1L2MnBU.js";import{_ as ae}from"./Separator.vue_vue_type_script_setup_true_lang-PECBq3nc.js";import{S as be}from"./shield-check-BmSBU8Ai.js";import{C as O}from"./circle-alert-CEwKJpYl.js";import{D as le}from"./database-U6JU8oc9.js";import{C as ne}from"./chevron-down-UcXxhyyY.js";import"./useId-B-RTM02R.js";import"./Presence-CA3xTrht.js";/**
2
+ * @license lucide-vue-next v0.474.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const ke=G("FileWarningIcon",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
7
+ * @license lucide-vue-next v0.474.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */const we=G("FilterIcon",[["polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",key:"1yg77f"}]]);/**
12
+ * @license lucide-vue-next v0.474.0 - ISC
13
+ *
14
+ * This source code is licensed under the ISC license.
15
+ * See the LICENSE file in the root directory of this source tree.
16
+ */const ze=G("ListChecksIcon",[["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]]),Ce={key:0,class:"text-xs text-muted-foreground tabular-nums"},$e={class:"px-6 py-6 space-y-6"},je={key:0,class:"flex justify-center py-12"},Ie={key:1,class:"flex items-center gap-2 text-sm text-muted-foreground"},Me={class:"grid grid-cols-2 gap-3 lg:grid-cols-5"},Se={class:"flex size-10 items-center justify-center rounded-lg bg-status-error/10"},Fe={class:"text-2xl font-bold tabular-nums"},Le={class:"text-xs text-muted-foreground"},Ve={class:"flex size-10 items-center justify-center rounded-lg bg-status-warning/10"},qe={class:"text-2xl font-bold tabular-nums"},Be={class:"text-xs text-muted-foreground"},De={class:"flex size-10 items-center justify-center rounded-lg bg-status-info/10"},Ae={class:"text-2xl font-bold tabular-nums"},Ne={class:"text-xs text-muted-foreground"},We={class:"flex size-10 items-center justify-center rounded-lg bg-status-success/10"},Te={class:"text-2xl font-bold tabular-nums"},Ue={class:"text-xs text-muted-foreground"},Ee={class:"flex size-10 items-center justify-center rounded-lg bg-muted"},Oe={class:"text-2xl font-bold tabular-nums"},Ge={class:"text-xs text-muted-foreground"},Pe={key:0,class:"flex flex-col items-center py-16 text-center"},Re={class:"flex size-20 items-center justify-center rounded-full bg-status-success/10 mb-4"},Ze={class:"text-xl font-semibold"},He={class:"mt-2 text-sm text-muted-foreground max-w-sm"},Je={class:"mt-6 w-full max-w-md"},Ke={class:"flex items-center gap-2 flex-wrap"},Qe={class:"flex items-center border rounded-md overflow-hidden mr-2"},Xe={key:0,class:"space-y-4"},Ye={class:"flex items-center gap-3"},et={class:"flex size-8 items-center justify-center rounded-md bg-primary/10"},tt={class:"font-medium text-sm font-mono"},st={class:"divide-y divide-border"},at=["onClick"],lt={class:"flex-1 min-w-0"},nt={class:"flex items-center gap-2 flex-wrap"},ot={key:0,class:"font-mono text-xs text-muted-foreground"},rt={key:1,class:"font-mono text-xs text-muted-foreground"},it={class:"mt-1.5 text-sm text-foreground"},dt={key:0,class:"space-y-4"},ct={class:"flex items-center gap-3"},ut={class:"font-medium text-sm"},vt={class:"divide-y divide-border"},mt={class:"flex-1 min-w-0"},ft={class:"flex items-center gap-2 flex-wrap"},_t={key:1,class:"font-mono text-xs text-muted-foreground"},pt={key:2,class:"font-mono text-xs text-muted-foreground"},xt={class:"mt-1.5 text-sm text-foreground"},gt={key:1,class:"flex flex-col items-center py-12 text-center"},yt={class:"text-sm text-muted-foreground"},Nt=ue({__name:"ValidatePage",setup(ht){const S=xe(),P=fe(),i=_e("serve-ui-texts").locale("en").get(),p=y(()=>S.validation),$=y(()=>{var o;return(o=p.value)==null?void 0:o.summary}),j=y(()=>{var o;return((o=p.value)==null?void 0:o.issues)??[]});function oe(o){if(!o.model)return;const v={};o.locale&&(v.locale=o.locale),o.entry&&(v.id=o.entry),o.slug&&(v.slug=o.slug);const s=new URLSearchParams(v).toString();P.push(`/content/${o.model}${s?`?${s}`:""}`)}const F=h(!0),L=h(!0),V=h(!0),I=h("severity"),re=h(!0),ie=h(!0),de=h(!0),x={error:{icon:O,color:"text-status-error",bg:"bg-status-error/10",border:"border-status-error/20",label:i["validate.errors"]},warning:{icon:U,color:"text-status-warning",bg:"bg-status-warning/10",border:"border-status-warning/20",label:i["validate.warnings"]},notice:{icon:B,color:"text-status-info",bg:"bg-status-info/10",border:"border-status-info/20",label:i["validate.notices"]}},A=y(()=>j.value.filter(o=>o.severity==="error")),N=y(()=>j.value.filter(o=>o.severity==="warning")),W=y(()=>j.value.filter(o=>o.severity==="notice")),R=y(()=>{const o=[];return F.value&&A.value.length>0&&o.push({severity:"error",issues:A.value,open:re}),L.value&&N.value.length>0&&o.push({severity:"warning",issues:N.value,open:ie}),V.value&&W.value.length>0&&o.push({severity:"notice",issues:W.value,open:de}),o}),ce=y(()=>R.value.length>0),Z=y(()=>{const o=new Map;for(const v of j.value){const s=v.model??"unknown";o.has(s)||o.set(s,[]),o.get(s).push(v)}return[...o.entries()].toSorted((v,s)=>s[1].length-v[1].length)}),T=h(null);async function H(){try{await S.fetchValidation(),T.value=new Date}catch{me.error("Failed to load validation results.")}}return pe(o=>{o.type==="validation:updated"&&H()}),ve(()=>{H()}),(o,v)=>(r(),u("div",null,[t(ge,{title:e(i)["validate.validation"],description:e(i)["validate.content-quality-report"]},{actions:n(()=>{var s,c,d;return[t(e(he),{status:(s=p.value)!=null&&s.valid?"validated":p.value?"warning":"pending",count:(((c=p.value)==null?void 0:c.summary.errors)??0)+(((d=p.value)==null?void 0:d.summary.warnings)??0)},null,8,["status","count"]),T.value?(r(),u("span",Ce,l(e(i)["validate.updated"])+" "+l(T.value.toLocaleTimeString()),1)):f("",!0)]}),_:1},8,["title","description"]),a("div",$e,[e(S).loading&&!p.value?(r(),u("div",je,[t(e(X),{class:"size-6 animate-spin text-primary"})])):f("",!0),e(S).loading&&p.value?(r(),u("div",Ie,[t(e(X),{class:"size-4 animate-spin text-primary"}),m(" "+l(e(i)["validate.refreshing-validation"]),1)])):f("",!0),p.value?(r(),u(k,{key:2},[a("div",Me,[t(e(z),{class:"border-status-error/20"},{default:n(()=>[t(e(M),{class:"flex items-center gap-3 p-4"},{default:n(()=>{var s;return[a("div",Se,[t(e(O),{class:"size-5 text-status-error"})]),a("div",null,[a("div",Fe,l(((s=$.value)==null?void 0:s.errors)??0),1),a("div",Le,l(e(i)["validate.errors"]),1)])]}),_:1})]),_:1}),t(e(z),{class:"border-status-warning/20"},{default:n(()=>[t(e(M),{class:"flex items-center gap-3 p-4"},{default:n(()=>{var s;return[a("div",Ve,[t(e(U),{class:"size-5 text-status-warning"})]),a("div",null,[a("div",qe,l(((s=$.value)==null?void 0:s.warnings)??0),1),a("div",Be,l(e(i)["validate.warnings"]),1)])]}),_:1})]),_:1}),t(e(z),{class:"border-status-info/20"},{default:n(()=>[t(e(M),{class:"flex items-center gap-3 p-4"},{default:n(()=>{var s;return[a("div",De,[t(e(B),{class:"size-5 text-status-info"})]),a("div",null,[a("div",Ae,l(((s=$.value)==null?void 0:s.notices)??0),1),a("div",Ne,l(e(i)["validate.notices"]),1)])]}),_:1})]),_:1}),t(e(z),null,{default:n(()=>[t(e(M),{class:"flex items-center gap-3 p-4"},{default:n(()=>{var s;return[a("div",We,[t(e(le),{class:"size-5 text-status-success"})]),a("div",null,[a("div",Te,l(((s=$.value)==null?void 0:s.models_checked)??0),1),a("div",Ue,l(e(i)["validate.models"]),1)])]}),_:1})]),_:1}),t(e(z),null,{default:n(()=>[t(e(M),{class:"flex items-center gap-3 p-4"},{default:n(()=>{var s;return[a("div",Ee,[t(e(ze),{class:"size-5 text-muted-foreground"})]),a("div",null,[a("div",Oe,l(((s=$.value)==null?void 0:s.entries_checked)??0),1),a("div",Ge,l(e(i)["validate.entries"]),1)])]}),_:1})]),_:1})]),j.value.length===0?(r(),u("div",Pe,[a("div",Re,[t(e(be),{class:"size-10 text-status-success"})]),a("h2",Ze,l(e(i)["validate.all-checks-passed"]),1),a("p",He,l(e(i)["validate.your-content-and-models"]),1),a("div",Je,[t(Y,{title:e(i)["validate.ask-your-agent"]},{default:n(()=>[t(D,{prompt:e(i)["validate.validate-my-content-models"],label:"re-validate"},null,8,["prompt"]),t(D,{prompt:e(i)["validate.check-content-quality-and"],label:e(i)["validate.quality-check"]},null,8,["prompt","label"])]),_:1},8,["title"])])])):(r(),u(k,{key:1},[a("div",Ke,[t(e(we),{class:"size-4 text-muted-foreground"}),a("div",Qe,[t(e(C),{variant:"ghost",size:"sm",class:g(e(w)("px-2.5 py-1 h-auto text-xs font-medium rounded-none transition-colors",I.value==="severity"?"bg-primary text-primary-foreground":"hover:bg-muted")),onClick:v[0]||(v[0]=s=>I.value="severity")},{default:n(()=>[m(l(e(i)["validate.by-severity"]),1)]),_:1},8,["class"]),t(e(C),{variant:"ghost",size:"sm",class:g(e(w)("px-2.5 py-1 h-auto text-xs font-medium rounded-none transition-colors",I.value==="model"?"bg-primary text-primary-foreground":"hover:bg-muted")),onClick:v[1]||(v[1]=s=>I.value="model")},{default:n(()=>[m(l(e(i)["validate.by-model"]),1)]),_:1},8,["class"])]),t(e(C),{variant:F.value?"default":"outline",size:"sm",class:"h-7 text-xs",onClick:v[2]||(v[2]=s=>F.value=!F.value)},{default:n(()=>[t(e(O),{class:"mr-1 size-3"}),m(" "+l(e(i)["validate.errors-2"])+l(A.value.length)+") ",1)]),_:1},8,["variant"]),t(e(C),{variant:L.value?"default":"outline",size:"sm",class:"h-7 text-xs",onClick:v[3]||(v[3]=s=>L.value=!L.value)},{default:n(()=>[t(e(U),{class:"mr-1 size-3"}),m(" "+l(e(i)["validate.warnings-2"])+l(N.value.length)+") ",1)]),_:1},8,["variant"]),t(e(C),{variant:V.value?"default":"outline",size:"sm",class:"h-7 text-xs",onClick:v[4]||(v[4]=s=>V.value=!V.value)},{default:n(()=>[t(e(B),{class:"mr-1 size-3"}),m(" "+l(e(i)["validate.notices-2"])+l(W.value.length)+") ",1)]),_:1},8,["variant"])]),t(Y,{title:e(i)["validate.ask-your-agent"]},{default:n(()=>[t(D,{prompt:e(i)["validate.fix-all-validation-errors"],label:"auto-fix"},null,8,["prompt"]),t(D,{prompt:e(i)["validate.review-and-fix-validation"],label:e(i)["validate.fix-warnings"]},null,8,["prompt","label"])]),_:1},8,["title"]),I.value==="model"?(r(),u("div",Xe,[(r(!0),u(k,null,q(Z.value,([s,c])=>(r(),_(e(se),{key:s,"default-open":Z.value.length<=5},{default:n(()=>[t(e(z),null,{default:n(()=>[t(e(ee),{class:"flex w-full items-center justify-between p-4 hover:bg-muted/50 transition-colors rounded-t-lg"},{default:n(()=>[a("div",Ye,[a("div",et,[t(e(le),{class:"size-4 text-primary"})]),a("span",tt,l(s),1),t(e(b),{variant:"secondary",class:"text-[10px]"},{default:n(()=>[m(l(c.length),1)]),_:2},1024),c.filter(d=>d.severity==="error").length>0?(r(),_(e(b),{key:0,variant:"destructive",class:"text-[10px]"},{default:n(()=>[m(l(c.filter(d=>d.severity==="error").length)+"E ",1)]),_:2},1024)):f("",!0),c.filter(d=>d.severity==="warning").length>0?(r(),_(e(b),{key:1,variant:"outline",class:"text-[10px] border-status-warning/50 text-status-warning"},{default:n(()=>[m(l(c.filter(d=>d.severity==="warning").length)+"W ",1)]),_:2},1024)):f("",!0)]),t(e(ne),{class:"size-4 text-muted-foreground transition-transform"})]),_:2},1024),t(e(te),null,{default:n(()=>[t(e(ae)),a("div",st,[(r(!0),u(k,null,q(c,(d,J)=>{var K,Q;return r(),u("div",{key:J,class:g(["flex items-start gap-3 p-4 transition-colors",d.model?"cursor-pointer hover:bg-muted/40":""]),onClick:bt=>d.model&&oe(d)},[(r(),_(E(((K=x[d.severity])==null?void 0:K.icon)??e(B)),{class:g(e(w)("mt-0.5 size-4 shrink-0",((Q=x[d.severity])==null?void 0:Q.color)??"text-muted-foreground"))},null,8,["class"])),a("div",lt,[a("div",nt,[t(e(b),{variant:d.severity==="error"?"destructive":"secondary",class:"text-[10px] uppercase"},{default:n(()=>[m(l(d.severity),1)]),_:2},1032,["variant"]),d.entry?(r(),u("span",ot,l(d.entry),1)):f("",!0),d.field?(r(),u("span",rt,"."+l(d.field),1)):f("",!0),d.locale?(r(),_(e(b),{key:2,variant:"outline",class:"text-[10px]"},{default:n(()=>[m(l(d.locale),1)]),_:2},1024)):f("",!0)]),a("p",it,l(d.message),1)])],10,at)}),128))])]),_:2},1024)]),_:2},1024)]),_:2},1032,["default-open"]))),128))])):(r(),u(k,{key:1},[ce.value?(r(),u("div",dt,[(r(!0),u(k,null,q(R.value,s=>(r(),_(e(se),{key:s.severity,open:s.open.value,"onUpdate:open":c=>s.open.value=c},{default:n(()=>[t(e(z),null,{default:n(()=>[t(e(ee),{class:"flex w-full items-center justify-between p-4 hover:bg-muted/50 transition-colors rounded-t-lg"},{default:n(()=>[a("div",ct,[a("div",{class:g(e(w)("flex size-8 items-center justify-center rounded-md",x[s.severity].bg))},[(r(),_(E(x[s.severity].icon),{class:g(e(w)("size-4",x[s.severity].color))},null,8,["class"]))],2),a("span",ut,l(x[s.severity].label),1),t(e(b),{variant:"secondary",class:"text-[10px]"},{default:n(()=>[m(l(s.issues.length),1)]),_:2},1024)]),t(e(ne),{class:g(["size-4 text-muted-foreground transition-transform",s.open.value&&"rotate-180"])},null,8,["class"])]),_:2},1024),t(e(te),null,{default:n(()=>[t(e(ae)),a("div",vt,[(r(!0),u(k,null,q(s.issues,(c,d)=>(r(),u("div",{key:d,class:g(e(w)("flex items-start gap-3 p-4",x[s.severity].bg))},[(r(),_(E(x[s.severity].icon),{class:g(e(w)("mt-0.5 size-4 shrink-0",x[s.severity].color))},null,8,["class"])),a("div",mt,[a("div",ft,[t(e(b),{variant:c.severity==="error"?"destructive":"secondary",class:"text-[10px] uppercase"},{default:n(()=>[m(l(c.severity),1)]),_:2},1032,["variant"]),c.model?(r(),_(e(C),{key:0,variant:"ghost",size:"sm",class:"h-auto font-mono text-xs text-primary hover:underline bg-muted px-1.5 py-0.5 rounded",onClick:J=>e(P).push(`/content/${c.model}`)},{default:n(()=>[m(l(c.model),1)]),_:2},1032,["onClick"])):f("",!0),c.entry?(r(),u("span",_t,l(c.entry),1)):f("",!0),c.field?(r(),u("span",pt," ."+l(c.field),1)):f("",!0),c.locale?(r(),_(e(b),{key:3,variant:"outline",class:"text-[10px]"},{default:n(()=>[m(l(c.locale),1)]),_:2},1024)):f("",!0)]),a("p",xt,l(c.message),1)])],2))),128))])]),_:2},1024)]),_:2},1024)]),_:2},1032,["open","onUpdate:open"]))),128))])):(r(),u("div",gt,[t(e(ke),{class:"size-8 text-muted-foreground mb-3"}),a("p",yt,l(e(i)["validate.all-issue-types-are"]),1)]))],64))],64))],64)):f("",!0),t(ye,{message:e(i)["validate.validation-results-update-automatically"],class:"mt-4"},null,8,["message"])])]))}});export{Nt as default};
@@ -1,4 +1,4 @@
1
- import{c as o}from"./index-RDdffBTh.js";/**
1
+ import{c as o}from"./index-DL_dw3XX.js";/**
2
2
  * @license lucide-vue-next v0.474.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as e}from"./index-RDdffBTh.js";/**
1
+ import{c as e}from"./index-DL_dw3XX.js";/**
2
2
  * @license lucide-vue-next v0.474.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as a}from"./index-RDdffBTh.js";/**
1
+ import{c as a}from"./index-DL_dw3XX.js";/**
2
2
  * @license lucide-vue-next v0.474.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as a}from"./index-RDdffBTh.js";/**
1
+ import{c as a}from"./index-DL_dw3XX.js";/**
2
2
  * @license lucide-vue-next v0.474.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as a}from"./index-RDdffBTh.js";/**
1
+ import{c as a}from"./index-DL_dw3XX.js";/**
2
2
  * @license lucide-vue-next v0.474.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as o}from"./index-RDdffBTh.js";/**
1
+ import{c as o}from"./index-DL_dw3XX.js";/**
2
2
  * @license lucide-vue-next v0.474.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as o}from"./index-RDdffBTh.js";/**
1
+ import{c as o}from"./index-DL_dw3XX.js";/**
2
2
  * @license lucide-vue-next v0.474.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -0,0 +1,6 @@
1
+ import{c as e}from"./index-DL_dw3XX.js";/**
2
+ * @license lucide-vue-next v0.474.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const r=e("CircleAlertIcon",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);export{r as C};
@@ -1 +1 @@
1
- import{d as C,r as n}from"./index-RDdffBTh.js";import{j as L}from"./useWatch-B2FLRWr8.js";const V=C("content",()=>{const e=L(),o=n(null),u=n(null),c=n(null),f=n([]),v=n(null),a=n(!1),i=n(null);async function d(t,l,h,p){a.value=!0;try{const r=new URLSearchParams;l&&r.set("locale",l),h!==void 0&&r.set("limit",String(h)),p!==void 0&&r.set("offset",String(p));const m=r.toString();o.value=await e.get(`/content/${t}${m?`?${m}`:""}`)}finally{a.value=!1}}async function g(t){a.value=!0;try{u.value=await e.get(`/describe/${t}`)}finally{a.value=!1}}async function b(t){a.value=!0;try{c.value=await e.get(`/validate${t?`?model=${t}`:""}`)}finally{a.value=!1}}async function w(){a.value=!0;try{c.value=await e.get("/validate?fix=true")}finally{a.value=!1}}async function z(){a.value=!0;try{const t=await e.get("/branches");f.value=t.branches}finally{a.value=!1}}async function $(t){a.value=!0;try{v.value=await e.get(`/branches/diff?name=${encodeURIComponent(t)}`)}finally{a.value=!1}}const y=n([]);async function S(t=50){a.value=!0;try{const l=await e.get(`/history?limit=${t}`);y.value=l.entries}finally{a.value=!1}}async function j(t){return e.post("/branches/approve",{branch:t})}async function P(t){return e.post("/branches/reject",{branch:t})}const s=n(null);async function B(){try{const t=await e.get("/normalize/plan");s.value=t.plan}catch{s.value=null}}async function D(){try{i.value=await e.get("/normalize/results")}catch{i.value=null}}async function R(t){return e.post("/normalize/plan/approve",t?{models:t}:{})}async function x(){return e.post("/normalize/plan/reject",{})}return{contentList:o,modelDescription:u,validation:c,branches:f,branchDiff:v,history:y,normalizePlan:s,loading:a,normalizeResults:i,fetchContent:d,fetchModelDescription:g,fetchValidation:b,fetchValidationWithFix:w,fetchBranches:z,fetchBranchDiff:$,fetchHistory:S,approveBranch:j,rejectBranch:P,fetchNormalizePlan:B,fetchNormalizeResults:D,approvePlan:R,rejectPlan:x}});export{V as u};
1
+ import{d as C,r as n}from"./index-DL_dw3XX.js";import{j as L}from"./useWatch-D4Y-epQR.js";const V=C("content",()=>{const e=L(),o=n(null),u=n(null),c=n(null),f=n([]),v=n(null),a=n(!1),i=n(null);async function d(t,l,h,p){a.value=!0;try{const r=new URLSearchParams;l&&r.set("locale",l),h!==void 0&&r.set("limit",String(h)),p!==void 0&&r.set("offset",String(p));const m=r.toString();o.value=await e.get(`/content/${t}${m?`?${m}`:""}`)}finally{a.value=!1}}async function g(t){a.value=!0;try{u.value=await e.get(`/describe/${t}`)}finally{a.value=!1}}async function b(t){a.value=!0;try{c.value=await e.get(`/validate${t?`?model=${t}`:""}`)}finally{a.value=!1}}async function w(){a.value=!0;try{c.value=await e.get("/validate?fix=true")}finally{a.value=!1}}async function z(){a.value=!0;try{const t=await e.get("/branches");f.value=t.branches}finally{a.value=!1}}async function $(t){a.value=!0;try{v.value=await e.get(`/branches/diff?name=${encodeURIComponent(t)}`)}finally{a.value=!1}}const y=n([]);async function S(t=50){a.value=!0;try{const l=await e.get(`/history?limit=${t}`);y.value=l.entries}finally{a.value=!1}}async function j(t){return e.post("/branches/approve",{branch:t})}async function P(t){return e.post("/branches/reject",{branch:t})}const s=n(null);async function B(){try{const t=await e.get("/normalize/plan");s.value=t.plan}catch{s.value=null}}async function D(){try{i.value=await e.get("/normalize/results")}catch{i.value=null}}async function R(t){return e.post("/normalize/plan/approve",t?{models:t}:{})}async function x(){return e.post("/normalize/plan/reject",{})}return{contentList:o,modelDescription:u,validation:c,branches:f,branchDiff:v,history:y,normalizePlan:s,loading:a,normalizeResults:i,fetchContent:d,fetchModelDescription:g,fetchValidation:b,fetchValidationWithFix:w,fetchBranches:z,fetchBranchDiff:$,fetchHistory:S,approveBranch:j,rejectBranch:P,fetchNormalizePlan:B,fetchNormalizeResults:D,approvePlan:R,rejectPlan:x}});export{V as u};
@@ -1,4 +1,4 @@
1
- import{c as e}from"./index-RDdffBTh.js";/**
1
+ import{c as e}from"./index-DL_dw3XX.js";/**
2
2
  * @license lucide-vue-next v0.474.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as a}from"./index-RDdffBTh.js";/**
1
+ import{c as a}from"./index-DL_dw3XX.js";/**
2
2
  * @license lucide-vue-next v0.474.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as e}from"./index-RDdffBTh.js";/**
1
+ import{c as e}from"./index-DL_dw3XX.js";/**
2
2
  * @license lucide-vue-next v0.474.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c}from"./index-RDdffBTh.js";/**
1
+ import{c}from"./index-DL_dw3XX.js";/**
2
2
  * @license lucide-vue-next v0.474.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c}from"./index-RDdffBTh.js";/**
1
+ import{c}from"./index-DL_dw3XX.js";/**
2
2
  * @license lucide-vue-next v0.474.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as y}from"./index-RDdffBTh.js";/**
1
+ import{c as y}from"./index-DL_dw3XX.js";/**
2
2
  * @license lucide-vue-next v0.474.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.