From 314af5e0346e74a073224f1426efdb96ccc143e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bendeg=C3=BAz=20Csirmaz?= Date: Tue, 30 Jun 2026 12:59:21 +0200 Subject: [PATCH] chore(dir): rename Agent Skill media type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Bendegúz Csirmaz --- api/catalog/v1/catalog.go | 2 +- samples/ard-over-ads/consumer/handler.go | 2 +- .../_app/immutable/entry/{app.C50Qmu8P.js => app.aSaqx79X.js} | 4 ++-- server/gateway/static/_app/immutable/nodes/2.BCSMw5lB.js | 2 ++ server/gateway/static/_app/immutable/nodes/2.ChuF1HQw.js | 2 -- server/gateway/static/index.html | 4 ++-- server/gateway/ui/src/lib/components/FilterSidebar.svelte | 2 +- server/gateway/ui/src/lib/components/MediaTypeBadge.svelte | 4 ++-- server/gateway/ui/src/lib/utils.ts | 2 +- tests/e2e/local/14_skill_record_test.go | 2 +- 10 files changed, 13 insertions(+), 13 deletions(-) rename server/gateway/static/_app/immutable/entry/{app.C50Qmu8P.js => app.aSaqx79X.js} (95%) create mode 100644 server/gateway/static/_app/immutable/nodes/2.BCSMw5lB.js delete mode 100644 server/gateway/static/_app/immutable/nodes/2.ChuF1HQw.js diff --git a/api/catalog/v1/catalog.go b/api/catalog/v1/catalog.go index db49823c9..e4c791383 100644 --- a/api/catalog/v1/catalog.go +++ b/api/catalog/v1/catalog.go @@ -31,7 +31,7 @@ const ( // Protocol-specific media types supported by AI Catalog. ProtocolA2ACardJsonMediaType = "application/a2a-agent-card+json" ProtocolMCPCardJsonMediaType = "application/mcp-server-card+json" - ProtocolAgentSkillsMdMediaType = "application/agentskill+md" + ProtocolAgentSkillsMdMediaType = "application/agent-skills+md" ) // catalogModuleProjection captures the per-module projection rules: the diff --git a/samples/ard-over-ads/consumer/handler.go b/samples/ard-over-ads/consumer/handler.go index 0fd1fc27e..9810ca3ea 100644 --- a/samples/ard-over-ads/consumer/handler.go +++ b/samples/ard-over-ads/consumer/handler.go @@ -39,7 +39,7 @@ func Dispatch(ctx context.Context, e *catalogv1.CatalogEntry, task map[string]an case "application/a2a-agent-card+json": // Load the A2A agent card at e.URL, then speak A2A. fmt.Printf("Invoking A2A agent: %s\n", e.Identifier) - case "application/agentskill+md": + case "application/agent-skills+md": // Load the Agent Skill at e.URL fmt.Printf("Invoking Agent Skill: %s\n", e.Identifier) default: diff --git a/server/gateway/static/_app/immutable/entry/app.C50Qmu8P.js b/server/gateway/static/_app/immutable/entry/app.aSaqx79X.js similarity index 95% rename from server/gateway/static/_app/immutable/entry/app.C50Qmu8P.js rename to server/gateway/static/_app/immutable/entry/app.aSaqx79X.js index 06b33c756..43b17809b 100644 --- a/server/gateway/static/_app/immutable/entry/app.C50Qmu8P.js +++ b/server/gateway/static/_app/immutable/entry/app.aSaqx79X.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.Ldbj60Cl.js","../chunks/CbnoFSQH.js","../chunks/lIS4feGx.js","../chunks/Biqbn8jJ.js","../chunks/xihTtKlq.js","../chunks/YyNjVJsa.js","../chunks/D92YrJdM.js","../assets/0.VoXJbESq.css","../nodes/1.Dvlnk681.js","../nodes/2.ChuF1HQw.js","../chunks/DDjdkvHG.js","../nodes/3.D2mqIe8P.js"])))=>i.map(i=>d[i]); -import{A as e,B as t,F as n,H as r,J as i,N as a,O as o,P as s,Q as c,R as l,S as u,U as d,W as f,b as p,i as m,m as h,n as g,o as _,q as v,r as y,v as b,w as x,x as S,y as C,z as w}from"../chunks/CbnoFSQH.js";import{t as T}from"../chunks/kNaey6uv.js";import"../chunks/xihTtKlq.js";var E={},D=u(`
`),O=u(` `,1);function k(u,y){i(y,!0);let T=m(y,`components`,23,()=>[]),E=m(y,`data_0`,3,null),k=m(y,`data_1`,3,null);n(()=>y.stores.page.set(y.page)),s(()=>{y.stores,y.page,y.constructors,T(),y.form,E(),k(),y.stores.page.notify()});let A=d(!1),j=d(!1),M=d(null);g(()=>{let t=y.stores.page.subscribe(()=>{o(A)&&(r(j,!0),e().then(()=>{r(M,document.title||`untitled page`,!0)}))});return r(A,!0),t});let N=f(()=>y.constructors[1]);var P=O(),F=w(P),I=e=>{let t=f(()=>y.constructors[0]);var n=S();h(w(n),()=>o(t),(e,t)=>{_(t(e,{get data(){return E()},get form(){return y.form},get params(){return y.page.params},children:(e,t)=>{var n=S();h(w(n),()=>o(N),(e,t)=>{_(t(e,{get data(){return k()},get form(){return y.form},get params(){return y.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),p(e,n)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),p(e,n)},L=e=>{let t=f(()=>y.constructors[0]);var n=S();h(w(n),()=>o(t),(e,t)=>{_(t(e,{get data(){return E()},get form(){return y.form},get params(){return y.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),p(e,n)};b(F,e=>{y.constructors[1]?e(I):e(L,-1)});var R=t(F,2),z=e=>{var t=D(),n=l(t),r=e=>{var t=x();a(()=>C(t,o(M))),p(e,t)};b(n,e=>{o(j)&&e(r)}),c(t),p(e,t)};b(R,e=>{o(A)&&e(z)}),p(u,P),v()}var A=y(k),j=[()=>T(()=>import(`../nodes/0.Ldbj60Cl.js`),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url),()=>T(()=>import(`../nodes/1.Dvlnk681.js`),__vite__mapDeps([8,1,2,3,4]),import.meta.url),()=>T(()=>import(`../nodes/2.ChuF1HQw.js`),__vite__mapDeps([9,1,4,10,6]),import.meta.url),()=>T(()=>import(`../nodes/3.D2mqIe8P.js`),__vite__mapDeps([11,1,4,10,5]),import.meta.url)],M=[],N={"/":[2],"/about":[3]},P={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},F=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.decode])),I=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.encode])),L=!1,R=(e,t)=>F[e](t);export{R as decode,F as decoders,N as dictionary,I as encoders,L as hash,P as hooks,E as matchers,j as nodes,A as root,M as server_loads}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.Ldbj60Cl.js","../chunks/CbnoFSQH.js","../chunks/lIS4feGx.js","../chunks/Biqbn8jJ.js","../chunks/xihTtKlq.js","../chunks/YyNjVJsa.js","../chunks/D92YrJdM.js","../assets/0.VoXJbESq.css","../nodes/1.Dvlnk681.js","../nodes/2.BCSMw5lB.js","../chunks/DDjdkvHG.js","../nodes/3.D2mqIe8P.js"])))=>i.map(i=>d[i]); +import{A as e,B as t,F as n,H as r,J as i,N as a,O as o,P as s,Q as c,R as l,S as u,U as d,W as f,b as p,i as m,m as h,n as g,o as _,q as v,r as y,v as b,w as x,x as S,y as C,z as w}from"../chunks/CbnoFSQH.js";import{t as T}from"../chunks/kNaey6uv.js";import"../chunks/xihTtKlq.js";var E={},D=u(`
`),O=u(` `,1);function k(u,y){i(y,!0);let T=m(y,`components`,23,()=>[]),E=m(y,`data_0`,3,null),k=m(y,`data_1`,3,null);n(()=>y.stores.page.set(y.page)),s(()=>{y.stores,y.page,y.constructors,T(),y.form,E(),k(),y.stores.page.notify()});let A=d(!1),j=d(!1),M=d(null);g(()=>{let t=y.stores.page.subscribe(()=>{o(A)&&(r(j,!0),e().then(()=>{r(M,document.title||`untitled page`,!0)}))});return r(A,!0),t});let N=f(()=>y.constructors[1]);var P=O(),F=w(P),I=e=>{let t=f(()=>y.constructors[0]);var n=S();h(w(n),()=>o(t),(e,t)=>{_(t(e,{get data(){return E()},get form(){return y.form},get params(){return y.page.params},children:(e,t)=>{var n=S();h(w(n),()=>o(N),(e,t)=>{_(t(e,{get data(){return k()},get form(){return y.form},get params(){return y.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),p(e,n)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),p(e,n)},L=e=>{let t=f(()=>y.constructors[0]);var n=S();h(w(n),()=>o(t),(e,t)=>{_(t(e,{get data(){return E()},get form(){return y.form},get params(){return y.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),p(e,n)};b(F,e=>{y.constructors[1]?e(I):e(L,-1)});var R=t(F,2),z=e=>{var t=D(),n=l(t),r=e=>{var t=x();a(()=>C(t,o(M))),p(e,t)};b(n,e=>{o(j)&&e(r)}),c(t),p(e,t)};b(R,e=>{o(A)&&e(z)}),p(u,P),v()}var A=y(k),j=[()=>T(()=>import(`../nodes/0.Ldbj60Cl.js`),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url),()=>T(()=>import(`../nodes/1.Dvlnk681.js`),__vite__mapDeps([8,1,2,3,4]),import.meta.url),()=>T(()=>import(`../nodes/2.BCSMw5lB.js`),__vite__mapDeps([9,1,4,10,6]),import.meta.url),()=>T(()=>import(`../nodes/3.D2mqIe8P.js`),__vite__mapDeps([11,1,4,10,5]),import.meta.url)],M=[],N={"/":[2],"/about":[3]},P={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},F=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.decode])),I=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.encode])),L=!1,R=(e,t)=>F[e](t);export{R as decode,F as decoders,N as dictionary,I as encoders,L as hash,P as hooks,E as matchers,j as nodes,A as root,M as server_loads}; \ No newline at end of file diff --git a/server/gateway/static/_app/immutable/nodes/2.BCSMw5lB.js b/server/gateway/static/_app/immutable/nodes/2.BCSMw5lB.js new file mode 100644 index 000000000..ca81a4442 --- /dev/null +++ b/server/gateway/static/_app/immutable/nodes/2.BCSMw5lB.js @@ -0,0 +1,2 @@ +import{B as e,C as t,D as n,E as r,H as i,J as a,L as o,N as s,O as c,P as l,Q as u,R as d,S as f,T as p,U as m,V as h,W as g,Z as _,_ as v,b as y,c as b,d as x,f as S,g as C,i as w,l as T,n as E,q as D,s as O,u as k,v as A,w as j,x as M,y as N,z as P}from"../chunks/CbnoFSQH.js";import"../chunks/xihTtKlq.js";import{t as F}from"../chunks/D92YrJdM.js";import{t as I}from"../chunks/DDjdkvHG.js";function L(e){let t=[],n=e.searchQuery.trim();if(n&&t.push(`displayName=${n}`),!e.mediaTypes.has(`all`)){let n=[...e.mediaTypes].filter(e=>e!==`all`);n.length>0&&t.push(`type=${n.join(`,`)}`)}return t.join(` AND `)}async function R(e={}){let t=e.pageSize??18,n=new URLSearchParams;n.set(`page_size`,String(t)),e.filter&&n.set(`filter`,e.filter),e.pageToken&&n.set(`page_token`,e.pageToken);let r=await fetch(`/v1/agents?${n}`,{signal:e.signal});if(!r.ok)throw Error(`HTTP ${r.status}: ${r.statusText}`);let i=await r.json();return{results:i.results||[],nextPageToken:i.nextPageToken||``}}function z(e){return e.activeTags.size>0||e.statusFilter===`trusted`||e.statusFilter===`verified`}function B(e){return Array.from(new Set(e.flatMap(e=>e.tags||[]))).sort()}function V(e,t){if(t.length===0)return e;let n=new Set(e),r=!1;for(let e of t)for(let t of e.tags||[])n.has(t)||(n.add(t),r=!0);return r?Array.from(n).sort():e}function H(e,t){return e.filter(e=>{if(t.activeTags.size>0){let n=new Set(e.tags||[]),r=!1;for(let e of t.activeTags)if(n.has(e)){r=!0;break}if(!r)return!1}return!((t.statusFilter===`trusted`||t.statusFilter===`verified`)&&!G(e))})}function U(e){let t=e.data?.entries||[];return t.length>0?t.map(e=>e.mediaType||``):e.mediaType&&e.mediaType!==`application/ai-catalog+json`?[e.mediaType]:[]}function W(e){if(e.startsWith(`oasf:`))return(e.split(`/`).pop()||``).split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `);let t=e.split(`:`);return(t[t.length-1]||``).replace(/_/g,` `)}function G(e){return!!(e.trustManifest&&e.trustManifest.signature)}function ee(e){let t=0,n=e.identifier||e.displayName||``;for(let e=0;e=1e3?(e/1e3).toFixed(1).replace(/\.0$/,``)+`k`:e.toString()}function K(e){if(!e)return``;let t=e.split(`:`);return t[t.length-1]}function q(e){return e.includes(`a2a`)?{format:`a2a`,label:`Download JSON`,ext:`json`}:e.includes(`mcp`)?{format:`mcp-ghcopilot`,label:`Download JSON`,ext:`json`}:e.includes(`agent-skills`)?{format:`agent-skill`,label:`Download Markdown`,ext:`md`}:{format:`oasf`,label:`Download Asset`,ext:`json`}}function ne(e){let t=e.mediaType||``,n=e.data;return t.includes(`a2a`)?n?.card_data?.name||e.displayName||`Unnamed`:t.includes(`mcp`)?n?.name||e.displayName||`Unnamed`:e.displayName||`Unnamed`}function J(e){let t=e.mediaType||``,n=e.data;return t.includes(`a2a`)?n?.card_data?.version||e.version||`-`:e.version||`-`}var Y=f(` `);function X(e,t){a(t,!0);let n=g(()=>t.type.includes(`a2a`)?`A2A`:t.type.includes(`mcp`)?`MCP`:t.type.includes(`agent-skills`)?`SKILL`:t.type.split(`/`).pop()?.split(`+`)[0]||t.type),r=g(()=>t.type.includes(`a2a`)?`bg-accent-teal text-accent-teal-ink`:t.type.includes(`mcp`)?`bg-brand-200 text-brand-600`:t.type.includes(`agent-skills`)?`bg-[#fdeccc] text-[#8a5a06]`:`bg-surface-tag text-ink`);var i=Y(),o=d(i,!0);u(i),s(()=>{S(i,1,`inline-flex items-center px-2 py-0.5 rounded-full text-xs font-semibold ${c(r)??``}`),N(o,c(n))}),y(e,i),D()}var Z=t(``),Q=t(``),$=t(``),re=f(``);function ie(t,n){let r=g(()=>Math.floor(n.rating)),i=g(()=>n.rating-c(r)>=.5);var a=re();C(a,20,()=>[,,,,,],v,(t,n,a)=>{var o=M(),s=P(o),l=e=>{y(e,Z())},f=t=>{var n=Q(),r=d(n);T(d(r),`id`,`half-${a}`),u(r),T(e(r),`fill`,`url(#half-${a})`),u(n),y(t,n)},p=e=>{y(e,$())};A(s,e=>{a `),oe=f(`
`),se=f(`

`);function ce(t,n){a(n,!0);let i=g(()=>U(n.aicard)),o=g(()=>G(n.aicard)),l=g(()=>(n.aicard.tags||[]).slice(0,3)),f=g(()=>ee(n.aicard));var p=se(),m=d(p),h=d(m),_=d(h),b=d(_),x=d(b,!0);u(b);var S=e(b,2),w=e=>{I(e,{})};A(S,e=>{c(o)&&e(w)}),u(_);var E=e(_,2),O=d(E),k=e=>{var t=j();s(()=>N(t,`Version ${n.aicard.version??``}`)),y(e,t)};A(O,e=>{n.aicard.version&&e(k)});var M=e(O,2),P=e=>{y(e,j(`•`))};A(M,e=>{n.aicard.version&&n.aicard.updatedAt&&e(P)});var F=e(M,2),L=e=>{var t=j();s(e=>N(t,e),[()=>new Date(n.aicard.updatedAt).toLocaleDateString()]),y(e,t)};A(F,e=>{n.aicard.updatedAt&&e(L)}),u(E),u(h),u(m);var R=e(m,2),z=d(R,!0);u(R);var B=e(R,2),V=e=>{var t=oe();C(t,21,()=>c(l),v,(e,t)=>{var n=ae(),r=d(n,!0);u(n),s(e=>{T(n,`title`,c(t)),N(r,e)},[()=>W(c(t))]),y(e,n)}),u(t),y(e,t)};A(B,e=>{c(l).length&&e(V)});var H=e(B,2);C(H,21,()=>c(i),v,(e,t)=>{X(e,{get type(){return c(t)}})}),u(H);var K=e(H,2),q=d(K);ie(q,{get rating(){return c(f).rating}});var ne=e(q,2),J=d(ne),Y=e(d(J));u(J);var Z=e(J,2),Q=e(d(Z));u(Z),u(ne),u(K),u(p),s(e=>{N(x,n.aicard.displayName||`Unnamed AI card`),N(z,n.aicard.description||`No description available.`),N(Y,` ${e??``}`),N(Q,` ${c(f).providers??``}`)},[()=>te(c(f).downloads)]),r(`click`,p,function(...e){n.onclick?.apply(this,e)}),r(`keydown`,p,e=>{e.key===`Enter`&&n.onclick()}),y(t,p),D()}p([`click`,`keydown`]);var le=f(``),ue=f(``),de=f(`Loading…`),fe=f(``),pe=f(`
Media Type
Status
Tags
`);function me(t,n){a(n,!0);let o=w(n,`catalogHydrating`,3,!1),l=m(``),f=m(h(new Set([`all`]))),p=m(`all`),_=m(h(new Set)),S=m(``),E=g(()=>c(S)?n.allTags.filter(e=>e.toLowerCase().includes(c(S).toLowerCase())):n.allTags);function j(){n.onchange({searchQuery:c(l),mediaTypes:c(f),statusFilter:c(p),activeTags:c(_)})}function M(e,t){let n=new Set(c(f));e===`all`&&t?(n.clear(),n.add(`all`)):e!==`all`&&(n.delete(`all`),t?n.add(e):n.delete(e),n.size===0&&n.add(`all`)),i(f,n,!0),j()}function P(e,t){let n=new Set(c(_));t?n.add(e):n.delete(e),i(_,n,!0),j()}let F=[{value:`all`,label:`All`},{value:`application/a2a-agent-card+json`,label:`A2A Agent`},{value:`application/mcp-server-card+json`,label:`MCP Server`},{value:`application/agent-skills+md`,label:`SKILL`}];var I=pe(),L=d(I),R=e(d(L),2);b(R),u(L);var z=e(L,2),B=e(d(z),2);C(B,21,()=>F,v,(t,n)=>{var i=le(),a=d(i);b(a);var o=e(a,2),l=d(o,!0);u(o),u(i),s(e=>{k(a,e),N(l,c(n).label)},[()=>c(f).has(c(n).value)]),r(`change`,a,e=>M(c(n).value,e.target.checked)),y(t,i)}),u(B),u(z);var V=e(z,2),H=e(d(V),2);C(H,20,()=>[`all`,`trusted`,`verified`],v,(t,n)=>{var a=ue(),o=d(a);b(o);var l=e(o,2),f=d(l,!0);u(l),u(a),s(()=>{x(o,n),k(o,c(p)===n),N(f,n)}),r(`change`,o,()=>{i(p,n,!0),j()}),y(t,a)}),u(H),u(V);var U=e(V,2),G=d(U),ee=e(d(G),2),te=e=>{y(e,de())};A(ee,e=>{o()&&e(te)}),u(G);var K=e(G,2);b(K);var q=e(K,2);C(q,21,()=>c(E),v,(t,n)=>{var i=fe(),a=d(i);b(a);var o=e(a,2),l=d(o,!0);u(o),u(i),s((e,t)=>{k(a,e),T(o,`title`,c(n)),N(l,t)},[()=>c(_).has(c(n)),()=>W(c(n))]),r(`change`,a,e=>P(c(n),e.target.checked)),y(t,i)}),u(q),u(U),u(I),r(`input`,R,j),O(R,()=>c(l),e=>i(l,e)),O(K,()=>c(S),e=>i(S,e)),y(t,I),D()}p([`input`,`change`]);var he=f(` `),ge=f(`
NameVersionTypeExport
`),_e=f(`
NameVersionTypeExport
`),ve=f(`No entries`),ye=f(` `),be=f(`None`),xe=f(`
Trust Manifest
Identity

Type

Attestations

Provenance

Signature

`),Se=t(` Copied!`,1),Ce=t(` Copy`,1),we=f(`

Version

Updated

Downloads

Providers

Rating
Entries
Tags
Catalog Entry JSON
 
`);function Te(t,l){a(l,!0);let f=g(()=>ee(l.aicard)),p=g(()=>G(l.aicard)),h=g(()=>l.aicard.tags||[]),b=g(()=>K(l.aicard.identifier)),x=g(()=>l.aicard.data?.entries||[]),S=g(()=>!c(x).length&&l.aicard.mediaType!==`application/ai-catalog+json`),w=g(()=>JSON.stringify(l.aicard,null,2)),E=m(!1);function O(){navigator.clipboard.writeText(c(w)).then(()=>{i(E,!0),setTimeout(()=>{i(E,!1)},2e3)})}function k(e){e.target===e.currentTarget&&l.onclose()}function j(e){e.key===`Escape`&&l.onclose()}var M=we();n(`keydown`,o,j);var P=d(M),F=d(P),L=d(F),R=d(L),z=d(R),B=d(z,!0);u(z);var V=e(z,2),H=e=>{I(e,{})};A(V,e=>{c(p)&&e(H)}),u(R);var U=e(R,2),W=d(U,!0);u(U),u(L);var te=e(L,2);u(F);var Y=e(F,2),Z=d(Y),Q=d(Z,!0);u(Z);var $=e(Z,2),re=d($),ae=e(d(re),2),oe=d(ae,!0);u(ae),u(re);var se=e(re,2),ce=e(d(se),2),le=d(ce,!0);u(ce),u(se);var ue=e(se,2),de=e(d(ue),2),fe=d(de,!0);u(de),u(ue);var pe=e(ue,2),me=e(d(pe),2),Te=d(me);u(me),u(pe),u($);var Ee=e($,2),De=e(d(Ee),2);ie(De,{get rating(){return c(f).rating}});var Oe=e(De,2),ke=d(Oe,!0);u(Oe),u(Ee);var Ae=e(Ee,2),je=e(d(Ae),2),Me=t=>{var n=ge(),r=e(d(n));C(r,21,()=>c(x),v,(t,n)=>{let r=g(()=>q(c(n).mediaType||``)),i=g(()=>ne(c(n))),a=g(()=>J(c(n))),o=g(()=>c(i).replace(/[^a-z0-9_-]/gi,`_`)+`.`+c(r).ext);var l=he(),f=d(l),p=d(f,!0);u(f);var m=e(f),h=d(m,!0);u(m);var _=e(m),v=d(_);{let e=g(()=>c(n).mediaType||``);X(v,{get type(){return c(e)}})}u(_);var x=e(_),S=d(x),C=e(d(S));u(S),u(x),u(l),s(e=>{N(p,c(i)),N(h,c(a)),T(S,`href`,`/v1/agents/${e??``}/export?format=${c(r).format??``}`),T(S,`download`,c(o)),N(C,` ${c(r).label??``}`)},[()=>encodeURIComponent(c(b))]),y(t,l)}),u(r),u(n),y(t,n)},Ne=t=>{let n=g(()=>q(l.aicard.mediaType)),r=g(()=>l.aicard.data?.skillManifest?.name||l.aicard.displayName||`Unnamed`),i=g(()=>l.aicard.data?.skillManifest?.version||l.aicard.version||`-`),a=g(()=>c(r).replace(/[^a-z0-9_-]/gi,`_`)+`.`+c(n).ext);var o=_e(),f=e(d(o)),p=d(f),m=d(p),h=d(m,!0);u(m);var _=e(m),v=d(_,!0);u(_);var x=e(_);X(d(x),{get type(){return l.aicard.mediaType}}),u(x);var S=e(x),C=d(S),w=e(d(C));u(C),u(S),u(p),u(f),u(o),s(e=>{N(h,c(r)),N(v,c(i)),T(C,`href`,`/v1/agents/${e??``}/export?format=${c(n).format??``}`),T(C,`download`,c(a)),N(w,` ${c(n).label??``}`)},[()=>encodeURIComponent(c(b))]),y(t,o)},Pe=e=>{y(e,ve())};A(je,e=>{c(x).length>0?e(Me):c(S)?e(Ne,1):e(Pe,-1)}),u(Ae);var Fe=e(Ae,2),Ie=e(d(Fe),2);C(Ie,21,()=>c(h),v,(e,t)=>{var n=ye(),r=d(n,!0);u(n),s(()=>N(r,c(t))),y(e,n)},e=>{y(e,be())}),u(Ie),u(Fe);var Le=e(Fe,2),Re=t=>{let n=g(()=>l.aicard.trustManifest),r=g(()=>c(n).signature&&c(n).signature.length>40?c(n).signature.slice(0,20)+`...`+c(n).signature.slice(-20):c(n).signature);var i=xe(),a=d(i);I(d(a),{}),_(2),u(a);var o=e(a,2),f=d(o),p=e(d(f),2),m=d(p,!0);u(p),u(f);var h=e(f,2),v=d(h),b=e(d(v),2),x=d(b,!0);u(b),u(v);var S=e(v,2),C=e(d(S),2),w=d(C,!0);u(C),u(S);var E=e(S,2),D=e(d(E),2),O=d(D,!0);u(D),u(E),u(h);var k=e(h,2),A=e(d(k),2),j=d(A,!0);u(A),u(k),u(o),u(i),s(()=>{N(m,c(n).identity||`Unknown`),N(x,c(n).identityType||`Unknown`),N(w,(c(n).attestations||[]).length),N(O,(c(n).provenance||[]).length),T(A,`title`,c(n).signature),N(j,c(r))}),y(t,i)};A(Le,e=>{l.aicard.trustManifest?.signature&&e(Re)});var ze=e(Le,2),Be=d(ze),Ve=e(d(Be),2),He=d(Ve),Ue=e=>{var t=Se();_(),y(e,t)},We=e=>{var t=Ce();_(),y(e,t)};A(He,e=>{c(E)?e(Ue):e(We,-1)}),u(Ve),u(Be);var Ge=e(Be,2),Ke=d(Ge),qe=d(Ke,!0);u(Ke),u(Ge),u(ze),u(Y),u(P),u(M),s((e,t,n)=>{N(B,l.aicard.displayName||`Unnamed AI card`),N(W,l.aicard.identifier||``),N(Q,l.aicard.description||`No description available.`),N(oe,l.aicard.version||`N/A`),N(le,e),N(fe,t),N(Te,`${c(f).providers??``} node${c(f).providers===1?``:`s`}`),N(ke,n),N(qe,c(w))},[()=>l.aicard.updatedAt?new Date(l.aicard.updatedAt).toLocaleDateString():`N/A`,()=>c(f).downloads.toLocaleString(),()=>c(f).rating.toFixed(1)]),r(`click`,M,k),r(`click`,te,function(...e){l.onclose?.apply(this,e)}),r(`click`,Ve,O),y(t,M),D()}p([`click`]);var Ee=f(`...`),De=f(``),Oe=f(``);function ke(t,n){a(n,!0);let i=g(()=>{let e=[];if(n.totalPages<=7)for(let t=1;t<=n.totalPages;t++)e.push(t);else{e.push(1),n.currentPage>3&&e.push(`...`);let t=Math.max(2,n.currentPage-1),r=Math.min(n.totalPages-1,n.currentPage+1);for(let n=t;n<=r;n++)e.push(n);n.currentPage{var a=Oe(),o=d(a),l=e(o,2);C(l,21,()=>c(i),v,(e,t)=>{var i=M(),a=P(i),o=e=>{y(e,Ee())},l=e=>{var i=De(),a=d(i,!0);u(i),s(()=>{S(i,1,`min-w-9 h-9 px-2 text-sm font-medium rounded-full transition ${c(t)===n.currentPage?`bg-brand-500 text-white`:`text-ink hover:bg-surface-strong`}`),N(a,c(t))}),r(`click`,i,()=>n.onpage(c(t))),y(e,i)};A(a,e=>{c(t)===`...`?e(o):e(l,-1)}),y(e,i)}),u(l);var f=e(l,2);u(a),s(()=>{o.disabled=n.currentPage<=1,f.disabled=n.currentPage>=n.totalPages}),r(`click`,o,()=>n.onpage(n.currentPage-1)),r(`click`,f,()=>n.onpage(n.currentPage+1)),y(t,a)};A(l,e=>{n.totalPages>1&&e(f)}),y(t,o),D()}p([`click`]);var Ae=f(`

Preview data. Star ratings, download counts, and provider statistics shown on catalog entries are + placeholder values for demonstration only and do not reflect real usage or federation data.

`);function je(t,n){a(n,!0);let o=`ai-catalog-disclaimer-dismissed`,s=m(!1);E(()=>{i(s,localStorage.getItem(o)!==`true`)});function l(){i(s,!1),localStorage.setItem(o,`true`)}var f=M(),p=P(f),h=t=>{var n=Ae(),i=d(n),a=e(d(i),4);u(i),u(n),r(`click`,a,l),y(t,n)};A(p,e=>{c(s)&&e(h)}),y(t,f),D()}p([`click`]);var Me=f(`
Loading records...
`),Ne=f(`

`),Pe=f(`

No records match your filters.

`),Fe=f(`

Loading more records for filters and pagination…

`),Ie=f(`

Some records could not be loaded. Filters and pagination may be incomplete.

`),Le=f(`
`,1),Re=f(`

Explore

Browse the secure directory of verified public records published to the Agent Directory Service.

`,1);function ze(t,n){a(n,!0);let o=m(h([])),f=m(h([])),p=m(h([])),_=m(!0),v=m(!1),b=m(``),x=m(``),S=m(1),w=m(null),T=m(null),O=m(null),k=0,j,M,I=g(()=>Math.max(1,Math.ceil(c(f).length/18))),U=g(()=>c(f).slice((c(S)-1)*18,c(S)*18));function W(e,t,n=!0){i(f,H(e,t),!0),n&&i(S,1)}function G(e,t){e.length!==0&&(i(o,c(o).concat(e),!0),i(p,V(c(p),e),!0),z(t)?i(f,c(f).concat(H(e,t)),!0):i(f,c(o),!0))}function ee(e){return c(T)!==null&&L(c(T))===e}async function te(e,t,n,r){let i=t;for(;i;){if(r.aborted||n!==k||!ee(e))return;let t=await R({filter:e||void 0,pageSize:100,pageToken:i,signal:r});if(r.aborted||n!==k||!ee(e))return;G(t.results,c(T)),i=t.nextPageToken}}async function K(e){let t=++k;M?.abort(),M=new AbortController;let n=M.signal,r=L(e);i(_,!0),i(v,!1),i(b,``),i(x,``);try{let a=await R({filter:r||void 0,signal:n});if(t!==k)return;if(i(o,a.results,!0),i(p,B(a.results),!0),i(O,r,!0),W(c(o),e),i(_,!1),a.nextPageToken){i(v,!0);try{await te(r,a.nextPageToken,t,n)}catch(e){if(n.aborted||t!==k)return;i(b,e instanceof Error?e.message:`Failed to load remaining records`,!0)}}}catch(e){if(n.aborted||t!==k)return;i(x,e instanceof Error?e.message:`Unknown error`,!0),i(o,[],!0),i(f,[],!0),i(p,[],!0)}finally{t===k&&(i(_,!1),i(v,!1))}}function q(e){if(i(T,e,!0),L(e)!==c(O)){clearTimeout(j),M?.abort();let t=e.searchQuery.trim()?300:0;j=setTimeout(()=>{c(T)&&K(c(T))},t);return}W(c(o),e)}function ne(e){i(S,e,!0),document.getElementById(`ai-cards-grid`)?.scrollIntoView({behavior:`smooth`,block:`start`})}l(()=>{F.set({count:c(f).length,catalogHydrating:c(v),hydrationError:c(b)})}),E(()=>{let e={searchQuery:``,mediaTypes:new Set([`all`]),statusFilter:`all`,activeTags:new Set};return i(T,e,!0),K(e),()=>{M?.abort(),clearTimeout(j),F.set(null)}});var J=Re(),Y=P(J);je(Y,{});var X=e(Y,2),Z=e(d(X),2),Q=d(Z);me(d(Q),{get allTags(){return c(p)},get catalogHydrating(){return c(v)},onchange:q}),u(Q);var $=e(Q,2),re=d($),ie=e=>{y(e,Me())},ae=t=>{var n=Ne(),i=e(d(n),2),a=d(i);u(i);var o=e(i,2);u(n),s(()=>N(a,`Failed to load records: ${c(x)??``}`)),r(`click`,o,()=>c(T)&&K(c(T))),y(t,n)},oe=e=>{y(e,Pe())},se=t=>{var n=Le(),r=P(n);C(r,21,()=>c(U),e=>e.identifier,(e,t)=>{ce(e,{get aicard(){return c(t)},onclick:()=>{i(w,c(t),!0)}})}),u(r);var a=e(r,2);ke(a,{get currentPage(){return c(S)},get totalPages(){return c(I)},onpage:ne});var o=e(a,2),s=e=>{y(e,Fe())},l=e=>{y(e,Ie())};A(o,e=>{c(v)?e(s):c(b)&&e(l,1)}),y(t,n)};A(re,e=>{c(_)?e(ie):c(x)?e(ae,1):c(U).length===0?e(oe,2):e(se,-1)}),u($),u(Z),u(X);var le=e(X,2),ue=e=>{Te(e,{get aicard(){return c(w)},onclose:()=>{i(w,null)}})};A(le,e=>{c(w)&&e(ue)}),y(t,J),D()}p([`click`]);export{ze as component}; \ No newline at end of file diff --git a/server/gateway/static/_app/immutable/nodes/2.ChuF1HQw.js b/server/gateway/static/_app/immutable/nodes/2.ChuF1HQw.js deleted file mode 100644 index 3c6456174..000000000 --- a/server/gateway/static/_app/immutable/nodes/2.ChuF1HQw.js +++ /dev/null @@ -1,2 +0,0 @@ -import{B as e,C as t,D as n,E as r,H as i,J as a,L as o,N as s,O as c,P as l,Q as u,R as d,S as f,T as p,U as m,V as h,W as g,Z as _,_ as v,b as y,c as b,d as x,f as S,g as C,i as w,l as T,n as E,q as D,s as O,u as k,v as A,w as j,x as M,y as N,z as P}from"../chunks/CbnoFSQH.js";import"../chunks/xihTtKlq.js";import{t as F}from"../chunks/D92YrJdM.js";import{t as I}from"../chunks/DDjdkvHG.js";function L(e){let t=[],n=e.searchQuery.trim();if(n&&t.push(`displayName=${n}`),!e.mediaTypes.has(`all`)){let n=[...e.mediaTypes].filter(e=>e!==`all`);n.length>0&&t.push(`type=${n.join(`,`)}`)}return t.join(` AND `)}async function R(e={}){let t=e.pageSize??18,n=new URLSearchParams;n.set(`page_size`,String(t)),e.filter&&n.set(`filter`,e.filter),e.pageToken&&n.set(`page_token`,e.pageToken);let r=await fetch(`/v1/agents?${n}`,{signal:e.signal});if(!r.ok)throw Error(`HTTP ${r.status}: ${r.statusText}`);let i=await r.json();return{results:i.results||[],nextPageToken:i.nextPageToken||``}}function z(e){return e.activeTags.size>0||e.statusFilter===`trusted`||e.statusFilter===`verified`}function B(e){return Array.from(new Set(e.flatMap(e=>e.tags||[]))).sort()}function V(e,t){if(t.length===0)return e;let n=new Set(e),r=!1;for(let e of t)for(let t of e.tags||[])n.has(t)||(n.add(t),r=!0);return r?Array.from(n).sort():e}function H(e,t){return e.filter(e=>{if(t.activeTags.size>0){let n=new Set(e.tags||[]),r=!1;for(let e of t.activeTags)if(n.has(e)){r=!0;break}if(!r)return!1}return!((t.statusFilter===`trusted`||t.statusFilter===`verified`)&&!G(e))})}function U(e){let t=e.data?.entries||[];return t.length>0?t.map(e=>e.mediaType||``):e.mediaType&&e.mediaType!==`application/ai-catalog+json`?[e.mediaType]:[]}function W(e){if(e.startsWith(`oasf:`))return(e.split(`/`).pop()||``).split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `);let t=e.split(`:`);return(t[t.length-1]||``).replace(/_/g,` `)}function G(e){return!!(e.trustManifest&&e.trustManifest.signature)}function ee(e){let t=0,n=e.identifier||e.displayName||``;for(let e=0;e=1e3?(e/1e3).toFixed(1).replace(/\.0$/,``)+`k`:e.toString()}function K(e){if(!e)return``;let t=e.split(`:`);return t[t.length-1]}function q(e){return e.includes(`a2a`)?{format:`a2a`,label:`Download JSON`,ext:`json`}:e.includes(`mcp`)?{format:`mcp-ghcopilot`,label:`Download JSON`,ext:`json`}:e.includes(`agentskill`)?{format:`agent-skill`,label:`Download Markdown`,ext:`md`}:{format:`oasf`,label:`Download Asset`,ext:`json`}}function ne(e){let t=e.mediaType||``,n=e.data;return t.includes(`a2a`)?n?.card_data?.name||e.displayName||`Unnamed`:t.includes(`mcp`)?n?.name||e.displayName||`Unnamed`:e.displayName||`Unnamed`}function J(e){let t=e.mediaType||``,n=e.data;return t.includes(`a2a`)?n?.card_data?.version||e.version||`-`:e.version||`-`}var Y=f(` `);function X(e,t){a(t,!0);let n=g(()=>t.type.includes(`a2a`)?`A2A`:t.type.includes(`mcp`)?`MCP`:t.type.includes(`agentskill`)?`SKILL`:t.type.split(`/`).pop()?.split(`+`)[0]||t.type),r=g(()=>t.type.includes(`a2a`)?`bg-accent-teal text-accent-teal-ink`:t.type.includes(`mcp`)?`bg-brand-200 text-brand-600`:t.type.includes(`agentskill`)?`bg-[#fdeccc] text-[#8a5a06]`:`bg-surface-tag text-ink`);var i=Y(),o=d(i,!0);u(i),s(()=>{S(i,1,`inline-flex items-center px-2 py-0.5 rounded-full text-xs font-semibold ${c(r)??``}`),N(o,c(n))}),y(e,i),D()}var Z=t(``),Q=t(``),$=t(``),re=f(``);function ie(t,n){let r=g(()=>Math.floor(n.rating)),i=g(()=>n.rating-c(r)>=.5);var a=re();C(a,20,()=>[,,,,,],v,(t,n,a)=>{var o=M(),s=P(o),l=e=>{y(e,Z())},f=t=>{var n=Q(),r=d(n);T(d(r),`id`,`half-${a}`),u(r),T(e(r),`fill`,`url(#half-${a})`),u(n),y(t,n)},p=e=>{y(e,$())};A(s,e=>{a `),oe=f(`
`),se=f(`

`);function ce(t,n){a(n,!0);let i=g(()=>U(n.aicard)),o=g(()=>G(n.aicard)),l=g(()=>(n.aicard.tags||[]).slice(0,3)),f=g(()=>ee(n.aicard));var p=se(),m=d(p),h=d(m),_=d(h),b=d(_),x=d(b,!0);u(b);var S=e(b,2),w=e=>{I(e,{})};A(S,e=>{c(o)&&e(w)}),u(_);var E=e(_,2),O=d(E),k=e=>{var t=j();s(()=>N(t,`Version ${n.aicard.version??``}`)),y(e,t)};A(O,e=>{n.aicard.version&&e(k)});var M=e(O,2),P=e=>{y(e,j(`•`))};A(M,e=>{n.aicard.version&&n.aicard.updatedAt&&e(P)});var F=e(M,2),L=e=>{var t=j();s(e=>N(t,e),[()=>new Date(n.aicard.updatedAt).toLocaleDateString()]),y(e,t)};A(F,e=>{n.aicard.updatedAt&&e(L)}),u(E),u(h),u(m);var R=e(m,2),z=d(R,!0);u(R);var B=e(R,2),V=e=>{var t=oe();C(t,21,()=>c(l),v,(e,t)=>{var n=ae(),r=d(n,!0);u(n),s(e=>{T(n,`title`,c(t)),N(r,e)},[()=>W(c(t))]),y(e,n)}),u(t),y(e,t)};A(B,e=>{c(l).length&&e(V)});var H=e(B,2);C(H,21,()=>c(i),v,(e,t)=>{X(e,{get type(){return c(t)}})}),u(H);var K=e(H,2),q=d(K);ie(q,{get rating(){return c(f).rating}});var ne=e(q,2),J=d(ne),Y=e(d(J));u(J);var Z=e(J,2),Q=e(d(Z));u(Z),u(ne),u(K),u(p),s(e=>{N(x,n.aicard.displayName||`Unnamed AI card`),N(z,n.aicard.description||`No description available.`),N(Y,` ${e??``}`),N(Q,` ${c(f).providers??``}`)},[()=>te(c(f).downloads)]),r(`click`,p,function(...e){n.onclick?.apply(this,e)}),r(`keydown`,p,e=>{e.key===`Enter`&&n.onclick()}),y(t,p),D()}p([`click`,`keydown`]);var le=f(``),ue=f(``),de=f(`Loading…`),fe=f(``),pe=f(`
Media Type
Status
Tags
`);function me(t,n){a(n,!0);let o=w(n,`catalogHydrating`,3,!1),l=m(``),f=m(h(new Set([`all`]))),p=m(`all`),_=m(h(new Set)),S=m(``),E=g(()=>c(S)?n.allTags.filter(e=>e.toLowerCase().includes(c(S).toLowerCase())):n.allTags);function j(){n.onchange({searchQuery:c(l),mediaTypes:c(f),statusFilter:c(p),activeTags:c(_)})}function M(e,t){let n=new Set(c(f));e===`all`&&t?(n.clear(),n.add(`all`)):e!==`all`&&(n.delete(`all`),t?n.add(e):n.delete(e),n.size===0&&n.add(`all`)),i(f,n,!0),j()}function P(e,t){let n=new Set(c(_));t?n.add(e):n.delete(e),i(_,n,!0),j()}let F=[{value:`all`,label:`All`},{value:`application/a2a-agent-card+json`,label:`A2A Agent`},{value:`application/mcp-server-card+json`,label:`MCP Server`},{value:`application/agentskill+md`,label:`SKILL`}];var I=pe(),L=d(I),R=e(d(L),2);b(R),u(L);var z=e(L,2),B=e(d(z),2);C(B,21,()=>F,v,(t,n)=>{var i=le(),a=d(i);b(a);var o=e(a,2),l=d(o,!0);u(o),u(i),s(e=>{k(a,e),N(l,c(n).label)},[()=>c(f).has(c(n).value)]),r(`change`,a,e=>M(c(n).value,e.target.checked)),y(t,i)}),u(B),u(z);var V=e(z,2),H=e(d(V),2);C(H,20,()=>[`all`,`trusted`,`verified`],v,(t,n)=>{var a=ue(),o=d(a);b(o);var l=e(o,2),f=d(l,!0);u(l),u(a),s(()=>{x(o,n),k(o,c(p)===n),N(f,n)}),r(`change`,o,()=>{i(p,n,!0),j()}),y(t,a)}),u(H),u(V);var U=e(V,2),G=d(U),ee=e(d(G),2),te=e=>{y(e,de())};A(ee,e=>{o()&&e(te)}),u(G);var K=e(G,2);b(K);var q=e(K,2);C(q,21,()=>c(E),v,(t,n)=>{var i=fe(),a=d(i);b(a);var o=e(a,2),l=d(o,!0);u(o),u(i),s((e,t)=>{k(a,e),T(o,`title`,c(n)),N(l,t)},[()=>c(_).has(c(n)),()=>W(c(n))]),r(`change`,a,e=>P(c(n),e.target.checked)),y(t,i)}),u(q),u(U),u(I),r(`input`,R,j),O(R,()=>c(l),e=>i(l,e)),O(K,()=>c(S),e=>i(S,e)),y(t,I),D()}p([`input`,`change`]);var he=f(` `),ge=f(`
NameVersionTypeExport
`),_e=f(`
NameVersionTypeExport
`),ve=f(`No entries`),ye=f(` `),be=f(`None`),xe=f(`
Trust Manifest
Identity

Type

Attestations

Provenance

Signature

`),Se=t(` Copied!`,1),Ce=t(` Copy`,1),we=f(`

Version

Updated

Downloads

Providers

Rating
Entries
Tags
Catalog Entry JSON
 
`);function Te(t,l){a(l,!0);let f=g(()=>ee(l.aicard)),p=g(()=>G(l.aicard)),h=g(()=>l.aicard.tags||[]),b=g(()=>K(l.aicard.identifier)),x=g(()=>l.aicard.data?.entries||[]),S=g(()=>!c(x).length&&l.aicard.mediaType!==`application/ai-catalog+json`),w=g(()=>JSON.stringify(l.aicard,null,2)),E=m(!1);function O(){navigator.clipboard.writeText(c(w)).then(()=>{i(E,!0),setTimeout(()=>{i(E,!1)},2e3)})}function k(e){e.target===e.currentTarget&&l.onclose()}function j(e){e.key===`Escape`&&l.onclose()}var M=we();n(`keydown`,o,j);var P=d(M),F=d(P),L=d(F),R=d(L),z=d(R),B=d(z,!0);u(z);var V=e(z,2),H=e=>{I(e,{})};A(V,e=>{c(p)&&e(H)}),u(R);var U=e(R,2),W=d(U,!0);u(U),u(L);var te=e(L,2);u(F);var Y=e(F,2),Z=d(Y),Q=d(Z,!0);u(Z);var $=e(Z,2),re=d($),ae=e(d(re),2),oe=d(ae,!0);u(ae),u(re);var se=e(re,2),ce=e(d(se),2),le=d(ce,!0);u(ce),u(se);var ue=e(se,2),de=e(d(ue),2),fe=d(de,!0);u(de),u(ue);var pe=e(ue,2),me=e(d(pe),2),Te=d(me);u(me),u(pe),u($);var Ee=e($,2),De=e(d(Ee),2);ie(De,{get rating(){return c(f).rating}});var Oe=e(De,2),ke=d(Oe,!0);u(Oe),u(Ee);var Ae=e(Ee,2),je=e(d(Ae),2),Me=t=>{var n=ge(),r=e(d(n));C(r,21,()=>c(x),v,(t,n)=>{let r=g(()=>q(c(n).mediaType||``)),i=g(()=>ne(c(n))),a=g(()=>J(c(n))),o=g(()=>c(i).replace(/[^a-z0-9_-]/gi,`_`)+`.`+c(r).ext);var l=he(),f=d(l),p=d(f,!0);u(f);var m=e(f),h=d(m,!0);u(m);var _=e(m),v=d(_);{let e=g(()=>c(n).mediaType||``);X(v,{get type(){return c(e)}})}u(_);var x=e(_),S=d(x),C=e(d(S));u(S),u(x),u(l),s(e=>{N(p,c(i)),N(h,c(a)),T(S,`href`,`/v1/agents/${e??``}/export?format=${c(r).format??``}`),T(S,`download`,c(o)),N(C,` ${c(r).label??``}`)},[()=>encodeURIComponent(c(b))]),y(t,l)}),u(r),u(n),y(t,n)},Ne=t=>{let n=g(()=>q(l.aicard.mediaType)),r=g(()=>l.aicard.data?.skillManifest?.name||l.aicard.displayName||`Unnamed`),i=g(()=>l.aicard.data?.skillManifest?.version||l.aicard.version||`-`),a=g(()=>c(r).replace(/[^a-z0-9_-]/gi,`_`)+`.`+c(n).ext);var o=_e(),f=e(d(o)),p=d(f),m=d(p),h=d(m,!0);u(m);var _=e(m),v=d(_,!0);u(_);var x=e(_);X(d(x),{get type(){return l.aicard.mediaType}}),u(x);var S=e(x),C=d(S),w=e(d(C));u(C),u(S),u(p),u(f),u(o),s(e=>{N(h,c(r)),N(v,c(i)),T(C,`href`,`/v1/agents/${e??``}/export?format=${c(n).format??``}`),T(C,`download`,c(a)),N(w,` ${c(n).label??``}`)},[()=>encodeURIComponent(c(b))]),y(t,o)},Pe=e=>{y(e,ve())};A(je,e=>{c(x).length>0?e(Me):c(S)?e(Ne,1):e(Pe,-1)}),u(Ae);var Fe=e(Ae,2),Ie=e(d(Fe),2);C(Ie,21,()=>c(h),v,(e,t)=>{var n=ye(),r=d(n,!0);u(n),s(()=>N(r,c(t))),y(e,n)},e=>{y(e,be())}),u(Ie),u(Fe);var Le=e(Fe,2),Re=t=>{let n=g(()=>l.aicard.trustManifest),r=g(()=>c(n).signature&&c(n).signature.length>40?c(n).signature.slice(0,20)+`...`+c(n).signature.slice(-20):c(n).signature);var i=xe(),a=d(i);I(d(a),{}),_(2),u(a);var o=e(a,2),f=d(o),p=e(d(f),2),m=d(p,!0);u(p),u(f);var h=e(f,2),v=d(h),b=e(d(v),2),x=d(b,!0);u(b),u(v);var S=e(v,2),C=e(d(S),2),w=d(C,!0);u(C),u(S);var E=e(S,2),D=e(d(E),2),O=d(D,!0);u(D),u(E),u(h);var k=e(h,2),A=e(d(k),2),j=d(A,!0);u(A),u(k),u(o),u(i),s(()=>{N(m,c(n).identity||`Unknown`),N(x,c(n).identityType||`Unknown`),N(w,(c(n).attestations||[]).length),N(O,(c(n).provenance||[]).length),T(A,`title`,c(n).signature),N(j,c(r))}),y(t,i)};A(Le,e=>{l.aicard.trustManifest?.signature&&e(Re)});var ze=e(Le,2),Be=d(ze),Ve=e(d(Be),2),He=d(Ve),Ue=e=>{var t=Se();_(),y(e,t)},We=e=>{var t=Ce();_(),y(e,t)};A(He,e=>{c(E)?e(Ue):e(We,-1)}),u(Ve),u(Be);var Ge=e(Be,2),Ke=d(Ge),qe=d(Ke,!0);u(Ke),u(Ge),u(ze),u(Y),u(P),u(M),s((e,t,n)=>{N(B,l.aicard.displayName||`Unnamed AI card`),N(W,l.aicard.identifier||``),N(Q,l.aicard.description||`No description available.`),N(oe,l.aicard.version||`N/A`),N(le,e),N(fe,t),N(Te,`${c(f).providers??``} node${c(f).providers===1?``:`s`}`),N(ke,n),N(qe,c(w))},[()=>l.aicard.updatedAt?new Date(l.aicard.updatedAt).toLocaleDateString():`N/A`,()=>c(f).downloads.toLocaleString(),()=>c(f).rating.toFixed(1)]),r(`click`,M,k),r(`click`,te,function(...e){l.onclose?.apply(this,e)}),r(`click`,Ve,O),y(t,M),D()}p([`click`]);var Ee=f(`...`),De=f(``),Oe=f(``);function ke(t,n){a(n,!0);let i=g(()=>{let e=[];if(n.totalPages<=7)for(let t=1;t<=n.totalPages;t++)e.push(t);else{e.push(1),n.currentPage>3&&e.push(`...`);let t=Math.max(2,n.currentPage-1),r=Math.min(n.totalPages-1,n.currentPage+1);for(let n=t;n<=r;n++)e.push(n);n.currentPage{var a=Oe(),o=d(a),l=e(o,2);C(l,21,()=>c(i),v,(e,t)=>{var i=M(),a=P(i),o=e=>{y(e,Ee())},l=e=>{var i=De(),a=d(i,!0);u(i),s(()=>{S(i,1,`min-w-9 h-9 px-2 text-sm font-medium rounded-full transition ${c(t)===n.currentPage?`bg-brand-500 text-white`:`text-ink hover:bg-surface-strong`}`),N(a,c(t))}),r(`click`,i,()=>n.onpage(c(t))),y(e,i)};A(a,e=>{c(t)===`...`?e(o):e(l,-1)}),y(e,i)}),u(l);var f=e(l,2);u(a),s(()=>{o.disabled=n.currentPage<=1,f.disabled=n.currentPage>=n.totalPages}),r(`click`,o,()=>n.onpage(n.currentPage-1)),r(`click`,f,()=>n.onpage(n.currentPage+1)),y(t,a)};A(l,e=>{n.totalPages>1&&e(f)}),y(t,o),D()}p([`click`]);var Ae=f(`

Preview data. Star ratings, download counts, and provider statistics shown on catalog entries are - placeholder values for demonstration only and do not reflect real usage or federation data.

`);function je(t,n){a(n,!0);let o=`ai-catalog-disclaimer-dismissed`,s=m(!1);E(()=>{i(s,localStorage.getItem(o)!==`true`)});function l(){i(s,!1),localStorage.setItem(o,`true`)}var f=M(),p=P(f),h=t=>{var n=Ae(),i=d(n),a=e(d(i),4);u(i),u(n),r(`click`,a,l),y(t,n)};A(p,e=>{c(s)&&e(h)}),y(t,f),D()}p([`click`]);var Me=f(`
Loading records...
`),Ne=f(`

`),Pe=f(`

No records match your filters.

`),Fe=f(`

Loading more records for filters and pagination…

`),Ie=f(`

Some records could not be loaded. Filters and pagination may be incomplete.

`),Le=f(`
`,1),Re=f(`

Explore

Browse the secure directory of verified public records published to the Agent Directory Service.

`,1);function ze(t,n){a(n,!0);let o=m(h([])),f=m(h([])),p=m(h([])),_=m(!0),v=m(!1),b=m(``),x=m(``),S=m(1),w=m(null),T=m(null),O=m(null),k=0,j,M,I=g(()=>Math.max(1,Math.ceil(c(f).length/18))),U=g(()=>c(f).slice((c(S)-1)*18,c(S)*18));function W(e,t,n=!0){i(f,H(e,t),!0),n&&i(S,1)}function G(e,t){e.length!==0&&(i(o,c(o).concat(e),!0),i(p,V(c(p),e),!0),z(t)?i(f,c(f).concat(H(e,t)),!0):i(f,c(o),!0))}function ee(e){return c(T)!==null&&L(c(T))===e}async function te(e,t,n,r){let i=t;for(;i;){if(r.aborted||n!==k||!ee(e))return;let t=await R({filter:e||void 0,pageSize:100,pageToken:i,signal:r});if(r.aborted||n!==k||!ee(e))return;G(t.results,c(T)),i=t.nextPageToken}}async function K(e){let t=++k;M?.abort(),M=new AbortController;let n=M.signal,r=L(e);i(_,!0),i(v,!1),i(b,``),i(x,``);try{let a=await R({filter:r||void 0,signal:n});if(t!==k)return;if(i(o,a.results,!0),i(p,B(a.results),!0),i(O,r,!0),W(c(o),e),i(_,!1),a.nextPageToken){i(v,!0);try{await te(r,a.nextPageToken,t,n)}catch(e){if(n.aborted||t!==k)return;i(b,e instanceof Error?e.message:`Failed to load remaining records`,!0)}}}catch(e){if(n.aborted||t!==k)return;i(x,e instanceof Error?e.message:`Unknown error`,!0),i(o,[],!0),i(f,[],!0),i(p,[],!0)}finally{t===k&&(i(_,!1),i(v,!1))}}function q(e){if(i(T,e,!0),L(e)!==c(O)){clearTimeout(j),M?.abort();let t=e.searchQuery.trim()?300:0;j=setTimeout(()=>{c(T)&&K(c(T))},t);return}W(c(o),e)}function ne(e){i(S,e,!0),document.getElementById(`ai-cards-grid`)?.scrollIntoView({behavior:`smooth`,block:`start`})}l(()=>{F.set({count:c(f).length,catalogHydrating:c(v),hydrationError:c(b)})}),E(()=>{let e={searchQuery:``,mediaTypes:new Set([`all`]),statusFilter:`all`,activeTags:new Set};return i(T,e,!0),K(e),()=>{M?.abort(),clearTimeout(j),F.set(null)}});var J=Re(),Y=P(J);je(Y,{});var X=e(Y,2),Z=e(d(X),2),Q=d(Z);me(d(Q),{get allTags(){return c(p)},get catalogHydrating(){return c(v)},onchange:q}),u(Q);var $=e(Q,2),re=d($),ie=e=>{y(e,Me())},ae=t=>{var n=Ne(),i=e(d(n),2),a=d(i);u(i);var o=e(i,2);u(n),s(()=>N(a,`Failed to load records: ${c(x)??``}`)),r(`click`,o,()=>c(T)&&K(c(T))),y(t,n)},oe=e=>{y(e,Pe())},se=t=>{var n=Le(),r=P(n);C(r,21,()=>c(U),e=>e.identifier,(e,t)=>{ce(e,{get aicard(){return c(t)},onclick:()=>{i(w,c(t),!0)}})}),u(r);var a=e(r,2);ke(a,{get currentPage(){return c(S)},get totalPages(){return c(I)},onpage:ne});var o=e(a,2),s=e=>{y(e,Fe())},l=e=>{y(e,Ie())};A(o,e=>{c(v)?e(s):c(b)&&e(l,1)}),y(t,n)};A(re,e=>{c(_)?e(ie):c(x)?e(ae,1):c(U).length===0?e(oe,2):e(se,-1)}),u($),u(Z),u(X);var le=e(X,2),ue=e=>{Te(e,{get aicard(){return c(w)},onclose:()=>{i(w,null)}})};A(le,e=>{c(w)&&e(ue)}),y(t,J),D()}p([`click`]);export{ze as component}; \ No newline at end of file diff --git a/server/gateway/static/index.html b/server/gateway/static/index.html index 2e7ac2db5..ee099c9d3 100644 --- a/server/gateway/static/index.html +++ b/server/gateway/static/index.html @@ -8,7 +8,7 @@ - + @@ -33,7 +33,7 @@ Promise.all([ import("/_app/immutable/entry/start.BZBMRZRH.js"), - import("/_app/immutable/entry/app.C50Qmu8P.js") + import("/_app/immutable/entry/app.aSaqx79X.js") ]).then(([kit, app]) => { kit.start(app, element); }); diff --git a/server/gateway/ui/src/lib/components/FilterSidebar.svelte b/server/gateway/ui/src/lib/components/FilterSidebar.svelte index a24e67f2c..b08f9149e 100644 --- a/server/gateway/ui/src/lib/components/FilterSidebar.svelte +++ b/server/gateway/ui/src/lib/components/FilterSidebar.svelte @@ -51,7 +51,7 @@ { value: 'all', label: 'All' }, { value: 'application/a2a-agent-card+json', label: 'A2A Agent' }, { value: 'application/mcp-server-card+json', label: 'MCP Server' }, - { value: 'application/agentskill+md', label: 'SKILL' } + { value: 'application/agent-skills+md', label: 'SKILL' } ]; diff --git a/server/gateway/ui/src/lib/components/MediaTypeBadge.svelte b/server/gateway/ui/src/lib/components/MediaTypeBadge.svelte index 422359601..608e4d7f0 100644 --- a/server/gateway/ui/src/lib/components/MediaTypeBadge.svelte +++ b/server/gateway/ui/src/lib/components/MediaTypeBadge.svelte @@ -8,14 +8,14 @@ let label = $derived( type.includes('a2a') ? 'A2A' : type.includes('mcp') ? 'MCP' : - type.includes('agentskill') ? 'SKILL' : + type.includes('agent-skills') ? 'SKILL' : type.split('/').pop()?.split('+')[0] || type ); let classes = $derived( type.includes('a2a') ? 'bg-accent-teal text-accent-teal-ink' : type.includes('mcp') ? 'bg-brand-200 text-brand-600' : - type.includes('agentskill') ? 'bg-[#fdeccc] text-[#8a5a06]' : + type.includes('agent-skills') ? 'bg-[#fdeccc] text-[#8a5a06]' : 'bg-surface-tag text-ink' ); diff --git a/server/gateway/ui/src/lib/utils.ts b/server/gateway/ui/src/lib/utils.ts index 6c19ae146..111457afc 100644 --- a/server/gateway/ui/src/lib/utils.ts +++ b/server/gateway/ui/src/lib/utils.ts @@ -106,7 +106,7 @@ export function exportFormatForType(mediaType: string): ExportFormat { if (mediaType.includes('a2a')) return { format: 'a2a', label: 'Download JSON', ext: 'json' }; if (mediaType.includes('mcp')) return { format: 'mcp-ghcopilot', label: 'Download JSON', ext: 'json' }; - if (mediaType.includes('agentskill')) + if (mediaType.includes('agent-skills')) return { format: 'agent-skill', label: 'Download Markdown', ext: 'md' }; return { format: 'oasf', label: 'Download Asset', ext: 'json' }; } diff --git a/tests/e2e/local/14_skill_record_test.go b/tests/e2e/local/14_skill_record_test.go index 11e1c1f44..bdeb84809 100644 --- a/tests/e2e/local/14_skill_record_test.go +++ b/tests/e2e/local/14_skill_record_test.go @@ -20,7 +20,7 @@ const ( skillRecordName = "org.agntcy/directory" skillModuleName = "core/language_model/agentskills" mcpModuleName = "integration/mcp" - skillArtifactMediaTyp = "application/agentskill+md" + skillArtifactMediaTyp = "application/agent-skills+md" ) var _ = ginkgo.Describe("DIR self-published SKILL record", func() {