@agent-receipts/dashboard 0.2.6 → 0.2.7
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/package.json +6 -5
- package/standalone/apps/web/.next/BUILD_ID +1 -1
- package/standalone/apps/web/.next/app-build-manifest.json +48 -48
- package/standalone/apps/web/.next/app-path-routes-manifest.json +10 -10
- package/standalone/apps/web/.next/build-manifest.json +2 -2
- package/standalone/apps/web/.next/prerender-manifest.json +30 -30
- package/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/_not-found.html +2 -2
- package/standalone/apps/web/.next/server/app/_not-found.rsc +1 -1
- package/standalone/apps/web/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/agents.html +2 -2
- package/standalone/apps/web/.next/server/app/agents.rsc +1 -1
- package/standalone/apps/web/.next/server/app/api/agents/route.js +1 -1
- package/standalone/apps/web/.next/server/app/api/agents/route.js.nft.json +1 -1
- package/standalone/apps/web/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/api/chains/[id]/route.js +1 -1
- package/standalone/apps/web/.next/server/app/api/chains/[id]/route.js.nft.json +1 -1
- package/standalone/apps/web/.next/server/app/api/chains/[id]/route_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/api/cleanup/route.js +1 -1
- package/standalone/apps/web/.next/server/app/api/cleanup/route.js.nft.json +1 -1
- package/standalone/apps/web/.next/server/app/api/cleanup/route_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/api/config/route.js +1 -1
- package/standalone/apps/web/.next/server/app/api/config/route.js.nft.json +1 -1
- package/standalone/apps/web/.next/server/app/api/config/route_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/api/invoices/route.js +1 -1
- package/standalone/apps/web/.next/server/app/api/invoices/route.js.nft.json +1 -1
- package/standalone/apps/web/.next/server/app/api/invoices/route_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/api/judgments/route.js +1 -1
- package/standalone/apps/web/.next/server/app/api/judgments/route.js.nft.json +1 -1
- package/standalone/apps/web/.next/server/app/api/judgments/route_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/api/receipts/[id]/route.js +1 -1
- package/standalone/apps/web/.next/server/app/api/receipts/[id]/route.js.nft.json +1 -1
- package/standalone/apps/web/.next/server/app/api/receipts/[id]/route_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/api/receipts/route.js +1 -1
- package/standalone/apps/web/.next/server/app/api/receipts/route.js.nft.json +1 -1
- package/standalone/apps/web/.next/server/app/api/receipts/route_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/api/search/route.js +1 -1
- package/standalone/apps/web/.next/server/app/api/search/route.js.nft.json +1 -1
- package/standalone/apps/web/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/api/stats/route.js +1 -1
- package/standalone/apps/web/.next/server/app/api/stats/route.js.nft.json +1 -1
- package/standalone/apps/web/.next/server/app/api/stats/route_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/api/verify/route.js +1 -1
- package/standalone/apps/web/.next/server/app/api/verify/route.js.nft.json +1 -1
- package/standalone/apps/web/.next/server/app/api/verify/route_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/chains/[id]/page_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/chains/page_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/chains.html +2 -2
- package/standalone/apps/web/.next/server/app/chains.rsc +2 -2
- package/standalone/apps/web/.next/server/app/constraints/page_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/constraints.html +2 -2
- package/standalone/apps/web/.next/server/app/constraints.rsc +2 -2
- package/standalone/apps/web/.next/server/app/index.html +2 -2
- package/standalone/apps/web/.next/server/app/index.rsc +1 -1
- package/standalone/apps/web/.next/server/app/invoices/page_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/invoices.html +2 -2
- package/standalone/apps/web/.next/server/app/invoices.rsc +1 -1
- package/standalone/apps/web/.next/server/app/judgments/page_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/judgments.html +2 -2
- package/standalone/apps/web/.next/server/app/judgments.rsc +2 -2
- package/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/receipts/[id]/page_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/receipts/page.js +1 -1
- package/standalone/apps/web/.next/server/app/receipts/page_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/receipts.html +2 -2
- package/standalone/apps/web/.next/server/app/receipts.rsc +2 -2
- package/standalone/apps/web/.next/server/app/settings/page.js +1 -1
- package/standalone/apps/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/settings.html +2 -2
- package/standalone/apps/web/.next/server/app/settings.rsc +2 -2
- package/standalone/apps/web/.next/server/app/verify/page_client-reference-manifest.js +1 -1
- package/standalone/apps/web/.next/server/app/verify.html +2 -2
- package/standalone/apps/web/.next/server/app/verify.rsc +1 -1
- package/standalone/apps/web/.next/server/app-paths-manifest.json +10 -10
- package/standalone/apps/web/.next/server/chunks/196.js +1 -0
- package/standalone/apps/web/.next/server/chunks/615.js +189 -0
- package/standalone/apps/web/.next/server/pages/404.html +2 -2
- package/standalone/apps/web/.next/server/pages/500.html +1 -1
- package/standalone/apps/web/.next/server/pages/_error.js +2 -2
- package/standalone/apps/web/.next/server/pages-manifest.json +1 -1
- package/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
- package/standalone/apps/web/.next/static/chunks/app/agents/[id]/{page-6072c54c4f907f32.js → page-c0e1718cad311434.js} +1 -1
- package/standalone/apps/web/.next/static/chunks/app/chains/{page-69ef1e730d961039.js → page-d0b634ca7d0aa92d.js} +1 -1
- package/standalone/apps/web/.next/static/chunks/app/constraints/{page-05d35b57f9c424db.js → page-6baf6f176d4a9e3d.js} +1 -1
- package/standalone/apps/web/.next/static/chunks/app/judgments/{page-9715df3ce30f24c0.js → page-22c741e87fc41908.js} +1 -1
- package/standalone/apps/web/.next/static/chunks/app/receipts/{page-a788cdbaf3879d37.js → page-ef79c1140a9c42e6.js} +1 -1
- package/standalone/apps/web/.next/static/chunks/app/settings/{page-154ca65062c2628d.js → page-8f1d3f326821cc04.js} +1 -1
- package/standalone/node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/package.json +0 -0
- package/standalone/packages/crypto/package.json +1 -1
- package/standalone/packages/mcp-server/package.json +4 -2
- package/standalone/apps/web/.next/server/chunks/350.js +0 -134
- package/standalone/apps/web/.next/server/chunks/998.js +0 -1
- /package/standalone/apps/web/.next/static/{XRffp10LMCCMingivp622 → PR01YFr8r3jMbfS8pPz1u}/_buildManifest.js +0 -0
- /package/standalone/apps/web/.next/static/{XRffp10LMCCMingivp622 → PR01YFr8r3jMbfS8pPz1u}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[413],{1082:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]])},4627:(e,t,s)=>{"use strict";s.d(t,{b:()=>o});var a=s(88111),n=s(96741),r=s(11063);let c=(0,r.A)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),i=(0,r.A)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),l=(0,r.A)("ArrowUpDown",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);function o(e){let{columns:t,data:s,sortField:r,sortDir:o,onSort:d,onRowClick:u,rowKey:m,className:h}=e;return(0,a.jsx)("div",{className:(0,n.cn)("card overflow-hidden",h),children:(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full text-sm",children:[(0,a.jsx)("thead",{children:(0,a.jsx)("tr",{className:"border-b border-border bg-bg-secondary",children:t.map(e=>(0,a.jsx)("th",{className:(0,n.cn)("px-4 py-3 text-left text-xs font-medium text-text-muted uppercase tracking-wider whitespace-nowrap",e.sortable&&"cursor-pointer select-none hover:text-text-secondary",e.className),onClick:e.sortable&&d?()=>d(e.key):void 0,children:(0,a.jsxs)("span",{className:"inline-flex items-center gap-1",children:[e.label,e.sortable&&(r===e.key?"asc"===o?(0,a.jsx)(c,{className:"w-3 h-3"}):(0,a.jsx)(i,{className:"w-3 h-3"}):(0,a.jsx)(l,{className:"w-3 h-3 opacity-30"}))]})},e.key))})}),(0,a.jsx)("tbody",{className:"divide-y divide-border-subtle",children:s.map(e=>(0,a.jsx)("tr",{className:(0,n.cn)("transition-colors",u&&"cursor-pointer hover:bg-bg-secondary"),onClick:u?()=>u(e):void 0,children:t.map(t=>(0,a.jsx)("td",{className:(0,n.cn)("px-4 py-3 whitespace-nowrap",t.className),children:t.render(e)},t.key))},m(e)))})]})})})}},4736:(e,t,s)=>{"use strict";var a=s(11504);s.o(a,"usePathname")&&s.d(t,{usePathname:function(){return a.usePathname}}),s.o(a,"useRouter")&&s.d(t,{useRouter:function(){return a.useRouter}}),s.o(a,"useSearchParams")&&s.d(t,{useSearchParams:function(){return a.useSearchParams}})},19593:(e,t,s)=>{"use strict";s.d(t,{d:()=>i});var a=s(88111),n=s(30417),r=s(28826),c=s(96741);function i(e){let{page:t,totalPages:s,onPageChange:i,className:l}=e;if(s<=1)return null;let o=[];if(s<=7)for(let e=1;e<=s;e++)o.push(e);else{o.push(1),t>3&&o.push("ellipsis");for(let e=Math.max(2,t-1);e<=Math.min(s-1,t+1);e++)o.push(e);t<s-2&&o.push("ellipsis"),o.push(s)}return(0,a.jsxs)("div",{className:(0,c.cn)("flex items-center justify-center gap-1",l),children:[(0,a.jsx)("button",{onClick:()=>i(t-1),disabled:t<=1,className:"p-2 rounded-md text-text-muted hover:bg-bg-tertiary disabled:opacity-30 disabled:cursor-not-allowed transition-colors",children:(0,a.jsx)(n.A,{className:"w-4 h-4"})}),o.map((e,s)=>"ellipsis"===e?(0,a.jsx)("span",{className:"px-2 text-text-muted",children:"..."},"e".concat(s)):(0,a.jsx)("button",{onClick:()=>i(e),className:(0,c.cn)("px-3 py-1 rounded-md text-sm transition-colors",e===t?"bg-primary text-white font-medium":"text-text-secondary hover:bg-bg-tertiary"),children:e},e)),(0,a.jsx)("button",{onClick:()=>i(t+1),disabled:t>=s,className:"p-2 rounded-md text-text-muted hover:bg-bg-tertiary disabled:opacity-30 disabled:cursor-not-allowed transition-colors",children:(0,a.jsx)(r.A,{className:"w-4 h-4"})})]})}},23176:(e,t,s)=>{"use strict";async function a(e,t){let s=await fetch(e,t);if(!s.ok){let e=await s.text().catch(()=>"Unknown error");throw Error("API error ".concat(s.status,": ").concat(e))}return s.json()}function n(e){let t=new URLSearchParams;for(let[s,a]of Object.entries(e))void 0!==a&&""!==a&&t.set(s,String(a));let s=t.toString();return s?"?".concat(s):""}async function r(){return a("/api/stats")}async function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/receipts".concat(n(e)))}async function i(e){return a("/api/receipts/".concat(e))}async function l(e){return a("/api/chains/".concat(e))}async function o(){return a("/api/agents")}async function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/judgments".concat(n(e)))}async function u(e,t){return a("/api/verify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({receipt:e,public_key:t})})}async function m(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return a("/api/cleanup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dry_run:e})})}async function h(){return a("/api/config")}async function x(e){return a("/api/config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function p(e){return a("/api/search".concat(n({q:e})))}async function f(e){return a("/api/invoices",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}s.d(t,{$Q:()=>p,Dz:()=>h,Go:()=>n,Jq:()=>f,Kt:()=>m,Lx:()=>i,MJ:()=>d,YK:()=>r,_R:()=>x,o3:()=>u,oN:()=>l,pQ:()=>o,qb:()=>c})},28826:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},30417:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},44632:(e,t,s)=>{"use strict";s.d(t,{p:()=>c});var a=s(88111),n=s(96741),r=s(1082);function c(e){let{icon:t=r.A,title:s,description:c,action:i,className:l}=e;return(0,a.jsxs)("div",{className:(0,n.cn)("flex flex-col items-center justify-center py-16 text-center",l),children:[(0,a.jsx)(t,{className:"w-12 h-12 text-text-muted mb-4"}),(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary mb-1",children:s}),c&&(0,a.jsx)("p",{className:"text-sm text-text-muted max-w-sm",children:c}),i&&(0,a.jsx)("div",{className:"mt-4",children:i})]})}},46233:(e,t,s)=>{"use strict";s.d(t,{W:()=>c});var a=s(88111),n=s(94745),r=s(96741);function c(e){let{message:t="Something went wrong",onRetry:s,className:c}=e;return(0,a.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center justify-center py-16 text-center",c),children:[(0,a.jsx)(n.A,{className:"w-12 h-12 text-danger mb-4"}),(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary mb-1",children:"Error"}),(0,a.jsx)("p",{className:"text-sm text-text-muted max-w-sm mb-4",children:t}),s&&(0,a.jsx)("button",{onClick:s,className:"px-4 py-2 text-sm font-medium bg-primary text-white rounded-md hover:bg-primary-hover transition-colors",children:"Retry"})]})}},47126:(e,t,s)=>{"use strict";s.d(t,{f:()=>c});var a=s(88111),n=s(62455),r=s(96741);function c(e){let{date:t,className:s}=e;return(0,a.jsx)("time",{dateTime:t,title:(0,n.Yq)(t),className:(0,r.cn)("text-text-secondary",s),children:(0,n.fF)(t)})}},51449:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Link2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]])},61974:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>y});var a=s(88111),n=s(55271),r=s(4736),c=s(23176),i=s(4627),l=s(19593),o=s(44632),d=s(46233),u=s(66187),m=s(47126),h=s(96450),x=s(62455),p=s(51449);function f(){var e;let t=(0,r.useRouter)(),s=parseInt(null!=(e=(0,r.useSearchParams)().get("page"))?e:"1",10),[f,y]=(0,n.useState)([]),[g,j]=(0,n.useState)(!0),[b,N]=(0,n.useState)(null);(0,n.useEffect)(()=>{!async function(){j(!0);try{let e=await (0,c.qb)({limit:1e5}),t=new Map;for(let s of e.data){let e=s.chain_id;e&&(t.has(e)||t.set(e,{receipts:[]}),t.get(e).receipts.push(s))}let s=[];for(let[e,{receipts:a}]of t){if(a.length<=1)continue;let t=[...new Set(a.map(e=>e.agent_id))],n=a.map(e=>new Date(e.timestamp).getTime()),r=a.filter(e=>e.completed_at).map(e=>new Date(e.completed_at).getTime()),c=new Date(Math.min(...n)).toISOString(),i=(r.length>0?Math.max(...r):Math.max(...n))-Math.min(...n),l=0,o=0;for(let e of a){let t=e.constraint_result;t&&"boolean"==typeof t.passed&&(l++,t.passed&&o++)}s.push({chain_id:e,receipt_count:a.length,agents:t,started:c,duration_ms:i,total_cost:a.reduce((e,t)=>{var s;return e+(null!=(s=t.cost_usd)?s:0)},0),all_completed:a.every(e=>"completed"===e.status),has_failures:a.some(e=>"failed"===e.status||"timeout"===e.status),constraint_evaluated:l,constraint_passed:o})}s.sort((e,t)=>t.started.localeCompare(e.started)),y(s)}catch(e){N(e instanceof Error?e.message:"Failed to load chains")}finally{j(!1)}}()},[]);let v=Math.max(1,Math.ceil(f.length/50)),w=f.slice((s-1)*50,50*s),k=[{key:"chain_id",label:"Chain ID",render:e=>(0,a.jsx)("code",{className:"font-mono text-xs text-primary",children:(0,x.Ct)(e.chain_id)})},{key:"receipt_count",label:"Receipts",render:e=>(0,a.jsx)("span",{className:"text-sm",children:e.receipt_count})},{key:"agents",label:"Agents",render:e=>(0,a.jsx)("span",{className:"text-xs text-text-secondary",children:e.agents.join(", ")})},{key:"started",label:"Started",render:e=>(0,a.jsx)(m.f,{date:e.started,className:"text-xs"})},{key:"duration_ms",label:"Duration",render:e=>(0,a.jsx)("span",{className:"text-xs text-text-secondary",children:(0,x.a3)(e.duration_ms)})},{key:"status",label:"Status",render:e=>(0,a.jsx)("span",{className:"text-xs font-medium ".concat(e.has_failures?"text-danger":e.all_completed?"text-success":"text-warning"),children:e.has_failures?"Has Failures":e.all_completed?"Completed":"In Progress"})},{key:"constraints",label:"Constraints",render:e=>e.constraint_evaluated>0?(0,a.jsx)(h.L,{passed:e.constraint_passed,total:e.constraint_evaluated}):(0,a.jsx)("span",{className:"text-text-muted text-xs",children:"—"})},{key:"cost",label:"Cost",render:e=>(0,a.jsx)("span",{className:"text-xs text-text-secondary",children:(0,x.vv)(e.total_cost)})}];return b?(0,a.jsx)(d.W,{message:b}):g?(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("h1",{className:"text-lg font-semibold",children:"Chains"}),(0,a.jsx)(u.F6,{rows:8})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("h1",{className:"text-lg font-semibold text-text-primary",children:"Chains"}),(0,a.jsxs)("span",{className:"text-sm text-text-muted",children:[f.length," chains"]})]}),0===f.length?(0,a.jsx)(o.p,{icon:p.A,title:"No chains found",description:"Chains are created when receipts share a chain_id"}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.b,{columns:k,data:w,onRowClick:e=>t.push("/chains/".concat(e.chain_id)),rowKey:e=>e.chain_id}),(0,a.jsx)(l.d,{page:s,totalPages:v,onPageChange:e=>t.push("/chains?page=".concat(e))})]})]})}function y(){return(0,a.jsx)(n.Suspense,{fallback:(0,a.jsx)(u.F6,{rows:8}),children:(0,a.jsx)(f,{})})}},62455:(e,t,s)=>{"use strict";function a(e){let t="string"==typeof e?new Date(e):e,s=new Date().getTime()-t.getTime();if(s<0)return"just now";let a=Math.floor(s/1e3);if(a<60)return"".concat(a,"s ago");let n=Math.floor(a/60);if(n<60)return"".concat(n," min ago");let r=Math.floor(n/60);if(r<24)return"".concat(r," hr ago");let c=Math.floor(r/24);if(c<30)return"".concat(c,"d ago");let i=Math.floor(c/30);return"".concat(i,"mo ago")}function n(e){return null==e?"—":e<1e3?"".concat(e,"ms"):"".concat((e/1e3).toFixed(1),"s")}function r(e){return null==e?"—":0===e?"$0.00":e<.01?"$".concat(e.toFixed(4)):"$".concat(e.toFixed(2))}function c(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function l(e){return e.toLocaleString("en-US")}function o(e){return"".concat((100*e).toFixed(1),"%")}function d(e){return("string"==typeof e?new Date(e):e).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})}s.d(t,{Ct:()=>c,Yq:()=>d,ZV:()=>l,a3:()=>n,fF:()=>a,l9:()=>o,lV:()=>i,vv:()=>r})},66187:(e,t,s)=>{"use strict";s.d(t,{AV:()=>l,Eg:()=>c,F6:()=>i,O0:()=>r});var a=s(88111),n=s(96741);function r(e){let{className:t}=e;return(0,a.jsx)("div",{className:(0,n.cn)("animate-pulse bg-bg-tertiary rounded",t)})}function c(e){let{count:t=6}=e;return(0,a.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4",children:Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"card p-4",children:[(0,a.jsx)(r,{className:"h-3 w-16 mb-3"}),(0,a.jsx)(r,{className:"h-7 w-20"})]},t))})}function i(e){let{rows:t=5}=e;return(0,a.jsxs)("div",{className:"card overflow-hidden",children:[(0,a.jsx)("div",{className:"border-b border-border p-3",children:(0,a.jsx)(r,{className:"h-4 w-48"})}),Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center gap-4 p-3 border-b border-border-subtle last:border-0",children:[(0,a.jsx)(r,{className:"h-4 w-24"}),(0,a.jsx)(r,{className:"h-4 w-32"}),(0,a.jsx)(r,{className:"h-4 w-20"}),(0,a.jsx)(r,{className:"h-4 w-16 ml-auto"})]},t))]})}function l(){return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)(r,{className:"h-8 w-48"}),(0,a.jsx)(c,{}),(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[(0,a.jsx)(i,{}),(0,a.jsx)(i,{})]})]})}},94745:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},96450:(e,t,s)=>{"use strict";s.d(t,{L:()=>r});var a=s(88111),n=s(96741);function r(e){let{passed:t,total:s,className:r}=e;if(0===s)return(0,a.jsx)("span",{className:"text-text-muted text-xs",children:"—"});let c=t===s;return(0,a.jsxs)("span",{className:(0,n.cn)("inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium",c?"bg-success-subtle text-success":"bg-danger-subtle text-danger",r),children:[t,"/",s," ",c?"✓":"✗"]})}},96741:(e,t,s)=>{"use strict";s.d(t,{cn:()=>r});var a=s(55242),n=s(13065);function r(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return(0,n.QP)((0,a.$)(t))}},96809:(e,t,s)=>{Promise.resolve().then(s.bind(s,61974))}},e=>{e.O(0,[702,814,743,358],()=>e(e.s=96809)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[413],{1082:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]])},4627:(e,t,s)=>{"use strict";s.d(t,{b:()=>o});var a=s(88111),n=s(96741),r=s(11063);let c=(0,r.A)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),i=(0,r.A)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),l=(0,r.A)("ArrowUpDown",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);function o(e){let{columns:t,data:s,sortField:r,sortDir:o,onSort:d,onRowClick:u,rowKey:m,className:h}=e;return(0,a.jsx)("div",{className:(0,n.cn)("card overflow-hidden",h),children:(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full text-sm",children:[(0,a.jsx)("thead",{children:(0,a.jsx)("tr",{className:"border-b border-border bg-bg-secondary",children:t.map(e=>(0,a.jsx)("th",{className:(0,n.cn)("px-4 py-3 text-left text-xs font-medium text-text-muted uppercase tracking-wider whitespace-nowrap",e.sortable&&"cursor-pointer select-none hover:text-text-secondary",e.className),onClick:e.sortable&&d?()=>d(e.key):void 0,children:(0,a.jsxs)("span",{className:"inline-flex items-center gap-1",children:[e.label,e.sortable&&(r===e.key?"asc"===o?(0,a.jsx)(c,{className:"w-3 h-3"}):(0,a.jsx)(i,{className:"w-3 h-3"}):(0,a.jsx)(l,{className:"w-3 h-3 opacity-30"}))]})},e.key))})}),(0,a.jsx)("tbody",{className:"divide-y divide-border-subtle",children:s.map(e=>(0,a.jsx)("tr",{className:(0,n.cn)("transition-colors",u&&"cursor-pointer hover:bg-bg-secondary"),onClick:u?()=>u(e):void 0,children:t.map(t=>(0,a.jsx)("td",{className:(0,n.cn)("px-4 py-3 whitespace-nowrap",t.className),children:t.render(e)},t.key))},m(e)))})]})})})}},4736:(e,t,s)=>{"use strict";var a=s(11504);s.o(a,"usePathname")&&s.d(t,{usePathname:function(){return a.usePathname}}),s.o(a,"useRouter")&&s.d(t,{useRouter:function(){return a.useRouter}}),s.o(a,"useSearchParams")&&s.d(t,{useSearchParams:function(){return a.useSearchParams}})},19593:(e,t,s)=>{"use strict";s.d(t,{d:()=>i});var a=s(88111),n=s(30417),r=s(28826),c=s(96741);function i(e){let{page:t,totalPages:s,onPageChange:i,className:l}=e;if(s<=1)return null;let o=[];if(s<=7)for(let e=1;e<=s;e++)o.push(e);else{o.push(1),t>3&&o.push("ellipsis");for(let e=Math.max(2,t-1);e<=Math.min(s-1,t+1);e++)o.push(e);t<s-2&&o.push("ellipsis"),o.push(s)}return(0,a.jsxs)("div",{className:(0,c.cn)("flex items-center justify-center gap-1",l),children:[(0,a.jsx)("button",{onClick:()=>i(t-1),disabled:t<=1,className:"p-2 rounded-md text-text-muted hover:bg-bg-tertiary disabled:opacity-30 disabled:cursor-not-allowed transition-colors",children:(0,a.jsx)(n.A,{className:"w-4 h-4"})}),o.map((e,s)=>"ellipsis"===e?(0,a.jsx)("span",{className:"px-2 text-text-muted",children:"..."},"e".concat(s)):(0,a.jsx)("button",{onClick:()=>i(e),className:(0,c.cn)("px-3 py-1 rounded-md text-sm transition-colors",e===t?"bg-primary text-white font-medium":"text-text-secondary hover:bg-bg-tertiary"),children:e},e)),(0,a.jsx)("button",{onClick:()=>i(t+1),disabled:t>=s,className:"p-2 rounded-md text-text-muted hover:bg-bg-tertiary disabled:opacity-30 disabled:cursor-not-allowed transition-colors",children:(0,a.jsx)(r.A,{className:"w-4 h-4"})})]})}},23176:(e,t,s)=>{"use strict";async function a(e,t){let s=await fetch(e,t);if(!s.ok){let e=await s.text().catch(()=>"Unknown error");throw Error("API error ".concat(s.status,": ").concat(e))}return s.json()}function n(e){let t=new URLSearchParams;for(let[s,a]of Object.entries(e))void 0!==a&&""!==a&&t.set(s,String(a));let s=t.toString();return s?"?".concat(s):""}async function r(){return a("/api/stats")}async function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/receipts".concat(n(e)))}async function i(e){return a("/api/receipts/".concat(e))}async function l(e){return a("/api/chains/".concat(e))}async function o(){return a("/api/agents")}async function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/judgments".concat(n(e)))}async function u(e,t){return a("/api/verify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({receipt:e,public_key:t})})}async function m(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return a("/api/cleanup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dry_run:e})})}async function h(){return a("/api/config")}async function x(e){return a("/api/config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function p(e){return a("/api/search".concat(n({q:e})))}async function f(e){return a("/api/invoices",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}s.d(t,{$Q:()=>p,Dz:()=>h,Go:()=>n,Jq:()=>f,Kt:()=>m,Lx:()=>i,MJ:()=>d,YK:()=>r,_R:()=>x,o3:()=>u,oN:()=>l,pQ:()=>o,qb:()=>c})},28826:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},30417:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},44632:(e,t,s)=>{"use strict";s.d(t,{p:()=>c});var a=s(88111),n=s(96741),r=s(1082);function c(e){let{icon:t=r.A,title:s,description:c,action:i,className:l}=e;return(0,a.jsxs)("div",{className:(0,n.cn)("flex flex-col items-center justify-center py-16 text-center",l),children:[(0,a.jsx)(t,{className:"w-12 h-12 text-text-muted mb-4"}),(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary mb-1",children:s}),c&&(0,a.jsx)("p",{className:"text-sm text-text-muted max-w-sm",children:c}),i&&(0,a.jsx)("div",{className:"mt-4",children:i})]})}},46233:(e,t,s)=>{"use strict";s.d(t,{W:()=>c});var a=s(88111),n=s(94745),r=s(96741);function c(e){let{message:t="Something went wrong",onRetry:s,className:c}=e;return(0,a.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center justify-center py-16 text-center",c),children:[(0,a.jsx)(n.A,{className:"w-12 h-12 text-danger mb-4"}),(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary mb-1",children:"Error"}),(0,a.jsx)("p",{className:"text-sm text-text-muted max-w-sm mb-4",children:t}),s&&(0,a.jsx)("button",{onClick:s,className:"px-4 py-2 text-sm font-medium bg-primary text-white rounded-md hover:bg-primary-hover transition-colors",children:"Retry"})]})}},47126:(e,t,s)=>{"use strict";s.d(t,{f:()=>c});var a=s(88111),n=s(62455),r=s(96741);function c(e){let{date:t,className:s}=e;return(0,a.jsx)("time",{dateTime:t,title:(0,n.Yq)(t),className:(0,r.cn)("text-text-secondary",s),children:(0,n.fF)(t)})}},51449:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Link2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]])},61974:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>y});var a=s(88111),n=s(55271),r=s(4736),c=s(23176),i=s(4627),l=s(19593),o=s(44632),d=s(46233),u=s(66187),m=s(47126),h=s(96450),x=s(62455),p=s(51449);function f(){var e;let t=(0,r.useRouter)(),s=parseInt(null!=(e=(0,r.useSearchParams)().get("page"))?e:"1",10),[f,y]=(0,n.useState)([]),[g,j]=(0,n.useState)(!0),[b,N]=(0,n.useState)(null);(0,n.useEffect)(()=>{!async function(){j(!0);try{let e=await (0,c.qb)({limit:1e4}),t=new Map;for(let s of e.data){let e=s.chain_id;e&&(t.has(e)||t.set(e,{receipts:[]}),t.get(e).receipts.push(s))}let s=[];for(let[e,{receipts:a}]of t){if(a.length<=1)continue;let t=[...new Set(a.map(e=>e.agent_id))],n=a.map(e=>new Date(e.timestamp).getTime()),r=a.filter(e=>e.completed_at).map(e=>new Date(e.completed_at).getTime()),c=new Date(Math.min(...n)).toISOString(),i=(r.length>0?Math.max(...r):Math.max(...n))-Math.min(...n),l=0,o=0;for(let e of a){let t=e.constraint_result;t&&"boolean"==typeof t.passed&&(l++,t.passed&&o++)}s.push({chain_id:e,receipt_count:a.length,agents:t,started:c,duration_ms:i,total_cost:a.reduce((e,t)=>{var s;return e+(null!=(s=t.cost_usd)?s:0)},0),all_completed:a.every(e=>"completed"===e.status),has_failures:a.some(e=>"failed"===e.status||"timeout"===e.status),constraint_evaluated:l,constraint_passed:o})}s.sort((e,t)=>t.started.localeCompare(e.started)),y(s)}catch(e){N(e instanceof Error?e.message:"Failed to load chains")}finally{j(!1)}}()},[]);let v=Math.max(1,Math.ceil(f.length/50)),w=f.slice((s-1)*50,50*s),k=[{key:"chain_id",label:"Chain ID",render:e=>(0,a.jsx)("code",{className:"font-mono text-xs text-primary",children:(0,x.Ct)(e.chain_id)})},{key:"receipt_count",label:"Receipts",render:e=>(0,a.jsx)("span",{className:"text-sm",children:e.receipt_count})},{key:"agents",label:"Agents",render:e=>(0,a.jsx)("span",{className:"text-xs text-text-secondary",children:e.agents.join(", ")})},{key:"started",label:"Started",render:e=>(0,a.jsx)(m.f,{date:e.started,className:"text-xs"})},{key:"duration_ms",label:"Duration",render:e=>(0,a.jsx)("span",{className:"text-xs text-text-secondary",children:(0,x.a3)(e.duration_ms)})},{key:"status",label:"Status",render:e=>(0,a.jsx)("span",{className:"text-xs font-medium ".concat(e.has_failures?"text-danger":e.all_completed?"text-success":"text-warning"),children:e.has_failures?"Has Failures":e.all_completed?"Completed":"In Progress"})},{key:"constraints",label:"Constraints",render:e=>e.constraint_evaluated>0?(0,a.jsx)(h.L,{passed:e.constraint_passed,total:e.constraint_evaluated}):(0,a.jsx)("span",{className:"text-text-muted text-xs",children:"—"})},{key:"cost",label:"Cost",render:e=>(0,a.jsx)("span",{className:"text-xs text-text-secondary",children:(0,x.vv)(e.total_cost)})}];return b?(0,a.jsx)(d.W,{message:b}):g?(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("h1",{className:"text-lg font-semibold",children:"Chains"}),(0,a.jsx)(u.F6,{rows:8})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("h1",{className:"text-lg font-semibold text-text-primary",children:"Chains"}),(0,a.jsxs)("span",{className:"text-sm text-text-muted",children:[f.length," chains"]})]}),0===f.length?(0,a.jsx)(o.p,{icon:p.A,title:"No chains found",description:"Chains are created when receipts share a chain_id"}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.b,{columns:k,data:w,onRowClick:e=>t.push("/chains/".concat(e.chain_id)),rowKey:e=>e.chain_id}),(0,a.jsx)(l.d,{page:s,totalPages:v,onPageChange:e=>t.push("/chains?page=".concat(e))})]})]})}function y(){return(0,a.jsx)(n.Suspense,{fallback:(0,a.jsx)(u.F6,{rows:8}),children:(0,a.jsx)(f,{})})}},62455:(e,t,s)=>{"use strict";function a(e){let t="string"==typeof e?new Date(e):e,s=new Date().getTime()-t.getTime();if(s<0)return"just now";let a=Math.floor(s/1e3);if(a<60)return"".concat(a,"s ago");let n=Math.floor(a/60);if(n<60)return"".concat(n," min ago");let r=Math.floor(n/60);if(r<24)return"".concat(r," hr ago");let c=Math.floor(r/24);if(c<30)return"".concat(c,"d ago");let i=Math.floor(c/30);return"".concat(i,"mo ago")}function n(e){return null==e?"—":e<1e3?"".concat(e,"ms"):"".concat((e/1e3).toFixed(1),"s")}function r(e){return null==e?"—":0===e?"$0.00":e<.01?"$".concat(e.toFixed(4)):"$".concat(e.toFixed(2))}function c(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function l(e){return e.toLocaleString("en-US")}function o(e){return"".concat((100*e).toFixed(1),"%")}function d(e){return("string"==typeof e?new Date(e):e).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})}s.d(t,{Ct:()=>c,Yq:()=>d,ZV:()=>l,a3:()=>n,fF:()=>a,l9:()=>o,lV:()=>i,vv:()=>r})},66187:(e,t,s)=>{"use strict";s.d(t,{AV:()=>l,Eg:()=>c,F6:()=>i,O0:()=>r});var a=s(88111),n=s(96741);function r(e){let{className:t}=e;return(0,a.jsx)("div",{className:(0,n.cn)("animate-pulse bg-bg-tertiary rounded",t)})}function c(e){let{count:t=6}=e;return(0,a.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4",children:Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"card p-4",children:[(0,a.jsx)(r,{className:"h-3 w-16 mb-3"}),(0,a.jsx)(r,{className:"h-7 w-20"})]},t))})}function i(e){let{rows:t=5}=e;return(0,a.jsxs)("div",{className:"card overflow-hidden",children:[(0,a.jsx)("div",{className:"border-b border-border p-3",children:(0,a.jsx)(r,{className:"h-4 w-48"})}),Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center gap-4 p-3 border-b border-border-subtle last:border-0",children:[(0,a.jsx)(r,{className:"h-4 w-24"}),(0,a.jsx)(r,{className:"h-4 w-32"}),(0,a.jsx)(r,{className:"h-4 w-20"}),(0,a.jsx)(r,{className:"h-4 w-16 ml-auto"})]},t))]})}function l(){return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)(r,{className:"h-8 w-48"}),(0,a.jsx)(c,{}),(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[(0,a.jsx)(i,{}),(0,a.jsx)(i,{})]})]})}},94745:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},96450:(e,t,s)=>{"use strict";s.d(t,{L:()=>r});var a=s(88111),n=s(96741);function r(e){let{passed:t,total:s,className:r}=e;if(0===s)return(0,a.jsx)("span",{className:"text-text-muted text-xs",children:"—"});let c=t===s;return(0,a.jsxs)("span",{className:(0,n.cn)("inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium",c?"bg-success-subtle text-success":"bg-danger-subtle text-danger",r),children:[t,"/",s," ",c?"✓":"✗"]})}},96741:(e,t,s)=>{"use strict";s.d(t,{cn:()=>r});var a=s(55242),n=s(13065);function r(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return(0,n.QP)((0,a.$)(t))}},96809:(e,t,s)=>{Promise.resolve().then(s.bind(s,61974))}},e=>{e.O(0,[702,814,743,358],()=>e(e.s=96809)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[385],{1082:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]])},14613:(e,t,s)=>{Promise.resolve().then(s.bind(s,54634))},23176:(e,t,s)=>{"use strict";async function a(e,t){let s=await fetch(e,t);if(!s.ok){let e=await s.text().catch(()=>"Unknown error");throw Error("API error ".concat(s.status,": ").concat(e))}return s.json()}function n(e){let t=new URLSearchParams;for(let[s,a]of Object.entries(e))void 0!==a&&""!==a&&t.set(s,String(a));let s=t.toString();return s?"?".concat(s):""}async function r(){return a("/api/stats")}async function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/receipts".concat(n(e)))}async function i(e){return a("/api/receipts/".concat(e))}async function l(e){return a("/api/chains/".concat(e))}async function d(){return a("/api/agents")}async function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/judgments".concat(n(e)))}async function x(e,t){return a("/api/verify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({receipt:e,public_key:t})})}async function u(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return a("/api/cleanup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dry_run:e})})}async function m(){return a("/api/config")}async function p(e){return a("/api/config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function h(e){return a("/api/search".concat(n({q:e})))}async function f(e){return a("/api/invoices",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}s.d(t,{$Q:()=>h,Dz:()=>m,Go:()=>n,Jq:()=>f,Kt:()=>u,Lx:()=>i,MJ:()=>o,YK:()=>r,_R:()=>p,o3:()=>x,oN:()=>l,pQ:()=>d,qb:()=>c})},24158:(e,t,s)=>{"use strict";s.d(t,{h:()=>r});var a=s(88111),n=s(96741);function r(e){let{label:t,value:s,icon:r,trend:c,className:i}=e;return(0,a.jsxs)("div",{className:(0,n.cn)("card p-4",i),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,a.jsx)("span",{className:"text-xs font-medium text-text-muted uppercase tracking-wider",children:t}),r&&(0,a.jsx)(r,{className:"w-4 h-4 text-text-muted"})]}),(0,a.jsx)("div",{className:"text-2xl font-semibold text-text-primary",children:s}),c&&(0,a.jsxs)("div",{className:"mt-1 text-xs",children:[(0,a.jsxs)("span",{className:(0,n.cn)(c.value>=0?"text-success":"text-danger"),children:[c.value>=0?"+":"",c.value,"%"]}),(0,a.jsx)("span",{className:"text-text-muted ml-1",children:c.label})]})]})}},43407:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]])},44632:(e,t,s)=>{"use strict";s.d(t,{p:()=>c});var a=s(88111),n=s(96741),r=s(1082);function c(e){let{icon:t=r.A,title:s,description:c,action:i,className:l}=e;return(0,a.jsxs)("div",{className:(0,n.cn)("flex flex-col items-center justify-center py-16 text-center",l),children:[(0,a.jsx)(t,{className:"w-12 h-12 text-text-muted mb-4"}),(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary mb-1",children:s}),c&&(0,a.jsx)("p",{className:"text-sm text-text-muted max-w-sm",children:c}),i&&(0,a.jsx)("div",{className:"mt-4",children:i})]})}},46233:(e,t,s)=>{"use strict";s.d(t,{W:()=>c});var a=s(88111),n=s(94745),r=s(96741);function c(e){let{message:t="Something went wrong",onRetry:s,className:c}=e;return(0,a.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center justify-center py-16 text-center",c),children:[(0,a.jsx)(n.A,{className:"w-12 h-12 text-danger mb-4"}),(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary mb-1",children:"Error"}),(0,a.jsx)("p",{className:"text-sm text-text-muted max-w-sm mb-4",children:t}),s&&(0,a.jsx)("button",{onClick:s,className:"px-4 py-2 text-sm font-medium bg-primary text-white rounded-md hover:bg-primary-hover transition-colors",children:"Retry"})]})}},54634:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>A});var a=s(88111),n=s(55271),r=s(55935),c=s.n(r),i=s(23176),l=s(24158),d=s(68013),o=s(46233),x=s(44632),u=s(66187),m=s(62455),p=s(84109),h=s(83067),f=s(43407),y=s(11063);let g=(0,y.A)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),b=(0,y.A)("ChartColumn",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);var j=s(1276),v=s(381),N=s(56570),w=s(65937),k=s(54790),S=s(94920),_=s(81469);function A(){var e;let[t,s]=(0,n.useState)(!0),[r,y]=(0,n.useState)(null),[A,M]=(0,n.useState)(0),[C,T]=(0,n.useState)(0),[F,P]=(0,n.useState)(0),[O,V]=(0,n.useState)("—"),[E,R]=(0,n.useState)([]),[Z,z]=(0,n.useState)([]),[U,q]=(0,n.useState)([]);return((0,n.useEffect)(()=>{!async function(){try{var e,t;let s=(await (0,i.qb)({limit:1e5})).data,a=new Map,n=new Map,r=0,c=0,l=new Date,d=new Map;for(let e=13;e>=0;e--){let t=new Date(l.getTime()-24*e*36e5);d.set(t.toISOString().slice(0,10),{passed:0,total:0})}for(let e of s){let t=e.constraint_result;if(!t||!Array.isArray(t.results))continue;r++,t.passed&&c++;let s=e.timestamp.slice(0,10);if(d.has(s)){let e=d.get(s);e.total++,t.passed&&e.passed++}for(let s of t.results){a.has(s.type)||a.set(s.type,{used:0,passed:0,failed:0});let t=a.get(s.type);if(t.used++,s.passed)t.passed++;else{t.failed++;let a="".concat(s.type,"|").concat(e.agent_id,"|").concat(e.action);n.has(a)||n.set(a,{type:s.type,agent:e.agent_id,action:e.action,count:0}),n.get(a).count++}}}M(r),T(r>0?c/r:1),P(r-c);let o=Array.from(a.entries()).map(e=>{let[t,s]=e;return{type:t,...s}}).sort((e,t)=>t.used-e.used);R(o),V(null!=(t=null==(e=o[0])?void 0:e.type)?t:"—"),z(Array.from(n.values()).sort((e,t)=>t.count-e.count).slice(0,10)),q(Array.from(d.entries()).map(e=>{let[t,s]=e;return{date:t,pass_rate:s.total>0?s.passed/s.total*100:100}}))}catch(e){y(e instanceof Error?e.message:"Failed to load")}finally{s(!1)}}()},[]),r)?(0,a.jsx)(o.W,{message:r}):t?(0,a.jsx)(u.AV,{}):0===A?(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("h1",{className:"text-lg font-semibold text-text-primary",children:"Constraints"}),(0,a.jsx)(x.p,{icon:h.A,title:"No constraints evaluated yet",description:"Add constraints to track_action or create_receipt calls"})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("h1",{className:"text-lg font-semibold text-text-primary",children:"Constraints"}),(0,a.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[(0,a.jsx)(l.h,{label:"Evaluated",value:(0,m.ZV)(A),icon:h.A}),(0,a.jsx)(l.h,{label:"Pass Rate",value:(0,m.l9)(C),icon:f.A}),(0,a.jsx)(l.h,{label:"Failed",value:(0,m.ZV)(F),icon:g}),(0,a.jsx)(l.h,{label:"Most Used",value:null!=(e=p.cZ[O])?e:O,icon:b})]}),(0,a.jsxs)("div",{className:"card",children:[(0,a.jsx)("div",{className:"px-4 py-3 border-b border-border",children:(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary",children:"Pass/Fail by Constraint Type"})}),(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full text-sm",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{className:"border-b border-border bg-bg-secondary",children:[(0,a.jsx)("th",{className:"px-4 py-2 text-left text-xs font-medium text-text-muted",children:"Constraint Type"}),(0,a.jsx)("th",{className:"px-4 py-2 text-left text-xs font-medium text-text-muted",children:"Used"}),(0,a.jsx)("th",{className:"px-4 py-2 text-left text-xs font-medium text-text-muted",children:"Passed"}),(0,a.jsx)("th",{className:"px-4 py-2 text-left text-xs font-medium text-text-muted",children:"Failed"}),(0,a.jsx)("th",{className:"px-4 py-2 text-left text-xs font-medium text-text-muted",children:"Pass Rate"})]})}),(0,a.jsx)("tbody",{className:"divide-y divide-border-subtle",children:E.map(e=>{var t;return(0,a.jsxs)("tr",{className:"hover:bg-bg-secondary",children:[(0,a.jsx)("td",{className:"px-4 py-2 font-medium",children:null!=(t=p.cZ[e.type])?t:e.type}),(0,a.jsx)("td",{className:"px-4 py-2 text-text-secondary",children:(0,m.ZV)(e.used)}),(0,a.jsx)("td",{className:"px-4 py-2 text-success",children:(0,m.ZV)(e.passed)}),(0,a.jsx)("td",{className:"px-4 py-2 text-danger",children:(0,m.ZV)(e.failed)}),(0,a.jsx)("td",{className:"px-4 py-2 text-text-secondary",children:(0,m.l9)(e.used>0?e.passed/e.used:1)})]},e.type)})})]})})]}),Z.length>0&&(0,a.jsxs)("div",{className:"card",children:[(0,a.jsxs)("div",{className:"px-4 py-3 border-b border-border flex items-center justify-between",children:[(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary",children:"Failure Analysis"}),(0,a.jsx)(c(),{href:"/receipts?constraint_passed=false",className:"text-xs text-primary hover:underline",children:"View all failed receipts"})]}),(0,a.jsx)("div",{className:"p-4 space-y-2",children:Z.map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,a.jsxs)("span",{className:"text-text-muted w-6",children:[t+1,"."]}),(0,a.jsx)("code",{className:"text-xs bg-danger-subtle text-danger px-1.5 py-0.5 rounded",children:e.type}),(0,a.jsxs)("span",{className:"text-text-secondary",children:["on ",e.agent,"/",e.action]}),(0,a.jsxs)("span",{className:"text-text-muted ml-auto",children:["(",e.count,"x)"]})]},t))})]}),(0,a.jsx)(d._,{title:"Pass Rate Trend (14 days)",loading:!1,children:(0,a.jsx)(j.u,{width:"100%",height:"100%",children:(0,a.jsxs)(v.Q,{data:U,children:[(0,a.jsx)(N.d,{strokeDasharray:"3 3",stroke:"var(--border-default)"}),(0,a.jsx)(w.W,{dataKey:"date",tick:{fontSize:10,fill:"var(--text-muted)"},tickFormatter:e=>e.slice(5)}),(0,a.jsx)(k.h,{domain:[0,100],tick:{fontSize:10,fill:"var(--text-muted)"},tickFormatter:e=>"".concat(e,"%")}),(0,a.jsx)(S.m,{contentStyle:{backgroundColor:"var(--bg-elevated)",border:"1px solid var(--border-default)",borderRadius:8,fontSize:12},formatter:e=>["".concat(e.toFixed(1),"%"),"Pass Rate"]}),(0,a.jsx)(_.G,{type:"monotone",dataKey:"pass_rate",stroke:"var(--success)",fill:"var(--success-subtle)",name:"Pass Rate"})]})})})]})}},62455:(e,t,s)=>{"use strict";function a(e){let t="string"==typeof e?new Date(e):e,s=new Date().getTime()-t.getTime();if(s<0)return"just now";let a=Math.floor(s/1e3);if(a<60)return"".concat(a,"s ago");let n=Math.floor(a/60);if(n<60)return"".concat(n," min ago");let r=Math.floor(n/60);if(r<24)return"".concat(r," hr ago");let c=Math.floor(r/24);if(c<30)return"".concat(c,"d ago");let i=Math.floor(c/30);return"".concat(i,"mo ago")}function n(e){return null==e?"—":e<1e3?"".concat(e,"ms"):"".concat((e/1e3).toFixed(1),"s")}function r(e){return null==e?"—":0===e?"$0.00":e<.01?"$".concat(e.toFixed(4)):"$".concat(e.toFixed(2))}function c(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function l(e){return e.toLocaleString("en-US")}function d(e){return"".concat((100*e).toFixed(1),"%")}function o(e){return("string"==typeof e?new Date(e):e).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})}s.d(t,{Ct:()=>c,Yq:()=>o,ZV:()=>l,a3:()=>n,fF:()=>a,l9:()=>d,lV:()=>i,vv:()=>r})},66187:(e,t,s)=>{"use strict";s.d(t,{AV:()=>l,Eg:()=>c,F6:()=>i,O0:()=>r});var a=s(88111),n=s(96741);function r(e){let{className:t}=e;return(0,a.jsx)("div",{className:(0,n.cn)("animate-pulse bg-bg-tertiary rounded",t)})}function c(e){let{count:t=6}=e;return(0,a.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4",children:Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"card p-4",children:[(0,a.jsx)(r,{className:"h-3 w-16 mb-3"}),(0,a.jsx)(r,{className:"h-7 w-20"})]},t))})}function i(e){let{rows:t=5}=e;return(0,a.jsxs)("div",{className:"card overflow-hidden",children:[(0,a.jsx)("div",{className:"border-b border-border p-3",children:(0,a.jsx)(r,{className:"h-4 w-48"})}),Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center gap-4 p-3 border-b border-border-subtle last:border-0",children:[(0,a.jsx)(r,{className:"h-4 w-24"}),(0,a.jsx)(r,{className:"h-4 w-32"}),(0,a.jsx)(r,{className:"h-4 w-20"}),(0,a.jsx)(r,{className:"h-4 w-16 ml-auto"})]},t))]})}function l(){return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)(r,{className:"h-8 w-48"}),(0,a.jsx)(c,{}),(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[(0,a.jsx)(i,{}),(0,a.jsx)(i,{})]})]})}},68013:(e,t,s)=>{"use strict";s.d(t,{_:()=>c});var a=s(88111),n=s(96741),r=s(66187);function c(e){let{title:t,loading:s,children:c,className:i}=e;return(0,a.jsxs)("div",{className:(0,n.cn)("card p-4",i),children:[(0,a.jsx)("h3",{className:"text-xs font-medium text-text-muted uppercase tracking-wider mb-4",children:t}),s?(0,a.jsx)(r.O0,{className:"h-48 w-full"}):(0,a.jsx)("div",{className:"h-48",children:c})]})}},84109:(e,t,s)=>{"use strict";s.d(t,{Ez:()=>a,ZT:()=>r,av:()=>c,cZ:()=>n});let a={completed:{bg:"bg-success-subtle",text:"text-success",dot:"bg-success"},failed:{bg:"bg-danger-subtle",text:"text-danger",dot:"bg-danger"},pending:{bg:"bg-warning-subtle",text:"text-warning",dot:"bg-warning"},timeout:{bg:"bg-danger-subtle",text:"text-danger",dot:"bg-danger"}},n={max_latency_ms:"Max Latency",max_cost_usd:"Max Cost",min_confidence:"Min Confidence",required_fields:"Required Fields",status_must_be:"Status Must Be",output_schema:"Output Schema"},r={pass:{bg:"bg-success-subtle",text:"text-success"},fail:{bg:"bg-danger-subtle",text:"text-danger"},partial:{bg:"bg-warning-subtle",text:"text-warning"}},c=1e4},96741:(e,t,s)=>{"use strict";s.d(t,{cn:()=>r});var a=s(55242),n=s(13065);function r(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return(0,n.QP)((0,a.$)(t))}}},e=>{e.O(0,[702,935,493,814,743,358],()=>e(e.s=14613)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[385],{1082:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]])},14613:(e,t,s)=>{Promise.resolve().then(s.bind(s,54634))},23176:(e,t,s)=>{"use strict";async function a(e,t){let s=await fetch(e,t);if(!s.ok){let e=await s.text().catch(()=>"Unknown error");throw Error("API error ".concat(s.status,": ").concat(e))}return s.json()}function n(e){let t=new URLSearchParams;for(let[s,a]of Object.entries(e))void 0!==a&&""!==a&&t.set(s,String(a));let s=t.toString();return s?"?".concat(s):""}async function r(){return a("/api/stats")}async function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/receipts".concat(n(e)))}async function i(e){return a("/api/receipts/".concat(e))}async function l(e){return a("/api/chains/".concat(e))}async function d(){return a("/api/agents")}async function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/judgments".concat(n(e)))}async function x(e,t){return a("/api/verify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({receipt:e,public_key:t})})}async function u(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return a("/api/cleanup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dry_run:e})})}async function m(){return a("/api/config")}async function p(e){return a("/api/config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function h(e){return a("/api/search".concat(n({q:e})))}async function f(e){return a("/api/invoices",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}s.d(t,{$Q:()=>h,Dz:()=>m,Go:()=>n,Jq:()=>f,Kt:()=>u,Lx:()=>i,MJ:()=>o,YK:()=>r,_R:()=>p,o3:()=>x,oN:()=>l,pQ:()=>d,qb:()=>c})},24158:(e,t,s)=>{"use strict";s.d(t,{h:()=>r});var a=s(88111),n=s(96741);function r(e){let{label:t,value:s,icon:r,trend:c,className:i}=e;return(0,a.jsxs)("div",{className:(0,n.cn)("card p-4",i),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,a.jsx)("span",{className:"text-xs font-medium text-text-muted uppercase tracking-wider",children:t}),r&&(0,a.jsx)(r,{className:"w-4 h-4 text-text-muted"})]}),(0,a.jsx)("div",{className:"text-2xl font-semibold text-text-primary",children:s}),c&&(0,a.jsxs)("div",{className:"mt-1 text-xs",children:[(0,a.jsxs)("span",{className:(0,n.cn)(c.value>=0?"text-success":"text-danger"),children:[c.value>=0?"+":"",c.value,"%"]}),(0,a.jsx)("span",{className:"text-text-muted ml-1",children:c.label})]})]})}},43407:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]])},44632:(e,t,s)=>{"use strict";s.d(t,{p:()=>c});var a=s(88111),n=s(96741),r=s(1082);function c(e){let{icon:t=r.A,title:s,description:c,action:i,className:l}=e;return(0,a.jsxs)("div",{className:(0,n.cn)("flex flex-col items-center justify-center py-16 text-center",l),children:[(0,a.jsx)(t,{className:"w-12 h-12 text-text-muted mb-4"}),(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary mb-1",children:s}),c&&(0,a.jsx)("p",{className:"text-sm text-text-muted max-w-sm",children:c}),i&&(0,a.jsx)("div",{className:"mt-4",children:i})]})}},46233:(e,t,s)=>{"use strict";s.d(t,{W:()=>c});var a=s(88111),n=s(94745),r=s(96741);function c(e){let{message:t="Something went wrong",onRetry:s,className:c}=e;return(0,a.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center justify-center py-16 text-center",c),children:[(0,a.jsx)(n.A,{className:"w-12 h-12 text-danger mb-4"}),(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary mb-1",children:"Error"}),(0,a.jsx)("p",{className:"text-sm text-text-muted max-w-sm mb-4",children:t}),s&&(0,a.jsx)("button",{onClick:s,className:"px-4 py-2 text-sm font-medium bg-primary text-white rounded-md hover:bg-primary-hover transition-colors",children:"Retry"})]})}},54634:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>A});var a=s(88111),n=s(55271),r=s(55935),c=s.n(r),i=s(23176),l=s(24158),d=s(68013),o=s(46233),x=s(44632),u=s(66187),m=s(62455),p=s(84109),h=s(83067),f=s(43407),y=s(11063);let g=(0,y.A)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),b=(0,y.A)("ChartColumn",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);var j=s(1276),v=s(381),N=s(56570),w=s(65937),k=s(54790),S=s(94920),_=s(81469);function A(){var e;let[t,s]=(0,n.useState)(!0),[r,y]=(0,n.useState)(null),[A,M]=(0,n.useState)(0),[C,T]=(0,n.useState)(0),[F,P]=(0,n.useState)(0),[O,V]=(0,n.useState)("—"),[E,R]=(0,n.useState)([]),[Z,z]=(0,n.useState)([]),[U,q]=(0,n.useState)([]);return((0,n.useEffect)(()=>{!async function(){try{var e,t;let s=(await (0,i.qb)({limit:1e4})).data,a=new Map,n=new Map,r=0,c=0,l=new Date,d=new Map;for(let e=13;e>=0;e--){let t=new Date(l.getTime()-24*e*36e5);d.set(t.toISOString().slice(0,10),{passed:0,total:0})}for(let e of s){let t=e.constraint_result;if(!t||!Array.isArray(t.results))continue;r++,t.passed&&c++;let s=e.timestamp.slice(0,10);if(d.has(s)){let e=d.get(s);e.total++,t.passed&&e.passed++}for(let s of t.results){a.has(s.type)||a.set(s.type,{used:0,passed:0,failed:0});let t=a.get(s.type);if(t.used++,s.passed)t.passed++;else{t.failed++;let a="".concat(s.type,"|").concat(e.agent_id,"|").concat(e.action);n.has(a)||n.set(a,{type:s.type,agent:e.agent_id,action:e.action,count:0}),n.get(a).count++}}}M(r),T(r>0?c/r:1),P(r-c);let o=Array.from(a.entries()).map(e=>{let[t,s]=e;return{type:t,...s}}).sort((e,t)=>t.used-e.used);R(o),V(null!=(t=null==(e=o[0])?void 0:e.type)?t:"—"),z(Array.from(n.values()).sort((e,t)=>t.count-e.count).slice(0,10)),q(Array.from(d.entries()).map(e=>{let[t,s]=e;return{date:t,pass_rate:s.total>0?s.passed/s.total*100:100}}))}catch(e){y(e instanceof Error?e.message:"Failed to load")}finally{s(!1)}}()},[]),r)?(0,a.jsx)(o.W,{message:r}):t?(0,a.jsx)(u.AV,{}):0===A?(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("h1",{className:"text-lg font-semibold text-text-primary",children:"Constraints"}),(0,a.jsx)(x.p,{icon:h.A,title:"No constraints evaluated yet",description:"Add constraints to track_action or create_receipt calls"})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("h1",{className:"text-lg font-semibold text-text-primary",children:"Constraints"}),(0,a.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[(0,a.jsx)(l.h,{label:"Evaluated",value:(0,m.ZV)(A),icon:h.A}),(0,a.jsx)(l.h,{label:"Pass Rate",value:(0,m.l9)(C),icon:f.A}),(0,a.jsx)(l.h,{label:"Failed",value:(0,m.ZV)(F),icon:g}),(0,a.jsx)(l.h,{label:"Most Used",value:null!=(e=p.cZ[O])?e:O,icon:b})]}),(0,a.jsxs)("div",{className:"card",children:[(0,a.jsx)("div",{className:"px-4 py-3 border-b border-border",children:(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary",children:"Pass/Fail by Constraint Type"})}),(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full text-sm",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{className:"border-b border-border bg-bg-secondary",children:[(0,a.jsx)("th",{className:"px-4 py-2 text-left text-xs font-medium text-text-muted",children:"Constraint Type"}),(0,a.jsx)("th",{className:"px-4 py-2 text-left text-xs font-medium text-text-muted",children:"Used"}),(0,a.jsx)("th",{className:"px-4 py-2 text-left text-xs font-medium text-text-muted",children:"Passed"}),(0,a.jsx)("th",{className:"px-4 py-2 text-left text-xs font-medium text-text-muted",children:"Failed"}),(0,a.jsx)("th",{className:"px-4 py-2 text-left text-xs font-medium text-text-muted",children:"Pass Rate"})]})}),(0,a.jsx)("tbody",{className:"divide-y divide-border-subtle",children:E.map(e=>{var t;return(0,a.jsxs)("tr",{className:"hover:bg-bg-secondary",children:[(0,a.jsx)("td",{className:"px-4 py-2 font-medium",children:null!=(t=p.cZ[e.type])?t:e.type}),(0,a.jsx)("td",{className:"px-4 py-2 text-text-secondary",children:(0,m.ZV)(e.used)}),(0,a.jsx)("td",{className:"px-4 py-2 text-success",children:(0,m.ZV)(e.passed)}),(0,a.jsx)("td",{className:"px-4 py-2 text-danger",children:(0,m.ZV)(e.failed)}),(0,a.jsx)("td",{className:"px-4 py-2 text-text-secondary",children:(0,m.l9)(e.used>0?e.passed/e.used:1)})]},e.type)})})]})})]}),Z.length>0&&(0,a.jsxs)("div",{className:"card",children:[(0,a.jsxs)("div",{className:"px-4 py-3 border-b border-border flex items-center justify-between",children:[(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary",children:"Failure Analysis"}),(0,a.jsx)(c(),{href:"/receipts?constraint_passed=false",className:"text-xs text-primary hover:underline",children:"View all failed receipts"})]}),(0,a.jsx)("div",{className:"p-4 space-y-2",children:Z.map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,a.jsxs)("span",{className:"text-text-muted w-6",children:[t+1,"."]}),(0,a.jsx)("code",{className:"text-xs bg-danger-subtle text-danger px-1.5 py-0.5 rounded",children:e.type}),(0,a.jsxs)("span",{className:"text-text-secondary",children:["on ",e.agent,"/",e.action]}),(0,a.jsxs)("span",{className:"text-text-muted ml-auto",children:["(",e.count,"x)"]})]},t))})]}),(0,a.jsx)(d._,{title:"Pass Rate Trend (14 days)",loading:!1,children:(0,a.jsx)(j.u,{width:"100%",height:"100%",children:(0,a.jsxs)(v.Q,{data:U,children:[(0,a.jsx)(N.d,{strokeDasharray:"3 3",stroke:"var(--border-default)"}),(0,a.jsx)(w.W,{dataKey:"date",tick:{fontSize:10,fill:"var(--text-muted)"},tickFormatter:e=>e.slice(5)}),(0,a.jsx)(k.h,{domain:[0,100],tick:{fontSize:10,fill:"var(--text-muted)"},tickFormatter:e=>"".concat(e,"%")}),(0,a.jsx)(S.m,{contentStyle:{backgroundColor:"var(--bg-elevated)",border:"1px solid var(--border-default)",borderRadius:8,fontSize:12},formatter:e=>["".concat(e.toFixed(1),"%"),"Pass Rate"]}),(0,a.jsx)(_.G,{type:"monotone",dataKey:"pass_rate",stroke:"var(--success)",fill:"var(--success-subtle)",name:"Pass Rate"})]})})})]})}},62455:(e,t,s)=>{"use strict";function a(e){let t="string"==typeof e?new Date(e):e,s=new Date().getTime()-t.getTime();if(s<0)return"just now";let a=Math.floor(s/1e3);if(a<60)return"".concat(a,"s ago");let n=Math.floor(a/60);if(n<60)return"".concat(n," min ago");let r=Math.floor(n/60);if(r<24)return"".concat(r," hr ago");let c=Math.floor(r/24);if(c<30)return"".concat(c,"d ago");let i=Math.floor(c/30);return"".concat(i,"mo ago")}function n(e){return null==e?"—":e<1e3?"".concat(e,"ms"):"".concat((e/1e3).toFixed(1),"s")}function r(e){return null==e?"—":0===e?"$0.00":e<.01?"$".concat(e.toFixed(4)):"$".concat(e.toFixed(2))}function c(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function l(e){return e.toLocaleString("en-US")}function d(e){return"".concat((100*e).toFixed(1),"%")}function o(e){return("string"==typeof e?new Date(e):e).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})}s.d(t,{Ct:()=>c,Yq:()=>o,ZV:()=>l,a3:()=>n,fF:()=>a,l9:()=>d,lV:()=>i,vv:()=>r})},66187:(e,t,s)=>{"use strict";s.d(t,{AV:()=>l,Eg:()=>c,F6:()=>i,O0:()=>r});var a=s(88111),n=s(96741);function r(e){let{className:t}=e;return(0,a.jsx)("div",{className:(0,n.cn)("animate-pulse bg-bg-tertiary rounded",t)})}function c(e){let{count:t=6}=e;return(0,a.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4",children:Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"card p-4",children:[(0,a.jsx)(r,{className:"h-3 w-16 mb-3"}),(0,a.jsx)(r,{className:"h-7 w-20"})]},t))})}function i(e){let{rows:t=5}=e;return(0,a.jsxs)("div",{className:"card overflow-hidden",children:[(0,a.jsx)("div",{className:"border-b border-border p-3",children:(0,a.jsx)(r,{className:"h-4 w-48"})}),Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center gap-4 p-3 border-b border-border-subtle last:border-0",children:[(0,a.jsx)(r,{className:"h-4 w-24"}),(0,a.jsx)(r,{className:"h-4 w-32"}),(0,a.jsx)(r,{className:"h-4 w-20"}),(0,a.jsx)(r,{className:"h-4 w-16 ml-auto"})]},t))]})}function l(){return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)(r,{className:"h-8 w-48"}),(0,a.jsx)(c,{}),(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[(0,a.jsx)(i,{}),(0,a.jsx)(i,{})]})]})}},68013:(e,t,s)=>{"use strict";s.d(t,{_:()=>c});var a=s(88111),n=s(96741),r=s(66187);function c(e){let{title:t,loading:s,children:c,className:i}=e;return(0,a.jsxs)("div",{className:(0,n.cn)("card p-4",i),children:[(0,a.jsx)("h3",{className:"text-xs font-medium text-text-muted uppercase tracking-wider mb-4",children:t}),s?(0,a.jsx)(r.O0,{className:"h-48 w-full"}):(0,a.jsx)("div",{className:"h-48",children:c})]})}},84109:(e,t,s)=>{"use strict";s.d(t,{Ez:()=>a,ZT:()=>r,av:()=>c,cZ:()=>n});let a={completed:{bg:"bg-success-subtle",text:"text-success",dot:"bg-success"},failed:{bg:"bg-danger-subtle",text:"text-danger",dot:"bg-danger"},pending:{bg:"bg-warning-subtle",text:"text-warning",dot:"bg-warning"},timeout:{bg:"bg-danger-subtle",text:"text-danger",dot:"bg-danger"}},n={max_latency_ms:"Max Latency",max_cost_usd:"Max Cost",min_confidence:"Min Confidence",required_fields:"Required Fields",status_must_be:"Status Must Be",output_schema:"Output Schema"},r={pass:{bg:"bg-success-subtle",text:"text-success"},fail:{bg:"bg-danger-subtle",text:"text-danger"},partial:{bg:"bg-warning-subtle",text:"text-warning"}},c=1e4},96741:(e,t,s)=>{"use strict";s.d(t,{cn:()=>r});var a=s(55242),n=s(13065);function r(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return(0,n.QP)((0,a.$)(t))}}},e=>{e.O(0,[702,935,493,814,743,358],()=>e(e.s=14613)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[284],{1082:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]])},4736:(e,t,s)=>{"use strict";var a=s(11504);s.o(a,"usePathname")&&s.d(t,{usePathname:function(){return a.usePathname}}),s.o(a,"useRouter")&&s.d(t,{useRouter:function(){return a.useRouter}}),s.o(a,"useSearchParams")&&s.d(t,{useSearchParams:function(){return a.useSearchParams}})},8586:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]])},19593:(e,t,s)=>{"use strict";s.d(t,{d:()=>i});var a=s(88111),n=s(30417),r=s(28826),c=s(96741);function i(e){let{page:t,totalPages:s,onPageChange:i,className:l}=e;if(s<=1)return null;let o=[];if(s<=7)for(let e=1;e<=s;e++)o.push(e);else{o.push(1),t>3&&o.push("ellipsis");for(let e=Math.max(2,t-1);e<=Math.min(s-1,t+1);e++)o.push(e);t<s-2&&o.push("ellipsis"),o.push(s)}return(0,a.jsxs)("div",{className:(0,c.cn)("flex items-center justify-center gap-1",l),children:[(0,a.jsx)("button",{onClick:()=>i(t-1),disabled:t<=1,className:"p-2 rounded-md text-text-muted hover:bg-bg-tertiary disabled:opacity-30 disabled:cursor-not-allowed transition-colors",children:(0,a.jsx)(n.A,{className:"w-4 h-4"})}),o.map((e,s)=>"ellipsis"===e?(0,a.jsx)("span",{className:"px-2 text-text-muted",children:"..."},"e".concat(s)):(0,a.jsx)("button",{onClick:()=>i(e),className:(0,c.cn)("px-3 py-1 rounded-md text-sm transition-colors",e===t?"bg-primary text-white font-medium":"text-text-secondary hover:bg-bg-tertiary"),children:e},e)),(0,a.jsx)("button",{onClick:()=>i(t+1),disabled:t>=s,className:"p-2 rounded-md text-text-muted hover:bg-bg-tertiary disabled:opacity-30 disabled:cursor-not-allowed transition-colors",children:(0,a.jsx)(r.A,{className:"w-4 h-4"})})]})}},21948:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>k});var a=s(88111),n=s(55271),r=s(4736),c=s(95388),i=s(55935),l=s.n(i),o=s(23176),d=s(24158),u=s(19593),x=s(44632),m=s(46233),h=s(66187),p=s(47126),g=s(62455),f=s(84109),y=s(96741),b=s(40432),j=s(43407);let v=(0,s(11063).A)("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);var N=s(8586),w=s(89654);function S(){var e;let t=(0,r.useRouter)(),s=(0,r.useSearchParams)(),{refreshInterval:i}=(0,w.c)(),S=parseInt(null!=(e=s.get("page"))?e:"1",10),{data:k,error:A,mutate:M}=(0,c.Ay)("judgments-page-".concat(S),()=>(0,o.MJ)({page:S,limit:50}),{refreshInterval:i}),[_,C]=(0,n.useState)(null),[P,T]=(0,n.useState)([]);return((0,n.useEffect)(()=>{!async function(){try{let e=(await (0,o.MJ)({limit:1e5})).data,t=0,s=0,a=0,n=new Set,r=new Map;for(let c of e){let e=c.metadata;(null==e?void 0:e.verdict)==="pass"&&t++,"number"==typeof(null==e?void 0:e.score)&&(s+=e.score,a++),"string"==typeof c.model&&c.model&&n.add(c.model);let i=null==e?void 0:e.criteria;if(Array.isArray(i))for(let e of i){r.has(e.criterion)||r.set(e.criterion,{total:0,count:0});let t=r.get(e.criterion);t.total+=e.score,t.count++}}C({total:e.length,passRate:e.length>0?t/e.length:0,avgScore:a>0?s/a:0,judges:n.size}),T(Array.from(r.entries()).map(e=>{let[t,s]=e;return{criterion:t,avgScore:s.total/s.count,count:s.count}}).sort((e,t)=>t.count-e.count))}catch(e){}}()},[]),A)?(0,a.jsx)(m.W,{message:A.message,onRetry:()=>M()}):k?0!==k.pagination.total||_?(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("h1",{className:"text-lg font-semibold text-text-primary",children:"Judgments"}),_&&(0,a.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[(0,a.jsx)(d.h,{label:"Total Judgments",value:(0,g.ZV)(_.total),icon:b.A}),(0,a.jsx)(d.h,{label:"Pass Rate",value:(0,g.l9)(_.passRate),icon:j.A}),(0,a.jsx)(d.h,{label:"Avg Score",value:_.avgScore.toFixed(2),icon:v}),(0,a.jsx)(d.h,{label:"Judges Used",value:(0,g.ZV)(_.judges),icon:N.A})]}),P.length>0&&(0,a.jsxs)("div",{className:"card",children:[(0,a.jsx)("div",{className:"px-4 py-3 border-b border-border",children:(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary",children:"Scores by Criteria"})}),(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full text-sm",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{className:"border-b border-border bg-bg-secondary",children:[(0,a.jsx)("th",{className:"px-4 py-2 text-left text-xs font-medium text-text-muted",children:"Criterion"}),(0,a.jsx)("th",{className:"px-4 py-2 text-left text-xs font-medium text-text-muted",children:"Avg Score"}),(0,a.jsx)("th",{className:"px-4 py-2 text-left text-xs font-medium text-text-muted",children:"Distribution"})]})}),(0,a.jsx)("tbody",{className:"divide-y divide-border-subtle",children:P.map(e=>(0,a.jsxs)("tr",{className:"hover:bg-bg-secondary",children:[(0,a.jsx)("td",{className:"px-4 py-2 font-medium",children:e.criterion}),(0,a.jsx)("td",{className:"px-4 py-2 text-text-secondary",children:e.avgScore.toFixed(2)}),(0,a.jsx)("td",{className:"px-4 py-2",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"w-32 h-2 bg-bg-tertiary rounded-full overflow-hidden",children:(0,a.jsx)("div",{className:"h-full rounded-full bg-primary",style:{width:"".concat(100*e.avgScore,"%")}})}),(0,a.jsxs)("span",{className:"text-xs text-text-muted",children:[(100*e.avgScore).toFixed(0),"%"]})]})})]},e.criterion))})]})})]}),(0,a.jsxs)("div",{className:"card",children:[(0,a.jsx)("div",{className:"px-4 py-3 border-b border-border",children:(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary",children:"Recent Judgments"})}),(0,a.jsx)("div",{className:"divide-y divide-border-subtle",children:k.data.map(e=>{var t,s;let n=e.metadata,r=null==n?void 0:n.verdict,c=null==n?void 0:n.score,i=e.parent_receipt_id,o=null!=(t=f.ZT[null!=r?r:""])?t:{bg:"bg-bg-tertiary",text:"text-text-secondary"};return(0,a.jsxs)("div",{className:"px-4 py-3 hover:bg-bg-secondary transition-colors",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,a.jsx)("span",{className:"text-xs text-text-muted",children:"For:"}),i?(0,a.jsx)(l(),{href:"/receipts/".concat(i),className:"font-mono text-xs text-primary hover:underline",children:(0,g.Ct)(i)}):(0,a.jsx)("span",{className:"text-xs text-text-muted",children:"unknown"})]}),(0,a.jsx)("div",{className:"flex items-center gap-2",children:r&&(0,a.jsxs)("span",{className:(0,y.cn)("px-2 py-0.5 rounded-full text-xs font-medium uppercase",o.bg,o.text),children:[r," ",void 0!==c&&"(".concat(c.toFixed(2),")")]})})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3 text-xs text-text-muted",children:[(0,a.jsxs)("span",{children:["Judge: ",null!=(s=e.model)?s:"unknown"]}),(0,a.jsx)(p.f,{date:e.timestamp}),(0,a.jsx)(l(),{href:"/receipts/".concat(e.receipt_id),className:"text-primary hover:underline ml-auto",children:"View judgment receipt"})]})]},e.receipt_id)})})]}),(0,a.jsx)(u.d,{page:k.pagination.page,totalPages:k.pagination.total_pages,onPageChange:e=>t.push("/judgments?page=".concat(e))})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("h1",{className:"text-lg font-semibold text-text-primary",children:"Judgments"}),(0,a.jsx)(x.p,{icon:b.A,title:"No judgments yet",description:"Use the judge_receipt MCP tool or SDK to create judgments"})]}):(0,a.jsx)(h.AV,{})}function k(){return(0,a.jsx)(n.Suspense,{fallback:(0,a.jsx)(h.AV,{}),children:(0,a.jsx)(S,{})})}},23176:(e,t,s)=>{"use strict";async function a(e,t){let s=await fetch(e,t);if(!s.ok){let e=await s.text().catch(()=>"Unknown error");throw Error("API error ".concat(s.status,": ").concat(e))}return s.json()}function n(e){let t=new URLSearchParams;for(let[s,a]of Object.entries(e))void 0!==a&&""!==a&&t.set(s,String(a));let s=t.toString();return s?"?".concat(s):""}async function r(){return a("/api/stats")}async function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/receipts".concat(n(e)))}async function i(e){return a("/api/receipts/".concat(e))}async function l(e){return a("/api/chains/".concat(e))}async function o(){return a("/api/agents")}async function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/judgments".concat(n(e)))}async function u(e,t){return a("/api/verify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({receipt:e,public_key:t})})}async function x(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return a("/api/cleanup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dry_run:e})})}async function m(){return a("/api/config")}async function h(e){return a("/api/config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function p(e){return a("/api/search".concat(n({q:e})))}async function g(e){return a("/api/invoices",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}s.d(t,{$Q:()=>p,Dz:()=>m,Go:()=>n,Jq:()=>g,Kt:()=>x,Lx:()=>i,MJ:()=>d,YK:()=>r,_R:()=>h,o3:()=>u,oN:()=>l,pQ:()=>o,qb:()=>c})},24158:(e,t,s)=>{"use strict";s.d(t,{h:()=>r});var a=s(88111),n=s(96741);function r(e){let{label:t,value:s,icon:r,trend:c,className:i}=e;return(0,a.jsxs)("div",{className:(0,n.cn)("card p-4",i),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,a.jsx)("span",{className:"text-xs font-medium text-text-muted uppercase tracking-wider",children:t}),r&&(0,a.jsx)(r,{className:"w-4 h-4 text-text-muted"})]}),(0,a.jsx)("div",{className:"text-2xl font-semibold text-text-primary",children:s}),c&&(0,a.jsxs)("div",{className:"mt-1 text-xs",children:[(0,a.jsxs)("span",{className:(0,n.cn)(c.value>=0?"text-success":"text-danger"),children:[c.value>=0?"+":"",c.value,"%"]}),(0,a.jsx)("span",{className:"text-text-muted ml-1",children:c.label})]})]})}},28826:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},29386:(e,t,s)=>{Promise.resolve().then(s.bind(s,21948))},30417:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},40432:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Scale",[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]])},43407:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]])},44632:(e,t,s)=>{"use strict";s.d(t,{p:()=>c});var a=s(88111),n=s(96741),r=s(1082);function c(e){let{icon:t=r.A,title:s,description:c,action:i,className:l}=e;return(0,a.jsxs)("div",{className:(0,n.cn)("flex flex-col items-center justify-center py-16 text-center",l),children:[(0,a.jsx)(t,{className:"w-12 h-12 text-text-muted mb-4"}),(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary mb-1",children:s}),c&&(0,a.jsx)("p",{className:"text-sm text-text-muted max-w-sm",children:c}),i&&(0,a.jsx)("div",{className:"mt-4",children:i})]})}},46233:(e,t,s)=>{"use strict";s.d(t,{W:()=>c});var a=s(88111),n=s(94745),r=s(96741);function c(e){let{message:t="Something went wrong",onRetry:s,className:c}=e;return(0,a.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center justify-center py-16 text-center",c),children:[(0,a.jsx)(n.A,{className:"w-12 h-12 text-danger mb-4"}),(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary mb-1",children:"Error"}),(0,a.jsx)("p",{className:"text-sm text-text-muted max-w-sm mb-4",children:t}),s&&(0,a.jsx)("button",{onClick:s,className:"px-4 py-2 text-sm font-medium bg-primary text-white rounded-md hover:bg-primary-hover transition-colors",children:"Retry"})]})}},47126:(e,t,s)=>{"use strict";s.d(t,{f:()=>c});var a=s(88111),n=s(62455),r=s(96741);function c(e){let{date:t,className:s}=e;return(0,a.jsx)("time",{dateTime:t,title:(0,n.Yq)(t),className:(0,r.cn)("text-text-secondary",s),children:(0,n.fF)(t)})}},62455:(e,t,s)=>{"use strict";function a(e){let t="string"==typeof e?new Date(e):e,s=new Date().getTime()-t.getTime();if(s<0)return"just now";let a=Math.floor(s/1e3);if(a<60)return"".concat(a,"s ago");let n=Math.floor(a/60);if(n<60)return"".concat(n," min ago");let r=Math.floor(n/60);if(r<24)return"".concat(r," hr ago");let c=Math.floor(r/24);if(c<30)return"".concat(c,"d ago");let i=Math.floor(c/30);return"".concat(i,"mo ago")}function n(e){return null==e?"—":e<1e3?"".concat(e,"ms"):"".concat((e/1e3).toFixed(1),"s")}function r(e){return null==e?"—":0===e?"$0.00":e<.01?"$".concat(e.toFixed(4)):"$".concat(e.toFixed(2))}function c(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function l(e){return e.toLocaleString("en-US")}function o(e){return"".concat((100*e).toFixed(1),"%")}function d(e){return("string"==typeof e?new Date(e):e).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})}s.d(t,{Ct:()=>c,Yq:()=>d,ZV:()=>l,a3:()=>n,fF:()=>a,l9:()=>o,lV:()=>i,vv:()=>r})},66187:(e,t,s)=>{"use strict";s.d(t,{AV:()=>l,Eg:()=>c,F6:()=>i,O0:()=>r});var a=s(88111),n=s(96741);function r(e){let{className:t}=e;return(0,a.jsx)("div",{className:(0,n.cn)("animate-pulse bg-bg-tertiary rounded",t)})}function c(e){let{count:t=6}=e;return(0,a.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4",children:Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"card p-4",children:[(0,a.jsx)(r,{className:"h-3 w-16 mb-3"}),(0,a.jsx)(r,{className:"h-7 w-20"})]},t))})}function i(e){let{rows:t=5}=e;return(0,a.jsxs)("div",{className:"card overflow-hidden",children:[(0,a.jsx)("div",{className:"border-b border-border p-3",children:(0,a.jsx)(r,{className:"h-4 w-48"})}),Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center gap-4 p-3 border-b border-border-subtle last:border-0",children:[(0,a.jsx)(r,{className:"h-4 w-24"}),(0,a.jsx)(r,{className:"h-4 w-32"}),(0,a.jsx)(r,{className:"h-4 w-20"}),(0,a.jsx)(r,{className:"h-4 w-16 ml-auto"})]},t))]})}function l(){return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)(r,{className:"h-8 w-48"}),(0,a.jsx)(c,{}),(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[(0,a.jsx)(i,{}),(0,a.jsx)(i,{})]})]})}},84109:(e,t,s)=>{"use strict";s.d(t,{Ez:()=>a,ZT:()=>r,av:()=>c,cZ:()=>n});let a={completed:{bg:"bg-success-subtle",text:"text-success",dot:"bg-success"},failed:{bg:"bg-danger-subtle",text:"text-danger",dot:"bg-danger"},pending:{bg:"bg-warning-subtle",text:"text-warning",dot:"bg-warning"},timeout:{bg:"bg-danger-subtle",text:"text-danger",dot:"bg-danger"}},n={max_latency_ms:"Max Latency",max_cost_usd:"Max Cost",min_confidence:"Min Confidence",required_fields:"Required Fields",status_must_be:"Status Must Be",output_schema:"Output Schema"},r={pass:{bg:"bg-success-subtle",text:"text-success"},fail:{bg:"bg-danger-subtle",text:"text-danger"},partial:{bg:"bg-warning-subtle",text:"text-warning"}},c=1e4},89654:(e,t,s)=>{"use strict";s.d(t,{c:()=>i});var a=s(55271),n=s(84109);let r="agent-receipts-auto-refresh",c="agent-receipts-refresh-interval";function i(){let[e,t]=(0,a.useState)(!0),[s,i]=(0,a.useState)(n.av);return(0,a.useEffect)(()=>{let e=function(){try{var e;let t="false"!==localStorage.getItem(r),s=parseInt(null!=(e=localStorage.getItem(c))?e:"",10);return{enabled:t,interval:isNaN(s)?n.av:s}}catch(e){return{enabled:!0,interval:n.av}}}();t(e.enabled),i(e.interval)},[]),{enabled:e,interval:s,toggle:(0,a.useCallback)(()=>{t(e=>{let t=!e;try{localStorage.setItem(r,String(t))}catch(e){}return t})},[]),setInterval:(0,a.useCallback)(e=>{i(e);try{localStorage.setItem(c,String(e))}catch(e){}},[]),refreshInterval:e?s:0}}},94745:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},96741:(e,t,s)=>{"use strict";s.d(t,{cn:()=>r});var a=s(55242),n=s(13065);function r(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return(0,n.QP)((0,a.$)(t))}}},e=>{e.O(0,[702,935,388,814,743,358],()=>e(e.s=29386)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[284],{1082:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]])},4736:(e,t,s)=>{"use strict";var a=s(11504);s.o(a,"usePathname")&&s.d(t,{usePathname:function(){return a.usePathname}}),s.o(a,"useRouter")&&s.d(t,{useRouter:function(){return a.useRouter}}),s.o(a,"useSearchParams")&&s.d(t,{useSearchParams:function(){return a.useSearchParams}})},8586:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]])},19593:(e,t,s)=>{"use strict";s.d(t,{d:()=>i});var a=s(88111),n=s(30417),r=s(28826),c=s(96741);function i(e){let{page:t,totalPages:s,onPageChange:i,className:l}=e;if(s<=1)return null;let o=[];if(s<=7)for(let e=1;e<=s;e++)o.push(e);else{o.push(1),t>3&&o.push("ellipsis");for(let e=Math.max(2,t-1);e<=Math.min(s-1,t+1);e++)o.push(e);t<s-2&&o.push("ellipsis"),o.push(s)}return(0,a.jsxs)("div",{className:(0,c.cn)("flex items-center justify-center gap-1",l),children:[(0,a.jsx)("button",{onClick:()=>i(t-1),disabled:t<=1,className:"p-2 rounded-md text-text-muted hover:bg-bg-tertiary disabled:opacity-30 disabled:cursor-not-allowed transition-colors",children:(0,a.jsx)(n.A,{className:"w-4 h-4"})}),o.map((e,s)=>"ellipsis"===e?(0,a.jsx)("span",{className:"px-2 text-text-muted",children:"..."},"e".concat(s)):(0,a.jsx)("button",{onClick:()=>i(e),className:(0,c.cn)("px-3 py-1 rounded-md text-sm transition-colors",e===t?"bg-primary text-white font-medium":"text-text-secondary hover:bg-bg-tertiary"),children:e},e)),(0,a.jsx)("button",{onClick:()=>i(t+1),disabled:t>=s,className:"p-2 rounded-md text-text-muted hover:bg-bg-tertiary disabled:opacity-30 disabled:cursor-not-allowed transition-colors",children:(0,a.jsx)(r.A,{className:"w-4 h-4"})})]})}},21948:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>k});var a=s(88111),n=s(55271),r=s(4736),c=s(95388),i=s(55935),l=s.n(i),o=s(23176),d=s(24158),u=s(19593),x=s(44632),m=s(46233),h=s(66187),p=s(47126),g=s(62455),f=s(84109),y=s(96741),b=s(40432),j=s(43407);let v=(0,s(11063).A)("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);var N=s(8586),w=s(89654);function S(){var e;let t=(0,r.useRouter)(),s=(0,r.useSearchParams)(),{refreshInterval:i}=(0,w.c)(),S=parseInt(null!=(e=s.get("page"))?e:"1",10),{data:k,error:A,mutate:M}=(0,c.Ay)("judgments-page-".concat(S),()=>(0,o.MJ)({page:S,limit:50}),{refreshInterval:i}),[_,C]=(0,n.useState)(null),[P,T]=(0,n.useState)([]);return((0,n.useEffect)(()=>{!async function(){try{let e=(await (0,o.MJ)({limit:1e4})).data,t=0,s=0,a=0,n=new Set,r=new Map;for(let c of e){let e=c.metadata;(null==e?void 0:e.verdict)==="pass"&&t++,"number"==typeof(null==e?void 0:e.score)&&(s+=e.score,a++),"string"==typeof c.model&&c.model&&n.add(c.model);let i=null==e?void 0:e.criteria;if(Array.isArray(i))for(let e of i){r.has(e.criterion)||r.set(e.criterion,{total:0,count:0});let t=r.get(e.criterion);t.total+=e.score,t.count++}}C({total:e.length,passRate:e.length>0?t/e.length:0,avgScore:a>0?s/a:0,judges:n.size}),T(Array.from(r.entries()).map(e=>{let[t,s]=e;return{criterion:t,avgScore:s.total/s.count,count:s.count}}).sort((e,t)=>t.count-e.count))}catch(e){}}()},[]),A)?(0,a.jsx)(m.W,{message:A.message,onRetry:()=>M()}):k?0!==k.pagination.total||_?(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("h1",{className:"text-lg font-semibold text-text-primary",children:"Judgments"}),_&&(0,a.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[(0,a.jsx)(d.h,{label:"Total Judgments",value:(0,g.ZV)(_.total),icon:b.A}),(0,a.jsx)(d.h,{label:"Pass Rate",value:(0,g.l9)(_.passRate),icon:j.A}),(0,a.jsx)(d.h,{label:"Avg Score",value:_.avgScore.toFixed(2),icon:v}),(0,a.jsx)(d.h,{label:"Judges Used",value:(0,g.ZV)(_.judges),icon:N.A})]}),P.length>0&&(0,a.jsxs)("div",{className:"card",children:[(0,a.jsx)("div",{className:"px-4 py-3 border-b border-border",children:(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary",children:"Scores by Criteria"})}),(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full text-sm",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{className:"border-b border-border bg-bg-secondary",children:[(0,a.jsx)("th",{className:"px-4 py-2 text-left text-xs font-medium text-text-muted",children:"Criterion"}),(0,a.jsx)("th",{className:"px-4 py-2 text-left text-xs font-medium text-text-muted",children:"Avg Score"}),(0,a.jsx)("th",{className:"px-4 py-2 text-left text-xs font-medium text-text-muted",children:"Distribution"})]})}),(0,a.jsx)("tbody",{className:"divide-y divide-border-subtle",children:P.map(e=>(0,a.jsxs)("tr",{className:"hover:bg-bg-secondary",children:[(0,a.jsx)("td",{className:"px-4 py-2 font-medium",children:e.criterion}),(0,a.jsx)("td",{className:"px-4 py-2 text-text-secondary",children:e.avgScore.toFixed(2)}),(0,a.jsx)("td",{className:"px-4 py-2",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"w-32 h-2 bg-bg-tertiary rounded-full overflow-hidden",children:(0,a.jsx)("div",{className:"h-full rounded-full bg-primary",style:{width:"".concat(100*e.avgScore,"%")}})}),(0,a.jsxs)("span",{className:"text-xs text-text-muted",children:[(100*e.avgScore).toFixed(0),"%"]})]})})]},e.criterion))})]})})]}),(0,a.jsxs)("div",{className:"card",children:[(0,a.jsx)("div",{className:"px-4 py-3 border-b border-border",children:(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary",children:"Recent Judgments"})}),(0,a.jsx)("div",{className:"divide-y divide-border-subtle",children:k.data.map(e=>{var t,s;let n=e.metadata,r=null==n?void 0:n.verdict,c=null==n?void 0:n.score,i=e.parent_receipt_id,o=null!=(t=f.ZT[null!=r?r:""])?t:{bg:"bg-bg-tertiary",text:"text-text-secondary"};return(0,a.jsxs)("div",{className:"px-4 py-3 hover:bg-bg-secondary transition-colors",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,a.jsx)("span",{className:"text-xs text-text-muted",children:"For:"}),i?(0,a.jsx)(l(),{href:"/receipts/".concat(i),className:"font-mono text-xs text-primary hover:underline",children:(0,g.Ct)(i)}):(0,a.jsx)("span",{className:"text-xs text-text-muted",children:"unknown"})]}),(0,a.jsx)("div",{className:"flex items-center gap-2",children:r&&(0,a.jsxs)("span",{className:(0,y.cn)("px-2 py-0.5 rounded-full text-xs font-medium uppercase",o.bg,o.text),children:[r," ",void 0!==c&&"(".concat(c.toFixed(2),")")]})})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3 text-xs text-text-muted",children:[(0,a.jsxs)("span",{children:["Judge: ",null!=(s=e.model)?s:"unknown"]}),(0,a.jsx)(p.f,{date:e.timestamp}),(0,a.jsx)(l(),{href:"/receipts/".concat(e.receipt_id),className:"text-primary hover:underline ml-auto",children:"View judgment receipt"})]})]},e.receipt_id)})})]}),(0,a.jsx)(u.d,{page:k.pagination.page,totalPages:k.pagination.total_pages,onPageChange:e=>t.push("/judgments?page=".concat(e))})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("h1",{className:"text-lg font-semibold text-text-primary",children:"Judgments"}),(0,a.jsx)(x.p,{icon:b.A,title:"No judgments yet",description:"Use the judge_receipt MCP tool or SDK to create judgments"})]}):(0,a.jsx)(h.AV,{})}function k(){return(0,a.jsx)(n.Suspense,{fallback:(0,a.jsx)(h.AV,{}),children:(0,a.jsx)(S,{})})}},23176:(e,t,s)=>{"use strict";async function a(e,t){let s=await fetch(e,t);if(!s.ok){let e=await s.text().catch(()=>"Unknown error");throw Error("API error ".concat(s.status,": ").concat(e))}return s.json()}function n(e){let t=new URLSearchParams;for(let[s,a]of Object.entries(e))void 0!==a&&""!==a&&t.set(s,String(a));let s=t.toString();return s?"?".concat(s):""}async function r(){return a("/api/stats")}async function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/receipts".concat(n(e)))}async function i(e){return a("/api/receipts/".concat(e))}async function l(e){return a("/api/chains/".concat(e))}async function o(){return a("/api/agents")}async function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/judgments".concat(n(e)))}async function u(e,t){return a("/api/verify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({receipt:e,public_key:t})})}async function x(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return a("/api/cleanup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dry_run:e})})}async function m(){return a("/api/config")}async function h(e){return a("/api/config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function p(e){return a("/api/search".concat(n({q:e})))}async function g(e){return a("/api/invoices",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}s.d(t,{$Q:()=>p,Dz:()=>m,Go:()=>n,Jq:()=>g,Kt:()=>x,Lx:()=>i,MJ:()=>d,YK:()=>r,_R:()=>h,o3:()=>u,oN:()=>l,pQ:()=>o,qb:()=>c})},24158:(e,t,s)=>{"use strict";s.d(t,{h:()=>r});var a=s(88111),n=s(96741);function r(e){let{label:t,value:s,icon:r,trend:c,className:i}=e;return(0,a.jsxs)("div",{className:(0,n.cn)("card p-4",i),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,a.jsx)("span",{className:"text-xs font-medium text-text-muted uppercase tracking-wider",children:t}),r&&(0,a.jsx)(r,{className:"w-4 h-4 text-text-muted"})]}),(0,a.jsx)("div",{className:"text-2xl font-semibold text-text-primary",children:s}),c&&(0,a.jsxs)("div",{className:"mt-1 text-xs",children:[(0,a.jsxs)("span",{className:(0,n.cn)(c.value>=0?"text-success":"text-danger"),children:[c.value>=0?"+":"",c.value,"%"]}),(0,a.jsx)("span",{className:"text-text-muted ml-1",children:c.label})]})]})}},28826:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},29386:(e,t,s)=>{Promise.resolve().then(s.bind(s,21948))},30417:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},40432:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Scale",[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]])},43407:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]])},44632:(e,t,s)=>{"use strict";s.d(t,{p:()=>c});var a=s(88111),n=s(96741),r=s(1082);function c(e){let{icon:t=r.A,title:s,description:c,action:i,className:l}=e;return(0,a.jsxs)("div",{className:(0,n.cn)("flex flex-col items-center justify-center py-16 text-center",l),children:[(0,a.jsx)(t,{className:"w-12 h-12 text-text-muted mb-4"}),(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary mb-1",children:s}),c&&(0,a.jsx)("p",{className:"text-sm text-text-muted max-w-sm",children:c}),i&&(0,a.jsx)("div",{className:"mt-4",children:i})]})}},46233:(e,t,s)=>{"use strict";s.d(t,{W:()=>c});var a=s(88111),n=s(94745),r=s(96741);function c(e){let{message:t="Something went wrong",onRetry:s,className:c}=e;return(0,a.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center justify-center py-16 text-center",c),children:[(0,a.jsx)(n.A,{className:"w-12 h-12 text-danger mb-4"}),(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary mb-1",children:"Error"}),(0,a.jsx)("p",{className:"text-sm text-text-muted max-w-sm mb-4",children:t}),s&&(0,a.jsx)("button",{onClick:s,className:"px-4 py-2 text-sm font-medium bg-primary text-white rounded-md hover:bg-primary-hover transition-colors",children:"Retry"})]})}},47126:(e,t,s)=>{"use strict";s.d(t,{f:()=>c});var a=s(88111),n=s(62455),r=s(96741);function c(e){let{date:t,className:s}=e;return(0,a.jsx)("time",{dateTime:t,title:(0,n.Yq)(t),className:(0,r.cn)("text-text-secondary",s),children:(0,n.fF)(t)})}},62455:(e,t,s)=>{"use strict";function a(e){let t="string"==typeof e?new Date(e):e,s=new Date().getTime()-t.getTime();if(s<0)return"just now";let a=Math.floor(s/1e3);if(a<60)return"".concat(a,"s ago");let n=Math.floor(a/60);if(n<60)return"".concat(n," min ago");let r=Math.floor(n/60);if(r<24)return"".concat(r," hr ago");let c=Math.floor(r/24);if(c<30)return"".concat(c,"d ago");let i=Math.floor(c/30);return"".concat(i,"mo ago")}function n(e){return null==e?"—":e<1e3?"".concat(e,"ms"):"".concat((e/1e3).toFixed(1),"s")}function r(e){return null==e?"—":0===e?"$0.00":e<.01?"$".concat(e.toFixed(4)):"$".concat(e.toFixed(2))}function c(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function l(e){return e.toLocaleString("en-US")}function o(e){return"".concat((100*e).toFixed(1),"%")}function d(e){return("string"==typeof e?new Date(e):e).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})}s.d(t,{Ct:()=>c,Yq:()=>d,ZV:()=>l,a3:()=>n,fF:()=>a,l9:()=>o,lV:()=>i,vv:()=>r})},66187:(e,t,s)=>{"use strict";s.d(t,{AV:()=>l,Eg:()=>c,F6:()=>i,O0:()=>r});var a=s(88111),n=s(96741);function r(e){let{className:t}=e;return(0,a.jsx)("div",{className:(0,n.cn)("animate-pulse bg-bg-tertiary rounded",t)})}function c(e){let{count:t=6}=e;return(0,a.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4",children:Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"card p-4",children:[(0,a.jsx)(r,{className:"h-3 w-16 mb-3"}),(0,a.jsx)(r,{className:"h-7 w-20"})]},t))})}function i(e){let{rows:t=5}=e;return(0,a.jsxs)("div",{className:"card overflow-hidden",children:[(0,a.jsx)("div",{className:"border-b border-border p-3",children:(0,a.jsx)(r,{className:"h-4 w-48"})}),Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center gap-4 p-3 border-b border-border-subtle last:border-0",children:[(0,a.jsx)(r,{className:"h-4 w-24"}),(0,a.jsx)(r,{className:"h-4 w-32"}),(0,a.jsx)(r,{className:"h-4 w-20"}),(0,a.jsx)(r,{className:"h-4 w-16 ml-auto"})]},t))]})}function l(){return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)(r,{className:"h-8 w-48"}),(0,a.jsx)(c,{}),(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[(0,a.jsx)(i,{}),(0,a.jsx)(i,{})]})]})}},84109:(e,t,s)=>{"use strict";s.d(t,{Ez:()=>a,ZT:()=>r,av:()=>c,cZ:()=>n});let a={completed:{bg:"bg-success-subtle",text:"text-success",dot:"bg-success"},failed:{bg:"bg-danger-subtle",text:"text-danger",dot:"bg-danger"},pending:{bg:"bg-warning-subtle",text:"text-warning",dot:"bg-warning"},timeout:{bg:"bg-danger-subtle",text:"text-danger",dot:"bg-danger"}},n={max_latency_ms:"Max Latency",max_cost_usd:"Max Cost",min_confidence:"Min Confidence",required_fields:"Required Fields",status_must_be:"Status Must Be",output_schema:"Output Schema"},r={pass:{bg:"bg-success-subtle",text:"text-success"},fail:{bg:"bg-danger-subtle",text:"text-danger"},partial:{bg:"bg-warning-subtle",text:"text-warning"}},c=1e4},89654:(e,t,s)=>{"use strict";s.d(t,{c:()=>i});var a=s(55271),n=s(84109);let r="agent-receipts-auto-refresh",c="agent-receipts-refresh-interval";function i(){let[e,t]=(0,a.useState)(!0),[s,i]=(0,a.useState)(n.av);return(0,a.useEffect)(()=>{let e=function(){try{var e;let t="false"!==localStorage.getItem(r),s=parseInt(null!=(e=localStorage.getItem(c))?e:"",10);return{enabled:t,interval:isNaN(s)?n.av:s}}catch(e){return{enabled:!0,interval:n.av}}}();t(e.enabled),i(e.interval)},[]),{enabled:e,interval:s,toggle:(0,a.useCallback)(()=>{t(e=>{let t=!e;try{localStorage.setItem(r,String(t))}catch(e){}return t})},[]),setInterval:(0,a.useCallback)(e=>{i(e);try{localStorage.setItem(c,String(e))}catch(e){}},[]),refreshInterval:e?s:0}}},94745:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},96741:(e,t,s)=>{"use strict";s.d(t,{cn:()=>r});var a=s(55242),n=s(13065);function r(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return(0,n.QP)((0,a.$)(t))}}},e=>{e.O(0,[702,935,388,814,743,358],()=>e(e.s=29386)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[886],{734:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Receipt",[["path",{d:"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z",key:"q3az6g"}],["path",{d:"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8",key:"1h4pet"}],["path",{d:"M12 17.5v-11",key:"1jc1ny"}]])},1082:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]])},4627:(e,t,s)=>{"use strict";s.d(t,{b:()=>o});var a=s(88111),n=s(96741),r=s(11063);let i=(0,r.A)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),l=(0,r.A)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),c=(0,r.A)("ArrowUpDown",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);function o(e){let{columns:t,data:s,sortField:r,sortDir:o,onSort:d,onRowClick:u,rowKey:x,className:p}=e;return(0,a.jsx)("div",{className:(0,n.cn)("card overflow-hidden",p),children:(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full text-sm",children:[(0,a.jsx)("thead",{children:(0,a.jsx)("tr",{className:"border-b border-border bg-bg-secondary",children:t.map(e=>(0,a.jsx)("th",{className:(0,n.cn)("px-4 py-3 text-left text-xs font-medium text-text-muted uppercase tracking-wider whitespace-nowrap",e.sortable&&"cursor-pointer select-none hover:text-text-secondary",e.className),onClick:e.sortable&&d?()=>d(e.key):void 0,children:(0,a.jsxs)("span",{className:"inline-flex items-center gap-1",children:[e.label,e.sortable&&(r===e.key?"asc"===o?(0,a.jsx)(i,{className:"w-3 h-3"}):(0,a.jsx)(l,{className:"w-3 h-3"}):(0,a.jsx)(c,{className:"w-3 h-3 opacity-30"}))]})},e.key))})}),(0,a.jsx)("tbody",{className:"divide-y divide-border-subtle",children:s.map(e=>(0,a.jsx)("tr",{className:(0,n.cn)("transition-colors",u&&"cursor-pointer hover:bg-bg-secondary"),onClick:u?()=>u(e):void 0,children:t.map(t=>(0,a.jsx)("td",{className:(0,n.cn)("px-4 py-3 whitespace-nowrap",t.className),children:t.render(e)},t.key))},x(e)))})]})})})}},4736:(e,t,s)=>{"use strict";var a=s(11504);s.o(a,"usePathname")&&s.d(t,{usePathname:function(){return a.usePathname}}),s.o(a,"useRouter")&&s.d(t,{useRouter:function(){return a.useRouter}}),s.o(a,"useSearchParams")&&s.d(t,{useSearchParams:function(){return a.useSearchParams}})},6678:(e,t,s)=>{"use strict";s.d(t,{p:()=>i});var a=s(95388),n=s(23176),r=s(89654);function i(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{refreshInterval:t}=(0,r.c)(),s="receipts".concat((0,n.Go)(e));return(0,a.Ay)(s,()=>(0,n.qb)(e),{refreshInterval:t,revalidateOnFocus:!0})}},19593:(e,t,s)=>{"use strict";s.d(t,{d:()=>l});var a=s(88111),n=s(30417),r=s(28826),i=s(96741);function l(e){let{page:t,totalPages:s,onPageChange:l,className:c}=e;if(s<=1)return null;let o=[];if(s<=7)for(let e=1;e<=s;e++)o.push(e);else{o.push(1),t>3&&o.push("ellipsis");for(let e=Math.max(2,t-1);e<=Math.min(s-1,t+1);e++)o.push(e);t<s-2&&o.push("ellipsis"),o.push(s)}return(0,a.jsxs)("div",{className:(0,i.cn)("flex items-center justify-center gap-1",c),children:[(0,a.jsx)("button",{onClick:()=>l(t-1),disabled:t<=1,className:"p-2 rounded-md text-text-muted hover:bg-bg-tertiary disabled:opacity-30 disabled:cursor-not-allowed transition-colors",children:(0,a.jsx)(n.A,{className:"w-4 h-4"})}),o.map((e,s)=>"ellipsis"===e?(0,a.jsx)("span",{className:"px-2 text-text-muted",children:"..."},"e".concat(s)):(0,a.jsx)("button",{onClick:()=>l(e),className:(0,i.cn)("px-3 py-1 rounded-md text-sm transition-colors",e===t?"bg-primary text-white font-medium":"text-text-secondary hover:bg-bg-tertiary"),children:e},e)),(0,a.jsx)("button",{onClick:()=>l(t+1),disabled:t>=s,className:"p-2 rounded-md text-text-muted hover:bg-bg-tertiary disabled:opacity-30 disabled:cursor-not-allowed transition-colors",children:(0,a.jsx)(r.A,{className:"w-4 h-4"})})]})}},23176:(e,t,s)=>{"use strict";async function a(e,t){let s=await fetch(e,t);if(!s.ok){let e=await s.text().catch(()=>"Unknown error");throw Error("API error ".concat(s.status,": ").concat(e))}return s.json()}function n(e){let t=new URLSearchParams;for(let[s,a]of Object.entries(e))void 0!==a&&""!==a&&t.set(s,String(a));let s=t.toString();return s?"?".concat(s):""}async function r(){return a("/api/stats")}async function i(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/receipts".concat(n(e)))}async function l(e){return a("/api/receipts/".concat(e))}async function c(e){return a("/api/chains/".concat(e))}async function o(){return a("/api/agents")}async function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/judgments".concat(n(e)))}async function u(e,t){return a("/api/verify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({receipt:e,public_key:t})})}async function x(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return a("/api/cleanup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dry_run:e})})}async function p(){return a("/api/config")}async function m(e){return a("/api/config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function h(e){return a("/api/search".concat(n({q:e})))}async function g(e){return a("/api/invoices",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}s.d(t,{$Q:()=>h,Dz:()=>p,Go:()=>n,Jq:()=>g,Kt:()=>x,Lx:()=>l,MJ:()=>d,YK:()=>r,_R:()=>m,o3:()=>u,oN:()=>c,pQ:()=>o,qb:()=>i})},28826:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},30417:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},37326:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},44632:(e,t,s)=>{"use strict";s.d(t,{p:()=>i});var a=s(88111),n=s(96741),r=s(1082);function i(e){let{icon:t=r.A,title:s,description:i,action:l,className:c}=e;return(0,a.jsxs)("div",{className:(0,n.cn)("flex flex-col items-center justify-center py-16 text-center",c),children:[(0,a.jsx)(t,{className:"w-12 h-12 text-text-muted mb-4"}),(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary mb-1",children:s}),i&&(0,a.jsx)("p",{className:"text-sm text-text-muted max-w-sm",children:i}),l&&(0,a.jsx)("div",{className:"mt-4",children:l})]})}},46233:(e,t,s)=>{"use strict";s.d(t,{W:()=>i});var a=s(88111),n=s(94745),r=s(96741);function i(e){let{message:t="Something went wrong",onRetry:s,className:i}=e;return(0,a.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center justify-center py-16 text-center",i),children:[(0,a.jsx)(n.A,{className:"w-12 h-12 text-danger mb-4"}),(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary mb-1",children:"Error"}),(0,a.jsx)("p",{className:"text-sm text-text-muted max-w-sm mb-4",children:t}),s&&(0,a.jsx)("button",{onClick:s,className:"px-4 py-2 text-sm font-medium bg-primary text-white rounded-md hover:bg-primary-hover transition-colors",children:"Retry"})]})}},47126:(e,t,s)=>{"use strict";s.d(t,{f:()=>i});var a=s(88111),n=s(62455),r=s(96741);function i(e){let{date:t,className:s}=e;return(0,a.jsx)("time",{dateTime:t,title:(0,n.Yq)(t),className:(0,r.cn)("text-text-secondary",s),children:(0,n.fF)(t)})}},58904:(e,t,s)=>{Promise.resolve().then(s.bind(s,98177))},59434:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]])},62455:(e,t,s)=>{"use strict";function a(e){let t="string"==typeof e?new Date(e):e,s=new Date().getTime()-t.getTime();if(s<0)return"just now";let a=Math.floor(s/1e3);if(a<60)return"".concat(a,"s ago");let n=Math.floor(a/60);if(n<60)return"".concat(n," min ago");let r=Math.floor(n/60);if(r<24)return"".concat(r," hr ago");let i=Math.floor(r/24);if(i<30)return"".concat(i,"d ago");let l=Math.floor(i/30);return"".concat(l,"mo ago")}function n(e){return null==e?"—":e<1e3?"".concat(e,"ms"):"".concat((e/1e3).toFixed(1),"s")}function r(e){return null==e?"—":0===e?"$0.00":e<.01?"$".concat(e.toFixed(4)):"$".concat(e.toFixed(2))}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function c(e){return e.toLocaleString("en-US")}function o(e){return"".concat((100*e).toFixed(1),"%")}function d(e){return("string"==typeof e?new Date(e):e).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})}s.d(t,{Ct:()=>i,Yq:()=>d,ZV:()=>c,a3:()=>n,fF:()=>a,l9:()=>o,lV:()=>l,vv:()=>r})},66187:(e,t,s)=>{"use strict";s.d(t,{AV:()=>c,Eg:()=>i,F6:()=>l,O0:()=>r});var a=s(88111),n=s(96741);function r(e){let{className:t}=e;return(0,a.jsx)("div",{className:(0,n.cn)("animate-pulse bg-bg-tertiary rounded",t)})}function i(e){let{count:t=6}=e;return(0,a.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4",children:Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"card p-4",children:[(0,a.jsx)(r,{className:"h-3 w-16 mb-3"}),(0,a.jsx)(r,{className:"h-7 w-20"})]},t))})}function l(e){let{rows:t=5}=e;return(0,a.jsxs)("div",{className:"card overflow-hidden",children:[(0,a.jsx)("div",{className:"border-b border-border p-3",children:(0,a.jsx)(r,{className:"h-4 w-48"})}),Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center gap-4 p-3 border-b border-border-subtle last:border-0",children:[(0,a.jsx)(r,{className:"h-4 w-24"}),(0,a.jsx)(r,{className:"h-4 w-32"}),(0,a.jsx)(r,{className:"h-4 w-20"}),(0,a.jsx)(r,{className:"h-4 w-16 ml-auto"})]},t))]})}function c(){return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)(r,{className:"h-8 w-48"}),(0,a.jsx)(i,{}),(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[(0,a.jsx)(l,{}),(0,a.jsx)(l,{})]})]})}},68498:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},84109:(e,t,s)=>{"use strict";s.d(t,{Ez:()=>a,ZT:()=>r,av:()=>i,cZ:()=>n});let a={completed:{bg:"bg-success-subtle",text:"text-success",dot:"bg-success"},failed:{bg:"bg-danger-subtle",text:"text-danger",dot:"bg-danger"},pending:{bg:"bg-warning-subtle",text:"text-warning",dot:"bg-warning"},timeout:{bg:"bg-danger-subtle",text:"text-danger",dot:"bg-danger"}},n={max_latency_ms:"Max Latency",max_cost_usd:"Max Cost",min_confidence:"Min Confidence",required_fields:"Required Fields",status_must_be:"Status Must Be",output_schema:"Output Schema"},r={pass:{bg:"bg-success-subtle",text:"text-success"},fail:{bg:"bg-danger-subtle",text:"text-danger"},partial:{bg:"bg-warning-subtle",text:"text-warning"}},i=1e4},85605:(e,t,s)=>{"use strict";s.d(t,{W:()=>i});var a=s(88111),n=s(96741),r=s(84109);function i(e){var t;let{status:s,className:i}=e,l=null!=(t=r.Ez[s])?t:{bg:"bg-warning-subtle",text:"text-warning",dot:"bg-warning"};return(0,a.jsxs)("span",{className:(0,n.cn)("inline-flex items-center gap-1.5 px-2 py-0.5 rounded-full text-xs font-medium",l.bg,l.text,i),children:[(0,a.jsx)("span",{className:(0,n.cn)("w-1.5 h-1.5 rounded-full",l.dot)}),s]})}},89654:(e,t,s)=>{"use strict";s.d(t,{c:()=>l});var a=s(55271),n=s(84109);let r="agent-receipts-auto-refresh",i="agent-receipts-refresh-interval";function l(){let[e,t]=(0,a.useState)(!0),[s,l]=(0,a.useState)(n.av);return(0,a.useEffect)(()=>{let e=function(){try{var e;let t="false"!==localStorage.getItem(r),s=parseInt(null!=(e=localStorage.getItem(i))?e:"",10);return{enabled:t,interval:isNaN(s)?n.av:s}}catch(e){return{enabled:!0,interval:n.av}}}();t(e.enabled),l(e.interval)},[]),{enabled:e,interval:s,toggle:(0,a.useCallback)(()=>{t(e=>{let t=!e;try{localStorage.setItem(r,String(t))}catch(e){}return t})},[]),setInterval:(0,a.useCallback)(e=>{l(e);try{localStorage.setItem(i,String(e))}catch(e){}},[]),refreshInterval:e?s:0}}},94745:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},96450:(e,t,s)=>{"use strict";s.d(t,{L:()=>r});var a=s(88111),n=s(96741);function r(e){let{passed:t,total:s,className:r}=e;if(0===s)return(0,a.jsx)("span",{className:"text-text-muted text-xs",children:"—"});let i=t===s;return(0,a.jsxs)("span",{className:(0,n.cn)("inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium",i?"bg-success-subtle text-success":"bg-danger-subtle text-danger",r),children:[t,"/",s," ",i?"✓":"✗"]})}},96741:(e,t,s)=>{"use strict";s.d(t,{cn:()=>r});var a=s(55242),n=s(13065);function r(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return(0,n.QP)((0,a.$)(t))}},98177:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>w});var a=s(88111),n=s(4736),r=s(55271),i=s(6678),l=s(4627),c=s(19593),o=s(85605),d=s(96450),u=s(47126),x=s(44632),p=s(46233),m=s(66187),h=s(62455),g=s(68498),b=s(59434),y=s(37326),f=s(734),v=s(55935),j=s.n(v);function N(){var e,t,s,v,N,w,k,A,C,_,S,M,P,R,O,T;let L=(0,n.useSearchParams)(),q=(0,n.useRouter)(),[F,I]=(0,r.useState)(null!=(e=L.get("search"))?e:""),E={page:parseInt(null!=(t=L.get("page"))?t:"1",10),limit:parseInt(null!=(s=L.get("limit"))?s:"50",10),sort:null!=(v=L.get("sort"))?v:"timestamp:desc",agent_id:null!=(N=L.get("agent_id"))?N:void 0,action:null!=(w=L.get("action"))?w:void 0,status:null!=(k=L.get("status"))?k:void 0,constraint_passed:null!=(A=L.get("constraint_passed"))?A:void 0,receipt_type:null!=(C=L.get("receipt_type"))?C:void 0,environment:null!=(_=L.get("environment"))?_:void 0,search:null!=(S=L.get("search"))?S:void 0},{data:D,error:U,isLoading:J,mutate:z}=(0,i.p)(E),V=(0,r.useCallback)(e=>{let t=new URLSearchParams(L.toString());for(let[s,a]of Object.entries(e))a?t.set(s,a):t.delete(s);e.page||t.set("page","1"),q.push("/receipts?".concat(t.toString()))},[L,q]),K=(0,r.useCallback)(()=>{V({search:F||void 0})},[F,V]),$=(0,r.useCallback)(e=>{var t;let[s,a]=(null!=(t=L.get("sort"))?t:"timestamp:desc").split(":");V({sort:"".concat(e,":").concat(s===e&&"desc"===a?"asc":"desc")})},[L,V]),H=(0,r.useCallback)(()=>{q.push("/receipts"),I("")},[q]),W=L.get("agent_id")||L.get("action")||L.get("status")||L.get("constraint_passed")||L.get("receipt_type")||L.get("environment")||L.get("search"),[Z,Q]=(null!=(M=L.get("sort"))?M:"timestamp:desc").split(":"),Y=[{key:"timestamp",label:"Time",sortable:!0,render:e=>(0,a.jsx)(u.f,{date:e.timestamp,className:"text-xs"})},{key:"receipt_id",label:"Receipt ID",render:e=>(0,a.jsx)("code",{className:"font-mono text-xs text-primary",children:(0,h.Ct)(e.receipt_id)})},{key:"agent_id",label:"Agent",sortable:!0,render:e=>(0,a.jsx)(j(),{href:"/agents/".concat(e.agent_id),className:"text-xs text-text-secondary hover:text-primary",onClick:e=>e.stopPropagation(),children:e.agent_id})},{key:"action",label:"Action",sortable:!0,render:e=>(0,a.jsx)("span",{className:"text-sm",children:e.action})},{key:"status",label:"Status",sortable:!0,render:e=>(0,a.jsx)(o.W,{status:e.status})},{key:"constraints",label:"Constraints",render:e=>{let t=e.constraint_result;if(!t||!Array.isArray(t.results))return(0,a.jsx)("span",{className:"text-text-muted text-xs",children:"—"});let s=t.results.filter(e=>e.passed).length;return(0,a.jsx)(d.L,{passed:s,total:t.results.length})}},{key:"latency_ms",label:"Latency",sortable:!0,render:e=>(0,a.jsx)("span",{className:"text-xs text-text-secondary",children:(0,h.a3)(e.latency_ms)})},{key:"cost_usd",label:"Cost",sortable:!0,render:e=>(0,a.jsx)("span",{className:"text-xs text-text-secondary",children:(0,h.vv)(e.cost_usd)})},{key:"chain_id",label:"Chain",render:e=>e.chain_id?(0,a.jsx)(j(),{href:"/chains/".concat(e.chain_id),className:"font-mono text-xs text-primary hover:underline",onClick:e=>e.stopPropagation(),children:(0,h.Ct)(e.chain_id,10)}):(0,a.jsx)("span",{className:"text-text-muted text-xs",children:"—"})}],B=(0,r.useCallback)(()=>{if(!D)return;let e=new Blob([JSON.stringify(D.data,null,2)],{type:"application/json"}),t=URL.createObjectURL(e),s=document.createElement("a");s.href=t,s.download="receipts-".concat(new Date().toISOString().slice(0,10),".json"),s.click(),URL.revokeObjectURL(t)},[D]);return(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("div",{className:"flex items-center justify-between",children:(0,a.jsx)("h1",{className:"text-lg font-semibold text-text-primary",children:"Receipts"})}),(0,a.jsx)("div",{className:"card p-4 space-y-3",children:(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsxs)("select",{value:null!=(P=L.get("status"))?P:"",onChange:e=>V({status:e.target.value||void 0}),className:"px-3 py-1.5 text-sm border border-border rounded-md bg-bg-primary text-text-primary",children:[(0,a.jsx)("option",{value:"",children:"All Status"}),(0,a.jsx)("option",{value:"completed",children:"Completed"}),(0,a.jsx)("option",{value:"failed",children:"Failed"}),(0,a.jsx)("option",{value:"pending",children:"Pending"}),(0,a.jsx)("option",{value:"timeout",children:"Timeout"})]}),(0,a.jsxs)("select",{value:null!=(R=L.get("constraint_passed"))?R:"",onChange:e=>V({constraint_passed:e.target.value||void 0}),className:"px-3 py-1.5 text-sm border border-border rounded-md bg-bg-primary text-text-primary",children:[(0,a.jsx)("option",{value:"",children:"All Constraints"}),(0,a.jsx)("option",{value:"true",children:"Passed"}),(0,a.jsx)("option",{value:"false",children:"Failed"})]}),(0,a.jsxs)("select",{value:null!=(O=L.get("receipt_type"))?O:"",onChange:e=>V({receipt_type:e.target.value||void 0}),className:"px-3 py-1.5 text-sm border border-border rounded-md bg-bg-primary text-text-primary",children:[(0,a.jsx)("option",{value:"",children:"All Types"}),(0,a.jsx)("option",{value:"action",children:"Action"}),(0,a.jsx)("option",{value:"judgment",children:"Judgment"}),(0,a.jsx)("option",{value:"arbitration",children:"Arbitration"})]}),(0,a.jsxs)("select",{value:null!=(T=L.get("environment"))?T:"",onChange:e=>V({environment:e.target.value||void 0}),className:"px-3 py-1.5 text-sm border border-border rounded-md bg-bg-primary text-text-primary",children:[(0,a.jsx)("option",{value:"",children:"All Environments"}),(0,a.jsx)("option",{value:"production",children:"Production"}),(0,a.jsx)("option",{value:"staging",children:"Staging"}),(0,a.jsx)("option",{value:"test",children:"Test"})]}),(0,a.jsx)("div",{className:"flex-1 flex items-center gap-2 min-w-[200px]",children:(0,a.jsx)("input",{type:"text",placeholder:"Search...",value:F,onChange:e=>I(e.target.value),onKeyDown:e=>"Enter"===e.key&&K(),className:"flex-1 px-3 py-1.5 text-sm border border-border rounded-md bg-bg-primary text-text-primary placeholder:text-text-muted"})}),W&&(0,a.jsxs)("button",{onClick:H,className:"flex items-center gap-1 px-3 py-1.5 text-xs text-text-muted hover:text-text-secondary transition-colors",children:[(0,a.jsx)(g.A,{className:"w-3 h-3"})," Clear"]})]})}),D&&(0,a.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,a.jsxs)("span",{className:"text-text-muted",children:["Showing ",(D.pagination.page-1)*D.pagination.limit+1,"–",Math.min(D.pagination.page*D.pagination.limit,D.pagination.total)," of ",D.pagination.total," receipts"]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)("button",{onClick:B,className:"flex items-center gap-1 px-3 py-1.5 text-xs border border-border rounded-md text-text-secondary hover:bg-bg-secondary transition-colors",children:[(0,a.jsx)(b.A,{className:"w-3 h-3"})," Export"]}),(0,a.jsxs)("button",{onClick:()=>z(),className:"flex items-center gap-1 px-3 py-1.5 text-xs border border-border rounded-md text-text-secondary hover:bg-bg-secondary transition-colors",children:[(0,a.jsx)(y.A,{className:"w-3 h-3"})," Refresh"]})]})]}),U?(0,a.jsx)(p.W,{message:U.message,onRetry:()=>z()}):J?(0,a.jsx)(m.F6,{rows:10}):D&&0!==D.data.length?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l.b,{columns:Y,data:D.data,sortField:Z,sortDir:Q,onSort:$,onRowClick:e=>q.push("/receipts/".concat(e.receipt_id)),rowKey:e=>e.receipt_id}),(0,a.jsx)(c.d,{page:D.pagination.page,totalPages:D.pagination.total_pages,onPageChange:e=>V({page:String(e)})})]}):(0,a.jsx)(x.p,{icon:f.A,title:"No receipts found",description:W?"Try adjusting your filters":"Create receipts using the MCP server, SDK, or CLI"})]})}function w(){return(0,a.jsx)(r.Suspense,{fallback:(0,a.jsx)(m.F6,{rows:10}),children:(0,a.jsx)(N,{})})}}},e=>{e.O(0,[702,935,388,814,743,358],()=>e(e.s=58904)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[886],{734:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Receipt",[["path",{d:"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z",key:"q3az6g"}],["path",{d:"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8",key:"1h4pet"}],["path",{d:"M12 17.5v-11",key:"1jc1ny"}]])},1082:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]])},4627:(e,t,s)=>{"use strict";s.d(t,{b:()=>o});var a=s(88111),n=s(96741),r=s(11063);let i=(0,r.A)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),l=(0,r.A)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),c=(0,r.A)("ArrowUpDown",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);function o(e){let{columns:t,data:s,sortField:r,sortDir:o,onSort:d,onRowClick:u,rowKey:x,className:p}=e;return(0,a.jsx)("div",{className:(0,n.cn)("card overflow-hidden",p),children:(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full text-sm",children:[(0,a.jsx)("thead",{children:(0,a.jsx)("tr",{className:"border-b border-border bg-bg-secondary",children:t.map(e=>(0,a.jsx)("th",{className:(0,n.cn)("px-4 py-3 text-left text-xs font-medium text-text-muted uppercase tracking-wider whitespace-nowrap",e.sortable&&"cursor-pointer select-none hover:text-text-secondary",e.className),onClick:e.sortable&&d?()=>d(e.key):void 0,children:(0,a.jsxs)("span",{className:"inline-flex items-center gap-1",children:[e.label,e.sortable&&(r===e.key?"asc"===o?(0,a.jsx)(i,{className:"w-3 h-3"}):(0,a.jsx)(l,{className:"w-3 h-3"}):(0,a.jsx)(c,{className:"w-3 h-3 opacity-30"}))]})},e.key))})}),(0,a.jsx)("tbody",{className:"divide-y divide-border-subtle",children:s.map(e=>(0,a.jsx)("tr",{className:(0,n.cn)("transition-colors",u&&"cursor-pointer hover:bg-bg-secondary"),onClick:u?()=>u(e):void 0,children:t.map(t=>(0,a.jsx)("td",{className:(0,n.cn)("px-4 py-3 whitespace-nowrap",t.className),children:t.render(e)},t.key))},x(e)))})]})})})}},4736:(e,t,s)=>{"use strict";var a=s(11504);s.o(a,"usePathname")&&s.d(t,{usePathname:function(){return a.usePathname}}),s.o(a,"useRouter")&&s.d(t,{useRouter:function(){return a.useRouter}}),s.o(a,"useSearchParams")&&s.d(t,{useSearchParams:function(){return a.useSearchParams}})},6678:(e,t,s)=>{"use strict";s.d(t,{p:()=>i});var a=s(95388),n=s(23176),r=s(89654);function i(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{refreshInterval:t}=(0,r.c)(),s="receipts".concat((0,n.Go)(e));return(0,a.Ay)(s,()=>(0,n.qb)(e),{refreshInterval:t,revalidateOnFocus:!0})}},19593:(e,t,s)=>{"use strict";s.d(t,{d:()=>l});var a=s(88111),n=s(30417),r=s(28826),i=s(96741);function l(e){let{page:t,totalPages:s,onPageChange:l,className:c}=e;if(s<=1)return null;let o=[];if(s<=7)for(let e=1;e<=s;e++)o.push(e);else{o.push(1),t>3&&o.push("ellipsis");for(let e=Math.max(2,t-1);e<=Math.min(s-1,t+1);e++)o.push(e);t<s-2&&o.push("ellipsis"),o.push(s)}return(0,a.jsxs)("div",{className:(0,i.cn)("flex items-center justify-center gap-1",c),children:[(0,a.jsx)("button",{onClick:()=>l(t-1),disabled:t<=1,className:"p-2 rounded-md text-text-muted hover:bg-bg-tertiary disabled:opacity-30 disabled:cursor-not-allowed transition-colors",children:(0,a.jsx)(n.A,{className:"w-4 h-4"})}),o.map((e,s)=>"ellipsis"===e?(0,a.jsx)("span",{className:"px-2 text-text-muted",children:"..."},"e".concat(s)):(0,a.jsx)("button",{onClick:()=>l(e),className:(0,i.cn)("px-3 py-1 rounded-md text-sm transition-colors",e===t?"bg-primary text-white font-medium":"text-text-secondary hover:bg-bg-tertiary"),children:e},e)),(0,a.jsx)("button",{onClick:()=>l(t+1),disabled:t>=s,className:"p-2 rounded-md text-text-muted hover:bg-bg-tertiary disabled:opacity-30 disabled:cursor-not-allowed transition-colors",children:(0,a.jsx)(r.A,{className:"w-4 h-4"})})]})}},23176:(e,t,s)=>{"use strict";async function a(e,t){let s=await fetch(e,t);if(!s.ok){let e=await s.text().catch(()=>"Unknown error");throw Error("API error ".concat(s.status,": ").concat(e))}return s.json()}function n(e){let t=new URLSearchParams;for(let[s,a]of Object.entries(e))void 0!==a&&""!==a&&t.set(s,String(a));let s=t.toString();return s?"?".concat(s):""}async function r(){return a("/api/stats")}async function i(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/receipts".concat(n(e)))}async function l(e){return a("/api/receipts/".concat(e))}async function c(e){return a("/api/chains/".concat(e))}async function o(){return a("/api/agents")}async function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/judgments".concat(n(e)))}async function u(e,t){return a("/api/verify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({receipt:e,public_key:t})})}async function x(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return a("/api/cleanup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dry_run:e})})}async function p(){return a("/api/config")}async function m(e){return a("/api/config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function h(e){return a("/api/search".concat(n({q:e})))}async function g(e){return a("/api/invoices",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}s.d(t,{$Q:()=>h,Dz:()=>p,Go:()=>n,Jq:()=>g,Kt:()=>x,Lx:()=>l,MJ:()=>d,YK:()=>r,_R:()=>m,o3:()=>u,oN:()=>c,pQ:()=>o,qb:()=>i})},28826:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},30417:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},37326:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},44632:(e,t,s)=>{"use strict";s.d(t,{p:()=>i});var a=s(88111),n=s(96741),r=s(1082);function i(e){let{icon:t=r.A,title:s,description:i,action:l,className:c}=e;return(0,a.jsxs)("div",{className:(0,n.cn)("flex flex-col items-center justify-center py-16 text-center",c),children:[(0,a.jsx)(t,{className:"w-12 h-12 text-text-muted mb-4"}),(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary mb-1",children:s}),i&&(0,a.jsx)("p",{className:"text-sm text-text-muted max-w-sm",children:i}),l&&(0,a.jsx)("div",{className:"mt-4",children:l})]})}},46233:(e,t,s)=>{"use strict";s.d(t,{W:()=>i});var a=s(88111),n=s(94745),r=s(96741);function i(e){let{message:t="Something went wrong",onRetry:s,className:i}=e;return(0,a.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center justify-center py-16 text-center",i),children:[(0,a.jsx)(n.A,{className:"w-12 h-12 text-danger mb-4"}),(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary mb-1",children:"Error"}),(0,a.jsx)("p",{className:"text-sm text-text-muted max-w-sm mb-4",children:t}),s&&(0,a.jsx)("button",{onClick:s,className:"px-4 py-2 text-sm font-medium bg-primary text-white rounded-md hover:bg-primary-hover transition-colors",children:"Retry"})]})}},47126:(e,t,s)=>{"use strict";s.d(t,{f:()=>i});var a=s(88111),n=s(62455),r=s(96741);function i(e){let{date:t,className:s}=e;return(0,a.jsx)("time",{dateTime:t,title:(0,n.Yq)(t),className:(0,r.cn)("text-text-secondary",s),children:(0,n.fF)(t)})}},58904:(e,t,s)=>{Promise.resolve().then(s.bind(s,98177))},59434:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]])},62455:(e,t,s)=>{"use strict";function a(e){let t="string"==typeof e?new Date(e):e,s=new Date().getTime()-t.getTime();if(s<0)return"just now";let a=Math.floor(s/1e3);if(a<60)return"".concat(a,"s ago");let n=Math.floor(a/60);if(n<60)return"".concat(n," min ago");let r=Math.floor(n/60);if(r<24)return"".concat(r," hr ago");let i=Math.floor(r/24);if(i<30)return"".concat(i,"d ago");let l=Math.floor(i/30);return"".concat(l,"mo ago")}function n(e){return null==e?"—":e<1e3?"".concat(e,"ms"):"".concat((e/1e3).toFixed(1),"s")}function r(e){return null==e?"—":0===e?"$0.00":e<.01?"$".concat(e.toFixed(4)):"$".concat(e.toFixed(2))}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function c(e){return e.toLocaleString("en-US")}function o(e){return"".concat((100*e).toFixed(1),"%")}function d(e){return("string"==typeof e?new Date(e):e).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})}s.d(t,{Ct:()=>i,Yq:()=>d,ZV:()=>c,a3:()=>n,fF:()=>a,l9:()=>o,lV:()=>l,vv:()=>r})},66187:(e,t,s)=>{"use strict";s.d(t,{AV:()=>c,Eg:()=>i,F6:()=>l,O0:()=>r});var a=s(88111),n=s(96741);function r(e){let{className:t}=e;return(0,a.jsx)("div",{className:(0,n.cn)("animate-pulse bg-bg-tertiary rounded",t)})}function i(e){let{count:t=6}=e;return(0,a.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4",children:Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"card p-4",children:[(0,a.jsx)(r,{className:"h-3 w-16 mb-3"}),(0,a.jsx)(r,{className:"h-7 w-20"})]},t))})}function l(e){let{rows:t=5}=e;return(0,a.jsxs)("div",{className:"card overflow-hidden",children:[(0,a.jsx)("div",{className:"border-b border-border p-3",children:(0,a.jsx)(r,{className:"h-4 w-48"})}),Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center gap-4 p-3 border-b border-border-subtle last:border-0",children:[(0,a.jsx)(r,{className:"h-4 w-24"}),(0,a.jsx)(r,{className:"h-4 w-32"}),(0,a.jsx)(r,{className:"h-4 w-20"}),(0,a.jsx)(r,{className:"h-4 w-16 ml-auto"})]},t))]})}function c(){return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)(r,{className:"h-8 w-48"}),(0,a.jsx)(i,{}),(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[(0,a.jsx)(l,{}),(0,a.jsx)(l,{})]})]})}},68498:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},84109:(e,t,s)=>{"use strict";s.d(t,{Ez:()=>a,ZT:()=>r,av:()=>i,cZ:()=>n});let a={completed:{bg:"bg-success-subtle",text:"text-success",dot:"bg-success"},failed:{bg:"bg-danger-subtle",text:"text-danger",dot:"bg-danger"},pending:{bg:"bg-warning-subtle",text:"text-warning",dot:"bg-warning"},timeout:{bg:"bg-danger-subtle",text:"text-danger",dot:"bg-danger"}},n={max_latency_ms:"Max Latency",max_cost_usd:"Max Cost",min_confidence:"Min Confidence",required_fields:"Required Fields",status_must_be:"Status Must Be",output_schema:"Output Schema"},r={pass:{bg:"bg-success-subtle",text:"text-success"},fail:{bg:"bg-danger-subtle",text:"text-danger"},partial:{bg:"bg-warning-subtle",text:"text-warning"}},i=1e4},85605:(e,t,s)=>{"use strict";s.d(t,{W:()=>i});var a=s(88111),n=s(96741),r=s(84109);function i(e){var t;let{status:s,className:i}=e,l=null!=(t=r.Ez[s])?t:{bg:"bg-warning-subtle",text:"text-warning",dot:"bg-warning"};return(0,a.jsxs)("span",{className:(0,n.cn)("inline-flex items-center gap-1.5 px-2 py-0.5 rounded-full text-xs font-medium",l.bg,l.text,i),children:[(0,a.jsx)("span",{className:(0,n.cn)("w-1.5 h-1.5 rounded-full",l.dot)}),s]})}},89654:(e,t,s)=>{"use strict";s.d(t,{c:()=>l});var a=s(55271),n=s(84109);let r="agent-receipts-auto-refresh",i="agent-receipts-refresh-interval";function l(){let[e,t]=(0,a.useState)(!0),[s,l]=(0,a.useState)(n.av);return(0,a.useEffect)(()=>{let e=function(){try{var e;let t="false"!==localStorage.getItem(r),s=parseInt(null!=(e=localStorage.getItem(i))?e:"",10);return{enabled:t,interval:isNaN(s)?n.av:s}}catch(e){return{enabled:!0,interval:n.av}}}();t(e.enabled),l(e.interval)},[]),{enabled:e,interval:s,toggle:(0,a.useCallback)(()=>{t(e=>{let t=!e;try{localStorage.setItem(r,String(t))}catch(e){}return t})},[]),setInterval:(0,a.useCallback)(e=>{l(e);try{localStorage.setItem(i,String(e))}catch(e){}},[]),refreshInterval:e?s:0}}},94745:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},96450:(e,t,s)=>{"use strict";s.d(t,{L:()=>r});var a=s(88111),n=s(96741);function r(e){let{passed:t,total:s,className:r}=e;if(0===s)return(0,a.jsx)("span",{className:"text-text-muted text-xs",children:"—"});let i=t===s;return(0,a.jsxs)("span",{className:(0,n.cn)("inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium",i?"bg-success-subtle text-success":"bg-danger-subtle text-danger",r),children:[t,"/",s," ",i?"✓":"✗"]})}},96741:(e,t,s)=>{"use strict";s.d(t,{cn:()=>r});var a=s(55242),n=s(13065);function r(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return(0,n.QP)((0,a.$)(t))}},98177:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>w});var a=s(88111),n=s(4736),r=s(55271),i=s(6678),l=s(4627),c=s(19593),o=s(85605),d=s(96450),u=s(47126),x=s(44632),p=s(46233),m=s(66187),h=s(62455),g=s(68498),b=s(59434),y=s(37326),f=s(734),v=s(55935),j=s.n(v);function N(){var e,t,s,v,N,w,k,A,C,_,S,M,P,R,O,T;let L=(0,n.useSearchParams)(),q=(0,n.useRouter)(),[F,I]=(0,r.useState)(null!=(e=L.get("search"))?e:""),D={page:parseInt(null!=(t=L.get("page"))?t:"1",10),limit:parseInt(null!=(s=L.get("limit"))?s:"50",10),sort:null!=(v=L.get("sort"))?v:"timestamp:desc",agent_id:null!=(N=L.get("agent_id"))?N:void 0,action:null!=(w=L.get("action"))?w:void 0,status:null!=(k=L.get("status"))?k:void 0,constraint_passed:null!=(A=L.get("constraint_passed"))?A:void 0,receipt_type:null!=(C=L.get("receipt_type"))?C:void 0,environment:null!=(_=L.get("environment"))?_:void 0,search:null!=(S=L.get("search"))?S:void 0},{data:E,error:U,isLoading:J,mutate:z}=(0,i.p)(D),V=(0,r.useCallback)(e=>{let t=new URLSearchParams(L.toString());for(let[s,a]of Object.entries(e))a?t.set(s,a):t.delete(s);e.page||t.set("page","1"),q.push("/receipts?".concat(t.toString()))},[L,q]),K=(0,r.useCallback)(()=>{V({search:F||void 0})},[F,V]),$=(0,r.useCallback)(e=>{var t;let[s,a]=(null!=(t=L.get("sort"))?t:"timestamp:desc").split(":");V({sort:"".concat(e,":").concat(s===e&&"desc"===a?"asc":"desc")})},[L,V]),H=(0,r.useCallback)(()=>{q.push("/receipts"),I("")},[q]),W=L.get("agent_id")||L.get("action")||L.get("status")||L.get("constraint_passed")||L.get("receipt_type")||L.get("environment")||L.get("search"),[Z,Q]=(null!=(M=L.get("sort"))?M:"timestamp:desc").split(":"),Y=[{key:"timestamp",label:"Time",sortable:!0,render:e=>(0,a.jsx)(u.f,{date:e.timestamp,className:"text-xs"})},{key:"receipt_id",label:"Receipt ID",render:e=>(0,a.jsx)("code",{className:"font-mono text-xs text-primary",children:(0,h.Ct)(e.receipt_id)})},{key:"agent_id",label:"Agent",sortable:!0,render:e=>(0,a.jsx)(j(),{href:"/agents/".concat(e.agent_id),className:"text-xs text-text-secondary hover:text-primary",onClick:e=>e.stopPropagation(),children:e.agent_id})},{key:"action",label:"Action",sortable:!0,render:e=>(0,a.jsx)("span",{className:"text-sm",children:e.action})},{key:"status",label:"Status",sortable:!0,render:e=>(0,a.jsx)(o.W,{status:e.status})},{key:"constraints",label:"Constraints",render:e=>{let t=e.constraint_result;if(!t||!Array.isArray(t.results))return(0,a.jsx)("span",{className:"text-text-muted text-xs",children:"—"});let s=t.results.filter(e=>e.passed).length;return(0,a.jsx)(d.L,{passed:s,total:t.results.length})}},{key:"latency_ms",label:"Latency",sortable:!0,render:e=>(0,a.jsx)("span",{className:"text-xs text-text-secondary",children:(0,h.a3)(e.latency_ms)})},{key:"cost_usd",label:"Cost",sortable:!0,render:e=>(0,a.jsx)("span",{className:"text-xs text-text-secondary",children:(0,h.vv)(e.cost_usd)})},{key:"chain_id",label:"Chain",render:e=>e.chain_id?(0,a.jsx)(j(),{href:"/chains/".concat(e.chain_id),className:"font-mono text-xs text-primary hover:underline",onClick:e=>e.stopPropagation(),children:(0,h.Ct)(e.chain_id,10)}):(0,a.jsx)("span",{className:"text-text-muted text-xs",children:"—"})}],B=(0,r.useCallback)(()=>{if(!E)return;let e=new Blob([JSON.stringify(E.data,null,2)],{type:"application/json"}),t=URL.createObjectURL(e),s=document.createElement("a");s.href=t,s.download="receipts-".concat(new Date().toISOString().slice(0,10),".json"),s.click(),URL.revokeObjectURL(t)},[E]);return(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("div",{className:"flex items-center justify-between",children:(0,a.jsx)("h1",{className:"text-lg font-semibold text-text-primary",children:"Receipts"})}),(0,a.jsx)("div",{className:"card p-4 space-y-3",children:(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsxs)("select",{value:null!=(P=L.get("status"))?P:"",onChange:e=>V({status:e.target.value||void 0}),className:"px-3 py-1.5 text-sm border border-border rounded-md bg-bg-primary text-text-primary",children:[(0,a.jsx)("option",{value:"",children:"All Status"}),(0,a.jsx)("option",{value:"completed",children:"Completed"}),(0,a.jsx)("option",{value:"failed",children:"Failed"}),(0,a.jsx)("option",{value:"pending",children:"Pending"}),(0,a.jsx)("option",{value:"timeout",children:"Timeout"})]}),(0,a.jsxs)("select",{value:null!=(R=L.get("constraint_passed"))?R:"",onChange:e=>V({constraint_passed:e.target.value||void 0}),className:"px-3 py-1.5 text-sm border border-border rounded-md bg-bg-primary text-text-primary",children:[(0,a.jsx)("option",{value:"",children:"All Constraints"}),(0,a.jsx)("option",{value:"true",children:"Passed"}),(0,a.jsx)("option",{value:"false",children:"Failed"})]}),(0,a.jsxs)("select",{value:null!=(O=L.get("receipt_type"))?O:"",onChange:e=>V({receipt_type:e.target.value||void 0}),className:"px-3 py-1.5 text-sm border border-border rounded-md bg-bg-primary text-text-primary",children:[(0,a.jsx)("option",{value:"",children:"All Types"}),(0,a.jsx)("option",{value:"action",children:"Action"}),(0,a.jsx)("option",{value:"judgment",children:"Judgment"}),(0,a.jsx)("option",{value:"arbitration",children:"Arbitration"})]}),(0,a.jsxs)("select",{value:null!=(T=L.get("environment"))?T:"",onChange:e=>V({environment:e.target.value||void 0}),className:"px-3 py-1.5 text-sm border border-border rounded-md bg-bg-primary text-text-primary",children:[(0,a.jsx)("option",{value:"",children:"All Environments"}),(0,a.jsx)("option",{value:"development",children:"Development"}),(0,a.jsx)("option",{value:"production",children:"Production"}),(0,a.jsx)("option",{value:"staging",children:"Staging"}),(0,a.jsx)("option",{value:"test",children:"Test"})]}),(0,a.jsx)("div",{className:"flex-1 flex items-center gap-2 min-w-[200px]",children:(0,a.jsx)("input",{type:"text",placeholder:"Search...",value:F,onChange:e=>I(e.target.value),onKeyDown:e=>"Enter"===e.key&&K(),className:"flex-1 px-3 py-1.5 text-sm border border-border rounded-md bg-bg-primary text-text-primary placeholder:text-text-muted"})}),W&&(0,a.jsxs)("button",{onClick:H,className:"flex items-center gap-1 px-3 py-1.5 text-xs text-text-muted hover:text-text-secondary transition-colors",children:[(0,a.jsx)(g.A,{className:"w-3 h-3"})," Clear"]})]})}),E&&(0,a.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,a.jsxs)("span",{className:"text-text-muted",children:["Showing ",(E.pagination.page-1)*E.pagination.limit+1,"–",Math.min(E.pagination.page*E.pagination.limit,E.pagination.total)," of ",E.pagination.total," receipts"]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)("button",{onClick:B,className:"flex items-center gap-1 px-3 py-1.5 text-xs border border-border rounded-md text-text-secondary hover:bg-bg-secondary transition-colors",children:[(0,a.jsx)(b.A,{className:"w-3 h-3"})," Export"]}),(0,a.jsxs)("button",{onClick:()=>z(),className:"flex items-center gap-1 px-3 py-1.5 text-xs border border-border rounded-md text-text-secondary hover:bg-bg-secondary transition-colors",children:[(0,a.jsx)(y.A,{className:"w-3 h-3"})," Refresh"]})]})]}),U?(0,a.jsx)(p.W,{message:U.message,onRetry:()=>z()}):J?(0,a.jsx)(m.F6,{rows:10}):E&&0!==E.data.length?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l.b,{columns:Y,data:E.data,sortField:Z,sortDir:Q,onSort:$,onRowClick:e=>q.push("/receipts/".concat(e.receipt_id)),rowKey:e=>e.receipt_id}),(0,a.jsx)(c.d,{page:E.pagination.page,totalPages:E.pagination.total_pages,onPageChange:e=>V({page:String(e)})})]}):(0,a.jsx)(x.p,{icon:f.A,title:"No receipts found",description:W?"Try adjusting your filters":"Create receipts using the MCP server, SDK, or CLI"})]})}function w(){return(0,a.jsx)(r.Suspense,{fallback:(0,a.jsx)(m.F6,{rows:10}),children:(0,a.jsx)(N,{})})}}},e=>{e.O(0,[702,935,388,814,743,358],()=>e(e.s=58904)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[662],{4461:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>b});var a=s(88111),r=s(55271),n=s(23176),c=s(89654),i=s(24158),l=s(71699),d=s(46233),o=s(66187),x=s(62455),m=s(96741),u=s(57979),h=s(11063);let p=(0,h.A)("Key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]),g=(0,h.A)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);var y=s(59434);function b(){var e,t;let[s,h]=(0,r.useState)(null),[b,f]=(0,r.useState)(!0),[j,v]=(0,r.useState)(null),[N,w]=(0,r.useState)(!1),[k,S]=(0,r.useState)(null),[C,A]=(0,r.useState)(!1),{enabled:_,interval:M,toggle:O,setInterval:I}=(0,c.c)(),[T,E]=(0,r.useState)("system");(0,r.useEffect)(()=>{let e=localStorage.getItem("theme");"dark"===e?E("dark"):"light"===e?E("light"):E("system")},[]);let D=(0,r.useCallback)(e=>{if(E(e),"system"===e){localStorage.removeItem("theme");let e=window.matchMedia("(prefers-color-scheme: dark)").matches;document.documentElement.classList.toggle("dark",e)}else localStorage.setItem("theme",e),document.documentElement.classList.toggle("dark","dark"===e)},[]);(0,r.useEffect)(()=>{!async function(){try{let e=await (0,n.Dz)();h(e)}catch(e){v(e instanceof Error?e.message:"Failed to load config")}finally{f(!1)}}()},[]);let L=(0,r.useCallback)(async(e,t)=>{if(s){w(!0);try{let s=await (0,n._R)({[e]:t});h(e=>({...e,...s}))}catch(e){}finally{w(!1)}}},[s]),P=(0,r.useCallback)(async e=>{A(!0);try{let t=await (0,n.Kt)(e);if(S(t),!e){let e=await (0,n.Dz)();h(e)}}catch(e){}finally{A(!1)}},[]),R=(0,r.useCallback)(async()=>{try{let e=await fetch("/api/receipts?limit=100000"),t=await e.json(),s=JSON.stringify(t.data,null,2),a=new Blob([s],{type:"application/json"}),r=URL.createObjectURL(a),n=document.createElement("a");n.href=r,n.download="all-receipts-".concat(new Date().toISOString().slice(0,10),".json"),n.click(),URL.revokeObjectURL(r)}catch(e){}},[]);if(j)return(0,a.jsx)(d.W,{message:j});if(b||!s)return(0,a.jsx)(o.AV,{});let U=null!=(e=s.public_key)?e:"";return(0,a.jsxs)("div",{className:"space-y-6 max-w-2xl",children:[(0,a.jsx)("h1",{className:"text-lg font-semibold text-text-primary",children:"Settings"}),(0,a.jsxs)("div",{className:"card",children:[(0,a.jsx)("div",{className:"px-4 py-3 border-b border-border",children:(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary",children:"Configuration"})}),(0,a.jsxs)("div",{className:"p-4 space-y-4",children:[(0,a.jsx)("div",{className:"flex items-center justify-between",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-sm font-medium text-text-primary",children:"Data Directory"}),(0,a.jsx)("p",{className:"text-xs text-text-muted",children:s.data_dir})]})}),(0,a.jsx)("div",{className:"flex items-center justify-between",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-sm font-medium text-text-primary",children:"Public Key"}),(0,a.jsxs)("div",{className:"flex items-center gap-1 mt-0.5",children:[(0,a.jsx)("code",{className:"text-xs font-mono text-text-secondary break-all",children:U||"Not available"}),U&&(0,a.jsx)(l.i,{value:U})]})]})}),(0,a.jsx)("div",{className:"flex items-center justify-between",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-sm font-medium text-text-primary",children:"Agent ID"}),(0,a.jsx)("p",{className:"text-xs text-text-muted",children:s.agentId})]})}),(0,a.jsx)("div",{className:"flex items-center justify-between",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-sm font-medium text-text-primary",children:"Org ID"}),(0,a.jsx)("p",{className:"text-xs text-text-muted",children:s.orgId})]})}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("div",{children:(0,a.jsx)("span",{className:"text-sm font-medium text-text-primary",children:"Environment"})}),(0,a.jsxs)("select",{value:s.environment,onChange:e=>L("environment",e.target.value),disabled:N,className:"px-3 py-1.5 text-sm border border-border rounded-md bg-bg-primary text-text-primary",children:[(0,a.jsx)("option",{value:"production",children:"Production"}),(0,a.jsx)("option",{value:"staging",children:"Staging"}),(0,a.jsx)("option",{value:"test",children:"Test"})]})]})]})]}),(0,a.jsxs)("div",{className:"card",children:[(0,a.jsx)("div",{className:"px-4 py-3 border-b border-border",children:(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary",children:"Storage"})}),(0,a.jsxs)("div",{className:"p-4 space-y-4",children:[(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,a.jsx)(i.h,{label:"Total Receipts",value:(0,x.ZV)(null!=(t=s.receipt_count)?t:0),icon:u.A}),(0,a.jsx)(i.h,{label:"Public Key",value:U?"Available":"None",icon:p})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 pt-2",children:[(0,a.jsxs)("button",{onClick:()=>P(!1),disabled:C,className:"flex items-center gap-1 px-4 py-2 text-sm font-medium border border-danger/30 text-danger rounded-md hover:bg-danger-subtle transition-colors disabled:opacity-50",children:[(0,a.jsx)(g,{className:"w-4 h-4"}),C?"Cleaning...":"Cleanup Expired"]}),(0,a.jsxs)("button",{onClick:R,className:"flex items-center gap-1 px-4 py-2 text-sm font-medium border border-border text-text-secondary rounded-md hover:bg-bg-secondary transition-colors",children:[(0,a.jsx)(y.A,{className:"w-4 h-4"}),"Export All"]})]}),k&&(0,a.jsx)("div",{className:"p-3 rounded-md bg-bg-secondary text-sm text-text-secondary",children:k.deleted>0?"Cleaned up ".concat(k.deleted," expired receipt").concat(1!==k.deleted?"s":"",". ").concat(k.remaining," remaining."):"No expired receipts to clean up."})]})]}),(0,a.jsxs)("div",{className:"card",children:[(0,a.jsx)("div",{className:"px-4 py-3 border-b border-border",children:(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary",children:"Display"})}),(0,a.jsxs)("div",{className:"p-4 space-y-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-sm font-medium text-text-primary",children:"Theme"}),(0,a.jsx)("div",{className:"flex items-center gap-1 border border-border rounded-md overflow-hidden",children:["light","dark","system"].map(e=>(0,a.jsx)("button",{onClick:()=>D(e),className:(0,m.cn)("px-3 py-1.5 text-xs transition-colors",T===e?"bg-primary text-white":"text-text-secondary hover:bg-bg-secondary"),children:e.charAt(0).toUpperCase()+e.slice(1)},e))})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-sm font-medium text-text-primary",children:"Auto-refresh"}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("button",{onClick:O,className:(0,m.cn)("px-3 py-1.5 text-xs rounded-md border transition-colors",_?"bg-success-subtle text-success border-success/30":"text-text-secondary border-border"),children:_?"On":"Off"}),_&&(0,a.jsxs)("select",{value:M,onChange:e=>I(parseInt(e.target.value,10)),className:"px-2 py-1.5 text-xs border border-border rounded-md bg-bg-primary text-text-primary",children:[(0,a.jsx)("option",{value:"5000",children:"5s"}),(0,a.jsx)("option",{value:"10000",children:"10s"}),(0,a.jsx)("option",{value:"30000",children:"30s"}),(0,a.jsx)("option",{value:"60000",children:"60s"})]})]})]})]})]}),U&&(0,a.jsxs)("div",{className:"card",children:[(0,a.jsx)("div",{className:"px-4 py-3 border-b border-border",children:(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary",children:"Public Key Sharing"})}),(0,a.jsxs)("div",{className:"p-4 space-y-3",children:[(0,a.jsx)("p",{className:"text-sm text-text-muted",children:"Share this key so others can verify your receipts:"}),(0,a.jsx)("div",{className:"p-3 bg-bg-secondary rounded-md font-mono text-xs text-text-secondary break-all",children:U}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(l.i,{value:U}),(0,a.jsx)("span",{className:"text-xs text-text-muted",children:"Copy Key"})]}),(0,a.jsxs)("p",{className:"text-xs text-text-muted",children:["Host at: ",(0,a.jsx)("code",{className:"bg-bg-tertiary px-1 rounded",children:"yourdomain.com/.well-known/receipt-public-key.json"})]})]})]})]})}},14874:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},23176:(e,t,s)=>{"use strict";async function a(e,t){let s=await fetch(e,t);if(!s.ok){let e=await s.text().catch(()=>"Unknown error");throw Error("API error ".concat(s.status,": ").concat(e))}return s.json()}function r(e){let t=new URLSearchParams;for(let[s,a]of Object.entries(e))void 0!==a&&""!==a&&t.set(s,String(a));let s=t.toString();return s?"?".concat(s):""}async function n(){return a("/api/stats")}async function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/receipts".concat(r(e)))}async function i(e){return a("/api/receipts/".concat(e))}async function l(e){return a("/api/chains/".concat(e))}async function d(){return a("/api/agents")}async function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/judgments".concat(r(e)))}async function x(e,t){return a("/api/verify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({receipt:e,public_key:t})})}async function m(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return a("/api/cleanup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dry_run:e})})}async function u(){return a("/api/config")}async function h(e){return a("/api/config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function p(e){return a("/api/search".concat(r({q:e})))}async function g(e){return a("/api/invoices",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}s.d(t,{$Q:()=>p,Dz:()=>u,Go:()=>r,Jq:()=>g,Kt:()=>m,Lx:()=>i,MJ:()=>o,YK:()=>n,_R:()=>h,o3:()=>x,oN:()=>l,pQ:()=>d,qb:()=>c})},24158:(e,t,s)=>{"use strict";s.d(t,{h:()=>n});var a=s(88111),r=s(96741);function n(e){let{label:t,value:s,icon:n,trend:c,className:i}=e;return(0,a.jsxs)("div",{className:(0,r.cn)("card p-4",i),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,a.jsx)("span",{className:"text-xs font-medium text-text-muted uppercase tracking-wider",children:t}),n&&(0,a.jsx)(n,{className:"w-4 h-4 text-text-muted"})]}),(0,a.jsx)("div",{className:"text-2xl font-semibold text-text-primary",children:s}),c&&(0,a.jsxs)("div",{className:"mt-1 text-xs",children:[(0,a.jsxs)("span",{className:(0,r.cn)(c.value>=0?"text-success":"text-danger"),children:[c.value>=0?"+":"",c.value,"%"]}),(0,a.jsx)("span",{className:"text-text-muted ml-1",children:c.label})]})]})}},29920:(e,t,s)=>{Promise.resolve().then(s.bind(s,4461))},46233:(e,t,s)=>{"use strict";s.d(t,{W:()=>c});var a=s(88111),r=s(94745),n=s(96741);function c(e){let{message:t="Something went wrong",onRetry:s,className:c}=e;return(0,a.jsxs)("div",{className:(0,n.cn)("flex flex-col items-center justify-center py-16 text-center",c),children:[(0,a.jsx)(r.A,{className:"w-12 h-12 text-danger mb-4"}),(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary mb-1",children:"Error"}),(0,a.jsx)("p",{className:"text-sm text-text-muted max-w-sm mb-4",children:t}),s&&(0,a.jsx)("button",{onClick:s,className:"px-4 py-2 text-sm font-medium bg-primary text-white rounded-md hover:bg-primary-hover transition-colors",children:"Retry"})]})}},57979:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]])},59434:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]])},62455:(e,t,s)=>{"use strict";function a(e){let t="string"==typeof e?new Date(e):e,s=new Date().getTime()-t.getTime();if(s<0)return"just now";let a=Math.floor(s/1e3);if(a<60)return"".concat(a,"s ago");let r=Math.floor(a/60);if(r<60)return"".concat(r," min ago");let n=Math.floor(r/60);if(n<24)return"".concat(n," hr ago");let c=Math.floor(n/24);if(c<30)return"".concat(c,"d ago");let i=Math.floor(c/30);return"".concat(i,"mo ago")}function r(e){return null==e?"—":e<1e3?"".concat(e,"ms"):"".concat((e/1e3).toFixed(1),"s")}function n(e){return null==e?"—":0===e?"$0.00":e<.01?"$".concat(e.toFixed(4)):"$".concat(e.toFixed(2))}function c(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function l(e){return e.toLocaleString("en-US")}function d(e){return"".concat((100*e).toFixed(1),"%")}function o(e){return("string"==typeof e?new Date(e):e).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})}s.d(t,{Ct:()=>c,Yq:()=>o,ZV:()=>l,a3:()=>r,fF:()=>a,l9:()=>d,lV:()=>i,vv:()=>n})},66187:(e,t,s)=>{"use strict";s.d(t,{AV:()=>l,Eg:()=>c,F6:()=>i,O0:()=>n});var a=s(88111),r=s(96741);function n(e){let{className:t}=e;return(0,a.jsx)("div",{className:(0,r.cn)("animate-pulse bg-bg-tertiary rounded",t)})}function c(e){let{count:t=6}=e;return(0,a.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4",children:Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"card p-4",children:[(0,a.jsx)(n,{className:"h-3 w-16 mb-3"}),(0,a.jsx)(n,{className:"h-7 w-20"})]},t))})}function i(e){let{rows:t=5}=e;return(0,a.jsxs)("div",{className:"card overflow-hidden",children:[(0,a.jsx)("div",{className:"border-b border-border p-3",children:(0,a.jsx)(n,{className:"h-4 w-48"})}),Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center gap-4 p-3 border-b border-border-subtle last:border-0",children:[(0,a.jsx)(n,{className:"h-4 w-24"}),(0,a.jsx)(n,{className:"h-4 w-32"}),(0,a.jsx)(n,{className:"h-4 w-20"}),(0,a.jsx)(n,{className:"h-4 w-16 ml-auto"})]},t))]})}function l(){return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)(n,{className:"h-8 w-48"}),(0,a.jsx)(c,{}),(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[(0,a.jsx)(i,{}),(0,a.jsx)(i,{})]})]})}},71699:(e,t,s)=>{"use strict";s.d(t,{i:()=>l});var a=s(88111),r=s(55271),n=s(14874);let c=(0,s(11063).A)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);var i=s(96741);function l(e){let{value:t,className:s}=e,[l,d]=(0,r.useState)(!1),o=(0,r.useCallback)(async()=>{try{await navigator.clipboard.writeText(t),d(!0),setTimeout(()=>d(!1),2e3)}catch(e){}},[t]);return(0,a.jsx)("button",{onClick:o,className:(0,i.cn)("p-1 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-secondary transition-colors",s),title:l?"Copied!":"Copy",children:l?(0,a.jsx)(n.A,{className:"w-3.5 h-3.5 text-success"}):(0,a.jsx)(c,{className:"w-3.5 h-3.5"})})}},84109:(e,t,s)=>{"use strict";s.d(t,{Ez:()=>a,ZT:()=>n,av:()=>c,cZ:()=>r});let a={completed:{bg:"bg-success-subtle",text:"text-success",dot:"bg-success"},failed:{bg:"bg-danger-subtle",text:"text-danger",dot:"bg-danger"},pending:{bg:"bg-warning-subtle",text:"text-warning",dot:"bg-warning"},timeout:{bg:"bg-danger-subtle",text:"text-danger",dot:"bg-danger"}},r={max_latency_ms:"Max Latency",max_cost_usd:"Max Cost",min_confidence:"Min Confidence",required_fields:"Required Fields",status_must_be:"Status Must Be",output_schema:"Output Schema"},n={pass:{bg:"bg-success-subtle",text:"text-success"},fail:{bg:"bg-danger-subtle",text:"text-danger"},partial:{bg:"bg-warning-subtle",text:"text-warning"}},c=1e4},89654:(e,t,s)=>{"use strict";s.d(t,{c:()=>i});var a=s(55271),r=s(84109);let n="agent-receipts-auto-refresh",c="agent-receipts-refresh-interval";function i(){let[e,t]=(0,a.useState)(!0),[s,i]=(0,a.useState)(r.av);return(0,a.useEffect)(()=>{let e=function(){try{var e;let t="false"!==localStorage.getItem(n),s=parseInt(null!=(e=localStorage.getItem(c))?e:"",10);return{enabled:t,interval:isNaN(s)?r.av:s}}catch(e){return{enabled:!0,interval:r.av}}}();t(e.enabled),i(e.interval)},[]),{enabled:e,interval:s,toggle:(0,a.useCallback)(()=>{t(e=>{let t=!e;try{localStorage.setItem(n,String(t))}catch(e){}return t})},[]),setInterval:(0,a.useCallback)(e=>{i(e);try{localStorage.setItem(c,String(e))}catch(e){}},[]),refreshInterval:e?s:0}}},94745:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},96741:(e,t,s)=>{"use strict";s.d(t,{cn:()=>n});var a=s(55242),r=s(13065);function n(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return(0,r.QP)((0,a.$)(t))}}},e=>{e.O(0,[702,814,743,358],()=>e(e.s=29920)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[662],{4461:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>b});var a=s(88111),r=s(55271),n=s(23176),c=s(89654),i=s(24158),l=s(71699),d=s(46233),o=s(66187),x=s(62455),m=s(96741),u=s(57979),h=s(11063);let p=(0,h.A)("Key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]),g=(0,h.A)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);var y=s(59434);function b(){var e,t;let[s,h]=(0,r.useState)(null),[b,f]=(0,r.useState)(!0),[j,v]=(0,r.useState)(null),[N,w]=(0,r.useState)(!1),[k,S]=(0,r.useState)(null),[C,A]=(0,r.useState)(!1),{enabled:_,interval:M,toggle:O,setInterval:I}=(0,c.c)(),[T,E]=(0,r.useState)("system");(0,r.useEffect)(()=>{let e=localStorage.getItem("theme");"dark"===e?E("dark"):"light"===e?E("light"):E("system")},[]);let D=(0,r.useCallback)(e=>{if(E(e),"system"===e){localStorage.removeItem("theme");let e=window.matchMedia("(prefers-color-scheme: dark)").matches;document.documentElement.classList.toggle("dark",e)}else localStorage.setItem("theme",e),document.documentElement.classList.toggle("dark","dark"===e)},[]);(0,r.useEffect)(()=>{!async function(){try{let e=await (0,n.Dz)();h(e)}catch(e){v(e instanceof Error?e.message:"Failed to load config")}finally{f(!1)}}()},[]);let L=(0,r.useCallback)(async(e,t)=>{if(s){w(!0);try{let s=await (0,n._R)({[e]:t});h(e=>({...e,...s}))}catch(e){}finally{w(!1)}}},[s]),P=(0,r.useCallback)(async e=>{A(!0);try{let t=await (0,n.Kt)(e);if(S(t),!e){let e=await (0,n.Dz)();h(e)}}catch(e){}finally{A(!1)}},[]),R=(0,r.useCallback)(async()=>{try{let e=await fetch("/api/receipts?limit=10000"),t=await e.json(),s=JSON.stringify(t.data,null,2),a=new Blob([s],{type:"application/json"}),r=URL.createObjectURL(a),n=document.createElement("a");n.href=r,n.download="all-receipts-".concat(new Date().toISOString().slice(0,10),".json"),n.click(),URL.revokeObjectURL(r)}catch(e){}},[]);if(j)return(0,a.jsx)(d.W,{message:j});if(b||!s)return(0,a.jsx)(o.AV,{});let U=null!=(e=s.public_key)?e:"";return(0,a.jsxs)("div",{className:"space-y-6 max-w-2xl",children:[(0,a.jsx)("h1",{className:"text-lg font-semibold text-text-primary",children:"Settings"}),(0,a.jsxs)("div",{className:"card",children:[(0,a.jsx)("div",{className:"px-4 py-3 border-b border-border",children:(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary",children:"Configuration"})}),(0,a.jsxs)("div",{className:"p-4 space-y-4",children:[(0,a.jsx)("div",{className:"flex items-center justify-between",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-sm font-medium text-text-primary",children:"Data Directory"}),(0,a.jsx)("p",{className:"text-xs text-text-muted",children:s.data_dir})]})}),(0,a.jsx)("div",{className:"flex items-center justify-between",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-sm font-medium text-text-primary",children:"Public Key"}),(0,a.jsxs)("div",{className:"flex items-center gap-1 mt-0.5",children:[(0,a.jsx)("code",{className:"text-xs font-mono text-text-secondary break-all",children:U||"Not available"}),U&&(0,a.jsx)(l.i,{value:U})]})]})}),(0,a.jsx)("div",{className:"flex items-center justify-between",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-sm font-medium text-text-primary",children:"Agent ID"}),(0,a.jsx)("p",{className:"text-xs text-text-muted",children:s.agentId})]})}),(0,a.jsx)("div",{className:"flex items-center justify-between",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-sm font-medium text-text-primary",children:"Org ID"}),(0,a.jsx)("p",{className:"text-xs text-text-muted",children:s.orgId})]})}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("div",{children:(0,a.jsx)("span",{className:"text-sm font-medium text-text-primary",children:"Environment"})}),(0,a.jsxs)("select",{value:s.environment,onChange:e=>L("environment",e.target.value),disabled:N,className:"px-3 py-1.5 text-sm border border-border rounded-md bg-bg-primary text-text-primary",children:[(0,a.jsx)("option",{value:"development",children:"Development"}),(0,a.jsx)("option",{value:"production",children:"Production"}),(0,a.jsx)("option",{value:"staging",children:"Staging"}),(0,a.jsx)("option",{value:"test",children:"Test"})]})]})]})]}),(0,a.jsxs)("div",{className:"card",children:[(0,a.jsx)("div",{className:"px-4 py-3 border-b border-border",children:(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary",children:"Storage"})}),(0,a.jsxs)("div",{className:"p-4 space-y-4",children:[(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,a.jsx)(i.h,{label:"Total Receipts",value:(0,x.ZV)(null!=(t=s.receipt_count)?t:0),icon:u.A}),(0,a.jsx)(i.h,{label:"Public Key",value:U?"Available":"None",icon:p})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 pt-2",children:[(0,a.jsxs)("button",{onClick:()=>P(!1),disabled:C,className:"flex items-center gap-1 px-4 py-2 text-sm font-medium border border-danger/30 text-danger rounded-md hover:bg-danger-subtle transition-colors disabled:opacity-50",children:[(0,a.jsx)(g,{className:"w-4 h-4"}),C?"Cleaning...":"Cleanup Expired"]}),(0,a.jsxs)("button",{onClick:R,className:"flex items-center gap-1 px-4 py-2 text-sm font-medium border border-border text-text-secondary rounded-md hover:bg-bg-secondary transition-colors",children:[(0,a.jsx)(y.A,{className:"w-4 h-4"}),"Export All"]})]}),k&&(0,a.jsx)("div",{className:"p-3 rounded-md bg-bg-secondary text-sm text-text-secondary",children:k.deleted>0?"Cleaned up ".concat(k.deleted," expired receipt").concat(1!==k.deleted?"s":"",". ").concat(k.remaining," remaining."):"No expired receipts to clean up."})]})]}),(0,a.jsxs)("div",{className:"card",children:[(0,a.jsx)("div",{className:"px-4 py-3 border-b border-border",children:(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary",children:"Display"})}),(0,a.jsxs)("div",{className:"p-4 space-y-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-sm font-medium text-text-primary",children:"Theme"}),(0,a.jsx)("div",{className:"flex items-center gap-1 border border-border rounded-md overflow-hidden",children:["light","dark","system"].map(e=>(0,a.jsx)("button",{onClick:()=>D(e),className:(0,m.cn)("px-3 py-1.5 text-xs transition-colors",T===e?"bg-primary text-white":"text-text-secondary hover:bg-bg-secondary"),children:e.charAt(0).toUpperCase()+e.slice(1)},e))})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-sm font-medium text-text-primary",children:"Auto-refresh"}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("button",{onClick:O,className:(0,m.cn)("px-3 py-1.5 text-xs rounded-md border transition-colors",_?"bg-success-subtle text-success border-success/30":"text-text-secondary border-border"),children:_?"On":"Off"}),_&&(0,a.jsxs)("select",{value:M,onChange:e=>I(parseInt(e.target.value,10)),className:"px-2 py-1.5 text-xs border border-border rounded-md bg-bg-primary text-text-primary",children:[(0,a.jsx)("option",{value:"5000",children:"5s"}),(0,a.jsx)("option",{value:"10000",children:"10s"}),(0,a.jsx)("option",{value:"30000",children:"30s"}),(0,a.jsx)("option",{value:"60000",children:"60s"})]})]})]})]})]}),U&&(0,a.jsxs)("div",{className:"card",children:[(0,a.jsx)("div",{className:"px-4 py-3 border-b border-border",children:(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary",children:"Public Key Sharing"})}),(0,a.jsxs)("div",{className:"p-4 space-y-3",children:[(0,a.jsx)("p",{className:"text-sm text-text-muted",children:"Share this key so others can verify your receipts:"}),(0,a.jsx)("div",{className:"p-3 bg-bg-secondary rounded-md font-mono text-xs text-text-secondary break-all",children:U}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(l.i,{value:U}),(0,a.jsx)("span",{className:"text-xs text-text-muted",children:"Copy Key"})]}),(0,a.jsxs)("p",{className:"text-xs text-text-muted",children:["Host at: ",(0,a.jsx)("code",{className:"bg-bg-tertiary px-1 rounded",children:"yourdomain.com/.well-known/receipt-public-key.json"})]})]})]})]})}},14874:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},23176:(e,t,s)=>{"use strict";async function a(e,t){let s=await fetch(e,t);if(!s.ok){let e=await s.text().catch(()=>"Unknown error");throw Error("API error ".concat(s.status,": ").concat(e))}return s.json()}function r(e){let t=new URLSearchParams;for(let[s,a]of Object.entries(e))void 0!==a&&""!==a&&t.set(s,String(a));let s=t.toString();return s?"?".concat(s):""}async function n(){return a("/api/stats")}async function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/receipts".concat(r(e)))}async function i(e){return a("/api/receipts/".concat(e))}async function l(e){return a("/api/chains/".concat(e))}async function d(){return a("/api/agents")}async function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a("/api/judgments".concat(r(e)))}async function x(e,t){return a("/api/verify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({receipt:e,public_key:t})})}async function m(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return a("/api/cleanup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dry_run:e})})}async function u(){return a("/api/config")}async function h(e){return a("/api/config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function p(e){return a("/api/search".concat(r({q:e})))}async function g(e){return a("/api/invoices",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}s.d(t,{$Q:()=>p,Dz:()=>u,Go:()=>r,Jq:()=>g,Kt:()=>m,Lx:()=>i,MJ:()=>o,YK:()=>n,_R:()=>h,o3:()=>x,oN:()=>l,pQ:()=>d,qb:()=>c})},24158:(e,t,s)=>{"use strict";s.d(t,{h:()=>n});var a=s(88111),r=s(96741);function n(e){let{label:t,value:s,icon:n,trend:c,className:i}=e;return(0,a.jsxs)("div",{className:(0,r.cn)("card p-4",i),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,a.jsx)("span",{className:"text-xs font-medium text-text-muted uppercase tracking-wider",children:t}),n&&(0,a.jsx)(n,{className:"w-4 h-4 text-text-muted"})]}),(0,a.jsx)("div",{className:"text-2xl font-semibold text-text-primary",children:s}),c&&(0,a.jsxs)("div",{className:"mt-1 text-xs",children:[(0,a.jsxs)("span",{className:(0,r.cn)(c.value>=0?"text-success":"text-danger"),children:[c.value>=0?"+":"",c.value,"%"]}),(0,a.jsx)("span",{className:"text-text-muted ml-1",children:c.label})]})]})}},29920:(e,t,s)=>{Promise.resolve().then(s.bind(s,4461))},46233:(e,t,s)=>{"use strict";s.d(t,{W:()=>c});var a=s(88111),r=s(94745),n=s(96741);function c(e){let{message:t="Something went wrong",onRetry:s,className:c}=e;return(0,a.jsxs)("div",{className:(0,n.cn)("flex flex-col items-center justify-center py-16 text-center",c),children:[(0,a.jsx)(r.A,{className:"w-12 h-12 text-danger mb-4"}),(0,a.jsx)("h3",{className:"text-sm font-medium text-text-primary mb-1",children:"Error"}),(0,a.jsx)("p",{className:"text-sm text-text-muted max-w-sm mb-4",children:t}),s&&(0,a.jsx)("button",{onClick:s,className:"px-4 py-2 text-sm font-medium bg-primary text-white rounded-md hover:bg-primary-hover transition-colors",children:"Retry"})]})}},57979:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]])},59434:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]])},62455:(e,t,s)=>{"use strict";function a(e){let t="string"==typeof e?new Date(e):e,s=new Date().getTime()-t.getTime();if(s<0)return"just now";let a=Math.floor(s/1e3);if(a<60)return"".concat(a,"s ago");let r=Math.floor(a/60);if(r<60)return"".concat(r," min ago");let n=Math.floor(r/60);if(n<24)return"".concat(n," hr ago");let c=Math.floor(n/24);if(c<30)return"".concat(c,"d ago");let i=Math.floor(c/30);return"".concat(i,"mo ago")}function r(e){return null==e?"—":e<1e3?"".concat(e,"ms"):"".concat((e/1e3).toFixed(1),"s")}function n(e){return null==e?"—":0===e?"$0.00":e<.01?"$".concat(e.toFixed(4)):"$".concat(e.toFixed(2))}function c(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16;return e.length<=t?e:"".concat(e.slice(0,t),"...")}function l(e){return e.toLocaleString("en-US")}function d(e){return"".concat((100*e).toFixed(1),"%")}function o(e){return("string"==typeof e?new Date(e):e).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})}s.d(t,{Ct:()=>c,Yq:()=>o,ZV:()=>l,a3:()=>r,fF:()=>a,l9:()=>d,lV:()=>i,vv:()=>n})},66187:(e,t,s)=>{"use strict";s.d(t,{AV:()=>l,Eg:()=>c,F6:()=>i,O0:()=>n});var a=s(88111),r=s(96741);function n(e){let{className:t}=e;return(0,a.jsx)("div",{className:(0,r.cn)("animate-pulse bg-bg-tertiary rounded",t)})}function c(e){let{count:t=6}=e;return(0,a.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4",children:Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"card p-4",children:[(0,a.jsx)(n,{className:"h-3 w-16 mb-3"}),(0,a.jsx)(n,{className:"h-7 w-20"})]},t))})}function i(e){let{rows:t=5}=e;return(0,a.jsxs)("div",{className:"card overflow-hidden",children:[(0,a.jsx)("div",{className:"border-b border-border p-3",children:(0,a.jsx)(n,{className:"h-4 w-48"})}),Array.from({length:t}).map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center gap-4 p-3 border-b border-border-subtle last:border-0",children:[(0,a.jsx)(n,{className:"h-4 w-24"}),(0,a.jsx)(n,{className:"h-4 w-32"}),(0,a.jsx)(n,{className:"h-4 w-20"}),(0,a.jsx)(n,{className:"h-4 w-16 ml-auto"})]},t))]})}function l(){return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)(n,{className:"h-8 w-48"}),(0,a.jsx)(c,{}),(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[(0,a.jsx)(i,{}),(0,a.jsx)(i,{})]})]})}},71699:(e,t,s)=>{"use strict";s.d(t,{i:()=>l});var a=s(88111),r=s(55271),n=s(14874);let c=(0,s(11063).A)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);var i=s(96741);function l(e){let{value:t,className:s}=e,[l,d]=(0,r.useState)(!1),o=(0,r.useCallback)(async()=>{try{await navigator.clipboard.writeText(t),d(!0),setTimeout(()=>d(!1),2e3)}catch(e){}},[t]);return(0,a.jsx)("button",{onClick:o,className:(0,i.cn)("p-1 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-secondary transition-colors",s),title:l?"Copied!":"Copy",children:l?(0,a.jsx)(n.A,{className:"w-3.5 h-3.5 text-success"}):(0,a.jsx)(c,{className:"w-3.5 h-3.5"})})}},84109:(e,t,s)=>{"use strict";s.d(t,{Ez:()=>a,ZT:()=>n,av:()=>c,cZ:()=>r});let a={completed:{bg:"bg-success-subtle",text:"text-success",dot:"bg-success"},failed:{bg:"bg-danger-subtle",text:"text-danger",dot:"bg-danger"},pending:{bg:"bg-warning-subtle",text:"text-warning",dot:"bg-warning"},timeout:{bg:"bg-danger-subtle",text:"text-danger",dot:"bg-danger"}},r={max_latency_ms:"Max Latency",max_cost_usd:"Max Cost",min_confidence:"Min Confidence",required_fields:"Required Fields",status_must_be:"Status Must Be",output_schema:"Output Schema"},n={pass:{bg:"bg-success-subtle",text:"text-success"},fail:{bg:"bg-danger-subtle",text:"text-danger"},partial:{bg:"bg-warning-subtle",text:"text-warning"}},c=1e4},89654:(e,t,s)=>{"use strict";s.d(t,{c:()=>i});var a=s(55271),r=s(84109);let n="agent-receipts-auto-refresh",c="agent-receipts-refresh-interval";function i(){let[e,t]=(0,a.useState)(!0),[s,i]=(0,a.useState)(r.av);return(0,a.useEffect)(()=>{let e=function(){try{var e;let t="false"!==localStorage.getItem(n),s=parseInt(null!=(e=localStorage.getItem(c))?e:"",10);return{enabled:t,interval:isNaN(s)?r.av:s}}catch(e){return{enabled:!0,interval:r.av}}}();t(e.enabled),i(e.interval)},[]),{enabled:e,interval:s,toggle:(0,a.useCallback)(()=>{t(e=>{let t=!e;try{localStorage.setItem(n,String(t))}catch(e){}return t})},[]),setInterval:(0,a.useCallback)(e=>{i(e);try{localStorage.setItem(c,String(e))}catch(e){}},[]),refreshInterval:e?s:0}}},94745:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(11063).A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},96741:(e,t,s)=>{"use strict";s.d(t,{cn:()=>n});var a=s(55242),r=s(13065);function n(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return(0,r.QP)((0,a.$)(t))}}},e=>{e.O(0,[702,814,743,358],()=>e(e.s=29920)),_N_E=e.O()}]);
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-receipts/mcp-server",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Local-first MCP server for Agent Receipts — storage, engine, and protocol",
|
|
6
6
|
"license": "MIT",
|
|
@@ -52,13 +52,15 @@
|
|
|
52
52
|
"typecheck": "tsc --noEmit"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@agent-receipts/schema": "workspace:*",
|
|
56
55
|
"@agent-receipts/crypto": "workspace:*",
|
|
56
|
+
"@agent-receipts/schema": "workspace:*",
|
|
57
57
|
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
58
|
+
"better-sqlite3": "^12.8.0",
|
|
58
59
|
"nanoid": "^5.1.2",
|
|
59
60
|
"zod": "^3.23.0"
|
|
60
61
|
},
|
|
61
62
|
"devDependencies": {
|
|
63
|
+
"@types/better-sqlite3": "^7.6.13",
|
|
62
64
|
"@types/node": "^20.0.0",
|
|
63
65
|
"tsup": "^8.2.0",
|
|
64
66
|
"typescript": "^5.4.0",
|