@robzilla1738/agentswarm 0.2.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -5
- package/dist/agent.js +64 -32
- package/dist/cli.js +18 -4
- package/dist/config.js +35 -5
- package/dist/crawltools.js +247 -0
- package/dist/deepseek.js +125 -10
- package/dist/executor.js +771 -122
- package/dist/hub.js +40 -3
- package/dist/journal.js +61 -11
- package/dist/memory.js +83 -0
- package/dist/prompts.js +109 -16
- package/dist/report.js +252 -0
- package/dist/run.js +7 -2
- package/dist/searchcore.js +191 -0
- package/dist/state.js +57 -3
- package/dist/tools.js +202 -12
- package/dist/webtools.js +191 -60
- package/package.json +3 -2
- package/ui/out/404/index.html +1 -1
- package/ui/out/404.html +1 -1
- package/ui/out/_next/static/chunks/532-35122e93f37719b9.js +1 -0
- package/ui/out/_next/static/chunks/677-859e8d42add1806b.js +1 -0
- package/ui/out/_next/static/chunks/app/page-dc9f6744d203e76c.js +1 -0
- package/ui/out/_next/static/chunks/app/run/page-2420c9e4c963d9b3.js +1 -0
- package/ui/out/_next/static/chunks/app/settings/page-092a6bf42dfde57d.js +1 -0
- package/ui/out/_next/static/css/9f7bd82b8e4c762c.css +3 -0
- package/ui/out/fonts/PlanetKosmos.ttf +0 -0
- package/ui/out/index.html +1 -1
- package/ui/out/index.txt +3 -3
- package/ui/out/run/index.html +1 -1
- package/ui/out/run/index.txt +3 -3
- package/ui/out/settings/index.html +1 -1
- package/ui/out/settings/index.txt +3 -3
- package/ui/out/_next/static/chunks/383-289a866b246b41cc.js +0 -1
- package/ui/out/_next/static/chunks/619-ba102abea3e3d0e4.js +0 -1
- package/ui/out/_next/static/chunks/677-b37981ba0eca75b2.js +0 -1
- package/ui/out/_next/static/chunks/app/page-0c9f35bd4aa8e370.js +0 -1
- package/ui/out/_next/static/chunks/app/run/page-13dc41a57e34da71.js +0 -1
- package/ui/out/_next/static/chunks/app/settings/page-a1763be7f6de888c.js +0 -1
- package/ui/out/_next/static/css/82edaa7a5942f894.css +0 -3
- /package/ui/out/_next/static/{eiQeDU9uBHNsBj0CFkp8M → errjtBR_bKoee8ogLp8xk}/_buildManifest.js +0 -0
- /package/ui/out/_next/static/{eiQeDU9uBHNsBj0CFkp8M → errjtBR_bKoee8ogLp8xk}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{63:(e,s,t)=>{"use strict";var a=t(7260);t.o(a,"useRouter")&&t.d(s,{useRouter:function(){return a.useRouter}}),t.o(a,"useSearchParams")&&t.d(s,{useSearchParams:function(){return a.useSearchParams}})},2942:(e,s,t)=>{Promise.resolve().then(t.bind(t,8363))},8363:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>f});var a=t(5155),n=t(2115),i=t(2619),l=t.n(i),r=t(63),o=t(7621),c=t(7e3),d=t(6420);let u=[["Research","Research the top 5 open-source vector databases in 2026 and produce a comparison table with a recommendation for a RAG app at 10M vectors."],["Build","Build a small CLI tool in Python that converts CSV to a formatted Markdown table, with tests. Save it as an artifact."],["Audit","Audit this codebase for security issues and dependency risks, then write a prioritized remediation plan."],["Plan","Plan and draft a 6-email onboarding sequence for a developer-tools SaaS, with subject lines and send timing."]],m=(e,s,t,a)=>Number.isFinite(e)?Math.min(t,Math.max(s,Math.round(e))):a,h={workers:4,tasks:16,steps:20,budgetM:4,verification:"off"},x={workers:12,tasks:160,steps:60,budgetM:60,verification:"strict"};function p(e){var s,t,i,p,v,j,b,f,N;let{config:y}=e,w=(0,r.useRouter)(),[S,C]=(0,n.useState)(""),[R,M]=(0,n.useState)(!1),[T,P]=(0,n.useState)(!1),[z,A]=(0,n.useState)(null),[D,E]=(0,n.useState)(6),[I,F]=(0,n.useState)(48),[K,W]=(0,n.useState)(30),[_,B]=(0,n.useState)(12),[q,O]=(0,n.useState)("normal"),[H,L]=(0,n.useState)("deepseek-v4-flash"),[V,$]=(0,n.useState)("high"),[G,Q]=(0,n.useState)("sandbox"),[U,Y]=(0,n.useState)(""),J=(0,n.useRef)(!1);(0,n.useEffect)(()=>{y&&!J.current&&(E(y.maxWorkers),F(y.maxTasks),W(y.maxStepsPerTask),B(y.maxTokensPerRun/1e6),O(y.verification),L(y.model),$(y.reasoningEffort))},[y]);let X=!!y&&!y.apiKeySet,Z="dir"===G&&!U.trim(),ee=null==y||null==(t=y.providers)||null==(s=t.find(e=>e.id===y.provider))?void 0:s.label,es={workers:null!=(p=null==y?void 0:y.maxWorkers)?p:6,tasks:null!=(v=null==y?void 0:y.maxTasks)?v:48,steps:null!=(j=null==y?void 0:y.maxStepsPerTask)?j:30,budgetM:(null!=(b=null==y?void 0:y.maxTokensPerRun)?b:12e6)/1e6,verification:null!=(f=null==y?void 0:y.verification)?f:"normal"},et=e=>e.workers===D&&e.tasks===I&&e.steps===K&&e.budgetM===_&&e.verification===q,ea=et(h)?"quick":et(x)?"deep":et(es)?"standard":"custom",en=e=>{J.current=!0,E(e.workers),F(e.tasks),W(e.steps),B(e.budgetM),O(e.verification)},ei=null==y||null==(i=y.pricing)?void 0:i[H],el=ei&&Number.isFinite(_)?_*(.8*ei.inMiss+.2*ei.out):null,er=async()=>{if(S.trim()&&!T&&!X&&!Z){P(!0),A(null);try{let{id:e}=await o.F.createRun({mission:S.trim(),sandbox:"sandbox"===G,..."dir"===G?{cwd:U.trim()}:{},options:{maxWorkers:m(D,1,32,6),maxTasks:m(I,1,1e3,48),maxStepsPerTask:m(K,3,200,30),maxTokens:m(1e6*_,5e4,2e9,12e6),verification:q,model:H,reasoningEffort:V}});w.push("/run?id=".concat(e))}catch(e){A((null==e?void 0:e.message)||"failed to launch"),P(!1)}}},eo=null!=(N=null==y?void 0:y.knownModels)?N:[],ec=()=>{J.current=!0};return(0,a.jsxs)("section",{className:"panel p-5 sm:p-6",style:{animation:"var(--animate-rise)"},children:[(0,a.jsx)("textarea",{className:"input resize-none",rows:3,autoFocus:!0,placeholder:"Describe a mission — the swarm decomposes it into parallel tasks and runs them autonomously.",value:S,onChange:e=>C(e.target.value),onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&"Enter"===e.key&&er()},style:{fontSize:15,lineHeight:1.6}}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 mt-3",children:[(0,a.jsx)("span",{className:"text-2xs text-ink-faint mr-1",children:"Try"}),u.map(e=>{let[s,t]=e;return(0,a.jsx)("button",{onClick:()=>C(t),title:t,className:"chip",children:s},s)}),(0,a.jsxs)("button",{className:"btn btn-ghost btn-sm ml-auto","aria-expanded":R,style:{color:R?"var(--color-ink)":void 0},onClick:()=>M(e=>!e),children:["custom"===ea?"Options \xb7 custom":"Options \xb7 ".concat(ea),(0,a.jsx)("span",{style:{fontSize:9,transform:R?"rotate(180deg)":"none",transition:"transform 0.15s"},children:"▼"})]})]}),R&&(0,a.jsxs)("div",{className:"mt-4 pt-4 space-y-4 border-t border-border-soft",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,a.jsx)("span",{className:"text-2xs text-ink-faint mr-1",children:"Size"}),(0,a.jsx)(g,{active:"quick"===ea,onClick:()=>en(h),title:"4 agents \xb7 16 tasks \xb7 small budget \xb7 no verification",children:"Quick"}),(0,a.jsx)(g,{active:"standard"===ea,onClick:()=>en(es),title:"Your saved defaults from Settings",children:"Standard"}),(0,a.jsx)(g,{active:"deep"===ea,onClick:()=>en(x),title:"12 agents \xb7 160 tasks \xb7 big budget \xb7 strict verification — long-horizon research",children:"Deep research"}),"custom"===ea&&(0,a.jsx)("span",{className:"chip",style:{color:"var(--color-ink)"},children:"custom"})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-3",onInput:ec,children:[(0,a.jsx)(k,{label:"Agents in parallel",hint:"working at once",children:(0,a.jsx)("input",{type:"number",className:"input",min:1,max:32,value:D,onChange:e=>E(+e.target.value)})}),(0,a.jsx)(k,{label:"Task limit",hint:"whole run",children:(0,a.jsx)("input",{type:"number",className:"input",min:1,max:1e3,value:I,onChange:e=>F(+e.target.value)})}),(0,a.jsx)(k,{label:"Steps per task",hint:"tool calls per agent",children:(0,a.jsx)("input",{type:"number",className:"input",min:3,max:200,value:K,onChange:e=>W(+e.target.value)})}),(0,a.jsx)(k,{label:"Budget \xb7 M tokens",hint:Number.isFinite(_)?"".concat((0,c.yj)(1e6*_)," cap").concat(el?" \xb7 ≤ ~$".concat(el<10?el.toFixed(2):Math.round(el)):""):"hard spend cap",children:(0,a.jsx)("input",{type:"number",className:"input",min:.5,step:.5,value:_,onChange:e=>B(+e.target.value)})}),(0,a.jsx)(k,{label:"Verification",hint:"re-check finished work",children:(0,a.jsxs)("select",{className:"input",value:q,onChange:e=>{ec(),O(e.target.value)},children:[(0,a.jsx)("option",{value:"off",children:"off — trust the workers"}),(0,a.jsx)("option",{value:"normal",children:"normal"}),(0,a.jsx)("option",{value:"strict",children:"strict — verify everything"})]})}),(0,a.jsx)(k,{label:"Reasoning effort",hint:"thinking depth",children:(0,a.jsxs)("select",{className:"input",value:V,onChange:e=>{ec(),$(e.target.value)},children:[(0,a.jsx)("option",{value:"low",children:"low"}),(0,a.jsx)("option",{value:"medium",children:"medium"}),(0,a.jsx)("option",{value:"high",children:"high"}),(0,a.jsx)("option",{value:"max",children:"max"})]})}),(0,a.jsxs)(k,{label:"Worker model",hint:ee,children:[(0,a.jsx)("input",{className:"input mono",list:"composer-models",value:H,onChange:e=>{ec(),L(e.target.value)},placeholder:"model id"}),(0,a.jsx)("datalist",{id:"composer-models",children:eo.map(e=>(0,a.jsx)("option",{value:e},e))})]}),(0,a.jsx)(k,{label:"Workspace",hint:"sandbox"===G?"isolated, throwaway":"agents touch real files",children:(0,a.jsxs)("select",{className:"input",value:G,onChange:e=>{ec(),Q(e.target.value)},children:[(0,a.jsx)("option",{value:"sandbox",children:"Isolated workspace"}),(0,a.jsx)("option",{value:"dir",children:"A directory on disk"})]})}),"dir"===G&&(0,a.jsx)(k,{label:"Directory",hint:"absolute path",children:(0,a.jsx)("input",{className:"input mono text-sm",placeholder:"/path/to/project",value:U,onChange:e=>Y(e.target.value)})})]}),"dir"===G&&(0,a.jsx)("p",{className:"tile text-xs leading-relaxed text-ink-dim px-3 py-2.5",children:"Agents will read, run and write inside this directory with your permissions. Safe mode still blocks destructive commands, but prefer a project you have under version control."})]}),z&&(0,a.jsx)("div",{className:"mt-3 text-sm text-ink px-3 py-2 rounded-lg",style:{background:"rgba(255,255,255,0.06)",border:"1px solid rgba(255,255,255,0.2)"},children:z}),(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3 mt-4",children:[(0,a.jsx)("div",{className:"text-2xs",children:X?(0,a.jsx)(l(),{href:"/settings",className:"text-ink underline underline-offset-2",children:"Set up a provider in Settings first →"}):Z?(0,a.jsx)("span",{className:"text-ink",children:"Enter the directory the swarm should work in."}):(0,a.jsxs)("span",{className:"text-ink-faint",children:["sandbox"===G?(null==y?void 0:y.sandboxResolved)&&"host"!==y.sandboxResolved?"Isolated \xb7 ".concat(y.sandboxResolved," sandbox"):"Isolated workspace on this machine":"Runs against your directory"," \xb7 ⌘↵ to launch"]})}),(0,a.jsxs)("button",{className:"btn btn-primary",disabled:!S.trim()||T||X||Z,onClick:er,children:[T&&(0,a.jsx)(d.y$,{size:13,dark:!0})," Launch swarm"]})]})]})}function g(e){let{active:s,onClick:t,title:n,children:i}=e;return(0,a.jsx)("button",{className:"chip",title:n,onClick:t,style:s?{color:"var(--color-ink)",borderColor:"rgba(255,255,255,0.45)",background:"rgba(255,255,255,0.05)"}:void 0,children:i})}function k(e){let{label:s,hint:t,children:n}=e;return(0,a.jsxs)("label",{className:"block",children:[(0,a.jsxs)("div",{className:"flex items-baseline justify-between mb-1 gap-2",children:[(0,a.jsx)("span",{className:"text-2xs font-medium text-ink-dim",children:s}),t&&(0,a.jsx)("span",{className:"text-2xs truncate text-ink-faint",children:t})]}),n]})}function v(e){let{run:s,now:t,onDeleted:i}=e,l=(0,r.useRouter)(),u=s.usage.promptTokens+s.usage.completionTokens,m=Math.max(1,s.tasks.total),h=!!s.pid,x="failed"===s.status,p=Math.round(s.tasks.done/m*100),[g,k]=(0,n.useState)(!1),[v,j]=(0,n.useState)(!1),b=async e=>{if(e.preventDefault(),e.stopPropagation(),!g){k(!0),setTimeout(()=>k(!1),2600);return}j(!0);try{await o.F.deleteRun(s.id),null==i||i()}catch(e){j(!1),k(!1)}};return(0,a.jsxs)("div",{role:"link",tabIndex:0,onClick:()=>l.push("/run?id=".concat(s.id)),onKeyDown:e=>"Enter"===e.key&&l.push("/run?id=".concat(s.id)),className:"panel panel-hover p-4 block cursor-pointer group relative",style:{animation:"var(--animate-rise)",opacity:v?.4:1},children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3 mb-3",children:[(0,a.jsx)(d.Wh,{status:s.status}),h?(0,a.jsxs)("span",{className:"mono text-2xs text-ink-dim flex items-center gap-1.5",children:[(0,a.jsx)(d.md,{status:"running",size:6}),s.agentsActive," active"]}):i?(0,a.jsx)("button",{onClick:b,title:g?"Click again to delete":"Delete run",className:"btn btn-sm",style:{padding:"3px 8px",fontSize:11,color:g?"var(--color-ink)":"var(--color-ink-faint)",borderColor:g?"rgba(255,255,255,0.5)":"var(--color-border-soft)"},children:g?"delete?":"✕"}):null]}),(0,a.jsx)("p",{className:"text-base leading-snug mb-3 line-clamp-2 text-ink",style:{minHeight:40},children:s.mission}),(0,a.jsxs)("div",{className:"mb-3",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between text-2xs mb-1.5 text-ink-faint",children:[(0,a.jsxs)("span",{children:[s.tasks.done,"/",s.tasks.total," tasks",s.tasks.failed?(0,a.jsxs)("span",{className:"text-ink",children:[" \xb7 ",s.tasks.failed," failed"]}):null]}),(0,a.jsxs)("span",{className:"mono",children:[p,"%"]})]}),(0,a.jsx)("div",{className:"w-full rounded-full overflow-hidden",style:{height:4,background:"rgba(255,255,255,0.07)"},children:(0,a.jsx)("div",{className:"h-full rounded-full transition-all duration-500",style:{width:"".concat(p,"%"),background:x?"rgba(255,255,255,0.45)":"var(--color-ink)"}})})]}),x&&s.statusReason&&(0,a.jsx)("p",{className:"text-2xs leading-snug mb-2.5 line-clamp-2 text-ink",children:s.statusReason}),(0,a.jsxs)("div",{className:"flex items-center justify-between text-2xs text-ink-faint",children:[(0,a.jsxs)("span",{className:"mono",children:[(0,c.yj)(u)," tok \xb7 ",(0,c.S8)(s.cost)]}),(0,a.jsx)("span",{children:(0,c.rB)(s.updatedAt||s.createdAt,t)})]})]})}var j=t(830),b=t(6168);function f(){let{runs:e,loading:s,error:t,refresh:i}=(0,b.Iq)(),{config:l}=(0,b.UK)(),r=(0,b.cB)(2e3),{live:o,past:u,totals:m}=(0,n.useMemo)(()=>{let s=e.filter(e=>e.pid||["planning","running","synthesizing"].includes(e.status)),t=e.filter(e=>!s.includes(e));return{live:s,past:t,totals:e.reduce((e,s)=>(e.cost+=s.cost,e.tokens+=s.usage.promptTokens+s.usage.completionTokens,e.tasks+=s.tasks.done,e),{cost:0,tokens:0,tasks:0})}},[e]);return(0,a.jsxs)("div",{className:"min-h-screen",children:[(0,a.jsx)(j.V,{}),(0,a.jsxs)("main",{className:"max-w-6xl mx-auto px-5 sm:px-8 py-10",children:[(0,a.jsx)("h1",{className:"sr-only",children:"agentswarm"}),(0,a.jsx)(p,{config:l}),t&&(0,a.jsxs)("div",{className:"panel p-4 mt-6 text-sm text-ink-dim",children:["Can't reach the hub: ",t,". Make sure ",(0,a.jsx)("span",{className:"mono text-ink",children:"swarm serve"})," is running."]}),o.length>0&&(0,a.jsxs)("section",{className:"mt-12",children:[(0,a.jsxs)("h2",{className:"label mb-4 flex items-center gap-2",children:[(0,a.jsx)("span",{className:"rounded-full bg-ink",style:{width:7,height:7,boxShadow:"0 0 8px var(--color-ink)"}}),"Live now \xb7 ",o.length]}),(0,a.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:o.map(e=>(0,a.jsx)(v,{run:e,now:r},e.id))})]}),s&&0===e.length&&(0,a.jsx)("section",{className:"mt-12",children:(0,a.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:[0,1,2].map(e=>(0,a.jsx)("div",{className:"panel h-40 skeleton opacity-50"},e))})}),!s&&0===e.length&&!t&&(0,a.jsx)("section",{className:"mt-12",children:(0,a.jsx)(d.pp,{glyph:"◇",title:"No missions yet",sub:"Describe one above and launch your first swarm. It runs in an isolated workspace on this machine by default."})}),u.length>0&&(0,a.jsxs)("section",{className:"mt-12",children:[(0,a.jsxs)("div",{className:"flex items-baseline justify-between gap-4 mb-4",children:[(0,a.jsxs)("h2",{className:"label",children:["History \xb7 ",u.length]}),(0,a.jsxs)("span",{className:"mono text-2xs text-ink-faint",children:[m.tasks," tasks \xb7 ",(0,c.yj)(m.tokens)," tok \xb7 ",(0,c.S8)(m.cost)," est."]})]}),(0,a.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:u.map(e=>(0,a.jsx)(v,{run:e,now:r,onDeleted:i},e.id))})]})]})]})}}},e=>{e.O(0,[619,677,441,255,358],()=>e(e.s=2942)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64],{4218:(e,t,s)=>{Promise.resolve().then(s.bind(s,6654))},6654:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>_});var a=s(5155),n=s(2619),l=s.n(n),i=s(63),r=s(2115),c=s(6504),d=s(5459),o=s(7621),x=s(7e3),m=s(6420);function h(e){let{id:t,hasFinal:s,live:n}=e,[l,i]=(0,r.useState)(null),[h,u]=(0,r.useState)([]),[f,j]=(0,r.useState)(!0),[g,b]=(0,r.useState)(null),[k,v]=(0,r.useState)(0);return((0,r.useEffect)(()=>{let e=!0;return j(!0),b(null),Promise.all([fetch(o.F.reportUrl(t)).then(e=>e.ok?e.text():404===e.status?null:Promise.reject(Error("HTTP ".concat(e.status)))),o.F.artifacts(t).then(e=>e.artifacts)]).then(t=>{let[s,a]=t;e&&(i(s),u(a),j(!1))}).catch(t=>{e&&(b((null==t?void 0:t.message)||"request failed"),j(!1))}),()=>{e=!1}},[t,s,k]),f)?(0,a.jsxs)("div",{className:"panel p-10 flex items-center justify-center gap-3 text-ink-faint",children:[(0,a.jsx)(m.y$,{})," loading report…"]}):g?(0,a.jsxs)("div",{className:"panel",children:[(0,a.jsx)(m.pp,{glyph:"⚠",title:"Couldn't load the report",sub:"The hub didn't answer (".concat(g,"). Check that swarm serve is still running, then retry.")}),(0,a.jsx)("div",{className:"flex justify-center pb-8 -mt-2",children:(0,a.jsx)("button",{className:"btn btn-sm",onClick:()=>v(e=>e+1),children:"Retry"})})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("div",{className:"panel overflow-hidden",children:l?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3 px-5 sm:px-7 py-3 border-b border-border-soft",style:{background:"rgba(255,255,255,0.015)"},children:[(0,a.jsx)("span",{className:"label",children:"Final report"}),(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(m.i8,{text:l,label:"Copy markdown"}),(0,a.jsx)("button",{className:"btn btn-sm",onClick:()=>{if(!l)return;let e=new Blob([l],{type:"text/markdown"}),s=URL.createObjectURL(e),a=document.createElement("a");a.href=s,a.download="".concat(t,"-report.md"),a.click(),URL.revokeObjectURL(s)},children:"Download .md"}),(0,a.jsx)("a",{className:"btn btn-sm",href:o.F.reportUrl(t),target:"_blank",rel:"noreferrer",children:"Raw ↗"})]})]}),(0,a.jsx)("div",{className:"p-5 sm:p-8",children:(0,a.jsx)("div",{className:"prose-report",children:(0,a.jsx)(c.oz,{remarkPlugins:[d.A],children:l})})})]}):(0,a.jsx)(m.pp,{glyph:"▤",title:n?"No report yet":"No final report",sub:n?"The synthesizer composes the final report when the mission finishes — it will appear here automatically.":"This run ended without a synthesized report."})}),h.length>0&&(0,a.jsxs)("div",{className:"panel p-5",children:[(0,a.jsxs)("h3",{className:"label mb-3",children:["Artifacts \xb7 ",h.length]}),(0,a.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2",children:h.map(e=>(0,a.jsxs)("a",{href:o.F.artifactUrl(t,e.name),target:"_blank",rel:"noreferrer",className:"flex items-center gap-2.5 px-3 py-2.5 tile tile-hover",children:[(0,a.jsx)(p,{name:e.name}),(0,a.jsx)("span",{className:"mono text-xs truncate flex-1 text-ink",children:e.name}),(0,a.jsx)("span",{className:"text-2xs shrink-0 mono text-ink-faint",children:(0,x.zi)(e.size)}),(0,a.jsx)("span",{className:"text-ink-dim",children:"↗"})]},e.name))})]})]})}function p(e){let{name:t}=e,s=t.lastIndexOf("."),n=s>0?t.slice(s+1).toLowerCase().slice(0,4):"file";return(0,a.jsx)("span",{className:"mono shrink-0 uppercase grid place-items-center text-ink-dim",style:{fontSize:9.5,letterSpacing:"0.08em",width:34,height:20,borderRadius:5,background:"rgba(255,255,255,0.05)",border:"1px solid var(--color-border)"},children:n})}function u(e){let{id:t,onSent:s}=e,[n,l]=(0,r.useState)(""),[i,c]=(0,r.useState)(!1),[d,x]=(0,r.useState)(!1),m=async()=>{if(n.trim()&&!i){c(!0);try{await o.F.note(t,n.trim()),l(""),x(!0),setTimeout(()=>x(!1),1400),null==s||s()}finally{c(!1)}}};return(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("input",{className:"input",placeholder:"Steer the conductor — type guidance and press ↵",value:n,onChange:e=>l(e.target.value),onKeyDown:e=>"Enter"===e.key&&m(),style:{fontSize:13,padding:"9px 13px"}}),(0,a.jsx)("button",{className:"btn",disabled:!n.trim()||i,onClick:m,style:{whiteSpace:"nowrap"},children:d?"Sent ✓":"Send"})]})}function f(e){let{id:t,live:s}=e,[n,l]=(0,r.useState)(!1),[i,c]=(0,r.useState)(!1);return s?i?(0,a.jsx)("button",{className:"btn",disabled:!0,style:{padding:"8px 13px"},children:"stopping…"}):n?(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("button",{className:"btn btn-danger",style:{padding:"8px 12px"},onClick:async()=>{c(!0),l(!1);try{await o.F.cancel(t)}catch(e){c(!1)}},children:"Confirm stop"}),(0,a.jsx)("button",{className:"btn",style:{padding:"8px 12px"},onClick:()=>l(!1),children:"Keep"})]}):(0,a.jsx)("button",{className:"btn btn-danger",style:{padding:"8px 13px"},onClick:()=>l(!0),children:"Stop"}):null}function j(e){let t=0x811c9dc5;for(let s=0;s<e.length;s++)t^=e.charCodeAt(s),t=Math.imul(t,0x1000193);return t>>>0}let g=["Apis","Vesper","Bumble","Nectar","Pollen","Maja","Melli","Buzz","Wax","Comb","Clover","Sage","Tupelo","Aster","Bryony","Cassia","Dahlia","Elder","Fennel","Heather","Indigo","Juniper","Laurel","Mallow","Nettle","Olive","Poppy","Quince","Rowan","Sylvie","Thistle","Verbena","Willow","Yarrow","Zinnia","Basil","Cedar","Flax","Hazel","Iris","Maple","Reed","Sorrel","Hum","Drone","Scout","Forage","Ember"];function b(e){return g[j(e)%g.length]}function k(e){let{seed:t,size:s=14,className:n}=e,l=j(t),i=j(t+"\xb7"),r=[];for(let e=0;e<5;e++)for(let t=0;t<3;t++){let s=3*e+t;if(!(l>>s&1))continue;let a=i>>s&1?.95:.45;r.push({x:t,y:e,o:a}),t<2&&r.push({x:4-t,y:e,o:a})}return 0===r.length&&r.push({x:2,y:1,o:.95},{x:2,y:2,o:.45},{x:2,y:3,o:.95}),(0,a.jsx)("span",{className:"inline-grid place-items-center rounded-[4px] shrink-0 ".concat(null!=n?n:""),style:{width:s,height:s,background:"rgba(255,255,255,0.05)",border:"1px solid var(--color-border-soft)"},"aria-hidden":!0,children:(0,a.jsx)("svg",{width:s-4,height:s-4,viewBox:"0 0 5 5",children:r.map((e,t)=>(0,a.jsx)("rect",{x:e.x,y:e.y,width:1,height:1,fill:"#ffffff",opacity:e.o},t))})})}function v(e){let{activity:t,conductorLog:s,notes:n,operatorNotes:l,now:i}=e,[c,d]=(0,r.useState)("activity"),o=[{id:"activity",label:"Activity"},{id:"conductor",label:"Conductor",count:s.length+l.length},{id:"blackboard",label:"Blackboard",count:n.length}];return(0,a.jsxs)("div",{className:"panel flex flex-col h-[480px] lg:h-[calc(100vh-150px)] lg:max-h-[860px] lg:sticky lg:top-[84px]",children:[(0,a.jsx)("div",{className:"flex items-center gap-5 px-4 border-b border-border-soft shrink-0",children:o.map(e=>(0,a.jsxs)("button",{className:"tab","data-active":c===e.id,onClick:()=>d(e.id),children:[e.label,e.count?(0,a.jsx)("span",{className:"mono text-2xs text-ink-faint",children:e.count}):null]},e.id))}),(0,a.jsxs)("div",{className:"flex-1 overflow-hidden relative",children:["activity"===c&&(0,a.jsx)(N,{activity:t,now:i}),"conductor"===c&&(0,a.jsx)(w,{log:s,operatorNotes:l,now:i}),"blackboard"===c&&(0,a.jsx)(S,{notes:n,now:i})]})]})}function N(e){let{activity:t,now:s}=e,n=(0,r.useRef)(null),[l,i]=(0,r.useState)(!0);return((0,r.useEffect)(()=>{l&&n.current&&(n.current.scrollTop=n.current.scrollHeight)},[t,l]),0===t.length)?(0,a.jsx)(m.pp,{glyph:"❯",title:"No activity yet",sub:"Every agent tool call streams here live."}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{ref:n,onScroll:e=>{let t=e.currentTarget;i(t.scrollHeight-t.scrollTop-t.clientHeight<60)},className:"h-full overflow-y-auto px-3 py-2 space-y-0.5",children:t.map(e=>(0,a.jsx)(y,{item:e},e.id))}),!l&&(0,a.jsx)("button",{onClick:()=>{i(!0),n.current&&(n.current.scrollTop=n.current.scrollHeight)},className:"absolute bottom-3 left-1/2 -translate-x-1/2 btn btn-sm",style:{background:"color-mix(in oklab, var(--color-panel) 92%, transparent)",borderColor:"rgba(255,255,255,0.35)",boxShadow:"0 6px 20px -6px rgba(0,0,0,0.6)"},children:"↓ Latest"})]})}function y(e){var t,s;let{item:n}=e,l="result"===n.kind,i=null,r=null!=(t=n.text)?t:"",c="text-ink-dim";return"tool"===n.kind?(i=(0,a.jsxs)("span",{className:"mono font-medium text-ink mr-1.5",children:[(0,a.jsx)(m.si,{name:n.name})," ",n.name]}),c="text-ink-faint"):l?(i=(0,a.jsx)("span",{className:"mr-1.5 ".concat(n.ok?"text-ink-faint":"text-ink"),children:n.ok?"↳":"↳ ✗"}),c=n.ok?"text-ink-faint":"text-ink"):"note"===n.kind?i=(0,a.jsx)("span",{className:"text-ink-dim mr-1.5",children:"✦"}):"spawn"===n.kind?(i=(0,a.jsx)("span",{className:"text-ink mr-1.5",children:"⊕"}),c="text-ink"):"report"===n.kind?i=(0,a.jsx)("span",{className:"text-ink-dim mr-1.5",children:"✓"}):(i=(0,a.jsx)("span",{className:"mono font-medium text-ink mr-1.5",children:n.name}),r=null!=(s=n.text)?s:""),(0,a.jsxs)("div",{className:"flex items-start gap-2 py-1.5 text-xs leading-snug",style:{animation:"var(--animate-rise)"},title:"".concat(new Date(n.t).toLocaleString()).concat(n.taskId?" \xb7 ".concat(n.taskId," ").concat(b(n.taskId)):""),children:[(0,a.jsx)("span",{className:"flex items-center gap-1.5 shrink-0 w-[56px]",style:{marginTop:1},children:n.taskId?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k,{seed:n.taskId,size:14}),(0,a.jsx)("span",{className:"mono text-2xs text-ink-faint",children:n.taskId})]}):(0,a.jsx)("span",{className:"mono text-2xs text-ink-faint",children:"◉"})}),(0,a.jsx)("span",{className:"min-w-0 flex-1 ".concat(l?"pl-2 border-l border-border-soft":""),children:(0,a.jsxs)("span",{className:"line-clamp-2",style:{overflowWrap:"anywhere"},children:[i,(0,a.jsx)("span",{className:c,children:r})]})}),(0,a.jsx)("span",{className:"mono text-2xs shrink-0 text-ink-faint",style:{marginTop:1},children:(0,x.ME)(n.t)})]})}function w(e){let{log:t,operatorNotes:s,now:n}=e,l=[...t.map(e=>({t:e.t,kind:"say",text:e.text})),...s.map(e=>({t:e.t,kind:"op",text:e.text}))].sort((e,t)=>e.t-t.t),i=(0,r.useRef)(null);return((0,r.useEffect)(()=>{i.current&&(i.current.scrollTop=i.current.scrollHeight)},[l.length]),0===l.length)?(0,a.jsx)(m.pp,{glyph:"◉",title:"Conductor is quiet",sub:"Its decisions and commentary appear here. Send it a note from the header to steer the run."}):(0,a.jsx)("div",{ref:i,className:"h-full overflow-y-auto px-3.5 py-3 space-y-3",children:l.map((e,t)=>(0,a.jsx)("div",{style:{animation:"var(--animate-rise)"},children:"op"===e.kind?(0,a.jsxs)("div",{className:"rounded-lg p-2.5 text-xs",style:{background:"rgba(255,255,255,0.05)",border:"1px solid rgba(255,255,255,0.18)"},children:[(0,a.jsxs)("div",{className:"label mb-1 text-ink",style:{letterSpacing:"0.12em"},children:["you \xb7 ",(0,x.rB)(e.t,n)]}),(0,a.jsx)("div",{className:"text-ink-dim",children:e.text})]}):(0,a.jsxs)("div",{className:"text-xs leading-relaxed",children:[(0,a.jsxs)("div",{className:"label mb-0.5",style:{letterSpacing:"0.12em"},children:["◉ conductor \xb7 ",(0,x.ME)(e.t)]}),(0,a.jsx)("span",{className:"text-ink-dim",children:e.text})]})},t))})}function S(e){let{notes:t,now:s}=e;return 0===t.length?(0,a.jsx)(m.pp,{glyph:"✦",title:"Blackboard is empty",sub:"Durable facts agents post for the rest of the swarm show up here."}):(0,a.jsx)("div",{className:"h-full overflow-y-auto px-3.5 py-3 space-y-2",children:[...t].reverse().map((e,t)=>(0,a.jsxs)("div",{className:"tile p-2.5 text-xs",style:{animation:"var(--animate-rise)"},children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1 text-2xs text-ink-faint",children:[(0,a.jsx)("span",{className:"text-ink-dim",children:"✦"}),e.key&&(0,a.jsx)("span",{className:"mono font-bold text-ink-dim",children:e.key}),e.taskId&&(0,a.jsx)("span",{className:"mono",children:e.taskId}),(0,a.jsx)("span",{className:"ml-auto",children:(0,x.rB)(e.t,s)})]}),(0,a.jsx)("div",{className:"text-ink-dim",children:e.text})]},t))})}function T(e){return e.replace(/[#*`_>]+/g,"").replace(/\s+/g," ").trim().slice(0,140)}function C(e){var t;let{task:s,agent:n,now:l,onClick:i}=e,r=(0,x.ST)(s.status),c="running"===s.status||"verifying"===s.status,d="verifying"===s.status?"verifier":s.role,o=s.startedAt?(0,x.nc)((null!=(t=s.endedAt)?t:l)-s.startedAt):"";return(0,a.jsxs)("button",{onClick:i,className:"panel panel-hover text-left p-3.5 w-full relative overflow-hidden flex flex-col",style:{animation:"var(--animate-rise)",borderColor:c?"rgba(255,255,255,0.16)":void 0,opacity:"pending"===s.status?.75:1},children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1.5 w-full",children:[(0,a.jsx)(k,{seed:s.id,size:16}),(0,a.jsx)("span",{className:"mono text-2xs font-bold shrink-0",style:{color:r},children:s.id}),(0,a.jsx)("span",{className:"text-2xs font-medium shrink-0 text-ink-dim",children:b(s.id)}),(0,a.jsxs)("span",{className:"text-2xs shrink-0 text-ink-faint",children:["\xb7 ",d]}),s.verify&&(0,a.jsx)("span",{title:"adversarially verified",className:"text-2xs text-ink-dim",children:"⊛"}),s.attempt>1&&(0,a.jsxs)("span",{className:"text-2xs shrink-0 text-ink-dim",children:["retry ",s.attempt]}),(0,a.jsxs)("span",{className:"ml-auto flex items-center gap-1.5 shrink-0",children:[c?(0,a.jsx)(m.y$,{size:11}):(0,a.jsx)("span",{className:"text-sm",style:{color:r},children:function(e){switch(e){case"done":return"✓";case"failed":return"✗";case"blocked":return"⊘";case"verifying":return"◈";default:return""}}(s.status)}),o&&(0,a.jsx)("span",{className:"mono text-2xs text-ink-faint",children:o})]})]}),(0,a.jsx)("div",{className:"text-sm leading-snug mb-1.5 line-clamp-2 text-ink",children:s.title}),(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[s.deps.length>0&&(0,a.jsxs)("span",{className:"mono text-2xs text-ink-faint",children:["⇠ ",s.deps.join(", ")]}),s.artifacts.length>0&&(0,a.jsxs)("span",{className:"mono text-2xs text-ink-dim",title:s.artifacts.join(", "),children:["↧ ",s.artifacts.length," artifact",s.artifacts.length>1?"s":""]})]}),c&&n&&(0,a.jsxs)("div",{className:"mt-2 pt-2 text-2xs flex items-start gap-1.5 w-full border-t border-border-soft text-ink-dim",children:[(0,a.jsx)(m.si,{name:n.lastTool}),(0,a.jsxs)("span",{className:"line-clamp-2 text-ink-faint",style:{animation:"var(--animate-pulse-soft)",overflowWrap:"anywhere"},children:[n.lastTool?(0,a.jsx)("span",{className:"mono text-ink-dim",children:n.lastTool}):null,n.lastTool?" \xb7 ":"",function(e){let t=(e.lastText||e.lastThink||"").replace(/\s+/g," ").trim();return t.length>90?"…"+t.slice(t.length-89):t}(n)||"thinking…"]})]}),!c&&"done"===s.status&&s.report&&(0,a.jsx)("div",{className:"mt-1.5 text-2xs line-clamp-2 text-ink-faint",children:T(s.report)}),("failed"===s.status||"blocked"===s.status)&&(s.error||s.feedback)&&(0,a.jsx)("div",{className:"mt-1.5 text-2xs line-clamp-2",style:{color:r},children:T(s.feedback||s.error||"")})]})}function z(e){let{tasks:t,agents:s,status:n,conductorLatest:l,now:i,onSelect:c}=e,d=(0,r.useMemo)(()=>{let e=new Map;for(let s of t){let t=s.wave||1;e.has(t)||e.set(t,[]),e.get(t).push(s)}return[...e.entries()].sort((e,t)=>e[0]-t[0])},[t]),o="planning"===n&&0===t.length;return(0,a.jsxs)("div",{children:[(0,a.jsx)(A,{status:n,latest:l,taskCount:t.length}),o?(0,a.jsx)("div",{className:"panel mt-4",children:(0,a.jsx)(m.pp,{glyph:"◌",title:"Conductor is planning…",sub:"Decomposing your mission into the first wave of parallel tasks."})}):0===t.length?(0,a.jsx)("div",{className:"panel mt-4",children:(0,a.jsx)(m.pp,{glyph:"◇",title:"No tasks yet",sub:"The conductor hasn't spawned any work."})}):(0,a.jsx)("div",{className:"space-y-8 mt-6",children:d.map(e=>{let[t,n]=e,l=n.filter(e=>["done","failed","blocked"].includes(e.status)).length,r=n.filter(e=>"failed"===e.status).length;return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 mb-3",children:[(0,a.jsxs)("span",{className:"label",children:["Wave ",t]}),(0,a.jsxs)("span",{className:"mono text-2xs ".concat(r?"text-ink":"text-ink-faint"),children:[l,"/",n.length," settled",r?" \xb7 ".concat(r," failed"):""]}),(0,a.jsx)("span",{className:"flex-1 h-px bg-border-soft"})]}),(0,a.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 xl:grid-cols-3 gap-3",children:n.map(e=>(0,a.jsx)(C,{task:e,agent:(e=>{let t=s.filter(t=>t.taskId===e.id&&"running"===t.status);return t[t.length-1]})(e),now:i,onClick:()=>c(e)},e.id))})]},t)})})]})}function A(e){let{status:t,latest:s,taskCount:n}=e,l=["planning","running","synthesizing"].includes(t);return(0,a.jsx)("div",{className:"panel p-4",style:{borderColor:l?"rgba(255,255,255,0.25)":void 0,transition:"border-color 0.4s"},children:(0,a.jsxs)("div",{className:"flex items-center gap-3.5",children:[(0,a.jsxs)("div",{className:"glyph shrink-0 relative text-ink",style:{width:38,height:38,fontSize:13,boxShadow:l?"0 0 22px -6px rgba(255,255,255,0.5)":"none",transition:"box-shadow 0.4s"},children:[l&&(0,a.jsx)("span",{className:"absolute inset-0 rounded-[8px] animate-ping",style:{border:"1px solid rgba(255,255,255,0.3)"}}),"◉"]}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("div",{className:"flex items-baseline gap-2.5",children:[(0,a.jsx)("span",{className:"font-semibold text-base tracking-tight",children:"Conductor"}),(0,a.jsx)("span",{className:"mono text-2xs text-ink-faint",children:"synthesizing"===t?"synthesizing the final report":"orchestrating ".concat(n," task").concat(1!==n?"s":"")})]}),(0,a.jsx)("p",{className:"text-xs leading-snug mt-1 line-clamp-2 text-ink-dim",children:s||(l?"coordinating the swarm…":"idle")})]})]})})}function E(e){var t;let{runId:s,task:n,agents:l,now:i,onClose:h}=e;if((0,r.useEffect)(()=>{let e=e=>"Escape"===e.key&&h();return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[h]),!n)return null;let p=l.filter(e=>e.taskId===n.id),u=p[p.length-1],f=(0,x.ST)(n.status);return(0,a.jsxs)("div",{className:"fixed inset-0 z-50 flex justify-end",style:{animation:"var(--animate-fade-in)"},children:[(0,a.jsx)("div",{className:"absolute inset-0",style:{background:"rgba(0,0,0,0.55)",backdropFilter:"blur(2px)"},onClick:h}),(0,a.jsxs)("div",{className:"relative h-full overflow-y-auto",style:{width:"min(580px, 94vw)",background:"var(--color-bg-soft)",borderLeft:"1px solid var(--color-border)",animation:"var(--animate-slide-in)"},children:[(0,a.jsxs)("div",{className:"sticky top-0 z-10 px-6 pt-5 pb-4 border-b border-border-soft",style:{background:"color-mix(in oklab, var(--color-bg-soft) 88%, transparent)",backdropFilter:"blur(12px)"},children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3 mb-2.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5 flex-wrap",children:[(0,a.jsx)(k,{seed:n.id,size:22}),(0,a.jsx)("span",{className:"mono font-bold text-lg",style:{color:f},children:n.id}),(0,a.jsx)("span",{className:"text-sm font-medium text-ink-dim",children:b(n.id)}),(0,a.jsx)(m.Wh,{status:n.status}),(0,a.jsx)("span",{className:"text-2xs text-ink-faint",children:n.role})]}),(0,a.jsx)("button",{onClick:h,className:"btn btn-sm shrink-0",children:"esc ✕"})]}),(0,a.jsx)("h2",{className:"text-lg font-semibold leading-snug",children:n.title}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-x-3 gap-y-1 text-2xs mt-1.5 text-ink-faint",children:[(0,a.jsxs)("span",{children:["wave ",n.wave]}),n.deps.length>0&&(0,a.jsxs)("span",{className:"mono",children:["⇠ ",n.deps.join(", ")]}),n.verify&&(0,a.jsx)("span",{className:"text-ink-dim",children:"⊛ adversarially verified"}),n.attempt>1&&(0,a.jsxs)("span",{className:"text-ink-dim",children:["attempt ",n.attempt]}),n.startedAt&&(0,a.jsx)("span",{className:"mono",children:(0,x.nc)((null!=(t=n.endedAt)?t:i)-n.startedAt)})]})]}),(0,a.jsxs)("div",{className:"px-6 py-5",children:[(0,a.jsx)(F,{title:"Objective",children:(0,a.jsx)("p",{className:"text-sm leading-relaxed whitespace-pre-wrap text-ink-dim",children:n.objective})}),n.context&&(0,a.jsx)(F,{title:"Context from the conductor",children:(0,a.jsx)("p",{className:"text-xs leading-relaxed whitespace-pre-wrap text-ink-faint",children:n.context})}),n.report&&(0,a.jsx)(F,{title:"Report",children:(0,a.jsx)("div",{className:"rounded-xl px-4 py-3.5 border border-border-soft",style:{background:"rgba(0,0,0,0.25)"},children:(0,a.jsx)("div",{className:"prose-report",style:{fontSize:13},children:(0,a.jsx)(c.oz,{remarkPlugins:[d.A],children:n.report})})})}),n.feedback&&(0,a.jsx)(F,{title:"Verifier feedback",children:(0,a.jsx)("div",{className:"text-xs leading-relaxed whitespace-pre-wrap rounded-xl p-3.5 text-ink-dim",style:{background:"rgba(255,255,255,0.03)",border:"1px solid rgba(255,255,255,0.16)"},children:n.feedback})}),n.error&&"done"!==n.status&&(0,a.jsx)(F,{title:"Error",children:(0,a.jsx)("div",{className:"text-xs leading-relaxed whitespace-pre-wrap rounded-xl p-3.5 text-ink",style:{background:"rgba(255,255,255,0.05)",border:"1px solid rgba(255,255,255,0.22)"},children:n.error})}),n.artifacts.length>0&&(0,a.jsx)(F,{title:"Artifacts \xb7 ".concat(n.artifacts.length),children:(0,a.jsx)("div",{className:"flex flex-col gap-1.5",children:n.artifacts.map(e=>(0,a.jsxs)("a",{href:o.F.artifactUrl(s,e),target:"_blank",rel:"noreferrer",className:"flex items-center gap-2 px-3 py-2 tile tile-hover text-ink",children:[(0,a.jsx)("span",{className:"mono text-xs truncate flex-1",children:e}),(0,a.jsx)("span",{className:"mono text-2xs text-ink-dim",children:"open ↗"})]},e))})}),p.length>0&&(0,a.jsx)(F,{title:"Agents \xb7 ".concat(p.length),children:(0,a.jsx)("div",{className:"flex flex-col gap-2",children:p.map((e,t)=>(0,a.jsx)(R,{agent:e,now:i,expanded:e===u,attempt:t+1},e.id))})})]})]})]})}function R(e){var t;let{agent:s,now:n,expanded:l,attempt:i}=e,[c,d]=(0,r.useState)(l),o="running"===s.status,m=(0,x.nc)((null!=(t=s.endedAt)?t:n)-s.startedAt);return(0,a.jsxs)("div",{className:"tile overflow-hidden",children:[(0,a.jsxs)("button",{onClick:()=>d(e=>!e),className:"w-full flex items-center gap-2 px-3 py-2.5 text-left",children:[(0,a.jsx)("span",{className:"rounded-full shrink-0",style:{width:7,height:7,background:o?"var(--color-ink)":"var(--color-ink-faint)"}}),(0,a.jsx)("span",{className:"mono text-2xs text-ink-dim",children:s.id}),(0,a.jsx)("span",{className:"text-2xs text-ink-dim",children:s.role}),(0,a.jsxs)("span",{className:"mono text-2xs ml-auto shrink-0 text-ink-faint",children:["#",i," \xb7 ",s.steps," steps \xb7 ",m,o?" \xb7 live":""]}),(0,a.jsx)("span",{className:"text-ink-faint",style:{fontSize:9,transform:c?"rotate(180deg)":"none",transition:"transform 0.15s"},children:"▼"})]}),c&&(0,a.jsxs)("div",{className:"px-3 pb-3 space-y-2.5 border-t border-border-soft",style:{paddingTop:10},children:[s.lastThink&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"label mb-1",children:"reasoning"}),(0,a.jsx)("div",{className:"text-xs leading-relaxed whitespace-pre-wrap mono text-ink-faint",style:{maxHeight:180,overflow:"auto"},children:s.lastThink.slice(-1400)})]}),s.lastText&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"label mb-1",children:"output"}),(0,a.jsx)("div",{className:"text-xs leading-relaxed whitespace-pre-wrap text-ink-dim",style:{maxHeight:180,overflow:"auto"},children:s.lastText.slice(-1400)})]}),!s.lastThink&&!s.lastText&&(0,a.jsx)("div",{className:"text-2xs text-ink-faint",children:o?"Waiting for the first output…":"No captured output."}),s.lastTool&&(0,a.jsxs)("div",{className:"text-2xs mono text-ink-faint",children:["last tool: ",s.lastTool]})]})]})}function F(e){let{title:t,children:s}=e;return(0,a.jsxs)("div",{className:"mb-6",children:[(0,a.jsx)("div",{className:"label mb-2",children:t}),s]})}var I=s(830),L=s(6168);function M(){var e;let t=(0,i.useSearchParams)().get("id"),{data:s,connected:n,engineLive:c}=(0,L.Xt)(t),d=(0,L.cB)(1e3),[o,p]=(0,r.useState)(null),[j,g]=(0,r.useState)("swarm"),[b,k]=(0,r.useState)(!1),[N,y]=(0,r.useState)(!1);(0,r.useEffect)(()=>{y(!1);let e=setTimeout(()=>y(!0),8e3);return()=>clearTimeout(e)},[t]);let w=!!s&&["done","failed","cancelled"].includes(s.status);(0,r.useEffect)(()=>{w&&!b&&((null==s?void 0:s.finalSummary)||(null==s?void 0:s.finalReportPath))&&(g("report"),k(!0))},[w,b,null==s?void 0:s.finalSummary,null==s?void 0:s.finalReportPath]);let S=(0,r.useMemo)(()=>{var e;return s&&o&&null!=(e=s.tasks.find(e=>e.id===o))?e:null},[s,o]),T=(0,r.useMemo)(()=>{if(!s)return 0;let e=new Set;for(let t of s.tasks)for(let s of t.artifacts)e.add(s);return s.finalReportPath&&e.add("final-report.md"),e.size},[s]);if(!t)return(0,a.jsxs)("div",{className:"min-h-screen",children:[(0,a.jsx)(I.V,{}),(0,a.jsxs)("div",{className:"max-w-3xl mx-auto p-10 text-center text-ink-dim",children:["No run id. ",(0,a.jsx)(l(),{href:"/",className:"underline",children:"Back to dashboard"})]})]});if(!s||!s.meta)return(0,a.jsxs)("div",{className:"min-h-screen",children:[(0,a.jsx)(I.V,{}),(0,a.jsxs)("div",{className:"max-w-3xl mx-auto p-16 text-center",children:[(0,a.jsxs)("div",{className:"flex items-center justify-center gap-3 text-ink-faint",children:[(0,a.jsx)(m.y$,{})," connecting to run…"]}),N&&(0,a.jsxs)("div",{className:"mt-6 text-sm leading-relaxed text-ink-dim",style:{animation:"var(--animate-rise)"},children:["Still connecting. This run id may not exist, or the hub isn't reachable — check that"," ",(0,a.jsx)("span",{className:"mono text-ink",children:"swarm serve"})," is running.",(0,a.jsx)("div",{className:"mt-3",children:(0,a.jsx)(l(),{href:"/",className:"btn btn-sm",style:{display:"inline-flex"},children:"Back to dashboard"})})]})]})]});let C=s.meta,A=s.usage.promptTokens+s.usage.completionTokens,R=C.options.maxTokens,F=!w,M="failed"===s.status,_=M&&/auth|api key|rejected|401/i.test(s.statusReason||""),W=F&&!1===c,U=(0,x.nc)(((w||W)&&s.updatedAt?s.updatedAt:d)-C.createdAt),D={done:s.tasks.filter(e=>"done"===e.status).length,failed:s.tasks.filter(e=>"failed"===e.status).length,blocked:s.tasks.filter(e=>"blocked"===e.status).length,total:s.tasks.length},O=s.usage.promptTokens>0?Math.round(s.usage.cacheHitTokens/s.usage.promptTokens*100):0,V=null==(e=s.conductorLog[s.conductorLog.length-1])?void 0:e.text,$=[C.options.model,C.sandbox?"isolated workspace":"real directory","".concat(C.options.maxWorkers,"\xd7 parallel"),..."off"!==C.options.verification?["verify ".concat(C.options.verification)]:[]].join(" \xb7 ");return(0,a.jsxs)("div",{className:"min-h-screen",children:[(0,a.jsx)(I.V,{right:(0,a.jsxs)("span",{className:"hidden md:flex items-center gap-2 text-2xs text-ink-faint",children:[(0,a.jsx)(m.md,{status:n?F?"running":s.status:"failed",size:7,pulse:n&&F}),n?F?"live":"loaded":"reconnecting…"]})}),(0,a.jsxs)("main",{className:"max-w-[1400px] mx-auto px-4 sm:px-6 py-6",children:[M&&(0,a.jsxs)(P,{glyph:"✕",title:"This run failed",children:[s.statusReason||"The run ended without completing.",_&&(0,a.jsx)(l(),{href:"/settings",className:"btn btn-sm mt-3",style:{display:"inline-flex"},children:"Fix your API key in Settings"})]}),W&&(0,a.jsxs)(P,{glyph:"◌",title:"Engine process is not running",children:["This run was interrupted before it could finish — the journal shows its last known state. Resuming keeps completed work and re-runs only the tasks that were in flight.",(0,a.jsx)("div",{className:"mt-3",children:(0,a.jsx)(B,{id:t})})]}),(0,a.jsxs)("div",{className:"panel p-5 mb-6",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-4 flex-wrap",children:[(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("h1",{className:"text-lg font-semibold leading-snug mb-2 text-ink",children:C.mission}),(0,a.jsxs)("div",{className:"flex items-center gap-x-3 gap-y-1.5 flex-wrap",children:[(0,a.jsx)(m.Wh,{status:s.status}),(0,a.jsx)("span",{className:"mono text-2xs text-ink-faint",children:$}),(0,a.jsxs)("button",{className:"mono text-2xs text-ink-faint hover:text-ink-dim transition-colors",title:"Copy run id",onClick:()=>{var e;return null==(e=navigator.clipboard)?void 0:e.writeText(t).catch(()=>{})},children:[t," ⧉"]})]}),s.statusReason&&w&&(0,a.jsx)("p",{className:"text-xs mt-2 text-ink-faint",children:s.statusReason})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[(0,a.jsx)(f,{id:t,live:F&&!W}),(s.finalSummary||w)&&"report"!==j&&(0,a.jsx)("button",{onClick:()=>g("report"),className:"btn",children:"View report"})]})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-x-10 gap-y-4 mt-6",children:[(0,a.jsx)(H,{label:"Tasks",value:"".concat(D.done,"/").concat(D.total),sub:D.failed?"".concat(D.failed," failed"):D.blocked?"".concat(D.blocked," blocked"):"done",alert:D.failed>0||D.blocked>0}),(0,a.jsx)(H,{label:"Active",value:String(s.activeAgents.length),sub:"agents"}),(0,a.jsx)(H,{label:"Tokens",value:(0,x.yj)(A),sub:O>0?"".concat(O,"% cached"):"of ".concat((0,x.yj)(R))}),(0,a.jsx)(H,{label:"Cost",value:(0,x.S8)(s.cost),sub:"estimated"}),(0,a.jsx)(H,{label:"Elapsed",value:U,sub:F&&!W?"running":"total"})]}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)(m.jT,{spent:A,cap:R}),(0,a.jsxs)("div",{className:"flex justify-between mt-1.5 mono text-2xs text-ink-faint",children:[(0,a.jsxs)("span",{children:["budget \xb7 ",(0,x.yj)(A)," of ",(0,x.yj)(R)]}),(0,a.jsxs)("span",{children:[R>0?Math.min(100,Math.round(A/R*100)):0,"%"]})]})]}),F&&!W&&(0,a.jsx)("div",{className:"mt-4",children:(0,a.jsx)(u,{id:t})})]}),(0,a.jsxs)("div",{className:"flex items-center gap-6 mb-5 border-b border-border-soft",children:[(0,a.jsx)("button",{className:"tab","data-active":"swarm"===j,onClick:()=>g("swarm"),children:"Swarm"}),(0,a.jsxs)("button",{className:"tab","data-active":"report"===j,onClick:()=>g("report"),children:["Report",s.finalSummary?(0,a.jsx)("span",{className:"text-ink",children:"✓"}):null,T>0&&(0,a.jsx)("span",{className:"mono text-2xs text-ink-faint",children:T})]})]}),"swarm"===j?(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_380px] gap-5 items-start",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[s.finalSummary&&(0,a.jsxs)("div",{className:"panel p-4 mb-5",style:{borderColor:"rgba(255,255,255,0.22)",background:"rgba(255,255,255,0.03)"},children:[(0,a.jsx)("div",{className:"label mb-1.5 text-ink",children:"✓ Mission summary"}),(0,a.jsx)("p",{className:"text-sm leading-relaxed text-ink-dim",children:s.finalSummary})]}),(0,a.jsx)(z,{tasks:s.tasks,agents:s.agents,status:s.status,conductorLatest:V,now:d,onSelect:e=>p(e.id)})]}),(0,a.jsx)(v,{activity:s.activity,conductorLog:s.conductorLog,notes:s.notes,operatorNotes:s.operatorNotes,now:d})]}):(0,a.jsx)(h,{id:t,hasFinal:!!s.finalSummary,live:F})]}),(0,a.jsx)(E,{runId:t,task:S,agents:s.agents,now:d,onClose:()=>p(null)})]})}function B(e){let{id:t}=e,[s,n]=(0,r.useState)("idle");return(0,a.jsxs)("button",{className:"btn btn-sm",disabled:"resuming"===s,onClick:async()=>{n("resuming");try{await o.F.resume(t)}catch(e){n("error")}},children:["resuming"===s?(0,a.jsx)(m.y$,{size:12}):null,"error"===s?"Resume failed — retry":"Resume run"]})}function P(e){let{glyph:t,title:s,children:n}=e;return(0,a.jsxs)("div",{className:"panel p-4 mb-5 flex items-start gap-3.5",style:{borderColor:"rgba(255,255,255,0.28)",background:"rgba(255,255,255,0.03)",animation:"var(--animate-rise)"},children:[(0,a.jsx)("span",{className:"glyph shrink-0 text-ink",style:{width:30,height:30,fontSize:13},children:t}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("div",{className:"font-semibold text-ink",children:s}),(0,a.jsx)("div",{className:"text-sm mt-0.5 leading-relaxed text-ink-dim",children:n})]})]})}function H(e){let{label:t,value:s,sub:n,alert:l}=e;return(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"label mb-1.5",children:t}),(0,a.jsx)("div",{className:"text-xl font-bold leading-none mono text-ink",children:s}),n&&(0,a.jsx)("div",{className:"mono text-2xs mt-1.5 ".concat(l?"text-ink":"text-ink-faint"),children:n})]})}function _(){return(0,a.jsx)(r.Suspense,{fallback:(0,a.jsx)("div",{className:"min-h-screen grid place-items-center text-ink-faint",children:(0,a.jsx)(m.y$,{})}),children:(0,a.jsx)(M,{})})}}},e=>{e.O(0,[619,383,677,441,255,358],()=>e(e.s=4218)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[662],{1676:(e,a,n)=>{Promise.resolve().then(n.bind(n,2802))},2802:(e,a,n)=>{"use strict";n.r(a),n.d(a,{default:()=>m});var t=n(5155),s=n(2619),l=n.n(s),i=n(2115),o=n(830),r=n(6420),d=n(7621),c=n(6168);let u=[{key:"maxWorkers",label:"Agents in parallel",min:1,max:32},{key:"maxTasks",label:"Task limit",min:1,max:1e3},{key:"maxStepsPerTask",label:"Steps per task",min:3,max:200},{key:"maxTokensPerRun",label:"Token budget",min:5e4,max:2e9}];function m(){var e,a,n,s,m,k,f,b,g,j,y,N,w,C,S,T,M;let{config:I,reload:K,error:P}=(0,c.UK)(),[R,E]=(0,i.useState)([]),[A,F]=(0,i.useState)(!1),[U,B]=(0,i.useState)(!1),[_,V]=(0,i.useState)(null),[W,q]=(0,i.useState)(""),[D,$]=(0,i.useState)({}),[O,z]=(0,i.useState)({}),[G,L]=(0,i.useState)({}),[H,J]=(0,i.useState)({}),[Q,X]=(0,i.useState)(!1),[Y,Z]=(0,i.useState)(null),[ee,ea]=(0,i.useState)(!1),[en,et]=(0,i.useState)(null),es=async()=>{X(!0),Z(null);try{Z(await d.F.validate())}catch(e){Z({status:"unknown",message:(null==e?void 0:e.message)||"request failed"})}finally{X(!1)}};(0,i.useEffect)(()=>{I&&($({provider:I.provider,model:I.model,conductorModel:I.conductorModel,maxWorkers:I.maxWorkers,maxTasks:I.maxTasks,maxStepsPerTask:I.maxStepsPerTask,maxTokensPerRun:I.maxTokensPerRun,verification:I.verification,thinking:I.thinking,reasoningEffort:I.reasoningEffort,safeMode:I.safeMode,searchBackend:I.searchBackend,sandboxRuntime:I.sandboxRuntime,sandboxImage:I.sandboxImage,e2bTemplate:I.e2bTemplate,vercelTeamId:I.vercelTeamId,vercelProjectId:I.vercelProjectId}),L(Object.fromEntries(I.providers.map(e=>[e.id,e.baseUrl]))))},[I]),(0,i.useEffect)(()=>{d.F.models().then(e=>E(e.models)).catch(()=>{})},[null==I?void 0:I.apiKeySet,null==I?void 0:I.provider]);let el=(0,i.useMemo)(()=>{var e;return null!=(e=null==I?void 0:I.providers.find(e=>e.id===D.provider))?e:null==I?void 0:I.providers.find(e=>e.id===I.provider)},[I,D.provider]),ei=async()=>{for(let e of u){let a=D[e.key];if(""===a||null===a||!Number.isFinite(Number(a)))return void V("".concat(e.label," must be a number"))}B(!0),V(null);try{var e,a,n;let t={...D};for(let a of(W.trim()&&(t.tinyfishApiKey=W.trim()),["e2bApiKey","modalTokenId","modalTokenSecret","vercelToken"]))(null==(e=H[a])?void 0:e.trim())&&(t[a]=H[a].trim());let s={};for(let e of null!=(a=null==I?void 0:I.providers)?a:[]){let a={};(null==(n=O[e.id])?void 0:n.trim())&&(a.apiKey=O[e.id].trim()),void 0!==G[e.id]&&G[e.id]!==e.baseUrl&&(a.baseUrl=G[e.id]),Object.keys(a).length&&(s[e.id]=a)}Object.keys(s).length&&(t.providers=s),await d.F.setConfig(t),z({}),J({}),q(""),await K(),d.F.models().then(e=>E(e.models)).catch(()=>{}),F(!0),setTimeout(()=>F(!1),1800)}catch(e){V((null==e?void 0:e.message)||"save failed")}finally{B(!1)}};if(!I)return(0,t.jsxs)("div",{className:"min-h-screen",children:[(0,t.jsx)(o.V,{}),(0,t.jsx)("div",{className:"max-w-2xl mx-auto p-16 flex justify-center text-ink-faint",children:P?(0,t.jsxs)("span",{className:"text-ink",children:["Hub unreachable: ",P]}):(0,t.jsx)(r.y$,{})})]});let eo=R.length?R:null!=(e=null==el?void 0:el.knownModels)?e:I.knownModels,er=e=>{var a;let n=null==(a=I.pricing)?void 0:a[e];return n?"$".concat(n.inMiss,"/M in \xb7 $").concat(n.out,"/M out"):void 0};return(0,t.jsxs)("div",{className:"min-h-screen",children:[(0,t.jsx)(o.V,{}),(0,t.jsxs)("main",{className:"max-w-2xl mx-auto px-5 sm:px-8 py-8 pb-24",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-3 mb-6",children:[(0,t.jsx)("h1",{className:"text-xl font-bold",children:"Settings"}),(0,t.jsx)(l(),{href:"/",className:"text-xs text-ink-faint hover:text-ink-dim transition-colors",children:"← back to missions"})]}),(0,t.jsxs)(h,{title:"Model provider",sub:"Keys are stored locally in ~/.agentswarm/config.json (chmod 600) and only ever sent to the provider's API.",children:[(0,t.jsx)(x,{label:"Provider",children:(0,t.jsx)("select",{className:"input",value:null!=(a=D.provider)?a:I.provider,onChange:e=>$({...D,provider:e.target.value}),children:I.providers.map(e=>(0,t.jsxs)("option",{value:e.id,children:[e.label,e.keySet?" \xb7 key saved":e.keyRequired?"":" \xb7 no key needed"]},e.id))})}),el&&(0,t.jsxs)(t.Fragment,{children:[el.note&&(0,t.jsx)("p",{className:"text-xs leading-relaxed text-ink-faint",children:el.note}),el.keyRequired?(0,t.jsxs)(x,{label:"".concat(el.label," API key"),hint:el.keySet?"current: ".concat(el.keyMasked):"required",children:[(0,t.jsx)("input",{className:"input mono",type:"password",placeholder:el.keySet?"•••••• (leave blank to keep)":"paste your key",value:null!=(n=O[el.id])?n:"",onChange:e=>z({...O,[el.id]:e.target.value}),autoComplete:"off"}),el.keyUrl&&(0,t.jsxs)("p",{className:"text-2xs mt-1.5 text-ink-faint",children:["Get one at"," ",(0,t.jsx)("a",{href:el.keyUrl,target:"_blank",rel:"noreferrer",className:"text-ink underline underline-offset-2",children:el.keyUrl.replace(/^https?:\/\//,"")})]})]}):(0,t.jsx)("p",{className:"text-xs text-ink-faint",children:"Local server — no API key needed."}),(0,t.jsx)(x,{label:"Base URL",hint:"default: ".concat(el.defaultBaseUrl),children:(0,t.jsx)("input",{className:"input mono",value:null!=(s=G[el.id])?s:el.baseUrl,onChange:e=>L({...G,[el.id]:e.target.value})})})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3 pt-1 flex-wrap",children:[(0,t.jsxs)("button",{className:"btn",onClick:es,disabled:Q,children:[Q&&(0,t.jsx)(r.y$,{size:13})," Test connection"]}),Y?(0,t.jsx)("span",{className:"text-xs mono ".concat("ok"===Y.status?"text-ink":"text-ink-dim"),children:"ok"===Y.status?"✓ Connection works":"invalid"===Y.status?"✕ ".concat(Y.message||"key rejected"):"— ".concat(Y.message||"could not verify")}):(0,t.jsx)("span",{className:"text-2xs text-ink-faint",children:"tests the saved provider — save first"})]})]}),(0,t.jsxs)(h,{title:"Models",children:[(0,t.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[(0,t.jsx)(x,{label:"Worker model",hint:"does the tasks",sub:er(D.model),children:(0,t.jsx)(p,{value:null!=(m=D.model)?m:"",options:eo,onChange:e=>$({...D,model:e}),listId:"worker-models"})}),(0,t.jsx)(x,{label:"Conductor model",hint:"plans & synthesizes",sub:er(D.conductorModel),children:(0,t.jsx)(p,{value:null!=(k=D.conductorModel)?k:"",options:eo,onChange:e=>$({...D,conductorModel:e}),listId:"conductor-models"})})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3 mt-3",children:[(0,t.jsx)(x,{label:"Reasoning effort",hint:"how hard models think",children:(0,t.jsxs)("select",{className:"input",value:D.reasoningEffort,onChange:e=>$({...D,reasoningEffort:e.target.value}),children:[(0,t.jsx)("option",{value:"low",children:"low — fastest"}),(0,t.jsx)("option",{value:"medium",children:"medium"}),(0,t.jsx)("option",{value:"high",children:"high — recommended"}),(0,t.jsx)("option",{value:"max",children:"max — slowest, most careful"})]})}),(0,t.jsx)(x,{label:"Thinking mode",hint:"chain-of-thought",children:(0,t.jsx)(v,{on:!!D.thinking,onChange:e=>$({...D,thinking:e}),label:D.thinking?"enabled":"disabled"})})]}),(0,t.jsx)("p",{className:"text-2xs leading-relaxed text-ink-faint",children:"Effort maps to what each provider supports; providers without an effort knob simply ignore it."})]}),(0,t.jsxs)(h,{title:"Web search",sub:"What agents use for web_search. Auto prefers SearchKit (local, citable passages) when installed, then TinyFish, then DuckDuckGo.",children:[(0,t.jsx)(x,{label:"Search backend",children:(0,t.jsxs)("select",{className:"input",value:null!=(f=D.searchBackend)?f:"auto",onChange:e=>$({...D,searchBackend:e.target.value}),children:[(0,t.jsx)("option",{value:"auto",children:"Auto — best available"}),(0,t.jsx)("option",{value:"tinyfish",children:"TinyFish (skip SearchKit)"}),(0,t.jsx)("option",{value:"ddg",children:"DuckDuckGo only"})]})}),(0,t.jsxs)(x,{label:"TinyFish API key",hint:I.tinyfishKeySet?"current: ".concat(I.tinyfishKeyMasked):"optional — fast hosted search & fetch",children:[(0,t.jsx)("input",{className:"input mono",type:"password",placeholder:I.tinyfishKeySet?"•••••• (leave blank to keep)":"optional",value:W,onChange:e=>q(e.target.value),autoComplete:"off"}),(0,t.jsxs)("p",{className:"text-2xs mt-1.5 text-ink-faint",children:["SearchKit: ",(0,t.jsx)("span",{className:"mono",children:"pip install searchkit"})," — agents get ranked, citable results with quotable passages. TinyFish: ",(0,t.jsx)("a",{href:"https://docs.tinyfish.ai",target:"_blank",rel:"noreferrer",className:"text-ink underline underline-offset-2",children:"tinyfish.ai"})]})]})]}),(0,t.jsxs)(h,{title:"Sandbox",sub:"Where agents execute shell commands for isolated runs. The default is a private per-run workspace on this machine, with nothing to install. Pick a container or cloud runtime for stronger isolation, or Auto to use the strongest one you've configured (E2B → Modal → Vercel → Docker → host).",children:[(0,t.jsx)(x,{label:"Runtime",hint:(null!=(b=D.sandboxRuntime)?b:"host")==="auto"?"currently resolves to: ".concat(I.sandboxResolved):void 0,children:(0,t.jsxs)("select",{className:"input",value:null!=(g=D.sandboxRuntime)?g:"host",onChange:e=>$({...D,sandboxRuntime:e.target.value}),children:[(0,t.jsx)("option",{value:"host",children:"This machine — isolated workspace (default)"}),(0,t.jsxs)("option",{value:"docker",children:["Local container (Docker)",I.dockerUp?" \xb7 daemon up":" \xb7 daemon not running"]}),(0,t.jsxs)("option",{value:"e2b",children:["E2B cloud",I.e2bKeySet?" \xb7 key saved":""]}),(0,t.jsxs)("option",{value:"modal",children:["Modal cloud",I.modalConfigured?" \xb7 configured":""]}),(0,t.jsxs)("option",{value:"vercel",children:["Vercel sandbox",I.vercelConfigured?" \xb7 configured":""]}),(0,t.jsx)("option",{value:"auto",children:"Auto — strongest available"})]})}),(0,t.jsx)(x,{label:"Container image",hint:"docker & modal runtimes",children:(0,t.jsx)("input",{className:"input mono",value:null!=(j=D.sandboxImage)?j:"",onChange:e=>$({...D,sandboxImage:e.target.value}),placeholder:"node:22-bookworm"})}),(0,t.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[(0,t.jsx)(x,{label:"E2B API key",hint:I.e2bKeySet?"current: ".concat(I.e2bKeyMasked):"e2b.dev",children:(0,t.jsx)("input",{className:"input mono",type:"password",autoComplete:"off",placeholder:I.e2bKeySet?"•••••• (leave blank to keep)":"e2b_...",value:null!=(y=H.e2bApiKey)?y:"",onChange:e=>J({...H,e2bApiKey:e.target.value})})}),(0,t.jsx)(x,{label:"E2B template",hint:"sandbox template id",children:(0,t.jsx)("input",{className:"input mono",value:null!=(N=D.e2bTemplate)?N:"",onChange:e=>$({...D,e2bTemplate:e.target.value}),placeholder:"base"})}),(0,t.jsx)(x,{label:"Modal token id",hint:I.modalConfigured?"configured":"modal.com",children:(0,t.jsx)("input",{className:"input mono",type:"password",autoComplete:"off",placeholder:I.modalConfigured?"•••••• (leave blank to keep)":"ak-...",value:null!=(w=H.modalTokenId)?w:"",onChange:e=>J({...H,modalTokenId:e.target.value})})}),(0,t.jsx)(x,{label:"Modal token secret",children:(0,t.jsx)("input",{className:"input mono",type:"password",autoComplete:"off",placeholder:I.modalConfigured?"•••••• (leave blank to keep)":"as-...",value:null!=(C=H.modalTokenSecret)?C:"",onChange:e=>J({...H,modalTokenSecret:e.target.value})})}),(0,t.jsx)(x,{label:"Vercel token",hint:I.vercelConfigured?"configured":"vercel.com",children:(0,t.jsx)("input",{className:"input mono",type:"password",autoComplete:"off",placeholder:I.vercelConfigured?"•••••• (leave blank to keep)":"access token",value:null!=(S=H.vercelToken)?S:"",onChange:e=>J({...H,vercelToken:e.target.value})})}),(0,t.jsx)(x,{label:"Vercel team / project",children:(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("input",{className:"input mono",placeholder:"team id",value:null!=(T=D.vercelTeamId)?T:"",onChange:e=>$({...D,vercelTeamId:e.target.value})}),(0,t.jsx)("input",{className:"input mono",placeholder:"project id",value:null!=(M=D.vercelProjectId)?M:"",onChange:e=>$({...D,vercelProjectId:e.target.value})})]})})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3 pt-1 flex-wrap",children:[(0,t.jsxs)("button",{className:"btn",disabled:ee,onClick:async()=>{ea(!0),et(null);try{et(await d.F.sandboxTest("auto"===D.sandboxRuntime?void 0:D.sandboxRuntime))}catch(a){var e;et({kind:null!=(e=D.sandboxRuntime)?e:"auto",ok:!1,detail:(null==a?void 0:a.message)||"request failed"})}finally{ea(!1)}},children:[ee&&(0,t.jsx)(r.y$,{size:13})," Test sandbox"]}),en?(0,t.jsx)("span",{className:"text-xs mono ".concat(en.ok?"text-ink":"text-ink-dim"),children:en.ok?"✓ ".concat(en.kind," works"):"✕ ".concat(en.kind,": ").concat(en.detail)}):(0,t.jsx)("span",{className:"text-2xs text-ink-faint",children:"boots the saved runtime, runs a command, tears down — save first"})]})]}),(0,t.jsxs)(h,{title:"Swarm defaults",sub:"Starting values for new runs — every launch can override them.",children:[(0,t.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-3",children:u.map(e=>{var a;return(0,t.jsx)(x,{label:e.label,children:(0,t.jsx)("input",{type:"number",className:"input",min:e.min,max:e.max,value:null!=(a=D[e.key])?a:"",onChange:a=>$({...D,[e.key]:""===a.target.value?"":+a.target.value})})},e.key)})}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3 mt-3",children:[(0,t.jsx)(x,{label:"Verification",hint:"verifier agents re-check work",children:(0,t.jsxs)("select",{className:"input",value:D.verification,onChange:e=>$({...D,verification:e.target.value}),children:[(0,t.jsx)("option",{value:"off",children:"off"}),(0,t.jsx)("option",{value:"normal",children:"normal"}),(0,t.jsx)("option",{value:"strict",children:"strict"})]})}),(0,t.jsx)(x,{label:"Safe mode",hint:"block risky shell/paths",children:(0,t.jsx)(v,{on:!!D.safeMode,onChange:e=>$({...D,safeMode:e}),label:D.safeMode?"on":"off"})})]})]}),(0,t.jsxs)("div",{className:"sticky bottom-0 -mx-5 sm:-mx-8 px-5 sm:px-8 py-4 flex items-center justify-between gap-3",style:{background:"linear-gradient(transparent, color-mix(in oklab, var(--color-bg) 90%, transparent) 30%)",backdropFilter:"blur(8px)"},children:[(0,t.jsx)("span",{className:"text-xs min-w-0 truncate ".concat(_?"text-ink":"text-ink-faint"),children:_||"Changes apply to new runs."}),(0,t.jsx)("button",{className:"btn btn-primary shrink-0",onClick:ei,disabled:U,children:U?(0,t.jsx)(r.y$,{size:13,dark:!0}):A?"Saved ✓":"Save settings"})]})]})]})}function h(e){let{title:a,sub:n,children:s}=e;return(0,t.jsxs)("div",{className:"panel p-5 mb-4",children:[(0,t.jsx)("h2",{className:"font-semibold text-base",children:a}),n?(0,t.jsx)("p",{className:"text-xs mt-0.5 mb-4 leading-relaxed text-ink-faint",children:n}):(0,t.jsx)("div",{className:"mb-4"}),(0,t.jsx)("div",{className:"space-y-3",children:s})]})}function x(e){let{label:a,hint:n,sub:s,children:l}=e;return(0,t.jsxs)("label",{className:"block",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between mb-1.5 gap-2",children:[(0,t.jsx)("span",{className:"text-xs font-medium text-ink-dim",children:a}),n&&(0,t.jsx)("span",{className:"text-2xs truncate text-ink-faint",children:n})]}),l,s&&(0,t.jsx)("p",{className:"text-2xs mono mt-1.5 text-ink-faint",children:s})]})}function p(e){let{value:a,options:n,onChange:s,listId:l}=e;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("input",{className:"input mono",value:a,list:l,onChange:e=>s(e.target.value),placeholder:"model id"}),(0,t.jsx)("datalist",{id:l,children:n.map(e=>(0,t.jsx)("option",{value:e},e))})]})}function v(e){let{on:a,onChange:n,label:s}=e;return(0,t.jsxs)("button",{type:"button",onClick:()=>n(!a),className:"input flex items-center justify-between",style:{cursor:"pointer"},children:[(0,t.jsx)("span",{className:a?"text-ink":"text-ink-faint",children:s}),(0,t.jsx)("span",{className:"relative rounded-full transition-colors shrink-0",style:{width:38,height:22,background:a?"#f2f2f2":"#2a2a2a"},children:(0,t.jsx)("span",{className:"absolute rounded-full transition-all",style:{width:16,height:16,top:3,left:a?19:3,background:a?"#0a0a0a":"#8a8a8a"}})})]})}}},e=>{e.O(0,[619,677,441,255,358],()=>e(e.s=1676)),_N_E=e.O()}]);
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_73ee6c{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_73ee6c{--font-manrope:"Manrope","Manrope Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_3c557b{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_3c557b{--font-jbmono:"JetBrains Mono","JetBrains Mono Fallback"}
|
|
2
|
-
|
|
3
|
-
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-duration:initial}}}@layer theme{:host,:root{--font-sans:var(--font-manrope),-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-mono:var(--font-jbmono),"SF Mono","JetBrains Mono",ui-monospace,monospace;--spacing:.25rem;--container-2xl:42rem;--container-3xl:48rem;--container-6xl:72rem;--text-xs:12px;--text-xs--line-height:1.5;--text-sm:13px;--text-sm--line-height:1.5;--text-base:14px;--text-base--line-height:1.55;--text-lg:16px;--text-lg--line-height:1.45;--text-xl:20px;--text-xl--line-height:1.3;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:14px;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#050505;--color-bg-soft:#0a0a0a;--color-panel:#0c0c0c;--color-border:#262626;--color-border-soft:#191919;--color-ink:#f2f2f2;--color-ink-dim:#b3b3b3;--color-ink-faint:#8c8c8c;--text-2xs:11px;--text-2xs--line-height:1.45;--animate-pulse-soft:pulse-soft 2s ease-in-out infinite;--animate-shimmer:shimmer 2.2s linear infinite;--animate-rise:rise .4s cubic-bezier(.16,1,.3,1);--animate-fade-in:fade-in .15s ease-out;--animate-slide-in:slide-in .22s cubic-bezier(.16,1,.3,1)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.panel{background:linear-gradient(#ffffff05,#fff0);background-color:var(--color-panel);border:1px solid var(--color-border-soft);border-radius:var(--radius-xl)}.panel-hover{transition:border-color .2s,transform .2s,box-shadow .2s}.panel-hover:hover{border-color:#ffffff38;box-shadow:0 12px 40px -24px #ffffff40}.tile{border:1px solid var(--color-border-soft);background:#ffffff05;border-radius:10px}.tile-hover{transition:border-color .16s,background .16s}.tile-hover:hover{border-color:#ffffff4d}.label{text-transform:uppercase;letter-spacing:.16em;color:var(--color-ink-faint);font-size:10px}.chip,.label{font-family:var(--font-mono);font-weight:500}.chip{letter-spacing:.02em;border:1px solid var(--color-border);color:var(--color-ink-dim);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;display:inline-flex}a.chip,button.chip{cursor:pointer;transition:border-color .15s,color .15s}a.chip:hover,button.chip:hover{color:var(--color-ink);border-color:#ffffff59}.chip-solid{color:#0a0a0a;background:#f2f2f2;border-color:#f2f2f2;font-weight:700}.tab{font-size:var(--text-sm);color:var(--color-ink-faint);align-items:center;gap:7px;padding:9px 2px 11px;font-weight:500;transition:color .15s;display:inline-flex;position:relative}.tab:hover{color:var(--color-ink-dim)}.tab[data-active=true]{color:var(--color-ink)}.tab[data-active=true]:after{content:"";background:var(--color-ink);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:0;right:0}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.btn{font-size:var(--text-sm);border:1px solid var(--color-border);color:var(--color-ink);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#ffffff05;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:8px 15px;font-weight:600;transition:border-color .16s,background .16s,color .16s,filter .16s,transform 60ms;display:inline-flex}.btn:hover{border-color:#ffffff59}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-ink);color:#0a0a0a;border-color:#0000;box-shadow:0 8px 28px -14px #ffffff80}.btn-primary:hover{background:#fff;border-color:#0000}.btn-ghost{color:var(--color-ink-dim);background:0 0;border-color:#0000}.btn-ghost:hover{color:var(--color-ink);background:#ffffff0d;border-color:#0000}.btn-danger:hover{color:#fff;background:#ffffff0f;border-color:#fff9}.btn-sm{font-size:var(--text-xs);border-radius:7px;padding:5px 10px}.input{border:1px solid var(--color-border);width:100%;color:var(--color-ink);font-size:var(--text-base);background:#00000059;border-radius:9px;outline:none;padding:10px 13px;font-family:inherit;transition:border-color .16s,box-shadow .16s,background .16s}.input:hover{border-color:#333}.input:focus{background:#00000080;border-color:#ffffff73;box-shadow:0 0 0 3px #ffffff12}.input::placeholder{color:var(--color-ink-faint)}.skeleton{animation:var(--animate-shimmer);background:linear-gradient(90deg,#ffffff08,#ffffff12,#ffffff08) 0 0/480px 100%}.glyph{font-family:var(--font-mono);color:var(--color-ink-dim);border:1px solid var(--color-border-soft);background:#ffffff08;border-radius:8px;place-items:center;display:inline-grid}}@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-3{bottom:calc(var(--spacing) * 3)}.left-1\/2{left:50%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-5{margin-inline:calc(var(--spacing) * -5)}.mx-auto{margin-inline:auto}.-mt-2{margin-top:calc(var(--spacing) * -2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.h-14{height:calc(var(--spacing) * 14)}.h-40{height:calc(var(--spacing) * 40)}.h-\[480px\]{height:480px}.h-full{height:100%}.h-px{height:1px}.min-h-screen{min-height:100vh}.w-\[56px\]{width:56px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[340px\]{max-width:340px}.max-w-\[1400px\]{max-width:1400px}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-10{column-gap:calc(var(--spacing) * 10)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-4{row-gap:calc(var(--spacing) * 4)}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\[4px\]{border-radius:4px}.rounded-\[8px\]{border-radius:8px}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-border-soft{border-color:var(--color-border-soft)}.bg-border-soft{background-color:var(--color-border-soft)}.bg-ink{background-color:var(--color-ink)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-10{padding:calc(var(--spacing) * 10)}.p-16{padding:calc(var(--spacing) * 16)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-14{padding-block:calc(var(--spacing) * 14)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-left{text-align:left}.text-2xs{font-size:var(--text-2xs);line-height:var(--tw-leading,var(--text-2xs--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-pre-wrap{white-space:pre-wrap}.text-ink{color:var(--color-ink)}.text-ink-dim{color:var(--color-ink-dim)}.text-ink-faint{color:var(--color-ink-faint)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-50{opacity:.5}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-500{--tw-duration:.5s;transition-duration:.5s}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:text-ink-dim:hover{color:var(--color-ink-dim)}}@media (min-width:40rem){.sm\:-mx-8{margin-inline:calc(var(--spacing) * -8)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-7{padding-inline:calc(var(--spacing) * 7)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}}@media (min-width:48rem){.md\:flex{display:flex}}@media (min-width:64rem){.lg\:sticky{position:sticky}.lg\:top-\[84px\]{top:84px}.lg\:h-\[calc\(100vh-150px\)\]{height:calc(100vh - 150px)}.lg\:max-h-\[860px\]{max-height:860px}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[1fr_380px\]{grid-template-columns:1fr 380px}}@media (min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.45}}@keyframes shimmer{0%{background-position:-480px 0}to{background-position:480px 0}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}*{box-sizing:border-box}body,html{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0}body{background:radial-gradient(900px 460px at 50% -14%,#ffffff0d,transparent 60%),var(--color-bg);min-height:100vh}::selection{background:#ffffff40}:focus-visible{outline-offset:2px;border-radius:6px;outline:2px solid #ffffff8c}.input:focus-visible{outline:none}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff21 padding-box padding-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#ffffff3d padding-box padding-box}.prose-report{color:var(--color-ink);line-height:1.7;font-size:var(--text-base)}.prose-report>:first-child{margin-top:0}.prose-report>:last-child{margin-bottom:0}.prose-report h1{letter-spacing:-.015em;border-bottom:1px solid var(--color-border-soft);margin:.2em 0 .7em;padding-bottom:.45em;font-size:1.65em;font-weight:700}.prose-report h2{letter-spacing:-.01em;margin:1.4em 0 .5em;font-size:1.25em;font-weight:700}.prose-report h3{margin:1.1em 0 .4em;font-size:1.05em;font-weight:700}.prose-report p{color:var(--color-ink-dim);margin:.7em 0}.prose-report li{color:var(--color-ink-dim);margin:.3em 0}.prose-report ol,.prose-report ul{margin:.6em 0;padding-left:1.4em}.prose-report li::marker{color:var(--color-ink-faint)}.prose-report code,.prose-report strong{color:var(--color-ink)}.prose-report code{font-family:var(--font-mono);background:#ffffff12;border-radius:5px;padding:1.5px 6px;font-size:.85em}.prose-report pre{border:1px solid var(--color-border-soft);background:#00000073;border-radius:10px;margin:.9em 0;padding:14px 16px;overflow-x:auto}.prose-report pre code{color:var(--color-ink-dim);background:0 0;padding:0}.prose-report a{color:var(--color-ink);text-underline-offset:3px;-webkit-text-decoration:underline #ffffff59;text-decoration:underline #ffffff59}.prose-report a:hover{text-decoration-color:#fff}.prose-report table{border-collapse:collapse;width:100%;margin:.9em 0;font-size:.9em;display:block;overflow-x:auto}.prose-report td,.prose-report th{border:1px solid var(--color-border);text-align:left;padding:7px 11px}.prose-report th{white-space:nowrap;font-family:var(--font-mono);background:#ffffff0a;font-size:.9em}.prose-report td{color:var(--color-ink-dim)}.prose-report tr:nth-child(2n) td{background:#ffffff04}.prose-report blockquote{color:var(--color-ink-dim);border-left:2px solid #3a3a3a;margin:.8em 0;padding-left:14px}.prose-report hr{border:none;border-top:1px solid var(--color-border);margin:1.4em 0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(1turn)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}
|
/package/ui/out/_next/static/{eiQeDU9uBHNsBj0CFkp8M → errjtBR_bKoee8ogLp8xk}/_buildManifest.js
RENAMED
|
File without changes
|
/package/ui/out/_next/static/{eiQeDU9uBHNsBj0CFkp8M → errjtBR_bKoee8ogLp8xk}/_ssgManifest.js
RENAMED
|
File without changes
|