@standardagents/builder 0.45.8 → 0.45.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/built-in-routes.js +1 -1
- package/dist/client/{ApiKeysView-BcqUvH1N.js → ApiKeysView-BwDYd2nU.js} +1 -1
- package/dist/client/{CodeEditor-C9bQ4Z3b.js → CodeEditor-xwWkV1-c.js} +3 -3
- package/dist/client/CompositionView-D1bxg5aS.js +72 -0
- package/dist/client/{CopyButton.vue_vue_type_script_setup_true_lang-DX9-shOV.js → CopyButton.vue_vue_type_script_setup_true_lang-CLj4kYi5.js} +1 -1
- package/dist/client/{DataTable.vue_vue_type_script_setup_true_lang-B85c2lO4.js → DataTable.vue_vue_type_script_setup_true_lang-CkugFRtR.js} +1 -1
- package/dist/client/{DefinitionSource-Bpge2u90.js → DefinitionSource-BbqSJUnU.js} +3 -3
- package/dist/client/{DefinitionUsedBy.vue_vue_type_script_setup_true_lang-BVz1zKTE.js → DefinitionUsedBy.vue_vue_type_script_setup_true_lang-BMGuiEk7.js} +1 -1
- package/dist/client/{LoginView-rym24zTR.js → LoginView-0OVTMU2S.js} +1 -1
- package/dist/client/{MarketplaceView-iAUImVOg.js → MarketplaceView-BuQxQaUp.js} +1 -1
- package/dist/client/{Modal.vue_vue_type_script_setup_true_lang-DOTIR3w5.js → Modal.vue_vue_type_script_setup_true_lang-UlrwSOT8.js} +1 -1
- package/dist/client/{ModelsView-D-GX47Hw.js → ModelsView-B9nRyP5Y.js} +1 -1
- package/dist/client/{PromptView-C_KoH5Mj.js → PromptView-3MXx3DhS.js} +1 -1
- package/dist/client/{PromptsView-CDiHQ75x.js → PromptsView-CaS5lNVN.js} +1 -1
- package/dist/client/{ProvidersView-COIzWC9J.js → ProvidersView-jwLDm5PC.js} +1 -1
- package/dist/client/{ToolsView-DgQIHbKB.js → ToolsView-DfaKB3DJ.js} +1 -1
- package/dist/client/{UiButton.vue_vue_type_script_setup_true_lang-BezveAaR.js → UiButton.vue_vue_type_script_setup_true_lang-CVyrFcWg.js} +1 -1
- package/dist/client/{UiEmptyState.vue_vue_type_script_setup_true_lang-n9hcWKvI.js → UiEmptyState.vue_vue_type_script_setup_true_lang-BD_dt9VV.js} +1 -1
- package/dist/client/{UiFilterMenu.vue_vue_type_script_setup_true_lang-CcYZv4bj.js → UiFilterMenu.vue_vue_type_script_setup_true_lang-BE1kHACC.js} +1 -1
- package/dist/client/{UiPageFrame-CeuT1rer.js → UiPageFrame-CP9KRIIM.js} +1 -1
- package/dist/client/{UsersView-C0283pU_.js → UsersView-SCr3Ls5P.js} +1 -1
- package/dist/client/{VariablesView-DljSo_RS.js → VariablesView-DGyxj9Ow.js} +1 -1
- package/dist/client/assets/{index-BBzCGX26.css → index-D0bcj_gk.css} +1 -1
- package/dist/client/{form-errors-cxIParHK.js → form-errors-D9RXsjd2.js} +1 -1
- package/dist/client/{index-CgCqkjVa.js → index-BkfWiMo-.js} +1 -1
- package/dist/client/index-BwlCQIem.js +5 -0
- package/dist/client/{index-er6dD-sT.js → index-C4-LP0pJ.js} +1 -1
- package/dist/client/{index-BEnYvzGi.js → index-CDCQWHe2.js} +1 -1
- package/dist/client/{index-CzsbmDuv.js → index-ChLk4ONU.js} +1 -1
- package/dist/client/{index-BFKj1V0c.js → index-CmfTs1yz.js} +1 -1
- package/dist/client/{index-C7gIQnkU.js → index-CwBC9sTn.js} +1 -1
- package/dist/client/{index-Dj5tjGFV.js → index-D4_R8FnR.js} +1 -1
- package/dist/client/{index-DfVgpfCm.js → index-DcCqDioc.js} +1 -1
- package/dist/client/{index-BcQ5zdWM.js → index-b4VUAUvJ.js} +1 -1
- package/dist/client/{index-DvSYq8lz.js → index-jI_N1y04.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/client/{schemaArguments-B2ppewpv.js → schemaArguments-DnkXBmpq.js} +1 -1
- package/dist/client/{toolReference-B96xiDXn.js → toolReference-Dnhl8D6k.js} +1 -1
- package/dist/client/{useDefinitionUsage-BxmZT4nk.js → useDefinitionUsage-CkISuMRg.js} +1 -1
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -1
- package/dist/plugin.d.ts +10 -0
- package/dist/plugin.js +20 -0
- package/dist/plugin.js.map +1 -1
- package/package.json +7 -6
- package/dist/client/CompositionView-GlnAWxhl.js +0 -72
- package/dist/client/index-DnlG7hIl.js +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
import{aj as u,F as y,C}from"./index-
|
|
1
|
+
import{aj as u,F as y,C}from"./index-BwlCQIem.js";import{u as m}from"./useClipboardCopy-DURjq7gM.js";import{d as h,b as i,e as o,A as t,n as k,k as n,z as x}from"./vue-CnrejLtC.js";const g=["disabled","title","aria-label"],v={key:3},I=h({__name:"CopyButton",props:{content:{},variant:{},size:{},disabled:{type:Boolean}},setup(e){const l=e,{copying:r,copied:a,error:s,copy:d}=m(),c=async()=>{await d(l.content)},p={xs:"p-1 text-xs",sm:"px-2 py-1 text-xs"},b={solid:"bg-neutral-900 text-white hover:bg-neutral-700 dark:bg-neutral-100 dark:text-neutral-950 dark:hover:bg-neutral-300",ghost:"text-neutral-500 hover:bg-neutral-100 hover:text-neutral-900 dark:text-neutral-400 dark:hover:bg-neutral-800 dark:hover:text-neutral-100"};return(f,z)=>(o(),i("button",{onClick:c,disabled:t(r)||e.disabled,class:k([p[e.size||"sm"],b[e.variant||"solid"],"font-medium rounded-md disabled:opacity-50 disabled:cursor-not-allowed transition-colors"]),title:e.disabled?"No content to copy":t(s)?`Copy failed: ${t(s)}`:t(a)?"Copied!":"Copy to clipboard","aria-label":e.disabled?"No content to copy":t(s)?`Copy failed: ${t(s)}`:t(a)?"Copied to clipboard":"Copy to clipboard"},[t(r)?(o(),n(u,{key:0,size:"xs"})):e.variant==="ghost"&&!t(a)?(o(),n(t(y),{key:1,class:"h-3.5 w-3.5"})):e.variant==="ghost"&&t(a)?(o(),n(t(C),{key:2,class:"h-3.5 w-3.5"})):(o(),i("span",v,x(t(a)?"Copied!":"Copy"),1))],10,g))}});export{I as _};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as Q,b as o,e as r,f as s,d as q,c as g,q as y,y as H,z as R,D as V,A as E,F as I,B as D,n as A,k as M,l as $,g as m,G as Ie,H as Me,r as K,b7 as Re,J as ne,K as Ve,L as ze,E as te,x as ae,C as ue,ao as de,b9 as De,X as Te}from"./vue-CnrejLtC.js";import{c as ce,_ as Be,d as Ke,b as Le,a as Pe,I as Ee}from"./UiFilterMenu.vue_vue_type_script_setup_true_lang-CcYZv4bj.js";import{I as Ue,aD as je,E as he,aj as Fe}from"./index-DnlG7hIl.js";import{a as Oe}from"./UiEmptyState.vue_vue_type_script_setup_true_lang-n9hcWKvI.js";import{U as He,_ as Qe}from"./UiPageFrame-CeuT1rer.js";const Ne={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Ge(a,l){return r(),o("svg",Ne,[...l[0]||(l[0]=[s("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 11v6m4-6v6m5-11v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"},null,-1)])])}const qe=Q({name:"lucide-trash-2",render:Ge}),Xe={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Ye(a,l){return r(),o("svg",Xe,[...l[0]||(l[0]=[s("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[s("path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),s("path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"})],-1)])])}const Je=Q({name:"lucide-edit",render:Ye}),We={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Ze(a,l){return r(),o("svg",We,[...l[0]||(l[0]=[s("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[s("path",{d:"M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0"}),s("circle",{cx:"12",cy:"12",r:"3"})],-1)])])}const et=Q({name:"lucide-eye",render:Ze}),tt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function at(a,l){return r(),o("svg",tt,[...l[0]||(l[0]=[s("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m15 18l-6-6l6-6"},null,-1)])])}const nt=Q({name:"lucide-chevron-left",render:at}),lt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function rt(a,l){return r(),o("svg",lt,[...l[0]||(l[0]=[s("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m11 17l-5-5l5-5m7 10l-5-5l5-5"},null,-1)])])}const st=Q({name:"lucide-chevrons-left",render:rt}),ot={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function it(a,l){return r(),o("svg",ot,[...l[0]||(l[0]=[s("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m6 17l5-5l-5-5m7 10l5-5l-5-5"},null,-1)])])}const ut=Q({name:"lucide-chevrons-right",render:it}),dt={key:0,class:"flex flex-wrap items-center justify-between gap-4 px-4 py-2.5 text-sm bg-neutral-50 dark:bg-neutral-800/50 border-t border-neutral-300 dark:border-neutral-700"},ct={class:"text-neutral-500 dark:text-neutral-400 text-xs font-medium"},ht={class:"text-neutral-700 dark:text-neutral-300"},ft={class:"text-neutral-700 dark:text-neutral-300"},gt={class:"text-neutral-700 dark:text-neutral-300"},pt={class:"flex items-center gap-0.5"},vt=["disabled"],bt=["disabled"],mt={class:"flex items-center gap-0.5 mx-1"},kt={key:0,class:"px-2 text-neutral-400 dark:text-neutral-500 text-xs"},yt=["onClick"],xt=["disabled"],wt=["disabled"],$t={class:"flex items-center gap-2"},Ct=["value"],_t=["value"],St=q({__name:"DataTablePagination",props:{page:{},pageSize:{},totalItems:{},pageSizeOptions:{default:()=>[10,25,50,100]}},emits:["update:page","update:pageSize"],setup(a,{emit:l}){const t=a,u=l,c=g(()=>Math.ceil(t.totalItems/t.pageSize)),i=g(()=>t.totalItems===0?0:(t.page-1)*t.pageSize+1),h=g(()=>Math.min(t.page*t.pageSize,t.totalItems)),k=g(()=>t.page>1),_=g(()=>t.page<c.value),w=g(()=>{const b=[],p=c.value,v=t.page;if(p<=7)for(let S=1;S<=p;S++)b.push(S);else{b.push(1),v>3&&b.push("...");const S=Math.max(2,v-1),P=Math.min(p-1,v+1);for(let F=S;F<=P;F++)b.includes(F)||b.push(F);v<p-2&&b.push("..."),b.includes(p)||b.push(p)}return b}),x=b=>{b>=1&&b<=c.value&&u("update:page",b)},z=()=>x(1),L=()=>x(t.page-1),X=()=>x(t.page+1),U=()=>x(c.value),j=b=>{const p=b.target;u("update:pageSize",parseInt(p.value,10)),u("update:page",1)};return(b,p)=>a.totalItems>0?(r(),o("div",dt,[s("div",ct,[p[0]||(p[0]=H(" Showing ",-1)),s("span",ht,R(i.value),1),p[1]||(p[1]=H(" to ",-1)),s("span",ft,R(h.value),1),p[2]||(p[2]=H(" of ",-1)),s("span",gt,R(a.totalItems),1)]),s("div",pt,[s("button",{type:"button",onClick:z,disabled:!k.value,class:"p-1.5 rounded-md transition-colors duration-150 hover:bg-neutral-200 dark:hover:bg-neutral-700 disabled:opacity-30 disabled:cursor-not-allowed disabled:hover:bg-transparent",title:"First page"},[V(E(st),{class:"w-4 h-4 text-neutral-500 dark:text-neutral-400"})],8,vt),s("button",{type:"button",onClick:L,disabled:!k.value,class:"p-1.5 rounded-md transition-colors duration-150 hover:bg-neutral-200 dark:hover:bg-neutral-700 disabled:opacity-30 disabled:cursor-not-allowed disabled:hover:bg-transparent",title:"Previous page"},[V(E(nt),{class:"w-4 h-4 text-neutral-500 dark:text-neutral-400"})],8,bt),s("div",mt,[(r(!0),o(I,null,D(w.value,(v,S)=>(r(),o(I,{key:S},[v==="..."?(r(),o("span",kt," ... ")):(r(),o("button",{key:1,type:"button",onClick:P=>x(v),class:A(["min-w-[1.75rem] px-2 py-1 rounded-md text-xs font-medium transition-colors duration-150",v===a.page?"bg-accent-600 text-white shadow-sm":"text-neutral-600 dark:text-neutral-400 hover:bg-neutral-200 dark:hover:bg-neutral-700 hover:text-neutral-900 dark:hover:text-neutral-200"])},R(v),11,yt))],64))),128))]),s("button",{type:"button",onClick:X,disabled:!_.value,class:"p-1.5 rounded-md transition-colors duration-150 hover:bg-neutral-200 dark:hover:bg-neutral-700 disabled:opacity-30 disabled:cursor-not-allowed disabled:hover:bg-transparent",title:"Next page"},[V(E(Ue),{class:"w-4 h-4 text-neutral-500 dark:text-neutral-400"})],8,xt),s("button",{type:"button",onClick:U,disabled:!_.value,class:"p-1.5 rounded-md transition-colors duration-150 hover:bg-neutral-200 dark:hover:bg-neutral-700 disabled:opacity-30 disabled:cursor-not-allowed disabled:hover:bg-transparent",title:"Last page"},[V(E(ut),{class:"w-4 h-4 text-neutral-500 dark:text-neutral-400"})],8,wt)]),s("div",$t,[s("select",{value:a.pageSize,onChange:j,class:"px-2 py-1 rounded-md border border-neutral-200 dark:border-neutral-700 bg-white dark:bg-neutral-800 text-xs font-medium text-neutral-700 dark:text-neutral-300 focus:outline-none focus:ring-2 focus:ring-accent-500/30 focus:border-accent-500 dark:focus:border-accent-400 cursor-pointer transition-colors"},[(r(!0),o(I,null,D(a.pageSizeOptions,v=>(r(),o("option",{key:v,value:v},R(v),9,_t))),128))],40,Ct),p[3]||(p[3]=s("span",{class:"text-neutral-500 dark:text-neutral-400 text-xs"},"per page",-1))])])):y("",!0)}}),At={key:0,class:"flex flex-col gap-2"},It={class:"overflow-x-auto rounded-lg border border-neutral-200 bg-white dark:border-neutral-800 dark:bg-neutral-900"},Mt={key:1,class:"flex w-full flex-col gap-3"},Rt={key:0,class:"flex flex-col gap-2"},Vt={class:"overflow-x-auto rounded-lg border border-neutral-200 bg-white dark:border-neutral-800 dark:bg-neutral-900"},zt=q({__name:"UiListPage",props:{layout:{default:"page"}},setup(a){return(l,t)=>a.layout==="page"?(r(),M(He,{key:0},{default:$(()=>[m(l.$slots,"header"),l.$slots.notices?(r(),o("div",At,[m(l.$slots,"notices")])):y("",!0),m(l.$slots,"toolbar"),s("div",It,[m(l.$slots,"default")])]),_:3})):(r(),o("div",Mt,[l.$slots.notices?(r(),o("div",Rt,[m(l.$slots,"notices")])):y("",!0),m(l.$slots,"toolbar"),s("div",Vt,[m(l.$slots,"default")])]))}}),Dt={class:"flex min-w-0 flex-wrap items-center gap-2"},Tt={class:"flex min-w-0 flex-auto items-center gap-2"},Bt={class:"ml-auto flex shrink-0 items-center gap-2"},Kt=q({__name:"UiPageToolbar",setup(a){return(l,t)=>(r(),o("div",Dt,[s("div",Tt,[m(l.$slots,"default")]),s("div",Bt,[m(l.$slots,"end"),m(l.$slots,"search")])]))}}),Lt={class:"flex h-8 w-48 items-center gap-1.5 rounded-md border border-neutral-200 bg-white px-2 text-sm transition-colors focus-within:border-neutral-400 xl:w-72 dark:border-neutral-700 dark:bg-neutral-900 dark:focus-within:border-neutral-500"},Pt=["placeholder","aria-label"],Et={key:0,class:"rounded border border-neutral-200 px-1 font-sans text-[11px] leading-4 text-neutral-400 dark:border-neutral-700","aria-hidden":"true"},Ut=q({__name:"UiSearchField",props:Ie({placeholder:{default:"Search"}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const l=Me(a,"modelValue"),t=K(null);function u(i){return i instanceof HTMLElement?i.isContentEditable||["INPUT","TEXTAREA","SELECT"].includes(i.tagName):!1}Re("/",i=>{u(i.target)||i.metaKey||i.ctrlKey||i.altKey||(i.preventDefault(),t.value?.focus())});function c(){l.value?l.value="":t.value?.blur()}return(i,h)=>(r(),o("label",Lt,[V(E(je),{class:"h-3.5 w-3.5 shrink-0 text-neutral-400"}),ne(s("input",{ref_key:"inputRef",ref:t,"onUpdate:modelValue":h[0]||(h[0]=k=>l.value=k),type:"search",placeholder:a.placeholder,"aria-label":a.placeholder,class:"min-w-0 flex-1 bg-transparent text-neutral-900 outline-none placeholder:text-neutral-400 dark:text-neutral-100 [&::-webkit-search-cancel-button]:hidden",onKeydown:ze(c,["esc"])},null,40,Pt),[[Ve,l.value]]),l.value?y("",!0):(r(),o("kbd",Et,"/"))]))}});function C(a,l){return Reflect.get(a,l)}function jt(a,l,t){const u=C(a,l);return typeof u=="string"||typeof u=="number"||typeof u=="symbol"?u:t}function Ft(a,l){const t=C(a,l.key);return l.formatter?l.formatter(t,a):t??"-"}function Ot(a,l){return a.filter(t=>t.filterable===!0).map(t=>{const u=new Map;for(const c of l){const i=C(c,t.key);if(i==null)continue;const h=t.formatter?t.formatter(i,c):String(i);u.has(h)||u.set(h,{value:h,icon:t.filterIcon?.(i,c)})}return{key:t.key,label:t.label,options:Array.from(u.entries()).sort((c,i)=>c[0].localeCompare(i[0])).map(([c,i])=>({value:c,label:c,icon:i.icon}))}})}function Ht(a,l,t,u,c){let i=a;const h=Object.entries(t);if(h.length>0&&(i=i.filter(_=>h.every(([w,x])=>{const z=l.find(U=>U.key===w);if(!z)return!0;const L=C(_,w);return L==null?!1:(z.formatter?z.formatter(L,_):String(L))===x}))),!c||!u.trim())return i;const k=u.toLowerCase().trim();return i.filter(_=>l.some(w=>{if(w.searchable===!1)return!1;const x=C(_,w.key);return x==null?!1:(w.formatter?w.formatter(x,_):String(x)).toLowerCase().includes(k)}))}function Qt(a,l,t){return l?[...a].sort((u,c)=>{const i=C(u,l),h=C(c,l);if(i==null&&h==null)return 0;if(i==null)return t==="asc"?1:-1;if(h==null)return t==="asc"?-1:1;let k=0;return typeof i=="string"&&typeof h=="string"?k=i.localeCompare(h,void 0,{sensitivity:"base"}):typeof i=="number"&&typeof h=="number"?k=i-h:k=String(i).localeCompare(String(h)),t==="asc"?k:-k}):a}function Nt(a,l,t){const u=C(a,t);return l.some(c=>C(c,t)===u)}const Gt={class:"text-[13px] text-neutral-500 dark:text-neutral-400"},qt={class:"w-full"},Xt={key:0,class:"px-4 py-2.5 w-12"},Yt={class:"flex items-center justify-center"},Jt=["checked","indeterminate"],Wt=["onClick"],Zt={key:1,class:"px-3 xl:px-4 py-2 last:pr-5 text-right text-xs font-medium text-neutral-500 dark:text-neutral-400 w-24"},ea={class:"divide-y divide-(--color-border-subtle)"},ta={key:0},aa=["colspan"],na={class:"flex flex-col items-center justify-center gap-3 text-neutral-400"},la={key:1},ra=["colspan"],sa=["onClick"],oa={key:0,class:"absolute left-0 top-0 bottom-0 w-0.5 bg-accent-500"},ia={class:"flex items-center justify-center"},ua=["checked","onChange"],da=["innerHTML"],ca={class:"inline-flex gap-0.5"},ha=["disabled","onClick","title"],fa=["disabled","onClick","title"],ka=q({__name:"DataTable",props:{columns:{},data:{},actions:{},emptyMessage:{default:he.tables.generic},empty:{},loading:{type:Boolean,default:!1},title:{},description:{},primaryAction:{},sortable:{type:Boolean,default:!1},sortKey:{},sortDirection:{default:"asc"},searchable:{type:Boolean,default:!1},searchQuery:{default:""},searchPlaceholder:{default:"Search..."},paginated:{type:Boolean,default:!1},page:{default:1},pageSize:{default:10},totalItems:{default:0},pageSizeOptions:{default:()=>[10,25,50,100]},selectable:{type:Boolean,default:!1},selectedRows:{default:()=>[]},rowKey:{default:"id"},bulkActions:{default:()=>[]}},emits:["update:sortKey","update:sortDirection","sort","update:searchQuery","search","update:page","update:pageSize","page-change","update:selectedRows","selection-change","row-click"],setup(a,{emit:l}){const t=a,u=l,c=K(!1),i=K(""),h=K(null),k=e=>{if(typeof e!="string")return e;switch(e){case"edit":return Je;case"delete":return qe;case"view":return et;default:return null}},_=(e,d)=>Ft(e,d),w=e=>{switch(e){case"center":return"text-center";case"right":return"text-right";default:return"text-left"}},x=(e,d)=>d.cellClass?typeof d.cellClass=="function"?d.cellClass(e):d.cellClass:"",z=async(e,d)=>{if(e.confirm){const n=typeof e.confirmMessage=="function"?e.confirmMessage(d):e.confirmMessage||`Are you sure you want to ${e.label.toLowerCase()}?`;i.value=n,h.value=async()=>{await e.handler(d)},c.value=!0}else await e.handler(d)},L=async()=>{h.value&&(await h.value(),h.value=null),c.value=!1},X=()=>{h.value=null,c.value=!1},U=(e,d)=>e.visible===void 0?!0:typeof e.visible=="function"?e.visible(d):e.visible,j=(e,d)=>e.disabled===void 0?!1:typeof e.disabled=="function"?e.disabled(d):e.disabled,b=K(null),p=K("asc"),v=g(()=>t.sortKey??b.value),S=g(()=>t.sortKey!==void 0?t.sortDirection:p.value),P=e=>t.sortable&&e.sortable===!0,F=e=>{if(!P(e))return;const d=e.key;let n="asc";v.value===d&&(n=S.value==="asc"?"desc":"asc"),b.value=d,p.value=n,u("update:sortKey",d),u("update:sortDirection",n),u("sort",{key:d,direction:n})},fe=e=>v.value!==e.key?Le:S.value==="asc"?Pe:Ee,O=g(()=>!v.value||!t.sortable?Y.value:Qt(Y.value,v.value,S.value)),N=K(t.searchQuery),T=K({}),ge=De(e=>{u("update:searchQuery",e),u("search",e)},300),pe=e=>{N.value=e,ge(e)},ve=()=>{N.value="",u("update:searchQuery",""),u("search","")},le=g(()=>Ot(t.columns,t.data)),be=(e,d)=>{if(d===""){const n={...T.value};delete n[e],T.value=n}else T.value={...T.value,[e]:d}},Y=g(()=>Ht(t.data,t.columns,T.value,N.value,t.searchable)),J=g(()=>{let e=0;return N.value&&e++,e+=Object.keys(T.value).length,e}),re=g(()=>J.value>0?{message:he.tables.noMatches}:t.empty??{message:t.emptyMessage}),se=()=>{ve(),T.value={}},G=e=>Nt(e,t.selectedRows,t.rowKey),oe=g(()=>O.value.length>0&&t.selectedRows.length===O.value.length),me=g(()=>t.selectedRows.length>0&&t.selectedRows.length<O.value.length),ke=e=>{const d=C(e,t.rowKey);let n;G(e)?n=t.selectedRows.filter(B=>C(B,t.rowKey)!==d):n=[...t.selectedRows,e],u("update:selectedRows",n),u("selection-change",n)},ye=()=>{const e=oe.value?[]:[...O.value];u("update:selectedRows",e),u("selection-change",e)},xe=async e=>{if(e.confirm){const d=e.confirmMessage||`Are you sure you want to ${e.label.toLowerCase()} ${t.selectedRows.length} item(s)?`;i.value=d,h.value=async()=>{await e.handler(t.selectedRows)},c.value=!0}else await e.handler(t.selectedRows)},we=e=>{u("update:page",e),u("page-change",e)},$e=e=>{u("update:pageSize",e)},W=g(()=>!!t.title),Ce=g(()=>J.value>0&&Y.value.length!==t.data.length?`${Y.value.length} of ${t.data.length}`:t.data.length),Z=g(()=>t.actions&&t.actions.length>0),_e=g(()=>t.actions?.filter(e=>e.variant!=="danger")||[]),Se=g(()=>t.actions?.filter(e=>e.variant==="danger")||[]),ie=g(()=>{let e=t.columns.length;return t.selectable&&e++,Z.value&&e++,e});return(e,d)=>(r(),M(zt,{layout:W.value?"page":"embedded"},te({default:$(()=>[s("table",qt,[s("thead",{class:A(W.value?"border-b border-neutral-200 dark:border-neutral-800":"bg-neutral-50 dark:bg-neutral-800/50 border-b border-neutral-300 dark:border-neutral-700")},[s("tr",null,[a.selectable?(r(),o("th",Xt,[s("div",Yt,[s("input",{type:"checkbox",checked:oe.value,indeterminate:me.value,onChange:ye,class:"w-4 h-4 rounded border-neutral-300 dark:border-neutral-600 text-accent-600 focus:ring-accent-500 focus:ring-offset-0 cursor-pointer transition-colors"},null,40,Jt)])])):y("",!0),(r(!0),o(I,null,D(a.columns,n=>(r(),o("th",{key:n.key,class:A(["px-3 xl:px-4 py-2 first:pl-5 last:pr-5 text-xs font-medium text-neutral-500 dark:text-neutral-400",w(n.align),n.width||"",P(n)?"cursor-pointer select-none group":""]),onClick:B=>F(n)},[s("div",{class:A(["inline-flex items-center gap-1",n.align==="right"?"flex-row-reverse":"",P(n)?"hover:text-neutral-700 dark:hover:text-neutral-200 transition-colors":""])},[s("span",null,R(n.label),1),P(n)?(r(),o("span",{key:0,class:A(["inline-flex items-center justify-center w-5 h-5 rounded transition-colors duration-150",v.value===n.key?"bg-accent-100 dark:bg-accent-900/50":"group-hover:bg-neutral-200 dark:group-hover:bg-neutral-700"])},[(r(),M(ae(fe(n)),{class:A(["w-3.5 h-3.5",v.value===n.key?"text-accent-600 dark:text-accent-400":"text-neutral-400 dark:text-neutral-500"])},null,8,["class"]))],2)):y("",!0)],2)],10,Wt))),128)),Z.value?(r(),o("th",Zt," Actions ")):y("",!0)])],2),s("tbody",ea,[a.loading?(r(),o("tr",ta,[s("td",{colspan:ie.value,class:"px-4 py-16"},[m(e.$slots,"loading",{},()=>[s("div",na,[V(Fe,{size:"md"}),d[3]||(d[3]=s("span",{class:"text-sm"},"Loading data…",-1))])])],8,aa)])):O.value.length===0?(r(),o("tr",la,[s("td",{colspan:ie.value,class:"px-4 py-16"},[m(e.$slots,"empty",{},()=>[V(Oe,Te(re.value,{"show-icon":!re.value.prompts}),{default:$(()=>[J.value>0?(r(),o("button",{key:0,onClick:se,type:"button",class:"mt-3 text-xs text-accent-600 dark:text-accent-400 hover:underline font-medium"}," Clear filters ")):y("",!0)]),_:1},16,["show-icon"])])],8,ra)])):(r(!0),o(I,{key:2},D(O.value,(n,B)=>(r(),o("tr",{key:E(jt)(n,a.rowKey,B),class:A(["transition-colors duration-150 cursor-pointer relative",G(n)?"bg-accent-50 dark:bg-accent-950/30":"hover:bg-neutral-50 dark:hover:bg-neutral-900/50"]),onClick:f=>u("row-click",n)},[G(n)?(r(),o("div",oa)):y("",!0),a.selectable?(r(),o("td",{key:1,class:"px-4 py-3",onClick:d[0]||(d[0]=ue(()=>{},["stop"]))},[s("div",ia,[s("input",{type:"checkbox",checked:G(n),onChange:f=>ke(n),class:"w-4 h-4 rounded border-neutral-300 dark:border-neutral-600 text-accent-600 focus:ring-accent-500 focus:ring-offset-0 cursor-pointer transition-colors"},null,40,ua)])])):y("",!0),(r(!0),o(I,null,D(a.columns,f=>(r(),o("td",{key:f.key,class:A(["px-3 xl:px-4 py-2.5 first:pl-5 last:pr-5 text-[13px]",w(f.align),x(n,f),G(n)?"text-accent-900 dark:text-accent-100":"text-neutral-700 dark:text-neutral-300"])},[m(e.$slots,`cell-${f.key}`,{value:E(C)(n,f.key),row:n,column:f},()=>[f.html?(r(),o("span",{key:0,innerHTML:_(n,f)},null,8,da)):(r(),o(I,{key:1},[H(R(_(n,f)),1)],64))])],2))),128)),Z.value?(r(),o("td",{key:2,class:"px-3 xl:px-4 py-1.5 last:pr-5 text-right",onClick:d[1]||(d[1]=ue(()=>{},["stop"]))},[s("div",ca,[(r(!0),o(I,null,D(_e.value,(f,ee)=>ne((r(),o("button",{key:`non-delete-${ee}`,disabled:j(f,n),onClick:Ae=>z(f,n),class:A(["p-1.5 rounded-md transition-colors duration-150",j(f,n)?"opacity-30 cursor-not-allowed":"text-neutral-400 hover:text-neutral-700 hover:bg-neutral-100 dark:hover:text-neutral-200 dark:hover:bg-neutral-800"]),title:f.label},[(r(),M(ae(k(f.icon)),{class:"w-4 h-4"}))],10,ha)),[[de,U(f,n)]])),128)),m(e.$slots,"extra-actions",{row:n}),(r(!0),o(I,null,D(Se.value,(f,ee)=>ne((r(),o("button",{key:`delete-${ee}`,disabled:j(f,n),onClick:Ae=>z(f,n),class:A(["p-1.5 rounded-md transition-colors duration-150",j(f,n)?"opacity-30 cursor-not-allowed":"text-neutral-400 hover:text-red-600 hover:bg-red-50 dark:hover:text-red-400 dark:hover:bg-red-900/30"]),title:f.label},[(r(),M(ae(k(f.icon)),{class:"w-4 h-4"}))],10,fa)),[[de,U(f,n)]])),128))])])):y("",!0)],10,sa))),128))])]),a.paginated?(r(),M(St,{key:0,page:a.page,"page-size":a.pageSize,"total-items":a.totalItems,"page-size-options":a.pageSizeOptions,"onUpdate:page":we,"onUpdate:pageSize":$e},null,8,["page","page-size","total-items","page-size-options"])):y("",!0),V(Ke,{modelValue:c.value,"onUpdate:modelValue":d[2]||(d[2]=n=>c.value=n),title:"Confirm action",message:i.value,"confirm-text":"Confirm","cancel-text":"Cancel",onConfirm:L,onCancel:X},null,8,["modelValue","message"])]),_:2},[W.value&&a.title?{name:"header",fn:$(()=>[V(Qe,{title:a.title,count:a.loading?null:Ce.value,description:a.description},te({_:2},[a.primaryAction||e.$slots["header-actions"]?{name:"actions",fn:$(()=>[m(e.$slots,"header-actions"),a.primaryAction?(r(),M(ce,{key:0,variant:"primary",icon:a.primaryAction.icon,onClick:a.primaryAction.handler},{default:$(()=>[H(R(a.primaryAction.label),1)]),_:1},8,["icon","onClick"])):y("",!0)]),key:"0"}:void 0]),1032,["title","count","description"])]),key:"0"}:void 0,e.$slots.notices?{name:"notices",fn:$(()=>[m(e.$slots,"notices")]),key:"1"}:void 0,a.searchable||le.value.length>0?{name:"toolbar",fn:$(()=>[V(Kt,null,te({search:$(()=>[a.searchable?(r(),M(Ut,{key:0,"model-value":N.value,placeholder:a.searchPlaceholder,"onUpdate:modelValue":pe},null,8,["model-value","placeholder"])):y("",!0)]),default:$(()=>[(r(!0),o(I,null,D(le.value,n=>(r(),M(Be,{key:n.key,label:n.label,options:n.options,"model-value":T.value[n.key]||"","onUpdate:modelValue":B=>be(n.key,B)},null,8,["label","options","model-value","onUpdate:modelValue"]))),128)),J.value>0?(r(),o("button",{key:0,type:"button",class:"h-8 shrink-0 px-2 text-sm font-medium text-neutral-500 hover:text-neutral-800 dark:text-neutral-400 dark:hover:text-neutral-200",onClick:se}," Clear ")):y("",!0)]),_:2},[a.selectable&&a.selectedRows.length>0&&a.bulkActions.length>0?{name:"end",fn:$(()=>[s("span",Gt,R(a.selectedRows.length)+" selected",1),(r(!0),o(I,null,D(a.bulkActions,(n,B)=>(r(),M(ce,{key:B,icon:n.icon,class:A(n.variant==="danger"?"text-red-600 dark:text-red-400":""),onClick:f=>xe(n)},{default:$(()=>[H(R(n.label),1)]),_:2},1032,["icon","class","onClick"]))),128))]),key:"0"}:void 0]),1024)]),key:"2"}:void 0]),1032,["layout"]))}});export{ka as _};
|
|
1
|
+
import{m as Q,b as o,e as r,f as s,d as q,c as g,q as y,y as H,z as R,D as V,A as E,F as I,B as D,n as A,k as M,l as $,g as m,G as Ie,H as Me,r as K,b7 as Re,J as ne,K as Ve,L as ze,E as te,x as ae,C as ue,ao as de,b9 as De,X as Te}from"./vue-CnrejLtC.js";import{c as ce,_ as Be,d as Ke,b as Le,a as Pe,I as Ee}from"./UiFilterMenu.vue_vue_type_script_setup_true_lang-BE1kHACC.js";import{I as Ue,aD as je,E as he,aj as Fe}from"./index-BwlCQIem.js";import{a as Oe}from"./UiEmptyState.vue_vue_type_script_setup_true_lang-BD_dt9VV.js";import{U as He,_ as Qe}from"./UiPageFrame-CP9KRIIM.js";const Ne={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Ge(a,l){return r(),o("svg",Ne,[...l[0]||(l[0]=[s("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 11v6m4-6v6m5-11v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"},null,-1)])])}const qe=Q({name:"lucide-trash-2",render:Ge}),Xe={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Ye(a,l){return r(),o("svg",Xe,[...l[0]||(l[0]=[s("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[s("path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),s("path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"})],-1)])])}const Je=Q({name:"lucide-edit",render:Ye}),We={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Ze(a,l){return r(),o("svg",We,[...l[0]||(l[0]=[s("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[s("path",{d:"M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0"}),s("circle",{cx:"12",cy:"12",r:"3"})],-1)])])}const et=Q({name:"lucide-eye",render:Ze}),tt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function at(a,l){return r(),o("svg",tt,[...l[0]||(l[0]=[s("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m15 18l-6-6l6-6"},null,-1)])])}const nt=Q({name:"lucide-chevron-left",render:at}),lt={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function rt(a,l){return r(),o("svg",lt,[...l[0]||(l[0]=[s("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m11 17l-5-5l5-5m7 10l-5-5l5-5"},null,-1)])])}const st=Q({name:"lucide-chevrons-left",render:rt}),ot={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function it(a,l){return r(),o("svg",ot,[...l[0]||(l[0]=[s("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m6 17l5-5l-5-5m7 10l5-5l-5-5"},null,-1)])])}const ut=Q({name:"lucide-chevrons-right",render:it}),dt={key:0,class:"flex flex-wrap items-center justify-between gap-4 px-4 py-2.5 text-sm bg-neutral-50 dark:bg-neutral-800/50 border-t border-neutral-300 dark:border-neutral-700"},ct={class:"text-neutral-500 dark:text-neutral-400 text-xs font-medium"},ht={class:"text-neutral-700 dark:text-neutral-300"},ft={class:"text-neutral-700 dark:text-neutral-300"},gt={class:"text-neutral-700 dark:text-neutral-300"},pt={class:"flex items-center gap-0.5"},vt=["disabled"],bt=["disabled"],mt={class:"flex items-center gap-0.5 mx-1"},kt={key:0,class:"px-2 text-neutral-400 dark:text-neutral-500 text-xs"},yt=["onClick"],xt=["disabled"],wt=["disabled"],$t={class:"flex items-center gap-2"},Ct=["value"],_t=["value"],St=q({__name:"DataTablePagination",props:{page:{},pageSize:{},totalItems:{},pageSizeOptions:{default:()=>[10,25,50,100]}},emits:["update:page","update:pageSize"],setup(a,{emit:l}){const t=a,u=l,c=g(()=>Math.ceil(t.totalItems/t.pageSize)),i=g(()=>t.totalItems===0?0:(t.page-1)*t.pageSize+1),h=g(()=>Math.min(t.page*t.pageSize,t.totalItems)),k=g(()=>t.page>1),_=g(()=>t.page<c.value),w=g(()=>{const b=[],p=c.value,v=t.page;if(p<=7)for(let S=1;S<=p;S++)b.push(S);else{b.push(1),v>3&&b.push("...");const S=Math.max(2,v-1),P=Math.min(p-1,v+1);for(let F=S;F<=P;F++)b.includes(F)||b.push(F);v<p-2&&b.push("..."),b.includes(p)||b.push(p)}return b}),x=b=>{b>=1&&b<=c.value&&u("update:page",b)},z=()=>x(1),L=()=>x(t.page-1),X=()=>x(t.page+1),U=()=>x(c.value),j=b=>{const p=b.target;u("update:pageSize",parseInt(p.value,10)),u("update:page",1)};return(b,p)=>a.totalItems>0?(r(),o("div",dt,[s("div",ct,[p[0]||(p[0]=H(" Showing ",-1)),s("span",ht,R(i.value),1),p[1]||(p[1]=H(" to ",-1)),s("span",ft,R(h.value),1),p[2]||(p[2]=H(" of ",-1)),s("span",gt,R(a.totalItems),1)]),s("div",pt,[s("button",{type:"button",onClick:z,disabled:!k.value,class:"p-1.5 rounded-md transition-colors duration-150 hover:bg-neutral-200 dark:hover:bg-neutral-700 disabled:opacity-30 disabled:cursor-not-allowed disabled:hover:bg-transparent",title:"First page"},[V(E(st),{class:"w-4 h-4 text-neutral-500 dark:text-neutral-400"})],8,vt),s("button",{type:"button",onClick:L,disabled:!k.value,class:"p-1.5 rounded-md transition-colors duration-150 hover:bg-neutral-200 dark:hover:bg-neutral-700 disabled:opacity-30 disabled:cursor-not-allowed disabled:hover:bg-transparent",title:"Previous page"},[V(E(nt),{class:"w-4 h-4 text-neutral-500 dark:text-neutral-400"})],8,bt),s("div",mt,[(r(!0),o(I,null,D(w.value,(v,S)=>(r(),o(I,{key:S},[v==="..."?(r(),o("span",kt," ... ")):(r(),o("button",{key:1,type:"button",onClick:P=>x(v),class:A(["min-w-[1.75rem] px-2 py-1 rounded-md text-xs font-medium transition-colors duration-150",v===a.page?"bg-accent-600 text-white shadow-sm":"text-neutral-600 dark:text-neutral-400 hover:bg-neutral-200 dark:hover:bg-neutral-700 hover:text-neutral-900 dark:hover:text-neutral-200"])},R(v),11,yt))],64))),128))]),s("button",{type:"button",onClick:X,disabled:!_.value,class:"p-1.5 rounded-md transition-colors duration-150 hover:bg-neutral-200 dark:hover:bg-neutral-700 disabled:opacity-30 disabled:cursor-not-allowed disabled:hover:bg-transparent",title:"Next page"},[V(E(Ue),{class:"w-4 h-4 text-neutral-500 dark:text-neutral-400"})],8,xt),s("button",{type:"button",onClick:U,disabled:!_.value,class:"p-1.5 rounded-md transition-colors duration-150 hover:bg-neutral-200 dark:hover:bg-neutral-700 disabled:opacity-30 disabled:cursor-not-allowed disabled:hover:bg-transparent",title:"Last page"},[V(E(ut),{class:"w-4 h-4 text-neutral-500 dark:text-neutral-400"})],8,wt)]),s("div",$t,[s("select",{value:a.pageSize,onChange:j,class:"px-2 py-1 rounded-md border border-neutral-200 dark:border-neutral-700 bg-white dark:bg-neutral-800 text-xs font-medium text-neutral-700 dark:text-neutral-300 focus:outline-none focus:ring-2 focus:ring-accent-500/30 focus:border-accent-500 dark:focus:border-accent-400 cursor-pointer transition-colors"},[(r(!0),o(I,null,D(a.pageSizeOptions,v=>(r(),o("option",{key:v,value:v},R(v),9,_t))),128))],40,Ct),p[3]||(p[3]=s("span",{class:"text-neutral-500 dark:text-neutral-400 text-xs"},"per page",-1))])])):y("",!0)}}),At={key:0,class:"flex flex-col gap-2"},It={class:"overflow-x-auto rounded-lg border border-neutral-200 bg-white dark:border-neutral-800 dark:bg-neutral-900"},Mt={key:1,class:"flex w-full flex-col gap-3"},Rt={key:0,class:"flex flex-col gap-2"},Vt={class:"overflow-x-auto rounded-lg border border-neutral-200 bg-white dark:border-neutral-800 dark:bg-neutral-900"},zt=q({__name:"UiListPage",props:{layout:{default:"page"}},setup(a){return(l,t)=>a.layout==="page"?(r(),M(He,{key:0},{default:$(()=>[m(l.$slots,"header"),l.$slots.notices?(r(),o("div",At,[m(l.$slots,"notices")])):y("",!0),m(l.$slots,"toolbar"),s("div",It,[m(l.$slots,"default")])]),_:3})):(r(),o("div",Mt,[l.$slots.notices?(r(),o("div",Rt,[m(l.$slots,"notices")])):y("",!0),m(l.$slots,"toolbar"),s("div",Vt,[m(l.$slots,"default")])]))}}),Dt={class:"flex min-w-0 flex-wrap items-center gap-2"},Tt={class:"flex min-w-0 flex-auto items-center gap-2"},Bt={class:"ml-auto flex shrink-0 items-center gap-2"},Kt=q({__name:"UiPageToolbar",setup(a){return(l,t)=>(r(),o("div",Dt,[s("div",Tt,[m(l.$slots,"default")]),s("div",Bt,[m(l.$slots,"end"),m(l.$slots,"search")])]))}}),Lt={class:"flex h-8 w-48 items-center gap-1.5 rounded-md border border-neutral-200 bg-white px-2 text-sm transition-colors focus-within:border-neutral-400 xl:w-72 dark:border-neutral-700 dark:bg-neutral-900 dark:focus-within:border-neutral-500"},Pt=["placeholder","aria-label"],Et={key:0,class:"rounded border border-neutral-200 px-1 font-sans text-[11px] leading-4 text-neutral-400 dark:border-neutral-700","aria-hidden":"true"},Ut=q({__name:"UiSearchField",props:Ie({placeholder:{default:"Search"}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const l=Me(a,"modelValue"),t=K(null);function u(i){return i instanceof HTMLElement?i.isContentEditable||["INPUT","TEXTAREA","SELECT"].includes(i.tagName):!1}Re("/",i=>{u(i.target)||i.metaKey||i.ctrlKey||i.altKey||(i.preventDefault(),t.value?.focus())});function c(){l.value?l.value="":t.value?.blur()}return(i,h)=>(r(),o("label",Lt,[V(E(je),{class:"h-3.5 w-3.5 shrink-0 text-neutral-400"}),ne(s("input",{ref_key:"inputRef",ref:t,"onUpdate:modelValue":h[0]||(h[0]=k=>l.value=k),type:"search",placeholder:a.placeholder,"aria-label":a.placeholder,class:"min-w-0 flex-1 bg-transparent text-neutral-900 outline-none placeholder:text-neutral-400 dark:text-neutral-100 [&::-webkit-search-cancel-button]:hidden",onKeydown:ze(c,["esc"])},null,40,Pt),[[Ve,l.value]]),l.value?y("",!0):(r(),o("kbd",Et,"/"))]))}});function C(a,l){return Reflect.get(a,l)}function jt(a,l,t){const u=C(a,l);return typeof u=="string"||typeof u=="number"||typeof u=="symbol"?u:t}function Ft(a,l){const t=C(a,l.key);return l.formatter?l.formatter(t,a):t??"-"}function Ot(a,l){return a.filter(t=>t.filterable===!0).map(t=>{const u=new Map;for(const c of l){const i=C(c,t.key);if(i==null)continue;const h=t.formatter?t.formatter(i,c):String(i);u.has(h)||u.set(h,{value:h,icon:t.filterIcon?.(i,c)})}return{key:t.key,label:t.label,options:Array.from(u.entries()).sort((c,i)=>c[0].localeCompare(i[0])).map(([c,i])=>({value:c,label:c,icon:i.icon}))}})}function Ht(a,l,t,u,c){let i=a;const h=Object.entries(t);if(h.length>0&&(i=i.filter(_=>h.every(([w,x])=>{const z=l.find(U=>U.key===w);if(!z)return!0;const L=C(_,w);return L==null?!1:(z.formatter?z.formatter(L,_):String(L))===x}))),!c||!u.trim())return i;const k=u.toLowerCase().trim();return i.filter(_=>l.some(w=>{if(w.searchable===!1)return!1;const x=C(_,w.key);return x==null?!1:(w.formatter?w.formatter(x,_):String(x)).toLowerCase().includes(k)}))}function Qt(a,l,t){return l?[...a].sort((u,c)=>{const i=C(u,l),h=C(c,l);if(i==null&&h==null)return 0;if(i==null)return t==="asc"?1:-1;if(h==null)return t==="asc"?-1:1;let k=0;return typeof i=="string"&&typeof h=="string"?k=i.localeCompare(h,void 0,{sensitivity:"base"}):typeof i=="number"&&typeof h=="number"?k=i-h:k=String(i).localeCompare(String(h)),t==="asc"?k:-k}):a}function Nt(a,l,t){const u=C(a,t);return l.some(c=>C(c,t)===u)}const Gt={class:"text-[13px] text-neutral-500 dark:text-neutral-400"},qt={class:"w-full"},Xt={key:0,class:"px-4 py-2.5 w-12"},Yt={class:"flex items-center justify-center"},Jt=["checked","indeterminate"],Wt=["onClick"],Zt={key:1,class:"px-3 xl:px-4 py-2 last:pr-5 text-right text-xs font-medium text-neutral-500 dark:text-neutral-400 w-24"},ea={class:"divide-y divide-(--color-border-subtle)"},ta={key:0},aa=["colspan"],na={class:"flex flex-col items-center justify-center gap-3 text-neutral-400"},la={key:1},ra=["colspan"],sa=["onClick"],oa={key:0,class:"absolute left-0 top-0 bottom-0 w-0.5 bg-accent-500"},ia={class:"flex items-center justify-center"},ua=["checked","onChange"],da=["innerHTML"],ca={class:"inline-flex gap-0.5"},ha=["disabled","onClick","title"],fa=["disabled","onClick","title"],ka=q({__name:"DataTable",props:{columns:{},data:{},actions:{},emptyMessage:{default:he.tables.generic},empty:{},loading:{type:Boolean,default:!1},title:{},description:{},primaryAction:{},sortable:{type:Boolean,default:!1},sortKey:{},sortDirection:{default:"asc"},searchable:{type:Boolean,default:!1},searchQuery:{default:""},searchPlaceholder:{default:"Search..."},paginated:{type:Boolean,default:!1},page:{default:1},pageSize:{default:10},totalItems:{default:0},pageSizeOptions:{default:()=>[10,25,50,100]},selectable:{type:Boolean,default:!1},selectedRows:{default:()=>[]},rowKey:{default:"id"},bulkActions:{default:()=>[]}},emits:["update:sortKey","update:sortDirection","sort","update:searchQuery","search","update:page","update:pageSize","page-change","update:selectedRows","selection-change","row-click"],setup(a,{emit:l}){const t=a,u=l,c=K(!1),i=K(""),h=K(null),k=e=>{if(typeof e!="string")return e;switch(e){case"edit":return Je;case"delete":return qe;case"view":return et;default:return null}},_=(e,d)=>Ft(e,d),w=e=>{switch(e){case"center":return"text-center";case"right":return"text-right";default:return"text-left"}},x=(e,d)=>d.cellClass?typeof d.cellClass=="function"?d.cellClass(e):d.cellClass:"",z=async(e,d)=>{if(e.confirm){const n=typeof e.confirmMessage=="function"?e.confirmMessage(d):e.confirmMessage||`Are you sure you want to ${e.label.toLowerCase()}?`;i.value=n,h.value=async()=>{await e.handler(d)},c.value=!0}else await e.handler(d)},L=async()=>{h.value&&(await h.value(),h.value=null),c.value=!1},X=()=>{h.value=null,c.value=!1},U=(e,d)=>e.visible===void 0?!0:typeof e.visible=="function"?e.visible(d):e.visible,j=(e,d)=>e.disabled===void 0?!1:typeof e.disabled=="function"?e.disabled(d):e.disabled,b=K(null),p=K("asc"),v=g(()=>t.sortKey??b.value),S=g(()=>t.sortKey!==void 0?t.sortDirection:p.value),P=e=>t.sortable&&e.sortable===!0,F=e=>{if(!P(e))return;const d=e.key;let n="asc";v.value===d&&(n=S.value==="asc"?"desc":"asc"),b.value=d,p.value=n,u("update:sortKey",d),u("update:sortDirection",n),u("sort",{key:d,direction:n})},fe=e=>v.value!==e.key?Le:S.value==="asc"?Pe:Ee,O=g(()=>!v.value||!t.sortable?Y.value:Qt(Y.value,v.value,S.value)),N=K(t.searchQuery),T=K({}),ge=De(e=>{u("update:searchQuery",e),u("search",e)},300),pe=e=>{N.value=e,ge(e)},ve=()=>{N.value="",u("update:searchQuery",""),u("search","")},le=g(()=>Ot(t.columns,t.data)),be=(e,d)=>{if(d===""){const n={...T.value};delete n[e],T.value=n}else T.value={...T.value,[e]:d}},Y=g(()=>Ht(t.data,t.columns,T.value,N.value,t.searchable)),J=g(()=>{let e=0;return N.value&&e++,e+=Object.keys(T.value).length,e}),re=g(()=>J.value>0?{message:he.tables.noMatches}:t.empty??{message:t.emptyMessage}),se=()=>{ve(),T.value={}},G=e=>Nt(e,t.selectedRows,t.rowKey),oe=g(()=>O.value.length>0&&t.selectedRows.length===O.value.length),me=g(()=>t.selectedRows.length>0&&t.selectedRows.length<O.value.length),ke=e=>{const d=C(e,t.rowKey);let n;G(e)?n=t.selectedRows.filter(B=>C(B,t.rowKey)!==d):n=[...t.selectedRows,e],u("update:selectedRows",n),u("selection-change",n)},ye=()=>{const e=oe.value?[]:[...O.value];u("update:selectedRows",e),u("selection-change",e)},xe=async e=>{if(e.confirm){const d=e.confirmMessage||`Are you sure you want to ${e.label.toLowerCase()} ${t.selectedRows.length} item(s)?`;i.value=d,h.value=async()=>{await e.handler(t.selectedRows)},c.value=!0}else await e.handler(t.selectedRows)},we=e=>{u("update:page",e),u("page-change",e)},$e=e=>{u("update:pageSize",e)},W=g(()=>!!t.title),Ce=g(()=>J.value>0&&Y.value.length!==t.data.length?`${Y.value.length} of ${t.data.length}`:t.data.length),Z=g(()=>t.actions&&t.actions.length>0),_e=g(()=>t.actions?.filter(e=>e.variant!=="danger")||[]),Se=g(()=>t.actions?.filter(e=>e.variant==="danger")||[]),ie=g(()=>{let e=t.columns.length;return t.selectable&&e++,Z.value&&e++,e});return(e,d)=>(r(),M(zt,{layout:W.value?"page":"embedded"},te({default:$(()=>[s("table",qt,[s("thead",{class:A(W.value?"border-b border-neutral-200 dark:border-neutral-800":"bg-neutral-50 dark:bg-neutral-800/50 border-b border-neutral-300 dark:border-neutral-700")},[s("tr",null,[a.selectable?(r(),o("th",Xt,[s("div",Yt,[s("input",{type:"checkbox",checked:oe.value,indeterminate:me.value,onChange:ye,class:"w-4 h-4 rounded border-neutral-300 dark:border-neutral-600 text-accent-600 focus:ring-accent-500 focus:ring-offset-0 cursor-pointer transition-colors"},null,40,Jt)])])):y("",!0),(r(!0),o(I,null,D(a.columns,n=>(r(),o("th",{key:n.key,class:A(["px-3 xl:px-4 py-2 first:pl-5 last:pr-5 text-xs font-medium text-neutral-500 dark:text-neutral-400",w(n.align),n.width||"",P(n)?"cursor-pointer select-none group":""]),onClick:B=>F(n)},[s("div",{class:A(["inline-flex items-center gap-1",n.align==="right"?"flex-row-reverse":"",P(n)?"hover:text-neutral-700 dark:hover:text-neutral-200 transition-colors":""])},[s("span",null,R(n.label),1),P(n)?(r(),o("span",{key:0,class:A(["inline-flex items-center justify-center w-5 h-5 rounded transition-colors duration-150",v.value===n.key?"bg-accent-100 dark:bg-accent-900/50":"group-hover:bg-neutral-200 dark:group-hover:bg-neutral-700"])},[(r(),M(ae(fe(n)),{class:A(["w-3.5 h-3.5",v.value===n.key?"text-accent-600 dark:text-accent-400":"text-neutral-400 dark:text-neutral-500"])},null,8,["class"]))],2)):y("",!0)],2)],10,Wt))),128)),Z.value?(r(),o("th",Zt," Actions ")):y("",!0)])],2),s("tbody",ea,[a.loading?(r(),o("tr",ta,[s("td",{colspan:ie.value,class:"px-4 py-16"},[m(e.$slots,"loading",{},()=>[s("div",na,[V(Fe,{size:"md"}),d[3]||(d[3]=s("span",{class:"text-sm"},"Loading data…",-1))])])],8,aa)])):O.value.length===0?(r(),o("tr",la,[s("td",{colspan:ie.value,class:"px-4 py-16"},[m(e.$slots,"empty",{},()=>[V(Oe,Te(re.value,{"show-icon":!re.value.prompts}),{default:$(()=>[J.value>0?(r(),o("button",{key:0,onClick:se,type:"button",class:"mt-3 text-xs text-accent-600 dark:text-accent-400 hover:underline font-medium"}," Clear filters ")):y("",!0)]),_:1},16,["show-icon"])])],8,ra)])):(r(!0),o(I,{key:2},D(O.value,(n,B)=>(r(),o("tr",{key:E(jt)(n,a.rowKey,B),class:A(["transition-colors duration-150 cursor-pointer relative",G(n)?"bg-accent-50 dark:bg-accent-950/30":"hover:bg-neutral-50 dark:hover:bg-neutral-900/50"]),onClick:f=>u("row-click",n)},[G(n)?(r(),o("div",oa)):y("",!0),a.selectable?(r(),o("td",{key:1,class:"px-4 py-3",onClick:d[0]||(d[0]=ue(()=>{},["stop"]))},[s("div",ia,[s("input",{type:"checkbox",checked:G(n),onChange:f=>ke(n),class:"w-4 h-4 rounded border-neutral-300 dark:border-neutral-600 text-accent-600 focus:ring-accent-500 focus:ring-offset-0 cursor-pointer transition-colors"},null,40,ua)])])):y("",!0),(r(!0),o(I,null,D(a.columns,f=>(r(),o("td",{key:f.key,class:A(["px-3 xl:px-4 py-2.5 first:pl-5 last:pr-5 text-[13px]",w(f.align),x(n,f),G(n)?"text-accent-900 dark:text-accent-100":"text-neutral-700 dark:text-neutral-300"])},[m(e.$slots,`cell-${f.key}`,{value:E(C)(n,f.key),row:n,column:f},()=>[f.html?(r(),o("span",{key:0,innerHTML:_(n,f)},null,8,da)):(r(),o(I,{key:1},[H(R(_(n,f)),1)],64))])],2))),128)),Z.value?(r(),o("td",{key:2,class:"px-3 xl:px-4 py-1.5 last:pr-5 text-right",onClick:d[1]||(d[1]=ue(()=>{},["stop"]))},[s("div",ca,[(r(!0),o(I,null,D(_e.value,(f,ee)=>ne((r(),o("button",{key:`non-delete-${ee}`,disabled:j(f,n),onClick:Ae=>z(f,n),class:A(["p-1.5 rounded-md transition-colors duration-150",j(f,n)?"opacity-30 cursor-not-allowed":"text-neutral-400 hover:text-neutral-700 hover:bg-neutral-100 dark:hover:text-neutral-200 dark:hover:bg-neutral-800"]),title:f.label},[(r(),M(ae(k(f.icon)),{class:"w-4 h-4"}))],10,ha)),[[de,U(f,n)]])),128)),m(e.$slots,"extra-actions",{row:n}),(r(!0),o(I,null,D(Se.value,(f,ee)=>ne((r(),o("button",{key:`delete-${ee}`,disabled:j(f,n),onClick:Ae=>z(f,n),class:A(["p-1.5 rounded-md transition-colors duration-150",j(f,n)?"opacity-30 cursor-not-allowed":"text-neutral-400 hover:text-red-600 hover:bg-red-50 dark:hover:text-red-400 dark:hover:bg-red-900/30"]),title:f.label},[(r(),M(ae(k(f.icon)),{class:"w-4 h-4"}))],10,fa)),[[de,U(f,n)]])),128))])])):y("",!0)],10,sa))),128))])]),a.paginated?(r(),M(St,{key:0,page:a.page,"page-size":a.pageSize,"total-items":a.totalItems,"page-size-options":a.pageSizeOptions,"onUpdate:page":we,"onUpdate:pageSize":$e},null,8,["page","page-size","total-items","page-size-options"])):y("",!0),V(Ke,{modelValue:c.value,"onUpdate:modelValue":d[2]||(d[2]=n=>c.value=n),title:"Confirm action",message:i.value,"confirm-text":"Confirm","cancel-text":"Cancel",onConfirm:L,onCancel:X},null,8,["modelValue","message"])]),_:2},[W.value&&a.title?{name:"header",fn:$(()=>[V(Qe,{title:a.title,count:a.loading?null:Ce.value,description:a.description},te({_:2},[a.primaryAction||e.$slots["header-actions"]?{name:"actions",fn:$(()=>[m(e.$slots,"header-actions"),a.primaryAction?(r(),M(ce,{key:0,variant:"primary",icon:a.primaryAction.icon,onClick:a.primaryAction.handler},{default:$(()=>[H(R(a.primaryAction.label),1)]),_:1},8,["icon","onClick"])):y("",!0)]),key:"0"}:void 0]),1032,["title","count","description"])]),key:"0"}:void 0,e.$slots.notices?{name:"notices",fn:$(()=>[m(e.$slots,"notices")]),key:"1"}:void 0,a.searchable||le.value.length>0?{name:"toolbar",fn:$(()=>[V(Kt,null,te({search:$(()=>[a.searchable?(r(),M(Ut,{key:0,"model-value":N.value,placeholder:a.searchPlaceholder,"onUpdate:modelValue":pe},null,8,["model-value","placeholder"])):y("",!0)]),default:$(()=>[(r(!0),o(I,null,D(le.value,n=>(r(),M(Be,{key:n.key,label:n.label,options:n.options,"model-value":T.value[n.key]||"","onUpdate:modelValue":B=>be(n.key,B)},null,8,["label","options","model-value","onUpdate:modelValue"]))),128)),J.value>0?(r(),o("button",{key:0,type:"button",class:"h-8 shrink-0 px-2 text-sm font-medium text-neutral-500 hover:text-neutral-800 dark:text-neutral-400 dark:hover:text-neutral-200",onClick:se}," Clear ")):y("",!0)]),_:2},[a.selectable&&a.selectedRows.length>0&&a.bulkActions.length>0?{name:"end",fn:$(()=>[s("span",Gt,R(a.selectedRows.length)+" selected",1),(r(!0),o(I,null,D(a.bulkActions,(n,B)=>(r(),M(ce,{key:B,icon:n.icon,class:A(n.variant==="danger"?"text-red-600 dark:text-red-400":""),onClick:f=>xe(n)},{default:$(()=>[H(R(n.label),1)]),_:2},1032,["icon","class","onClick"]))),128))]),key:"0"}:void 0]),1024)]),key:"2"}:void 0]),1032,["layout"]))}});export{ka as _};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["syntax-XeetdF8c.js","vendor-L6I0G397.js","vue-CnrejLtC.js","formkit-B1fIUqP-.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{
|
|
2
|
+
import{bL as N,bM as E,bN as w,bf as i,bJ as H,b as M,C as U,F as z,_ as q}from"./index-BwlCQIem.js";import{d as A,aa as F,o as R,a8 as G,b as _,e as u,F as V,k as y,q as m,A as a,T as L,g as S,r as D,w as k,n as J,s as C,P as K,c as I,f as b,y as W,x as Y,z as v,D as Q}from"./vue-CnrejLtC.js";import{u as X}from"./useClipboardCopy-DURjq7gM.js";const ve=A({__name:"ShellBarContent",setup(e){const n=F();let s=null;return R(()=>{n.left&&(s=N())}),G(()=>s?.()),(t,c)=>(u(),_(V,null,[a(E)&&t.$slots.left?(u(),y(L,{key:0,defer:"",to:a(w).left},[S(t.$slots,"left")],8,["to"])):m("",!0),a(E)&&t.$slots.center?(u(),y(L,{key:1,defer:"",to:a(w).center},[S(t.$slots,"center")],8,["to"])):m("",!0),a(E)&&t.$slots.actions?(u(),y(L,{key:2,defer:"",to:a(w).actions},[S(t.$slots,"actions")],8,["to"])):m("",!0)],64))}}),T="__shiki_highlighter__";let x=null;async function Z(){return typeof window<"u"&&window[T]?window[T]:x||(x=Promise.all([i(()=>import("./syntax-XeetdF8c.js").then(e=>e.d),__vite__mapDeps([0,1])),i(()=>import("./syntax-XeetdF8c.js").then(e=>e.e),__vite__mapDeps([0,1])),i(()=>import("./syntax-XeetdF8c.js").then(e=>e.f),__vite__mapDeps([0,1])),i(()=>import("./syntax-XeetdF8c.js").then(e=>e.g),__vite__mapDeps([0,1])),i(()=>import("./syntax-XeetdF8c.js").then(e=>e.i),__vite__mapDeps([0,1])),i(()=>import("./syntax-XeetdF8c.js").then(e=>e.k),__vite__mapDeps([0,1])),i(()=>import("./syntax-XeetdF8c.js").then(e=>e.l),__vite__mapDeps([0,1])),i(()=>import("./syntax-XeetdF8c.js").then(e=>e.m),__vite__mapDeps([0,1])),i(()=>import("./syntax-XeetdF8c.js").then(e=>e.n),__vite__mapDeps([0,1])),i(()=>import("./syntax-XeetdF8c.js").then(e=>e.s),__vite__mapDeps([0,1])),i(()=>import("./syntax-XeetdF8c.js").then(e=>e.o),__vite__mapDeps([0,1])),i(()=>import("./syntax-XeetdF8c.js").then(e=>e.p),__vite__mapDeps([0,1])),i(()=>import("./vue-CnrejLtC.js").then(e=>e.be),__vite__mapDeps([2,3,0,1])),i(()=>import("./syntax-XeetdF8c.js").then(e=>e.y),__vite__mapDeps([0,1])),i(()=>import("./syntax-XeetdF8c.js").then(e=>e.q),__vite__mapDeps([0,1])),i(()=>import("./syntax-XeetdF8c.js").then(e=>e.r),__vite__mapDeps([0,1]))]).then(async([{createHighlighterCore:e},{createJavaScriptRegexEngine:n},s,t,c,d,h,f,p,l,o,r,g,O,$,j])=>{const B=await e({themes:[$.default,j.default],langs:[s.default,t.default,c.default,d.default,h.default,f.default,p.default,l.default,o.default,r.default,g.default,O.default],engine:n()});return typeof window<"u"&&(window[T]=B),B}),x)}const ee={key:0,class:"text-xs text-neutral-500 p-2"},te=["innerHTML"],ae=A({__name:"CodeBlock",props:{code:{},language:{},lineNumbers:{type:Boolean}},setup(e){const n=e,s=D(""),t=D(!0),c={bash:"bash",cjs:"javascript",htm:"html",js:"javascript",jsonl:"json",md:"markdown",mjs:"javascript",sh:"bash",shell:"bash",text:"text",ts:"typescript",txt:"text",yml:"yaml"},d=new Set(["bash","css","html","javascript","jsx","json","markdown","shellscript","tsx","typescript","vue","yaml"]),h=o=>{const r=o?.trim().toLowerCase()||"text";return c[r]??r},f=o=>o.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),p=o=>`<pre class="shiki shiki-text"><code>${f(o).split(`
|
|
3
3
|
`).map(r=>`<span class="line">${r}</span>`).join(`
|
|
4
|
-
`)}</code></pre>`,l=async()=>{const o=n.code??"";if(!o){s.value='<pre class="shiki"><code></code></pre>',t.value=!1;return}try{const r=await Z(),g=h(n.language);d.has(g)?s.value=r.codeToHtml(o,{lang:g,themes:{light:"github-light",dark:"github-dark"}}):s.value=p(o)}catch{s.value=p(o)}finally{t.value=!1}};return R(()=>{l()}),k(()=>n.code,()=>{l()}),k(()=>n.language,()=>{l()}),(o,r)=>(u(),_("div",{class:
|
|
4
|
+
`)}</code></pre>`,l=async()=>{const o=n.code??"";if(!o){s.value='<pre class="shiki"><code></code></pre>',t.value=!1;return}try{const r=await Z(),g=h(n.language);d.has(g)?s.value=r.codeToHtml(o,{lang:g,themes:{light:"github-light",dark:"github-dark"}}):s.value=p(o)}catch{s.value=p(o)}finally{t.value=!1}};return R(()=>{l()}),k(()=>n.code,()=>{l()}),k(()=>n.language,()=>{l()}),(o,r)=>(u(),_("div",{class:J(["code-block",{"code-line-numbers":e.lineNumbers}])},[t.value?(u(),_("div",ee,"Loading...")):(u(),_("div",{key:1,innerHTML:s.value,class:"code-content"},null,8,te))],2))}}),P=16;function se(e){return!e||typeof e!="object"?null:"status"in e&&e.status==="available"&&"source"in e&&typeof e.source=="string"&&"path"in e&&typeof e.path=="string"?{status:"available",path:e.path,source:e.source}:"status"in e&&e.status==="too_large"&&"maxBytes"in e&&typeof e.maxBytes=="number"&&Number.isSafeInteger(e.maxBytes)&&e.maxBytes>0?{status:"too_large",maxBytes:e.maxBytes}:null}function ne(e,n){const s=e.replace(/\r\n?/g,`
|
|
5
5
|
`).replace(/\n$/,"").split(`
|
|
6
6
|
`);return{lines:s.length,code:(n?s:s.slice(0,P)).join(`
|
|
7
|
-
`),clamped:!n&&s.length>P}}function oe(e){const n=H(),s=
|
|
7
|
+
`),clamped:!n&&s.length>P}}function oe(e){const n=H(),s=C(null),t=C(!1),c=k([e,n.items],async([d,h],f,p)=>{if(s.value=null,t.value=!1,!d.enabled||!h.some(o=>o.kind===d.kind&&o.name===d.name))return;const l=new AbortController;p(()=>l.abort()),t.value=!0;try{const o=new URLSearchParams({kind:d.kind,name:d.name}),r=await M.getJson(`/api/definition-source?${o}`,{signal:l.signal});l.signal.aborted||(s.value=se(r))}catch{}finally{l.signal.aborted||(t.value=!1)}},{immediate:!0});return K(c),{source:s,loading:t}}const re={key:0,class:"py-5"},ie={class:"mb-3 flex items-baseline justify-between gap-4"},le=["disabled","aria-label"],ue={class:"mb-2 break-all font-mono text-xs text-neutral-500 dark:text-neutral-400"},ce={class:"definition-source-code overflow-hidden rounded-md bg-neutral-50 dark:bg-neutral-950"},de=["aria-expanded"],_e={key:1,role:"status",class:"mt-2 text-xs text-red-600 dark:text-red-400"},pe={key:1,class:"text-[13px] text-neutral-500 dark:text-neutral-400"},he=A({__name:"DefinitionSource",props:{kind:{},name:{},enabled:{type:Boolean,default:!0},preview:{type:Boolean,default:!1}},setup(e){const n=e,s=I(()=>({kind:n.kind,name:n.name,enabled:n.enabled})),{source:t}=oe(s),c=D(!1),{copied:d,copying:h,copy:f,error:p}=X(),l=I(()=>ne(t.value?.status==="available"?t.value.source:"",!n.preview||c.value));return k(t,()=>{c.value=!1}),(o,r)=>a(t)?(u(),_("section",re,[b("div",ie,[r[2]||(r[2]=b("h2",{class:"text-[14px] font-medium text-neutral-900 dark:text-neutral-50"},"Source",-1)),a(t).status==="available"?(u(),_("button",{key:0,type:"button",class:"flex shrink-0 items-center gap-1.5 rounded px-1 text-[13px] text-neutral-500 hover:bg-black/5 hover:text-neutral-900 dark:text-neutral-400 dark:hover:bg-white/10 dark:hover:text-white",disabled:a(h),"aria-label":a(d)?"Source copied":"Copy source",onClick:r[0]||(r[0]=g=>a(f)(a(t).source))},[(u(),y(Y(a(d)?a(U):a(z)),{class:"h-3.5 w-3.5"})),W(" "+v(a(d)?"Copied":"Copy"),1)],8,le)):m("",!0)]),a(t).status==="available"?(u(),_(V,{key:0},[b("p",ue,v(a(t).path),1),b("div",ce,[Q(ae,{code:l.value.code,language:"typescript","line-numbers":""},null,8,["code"])]),n.preview&&l.value.lines>a(P)?(u(),_("button",{key:0,type:"button",class:"mt-2 -mx-1 rounded px-1 text-[13px] text-neutral-500 hover:bg-black/5 hover:text-neutral-900 dark:text-neutral-400 dark:hover:bg-white/10 dark:hover:text-white","aria-expanded":c.value,onClick:r[1]||(r[1]=g=>c.value=!c.value)},v(c.value?"Show less":`Show all ${l.value.lines.toLocaleString("en-US")} lines`),9,de)):m("",!0),a(p)?(u(),_("p",_e,v(a(p)),1)):m("",!0)],64)):(u(),_("p",pe," This file exceeds the "+v(Math.round(a(t).maxBytes/1024).toLocaleString("en-US"))+" KiB source preview limit. ",1))])):m("",!0)}}),be=q(he,[["__scopeId","data-v-4a9d1254"]]);export{be as D,ve as _,ae as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as b}from"./DefinitionSource-
|
|
1
|
+
import{_ as b}from"./DefinitionSource-BbqSJUnU.js";import{d as f,b as a,e as t,D as u,f as n,E as $,l as i,g as r,F as h,ab as y,y as v,z as l,n as x,q as c,k as w,B as p,A as k}from"./vue-CnrejLtC.js";import{V as _,y as N}from"./index-BwlCQIem.js";const B={class:"flex h-full min-h-0 flex-col"},C={class:"flex min-w-0 items-center gap-1 text-[13px]","aria-label":"Breadcrumb"},D={key:1,class:"px-1.5 py-1 font-medium text-neutral-900 dark:text-neutral-50","aria-current":"page"},L={class:"flex min-h-0 flex-1 flex-col overflow-y-auto lg:flex-row lg:overflow-hidden"},V=["aria-label"],F={class:"@container min-w-0 flex-1 lg:overflow-y-auto"},R={class:"min-w-0 flex-1"},S={key:0,class:"grid shrink-0 grid-cols-[repeat(auto-fill,minmax(15rem,1fr))] gap-x-10 gap-y-7 @4xl:w-[17rem] @4xl:grid-cols-1"},Y=f({__name:"DefinitionPage",props:{parent:{},name:{},monoName:{type:Boolean,default:!0}},setup(e){return(s,d)=>{const m=y("RouterLink");return t(),a("div",B,[u(b,null,$({left:i(()=>[n("nav",C,[e.name?(t(),a(h,{key:0},[u(m,{to:e.parent.to,class:"shrink-0 rounded px-1.5 py-1 text-neutral-500 transition-colors hover:bg-black/5 hover:text-neutral-900 dark:text-neutral-400 dark:hover:bg-white/10 dark:hover:text-white"},{default:i(()=>[v(l(e.parent.label),1)]),_:1},8,["to"]),d[0]||(d[0]=n("span",{class:"text-neutral-300 dark:text-neutral-600"},"/",-1)),n("span",{class:x(["truncate px-1.5 py-1 font-medium text-neutral-900 dark:text-neutral-50",e.monoName?"font-mono text-[12.5px]":""]),"aria-current":"page"},l(e.name),3)],64)):(t(),a("span",D,l(e.parent.label),1))])]),_:2},[s.$slots.actions?{name:"actions",fn:i(()=>[r(s.$slots,"actions")]),key:"0"}:void 0]),1024),n("div",L,[s.$slots.list?(t(),a("nav",{key:0,class:"flex max-h-[40vh] shrink-0 flex-col border-b border-neutral-200 bg-neutral-50 dark:border-neutral-800 dark:bg-neutral-950 lg:max-h-none lg:w-[18rem] lg:border-b-0 lg:border-r","aria-label":e.parent.label},[r(s.$slots,"list")],8,V)):c("",!0),n("main",F,[n("div",{class:x(["mx-auto flex flex-col gap-8 px-6 py-8 lg:px-10 @4xl:flex-row @4xl:items-start @4xl:gap-12",s.$slots.aside?"max-w-[76rem]":"max-w-[56rem]"])},[n("div",R,[r(s.$slots,"default")]),s.$slots.aside?(t(),a("aside",S,[r(s.$slots,"aside")])):c("",!0)],2)])])])}}}),z={class:"py-5"},E={class:"flex items-baseline justify-between gap-4"},U={class:"text-[14px] font-medium text-neutral-900 dark:text-neutral-50"},j={key:0,class:"shrink-0 text-[13px] text-neutral-500 dark:text-neutral-400"},q={key:0,class:"mt-3"},Z=f({__name:"DefinitionSection",props:{title:{},meta:{}},setup(e){return(s,d)=>(t(),a("section",z,[n("div",E,[n("h2",U,l(e.title),1),e.meta?(t(),a("span",j,l(e.meta),1)):c("",!0)]),s.$slots.default?(t(),a("div",q,[r(s.$slots,"default")])):c("",!0)]))}}),A={class:"text-[13px]"},P={class:"text-neutral-500 dark:text-neutral-400"},T={class:"mt-2"},G=f({__name:"DefinitionFact",props:{label:{}},setup(e){return(s,d)=>(t(),a("div",A,[n("div",P,l(e.label),1),n("div",T,[r(s.$slots,"default")])]))}}),H={key:0,class:"space-y-1"},I={class:"truncate text-neutral-900 dark:text-neutral-50"},J={key:0,class:"ml-auto shrink-0 text-neutral-500 dark:text-neutral-400"},K={class:"truncate font-mono text-[12.5px] text-neutral-900 dark:text-neutral-50"},M={key:0,class:"ml-auto shrink-0 text-neutral-500 dark:text-neutral-400"},O={key:1,class:"text-neutral-500 dark:text-neutral-400"},g="-mx-1 flex items-center gap-2 rounded px-1 py-0.5 hover:bg-black/5 dark:hover:bg-white/10",ee=f({__name:"DefinitionUsedBy",props:{users:{},empty:{},agentNote:{type:Function},promptNote:{}},setup(e){return(s,d)=>{const m=y("RouterLink");return t(),w(G,{label:"Used by"},{default:i(()=>[e.users.agents.length||e.users.prompts.length?(t(),a("ul",H,[(t(!0),a(h,null,p(e.users.agents,o=>(t(),a("li",{key:o.id},[u(m,{to:k(_).agent(o.id),class:x(g)},{default:i(()=>[u(N,{icon:o.icon,seed:o.id,class:"h-5 w-5 shrink-0 rounded"},null,8,["icon","seed"]),n("span",I,l(o.title),1),e.agentNote?(t(),a("span",J,l(e.agentNote(o)),1)):c("",!0)]),_:2},1032,["to"])]))),128)),(t(!0),a(h,null,p(e.users.prompts,o=>(t(),a("li",{key:o},[u(m,{to:k(_).prompt(o),class:x(g)},{default:i(()=>[n("span",K,l(o),1),e.promptNote?(t(),a("span",M,l(e.promptNote),1)):c("",!0)]),_:2},1032,["to"])]))),128))])):(t(),a("p",O,l(e.empty),1))]),_:1})}}});export{G as _,ee as a,Z as b,Y as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{by as ee,bz as te,bA as F,b as g,a2 as c,e as D,bB as ae,bC as re,bD as ne,bE as q,bF as oe}from"./index-BwlCQIem.js";import{d as se,c as f,R as le,r,o as ie,S as ue,b as o,e as n,f as t,D as v,l as _,q as i,z as G,A,y as H,F as de,k as ce,ae as fe,ab as ve,n as pe}from"./vue-CnrejLtC.js";import{c as O,a as ge}from"./form-errors-D9RXsjd2.js";import{_ as V}from"./UiButton.vue_vue_type_script_setup_true_lang-CVyrFcWg.js";import"./formkit-B1fIUqP-.js";import"./vendor-L6I0G397.js";import"./syntax-XeetdF8c.js";const he={class:"login-container flex-1 flex items-center justify-center px-4"},be={class:"max-w-md w-full space-y-8"},me={class:"flex justify-center"},ye=["src"],we={class:"bg-white dark:bg-neutral-900 border border-neutral-300 dark:border-neutral-700 py-8 px-6 rounded-lg"},ke={key:0,class:"bg-red-50 dark:bg-red-950 border border-red-500 text-red-700 dark:text-red-400 px-4 py-3 mb-6 rounded"},xe={key:1,class:"py-6 text-center text-sm text-neutral-600 dark:text-neutral-300"},_e={key:2,class:"space-y-4 text-center",role:"alert"},Ae={key:0,"data-no-sign-in":"",class:"mb-6 space-y-2 rounded border border-neutral-300 dark:border-neutral-700 px-4 py-3 text-sm text-neutral-700 dark:text-neutral-200"},Ce=["disabled"],Se={key:0,class:"h-5 w-5 animate-spin rounded-full border-2 border-white/30 border-t-white dark:border-black/30 dark:border-t-black","aria-hidden":"true"},Le={key:1,class:"h-5 w-5",viewBox:"0 0 150 150",fill:"currentColor","aria-hidden":"true"},Pe={class:"mt-6"},qe={key:4,class:"mt-6"},Te="M44.06,0v44.08H0v105.92h105.93v-44.07h44.07V0H44.06ZM19.09,130.91c-16.47-16.47-5.29-54.45,24.96-85.18v60.2h60.23c-30.73,30.27-68.71,41.47-85.2,24.98ZM105.93,104.29v-60.21h-60.21C76.46,13.8,114.42,2.6,130.91,19.09c16.51,16.49,5.31,54.47-24.98,85.2Z",De=se({__name:"LoginView",setup(je){function T(a){return a.startsWith("/src/")||a.startsWith("data:")?a:a.replace("/agents/","/")}const I=T(re),K=T(ne),C=ue(),h=le(),b=f(()=>{const a=h.query.return_to;return ee(Array.isArray(a)?a[0]:a)}),s=r(""),m=r(!1),y=r(!1),S=r(!0),w=r(!1),k=r(!1),L=r(!1),j=r(!1),x=r(!1),P=r(!1),u=r(!1),d=r(!1),U=r(te()==="dark"),p=r(null),J=f(()=>U.value?K:I),M=f(()=>P.value||L.value),B=f(()=>!x.value&&!M.value),N=f(()=>S.value||k.value),W=f(()=>B.value&&!j.value&&!u.value&&!d.value);async function R(a=!1){try{return(await g.request(c("/api/auth/bootstrap"),{auth:"none",method:"POST",headers:{Accept:"application/json"}})).status===204?(a&&(s.value="Standard Agents sign-in is not available for this instance."),!1):(q(),await C.replace(b.value),!0)}catch(e){return a&&(s.value=D(e)),!1}}async function Z(){s.value="",O(p),y.value=!0;try{await R(!0)}finally{y.value=!1}}function $(){window.location.href=c(oe(b.value))}ie(async()=>{const a=h.query.token,e=h.query.error,l=h.query.sa_error;if(a){F(a),q(),C.replace(b.value);return}e==="oauth_failed"?s.value="OAuth authentication failed. Please try again.":e==="oauth_not_configured"&&(s.value="OAuth provider is not configured."),l&&(s.value=l==="forbidden"?"Your Standard Agents account doesn't have access to this instance.":"Standard Agents sign-in didn't complete. Please try again."),await z()});async function z(){S.value=!0,w.value=!1;try{const a=await g.request(c("/api/auth/config"),{auth:"none"}),e=await g.readJson(a);u.value=e.github||!1,d.value=e.google||!1,L.value=e.accountSignIn||!1,j.value=e.localPassword||!1,x.value=e.hosted||!1,P.value=e.standardAgentsLogin||!1,x.value&&(u.value=!1,d.value=!1)}catch{w.value=!0;return}finally{S.value=!1}if(!x.value&&L.value){k.value=!0;try{await R()}finally{k.value=!1}}}async function Y(a){s.value="",O(p),m.value=!0;try{const e=await g.request(c("/api/auth/login"),{auth:"none",method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:a.username,password:a.password})}),l=await g.readJson(e);F(l.token),q(),C.replace(b.value)}catch(e){ge(e,p)}finally{m.value=!1}}function X(){window.location.href=c("/api/auth/oauth/github")}function Q(){window.location.href=c("/api/auth/oauth/google")}return(a,e)=>{const l=ve("FormKit");return n(),o("div",he,[t("div",be,[t("div",me,[t("img",{src:J.value,alt:"Standard Agents",class:"h-16 pointer-events-none select-none"},null,8,ye)]),v(ae,{offsetX:8,offsetY:8,intensity:.2,pattern:"crosshatch"},{default:_(()=>[t("div",we,[s.value?(n(),o("div",ke,G(A(D)(s.value)),1)):i("",!0),N.value?(n(),o("div",xe,G(k.value?"Connecting to your Standard Agents account...":"Loading sign-in options..."),1)):w.value?(n(),o("div",_e,[e[3]||(e[3]=t("p",{class:"text-sm text-neutral-700 dark:text-neutral-200"}," Sign-in options did not load. Check that your dev server is running. ",-1)),v(A(V),{type:"button",variant:"primary","full-width":"",onClick:z},{default:_(()=>[...e[2]||(e[2]=[H(" Try again ",-1)])]),_:1})])):(n(),o(de,{key:3},[W.value?(n(),o("div",Ae,[...e[4]||(e[4]=[t("p",{class:"font-medium"}," This project is not connected to a Standard Agents account. ",-1),t("p",null," A project from this command signs in with your account: ",-1),t("code",{class:"block rounded bg-neutral-100 dark:bg-neutral-800 px-3 py-2 font-mono text-xs"},"npx @standardagents/cli@latest init",-1),t("p",null,"A local user of this project can sign in below.",-1)])])):i("",!0),M.value?(n(),o("button",{key:1,type:"button",disabled:y.value,class:"w-full inline-flex justify-center items-center gap-2.5 px-4 py-2.5 bg-black text-white dark:bg-white dark:text-black rounded-md font-medium hover:opacity-90 transition-opacity disabled:cursor-wait disabled:opacity-70",onClick:e[0]||(e[0]=E=>P.value?$():Z())},[y.value?(n(),o("span",Se)):(n(),o("svg",Le,[t("path",{d:Te})])),e[5]||(e[5]=t("span",null,"Continue with Standard Agents",-1))],8,Ce)):i("",!0),B.value?(n(),ce(l,{key:2,type:"form",actions:!1,onSubmit:Y,onNode:e[1]||(e[1]=E=>p.value=E),disabled:m.value},{default:_(()=>[v(A(fe),{node:p.value||void 0},null,8,["node"]),v(l,{type:"text",name:"username",label:"Username",placeholder:"Enter your username",validation:"required","validation-messages":{required:"Username is required"}}),v(l,{type:"password",name:"password",label:"Password",placeholder:"Enter your password",validation:"required","validation-messages":{required:"Password is required"}}),t("div",Pe,[v(A(V),{type:"submit",variant:"primary","full-width":"",loading:m.value},{default:_(()=>[...e[6]||(e[6]=[H(" Sign in ",-1)])]),_:1},8,["loading"])])]),_:1},8,["disabled"])):i("",!0)],64)),!N.value&&!w.value&&(u.value||d.value)?(n(),o("div",qe,[e[9]||(e[9]=t("div",{class:"relative"},[t("div",{class:"absolute inset-0 flex items-center"},[t("div",{class:"w-full border-t border-neutral-300 dark:border-neutral-600"})]),t("div",{class:"relative flex justify-center text-sm"},[t("span",{class:"px-2 bg-white dark:bg-neutral-900 text-neutral-500 dark:text-neutral-400"},"Or continue with")])],-1)),t("div",{class:pe(["mt-6 grid gap-3",u.value&&d.value?"grid-cols-2":"grid-cols-1"])},[u.value?(n(),o("button",{key:0,onClick:X,type:"button",class:"w-full inline-flex justify-center items-center px-4 py-2.5 border border-neutral-300 dark:border-neutral-600 bg-white dark:bg-neutral-800 text-neutral-700 dark:text-neutral-200 rounded-md font-medium hover:bg-neutral-50 dark:hover:bg-neutral-700 transition-colors"},[...e[7]||(e[7]=[t("svg",{class:"h-5 w-5",fill:"currentColor",viewBox:"0 0 20 20"},[t("path",{"fill-rule":"evenodd",d:"M10 0C4.477 0 0 4.484 0 10.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0110 4.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.203 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.942.359.31.678.921.678 1.856 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0020 10.017C20 4.484 15.522 0 10 0z","clip-rule":"evenodd"})],-1),t("span",{class:"ml-2"},"GitHub",-1)])])):i("",!0),d.value?(n(),o("button",{key:1,onClick:Q,type:"button",class:"w-full inline-flex justify-center items-center px-4 py-2.5 border border-neutral-300 dark:border-neutral-600 bg-white dark:bg-neutral-800 text-neutral-700 dark:text-neutral-200 rounded-md font-medium hover:bg-neutral-50 dark:hover:bg-neutral-700 transition-colors"},[...e[8]||(e[8]=[t("svg",{class:"h-5 w-5",viewBox:"0 0 24 24"},[t("path",{fill:"currentColor",d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"}),t("path",{fill:"currentColor",d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"}),t("path",{fill:"currentColor",d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"}),t("path",{fill:"currentColor",d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"})],-1),t("span",{class:"ml-2"},"Google",-1)])])):i("",!0)],2)])):i("",!0)])]),_:1})])])}}});export{De as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as q,b as i,e as s,f as a,d as E,c as j,k as v,q as g,A as t,z as u,l as y,y as f,D as w,r as b,w as L,F as S,B,R as ee,o as te,a8 as ae,J as F,K as se,b8 as ne,S as re}from"./vue-CnrejLtC.js";import{e as V,b as le,bN as oe,aj as G,C as ie,F as ue,bO as N,_ as de,aD as ce,bP as me}from"./index-DnlG7hIl.js";import{_ as P}from"./UiButton.vue_vue_type_script_setup_true_lang-BezveAaR.js";import{_ as J}from"./useClipboardCopy-DURjq7gM.js";import{a as fe}from"./UiEmptyState.vue_vue_type_script_setup_true_lang-n9hcWKvI.js";import{_ as pe,U as xe}from"./UiPageFrame-CeuT1rer.js";import{t as ve,I as K,_ as R}from"./timeAgo-Dw5sbUU-.js";import{e as Q,p as W}from"./vendor-L6I0G397.js";import"./formkit-B1fIUqP-.js";import"./syntax-XeetdF8c.js";const ke={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function ge(e,l){return s(),i("svg",ke,[...l[0]||(l[0]=[a("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[a("path",{d:"M12 15V3m9 12v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),a("path",{d:"m7 10l5 5l5-5"})],-1)])])}const Z=q({name:"lucide-download",render:ge});function X(e){const l=e.indexOf("/");return l===-1?e:e.slice(l+1)}function Y(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function he(e){return ve(e*1e3)}function be(e){return e==null?"—":e>=1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:e>=1024?`${(e/1024).toFixed(1)} kB`:`${e} B`}function H(e){return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}const _e={class:"flex items-start gap-3"},ye={class:"flex h-10 w-10 flex-shrink-0 items-center justify-center overflow-hidden rounded-lg border border-neutral-200 bg-neutral-50 dark:border-neutral-700 dark:bg-neutral-800"},we=["src"],$e={class:"min-w-0 flex-1"},Me={class:"truncate font-semibold text-neutral-900 group-hover:text-accent-600 dark:text-neutral-100 dark:group-hover:text-accent-400"},Se={class:"truncate text-xs text-neutral-400 dark:text-neutral-500"},je={class:"line-clamp-2 min-h-[2.5rem] text-sm text-neutral-600 dark:text-neutral-400"},Ce={class:"mt-auto flex items-center gap-3 text-xs text-neutral-500 dark:text-neutral-400"},Ae={class:"inline-flex items-center gap-1"},Ie={key:0,class:"ml-auto font-mono text-[11px] text-neutral-400"},Te=E({__name:"MarketplaceCard",props:{pkg:{}},emits:["select"],setup(e){const l=e,c=j(()=>X(l.pkg.name)),p=j(()=>Y(l.pkg.downloads)),r=j(()=>he(l.pkg.updatedAt));return(h,x)=>(s(),i("button",{type:"button",class:"group flex flex-col gap-3 rounded-lg border border-neutral-200 bg-white p-4 text-left transition-[border-color,box-shadow] hover:border-accent-400 hover:shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-accent-500 dark:border-neutral-800 dark:bg-neutral-900 dark:hover:border-accent-500",onClick:x[0]||(x[0]=m=>h.$emit("select",e.pkg.name))},[a("div",_e,[a("span",ye,[e.pkg.iconUrl?(s(),i("img",{key:0,src:e.pkg.iconUrl,alt:"",class:"h-full w-full object-cover",loading:"lazy"},null,8,we)):(s(),v(t(K),{key:1,class:"h-5 w-5 text-neutral-400"}))]),a("div",$e,[a("p",Me,u(c.value),1),a("p",Se,u(e.pkg.name),1)]),e.pkg.latestVersion?(s(),v(t(R),{key:0,variant:"secondary"},{default:y(()=>[f("v"+u(e.pkg.latestVersion),1)]),_:1})):g("",!0)]),a("p",je,u(e.pkg.description||"No description provided."),1),a("div",Ce,[a("span",Ae,[w(t(Z),{class:"h-3.5 w-3.5"}),f(" "+u(p.value),1)]),a("span",null,u(r.value),1),e.pkg.license?(s(),i("span",Ie,u(e.pkg.license),1)):g("",!0)])]))}}),De={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Re(e,l){return s(),i("svg",De,[...l[0]||(l[0]=[a("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m12 19l-7-7l7-7m7 7H5"},null,-1)])])}const Ve=q({name:"lucide-arrow-left",render:Re});async function z(e){return le.getJson(`${oe()}${e}`,{auth:"none"})}function O(e){const l=new URLSearchParams;e.q?.trim()&&l.set("q",e.q.trim()),e.sort&&l.set("sort",e.sort),e.limit!==void 0&&l.set("limit",String(e.limit)),e.offset&&l.set("offset",String(e.offset));const c=l.toString();return`/api/v1/packages${c?`?${c}`:""}`}const Be=24;function Ue(){const e=b([]),l=b(0),c=b(!1),p=b(!1),r=b(null),h=b(!1);let x={},m=0;async function C($){const k=++m;x={...$,offset:0,limit:Be},c.value=!0,r.value=null;try{const d=await z(O(x));if(k!==m)return;e.value=d.objects,l.value=d.total,h.value=d.objects.length+(x.offset??0)<d.total}catch(d){if(k!==m)return;r.value=V(d),e.value=[],l.value=0,h.value=!1}finally{k===m&&(c.value=!1)}}async function A(){if(p.value||c.value||!h.value)return;const $=++m,k=e.value.length;p.value=!0;try{const d=await z(O({...x,offset:k}));if($!==m)return;e.value=[...e.value,...d.objects],l.value=d.total,h.value=e.value.length<d.total}catch(d){if($!==m)return;r.value=V(d)}finally{$===m&&(p.value=!1)}}return{packages:e,total:l,loading:c,loadingMore:p,error:r,search:C,loadMore:A,hasMore:h}}function Le(){const e=b(null),l=b(!1),c=b(null);let p=0;async function r(h){const x=++p;l.value=!0,c.value=null,e.value=null;try{const m=h.split("/").map(A=>encodeURIComponent(A)).join("/"),C=await z(`/api/v1/packages/${m}`);if(x!==p)return;e.value=C}catch(m){if(x!==p)return;c.value=V(m)}finally{x===p&&(l.value=!1)}}return{detail:e,loading:l,error:c,load:r}}Q.setOptions({gfm:!0,breaks:!0});W.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&(e.setAttribute("target","_blank"),e.setAttribute("rel","noopener noreferrer"))});function Pe(e){const l=Q.parse(e,{async:!1});return W.sanitize(l,{USE_PROFILES:{html:!0},FORBID_TAGS:["style","form","input","button"]})}const ze={key:0,class:"flex items-center gap-2 py-12 text-neutral-500"},Ee={class:"flex items-start gap-4"},Fe={class:"flex h-16 w-16 flex-shrink-0 items-center justify-center overflow-hidden rounded-xl border border-neutral-200 bg-neutral-50 dark:border-neutral-700 dark:bg-neutral-800"},Ne=["src"],He={class:"min-w-0 flex-1"},Oe={class:"flex flex-wrap items-center gap-2"},qe={class:"text-xl font-semibold text-neutral-900 dark:text-neutral-100"},Ge={class:"mt-0.5 font-mono text-xs text-neutral-400 dark:text-neutral-500"},Je={key:0,class:"mt-2 max-w-2xl text-sm text-neutral-600 dark:text-neutral-400"},Ke={class:"mt-6 grid gap-8 lg:grid-cols-[1fr_280px]"},Qe={class:"min-w-0"},We=["innerHTML"],Ze={key:1,class:"py-8 text-sm text-neutral-400"},Xe={class:"space-y-6"},Ye={class:"flex items-center gap-2 rounded-lg border border-neutral-200 bg-neutral-50 px-3 py-2 dark:border-neutral-700 dark:bg-neutral-900"},et={class:"min-w-0 flex-1 truncate font-mono text-xs text-neutral-800 dark:text-neutral-200"},tt={class:"space-y-3 text-sm"},at={class:"flex items-center justify-between gap-2"},st={class:"inline-flex items-center gap-1 font-medium text-neutral-800 dark:text-neutral-200"},nt={key:0,class:"flex items-center justify-between gap-2"},rt={class:"font-medium text-neutral-800 dark:text-neutral-200"},lt={class:"flex items-center justify-between gap-2"},ot={class:"text-neutral-800 dark:text-neutral-200"},it={key:1,class:"flex items-center justify-between gap-2"},ut=["href"],dt={key:2,class:"flex items-center justify-between gap-2"},ct=["href"],mt={key:0},ft={class:"flex flex-wrap gap-1.5"},pt={class:"mb-2 text-xs font-medium text-neutral-400"},xt={class:"space-y-1.5"},vt={class:"font-mono text-neutral-800 dark:text-neutral-200"},kt=["title"],gt=E({__name:"MarketplaceDetail",props:{name:{}},emits:["back"],setup(e,{emit:l}){const c=e,p=l,{detail:r,loading:h,error:x,load:m}=Le();L(()=>c.name,_=>{_&&m(_)},{immediate:!0});const C=j(()=>r.value?.distTags.latest??r.value?.versions[0]?.version??null),A=j(()=>`npm install ${c.name}`),$=j(()=>r.value?.readme?Pe(r.value.readme):null),k=j(()=>{const _=r.value?.repository,n=typeof _=="string"?_:_?.url;if(!n)return null;const o=n.replace(/^git\+/,"").replace(/\.git$/,"");return o.startsWith("http")?o:null}),d=b(!1);let D=null;async function T(){try{await navigator.clipboard.writeText(A.value),d.value=!0,D&&clearTimeout(D),D=setTimeout(()=>d.value=!1,1500)}catch{}}const I=b(!1),U=j(()=>{const _=r.value?.versions??[];return I.value?_:_.slice(0,8)});return(_,n)=>(s(),i("div",null,[a("button",{type:"button",class:"mb-4 inline-flex items-center gap-1.5 text-sm text-neutral-500 transition-colors hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-neutral-100",onClick:n[0]||(n[0]=o=>p("back"))},[w(t(Ve),{class:"h-4 w-4"}),n[2]||(n[2]=f(" Marketplace ",-1))]),t(h)?(s(),i("div",ze,[w(G,{size:"sm"}),n[3]||(n[3]=a("span",{class:"text-sm"},"Loading package…",-1))])):t(x)?(s(),v(t(J),{key:1,variant:"error"},{default:y(()=>[f(u(t(V)(t(x))),1)]),_:1})):t(r)?(s(),i(S,{key:2},[a("div",Ee,[a("span",Fe,[t(r).iconUrl?(s(),i("img",{key:0,src:t(r).iconUrl,alt:"",class:"h-full w-full object-cover"},null,8,Ne)):(s(),v(t(K),{key:1,class:"h-7 w-7 text-neutral-400"}))]),a("div",He,[a("div",Oe,[a("h1",qe,u(t(X)(t(r).name)),1),C.value?(s(),v(t(R),{key:0,variant:"secondary"},{default:y(()=>[f("v"+u(C.value),1)]),_:1})):g("",!0),t(r).license?(s(),v(t(R),{key:1,variant:"default"},{default:y(()=>[f(u(t(r).license),1)]),_:1})):g("",!0)]),a("p",Ge,u(t(r).name),1),t(r).description?(s(),i("p",Je,u(t(r).description),1)):g("",!0)])]),a("div",Ke,[a("div",Qe,[$.value?(s(),i("div",{key:0,class:"marketplace-readme text-sm text-neutral-700 dark:text-neutral-300",innerHTML:$.value},null,8,We)):(s(),i("p",Ze,"This package has no README."))]),a("aside",Xe,[a("div",null,[n[4]||(n[4]=a("h2",{class:"mb-2 text-xs font-medium text-neutral-400"},"Install",-1)),a("div",Ye,[a("code",et,u(A.value),1),w(t(P),{variant:"ghost",size:"sm","aria-label":d.value?"Copied":"Copy install command",onClick:T},{default:y(()=>[d.value?(s(),v(t(ie),{key:0,class:"h-4 w-4 text-green-600 dark:text-green-400"})):(s(),v(t(ue),{key:1,class:"h-4 w-4"}))]),_:1},8,["aria-label"])]),n[5]||(n[5]=a("p",{class:"mt-2 text-xs leading-relaxed text-neutral-400 dark:text-neutral-500"},[f(" Projects scaffolded by Standard Agents resolve the "),a("code",{class:"font-mono"},"@agents"),f(" scope automatically via their "),a("code",{class:"font-mono"},".npmrc"),f(". ")],-1))]),a("dl",tt,[a("div",at,[n[6]||(n[6]=a("dt",{class:"text-neutral-500 dark:text-neutral-400"},"Downloads",-1)),a("dd",st,[w(t(Z),{class:"h-3.5 w-3.5"}),f(" "+u(t(Y)(t(r).downloads)),1)])]),t(r).publisher?(s(),i("div",nt,[n[7]||(n[7]=a("dt",{class:"text-neutral-500 dark:text-neutral-400"},"Publisher",-1)),a("dd",rt,u(t(r).publisher),1)])):g("",!0),a("div",lt,[n[8]||(n[8]=a("dt",{class:"text-neutral-500 dark:text-neutral-400"},"Published",-1)),a("dd",ot,u(t(H)(t(r).createdAt)),1)]),k.value?(s(),i("div",it,[n[10]||(n[10]=a("dt",{class:"text-neutral-500 dark:text-neutral-400"},"Repository",-1)),a("dd",null,[a("a",{href:k.value,target:"_blank",rel:"noopener noreferrer",class:"inline-flex items-center gap-1 text-accent-600 hover:underline dark:text-accent-400"},[n[9]||(n[9]=f(" Source ",-1)),w(t(N),{class:"h-3 w-3"})],8,ut)])])):g("",!0),t(r).homepage?(s(),i("div",dt,[n[12]||(n[12]=a("dt",{class:"text-neutral-500 dark:text-neutral-400"},"Homepage",-1)),a("dd",null,[a("a",{href:t(r).homepage,target:"_blank",rel:"noopener noreferrer",class:"inline-flex items-center gap-1 text-accent-600 hover:underline dark:text-accent-400"},[n[11]||(n[11]=f(" Visit ",-1)),w(t(N),{class:"h-3 w-3"})],8,ct)])])):g("",!0)]),t(r).keywords.length?(s(),i("div",mt,[n[13]||(n[13]=a("h2",{class:"mb-2 text-xs font-medium text-neutral-400"},"Keywords",-1)),a("div",ft,[(s(!0),i(S,null,B(t(r).keywords,o=>(s(),v(t(R),{key:o,variant:"default",size:"sm"},{default:y(()=>[f(u(o),1)]),_:2},1024))),128))])])):g("",!0),a("div",null,[a("h2",pt," Versions ("+u(t(r).versions.length)+") ",1),a("ul",xt,[(s(!0),i(S,null,B(U.value,o=>(s(),i("li",{key:o.version,class:"flex items-center justify-between gap-2 text-sm"},[a("span",vt,[f(u(o.version)+" ",1),o.deprecated?(s(),v(t(R),{key:0,variant:"warning",size:"sm",class:"ml-1"},{default:y(()=>[...n[14]||(n[14]=[f("deprecated",-1)])]),_:1})):g("",!0)]),a("span",{class:"text-xs text-neutral-400",title:t(be)(o.unpackedSize)},u(t(H)(o.publishedAt)),9,kt)]))),128))]),t(r).versions.length>8&&!I.value?(s(),i("button",{key:0,type:"button",class:"mt-2 text-xs text-accent-600 hover:underline dark:text-accent-400",onClick:n[1]||(n[1]=o=>I.value=!0)}," Show all "+u(t(r).versions.length)+" versions ",1)):g("",!0)])])])],64)):g("",!0)]))}}),ht=de(gt,[["__scopeId","data-v-81f4ade9"]]),bt={class:"relative"},_t={key:1,class:"grid gap-4",style:{"grid-template-columns":"repeat(auto-fill, minmax(260px, 1fr))"}},yt={class:"grid gap-4",style:{"grid-template-columns":"repeat(auto-fill, minmax(260px, 1fr))"}},wt={class:"mt-6 flex items-center justify-center"},Vt=E({__name:"MarketplaceView",setup(e){const l=ee(),c=re(),{packages:p,total:r,loading:h,loadingMore:x,error:m,search:C,loadMore:A,hasMore:$}=Ue(),k=b(""),d=b("recent"),D=j(()=>{const n=l.params.name;return(Array.isArray(n)?n.join("/"):n)||null});let T=null;L(k,()=>{T&&clearTimeout(T),T=setTimeout(()=>void I(),250)}),L(d,()=>void I());function I(){return C({q:k.value,sort:d.value})}function U(n){c.push(`/marketplace/${n}`)}function _(){c.push("/marketplace")}return te(()=>{I()}),ae(()=>{T&&clearTimeout(T)}),(n,o)=>(s(),v(xe,null,{default:y(()=>[D.value?(s(),v(ht,{key:0,name:D.value,onBack:_},null,8,["name"])):(s(),i(S,{key:1},[w(pe,{title:"Marketplace",description:"Public Standard Agents packages. Each one adds agents, tools or prompts to this instance."},{actions:y(()=>[a("label",bt,[w(t(ce),{class:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-neutral-400"}),F(a("input",{"onUpdate:modelValue":o[0]||(o[0]=M=>k.value=M),type:"search",placeholder:"Search packages",class:"h-8 w-64 rounded-md border border-neutral-200 bg-white pl-9 pr-3 text-sm text-neutral-900 placeholder:text-neutral-400 focus:border-accent-400 focus:outline-none dark:border-neutral-700 dark:bg-neutral-900 dark:text-neutral-100"},null,512),[[se,k.value]])]),F(a("select",{"onUpdate:modelValue":o[1]||(o[1]=M=>d.value=M),"aria-label":"Sort packages",class:"h-8 rounded-md border border-neutral-200 bg-white pl-3 pr-8 text-sm text-neutral-700 focus:border-accent-400 focus:outline-none dark:border-neutral-700 dark:bg-neutral-900 dark:text-neutral-300"},[...o[4]||(o[4]=[a("option",{value:"recent"},"Recently updated",-1),a("option",{value:"downloads"},"Most installed",-1)])],512),[[ne,d.value]])]),_:1}),t(m)?(s(),v(t(J),{key:0,variant:"error",class:"mb-4"},{default:y(()=>[f(u(t(V)(t(m)))+" ",1),w(t(P),{variant:"ghost",size:"sm",class:"ml-2",onClick:o[2]||(o[2]=M=>I())},{default:y(()=>[...o[5]||(o[5]=[f("Retry",-1)])]),_:1})]),_:1})):g("",!0),t(h)?(s(),i("div",_t,[(s(),i(S,null,B(8,M=>a("div",{key:M,class:"h-36 animate-pulse rounded-lg border border-neutral-200 bg-neutral-50 dark:border-neutral-800 dark:bg-neutral-900"})),64))])):!t(p).length&&!t(m)?(s(),v(t(fe),{key:2,icon:t(me),message:k.value?`No packages match “${k.value}”.`:"No packages have been published yet."},null,8,["icon","message"])):(s(),i(S,{key:3},[a("div",yt,[(s(!0),i(S,null,B(t(p),M=>(s(),v(Te,{key:M.name,pkg:M,onSelect:U},null,8,["pkg"]))),128))]),a("div",wt,[t($)?(s(),v(t(P),{key:0,variant:"secondary",disabled:t(x),onClick:o[3]||(o[3]=M=>t(A)())},{default:y(()=>[t(x)?(s(),i(S,{key:0},[w(G,{size:"sm",class:"mr-2"}),o[6]||(o[6]=f("Loading…",-1))],64)):(s(),i(S,{key:1},[f("Load more ("+u(t(p).length)+" of "+u(t(r))+")",1)],64))]),_:1},8,["disabled"])):g("",!0)])],64))],64))]),_:1}))}});export{Vt as default};
|
|
1
|
+
import{m as q,b as i,e as s,f as a,d as E,c as j,k as v,q as g,A as t,z as u,l as y,y as f,D as w,r as b,w as L,F as S,B,R as ee,o as te,a8 as ae,J as F,K as se,b8 as ne,S as re}from"./vue-CnrejLtC.js";import{e as V,b as le,bO as oe,aj as G,C as ie,F as ue,bP as N,_ as de,aD as ce,bQ as me}from"./index-BwlCQIem.js";import{_ as P}from"./UiButton.vue_vue_type_script_setup_true_lang-CVyrFcWg.js";import{_ as J}from"./useClipboardCopy-DURjq7gM.js";import{a as fe}from"./UiEmptyState.vue_vue_type_script_setup_true_lang-BD_dt9VV.js";import{_ as pe,U as xe}from"./UiPageFrame-CP9KRIIM.js";import{t as ve,I as K,_ as R}from"./timeAgo-Dw5sbUU-.js";import{e as Q,p as W}from"./vendor-L6I0G397.js";import"./formkit-B1fIUqP-.js";import"./syntax-XeetdF8c.js";const ke={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function ge(e,l){return s(),i("svg",ke,[...l[0]||(l[0]=[a("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[a("path",{d:"M12 15V3m9 12v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),a("path",{d:"m7 10l5 5l5-5"})],-1)])])}const Z=q({name:"lucide-download",render:ge});function X(e){const l=e.indexOf("/");return l===-1?e:e.slice(l+1)}function Y(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function he(e){return ve(e*1e3)}function be(e){return e==null?"—":e>=1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:e>=1024?`${(e/1024).toFixed(1)} kB`:`${e} B`}function H(e){return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}const _e={class:"flex items-start gap-3"},ye={class:"flex h-10 w-10 flex-shrink-0 items-center justify-center overflow-hidden rounded-lg border border-neutral-200 bg-neutral-50 dark:border-neutral-700 dark:bg-neutral-800"},we=["src"],$e={class:"min-w-0 flex-1"},Me={class:"truncate font-semibold text-neutral-900 group-hover:text-accent-600 dark:text-neutral-100 dark:group-hover:text-accent-400"},Se={class:"truncate text-xs text-neutral-400 dark:text-neutral-500"},je={class:"line-clamp-2 min-h-[2.5rem] text-sm text-neutral-600 dark:text-neutral-400"},Ce={class:"mt-auto flex items-center gap-3 text-xs text-neutral-500 dark:text-neutral-400"},Ae={class:"inline-flex items-center gap-1"},Ie={key:0,class:"ml-auto font-mono text-[11px] text-neutral-400"},Te=E({__name:"MarketplaceCard",props:{pkg:{}},emits:["select"],setup(e){const l=e,c=j(()=>X(l.pkg.name)),p=j(()=>Y(l.pkg.downloads)),r=j(()=>he(l.pkg.updatedAt));return(h,x)=>(s(),i("button",{type:"button",class:"group flex flex-col gap-3 rounded-lg border border-neutral-200 bg-white p-4 text-left transition-[border-color,box-shadow] hover:border-accent-400 hover:shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-accent-500 dark:border-neutral-800 dark:bg-neutral-900 dark:hover:border-accent-500",onClick:x[0]||(x[0]=m=>h.$emit("select",e.pkg.name))},[a("div",_e,[a("span",ye,[e.pkg.iconUrl?(s(),i("img",{key:0,src:e.pkg.iconUrl,alt:"",class:"h-full w-full object-cover",loading:"lazy"},null,8,we)):(s(),v(t(K),{key:1,class:"h-5 w-5 text-neutral-400"}))]),a("div",$e,[a("p",Me,u(c.value),1),a("p",Se,u(e.pkg.name),1)]),e.pkg.latestVersion?(s(),v(t(R),{key:0,variant:"secondary"},{default:y(()=>[f("v"+u(e.pkg.latestVersion),1)]),_:1})):g("",!0)]),a("p",je,u(e.pkg.description||"No description provided."),1),a("div",Ce,[a("span",Ae,[w(t(Z),{class:"h-3.5 w-3.5"}),f(" "+u(p.value),1)]),a("span",null,u(r.value),1),e.pkg.license?(s(),i("span",Ie,u(e.pkg.license),1)):g("",!0)])]))}}),De={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Re(e,l){return s(),i("svg",De,[...l[0]||(l[0]=[a("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m12 19l-7-7l7-7m7 7H5"},null,-1)])])}const Ve=q({name:"lucide-arrow-left",render:Re});async function z(e){return le.getJson(`${oe()}${e}`,{auth:"none"})}function O(e){const l=new URLSearchParams;e.q?.trim()&&l.set("q",e.q.trim()),e.sort&&l.set("sort",e.sort),e.limit!==void 0&&l.set("limit",String(e.limit)),e.offset&&l.set("offset",String(e.offset));const c=l.toString();return`/api/v1/packages${c?`?${c}`:""}`}const Be=24;function Ue(){const e=b([]),l=b(0),c=b(!1),p=b(!1),r=b(null),h=b(!1);let x={},m=0;async function C($){const k=++m;x={...$,offset:0,limit:Be},c.value=!0,r.value=null;try{const d=await z(O(x));if(k!==m)return;e.value=d.objects,l.value=d.total,h.value=d.objects.length+(x.offset??0)<d.total}catch(d){if(k!==m)return;r.value=V(d),e.value=[],l.value=0,h.value=!1}finally{k===m&&(c.value=!1)}}async function A(){if(p.value||c.value||!h.value)return;const $=++m,k=e.value.length;p.value=!0;try{const d=await z(O({...x,offset:k}));if($!==m)return;e.value=[...e.value,...d.objects],l.value=d.total,h.value=e.value.length<d.total}catch(d){if($!==m)return;r.value=V(d)}finally{$===m&&(p.value=!1)}}return{packages:e,total:l,loading:c,loadingMore:p,error:r,search:C,loadMore:A,hasMore:h}}function Le(){const e=b(null),l=b(!1),c=b(null);let p=0;async function r(h){const x=++p;l.value=!0,c.value=null,e.value=null;try{const m=h.split("/").map(A=>encodeURIComponent(A)).join("/"),C=await z(`/api/v1/packages/${m}`);if(x!==p)return;e.value=C}catch(m){if(x!==p)return;c.value=V(m)}finally{x===p&&(l.value=!1)}}return{detail:e,loading:l,error:c,load:r}}Q.setOptions({gfm:!0,breaks:!0});W.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&(e.setAttribute("target","_blank"),e.setAttribute("rel","noopener noreferrer"))});function Pe(e){const l=Q.parse(e,{async:!1});return W.sanitize(l,{USE_PROFILES:{html:!0},FORBID_TAGS:["style","form","input","button"]})}const ze={key:0,class:"flex items-center gap-2 py-12 text-neutral-500"},Ee={class:"flex items-start gap-4"},Fe={class:"flex h-16 w-16 flex-shrink-0 items-center justify-center overflow-hidden rounded-xl border border-neutral-200 bg-neutral-50 dark:border-neutral-700 dark:bg-neutral-800"},Ne=["src"],He={class:"min-w-0 flex-1"},Oe={class:"flex flex-wrap items-center gap-2"},qe={class:"text-xl font-semibold text-neutral-900 dark:text-neutral-100"},Ge={class:"mt-0.5 font-mono text-xs text-neutral-400 dark:text-neutral-500"},Je={key:0,class:"mt-2 max-w-2xl text-sm text-neutral-600 dark:text-neutral-400"},Ke={class:"mt-6 grid gap-8 lg:grid-cols-[1fr_280px]"},Qe={class:"min-w-0"},We=["innerHTML"],Ze={key:1,class:"py-8 text-sm text-neutral-400"},Xe={class:"space-y-6"},Ye={class:"flex items-center gap-2 rounded-lg border border-neutral-200 bg-neutral-50 px-3 py-2 dark:border-neutral-700 dark:bg-neutral-900"},et={class:"min-w-0 flex-1 truncate font-mono text-xs text-neutral-800 dark:text-neutral-200"},tt={class:"space-y-3 text-sm"},at={class:"flex items-center justify-between gap-2"},st={class:"inline-flex items-center gap-1 font-medium text-neutral-800 dark:text-neutral-200"},nt={key:0,class:"flex items-center justify-between gap-2"},rt={class:"font-medium text-neutral-800 dark:text-neutral-200"},lt={class:"flex items-center justify-between gap-2"},ot={class:"text-neutral-800 dark:text-neutral-200"},it={key:1,class:"flex items-center justify-between gap-2"},ut=["href"],dt={key:2,class:"flex items-center justify-between gap-2"},ct=["href"],mt={key:0},ft={class:"flex flex-wrap gap-1.5"},pt={class:"mb-2 text-xs font-medium text-neutral-400"},xt={class:"space-y-1.5"},vt={class:"font-mono text-neutral-800 dark:text-neutral-200"},kt=["title"],gt=E({__name:"MarketplaceDetail",props:{name:{}},emits:["back"],setup(e,{emit:l}){const c=e,p=l,{detail:r,loading:h,error:x,load:m}=Le();L(()=>c.name,_=>{_&&m(_)},{immediate:!0});const C=j(()=>r.value?.distTags.latest??r.value?.versions[0]?.version??null),A=j(()=>`npm install ${c.name}`),$=j(()=>r.value?.readme?Pe(r.value.readme):null),k=j(()=>{const _=r.value?.repository,n=typeof _=="string"?_:_?.url;if(!n)return null;const o=n.replace(/^git\+/,"").replace(/\.git$/,"");return o.startsWith("http")?o:null}),d=b(!1);let D=null;async function T(){try{await navigator.clipboard.writeText(A.value),d.value=!0,D&&clearTimeout(D),D=setTimeout(()=>d.value=!1,1500)}catch{}}const I=b(!1),U=j(()=>{const _=r.value?.versions??[];return I.value?_:_.slice(0,8)});return(_,n)=>(s(),i("div",null,[a("button",{type:"button",class:"mb-4 inline-flex items-center gap-1.5 text-sm text-neutral-500 transition-colors hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-neutral-100",onClick:n[0]||(n[0]=o=>p("back"))},[w(t(Ve),{class:"h-4 w-4"}),n[2]||(n[2]=f(" Marketplace ",-1))]),t(h)?(s(),i("div",ze,[w(G,{size:"sm"}),n[3]||(n[3]=a("span",{class:"text-sm"},"Loading package…",-1))])):t(x)?(s(),v(t(J),{key:1,variant:"error"},{default:y(()=>[f(u(t(V)(t(x))),1)]),_:1})):t(r)?(s(),i(S,{key:2},[a("div",Ee,[a("span",Fe,[t(r).iconUrl?(s(),i("img",{key:0,src:t(r).iconUrl,alt:"",class:"h-full w-full object-cover"},null,8,Ne)):(s(),v(t(K),{key:1,class:"h-7 w-7 text-neutral-400"}))]),a("div",He,[a("div",Oe,[a("h1",qe,u(t(X)(t(r).name)),1),C.value?(s(),v(t(R),{key:0,variant:"secondary"},{default:y(()=>[f("v"+u(C.value),1)]),_:1})):g("",!0),t(r).license?(s(),v(t(R),{key:1,variant:"default"},{default:y(()=>[f(u(t(r).license),1)]),_:1})):g("",!0)]),a("p",Ge,u(t(r).name),1),t(r).description?(s(),i("p",Je,u(t(r).description),1)):g("",!0)])]),a("div",Ke,[a("div",Qe,[$.value?(s(),i("div",{key:0,class:"marketplace-readme text-sm text-neutral-700 dark:text-neutral-300",innerHTML:$.value},null,8,We)):(s(),i("p",Ze,"This package has no README."))]),a("aside",Xe,[a("div",null,[n[4]||(n[4]=a("h2",{class:"mb-2 text-xs font-medium text-neutral-400"},"Install",-1)),a("div",Ye,[a("code",et,u(A.value),1),w(t(P),{variant:"ghost",size:"sm","aria-label":d.value?"Copied":"Copy install command",onClick:T},{default:y(()=>[d.value?(s(),v(t(ie),{key:0,class:"h-4 w-4 text-green-600 dark:text-green-400"})):(s(),v(t(ue),{key:1,class:"h-4 w-4"}))]),_:1},8,["aria-label"])]),n[5]||(n[5]=a("p",{class:"mt-2 text-xs leading-relaxed text-neutral-400 dark:text-neutral-500"},[f(" Projects scaffolded by Standard Agents resolve the "),a("code",{class:"font-mono"},"@agents"),f(" scope automatically via their "),a("code",{class:"font-mono"},".npmrc"),f(". ")],-1))]),a("dl",tt,[a("div",at,[n[6]||(n[6]=a("dt",{class:"text-neutral-500 dark:text-neutral-400"},"Downloads",-1)),a("dd",st,[w(t(Z),{class:"h-3.5 w-3.5"}),f(" "+u(t(Y)(t(r).downloads)),1)])]),t(r).publisher?(s(),i("div",nt,[n[7]||(n[7]=a("dt",{class:"text-neutral-500 dark:text-neutral-400"},"Publisher",-1)),a("dd",rt,u(t(r).publisher),1)])):g("",!0),a("div",lt,[n[8]||(n[8]=a("dt",{class:"text-neutral-500 dark:text-neutral-400"},"Published",-1)),a("dd",ot,u(t(H)(t(r).createdAt)),1)]),k.value?(s(),i("div",it,[n[10]||(n[10]=a("dt",{class:"text-neutral-500 dark:text-neutral-400"},"Repository",-1)),a("dd",null,[a("a",{href:k.value,target:"_blank",rel:"noopener noreferrer",class:"inline-flex items-center gap-1 text-accent-600 hover:underline dark:text-accent-400"},[n[9]||(n[9]=f(" Source ",-1)),w(t(N),{class:"h-3 w-3"})],8,ut)])])):g("",!0),t(r).homepage?(s(),i("div",dt,[n[12]||(n[12]=a("dt",{class:"text-neutral-500 dark:text-neutral-400"},"Homepage",-1)),a("dd",null,[a("a",{href:t(r).homepage,target:"_blank",rel:"noopener noreferrer",class:"inline-flex items-center gap-1 text-accent-600 hover:underline dark:text-accent-400"},[n[11]||(n[11]=f(" Visit ",-1)),w(t(N),{class:"h-3 w-3"})],8,ct)])])):g("",!0)]),t(r).keywords.length?(s(),i("div",mt,[n[13]||(n[13]=a("h2",{class:"mb-2 text-xs font-medium text-neutral-400"},"Keywords",-1)),a("div",ft,[(s(!0),i(S,null,B(t(r).keywords,o=>(s(),v(t(R),{key:o,variant:"default",size:"sm"},{default:y(()=>[f(u(o),1)]),_:2},1024))),128))])])):g("",!0),a("div",null,[a("h2",pt," Versions ("+u(t(r).versions.length)+") ",1),a("ul",xt,[(s(!0),i(S,null,B(U.value,o=>(s(),i("li",{key:o.version,class:"flex items-center justify-between gap-2 text-sm"},[a("span",vt,[f(u(o.version)+" ",1),o.deprecated?(s(),v(t(R),{key:0,variant:"warning",size:"sm",class:"ml-1"},{default:y(()=>[...n[14]||(n[14]=[f("deprecated",-1)])]),_:1})):g("",!0)]),a("span",{class:"text-xs text-neutral-400",title:t(be)(o.unpackedSize)},u(t(H)(o.publishedAt)),9,kt)]))),128))]),t(r).versions.length>8&&!I.value?(s(),i("button",{key:0,type:"button",class:"mt-2 text-xs text-accent-600 hover:underline dark:text-accent-400",onClick:n[1]||(n[1]=o=>I.value=!0)}," Show all "+u(t(r).versions.length)+" versions ",1)):g("",!0)])])])],64)):g("",!0)]))}}),ht=de(gt,[["__scopeId","data-v-81f4ade9"]]),bt={class:"relative"},_t={key:1,class:"grid gap-4",style:{"grid-template-columns":"repeat(auto-fill, minmax(260px, 1fr))"}},yt={class:"grid gap-4",style:{"grid-template-columns":"repeat(auto-fill, minmax(260px, 1fr))"}},wt={class:"mt-6 flex items-center justify-center"},Vt=E({__name:"MarketplaceView",setup(e){const l=ee(),c=re(),{packages:p,total:r,loading:h,loadingMore:x,error:m,search:C,loadMore:A,hasMore:$}=Ue(),k=b(""),d=b("recent"),D=j(()=>{const n=l.params.name;return(Array.isArray(n)?n.join("/"):n)||null});let T=null;L(k,()=>{T&&clearTimeout(T),T=setTimeout(()=>void I(),250)}),L(d,()=>void I());function I(){return C({q:k.value,sort:d.value})}function U(n){c.push(`/marketplace/${n}`)}function _(){c.push("/marketplace")}return te(()=>{I()}),ae(()=>{T&&clearTimeout(T)}),(n,o)=>(s(),v(xe,null,{default:y(()=>[D.value?(s(),v(ht,{key:0,name:D.value,onBack:_},null,8,["name"])):(s(),i(S,{key:1},[w(pe,{title:"Marketplace",description:"Public Standard Agents packages. Each one adds agents, tools or prompts to this instance."},{actions:y(()=>[a("label",bt,[w(t(ce),{class:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-neutral-400"}),F(a("input",{"onUpdate:modelValue":o[0]||(o[0]=M=>k.value=M),type:"search",placeholder:"Search packages",class:"h-8 w-64 rounded-md border border-neutral-200 bg-white pl-9 pr-3 text-sm text-neutral-900 placeholder:text-neutral-400 focus:border-accent-400 focus:outline-none dark:border-neutral-700 dark:bg-neutral-900 dark:text-neutral-100"},null,512),[[se,k.value]])]),F(a("select",{"onUpdate:modelValue":o[1]||(o[1]=M=>d.value=M),"aria-label":"Sort packages",class:"h-8 rounded-md border border-neutral-200 bg-white pl-3 pr-8 text-sm text-neutral-700 focus:border-accent-400 focus:outline-none dark:border-neutral-700 dark:bg-neutral-900 dark:text-neutral-300"},[...o[4]||(o[4]=[a("option",{value:"recent"},"Recently updated",-1),a("option",{value:"downloads"},"Most installed",-1)])],512),[[ne,d.value]])]),_:1}),t(m)?(s(),v(t(J),{key:0,variant:"error",class:"mb-4"},{default:y(()=>[f(u(t(V)(t(m)))+" ",1),w(t(P),{variant:"ghost",size:"sm",class:"ml-2",onClick:o[2]||(o[2]=M=>I())},{default:y(()=>[...o[5]||(o[5]=[f("Retry",-1)])]),_:1})]),_:1})):g("",!0),t(h)?(s(),i("div",_t,[(s(),i(S,null,B(8,M=>a("div",{key:M,class:"h-36 animate-pulse rounded-lg border border-neutral-200 bg-neutral-50 dark:border-neutral-800 dark:bg-neutral-900"})),64))])):!t(p).length&&!t(m)?(s(),v(t(fe),{key:2,icon:t(me),message:k.value?`No packages match “${k.value}”.`:"No packages have been published yet."},null,8,["icon","message"])):(s(),i(S,{key:3},[a("div",yt,[(s(!0),i(S,null,B(t(p),M=>(s(),v(Te,{key:M.name,pkg:M,onSelect:U},null,8,["pkg"]))),128))]),a("div",wt,[t($)?(s(),v(t(P),{key:0,variant:"secondary",disabled:t(x),onClick:o[3]||(o[3]=M=>t(A)())},{default:y(()=>[t(x)?(s(),i(S,{key:0},[w(G,{size:"sm",class:"mr-2"}),o[6]||(o[6]=f("Loading…",-1))],64)):(s(),i(S,{key:1},[f("Load more ("+u(t(p).length)+" of "+u(t(r))+")",1)],64))]),_:1},8,["disabled"])):g("",!0)])],64))],64))]),_:1}))}});export{Vt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as T,ad as F,i as U,P as j,p as K,r as v,w as N,a8 as P,k as R,e as u,D as d,aw as V,l as f,b as p,q as g,n as E,f as k,z as q,A as x,g as M,T as O}from"./vue-CnrejLtC.js";import{
|
|
1
|
+
import{d as T,ad as F,i as U,P as j,p as K,r as v,w as N,a8 as P,k as R,e as u,D as d,aw as V,l as f,b as p,q as g,n as E,f as k,z as q,A as x,g as M,T as O}from"./vue-CnrejLtC.js";import{bB as G,M as X}from"./index-BwlCQIem.js";import{e as Y,d as J,l as Q}from"./UiFilterMenu.vue_vue_type_script_setup_true_lang-BE1kHACC.js";const W=T({name:"ModalBody",props:{padded:{type:Boolean,default:!0}},setup(a,{slots:t}){return()=>F("div",{"data-testid":"modal-body",class:["min-h-0 flex-1 overflow-y-auto overscroll-contain",a.padded?"p-6":"flex flex-col [&>*:only-child]:flex [&>*:only-child]:min-h-0 [&>*:only-child]:flex-1 [&>*:only-child]:flex-col"]},t.default?.())}}),S=Symbol("modal-editor-changes");function Z(){const a=new Map;return K(S,t=>(a.set(t,t.getValue()),()=>{a.delete(t)})),{hasEditors:()=>a.size>0,hasChanges:()=>[...a].some(([t,s])=>!t.isReadonly()&&t.getValue()!==s)}}function ne(a){const t=U(S,null);t&&j(t(a))}const ee={class:"flex items-center justify-between p-4 border-b border-neutral-200 dark:border-neutral-800 flex-shrink-0"},ae={class:"text-base font-medium text-neutral-900 dark:text-neutral-100"},te={key:0,class:"p-6 border-t border-neutral-200 dark:border-neutral-800 flex-shrink-0"},re=T({name:"BuilderModal",__name:"Modal",props:{modelValue:{type:Boolean},title:{},width:{default:"max-w-lg"},minHeight:{default:"min-h-[min(24rem,85vh)]"},hasChanges:{type:Boolean,default:void 0},contentPadding:{type:Boolean,default:!0}},emits:["update:modelValue","close"],setup(a,{emit:t}){const s=a,C=t,m=v(),n=v(!1),b=Z();let i=null;const w=()=>Array.from(m.value?.querySelectorAll('input, textarea, select, [contenteditable="true"]')??[]).filter(e=>!e.closest("[data-code-editor]")),B=()=>b.hasEditors()||w().length>0,I=e=>{if(e instanceof HTMLInputElement)return e.type==="checkbox"||e.type==="radio"?e.checked!==e.defaultChecked:e.value!==e.defaultValue;if(e instanceof HTMLTextAreaElement)return e.value!==e.defaultValue;if(e instanceof HTMLSelectElement){const l=Array.from(e.options);if(e.multiple)return l.some(o=>o.selected!==o.defaultSelected);let r=-1;return l.forEach((o,z)=>{o.defaultSelected&&(r=z)}),r<0&&(r=l.findIndex(o=>!o.disabled&&!(o.parentElement instanceof HTMLOptGroupElement&&o.parentElement.disabled))),e.selectedIndex!==r}return!1},L=()=>{if(s.hasChanges!==void 0)return s.hasChanges;if(!m.value)return!1;if(b.hasChanges())return!0;const e=w();for(const l of e)if(I(l))return!0;return!1},_=()=>{L()?n.value=!0:c()},c=()=>{C("update:modelValue",!1),C("close")},A=()=>{n.value=!1,c()},D=()=>{n.value=!1},h=e=>{e.key==="Escape"&&s.modelValue&&(B()||c())};N(()=>s.modelValue,e=>{e?(document.addEventListener("keydown",h),i=Q()):(document.removeEventListener("keydown",h),i?.(),i=null,n.value=!1)},{immediate:!0}),P(()=>{document.removeEventListener("keydown",h),i?.(),i=null});const y=v(!1),H=e=>{y.value=e.target===e.currentTarget},$=e=>{e.target===e.currentTarget&&y.value&&(B()||c()),y.value=!1};return(e,l)=>(u(),R(O,{to:"body"},[d(V,{"enter-active-class":"transition-opacity duration-200","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition-opacity duration-200","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:f(()=>[a.modelValue?(u(),p("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4 ui-modal-backdrop dark:text-white",onMousedown:H,onClick:$},[d(V,{"enter-active-class":"transition-[opacity,transform] duration-200","enter-from-class":"opacity-0 scale-95","enter-to-class":"opacity-100 scale-100","leave-active-class":"transition-[opacity,transform] duration-200","leave-from-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-95"},{default:f(()=>[a.modelValue?(u(),p("div",{key:0,class:E(["w-full",a.width,"max-h-[85vh] flex flex-col"])},[d(G,{"offset-x":8,"offset-y":8,intensity:.35},{default:f(()=>[k("div",{ref_key:"modalRef",ref:m,class:E(["bg-white dark:bg-neutral-900 border border-neutral-300 dark:border-neutral-700 rounded-lg flex flex-col max-h-[85vh]",a.minHeight])},[k("div",ee,[k("h2",ae,q(a.title),1),d(x(Y),{icon:x(X),label:"Close modal",variant:"ghost",onClick:_},null,8,["icon"])]),d(x(W),{padded:a.contentPadding},{default:f(()=>[M(e.$slots,"default")]),_:3},8,["padded"]),e.$slots.footer?(u(),p("div",te,[M(e.$slots,"footer")])):g("",!0)],2)]),_:3})],2)):g("",!0)]),_:3})],32)):g("",!0)]),_:3}),d(J,{modelValue:n.value,"onUpdate:modelValue":l[0]||(l[0]=r=>n.value=r),title:"Unsaved changes",message:"You have unsaved changes that will be lost. Are you sure you want to close?","confirm-text":"Close anyway","cancel-text":"Keep editing",onConfirm:A,onCancel:D},null,8,["modelValue"])]))}});export{re as _,ne as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as
|
|
1
|
+
import{d as G,c,R as H,k,e as a,E as K,l as n,f as t,z as o,A as i,D as d,q as v,ab as Q,n as f,b as r,B as g,F as m,y as $,X as W}from"./vue-CnrejLtC.js";import{_ as V,a as Y,b as y,c as Z}from"./DefinitionUsedBy.vue_vue_type_script_setup_true_lang-BMGuiEk7.js";import{P as ee,_ as te}from"./toolReference-Dnhl8D6k.js";import{D as ae}from"./DefinitionSource-BbqSJUnU.js";import{m as D,p as le,c as se}from"./modelReference-xZ6MYL2p.js";import{c as oe,bJ as re,a6 as ne,V as b}from"./index-BwlCQIem.js";import{u as ue}from"./useDefinitionUsage-CkISuMRg.js";import{u as ie,_ as O}from"./useClipboardCopy-DURjq7gM.js";import{a as de}from"./UiEmptyState.vue_vue_type_script_setup_true_lang-BD_dt9VV.js";import"./formkit-B1fIUqP-.js";import"./syntax-XeetdF8c.js";import"./vendor-L6I0G397.js";const ce={class:"mt-1 text-[14px] text-neutral-600 dark:text-neutral-300"},me={class:"mt-3"},pe={class:"space-y-2 text-[13px]"},ve=["src"],xe={class:"text-neutral-900 dark:text-neutral-50"},_e={class:"ml-auto text-neutral-500 dark:text-neutral-400"},he={key:3,class:"text-[13px] text-neutral-500 dark:text-neutral-400"},ke={class:"flex items-center gap-3"},fe=["src"],ge={class:"min-w-0 truncate font-mono text-[22px] font-medium text-neutral-900 dark:text-neutral-50"},ye={class:"mt-1 text-[14px] text-neutral-600 dark:text-neutral-300"},be={class:"font-mono text-[13px] text-neutral-900 dark:text-neutral-50"},Ce={class:"mt-3 divide-y divide-neutral-200 border-b border-neutral-200 dark:divide-neutral-800 dark:border-neutral-800"},$e={class:"text-neutral-500 dark:text-neutral-400"},we={class:"tabular-nums text-neutral-800 dark:text-neutral-100"},Re={class:"text-neutral-500 dark:text-neutral-400"},Pe={class:"text-neutral-800 dark:text-neutral-100"},Le={class:"space-y-1.5 text-[13px]"},Ne={class:"w-4 shrink-0 text-right tabular-nums text-neutral-500 dark:text-neutral-400"},Se=["src"],Ee={class:"truncate font-mono text-[12.5px] text-neutral-900 dark:text-neutral-50"},Fe={key:1,class:"ml-auto truncate font-mono text-[12px] text-neutral-500 dark:text-neutral-400"},Te={key:0,class:"flex flex-wrap gap-x-1 gap-y-1"},Ve={class:"text-[13px] text-neutral-600 dark:text-neutral-300"},De=["src"],Be={class:"truncate text-neutral-900 dark:text-neutral-50"},Ie={class:"space-y-1"},Me={class:"truncate font-mono text-[12.5px] text-neutral-900 dark:text-neutral-50"},Ae={class:"break-all font-mono text-[12px] text-neutral-700 dark:text-neutral-200"},P="-mx-1 flex items-center gap-2 rounded px-1 py-0.5 hover:bg-black/5 dark:hover:bg-white/10",j="grid grid-cols-[10rem_minmax(0,1fr)] gap-x-4 gap-y-2 text-[13px]",Ze=G({__name:"ModelsView",setup(Oe){const L=H(),x=c(()=>typeof L.params.name=="string"&&L.params.name?L.params.name:null),p=oe(),q=re(),z=ue(),B=ie(),C=c(()=>p.initialLoading.value),U=c(()=>!C.value&&!p.error.value&&p.items.value.length===0),I=ne("models"),N=c(()=>[...new Set(p.items.value.map(u=>u.provider))].sort((u,l)=>u.localeCompare(l))),M=c(()=>N.value.map(u=>({label:u,items:p.items.value.filter(l=>l.provider===u).sort((l,_)=>l.name.localeCompare(_.name)).map(l=>({key:l.name,name:l.name,detail:l.model,icon:D(l),to:b.model(l.name)}))}))),s=c(()=>p.items.value.find(u=>u.name===x.value)??null),S=c(()=>s.value?le(s.value):[]),X=c(()=>s.value?se(s.value):[]),E=c(()=>s.value?.fallbacks?.filter(u=>u.name!==s.value?.name)??[]),w=c(()=>s.value?.providerTools??[]),F=c(()=>s.value?.included_providers??[]),T=c(()=>z.value.model(x.value??"")),R=c(()=>q.items.value.find(u=>u.kind==="models"&&u.name===x.value)?.path??null);function h(u,l){return`${u} ${l}${u===1?"":"s"}`}const A=u=>`/api/providers/${encodeURIComponent(u)}/icon`;return(u,l)=>{const _=Q("RouterLink");return a(),k(Z,{parent:{label:"Models",to:"/models"},name:s.value?.name??x.value??void 0},K({list:n(()=>[d(te,{groups:M.value,"selected-key":x.value,loading:C.value,"search-placeholder":"Search models","empty-message":i(I).message},null,8,["groups","selected-key","loading","empty-message"])]),default:n(()=>[i(p).error.value?(a(),k(i(O),{key:0,variant:"error",class:"mb-4"},{default:n(()=>[$(o(i(p).error.value),1)]),_:1})):v("",!0),!x.value&&U.value?(a(),r(m,{key:1},[l[1]||(l[1]=t("h1",{class:"text-[22px] font-medium text-neutral-900 dark:text-neutral-50"},"Models",-1)),d(i(de),W({align:"start"},i(I)),null,16)],64)):x.value?C.value?(a(),r("p",he,"Loading model…")):s.value?(a(),r(m,{key:5},[t("div",ke,[t("img",{src:i(D)(s.value),alt:"",class:"h-7 w-7 shrink-0"},null,8,fe),t("h1",ge,o(s.value.name),1)]),t("p",ye,[l[3]||(l[3]=$(" Runs ",-1)),t("span",be,o(s.value.model),1),$(" on "+o(s.value.provider)+". ",1)]),t("div",Ce,[d(y,{title:"Price",meta:S.value.length?s.value.pricing_range?"Across its OpenRouter endpoints":void 0:"No price set"},{default:n(()=>[S.value.length?(a(),r("dl",{key:0,class:f(j)},[(a(!0),r(m,null,g(S.value,e=>(a(),r(m,{key:e.label},[t("dt",$e,o(e.label),1),t("dd",we,o(e.value),1)],64))),128))])):v("",!0)]),_:1},8,["meta"]),d(y,{title:"Capabilities"},{default:n(()=>[t("dl",{class:f(j)},[(a(!0),r(m,null,g(X.value,e=>(a(),r(m,{key:e.label},[t("dt",Re,o(e.label),1),t("dd",Pe,o(e.value),1)],64))),128))])]),_:1}),d(y,{title:"Fallbacks",meta:E.value.length?"Tried in this order":"No fallbacks"},{default:n(()=>[E.value.length?(a(),r(m,{key:0},[l[4]||(l[4]=t("p",{class:"mb-3 text-[13px] text-neutral-500 dark:text-neutral-400"},"A request tries this model twice. After two failures it tries each fallback twice, in order.",-1)),t("ol",Le,[(a(!0),r(m,null,g(E.value,(e,J)=>(a(),r("li",{key:e.id},[d(_,{to:i(b).model(e.name),class:f(P)},{default:n(()=>[t("span",Ne,o(J+1),1),e.provider&&e.model?(a(),r("img",{key:0,src:i(D)({provider:e.provider,model:e.model}),alt:"",class:"h-4 w-4 shrink-0"},null,8,Se)):v("",!0),t("span",Ee,o(e.name),1),e.model?(a(),r("span",Fe,o(e.model),1)):v("",!0)]),_:2},1032,["to"])]))),128))])],64)):v("",!0)]),_:1},8,["meta"]),d(y,{title:"Provider tools",meta:w.value.length?h(w.value.length,"tool"):"None listed"},{default:n(()=>[w.value.length?(a(),r("ul",Te,[(a(!0),r(m,null,g(w.value,e=>(a(),r("li",{key:e},[d(_,{to:i(b).tool(`${i(ee)}${e}`),class:"inline-flex items-center rounded-md px-1.5 py-0.5 font-mono text-[12px] text-neutral-800 hover:bg-black/5 dark:text-neutral-100 dark:hover:bg-white/10"},{default:n(()=>[$(o(e),1)]),_:2},1032,["to"])]))),128))])):v("",!0)]),_:1},8,["meta"]),F.value.length?(a(),k(y,{key:0,title:"Routing",meta:h(F.value.length,"endpoint provider")},{default:n(()=>[t("p",Ve," Requests route only to "+o(F.value.join(", "))+". ",1)]),_:1},8,["meta"])):v("",!0),d(ae,{kind:"models",name:s.value.name},null,8,["name"])])],64)):(a(),k(i(O),{key:4,variant:"error"},{default:n(()=>[$("This project has no model named "+o(x.value)+".",1)]),_:1})):(a(),r(m,{key:2},[l[2]||(l[2]=t("h1",{class:"text-[22px] font-medium text-neutral-900 dark:text-neutral-50"},"Models",-1)),t("p",ce,o(C.value?"Loading models…":`This project has ${h(i(p).items.value.length,"model")} from ${h(N.value.length,"provider")}. Each prompt runs on one model.`),1),t("div",me,[d(y,{title:"Providers",meta:C.value?void 0:h(N.value.length,"provider")},{default:n(()=>[t("ul",pe,[(a(!0),r(m,null,g(M.value,e=>(a(),r("li",{key:e.label},[d(_,{to:i(b).provider(e.label),class:f(P)},{default:n(()=>[t("img",{src:A(e.label),alt:"",class:"h-5 w-5 shrink-0"},null,8,ve),t("span",xe,o(e.label),1),t("span",_e,o(h(e.items.length,"model")),1)]),_:2},1032,["to"])]))),128))])]),_:1},8,["meta"])])],64))]),_:2},[R.value?{name:"actions",fn:n(()=>[t("button",{type:"button",class:"inline-flex h-8 items-center rounded-md px-2.5 text-[13px] text-neutral-600 transition-colors hover:bg-black/5 hover:text-neutral-900 dark:text-neutral-300 dark:hover:bg-white/10 dark:hover:text-white",onClick:l[0]||(l[0]=e=>i(B).copy(R.value))},o(i(B).copied.value?"Copied":"Copy source path"),1)]),key:"0"}:void 0,s.value?{name:"aside",fn:n(()=>[d(V,{label:"Provider"},{default:n(()=>[d(_,{to:i(b).provider(s.value.provider),class:f(P)},{default:n(()=>[t("img",{src:A(s.value.provider),alt:"",class:"h-5 w-5 shrink-0"},null,8,De),t("span",Be,o(s.value.provider),1)]),_:1},8,["to"])]),_:1}),d(Y,{users:T.value,empty:`No agent or prompt runs on ${s.value.name}.`},null,8,["users","empty"]),T.value.fallbackFor.length?(a(),k(V,{key:0,label:"Fallback for"},{default:n(()=>[t("ul",Ie,[(a(!0),r(m,null,g(T.value.fallbackFor,e=>(a(),r("li",{key:e},[d(_,{to:i(b).model(e),class:f(P)},{default:n(()=>[t("span",Me,o(e),1)]),_:2},1032,["to"])]))),128))])]),_:1})):v("",!0),R.value?(a(),k(V,{key:1,label:"Source file"},{default:n(()=>[t("p",Ae,o(R.value),1)]),_:1})):v("",!0)]),key:"1"}:void 0]),1032,["name"])}}});export{Ze as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as j,r as T,c as u,b as a,e as t,f as l,q as m,h as se,F as x,B as w,k,y as S,z as n,ab as K,A as g,l as i,D as _,R as re,w as X,E as le}from"./vue-CnrejLtC.js";import{_ as F,a as ue,b as C,c as ie}from"./DefinitionUsedBy.vue_vue_type_script_setup_true_lang-BVz1zKTE.js";import{D as ce}from"./DefinitionSource-Bpge2u90.js";import{P as de,p as pe,a as me,b as ve,c as _e,s as xe,d as ke,e as he,_ as fe}from"./schemaArguments-B2ppewpv.js";import{V as R,u as ge,bF as ye,c as be,bG as $e,bH as we,bI as Ce,b as Re,e as Se}from"./index-DnlG7hIl.js";import{I as Le}from"./corner-down-right-wgTcgBsB.js";import{d as Ie}from"./modelReference-xZ6MYL2p.js";import{u as Ne}from"./useDefinitionUsage-BxmZT4nk.js";import{u as Pe,_ as Te}from"./useClipboardCopy-DURjq7gM.js";import"./formkit-B1fIUqP-.js";import"./syntax-XeetdF8c.js";import"./vendor-L6I0G397.js";import"./promptReasoningLevel-BrUFPP1Z.js";const Me={key:0},Ve=["title"],Be={key:0,class:"pointer-events-none absolute inset-x-0 bottom-0 h-16 bg-gradient-to-t from-neutral-50 dark:from-neutral-950"},De={key:1,class:"text-[13px] text-neutral-500 dark:text-neutral-400"},O=16,qe=j({__name:"PromptInstructions",props:{parts:{},lines:{}},setup(h){const L=h,c=T(!1),y=u(()=>L.lines>O&&!c.value);return(d,b)=>{const M=K("RouterLink");return h.parts.length?(t(),a("div",Me,[l("div",{class:"relative overflow-hidden rounded-md bg-neutral-50 px-5 py-4 font-mono text-[12.5px] leading-6 whitespace-pre-wrap break-words text-neutral-700 dark:bg-neutral-950 dark:text-neutral-200",style:se(y.value?{maxHeight:`calc(${O} * 1.5rem + 2rem)`}:void 0)},[(t(!0),a(x,null,w(h.parts,(v,V)=>(t(),a(x,{key:V},[v.type==="text"?(t(),a(x,{key:0},[S(n(v.content),1)],64)):v.type==="env"?(t(),a("span",{key:1,class:"rounded bg-accent-100 px-1 text-accent-800 dark:bg-accent-950/60 dark:text-accent-200",title:`Variable ${v.property}`},n(v.property),9,Ve)):(t(),k(M,{key:2,to:g(R).prompt(v.prompt),class:"rounded bg-neutral-200/70 px-1 text-neutral-900 underline decoration-neutral-400 underline-offset-2 hover:bg-neutral-200 dark:bg-neutral-800 dark:text-neutral-50 dark:hover:bg-neutral-700",title:`Includes the prompt ${v.prompt}`},{default:i(()=>[_(g(Le),{class:"mr-0.5 inline h-3 w-3 align-[-1px]","aria-label":"Included prompt"}),S(n(v.prompt),1)]),_:2},1032,["to","title"]))],64))),128)),y.value?(t(),a("div",Be)):m("",!0)],4),h.lines>O?(t(),a("button",{key:0,type:"button",class:"mt-2 rounded px-1 -mx-1 text-[13px] text-neutral-500 hover:bg-black/5 hover:text-neutral-900 dark:text-neutral-400 dark:hover:bg-white/10 dark:hover:text-white",onClick:b[0]||(b[0]=v=>c.value=!c.value)},n(c.value?"Show less":`Show all ${h.lines.toLocaleString("en-US")} lines`),1)):m("",!0)])):(t(),a("p",De,"This prompt has no instructions."))}}}),Ae={class:"space-y-2.5 text-[13px]"},Ee={key:1,class:"truncate font-mono text-[12.5px] text-neutral-900 dark:text-neutral-50"},Ue={class:"text-neutral-500 dark:text-neutral-400"},He={class:"min-w-0"},ze=["title"],Fe=j({__name:"PromptToolList",props:{tools:{}},setup(h){return(L,c)=>{const y=K("RouterLink");return t(),a("ul",Ae,[(t(!0),a(x,null,w(h.tools,d=>(t(),a("li",{key:d.name,class:"grid grid-cols-[minmax(0,14rem)_5rem_minmax(0,1fr)] items-baseline gap-x-4"},[d.to?(t(),k(y,{key:0,to:d.to,class:"truncate font-mono text-[12.5px] text-neutral-900 underline decoration-neutral-300 underline-offset-2 hover:decoration-neutral-500 dark:text-neutral-50 dark:decoration-neutral-600 dark:hover:decoration-neutral-400"},{default:i(()=>[S(n(d.name),1)]),_:2},1032,["to"])):(t(),a("span",Ee,n(d.name),1)),l("span",Ue,n(g(de)[d.kind]),1),l("div",He,[l("p",{class:"truncate text-neutral-600 dark:text-neutral-300",title:d.description},n(d.description||"No description"),9,ze),(t(!0),a(x,null,w(d.notes,b=>(t(),a("p",{key:b,class:"text-neutral-500 dark:text-neutral-400"},n(b),1))),128))])]))),128))])}}}),Oe={key:0,class:"text-[13px] text-neutral-500 dark:text-neutral-400"},je={class:"font-mono text-[22px] font-medium text-neutral-900 dark:text-neutral-50"},Ke={key:0,class:"mt-1 text-[14px] text-neutral-600 dark:text-neutral-300"},Ge={class:"mt-3"},Je={class:"divide-y divide-neutral-200 border-y border-neutral-200 dark:divide-neutral-800 dark:border-neutral-800"},Qe={key:0,class:"space-y-2 font-mono text-[12.5px]"},We={class:"truncate text-neutral-900 dark:text-neutral-50"},Xe={class:"truncate text-neutral-500 dark:text-neutral-400"},Ye={class:"grid grid-cols-[10rem_minmax(0,1fr)] gap-x-4 gap-y-2 text-[13px]"},Ze={class:"text-neutral-500 dark:text-neutral-400"},et={class:"text-neutral-800 dark:text-neutral-100"},tt=["src"],at={class:"truncate font-mono text-[12.5px] text-neutral-900 dark:text-neutral-50"},nt={key:1,class:"mt-1 space-y-0.5 pl-[1.875rem] text-neutral-500 dark:text-neutral-400"},ot={class:"truncate"},st={class:"font-mono text-[12px]"},rt={key:0,class:"tabular-nums"},lt={class:"space-y-3"},ut={class:"flex items-baseline justify-between gap-3"},it={class:"truncate font-mono text-[12.5px] text-neutral-900 dark:text-neutral-50"},ct={class:"shrink-0 text-neutral-500 dark:text-neutral-400"},dt={key:0,class:"mt-0.5 text-neutral-600 dark:text-neutral-300"},pt={class:"break-all font-mono text-[12px] text-neutral-700 dark:text-neutral-200"},Rt=j({__name:"PromptView",setup(h){const L=re(),c=u(()=>String(L.params.id??"")),y=ge(),d=ye(),b=be(),M=$e(),v=we(),V=Ce(),Y=Ne(),G=Pe(),o=T(null),B=T(!0),I=T(null);let N=0;async function J(){const e=++N,r=c.value;I.value=null;try{const p=await Re.getJson(`/api/prompts/${encodeURIComponent(r)}`);e===N&&(o.value=p.prompt)}catch(p){if(e!==N)return;o.value=null,I.value=Se(p)}finally{e===N&&(B.value=!1)}}X(c,()=>{B.value=!0,o.value=null,J()},{immediate:!0});const Z=u(()=>d.items.value.find(e=>e.name===c.value));X(Z,(e,r)=>{e&&r&&J()});const D=u(()=>pe(o.value?.prompt??"")),q=u(()=>me(D.value)),A=u(()=>new Set(D.value.flatMap(e=>e.type==="env"?[e.property]:[])).size),ee=u(()=>{const e=`${q.value.words.toLocaleString("en-US")} ${q.value.words===1?"word":"words"}`;return A.value?`${e}, ${A.value} ${A.value===1?"variable":"variables"}`:e}),te=u(()=>({agents:new Set(y.items.value.map(e=>e.id)),prompts:new Set(d.items.value.map(e=>e.name))})),E=u(()=>(o.value?.tools??[]).map(e=>{const r=ve(e.name,te.value),p=_e(e);if(r==="agent"){const $=y.items.value.find(z=>z.id===e.name);return{name:e.name,kind:r,notes:p,to:R.agent(e.name),description:$?.tool_description||$?.description||""}}if(r==="prompt"){const $=d.items.value.find(z=>z.name===e.name);return{name:e.name,kind:r,notes:p,to:R.prompt(e.name),description:$?.tool_description??""}}if(r==="provider")return{name:e.name,kind:r,notes:p,description:"Runs on the model provider"};const s=M.items.value.find($=>$.name===e.name);return{name:e.name,kind:r,notes:p,to:R.tool(e.name),description:s?.description??""}})),ae=u(()=>{const e=E.value.length;return e?`${e} ${e===1?"tool":"tools"}`:"No tools"}),U=u(()=>(o.value?.hooks??[]).map(e=>({id:e,event:v.items.value.find(r=>r.id===e)?.hook??""}))),H=u(()=>xe(o.value?.required_schema)),ne=u(()=>o.value?ke(o.value):[]),f=u(()=>b.items.value.find(e=>e.name===o.value?.model_id)??null),Q=u(()=>{const e=f.value?.provider??o.value?.model_provider;if(!e)return null;const r=f.value?`?model=${encodeURIComponent(f.value.model)}`:"";return`/api/providers/${encodeURIComponent(e)}/icon${r}`}),W=u(()=>{const e=f.value?.input_price,r=f.value?.output_price;if(typeof e!="number"&&typeof r!="number")return null;const p=s=>typeof s=="number"?Ie(s):"No price";return`${p(e)} in, ${p(r)} out per 1M tokens`}),oe=u(()=>Y.value.prompt(c.value)),P=u(()=>V.items.value.find(e=>e.kind==="prompts"&&e.name===c.value)?.path??null);return(e,r)=>{const p=K("RouterLink");return t(),k(ie,{parent:{label:"Prompts",to:"/prompts"},name:c.value},le({default:i(()=>[B.value?(t(),a("p",Oe,"Loading prompt…")):I.value||!o.value?(t(),k(g(Te),{key:1,variant:"error"},{default:i(()=>[S(n(I.value??`This project has no prompt named ${c.value}.`),1)]),_:1})):(t(),a(x,{key:2},[l("h1",je,n(o.value.name),1),o.value.tool_description?(t(),a("p",Ke,n(o.value.tool_description),1)):m("",!0),l("div",Ge,[_(C,{title:"Instructions",meta:ee.value},{default:i(()=>[_(qe,{parts:D.value,lines:q.value.lines},null,8,["parts","lines"])]),_:1},8,["meta"])]),l("div",Je,[_(C,{title:"Tools",meta:ae.value},{default:i(()=>[E.value.length?(t(),k(Fe,{key:0,tools:E.value},null,8,["tools"])):m("",!0)]),_:1},8,["meta"]),_(C,{title:"Hooks",meta:U.value.length?"Run in this order":"No hooks"},{default:i(()=>[U.value.length?(t(),a("ul",Qe,[(t(!0),a(x,null,w(U.value,s=>(t(),a("li",{key:s.id,class:"grid grid-cols-[minmax(0,1fr)_14rem] gap-x-4"},[l("span",We,n(s.id),1),l("span",Xe,n(s.event),1)]))),128))])):m("",!0)]),_:1},8,["meta"]),_(C,{title:"Input",meta:H.value.length?void 0:"No arguments"},{default:i(()=>[H.value.length?(t(),k(fe,{key:0,arguments:H.value},null,8,["arguments"])):m("",!0)]),_:1},8,["meta"]),_(C,{title:"Behavior"},{default:i(()=>[l("dl",Ye,[(t(!0),a(x,null,w(ne.value,s=>(t(),a(x,{key:s.label},[l("dt",Ze,n(s.label),1),l("dd",et,n(s.value),1)],64))),128))])]),_:1}),_(ce,{kind:"prompts",name:o.value.name},null,8,["name"])])],64))]),_:2},[P.value?{name:"actions",fn:i(()=>[l("button",{type:"button",class:"inline-flex h-8 items-center rounded-md px-2.5 text-[13px] text-neutral-600 transition-colors hover:bg-black/5 hover:text-neutral-900 dark:text-neutral-300 dark:hover:bg-white/10 dark:hover:text-white",onClick:r[0]||(r[0]=s=>g(G).copy(P.value))},n(g(G).copied.value?"Copied":"Copy source path"),1)]),key:"0"}:void 0,o.value?{name:"aside",fn:i(()=>[_(F,{label:"Model"},{default:i(()=>[o.value.model_id?(t(),k(p,{key:0,to:g(R).model(o.value.model_id),class:"-mx-1 flex items-center gap-2.5 rounded px-1 py-0.5 hover:bg-black/5 dark:hover:bg-white/10"},{default:i(()=>[Q.value?(t(),a("img",{key:0,src:Q.value,alt:"",class:"h-5 w-5 shrink-0"},null,8,tt)):m("",!0),l("span",at,n(o.value.model_id),1)]),_:1},8,["to"])):m("",!0),f.value?(t(),a("div",nt,[l("p",ot,[S(n(f.value.provider)+", ",1),l("span",st,n(f.value.model),1)]),W.value?(t(),a("p",rt,n(W.value),1)):m("",!0)])):m("",!0)]),_:1}),_(ue,{users:oe.value,empty:"No agent or prompt uses this prompt.","agent-note":s=>g(he)(s,c.value),"prompt-note":"Calls it as a tool"},null,8,["users","agent-note"]),o.value.variables.length?(t(),k(F,{key:0,label:"Variables"},{default:i(()=>[l("dl",lt,[(t(!0),a(x,null,w(o.value.variables,s=>(t(),a("div",{key:s.name},[l("dt",ut,[l("span",it,n(s.name),1),l("span",ct,n(s.type==="secret"?"Secret":"Text")+", "+n(s.required?"required":"optional"),1)]),s.description?(t(),a("dd",dt,n(s.description),1)):m("",!0)]))),128))])]),_:1})):m("",!0),P.value?(t(),k(F,{key:1,label:"Source file"},{default:i(()=>[l("p",pt,n(P.value),1)]),_:1})):m("",!0)]),key:"1"}:void 0]),1032,["name"])}}});export{Rt as default};
|
|
1
|
+
import{d as F,r as T,c as u,b as a,e as t,f as l,q as m,h as se,F as x,B as w,k,y as S,z as n,ab as J,A as g,l as i,D as _,R as re,w as X,E as le}from"./vue-CnrejLtC.js";import{_ as O,a as ue,b as C,c as ie}from"./DefinitionUsedBy.vue_vue_type_script_setup_true_lang-BMGuiEk7.js";import{D as ce}from"./DefinitionSource-BbqSJUnU.js";import{P as de,p as pe,a as me,b as ve,c as _e,s as xe,d as ke,e as he,_ as fe}from"./schemaArguments-DnkXBmpq.js";import{V as R,u as ge,bG as ye,c as be,bH as $e,bI as we,bJ as Ce,b as Re,e as Se}from"./index-BwlCQIem.js";import{I as Le}from"./corner-down-right-wgTcgBsB.js";import{d as Ie}from"./modelReference-xZ6MYL2p.js";import{u as Ne}from"./useDefinitionUsage-CkISuMRg.js";import{u as Pe,_ as Te}from"./useClipboardCopy-DURjq7gM.js";import"./formkit-B1fIUqP-.js";import"./syntax-XeetdF8c.js";import"./vendor-L6I0G397.js";import"./promptReasoningLevel-BrUFPP1Z.js";const Me={key:0},Ve=["title"],Be={key:0,class:"pointer-events-none absolute inset-x-0 bottom-0 h-16 bg-gradient-to-t from-neutral-50 dark:from-neutral-950"},De={key:1,class:"text-[13px] text-neutral-500 dark:text-neutral-400"},j=16,qe=F({__name:"PromptInstructions",props:{parts:{},lines:{}},setup(h){const L=h,c=T(!1),y=u(()=>L.lines>j&&!c.value);return(d,b)=>{const M=J("RouterLink");return h.parts.length?(t(),a("div",Me,[l("div",{class:"relative overflow-hidden rounded-md bg-neutral-50 px-5 py-4 font-mono text-[12.5px] leading-6 whitespace-pre-wrap break-words text-neutral-700 dark:bg-neutral-950 dark:text-neutral-200",style:se(y.value?{maxHeight:`calc(${j} * 1.5rem + 2rem)`}:void 0)},[(t(!0),a(x,null,w(h.parts,(v,V)=>(t(),a(x,{key:V},[v.type==="text"?(t(),a(x,{key:0},[S(n(v.content),1)],64)):v.type==="env"?(t(),a("span",{key:1,class:"rounded bg-accent-100 px-1 text-accent-800 dark:bg-accent-950/60 dark:text-accent-200",title:`Variable ${v.property}`},n(v.property),9,Ve)):(t(),k(M,{key:2,to:g(R).prompt(v.prompt),class:"rounded bg-neutral-200/70 px-1 text-neutral-900 underline decoration-neutral-400 underline-offset-2 hover:bg-neutral-200 dark:bg-neutral-800 dark:text-neutral-50 dark:hover:bg-neutral-700",title:`Includes the prompt ${v.prompt}`},{default:i(()=>[_(g(Le),{class:"mr-0.5 inline h-3 w-3 align-[-1px]","aria-label":"Included prompt"}),S(n(v.prompt),1)]),_:2},1032,["to","title"]))],64))),128)),y.value?(t(),a("div",Be)):m("",!0)],4),h.lines>j?(t(),a("button",{key:0,type:"button",class:"mt-2 rounded px-1 -mx-1 text-[13px] text-neutral-500 hover:bg-black/5 hover:text-neutral-900 dark:text-neutral-400 dark:hover:bg-white/10 dark:hover:text-white",onClick:b[0]||(b[0]=v=>c.value=!c.value)},n(c.value?"Show less":`Show all ${h.lines.toLocaleString("en-US")} lines`),1)):m("",!0)])):(t(),a("p",De,"This prompt has no instructions."))}}}),Ae={class:"space-y-2.5 text-[13px]"},Ee={key:1,class:"truncate font-mono text-[12.5px] text-neutral-900 dark:text-neutral-50"},Ue={class:"text-neutral-500 dark:text-neutral-400"},He={class:"min-w-0"},ze=["title"],Oe=F({__name:"PromptToolList",props:{tools:{}},setup(h){return(L,c)=>{const y=J("RouterLink");return t(),a("ul",Ae,[(t(!0),a(x,null,w(h.tools,d=>(t(),a("li",{key:d.name,class:"grid grid-cols-[minmax(0,14rem)_5rem_minmax(0,1fr)] items-baseline gap-x-4"},[d.to?(t(),k(y,{key:0,to:d.to,class:"truncate font-mono text-[12.5px] text-neutral-900 underline decoration-neutral-300 underline-offset-2 hover:decoration-neutral-500 dark:text-neutral-50 dark:decoration-neutral-600 dark:hover:decoration-neutral-400"},{default:i(()=>[S(n(d.name),1)]),_:2},1032,["to"])):(t(),a("span",Ee,n(d.name),1)),l("span",Ue,n(g(de)[d.kind]),1),l("div",He,[l("p",{class:"truncate text-neutral-600 dark:text-neutral-300",title:d.description},n(d.description||"No description"),9,ze),(t(!0),a(x,null,w(d.notes,b=>(t(),a("p",{key:b,class:"text-neutral-500 dark:text-neutral-400"},n(b),1))),128))])]))),128))])}}}),je={key:0,class:"text-[13px] text-neutral-500 dark:text-neutral-400"},Fe={class:"font-mono text-[22px] font-medium text-neutral-900 dark:text-neutral-50"},Je={key:0,class:"mt-1 text-[14px] text-neutral-600 dark:text-neutral-300"},Ke={class:"mt-3"},Ge={class:"divide-y divide-neutral-200 border-y border-neutral-200 dark:divide-neutral-800 dark:border-neutral-800"},Qe={key:0,class:"space-y-2 font-mono text-[12.5px]"},We={class:"truncate text-neutral-900 dark:text-neutral-50"},Xe={class:"truncate text-neutral-500 dark:text-neutral-400"},Ye={class:"grid grid-cols-[10rem_minmax(0,1fr)] gap-x-4 gap-y-2 text-[13px]"},Ze={class:"text-neutral-500 dark:text-neutral-400"},et={class:"text-neutral-800 dark:text-neutral-100"},tt=["src"],at={class:"truncate font-mono text-[12.5px] text-neutral-900 dark:text-neutral-50"},nt={key:1,class:"mt-1 space-y-0.5 pl-[1.875rem] text-neutral-500 dark:text-neutral-400"},ot={class:"truncate"},st={class:"font-mono text-[12px]"},rt={key:0,class:"tabular-nums"},lt={class:"space-y-3"},ut={class:"flex items-baseline justify-between gap-3"},it={class:"truncate font-mono text-[12.5px] text-neutral-900 dark:text-neutral-50"},ct={class:"shrink-0 text-neutral-500 dark:text-neutral-400"},dt={key:0,class:"mt-0.5 text-neutral-600 dark:text-neutral-300"},pt={class:"break-all font-mono text-[12px] text-neutral-700 dark:text-neutral-200"},Rt=F({__name:"PromptView",setup(h){const L=re(),c=u(()=>String(L.params.id??"")),y=ge(),d=ye(),b=be(),M=$e(),v=we(),V=Ce(),Y=Ne(),K=Pe(),o=T(null),B=T(!0),I=T(null);let N=0;async function G(){const e=++N,r=c.value;I.value=null;try{const p=await Re.getJson(`/api/prompts/${encodeURIComponent(r)}`);e===N&&(o.value=p.prompt)}catch(p){if(e!==N)return;o.value=null,I.value=Se(p)}finally{e===N&&(B.value=!1)}}X(c,()=>{B.value=!0,o.value=null,G()},{immediate:!0});const Z=u(()=>d.items.value.find(e=>e.name===c.value));X(Z,(e,r)=>{e&&r&&G()});const D=u(()=>pe(o.value?.prompt??"")),q=u(()=>me(D.value)),A=u(()=>new Set(D.value.flatMap(e=>e.type==="env"?[e.property]:[])).size),ee=u(()=>{const e=`${q.value.words.toLocaleString("en-US")} ${q.value.words===1?"word":"words"}`;return A.value?`${e}, ${A.value} ${A.value===1?"variable":"variables"}`:e}),te=u(()=>({agents:new Set(y.items.value.map(e=>e.id)),prompts:new Set(d.items.value.map(e=>e.name))})),E=u(()=>(o.value?.tools??[]).map(e=>{const r=ve(e.name,te.value),p=_e(e);if(r==="agent"){const $=y.items.value.find(z=>z.id===e.name);return{name:e.name,kind:r,notes:p,to:R.agent(e.name),description:$?.tool_description||$?.description||""}}if(r==="prompt"){const $=d.items.value.find(z=>z.name===e.name);return{name:e.name,kind:r,notes:p,to:R.prompt(e.name),description:$?.tool_description??""}}if(r==="provider")return{name:e.name,kind:r,notes:p,description:"Runs on the model provider"};const s=M.items.value.find($=>$.name===e.name);return{name:e.name,kind:r,notes:p,to:R.tool(e.name),description:s?.description??""}})),ae=u(()=>{const e=E.value.length;return e?`${e} ${e===1?"tool":"tools"}`:"No tools"}),U=u(()=>(o.value?.hooks??[]).map(e=>({id:e,event:v.items.value.find(r=>r.id===e)?.hook??""}))),H=u(()=>xe(o.value?.required_schema)),ne=u(()=>o.value?ke(o.value):[]),f=u(()=>b.items.value.find(e=>e.name===o.value?.model_id)??null),Q=u(()=>{const e=f.value?.provider??o.value?.model_provider;if(!e)return null;const r=f.value?`?model=${encodeURIComponent(f.value.model)}`:"";return`/api/providers/${encodeURIComponent(e)}/icon${r}`}),W=u(()=>{const e=f.value?.input_price,r=f.value?.output_price;if(typeof e!="number"&&typeof r!="number")return null;const p=s=>typeof s=="number"?Ie(s):"No price";return`${p(e)} in, ${p(r)} out per 1M tokens`}),oe=u(()=>Y.value.prompt(c.value)),P=u(()=>V.items.value.find(e=>e.kind==="prompts"&&e.name===c.value)?.path??null);return(e,r)=>{const p=J("RouterLink");return t(),k(ie,{parent:{label:"Prompts",to:"/prompts"},name:c.value},le({default:i(()=>[B.value?(t(),a("p",je,"Loading prompt…")):I.value||!o.value?(t(),k(g(Te),{key:1,variant:"error"},{default:i(()=>[S(n(I.value??`This project has no prompt named ${c.value}.`),1)]),_:1})):(t(),a(x,{key:2},[l("h1",Fe,n(o.value.name),1),o.value.tool_description?(t(),a("p",Je,n(o.value.tool_description),1)):m("",!0),l("div",Ke,[_(C,{title:"Instructions",meta:ee.value},{default:i(()=>[_(qe,{parts:D.value,lines:q.value.lines},null,8,["parts","lines"])]),_:1},8,["meta"])]),l("div",Ge,[_(C,{title:"Tools",meta:ae.value},{default:i(()=>[E.value.length?(t(),k(Oe,{key:0,tools:E.value},null,8,["tools"])):m("",!0)]),_:1},8,["meta"]),_(C,{title:"Hooks",meta:U.value.length?"Run in this order":"No hooks"},{default:i(()=>[U.value.length?(t(),a("ul",Qe,[(t(!0),a(x,null,w(U.value,s=>(t(),a("li",{key:s.id,class:"grid grid-cols-[minmax(0,1fr)_14rem] gap-x-4"},[l("span",We,n(s.id),1),l("span",Xe,n(s.event),1)]))),128))])):m("",!0)]),_:1},8,["meta"]),_(C,{title:"Input",meta:H.value.length?void 0:"No arguments"},{default:i(()=>[H.value.length?(t(),k(fe,{key:0,arguments:H.value},null,8,["arguments"])):m("",!0)]),_:1},8,["meta"]),_(C,{title:"Behavior"},{default:i(()=>[l("dl",Ye,[(t(!0),a(x,null,w(ne.value,s=>(t(),a(x,{key:s.label},[l("dt",Ze,n(s.label),1),l("dd",et,n(s.value),1)],64))),128))])]),_:1}),_(ce,{kind:"prompts",name:o.value.name},null,8,["name"])])],64))]),_:2},[P.value?{name:"actions",fn:i(()=>[l("button",{type:"button",class:"inline-flex h-8 items-center rounded-md px-2.5 text-[13px] text-neutral-600 transition-colors hover:bg-black/5 hover:text-neutral-900 dark:text-neutral-300 dark:hover:bg-white/10 dark:hover:text-white",onClick:r[0]||(r[0]=s=>g(K).copy(P.value))},n(g(K).copied.value?"Copied":"Copy source path"),1)]),key:"0"}:void 0,o.value?{name:"aside",fn:i(()=>[_(O,{label:"Model"},{default:i(()=>[o.value.model_id?(t(),k(p,{key:0,to:g(R).model(o.value.model_id),class:"-mx-1 flex items-center gap-2.5 rounded px-1 py-0.5 hover:bg-black/5 dark:hover:bg-white/10"},{default:i(()=>[Q.value?(t(),a("img",{key:0,src:Q.value,alt:"",class:"h-5 w-5 shrink-0"},null,8,tt)):m("",!0),l("span",at,n(o.value.model_id),1)]),_:1},8,["to"])):m("",!0),f.value?(t(),a("div",nt,[l("p",ot,[S(n(f.value.provider)+", ",1),l("span",st,n(f.value.model),1)]),W.value?(t(),a("p",rt,n(W.value),1)):m("",!0)])):m("",!0)]),_:1}),_(ue,{users:oe.value,empty:"No agent or prompt uses this prompt.","agent-note":s=>g(he)(s,c.value),"prompt-note":"Calls it as a tool"},null,8,["users","agent-note"]),o.value.variables.length?(t(),k(O,{key:0,label:"Variables"},{default:i(()=>[l("dl",lt,[(t(!0),a(x,null,w(o.value.variables,s=>(t(),a("div",{key:s.name},[l("dt",ut,[l("span",it,n(s.name),1),l("span",ct,n(s.type==="secret"?"Secret":"Text")+", "+n(s.required?"required":"optional"),1)]),s.description?(t(),a("dd",dt,n(s.description),1)):m("",!0)]))),128))])]),_:1})):m("",!0),P.value?(t(),k(O,{key:1,label:"Source file"},{default:i(()=>[l("p",pt,n(P.value),1)]),_:1})):m("",!0)]),key:"1"}:void 0]),1032,["name"])}}});export{Rt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as b,c as f,b as m,e as o,q as x,f as y,F as R,B as S,k as g,z as k,E as N,l as u,A as r,D as v,y as V,ab as
|
|
1
|
+
import{d as b,c as f,b as m,e as o,q as x,f as y,F as R,B as S,k as g,z as k,E as N,l as u,A as r,D as v,y as V,ab as U,C as B,S as D}from"./vue-CnrejLtC.js";import{y as E,bG as F,c as I,V as $,a6 as L}from"./index-BwlCQIem.js";import{_ as P}from"./DataTable.vue_vue_type_script_setup_true_lang-CkugFRtR.js";import{_ as A}from"./useClipboardCopy-DURjq7gM.js";import{u as M}from"./useDefinitionUsage-CkISuMRg.js";import"./formkit-B1fIUqP-.js";import"./syntax-XeetdF8c.js";import"./vendor-L6I0G397.js";import"./UiFilterMenu.vue_vue_type_script_setup_true_lang-BE1kHACC.js";import"./UiButton.vue_vue_type_script_setup_true_lang-CVyrFcWg.js";import"./UiEmptyState.vue_vue_type_script_setup_true_lang-BD_dt9VV.js";import"./UiPageFrame-CP9KRIIM.js";const T=["title"],j={key:0,class:"flex shrink-0 -space-x-1"},O={class:"truncate text-neutral-600 dark:text-neutral-300"},q={key:1,class:"text-neutral-400 dark:text-neutral-500"},z=3,G=b({__name:"UsageSummary",props:{users:{}},setup(l){const e=l;function i(n,h){return`${n} ${h}${n===1?"":"s"}`}const a=f(()=>"fallbackFor"in e.users?e.users.fallbackFor:[]),p=f(()=>[e.users.agents.length?i(e.users.agents.length,"agent"):null,e.users.prompts.length?i(e.users.prompts.length,"prompt"):null,a.value.length?i(a.value.length,"fallback"):null].filter(n=>n!==null)),_=f(()=>[...e.users.agents.map(n=>n.title),...e.users.prompts,...a.value].join(", "));return(n,h)=>p.value.length?(o(),m("span",{key:0,class:"inline-flex min-w-0 items-center gap-2",title:_.value},[l.users.agents.length?(o(),m("span",j,[(o(!0),m(R,null,S(l.users.agents.slice(0,z),d=>(o(),g(E,{key:d.id,icon:d.icon,seed:d.id,class:"h-4 w-4 rounded ring-2 ring-white dark:ring-neutral-900"},null,8,["icon","seed"]))),128))])):x("",!0),y("span",O,k(p.value.join(" · ")),1)],8,T)):(o(),m("span",q,"Not used"))}}),H=["src"],W={class:"truncate"},J={key:1,class:"text-neutral-400"},K=b({__name:"PromptsDataTable",props:{title:{},description:{}},emits:["open"],setup(l,{emit:e}){const i=e,{items:a,initialLoading:p,error:_}=F(),n=M(),h=I(),d=f(()=>new Map(h.items.value.map(c=>[c.name,`/api/providers/${encodeURIComponent(c.provider)}/icon?model=${encodeURIComponent(c.model)}`]))),C=[{key:"name",label:"Name",width:"w-1/4",sortable:!0},{key:"tool_description",label:"Description",width:"w-2/5"},{key:"model_name",label:"Model",width:"w-1/5",sortable:!0,filterable:!0,formatter:(c,s)=>c||s.model_id||"-",filterIcon:(c,s)=>s.model_provider?`/api/providers/${s.model_provider}/icon?model=${encodeURIComponent(s.model_id||"")}`:void 0},{key:"used_by",label:"Used by",width:"w-1/5",searchable:!1}];return(c,s)=>{const w=U("RouterLink");return o(),g(P,{title:l.title,description:l.description,columns:C,data:r(a),loading:r(p),sortable:"",searchable:"","search-placeholder":"Search prompts",empty:r(L)("prompts"),onRowClick:s[1]||(s[1]=t=>i("open",t))},N({"cell-model_name":u(({row:t})=>[t.model_id?(o(),g(w,{key:0,to:r($).model(t.model_id),class:"inline-flex max-w-full items-center gap-1.5 rounded px-1 -mx-1 text-neutral-700 hover:bg-black/5 dark:text-neutral-200 dark:hover:bg-white/10",onClick:s[0]||(s[0]=B(()=>{},["stop"]))},{default:u(()=>[d.value.get(t.model_id)||t.model_provider?(o(),m("img",{key:0,src:d.value.get(t.model_id)??`/api/providers/${t.model_provider}/icon`,alt:"",class:"h-4 w-4 shrink-0"},null,8,H)):x("",!0),y("span",W,k(t.model_name||t.model_id),1)]),_:2},1032,["to"])):(o(),m("span",J,"—"))]),"cell-used_by":u(({row:t})=>[v(G,{users:r(n).prompt(t.name)},null,8,["users"])]),_:2},[r(_)?{name:"notices",fn:u(()=>[v(r(A),{variant:"error"},{default:u(()=>[V(k(r(_)),1)]),_:1})]),key:"0"}:void 0]),1032,["title","description","data","loading","empty"])}}}),Q={class:"flex h-full min-h-0 flex-col"},ce=b({__name:"PromptsView",setup(l){const e=D();function i(a){e.push($.prompt(a.name))}return(a,p)=>(o(),m("div",Q,[v(K,{title:"Prompts",description:"Each prompt sets the instructions, model and tools that an agent runs with.",onOpen:i})]))}});export{ce as default};
|