a11oy / console /assets /A2AInterop-BdoGeoSh.js
betterwithage's picture
deploy(hf): sync szl-holdings/a11oy@main derived COPY set
da2854c verified
Raw
History Blame
18.4 kB
import{o as e}from"./chunk-CMxvf4Kt.js";import{t}from"./react-DrNXigiH.js";import{C as n}from"./index-Caa1r77e.js";import{t as r}from"./layout-BtJ5ShnN.js";import{c as i,r as a,s as o,u as s}from"./ui-Ddu9t0Or.js";var c=e(t(),1),l=n(),u=`#c9b787`,d=[{id:`ac-cascade`,name:`Cascade Navigator`,description:`Maritime domain specialist — ETA monitoring, port cost analysis, route optimization, demurrage calculation.`,vertical:`vessels-maritime`,version:`2.4.1`,capabilities:[`eta-monitoring`,`port-cost-analysis`,`route-optimization`,`demurrage-calc`],inputModes:[`application/json`,`text/plain`],outputModes:[`application/json`,`application/a11oy-proof+json`],authSchemes:[`mTLS`,`DPoP`],endpoint:`a11oy://agents/cascade-navigator`,status:`registered`,trustScore:970,origin:`internal`},{id:`ac-counsel`,name:`Counsel Sentinel`,description:`Legal domain specialist — deadline tracking, document status, matter monitoring, risk scoring.`,vertical:`prism-counsel`,version:`2.3.0`,capabilities:[`deadline-tracking`,`doc-review`,`matter-monitoring`,`risk-scoring`],inputModes:[`application/json`,`text/plain`],outputModes:[`application/json`,`application/a11oy-proof+json`],authSchemes:[`mTLS`,`DPoP`],endpoint:`a11oy://agents/counsel-sentinel`,status:`registered`,trustScore:990,origin:`internal`},{id:`ac-guardian`,name:`Guardian`,description:`Defense domain specialist — threat intelligence, posture assessment, incident triage, perimeter hardening.`,vertical:`aegis-defense`,version:`3.1.0`,capabilities:[`threat-intel`,`posture-assessment`,`incident-triage`,`perimeter-hardening`],inputModes:[`application/json`,`application/stix+json`],outputModes:[`application/json`,`application/a11oy-proof+json`],authSchemes:[`mTLS`,`DPoP`,`SPIFFE`],endpoint:`a11oy://agents/guardian`,status:`registered`,trustScore:990,origin:`internal`},{id:`ac-pipeline`,name:`Pipeline Oracle`,description:`Revenue domain specialist — pipeline analysis, deal scoring, forecast modeling, CRM monitoring.`,vertical:`lyte-revenue`,version:`2.1.0`,capabilities:[`pipeline-analysis`,`deal-scoring`,`forecast-modeling`,`churn-prediction`],inputModes:[`application/json`],outputModes:[`application/json`,`application/a11oy-proof+json`],authSchemes:[`mTLS`,`DPoP`],endpoint:`a11oy://agents/pipeline-oracle`,status:`registered`,trustScore:910,origin:`internal`},{id:`ac-terra`,name:`Terra Analyst`,description:`Real estate domain specialist — cap rate tracking, portfolio analysis, valuation modeling.`,vertical:`terra-real-estate`,version:`1.8.2`,capabilities:[`cap-rate-tracking`,`portfolio-analysis`,`valuation-modeling`,`comp-analysis`],inputModes:[`application/json`],outputModes:[`application/json`,`application/a11oy-proof+json`],authSchemes:[`mTLS`],endpoint:`a11oy://agents/terra-analyst`,status:`registered`,trustScore:880,origin:`internal`},{id:`ac-ext-visa`,name:`Visa Risk Agent`,description:`External financial risk assessment agent — transaction scoring, fraud pattern detection.`,vertical:`finance`,version:`1.0.0`,capabilities:[`txn-risk-scoring`,`fraud-detection`,`merchant-risk`],inputModes:[`application/json`],outputModes:[`application/json`],authSchemes:[`OAuth2`,`mTLS`],endpoint:`https://agents.visa.com/risk-agent/v1`,status:`discovered`,trustScore:720,origin:`external`},{id:`ac-ext-mandiant`,name:`Mandiant Threat Intel`,description:`External threat intelligence agent — IOC enrichment, threat actor profiling, campaign attribution.`,vertical:`security`,version:`2.1.0`,capabilities:[`ioc-enrichment`,`threat-profiling`,`campaign-attribution`],inputModes:[`application/stix+json`,`application/json`],outputModes:[`application/stix+json`],authSchemes:[`OAuth2`,`API-Key`],endpoint:`https://api.mandiant.com/a2a/v1`,status:`negotiating`,trustScore:810,origin:`external`}],f=[{id:`task-001`,from:`Cascade Navigator`,to:`Guardian`,action:`Verify vessel sanctions clearance for MV Cascade`,status:`completed`,submittedAt:`2026-04-25T04:00:00Z`,completedAt:`2026-04-25T04:02:12Z`,proofHash:`sha256:a1b2c3`},{id:`task-002`,from:`Pipeline Oracle`,to:`Counsel Sentinel`,action:`Review contract terms for Meridian renewal`,status:`working`,submittedAt:`2026-04-25T09:30:00Z`,completedAt:null,proofHash:null},{id:`task-003`,from:`Guardian`,to:`Mandiant Threat Intel`,action:`Enrich IOC set for TG-Ember campaign`,status:`input-required`,submittedAt:`2026-04-25T18:45:00Z`,completedAt:null,proofHash:null},{id:`task-004`,from:`Terra Analyst`,to:`Pipeline Oracle`,action:`Cross-reference port-adjacent asset impact on Q2 pipeline`,status:`completed`,submittedAt:`2026-04-24T14:00:00Z`,completedAt:`2026-04-24T14:18:30Z`,proofHash:`sha256:d4e5f6`},{id:`task-005`,from:`Counsel Sentinel`,to:`Cascade Navigator`,action:`Provide demurrage clause interpretation for Talbot matter`,status:`completed`,submittedAt:`2026-04-24T08:10:00Z`,completedAt:`2026-04-24T08:14:55Z`,proofHash:`sha256:e5f6a7`},{id:`task-006`,from:`Visa Risk Agent`,to:`Guardian`,action:`Correlate merchant risk scores with TG-Ember TTPs`,status:`submitted`,submittedAt:`2026-04-25T20:00:00Z`,completedAt:null,proofHash:null}],p={submitted:{color:`#8a8a8a`,bg:`rgba(138,138,138,0.1)`},working:{color:`#c9b787`,bg:`rgba(201,183,135,0.1)`},"input-required":{color:`#f97316`,bg:`rgba(249,115,22,0.1)`},completed:{color:`#22c55e`,bg:`rgba(34,197,94,0.1)`},failed:{color:`#ef4444`,bg:`rgba(239,68,68,0.1)`}},m={internal:{color:u,bg:`${u}15`},external:{color:`#8a8a8a`,bg:`rgba(138,138,138,0.1)`}};function h(){let[e,t]=(0,c.useState)(`cards`),[n,h]=(0,c.useState)(null),[g,_]=(0,c.useState)(`all`),v=d.filter(e=>g===`all`||e.origin===g);return(0,l.jsxs)(r,{children:[(0,l.jsx)(i,{label:`A2A INTEROP`,title:`Agent-to-Agent Protocol Layer`,subtitle:`Every A11oy workcell publishes an Agent Card (JSON capability manifest) and can discover, negotiate, and exchange tasks with internal and external agents via the A2A protocol.`,status:`LIVE`}),(0,l.jsxs)(`div`,{className:`grid grid-cols-2 sm:grid-cols-4 gap-3 mb-8`,children:[(0,l.jsx)(o,{label:`AGENT CARDS`,value:d.length,sub:`${d.filter(e=>e.origin===`internal`).length} internal · ${d.filter(e=>e.origin===`external`).length} external`,accent:u}),(0,l.jsx)(o,{label:`A2A TASKS`,value:f.length,sub:`${f.filter(e=>e.status===`completed`).length} completed`,accent:u}),(0,l.jsx)(o,{label:`PROTOCOL`,value:`v0.3`,sub:`A2A + gRPC`,accent:`#8a8a8a`}),(0,l.jsx)(o,{label:`PROOF COVERAGE`,value:`${Math.round(f.filter(e=>e.proofHash).length/f.length*100)}%`,sub:`${f.filter(e=>e.proofHash).length}/${f.length} attested`,accent:f.every(e=>e.proofHash)?`#22c55e`:u})]}),(0,l.jsx)(`div`,{className:`flex gap-1 mb-6`,children:[`cards`,`tasks`,`topology`].map(n=>(0,l.jsx)(`button`,{onClick:()=>t(n),className:`px-4 py-2 rounded-lg text-[10px] font-mono uppercase tracking-widest transition-all`,style:{background:e===n?`rgba(201,183,135,0.1)`:`transparent`,color:e===n?u:`#5e5e5e`,border:`1px solid ${e===n?`rgba(201,183,135,0.2)`:`transparent`}`,cursor:`pointer`},children:n===`cards`?`Agent Cards`:n===`tasks`?`Task Lifecycle`:`Network Topology`},n))}),e===`cards`&&(0,l.jsxs)(`div`,{className:`grid lg:grid-cols-3 gap-6`,children:[(0,l.jsxs)(`div`,{className:`lg:col-span-2`,children:[(0,l.jsx)(`div`,{className:`flex items-center gap-2 mb-4`,children:[`all`,`internal`,`external`].map(e=>(0,l.jsx)(`button`,{onClick:()=>_(e),className:`text-xs px-2.5 py-1 rounded font-mono`,style:{backgroundColor:g===e?`rgba(201,183,135,0.12)`:`var(--color-a11oy-muted)`,color:g===e?u:`var(--color-a11oy-text-ghost)`,border:`1px solid ${g===e?`rgba(201,183,135,0.25)`:`transparent`}`,cursor:`pointer`},children:e},e))}),(0,l.jsxs)(s,{children:[`Agent Card Registry (`,v.length,`)`]}),(0,l.jsx)(`div`,{className:`grid sm:grid-cols-2 gap-3`,children:v.map(e=>{let t=m[e.origin];return(0,l.jsxs)(`div`,{className:`rounded-xl border p-4 cursor-pointer transition-all`,onClick:()=>h(e),style:{backgroundColor:n?.id===e.id?`rgba(201,183,135,0.03)`:`var(--color-a11oy-card)`,borderColor:n?.id===e.id?u:`var(--color-a11oy-border)`},children:[(0,l.jsxs)(`div`,{className:`flex items-start justify-between gap-2 mb-2`,children:[(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`div`,{className:`text-sm font-semibold`,style:{color:`var(--color-a11oy-text)`},children:e.name}),(0,l.jsxs)(`div`,{className:`text-xs`,style:{color:`var(--color-a11oy-text-ghost)`},children:[`v`,e.version]})]}),(0,l.jsx)(`span`,{className:`text-[9px] font-mono px-1.5 py-0.5 rounded`,style:{color:t.color,backgroundColor:t.bg},children:e.origin})]}),(0,l.jsxs)(`p`,{className:`text-xs mb-3`,style:{color:`var(--color-a11oy-text-sub)`},children:[e.description.slice(0,80),`…`]}),(0,l.jsxs)(`div`,{className:`flex flex-wrap gap-1 mb-2`,children:[e.capabilities.slice(0,3).map(e=>(0,l.jsx)(`span`,{className:`text-[9px] px-1.5 py-0.5 rounded font-mono`,style:{backgroundColor:`var(--color-a11oy-muted)`,color:`var(--color-a11oy-text-ghost)`},children:e},e)),e.capabilities.length>3&&(0,l.jsxs)(`span`,{className:`text-[9px] px-1 py-0.5`,style:{color:`var(--color-a11oy-text-ghost)`},children:[`+`,e.capabilities.length-3]})]}),(0,l.jsxs)(`div`,{className:`flex items-center justify-between text-xs`,children:[(0,l.jsxs)(`span`,{className:`font-mono`,style:{color:e.trustScore>=900?`#22c55e`:e.trustScore>=700?u:`#f97316`},children:[`Trust: `,e.trustScore]}),(0,l.jsx)(`span`,{className:`font-mono`,style:{color:e.status===`registered`?`#22c55e`:e.status===`discovered`?u:`#f97316`},children:e.status})]})]},e.id)})})]}),(0,l.jsx)(`div`,{children:n?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(s,{children:[`Agent Card — `,n.name]}),(0,l.jsxs)(a,{children:[(0,l.jsx)(`div`,{className:`text-sm font-semibold mb-1`,style:{color:`var(--color-a11oy-text)`},children:n.name}),(0,l.jsx)(`p`,{className:`text-xs mb-4`,style:{color:`var(--color-a11oy-text-sub)`},children:n.description}),(0,l.jsxs)(`div`,{className:`space-y-3 text-xs`,children:[(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`div`,{className:`font-mono mb-1`,style:{color:`var(--color-a11oy-text-ghost)`},children:`ENDPOINT`}),(0,l.jsx)(`div`,{className:`font-mono px-2 py-1.5 rounded`,style:{backgroundColor:`var(--color-a11oy-deep)`,border:`1px solid var(--color-a11oy-border)`,color:u,wordBreak:`break-all`},children:n.endpoint})]}),(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`div`,{className:`font-mono mb-1`,style:{color:`var(--color-a11oy-text-ghost)`},children:`CAPABILITIES`}),(0,l.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:n.capabilities.map(e=>(0,l.jsx)(`span`,{className:`font-mono px-1.5 py-0.5 rounded`,style:{backgroundColor:`${u}12`,color:u},children:e},e))})]}),(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`div`,{className:`font-mono mb-1`,style:{color:`var(--color-a11oy-text-ghost)`},children:`INPUT MODES`}),(0,l.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:n.inputModes.map(e=>(0,l.jsx)(`span`,{className:`font-mono px-1.5 py-0.5 rounded`,style:{backgroundColor:`var(--color-a11oy-muted)`,color:`var(--color-a11oy-text-ghost)`},children:e},e))})]}),(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`div`,{className:`font-mono mb-1`,style:{color:`var(--color-a11oy-text-ghost)`},children:`OUTPUT MODES`}),(0,l.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:n.outputModes.map(e=>(0,l.jsx)(`span`,{className:`font-mono px-1.5 py-0.5 rounded`,style:{backgroundColor:`var(--color-a11oy-muted)`,color:`var(--color-a11oy-text-ghost)`},children:e},e))})]}),(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`div`,{className:`font-mono mb-1`,style:{color:`var(--color-a11oy-text-ghost)`},children:`AUTH SCHEMES`}),(0,l.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:n.authSchemes.map(e=>(0,l.jsx)(`span`,{className:`font-mono px-1.5 py-0.5 rounded`,style:{backgroundColor:`rgba(34,197,94,0.08)`,color:`#22c55e`},children:e},e))})]}),(0,l.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`div`,{className:`font-mono mb-1`,style:{color:`var(--color-a11oy-text-ghost)`},children:`TRUST SCORE`}),(0,l.jsxs)(`div`,{className:`font-mono text-lg font-bold`,style:{color:n.trustScore>=900?`#22c55e`:u},children:[n.trustScore,`/1000`]})]}),(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`div`,{className:`font-mono mb-1`,style:{color:`var(--color-a11oy-text-ghost)`},children:`VERSION`}),(0,l.jsxs)(`div`,{className:`font-mono`,style:{color:`var(--color-a11oy-text-sub)`},children:[`v`,n.version]})]})]})]})]})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s,{children:`Protocol Specification`}),(0,l.jsx)(a,{children:(0,l.jsx)(`div`,{className:`space-y-3 text-xs`,children:[{label:`Protocol`,value:`A2A v0.3 (Linux Foundation)`},{label:`Transport`,value:`HTTPS + gRPC bidirectional streaming`},{label:`Discovery`,value:`Agent Cards (JSON capability manifests)`},{label:`Auth`,value:`mTLS + DPoP token binding`},{label:`Task Model`,value:`submitted → working → input-required → completed`},{label:`Proof`,value:`Every A2A task attested in Proof Ledger`}].map(e=>(0,l.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,l.jsx)(`span`,{style:{color:`var(--color-a11oy-text-ghost)`},children:e.label}),(0,l.jsx)(`span`,{className:`font-mono`,style:{color:u},children:e.value})]},e.label))})})]})})]}),e===`tasks`&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(s,{children:[`A2A Task Lifecycle (`,f.length,`)`]}),(0,l.jsx)(`div`,{className:`flex flex-col gap-3`,children:f.map(e=>{let t=p[e.status];return(0,l.jsx)(a,{children:(0,l.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,l.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-2 mb-1 flex-wrap`,children:[(0,l.jsx)(`span`,{className:`text-[9px] font-mono px-1.5 py-0.5 rounded`,style:{color:t.color,backgroundColor:t.bg},children:e.status.toUpperCase()}),(0,l.jsx)(`span`,{className:`text-xs font-mono`,style:{color:`var(--color-a11oy-text-ghost)`},children:e.id})]}),(0,l.jsx)(`div`,{className:`text-sm font-medium mb-1`,style:{color:`var(--color-a11oy-text)`},children:e.action}),(0,l.jsxs)(`div`,{className:`text-xs flex items-center gap-2`,style:{color:`var(--color-a11oy-text-ghost)`},children:[(0,l.jsx)(`span`,{style:{color:u},children:e.from}),(0,l.jsx)(`span`,{children:`→`}),(0,l.jsx)(`span`,{style:{color:u},children:e.to})]})]}),(0,l.jsxs)(`div`,{className:`text-right text-xs flex-shrink-0`,children:[e.proofHash&&(0,l.jsx)(`div`,{className:`font-mono mb-1`,style:{color:`#22c55e`},children:e.proofHash}),(0,l.jsx)(`div`,{style:{color:`var(--color-a11oy-text-ghost)`},children:new Date(e.submittedAt).toLocaleString(`en-US`,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})})]})]})},e.id)})}),(0,l.jsxs)(`div`,{className:`mt-6`,children:[(0,l.jsx)(s,{children:`Task State Machine`}),(0,l.jsxs)(a,{children:[(0,l.jsx)(`div`,{className:`flex items-center gap-2 flex-wrap text-xs font-mono`,children:[`submitted`,`working`,`input-required`,`completed`].map((e,t)=>{let n=p[e];return(0,l.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,l.jsx)(`span`,{className:`px-2 py-1 rounded`,style:{color:n.color,backgroundColor:n.bg},children:e}),t<3&&(0,l.jsx)(`span`,{style:{color:`var(--color-a11oy-text-ghost)`},children:`→`})]},e)})}),(0,l.jsx)(`p`,{className:`text-xs mt-3`,style:{color:`var(--color-a11oy-text-sub)`},children:`Every state transition is logged to the Proof Ledger. Failed tasks trigger automatic retry with exponential backoff. Input-required tasks hold until the requesting agent provides additional context.`})]})]})]}),e===`topology`&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s,{children:`A2A Network Topology`}),(0,l.jsxs)(a,{children:[(0,l.jsx)(`div`,{className:`grid sm:grid-cols-2 lg:grid-cols-3 gap-4 mb-6`,children:d.map(e=>{let t=m[e.origin],n=f.filter(t=>t.from===e.name||t.to===e.name);return(0,l.jsxs)(`div`,{className:`rounded-lg border p-3`,style:{borderColor:`var(--color-a11oy-border)`,backgroundColor:`var(--color-a11oy-deep)`},children:[(0,l.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,l.jsx)(`span`,{className:`text-xs font-semibold`,style:{color:`var(--color-a11oy-text)`},children:e.name}),(0,l.jsx)(`span`,{className:`text-[9px] font-mono px-1 py-0.5 rounded`,style:{color:t.color,backgroundColor:t.bg},children:e.origin})]}),(0,l.jsxs)(`div`,{className:`text-xs mb-2`,style:{color:`var(--color-a11oy-text-ghost)`},children:[n.length,` connections`]}),(0,l.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.authSchemes.map(e=>(0,l.jsx)(`span`,{className:`text-[9px] font-mono px-1 py-0.5 rounded`,style:{backgroundColor:`rgba(34,197,94,0.08)`,color:`#22c55e`},children:e},e))})]},e.id)})}),(0,l.jsx)(s,{children:`Connection Matrix`}),(0,l.jsx)(`div`,{className:`rounded-lg border overflow-hidden`,style:{borderColor:`var(--color-a11oy-border)`},children:(0,l.jsxs)(`table`,{className:`w-full text-xs`,children:[(0,l.jsx)(`thead`,{children:(0,l.jsx)(`tr`,{style:{backgroundColor:`var(--color-a11oy-deep)`},children:[`From`,`To`,`Tasks`,`Protocol`,`Status`].map(e=>(0,l.jsx)(`th`,{className:`text-left px-3 py-2 font-mono uppercase tracking-wide`,style:{color:`var(--color-a11oy-text-ghost)`,fontSize:`10px`},children:e},e))})}),(0,l.jsx)(`tbody`,{children:f.map((e,t)=>(0,l.jsxs)(`tr`,{style:{backgroundColor:t%2==0?`var(--color-a11oy-card)`:`var(--color-a11oy-deep)`,borderBottom:`1px solid var(--color-a11oy-border)`},children:[(0,l.jsx)(`td`,{className:`px-3 py-2`,style:{color:u},children:e.from}),(0,l.jsx)(`td`,{className:`px-3 py-2`,style:{color:u},children:e.to}),(0,l.jsxs)(`td`,{className:`px-3 py-2 font-mono`,style:{color:`var(--color-a11oy-text-sub)`},children:[e.action.slice(0,40),`…`]}),(0,l.jsx)(`td`,{className:`px-3 py-2 font-mono`,style:{color:`#22c55e`},children:`mTLS + A2A`}),(0,l.jsx)(`td`,{className:`px-3 py-2`,children:(0,l.jsx)(`span`,{className:`font-mono px-1.5 py-0.5 rounded`,style:{color:p[e.status].color,backgroundColor:p[e.status].bg},children:e.status})})]},e.id))})]})})]})]}),(0,l.jsxs)(`div`,{className:`mt-6 p-3 rounded-lg text-xs flex items-center gap-2`,style:{backgroundColor:`rgba(201,183,135,0.06)`,border:`1px solid rgba(201,183,135,0.15)`,color:`var(--color-a11oy-text-ghost)`},children:[(0,l.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-[var(--color-a11oy-blue)] flex-shrink-0`}),` A2A protocol governed by A11oy doctrine — every inter-agent exchange is attested, consent-gated, and proof-carrying.`]})]})}export{h as A2AInterop};