nodal-agents 0.3.8 → 0.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +3 -3
  2. package/package.json +1 -1
  3. package/runner.js +6 -1
  4. package/web/.next/BUILD_ID +1 -1
  5. package/web/.next/app-path-routes-manifest.json +1 -1
  6. package/web/.next/build-manifest.json +2 -2
  7. package/web/.next/server/app/(dashboard)/agents/[id]/edit/page.js +1 -1
  8. package/web/.next/server/app/(dashboard)/agents/[id]/edit/page_client-reference-manifest.js +1 -1
  9. package/web/.next/server/app/(dashboard)/agents/[id]/telegram/page_client-reference-manifest.js +1 -1
  10. package/web/.next/server/app/(dashboard)/agents/page_client-reference-manifest.js +1 -1
  11. package/web/.next/server/app/(dashboard)/approvals/page_client-reference-manifest.js +1 -1
  12. package/web/.next/server/app/(dashboard)/automations/page_client-reference-manifest.js +1 -1
  13. package/web/.next/server/app/(dashboard)/billing/page_client-reference-manifest.js +1 -1
  14. package/web/.next/server/app/(dashboard)/connectors/page_client-reference-manifest.js +1 -1
  15. package/web/.next/server/app/(dashboard)/credentials/page_client-reference-manifest.js +1 -1
  16. package/web/.next/server/app/(dashboard)/jobs/[id]/page_client-reference-manifest.js +1 -1
  17. package/web/.next/server/app/(dashboard)/jobs/page_client-reference-manifest.js +1 -1
  18. package/web/.next/server/app/(dashboard)/llm-providers/page_client-reference-manifest.js +1 -1
  19. package/web/.next/server/app/(dashboard)/logs/page_client-reference-manifest.js +1 -1
  20. package/web/.next/server/app/(dashboard)/mcp/page.js +1 -1
  21. package/web/.next/server/app/(dashboard)/mcp/page_client-reference-manifest.js +1 -1
  22. package/web/.next/server/app/(dashboard)/memories/page_client-reference-manifest.js +1 -1
  23. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  24. package/web/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  25. package/web/.next/server/app/(dashboard)/skills/[id]/edit/page_client-reference-manifest.js +1 -1
  26. package/web/.next/server/app/(dashboard)/skills/new/page_client-reference-manifest.js +1 -1
  27. package/web/.next/server/app/(dashboard)/skills/page_client-reference-manifest.js +1 -1
  28. package/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  29. package/web/.next/server/app/_global-error.html +1 -1
  30. package/web/.next/server/app/_global-error.rsc +1 -1
  31. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  32. package/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  33. package/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  34. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  35. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  36. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  37. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  38. package/web/.next/server/app/_not-found.html +1 -1
  39. package/web/.next/server/app/_not-found.rsc +1 -1
  40. package/web/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  41. package/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  42. package/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  43. package/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  44. package/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  45. package/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  46. package/web/.next/server/app/login/page_client-reference-manifest.js +1 -1
  47. package/web/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  48. package/web/.next/server/app/onboarding.html +1 -1
  49. package/web/.next/server/app/onboarding.rsc +1 -1
  50. package/web/.next/server/app/onboarding.segments/_full.segment.rsc +1 -1
  51. package/web/.next/server/app/onboarding.segments/_head.segment.rsc +1 -1
  52. package/web/.next/server/app/onboarding.segments/_index.segment.rsc +1 -1
  53. package/web/.next/server/app/onboarding.segments/_tree.segment.rsc +1 -1
  54. package/web/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +1 -1
  55. package/web/.next/server/app/onboarding.segments/onboarding.segment.rsc +1 -1
  56. package/web/.next/server/app-paths-manifest.json +1 -1
  57. package/web/.next/server/chunks/7741.js +14 -14
  58. package/web/.next/server/middleware-build-manifest.js +1 -1
  59. package/web/.next/server/pages/404.html +1 -1
  60. package/web/.next/server/pages/500.html +1 -1
  61. package/web/.next/server/server-reference-manifest.js +1 -1
  62. package/web/.next/server/server-reference-manifest.json +1 -1
  63. package/web/.next/static/chunks/app/(dashboard)/agents/[id]/edit/{page-daa833e779c2b465.js → page-d3724fbf38b71806.js} +1 -1
  64. package/web/.next/static/chunks/app/(dashboard)/mcp/{page-6cd433a027afdf32.js → page-3fa9d4448a31b696.js} +1 -1
  65. /package/web/.next/static/{4iUNkSxNfwq7_PqLIuvuO → 8MmUGL73Wv8U4wr-eDBt8}/_buildManifest.js +0 -0
  66. /package/web/.next/static/{4iUNkSxNfwq7_PqLIuvuO → 8MmUGL73Wv8U4wr-eDBt8}/_ssgManifest.js +0 -0
package/README.md CHANGED
@@ -25,7 +25,7 @@ no cloud roundtrip.** Runs on any machine with Node 22+ — Mac, PC, Linux.
25
25
  | 🗂️  **Workspaces** | Multiple isolated workspaces on one install (personal vs work) — each with its own agents, skills, connectors, jobs and memory. Switch from the sidebar. |
26
26
  | 🤖  **Self-extending (ROOT agent)** | Designate an orchestrator as ROOT and let it create skills/agents and assign them on your behalf — gated by per-grant toggles and an autonomy level (propose-confirm → fully-autonomous). |
27
27
  | 📄  **Office files** | Read + edit Excel in place, create Word & PowerPoint, inside the agent's workspace — gated behind the office-editing skill. |
28
- | 📡  **MCP support** | Connect MCP servers over Streamable HTTP *and* stdio (local subprocess) — a growing catalogue (Stripe, n8n, Supabase, Vercel, Airtable, Notion…) plus add *and edit* your own custom servers from the UI. Per-job tool discovery, tool whitelisting, multi-instance. |
28
+ | 📡  **MCP support** | Connect MCP servers over Streamable HTTP *and* stdio (local subprocess) — a growing catalogue (Stripe, n8n, Supabase, Airtable, Notion…) plus add *and edit* your own custom servers from the UI. Per-job tool discovery, tool whitelisting, multi-instance. |
29
29
  | 💬 &nbsp;**Telegram out of the box** | Long-polling, multi-agent routing (`/ask <slug>`), group-chat filters, conversation continuity, delegation gracefulness on Telegram. |
30
30
  | ⚙️ &nbsp;**Real engineering** | TypeScript strict, dependency-cruiser-enforced architecture, full unit + integration suite, Playwright e2e, idempotent migrations, encryption at rest for keys. |
31
31
 
@@ -204,7 +204,7 @@ pnpm deps:check # runs locally and in CI before every release
204
204
 
205
205
  ## Status
206
206
 
207
- **Current release:** `0.3.8` on npm `latest`. Used daily by the
207
+ **Current release:** `0.3.9` on npm `latest`. Used daily by the
208
208
  maintainer, stable enough for personal production. Pre-1.0 — breaking
209
209
  changes are still possible between minors.
210
210
 
@@ -218,7 +218,7 @@ changes are still possible between minors.
218
218
  caps
219
219
  - Multi-instance connectors with OAuth (Gmail, Drive, Sheets, Docs, Notion,
220
220
  Airtable) and API-key (Notion, Airtable, Apify, Firecrawl, Tavily)
221
- - MCP catalog — Streamable HTTP *and* stdio (local subprocess) servers, API-key auth; a growing catalogue (Stripe, n8n, Supabase, Vercel, Airtable, Notion…) with a "test pending" badge on entries not yet verified live, plus add *and edit* your own custom HTTP/stdio servers from the dashboard
221
+ - MCP catalog — Streamable HTTP *and* stdio (local subprocess) servers, API-key auth; a growing catalogue (Stripe, n8n, Supabase, Airtable, Notion…) with a "test pending" badge on entries not yet verified live, plus add *and edit* your own custom HTTP/stdio servers from the dashboard
222
222
  - Top-level workspaces — multiple isolated entities (agents/skills/connectors/jobs/memory per workspace), switch in the sidebar
223
223
  - ROOT agent — designate an orchestrator that can create skills/agents and assign them, gated by per-grant toggles + an autonomy/approval level
224
224
  - Office file editing — Excel in-place edit, Word/PowerPoint create, in the agent workspace (office-editing skill)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodal-agents",
3
- "version": "0.3.8",
3
+ "version": "0.3.9",
4
4
  "description": "Local-first AI agent platform with a web dashboard — install in one command.",
5
5
  "license": "MIT",
6
6
  "repository": {
package/runner.js CHANGED
@@ -25727,7 +25727,12 @@ function mcpToolToToolDefinition(client, mcpTool, slug) {
25727
25727
  const detail = extractText(result.content);
25728
25728
  throw new Error(`MCP tool ${originalName} failed: ${detail || "unknown error"}`);
25729
25729
  }
25730
- return result.content;
25730
+ if (result.structuredContent != null) return result.structuredContent;
25731
+ const content = result.content ?? [];
25732
+ if (Array.isArray(content) && content.length > 0 && content.every((c) => c.type === "text")) {
25733
+ return extractText(content);
25734
+ }
25735
+ return content;
25731
25736
  }
25732
25737
  };
25733
25738
  }
@@ -1 +1 @@
1
- 4iUNkSxNfwq7_PqLIuvuO
1
+ 8MmUGL73Wv8U4wr-eDBt8
@@ -23,8 +23,8 @@
23
23
  "/(dashboard)/logs/page": "/logs",
24
24
  "/(dashboard)/mcp/page": "/mcp",
25
25
  "/(dashboard)/memories/page": "/memories",
26
- "/(dashboard)/page": "/",
27
26
  "/(dashboard)/settings/page": "/settings",
28
27
  "/(dashboard)/skills/[id]/edit/page": "/skills/[id]/edit",
28
+ "/(dashboard)/page": "/",
29
29
  "/(dashboard)/skills/page": "/skills"
30
30
  }
@@ -4,8 +4,8 @@
4
4
  ],
5
5
  "devFiles": [],
6
6
  "lowPriorityFiles": [
7
- "static/4iUNkSxNfwq7_PqLIuvuO/_buildManifest.js",
8
- "static/4iUNkSxNfwq7_PqLIuvuO/_ssgManifest.js"
7
+ "static/8MmUGL73Wv8U4wr-eDBt8/_buildManifest.js",
8
+ "static/8MmUGL73Wv8U4wr-eDBt8/_ssgManifest.js"
9
9
  ],
10
10
  "rootMainFiles": [
11
11
  "static/chunks/webpack-3741bf0a7636d65e.js",
@@ -1,3 +1,3 @@
1
- (()=>{var a={};a.id=3990,a.ids=[3990],a.modules={171:(a,b,c)=>{"use strict";c.d(b,{A:()=>h});var d=c(10476),e=c(64565),f=c(90424);let g=Array.from({length:42},(a,b)=>{let c=String(b+1).padStart(2,"0");return{id:`avatar-${c}`,url:`/avatars/avatar-${c}.png`}});function h({value:a,onChange:b,label:c="Avatar"}){let[k,l]=(0,e.useState)(!1),[m,n]=(0,e.useState)(!1);return(0,d.jsxs)("div",{children:[c&&(0,d.jsx)("label",{className:"block text-xs text-ink-3 mb-1",children:c}),(0,d.jsxs)("button",{type:"button",onClick:()=>l(!0),className:"group flex items-center gap-3 bg-hover border border-rule hover:border-rule rounded-md px-3 py-2 text-left transition-colors w-full max-w-xs",children:[(0,d.jsx)(i,{url:a,size:36}),(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsx)("p",{className:"text-sm text-ink truncate",children:a?a.split("/").pop()?.replace(".png",""):"No avatar"}),(0,d.jsxs)("p",{className:"text-[11px] text-ink-3",children:["Click to ",a?"change":"pick"]})]})]}),m&&k&&(0,f.createPortal)((0,d.jsx)("div",{role:"dialog","aria-modal":"true","aria-label":"Pick an avatar",onClick:()=>l(!1),className:"fixed inset-0 z-50 bg-black/70 backdrop-blur-sm flex items-center justify-center p-4",children:(0,d.jsxs)("div",{onClick:a=>a.stopPropagation(),className:"bg-paper border border-rule-2 rounded-2xl p-5 max-w-2xl w-full max-h-[80vh] overflow-y-auto",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold text-ink",children:"Pick an avatar"}),(0,d.jsx)("button",{type:"button",onClick:()=>l(!1),className:"text-ink-3 hover:text-ink text-xs",children:"Close (Esc)"})]}),(0,d.jsxs)("div",{className:"grid grid-cols-6 gap-3",children:[(0,d.jsx)(j,{selected:null===a,onClick:()=>void(b(null),l(!1)),label:"None",url:null}),g.map(c=>(0,d.jsx)(j,{selected:a===c.url,onClick:()=>{b(c.url),l(!1)},label:c.id,url:c.url},c.id))]})]})}),document.body)]})}function i({url:a,size:b=32}){return a?(0,d.jsx)("img",{src:a,alt:"",width:b,height:b,style:{width:b,height:b},className:"rounded-full object-cover border border-rule shrink-0"}):(0,d.jsx)("div",{style:{width:b,height:b},className:"rounded-full bg-hover border border-dashed border-rule text-ink-3 text-xs flex items-center justify-center shrink-0",children:"?"})}function j({selected:a,onClick:b,label:c,url:e}){return(0,d.jsx)("button",{type:"button",onClick:b,title:c,"aria-label":c,"aria-pressed":a,className:`aspect-square rounded-lg p-1 flex items-center justify-center transition-all ${a?"bg-ink/10 ring-2 ring-emerald-400":"bg-hover hover:bg-hover ring-1 ring-transparent hover:ring-neutral-700"}`,children:(0,d.jsx)(i,{url:e,size:56})})}},261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1708:a=>{"use strict";a.exports=require("node:process")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10693:(a,b,c)=>{"use strict";function d(a){switch(a){case"openai-compatible":return"Local LLM";case"anthropic":return"Anthropic";case"openai":return"OpenAI";case"ollama":return"Ollama";case"openrouter":return"OpenRouter";case"google":return"Google";case"mistral":return"Mistral";case"groq":return"Groq";default:return a}}c.d(b,{R:()=>d})},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11385:(a,b,c)=>{"use strict";c.d(b,{f:()=>e});var d=c(47092);let e=(0,d.createServerReference)("40b91cb5f80f8b354f7aae7cb770ab28355bb195a1",d.callServer,void 0,d.findSourceMapURL,"updateAgentAction")},12228:(a,b,c)=>{Promise.resolve().then(c.bind(c,59522))},14449:(a,b,c)=>{"use strict";c.d(b,{a:()=>d,d:()=>f});let d={gmail:"#ea4335","google-drive":"#4285f4","google-sheets":"#0f9d58","google-docs":"#4285f4","google-calendar":"#4285f4",notion:"#000000","notion-oauth":"#000000",airtable:"#f82b60","airtable-oauth":"#f82b60",github:"#24292f",linear:"#5e6ad2",hubspot:"#ff7a59",slack:"#4a154b",intercom:"#1f8ced",stripe:"#635bff",postgres:"#336791",apify:"#00aeff",firecrawl:"#f97316",tavily:"#6366f1",composio:"#000000"},e={gmail:"Gm","google-drive":"GD","google-sheets":"GS","google-docs":"GD","google-calendar":"GC",notion:"No","notion-oauth":"No",airtable:"At","airtable-oauth":"At",github:"Gh",linear:"Li",hubspot:"HS",slack:"Sl",intercom:"IC",stripe:"St",postgres:"PG",apify:"Ap",firecrawl:"FC",tavily:"Tv",composio:"Co","custom-http-mcp":"+","custom-stdio-mcp":"+","cogni-cortex":"CX"};function f(a,b){return e[a]??b.slice(0,2).toUpperCase()}},17393:a=>{"use strict";a.exports=require("mammoth")},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19199:a=>{"use strict";a.exports=require("@mendable/firecrawl-js")},20416:a=>{"use strict";a.exports=require("pdf-parse")},21820:a=>{"use strict";a.exports=require("os")},25459:a=>{"use strict";a.exports=require("apify-client")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32960:(a,b,c)=>{"use strict";c.d(b,{A:()=>h});var d=c(10476);let e={agent:"bg-agent-vivid text-[#0a0a0a]",skill:"bg-skill-vivid text-white",conn:"bg-conn-vivid text-white",ink:"bg-ink text-canvas",neutral:"bg-hover text-ink-3"},f={sm:"h-[30px] w-[30px]",md:"h-[34px] w-[34px]",lg:"h-[38px] w-[38px]",xl:"h-[42px] w-[42px]"},g={sm:"[&_svg]:h-[13px] [&_svg]:w-[13px]",md:"[&_svg]:h-[14px] [&_svg]:w-[14px]",lg:"[&_svg]:h-[16px] [&_svg]:w-[16px]",xl:"[&_svg]:h-[18px] [&_svg]:w-[18px]"};function h({variant:a,size:b="md",shape:c="round",background:i,children:j,className:k=""}){let l=i?"":e[a];return(0,d.jsx)("span",{style:i?{background:i}:void 0,className:`inline-flex shrink-0 items-center justify-center ${f[b]} ${g[b]} ${"round"===c?"rounded-full":"rounded-[9px]"} ${l} ${i?"text-white":""} ${k}`,children:j})}},33873:a=>{"use strict";a.exports=require("path")},34631:a=>{"use strict";a.exports=require("tls")},38496:a=>{"use strict";a.exports=require("@notionhq/client")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},42084:(a,b,c)=>{Promise.resolve().then(c.bind(c,52008))},43845:a=>{"use strict";a.exports=require("@tavily/core")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},48161:a=>{"use strict";a.exports=require("node:os")},51190:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i,dynamic:()=>h});var d=c(99386),e=c(95809),f=c(5786),g=c(59522);let h="force-dynamic";async function i({params:a}){let{id:b}=await a,[c,h,j]=await Promise.all([(0,f.Ro)(b),(0,f.$z)(),(0,f.oG)()]);c.ok||(0,e.redirect)("/agents");let k=j.ok?j.data:[],l=c.data,m=h.ok?h.data.filter(a=>a.id!==b):[],[n,o,p,q]=await Promise.all([(0,f.iu)(l.id),(0,f.ei)(l.id),(0,f.Jb)({limit:100}),(0,f.$5)()]),r=n.ok?n.data:[],s=o.ok?o.data:[],t=(p.ok?p.data:[]).filter(a=>a.agentId===l.id),u=(q.ok?q.data:[]).filter(a=>a.assignedAgents.some(a=>a.id===l.id));return(0,d.jsx)(g.default,{agent:l,peers:m,llmKeys:k,connectors:r,mcpServers:s,jobs:t,attachedSkills:u})}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},52008:(a,b,c)=>{"use strict";c.d(b,{default:()=>bd});var d=c(10476),e=c(64565),f=c(88831),g=c.n(f),h=c(12418),i=c(48082),j=c(96278),k=c(90656),l=c(98270),m=["axis"],n=(0,e.forwardRef)((a,b)=>e.createElement(l.P,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:m,tooltipPayloadSearcher:k.uN,categoricalChartProps:a,ref:b})),o=c(82919),p=c(93136),q=c(24275),r=c(82669),s=c(66931),t=c(93064),u=c(24101),v=c(88002),w=c(97652),x=c(68344),y=c(68240);function z(){return(z=Object.assign?Object.assign.bind():function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)({}).hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a}).apply(null,arguments)}var A=a=>{var{cx:b,cy:c,r:d,className:f}=a,g=(0,s.$)("recharts-dot",f);return(0,y.Et)(b)&&(0,y.Et)(c)&&(0,y.Et)(d)?e.createElement("circle",z({},(0,x.uZ)(a),(0,w._U)(a),{className:g,cx:b,cy:c,r:d})):null},B=c(15477),C=c(1804),D=c(3252),E=c(32040),F=["points"];function G(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function H(a){for(var b=1;b<arguments.length;b++){var c=null!=arguments[b]?arguments[b]:{};b%2?G(Object(c),!0).forEach(function(b){var d,e,f;d=a,e=b,f=c[b],(e=function(a){var b=function(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}(a,"string");return"symbol"==typeof b?b:b+""}(e))in d?Object.defineProperty(d,e,{value:f,enumerable:!0,configurable:!0,writable:!0}):d[e]=f}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):G(Object(c)).forEach(function(b){Object.defineProperty(a,b,Object.getOwnPropertyDescriptor(c,b))})}return a}function I(){return(I=Object.assign?Object.assign.bind():function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)({}).hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a}).apply(null,arguments)}function J(a){var{option:b,dotProps:c,className:d}=a;if((0,e.isValidElement)(b))return(0,e.cloneElement)(b,c);if("function"==typeof b)return b(c);var f=(0,s.$)(d,"boolean"!=typeof b?b.className:""),g=null!=c?c:{},{points:h}=g,i=function(a,b){if(null==a)return{};var c,d,e=function(a,b){if(null==a)return{};var c={};for(var d in a)if(({}).hasOwnProperty.call(a,d)){if(-1!==b.indexOf(d))continue;c[d]=a[d]}return c}(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],-1===b.indexOf(c)&&({}).propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}(g,F);return e.createElement(A,I({},i,{className:f}))}function K(a){var{points:b,dot:c,className:d,dotClassName:f,dataKey:g,baseProps:h,needClip:i,clipPathId:j,zIndex:k=E.I.scatter}=a;if(null==b||!c&&1!==b.length)return null;var l=(0,B.y$)(c),m=(0,C.y)(c),n=b.map((a,d)=>{var i,j,k=H(H(H({r:3},h),m),{},{index:d,cx:null!=(i=a.x)?i:void 0,cy:null!=(j=a.y)?j:void 0,dataKey:g,value:a.value,payload:a.payload,points:b});return e.createElement(J,{key:"dot-".concat(d),option:c,dotProps:k,className:f})}),o={};return i&&null!=j&&(o.clipPath="url(#clipPath-".concat(l?"":"dots-").concat(j,")")),e.createElement(D.g,{zIndex:k},e.createElement(u.W,I({className:d},o),n))}var L=c(94522),M=c(7830),N=c(30929),O=c(39719);function P(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function Q(a){for(var b=1;b<arguments.length;b++){var c=null!=arguments[b]?arguments[b]:{};b%2?P(Object(c),!0).forEach(function(b){var d,e,f;d=a,e=b,f=c[b],(e=function(a){var b=function(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}(a,"string");return"symbol"==typeof b?b:b+""}(e))in d?Object.defineProperty(d,e,{value:f,enumerable:!0,configurable:!0,writable:!0}):d[e]=f}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):P(Object(c)).forEach(function(b){Object.defineProperty(a,b,Object.getOwnPropertyDescriptor(c,b))})}return a}var R=a=>{var b,{point:c,childIndex:d,mainColor:f,activeDot:g,dataKey:h,clipPath:i}=a;if(!1===g||null==c.x||null==c.y)return null;var j=Q(Q(Q({},{index:d,dataKey:h,cx:c.x,cy:c.y,r:4,fill:null!=f?f:"none",strokeWidth:2,stroke:"#fff",payload:c.payload,value:c.value}),(0,x.ic)(g)),(0,w._U)(g));return b=(0,e.isValidElement)(g)?(0,e.cloneElement)(g,j):"function"==typeof g?g(j):e.createElement(A,j),e.createElement(u.W,{className:"recharts-active-dot",clipPath:i},b)};function S(a){var{points:b,mainColor:c,activeDot:d,itemDataKey:f,clipPath:g,zIndex:h=E.I.activeDot}=a,i=(0,M.G)(N.A2),j=(0,O.EI)();if(null==b||null==j)return null;var k=b.find(a=>j.includes(a.payload));return(0,y.uy)(k)?null:e.createElement(D.g,{zIndex:h},e.createElement(R,{point:k,childIndex:Number(i),mainColor:c,dataKey:f,activeDot:d,clipPath:g}))}var T=c(62902),U=c(74886),V=c(9975),W=c(6095),X=c(10083),Y=c(6405),Z=c(40349),$=c(62387),_=c(48647),aa=(a,b,c)=>(0,W.Gx)(a,"xAxis",(0,_.W)(a,b),c),ab=(a,b,c)=>(0,W.CR)(a,"xAxis",(0,_.W)(a,b),c),ac=(a,b,c)=>(0,W.Gx)(a,"yAxis",(0,_.B)(a,b),c),ad=(a,b,c)=>(0,W.CR)(a,"yAxis",(0,_.B)(a,b),c),ae=(0,V.Mz)([X.fz,aa,ac,ab,ad],(a,b,c,d,e)=>(0,L._L)(a,"xAxis")?(0,L.Hj)(b,d,!1):(0,L.Hj)(c,e,!1)),af=(0,V.Mz)([W.ld,(a,b)=>b],(a,b)=>a.filter(a=>"area"===a.type).find(a=>a.id===b)),ag=a=>{var b=(0,X.fz)(a);return(0,L._L)(b,"xAxis")?"yAxis":"xAxis"},ah=(0,V.Mz)([af,(a,b,c)=>(0,W.TC)(a,ag(a),"yAxis"===ag(a)?(0,_.B)(a,b):(0,_.W)(a,b),c)],(a,b)=>{if(null!=a&&null!=b){var c,{stackId:d}=a,e=(0,Z.x)(a);if(null!=d&&null!=e){var f=null==(c=b[d])?void 0:c.stackedData,g=null==f?void 0:f.find(a=>a.key===e);if(null!=g)return g.map(a=>[a[0],a[1]])}}}),ai=(0,V.Mz)([X.fz,aa,ac,ab,ad,ah,Y.rN,ae,af,$.vm],(a,b,c,d,e,f,g,h,i,j)=>{var k,{chartData:l,dataStartIndex:m,dataEndIndex:n}=g;if(null!=i&&("horizontal"===a||"vertical"===a)&&null!=b&&null!=c&&null!=d&&null!=e&&0!==d.length&&0!==e.length&&null!=h){var{data:o}=i;if(null!=(k=o&&o.length>0?o:null==l?void 0:l.slice(m,n+1)))return function(a){var b,{areaSettings:{connectNulls:c,baseValue:d,dataKey:e},stackedData:f,layout:g,chartBaseValue:h,xAxis:i,yAxis:j,displayedData:k,dataStartIndex:l,xAxisTicks:m,yAxisTicks:n,bandSize:o}=a,p=f&&f.length,q=((a,b,c,d,e)=>{var f=null!=c?c:b;if((0,y.Et)(f))return f;var g="horizontal"===a?e:d,h=g.scale.domain();if("number"===g.type){var i=Math.max(h[0],h[1]),j=Math.min(h[0],h[1]);return"dataMin"===f?j:"dataMax"===f||i<0?i:Math.max(Math.min(h[0],h[1]),0)}return"dataMin"===f?h[0]:"dataMax"===f?h[1]:h[0]})(g,h,d,i,j),r="horizontal"===g,s=!1,t=k.map((a,b)=>{if(p)k=f[l+b];else{var d,g,h,k,t,u=(0,L.kr)(a,e);Array.isArray(u)?(k=u,s=!0):k=[q,u]}var v=null!=(d=null==(g=k)?void 0:g[1])?d:null,w=null==v||p&&!c&&null==(0,L.kr)(a,e);return r?{x:(0,L.nb)({axis:i,ticks:m,bandSize:o,entry:a,index:b}),y:w?null:null!=(t=j.scale.map(v))?t:null,value:k,payload:a}:{x:w?null:null!=(h=i.scale.map(v))?h:null,y:(0,L.nb)({axis:j,ticks:n,bandSize:o,entry:a,index:b}),value:k,payload:a}});return b=p||s?t.map(a=>{var b,c,d=Array.isArray(a.value)?a.value[0]:null;return r?{x:a.x,y:null!=d&&null!=a.y&&null!=(c=j.scale.map(d))?c:null,payload:a.payload}:{x:null!=d&&null!=(b=i.scale.map(d))?b:null,y:a.y,payload:a.payload}}):r?j.scale.map(q):i.scale.map(q),{points:t,baseLine:null!=b?b:0,isRange:s}}({layout:a,xAxis:b,yAxis:c,xAxisTicks:d,yAxisTicks:e,dataStartIndex:m,areaSettings:i,stackedData:f,displayedData:k,chartBaseValue:j,bandSize:h})}}),aj=c(61866),ak=c(65069),al=c(84069),am=c(9455),an=c(72423),ao=c(42349),ap=c(26218),aq=c(47994),ar=c(20902),as=c(53853),at=["id"],au=["activeDot","animationBegin","animationDuration","animationEasing","connectNulls","dot","fill","fillOpacity","hide","isAnimationActive","legendType","stroke","xAxisId","yAxisId"];function av(){return(av=Object.assign?Object.assign.bind():function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)({}).hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a}).apply(null,arguments)}function aw(a,b){if(null==a)return{};var c,d,e=function(a,b){if(null==a)return{};var c={};for(var d in a)if(({}).hasOwnProperty.call(a,d)){if(-1!==b.indexOf(d))continue;c[d]=a[d]}return c}(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],-1===b.indexOf(c)&&({}).propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}function ax(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function ay(a){for(var b=1;b<arguments.length;b++){var c=null!=arguments[b]?arguments[b]:{};b%2?ax(Object(c),!0).forEach(function(b){var d,e,f;d=a,e=b,f=c[b],(e=function(a){var b=function(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}(a,"string");return"symbol"==typeof b?b:b+""}(e))in d?Object.defineProperty(d,e,{value:f,enumerable:!0,configurable:!0,writable:!0}):d[e]=f}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):ax(Object(c)).forEach(function(b){Object.defineProperty(a,b,Object.getOwnPropertyDescriptor(c,b))})}return a}function az(a,b){return a&&"none"!==a?a:b}var aA=e.memo(a=>{var{dataKey:b,data:c,stroke:d,strokeWidth:f,fill:g,name:h,hide:i,unit:j,tooltipType:k,id:l}=a,m={dataDefinedOnItem:c,getPosition:y.lQ,settings:{stroke:d,strokeWidth:f,fill:g,dataKey:b,nameKey:void 0,name:(0,L.uM)(h,b),hide:i,type:k,color:az(d,g),unit:j,graphicalItemId:l}};return e.createElement(T.r,{tooltipEntrySettings:m})});function aB(a){var{clipPathId:b,points:c,props:d}=a,{needClip:f,dot:g,dataKey:h}=d,i=(0,x.uZ)(d);return e.createElement(K,{points:c,dot:g,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:h,baseProps:i,needClip:f,clipPathId:b})}function aC(a){var{showLabels:b,children:c,points:d}=a,f=d.map(a=>{var b,c,d={x:null!=(b=a.x)?b:0,y:null!=(c=a.y)?c:0,width:0,lowerWidth:0,upperWidth:0,height:0};return ay(ay({},d),{},{value:a.value,payload:a.payload,parentViewBox:void 0,viewBox:d,fill:void 0})});return e.createElement(v.h8,{value:b?f:void 0},c)}function aD(a){var{points:b,baseLine:c,needClip:d,clipPathId:f,props:g}=a,{layout:h,type:i,stroke:j,connectNulls:k,isRange:l}=g,{id:m}=g,n=aw(g,at),o=(0,x.uZ)(n),p=(0,C.a)(n);return e.createElement(e.Fragment,null,(null==b?void 0:b.length)>1&&e.createElement(u.W,{clipPath:d?"url(#clipPath-".concat(f,")"):void 0},e.createElement(t.Ip,av({},p,{id:m,points:b,connectNulls:k,type:i,baseLine:c,layout:h,stroke:"none",className:"recharts-area-area"})),"none"!==j&&e.createElement(t.Ip,av({},o,{className:"recharts-area-curve",layout:h,type:i,connectNulls:k,fill:"none",points:b})),"none"!==j&&l&&Array.isArray(c)&&e.createElement(t.Ip,av({},o,{className:"recharts-area-curve",layout:h,type:i,connectNulls:k,fill:"none",points:c}))),e.createElement(aB,{points:b,props:n,clipPathId:f}))}function aE(a){var b,c,{alpha:d,baseLine:f,points:g,strokeWidth:h}=a,i=null==(b=g[0])?void 0:b.y,j=null==(c=g[g.length-1])?void 0:c.y;if(!(0,ao.H)(i)||!(0,ao.H)(j))return null;var k=d*Math.abs(i-j),l=Math.max(...g.map(a=>a.x||0));return((0,y.Et)(f)?l=Math.max(f,l):f&&Array.isArray(f)&&f.length&&(l=Math.max(...f.map(a=>a.x||0),l)),(0,y.Et)(l))?e.createElement("rect",{x:0,y:i<j?i:i-k,width:l+(h?parseInt("".concat(h),10):1),height:Math.floor(k)}):null}function aF(a){var b,c,{alpha:d,baseLine:f,points:g,strokeWidth:h}=a,i=null==(b=g[0])?void 0:b.x,j=null==(c=g[g.length-1])?void 0:c.x;if(!(0,ao.H)(i)||!(0,ao.H)(j))return null;var k=d*Math.abs(i-j),l=Math.max(...g.map(a=>a.y||0));return((0,y.Et)(f)?l=Math.max(f,l):f&&Array.isArray(f)&&f.length&&(l=Math.max(...f.map(a=>a.y||0),l)),(0,y.Et)(l))?e.createElement("rect",{x:i<j?i:i-k,y:0,width:k,height:Math.floor(l+(h?parseInt("".concat(h),10):1))}):null}function aG(a){var{alpha:b,layout:c,points:d,baseLine:f,strokeWidth:g}=a;return"vertical"===c?e.createElement(aE,{alpha:b,points:d,baseLine:f,strokeWidth:g}):e.createElement(aF,{alpha:b,points:d,baseLine:f,strokeWidth:g})}function aH(a){var{needClip:b,clipPathId:c,props:d,previousPointsRef:f,previousBaselineRef:g}=a,{points:h,baseLine:i,isAnimationActive:j,animationBegin:k,animationDuration:l,animationEasing:m,onAnimationStart:n,onAnimationEnd:o}=d,p=(0,e.useMemo)(()=>({points:h,baseLine:i}),[h,i]),q=(0,am.n)(p,"recharts-area-"),r=(0,X.kz)(),[s,t]=(0,e.useState)(!1),w=(0,e.useCallback)(()=>{"function"==typeof o&&o(),t(!1)},[o]),x=(0,e.useCallback)(()=>{"function"==typeof n&&n(),t(!0)},[n]);if(null==r)return null;var z=f.current,A=g.current;return e.createElement(aC,{showLabels:!s,points:h},d.children,e.createElement(ar.J,{animationId:q,begin:k,duration:l,isActive:j,easing:m,onAnimationEnd:w,onAnimationStart:x,key:q},a=>{if(z){var k,l=z.length/h.length,m=1===a?h:h.map((b,c)=>{var d=Math.floor(c*l);if(z[d]){var e=z[d];return ay(ay({},b),{},{x:(0,y.GW)(e.x,b.x,a),y:(0,y.GW)(e.y,b.y,a)})}return b});return k=(0,y.Et)(i)?(0,y.GW)(A,i,a):(0,y.uy)(i)||(0,y.M8)(i)?(0,y.GW)(A,0,a):i.map((b,c)=>{var d=Math.floor(c*l);if(Array.isArray(A)&&A[d]){var e=A[d];return ay(ay({},b),{},{x:(0,y.GW)(e.x,b.x,a),y:(0,y.GW)(e.y,b.y,a)})}return b}),a>0&&(f.current=m,g.current=k),e.createElement(aD,{points:m,baseLine:k,needClip:b,clipPathId:c,props:d})}return a>0&&(f.current=h,g.current=i),e.createElement(u.W,null,j&&e.createElement("defs",null,e.createElement("clipPath",{id:"animationClipPath-".concat(c)},e.createElement(aG,{alpha:a,points:h,baseLine:i,layout:r,strokeWidth:d.strokeWidth}))),e.createElement(u.W,{clipPath:"url(#animationClipPath-".concat(c,")")},e.createElement(aD,{points:h,baseLine:i,needClip:b,clipPathId:c,props:d})))}),e.createElement(v.qY,{label:d.label}))}function aI(a){var{needClip:b,clipPathId:c,props:d}=a,f=(0,e.useRef)(null),g=(0,e.useRef)();return e.createElement(aH,{needClip:b,clipPathId:c,props:d,previousPointsRef:f,previousBaselineRef:g})}class aJ extends e.PureComponent{render(){var{hide:a,dot:b,points:c,className:d,top:f,left:g,needClip:h,xAxisId:i,yAxisId:j,width:k,height:l,id:m,baseLine:n,zIndex:o}=this.props;if(a)return null;var p=(0,s.$)("recharts-area",d),{r:q,strokeWidth:r}=function(a){var b=(0,x.ic)(a);if(null!=b){var{r:c,strokeWidth:d}=b,e=Number(c),f=Number(d);return(Number.isNaN(e)||e<0)&&(e=3),(Number.isNaN(f)||f<0)&&(f=2),{r:e,strokeWidth:f}}return{r:3,strokeWidth:2}}(b),t=(0,B.y$)(b),v=2*q+r,w=h?"url(#clipPath-".concat(t?"":"dots-").concat(m,")"):void 0;return e.createElement(D.g,{zIndex:o},e.createElement(u.W,{className:p},h&&e.createElement("defs",null,e.createElement(U.Q,{clipPathId:m,xAxisId:i,yAxisId:j}),!t&&e.createElement("clipPath",{id:"clipPath-dots-".concat(m)},e.createElement("rect",{x:g-v/2,y:f-v/2,width:k+v,height:l+v}))),e.createElement(aI,{needClip:h,clipPathId:m,props:this.props})),e.createElement(S,{points:c,mainColor:az(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:w}),this.props.isRange&&Array.isArray(n)&&e.createElement(S,{points:n,mainColor:az(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:w}))}}var aK={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,xAxisId:0,yAxisId:0,zIndex:E.I.area};function aL(a){var b,{activeDot:c,animationBegin:d,animationDuration:f,animationEasing:g,connectNulls:h,dot:i,fill:j,fillOpacity:k,hide:l,isAnimationActive:m,legendType:n,stroke:o,xAxisId:p,yAxisId:q}=a,r=aw(a,au),s=(0,X.WX)(),t=(0,ak.fW)(),{needClip:u}=(0,U.l)(p,q),v=(0,aj.r)(),{points:w,isRange:x,baseLine:y}=null!=(b=(0,M.G)(b=>ai(b,a.id,v)))?b:{},z=(0,O.oM)();if("horizontal"!==s&&"vertical"!==s||null==z||"AreaChart"!==t&&"ComposedChart"!==t)return null;var{height:A,width:B,x:C,y:D}=z;return w&&w.length?e.createElement(aJ,av({},r,{activeDot:c,animationBegin:d,animationDuration:f,animationEasing:g,baseLine:y,connectNulls:h,dot:i,fill:j,fillOpacity:k,height:A,hide:l,layout:s,isAnimationActive:m,isRange:x,legendType:n,needClip:u,points:w,stroke:o,width:B,left:C,top:D,xAxisId:p,yAxisId:q})):null}var aM=e.memo(function(a){var b=(0,an.e)(a,aK),c=(0,aj.r)();return e.createElement(ap.x,{id:b.id,type:"area"},a=>e.createElement(e.Fragment,null,e.createElement(al.A,{legendPayload:(a=>{var{dataKey:b,name:c,stroke:d,fill:e,legendType:f,hide:g}=a;return[{inactive:g,dataKey:b,type:f,color:az(d,e),value:(0,L.uM)(c,b),payload:a}]})(b)}),e.createElement(aA,{dataKey:b.dataKey,data:b.data,stroke:b.stroke,strokeWidth:b.strokeWidth,fill:b.fill,name:b.name,hide:b.hide,unit:b.unit,tooltipType:b.tooltipType,id:a}),e.createElement(aq.p,{type:"area",id:a,data:b.data,dataKey:b.dataKey,xAxisId:b.xAxisId,yAxisId:b.yAxisId,zAxisId:0,stackId:(0,L.$8)(b.stackId),hide:b.hide,barSize:void 0,baseValue:b.baseValue,isPanorama:c,connectNulls:b.connectNulls}),e.createElement(aL,av({},b,{id:a}))))},as.P);aM.displayName="Area";var aN=c(47092);let aO=(0,aN.createServerReference)("401343decc430a309e6c0db2ea3f9a1137d4479ebf",aN.callServer,void 0,aN.findSourceMapURL,"listAgentWorkspacesAction");var aP=c(11385);let aQ=(0,aN.createServerReference)("60b0f92b15e2bce30372a5a4fe9186bbb21beeadf9",aN.callServer,void 0,aN.findSourceMapURL,"listWorkspaceFilesAction"),aR=(0,aN.createServerReference)("70cad440661d25bbe9fb3b0e0825dc58845a5b0563",aN.callServer,void 0,aN.findSourceMapURL,"uploadToWorkspaceAction"),aS=(0,aN.createServerReference)("70683c3f2187b3d2d1cc8255c499019bc9ac565083",aN.callServer,void 0,aN.findSourceMapURL,"deleteWorkspaceFileAction"),aT=(0,aN.createServerReference)("708302376a2abcc3024968ac93b059a363a0bffcc5",aN.callServer,void 0,aN.findSourceMapURL,"addAgentWorkspaceAction"),aU=(0,aN.createServerReference)("404ca955ea9c8e10b8bf9819b993fb310f53cd1a22",aN.callServer,void 0,aN.findSourceMapURL,"removeAgentWorkspaceAction");var aV=c(81850),aW=c(10693),aX=c(96638),aY=c(171),aZ=c(32960);function a$({glyph:a,name:b,description:c,meta:e,actions:f,expanded:g,className:h=""}){return(0,d.jsxs)("div",{className:`overflow-hidden rounded-[10px] border border-rule-2 bg-paper ${h}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-3.5 px-4 py-3.5",children:[a&&(0,d.jsx)("div",{className:"flex-shrink-0",children:a}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("div",{className:"text-[13.5px] font-medium leading-[1.2] text-ink",children:b}),c&&(0,d.jsx)("div",{className:"mt-0.5 truncate text-[12px] leading-[1.3] text-ink-3",children:c})]}),e&&(0,d.jsx)("div",{className:"flex-shrink-0 font-mono text-[10.5px] tracking-[0.04em] text-ink-4",children:e}),f&&(0,d.jsx)("div",{className:"flex flex-shrink-0 items-center gap-2",children:f})]}),g&&(0,d.jsx)("div",{className:"space-y-2 border-t border-rule-2 bg-canvas/40 px-4 py-3",children:g})]})}function a_({onClick:a,title:b,children:c,ariaLabel:e}){return(0,d.jsx)("button",{type:"button",onClick:a,title:b,"aria-label":e??b,className:"flex h-7 w-7 items-center justify-center rounded-md border border-rule text-ink-3 transition-colors hover:bg-hover hover:text-ink",children:c})}var a0=c(28160),a1=c(14449);let a2=(0,aN.createServerReference)("789be0082b853a6fca844b1de5f9251d626c79ffcb",aN.callServer,void 0,aN.findSourceMapURL,"setAgentConnectorAssignmentAction"),a3=(0,aN.createServerReference)("78619f4898ba05ed272de74c8fb2cc062a366d3d54",aN.callServer,void 0,aN.findSourceMapURL,"setAgentMcpServerAssignmentAction");function a4({onClick:a,href:b,children:c,className:e=""}){let f=`flex h-[42px] w-full items-center justify-center gap-2 rounded-[10px] border border-dashed border-rule bg-paper/40 text-[13px] font-medium text-ink-3 transition-colors hover:bg-paper/60 hover:text-ink-2 ${e}`,g=(0,d.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:(0,d.jsx)("path",{d:"M7 2v10M2 7h10"})});return b?(0,d.jsxs)("a",{href:b,className:f,children:[g,c]}):(0,d.jsxs)("button",{type:"button",onClick:a,className:f,children:[g,c]})}function a5({agentId:a,connectors:b,mcpServers:c}){let[f,g]=(0,e.useState)(()=>{let a=new Map;for(let c of b)a.set(c.connectorId,{assigned:c.assigned,enabledOperations:c.enabledOperations});return a}),[h,j]=(0,e.useState)(()=>{let a=new Map;for(let b of c)a.set(b.mcpServerId,{assigned:b.assigned,enabledTools:b.enabledTools});return a}),[k,l]=(0,e.useState)(new Set),m=(0,e.useRef)(new Map),n=(0,e.useCallback)((b,c,d)=>{let e=`conn:${b}`,f=m.current.get(e);f&&clearTimeout(f);let g=setTimeout(()=>{m.current.delete(e),a2(a,b,c,d).then(a=>{a.ok||i.oR.error(a.message)})},300);m.current.set(e,g)},[a]),o=(0,e.useCallback)((b,c,d)=>{let e=`mcp:${b}`,f=m.current.get(e);f&&clearTimeout(f);let g=setTimeout(()=>{m.current.delete(e),a3(a,b,c,d).then(a=>{a.ok||i.oR.error(a.message)})},300);m.current.set(e,g)},[a]);function p(a,b){g(c=>{let d=new Map(c);return d.set(a,{assigned:b,enabledOperations:null}),n(a,b,null),d}),b||s(a)}function q(a,b){j(c=>{let d=new Map(c);return d.set(a,{assigned:b,enabledTools:null}),o(a,b,null),d}),b||s(a)}function r(a){l(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})}function s(a){l(b=>{let c=new Set(b);return c.delete(a),c})}let{connected:t,available:u}=(0,e.useMemo)(()=>{let a=[],d=[];for(let c of b){let b=f.get(c.connectorId)??c,e={kind:"api",row:c};b.assigned?a.push(e):d.push(e)}for(let b of c){let c=h.get(b.mcpServerId)??b,e={kind:"mcp",row:b};c.assigned?a.push(e):d.push(e)}return{connected:a,available:d}},[b,c,f,h]);if(0===b.length&&0===c.length)return(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("p",{className:"text-[12.5px] text-ink-3",children:"No connectors or MCP servers installed on this workspace yet. Add some first; you'll then be able to attach them to this agent."}),(0,d.jsx)(a4,{href:"/connectors",children:"Browse connectors marketplace"}),(0,d.jsx)(a4,{href:"/mcp",children:"Browse MCP servers"})]});return(0,d.jsxs)("div",{className:"space-y-6",children:[(0,d.jsxs)(a6,{label:`Connected \xb7 ${t.length}`,hint:"Revoke any to detach everywhere. Per-op (API) / per-tool (MCP) whitelist via the gear icon.",children:[0===t.length&&(0,d.jsx)("p",{className:"text-[12.5px] text-ink-3",children:"No connectors or MCP servers attached to this agent yet. Pick from the list below."}),t.map(a=>v(a,!0))]}),u.length>0&&(0,d.jsx)(a6,{label:`Available on this workspace \xb7 ${u.length}`,hint:"Already installed at the workspace level; click + to attach to this agent.",children:u.map(a=>v(a,!1))}),(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(a4,{href:"/connectors",children:"Browse connectors marketplace"}),(0,d.jsx)(a4,{href:"/mcp",children:"Browse MCP servers"})]})]});function v(a,b){if("api"===a.kind){let c=a.row,e=f.get(c.connectorId)??c,h=k.has(c.connectorId),i=c.availableOperations,j=null===e.enabledOperations?`all ${i.length} ops`:`${e.enabledOperations.length} of ${i.length} ops`;return(0,d.jsx)(a$,{glyph:(0,d.jsx)(aZ.A,{variant:"conn",size:"lg",shape:"square",background:a1.a[c.slug],children:(0,d.jsx)("span",{className:"font-mono text-[10.5px] font-semibold",children:(0,a1.d)(c.slug,c.label)})}),name:(0,d.jsxs)(d.Fragment,{children:[c.label,(0,d.jsx)(a7,{kind:"API"})]}),description:c.credentialName??void 0,meta:b?j:`${i.length} ops`,actions:b?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(a_,{title:h?"Hide operations":"Configure operations",ariaLabel:"Configure",onClick:()=>r(c.connectorId),children:(0,d.jsx)(ba,{})}),(0,d.jsx)(a_,{title:"Detach from this agent",ariaLabel:"Detach",onClick:()=>p(c.connectorId,!1),children:(0,d.jsx)(bb,{})})]}):(0,d.jsx)(a_,{title:"Attach to this agent",ariaLabel:"Attach",onClick:()=>p(c.connectorId,!0),children:(0,d.jsx)(bc,{})}),expanded:b&&h?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(a8,{onClick:()=>{var a;return a=c.connectorId,void g(b=>{let c=new Map(b);return c.set(a,{assigned:!0,enabledOperations:null}),n(a,!0,null),c})},children:"Enable all"}),(0,d.jsx)(a8,{onClick:()=>p(c.connectorId,!1),children:"Uncheck all"})]}),(0,d.jsx)("div",{className:"space-y-0.5",children:i.map(a=>{let b=null===e.enabledOperations||e.enabledOperations.includes(a.slug);return(0,d.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded px-1 py-1 text-[12.5px] transition-colors hover:bg-hover",children:[(0,d.jsx)("input",{type:"checkbox",checked:b,onChange:()=>{var b,d;return b=c.connectorId,d=a.slug,void g(a=>{let c,e=a.get(b)??{assigned:!0,enabledOperations:null},f=i.map(a=>a.slug);null!==(c=null===e.enabledOperations?f.filter(a=>a!==d):e.enabledOperations.includes(d)?e.enabledOperations.filter(a=>a!==d):[...e.enabledOperations,d])&&c.length===f.length&&(c=null);let g=new Map(a);return null!==c&&0===c.length?(g.set(b,{assigned:!1,enabledOperations:null}),n(b,!1,null),s(b)):(g.set(b,{...e,enabledOperations:c}),n(b,!0,c)),g})},className:"shrink-0 accent-agent-vivid"}),(0,d.jsx)("code",{className:"shrink-0 font-mono text-[11px] text-ink-2",children:a.slug}),(0,d.jsx)(a9,{op:a}),a.description&&(0,d.jsx)("span",{className:"truncate text-[11px] italic text-ink-4",children:a.description})]},a.slug)})})]}):null},`conn:${c.connectorId}`)}let c=a.row,e=h.get(c.mcpServerId)??c,i=k.has(c.mcpServerId),l=c.availableTools.map(a=>a.name),m=null===e.enabledTools?`all ${l.length} tools`:`${e.enabledTools.length} of ${l.length} tools`;return(0,d.jsx)(a$,{glyph:(0,d.jsx)(aZ.A,{variant:"conn",size:"lg",shape:"square",children:(0,d.jsx)("span",{className:"font-mono text-[10.5px] font-semibold",children:"MCP"})}),name:(0,d.jsxs)(d.Fragment,{children:[c.label,(0,d.jsx)(a7,{kind:"MCP"})]}),meta:b?m:`${l.length} tools`,actions:b?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(a_,{title:i?"Hide tools":"Configure tools",ariaLabel:"Configure",onClick:()=>r(c.mcpServerId),children:(0,d.jsx)(ba,{})}),(0,d.jsx)(a_,{title:"Detach from this agent",ariaLabel:"Detach",onClick:()=>q(c.mcpServerId,!1),children:(0,d.jsx)(bb,{})})]}):(0,d.jsx)(a_,{title:"Attach to this agent",ariaLabel:"Attach",onClick:()=>q(c.mcpServerId,!0),children:(0,d.jsx)(bc,{})}),expanded:b&&i?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(a8,{onClick:()=>{var a;return a=c.mcpServerId,void j(b=>{let c=new Map(b);return c.set(a,{assigned:!0,enabledTools:null}),o(a,!0,null),c})},children:"Enable all"}),(0,d.jsx)(a8,{onClick:()=>q(c.mcpServerId,!1),children:"Uncheck all"})]}),(0,d.jsx)("div",{className:"space-y-0.5",children:c.availableTools.map(a=>{let b=null===e.enabledTools||e.enabledTools.includes(a.name);return(0,d.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded px-1 py-1 text-[12.5px] transition-colors hover:bg-hover",children:[(0,d.jsx)("input",{type:"checkbox",checked:b,onChange:()=>{var b,d;return b=c.mcpServerId,d=a.name,void j(a=>{let c,e=a.get(b)??{assigned:!0,enabledTools:null};null!==(c=null===e.enabledTools?l.filter(a=>a!==d):e.enabledTools.includes(d)?e.enabledTools.filter(a=>a!==d):[...e.enabledTools,d])&&c.length===l.length&&(c=null);let f=new Map(a);return null!==c&&0===c.length?(f.set(b,{assigned:!1,enabledTools:null}),o(b,!1,null),s(b)):(f.set(b,{assigned:!0,enabledTools:c}),o(b,!0,c)),f})},className:"shrink-0 accent-agent-vivid"}),(0,d.jsx)("code",{className:"shrink-0 font-mono text-[11px] text-ink-2",children:a.name}),a.description&&(0,d.jsx)("span",{className:"truncate text-[11px] italic text-ink-4",children:a.description})]},a.name)})})]}):null},`mcp:${c.mcpServerId}`)}}function a6({label:a,hint:b,children:c}){return(0,d.jsxs)("section",{className:"space-y-2",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-mono text-[10.5px] uppercase tracking-[0.12em] text-ink-4",children:a}),b&&(0,d.jsx)("p",{className:"mt-1 text-[11.5px] leading-[1.5] text-ink-3",children:b})]}),(0,d.jsx)("div",{className:"space-y-2",children:c})]})}function a7({kind:a}){return(0,d.jsx)("span",{className:"ml-2 font-mono text-[10px] uppercase tracking-[0.04em] text-ink-4",children:a})}function a8({children:a,onClick:b}){return(0,d.jsx)("button",{type:"button",onClick:b,className:"rounded border border-rule px-2 py-1 text-[11px] font-medium text-ink-3 transition-colors hover:border-rule-2 hover:text-ink",children:a})}function a9({op:a}){let b="inline-flex shrink-0 items-center rounded px-1.5 py-0.5 text-[9.5px] font-semibold uppercase tracking-wider";return"read"===a.risk?(0,d.jsx)("span",{className:`${b} bg-agent-vivid/10 text-ok`,children:"read"}):"write"===a.risk?(0,d.jsxs)("span",{className:`${b} bg-warn/10 text-warn`,children:[a.requiresApproval?"⚠ ":"","write"]}):(0,d.jsx)("span",{className:`${b} bg-warn-bg text-err`,children:"⚠ destr"})}function ba(){return(0,d.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.4",children:[(0,d.jsx)("circle",{cx:"8",cy:"8",r:"2"}),(0,d.jsx)("circle",{cx:"8",cy:"8",r:"6"})]})}function bb(){return(0,d.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.4",children:(0,d.jsx)("path",{d:"M3 3l6 6M9 3l-6 6"})})}function bc(){return(0,d.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",children:(0,d.jsx)("path",{d:"M6 2v8M2 6h8"})})}function bd({agent:a,peers:b,llmKeys:c,connectors:f,mcpServers:g,jobs:j,attachedSkills:k}){var l,m;let n=(0,h.useRouter)(),[o,p]=(0,e.useTransition)(),[q,r]=(0,e.useState)("overview"),s=(l=a.role??null,m=a.orchestratorMode??null,"orchestrator"===l&&"planner"===m?"planner":"orchestrator"===l?"router":"worker"),t=(0,e.useMemo)(()=>c.filter(a=>a.isActive),[c]),u=a.llmKeyId??t[0]?.id??"",[v,w]=(0,e.useState)(a.name),[x,y]=(0,e.useState)(a.personality??""),[z,A]=(0,e.useState)(s),[B,C]=(0,e.useState)(a.subAgentIds),[D,E]=(0,e.useState)(u),[F,G]=(0,e.useState)(a.model??""),[H,I]=(0,e.useState)(a.avatarUrl??null),[J,K]=(0,e.useState)([]),[L,M]=(0,e.useState)(!1),N=(0,e.useMemo)(()=>c.find(a=>a.id===D)??null,[c,D]),O=(0,e.useMemo)(()=>(0,aX.P)(F),[F]),P=(0,e.useMemo)(()=>t.filter(a=>(0,aX.$)(F,a.provider)),[t,F]),Q=!N||(0,aX.$)(F,N.provider),R=0===t.length,S=(a.name||a.slug).slice(0,1).toUpperCase(),T=f.filter(a=>a.assigned),U=T.length,V=g.filter(a=>a.assigned).length,W="worker"===z?0:B.length,X=(x||"").split(/\n+/).filter(Boolean)[0]?.trim()??"No description yet.",Y=j.length,Z=j.filter(a=>"completed"===a.status).length,$=v!==a.name||x!==(a.personality??"")||z!==s||JSON.stringify([...B].sort())!==JSON.stringify([...a.subAgentIds].sort())||D!==u||F!==(a.model??"")||H!==(a.avatarUrl??null);return(0,d.jsxs)("div",{className:"space-y-6",children:[(0,d.jsx)(be,{}),(0,d.jsx)(bf,{agents:[{id:a.id,name:a.name,slug:a.slug},...b],activeId:a.id}),(0,d.jsx)(bg,{initial:S,avatarUrl:H,name:a.name,personaPreview:X,role:s,slug:a.slug,model:a.model,llmKeyLabel:c.find(b=>b.id===a.llmKeyId)?.nickname??(c.find(b=>b.id===a.llmKeyId)?.provider?(0,aW.R)(c.find(b=>b.id===a.llmKeyId).provider):null),stats:{connectors:U,mcps:V,subAgents:W,skills:k.length,totalRuns:Y,successfulRuns:Z},onConfigure:()=>r("settings")}),(0,d.jsx)(bk,{tab:q,onChange:r,counts:{skills:k.length,connectors:U+V,runs:Y}}),"overview"===q&&(0,d.jsx)(bn,{jobs:j,attachedSkills:k,connectorsAssigned:T,mcpsAssignedCount:V,onOpenSkills:()=>r("skills"),onOpenConnectors:()=>r("connectors")}),"skills"===q&&(0,d.jsx)(br,{skills:k}),"connectors"===q&&(0,d.jsx)(bl,{children:(0,d.jsx)(a5,{agentId:a.id,connectors:f,mcpServers:g},a.id)}),"runs"===q&&(0,d.jsx)(a0.default,{jobs:j,agents:[{id:a.id,name:a.name,slug:a.slug},...b],agentId:a.id}),"settings"===q&&(0,d.jsx)(bs,{name:v,slug:a.slug,avatarUrl:H,personality:x,role:z,showSubAgents:"worker"!==z,subAgentIds:B,peers:b,llmKeyId:D,activeKeys:t,selectedKey:N,model:F,coherenceOk:Q,detectedProviders:O,compatibleActiveKeys:P,noLlmKeys:R,workspaces:J,workspacesLoaded:L,onWorkspacesChange:K,mcpServers:g,agentId:a.id,dirty:$,isPending:o,onChangeName:w,onChangeAvatar:I,onChangePersonality:y,onChangeRole:A,onToggleSubAgent:function(a){C(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])},onChangeLlmKey:function(a){let b=c.find(b=>b.id===a),d=N?.defaultModel??null;E(a),b?.defaultModel&&(!F||F===d)&&G(b.defaultModel)},onChangeModel:function(a){if(G(a),!N||(0,aX.$)(a,N.provider))return;let b=t.filter(b=>(0,aX.$)(a,b.provider));1===b.length&&b[0]&&(E(b[0].id),i.oR.success(`Switched provider to ${(0,aW.R)(b[0].provider)} (matches ${a})`))},onSwitchKey:E,onSave:function(){if(!Q||R||o||!$)return;let b={id:a.id,name:v,personality:x,model:F,llmKeyId:D||null,role:z,subAgentIds:"worker"===z?[]:B,avatarUrl:H};p(async()=>{let a=await (0,aP.f)(b);a.ok?(i.oR.success("Agent updated"),n.refresh()):i.oR.error(a.message)})},onReset:function(){w(a.name),y(a.personality??""),A(s),C(a.subAgentIds),E(u),G(a.model??""),I(a.avatarUrl??null)}})]})}function be(){return(0,d.jsxs)(g(),{href:"/agents",className:"inline-flex items-center gap-1.5 text-[12.5px] text-ink-3 transition-colors hover:text-ink-2",children:[(0,d.jsx)("span",{className:"text-[14px] leading-none",children:"‹"}),"Back to agents"]})}function bf({agents:a,activeId:b}){return a.length<=1?null:(0,d.jsx)("div",{className:"flex flex-wrap gap-2",children:a.map(a=>{let c=a.id===b;return(0,d.jsxs)(g(),{href:`/agents/${a.id}/edit`,className:["inline-flex h-[34px] items-center gap-2 rounded-full border px-3.5 text-[13px] font-medium transition-colors",c?"border-rule-2 bg-paper text-ink":"border-rule bg-canvas text-ink-3 hover:border-rule-2 hover:text-ink-2"].join(" "),children:[(0,d.jsx)("span",{className:"inline-block h-[7px] w-[7px] rounded-full bg-agent-vivid"}),a.name]},a.id)})})}function bg({initial:a,avatarUrl:b,name:c,personaPreview:e,role:f,slug:g,model:h,llmKeyLabel:i,stats:j,onConfigure:k}){let l=j.totalRuns>0?`${Math.round(j.successfulRuns/j.totalRuns*100)}%`:"—";return(0,d.jsxs)("div",{className:"overflow-hidden rounded-2xl border border-rule-2 bg-paper",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-5 p-6 lg:flex-row lg:items-start",children:[(0,d.jsx)("div",{className:"flex h-[80px] w-[80px] flex-shrink-0 items-center justify-center rounded-2xl bg-agent-vivid text-[28px] font-semibold text-canvas",children:b?(0,d.jsx)("img",{src:b,alt:"",className:"h-full w-full rounded-2xl object-cover"}):a}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,d.jsx)("h1",{className:"m-0 text-[22px] font-semibold leading-none tracking-[-0.01em] text-ink",children:c}),(0,d.jsxs)("span",{className:"inline-flex h-[24px] items-center gap-1.5 rounded-full border border-rule-2 bg-canvas px-2.5 text-[11.5px] font-medium text-ink-3",children:[(0,d.jsx)("span",{className:"h-[6px] w-[6px] rounded-full bg-ink-3"}),"Idle"]})]}),(0,d.jsx)("p",{className:"mt-2 text-[13.5px] leading-[1.55] text-ink-3",children:e}),(0,d.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-1.5 text-[11.5px] text-ink-3",children:[h&&(0,d.jsxs)("span",{children:[(0,d.jsx)("span",{className:"text-ink-4",children:"Model:"})," ",(0,d.jsx)("code",{className:"rounded border border-rule-2 bg-canvas px-1.5 py-0.5 font-mono text-[11px] text-ink-2",children:h})]}),i&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(bh,{}),(0,d.jsxs)("span",{children:[(0,d.jsx)("span",{className:"text-ink-4",children:"LLM:"})," ",(0,d.jsx)("span",{className:"text-ink-2",children:i})]})]}),(0,d.jsx)(bh,{}),(0,d.jsxs)("span",{children:[(0,d.jsx)("span",{className:"text-ink-4",children:"Role:"})," ",(0,d.jsx)("span",{className:"capitalize text-ink-2",children:f})]}),(0,d.jsx)(bh,{}),(0,d.jsxs)("span",{className:"font-mono text-ink-4",children:["@",g]})]})]}),(0,d.jsx)("div",{className:"flex flex-shrink-0 flex-wrap gap-2",children:(0,d.jsxs)("button",{type:"button",onClick:k,className:"inline-flex h-[34px] items-center gap-1.5 rounded-lg border border-rule bg-paper px-3.5 text-[12.5px] font-medium text-ink-2 transition-colors hover:border-rule-2 hover:text-ink",children:[(0,d.jsx)(bj,{}),"Configure"]})})]}),(0,d.jsxs)("div",{className:"grid grid-cols-2 gap-2 px-6 pb-6 sm:grid-cols-3 lg:grid-cols-6",children:[(0,d.jsx)(bi,{label:"Skills",value:String(j.skills)}),(0,d.jsx)(bi,{label:"Connectors",value:String(j.connectors)}),(0,d.jsx)(bi,{label:"MCPs",value:String(j.mcps)}),(0,d.jsx)(bi,{label:"Sub-agents",value:"worker"===f?"—":String(j.subAgents),dim:"worker"===f}),(0,d.jsx)(bi,{label:"Runs",value:String(j.totalRuns),dim:0===j.totalRuns}),(0,d.jsx)(bi,{label:"Success rate",value:l,dim:0===j.totalRuns})]})]})}function bh(){return(0,d.jsx)("span",{className:"text-ink-4",children:"\xb7"})}function bi({label:a,value:b,dim:c}){return(0,d.jsxs)("div",{className:"rounded-lg border border-rule-2 bg-canvas/40 px-4 py-3",children:[(0,d.jsx)("div",{className:"font-mono text-[9.5px] uppercase tracking-[0.14em] text-ink-4",children:a}),(0,d.jsx)("div",{className:`mt-1.5 text-[20px] font-semibold leading-none tracking-[-0.01em] ${c?"text-ink-4":"text-ink"}`,children:b})]})}function bj(){return(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.4",children:[(0,d.jsx)("circle",{cx:"8",cy:"8",r:"2"}),(0,d.jsx)("path",{d:"M8 1v2M8 13v2M1 8h2M13 8h2M3.5 3.5l1.5 1.5M11 11l1.5 1.5M3.5 12.5L5 11M11 5l1.5-1.5"})]})}function bk({tab:a,onChange:b,counts:c}){let e=[{id:"overview",label:"Overview"},{id:"skills",label:"Skills",count:c.skills},{id:"connectors",label:"Connectors",count:c.connectors},{id:"runs",label:"Runs",count:c.runs},{id:"settings",label:"Settings"}];return(0,d.jsx)("div",{className:"flex gap-1 border-b border-rule-2",children:e.map(c=>{let e=a===c.id;return(0,d.jsxs)("button",{type:"button",onClick:()=>b(c.id),className:["relative -mb-px border-b-2 px-4 pt-2.5 pb-3 text-[13.5px] font-medium transition-colors",e?"border-ink text-ink":"border-transparent text-ink-3 hover:text-ink-2"].join(" "),children:[c.label,void 0!==c.count&&c.count>0&&(0,d.jsx)("span",{className:`ml-1.5 font-mono text-[10.5px] ${e?"text-ink-2":"text-ink-4"}`,children:c.count})]},c.id)})})}function bl({children:a}){return(0,d.jsx)("div",{className:"rounded-2xl border border-rule-2 bg-paper p-6",children:a})}function bm({label:a,hint:b,right:c}){return(0,d.jsxs)("div",{className:"mb-4 flex items-start justify-between gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-mono text-[10.5px] uppercase tracking-[0.12em] text-ink-4",children:a}),b&&(0,d.jsx)("p",{className:"mt-1 text-[12px] leading-[1.5] text-ink-3",children:b})]}),c]})}function bn({jobs:a,attachedSkills:b,connectorsAssigned:c,mcpsAssignedCount:e,onOpenSkills:f,onOpenConnectors:h}){let i=b.length>0,j=c.length>0;return(0,d.jsxs)("div",{className:"space-y-6",children:[(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-3",children:[(0,d.jsx)("div",{className:"lg:col-span-2",children:(0,d.jsx)(bl,{children:(0,d.jsx)(bo,{jobs:a})})}),(0,d.jsxs)(bl,{children:[(0,d.jsx)(bm,{label:`Connectors used \xb7 ${c.length}`,right:j?(0,d.jsx)("button",{type:"button",onClick:h,className:"text-[11.5px] text-ink-3 underline hover:text-ink-2",children:"Manage"}):void 0}),j?(0,d.jsx)("div",{className:"space-y-2",children:c.map(a=>(0,d.jsx)(bq,{row:a},a.connectorId))}):(0,d.jsxs)("p",{className:"text-[12.5px] text-ink-3",children:["No connectors assigned yet."," ",(0,d.jsx)("button",{type:"button",onClick:h,className:"underline hover:text-ink-2",children:"Wire one →"})]}),e>0&&(0,d.jsxs)("p",{className:"mt-3 border-t border-rule-2 pt-3 text-[11.5px] text-ink-4",children:["+ ",e," MCP server",e>1?"s":""," attached (Settings → Knowledge)."]})]})]}),(0,d.jsxs)(bl,{children:[(0,d.jsx)(bm,{label:`Skills attached \xb7 ${b.length}`,right:i?(0,d.jsx)("button",{type:"button",onClick:f,className:"text-[11.5px] text-ink-3 underline hover:text-ink-2",children:"Manage"}):void 0}),i?(0,d.jsx)("div",{className:"grid grid-cols-1 gap-2 lg:grid-cols-2 xl:grid-cols-3",children:b.map(a=>(0,d.jsx)(bp,{skill:a},a.id))}):(0,d.jsxs)("p",{className:"text-[12.5px] text-ink-3",children:["No skills attached yet. Read-only view — manage on the"," ",(0,d.jsx)(g(),{href:"/skills",className:"underline hover:text-ink-2",children:"Skills page"}),"."]})]})]})}function bo({jobs:a}){let{data:b,total:c}=(0,e.useMemo)(()=>{let b=new Date;b.setHours(0,0,0,0);let c=[];for(let a=6;a>=0;a-=1){let d=new Date(b.getTime()-864e5*a);c.push({day:d.toLocaleDateString("en-US",{weekday:"short"}),iso:d.toISOString().slice(0,10),runs:0})}let d=new Map(c.map(a=>[a.iso,a])),e=0;for(let b of a){if("completed"!==b.status||!b.createdAt)continue;let a="string"==typeof b.createdAt?new Date(b.createdAt):b.createdAt,c=new Date(a.getFullYear(),a.getMonth(),a.getDate()).toISOString().slice(0,10),f=d.get(c);f&&(f.runs+=1,e+=1)}return{data:c,total:e}},[a]);return(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"mb-3 flex items-baseline gap-2",children:(0,d.jsx)("span",{className:"font-mono text-[10.5px] uppercase tracking-[0.12em] text-ink-4",children:"Runs \xb7 7 days"})}),(0,d.jsxs)("div",{className:"mb-4 flex items-baseline gap-3",children:[(0,d.jsx)("span",{className:"text-[34px] font-semibold leading-none tracking-[-0.015em] text-ink",children:c.toLocaleString()}),(0,d.jsxs)("span",{className:"text-[13.5px] text-ink-3",children:["successful run",1===c?"":"s"]})]}),(0,d.jsx)("div",{className:"h-[200px]",children:(0,d.jsx)(j.u,{width:"100%",height:"100%",children:(0,d.jsxs)(n,{data:b,margin:{top:6,right:10,left:-20,bottom:0},children:[(0,d.jsx)("defs",{children:(0,d.jsxs)("linearGradient",{id:"agentWeeklyFill",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,d.jsx)("stop",{offset:"0%",stopColor:"var(--c-agent-vivid)",stopOpacity:.55}),(0,d.jsx)("stop",{offset:"100%",stopColor:"var(--c-agent-vivid)",stopOpacity:.05})]})}),(0,d.jsx)(o.d,{stroke:"var(--c-rule-2)",vertical:!1}),(0,d.jsx)(p.W,{dataKey:"day",stroke:"var(--c-ink-4)",tick:{fill:"var(--c-ink-4)",fontSize:11},axisLine:!1,tickLine:!1}),(0,d.jsx)(q.h,{stroke:"var(--c-ink-4)",tick:{fill:"var(--c-ink-4)",fontSize:11},axisLine:!1,tickLine:!1,allowDecimals:!1}),(0,d.jsx)(r.m,{cursor:{stroke:"var(--c-ink-4)",strokeDasharray:"3 3"},contentStyle:{background:"var(--c-paper)",border:"1px solid var(--c-rule)",borderRadius:10,fontSize:12,color:"var(--c-ink)",boxShadow:"0 6px 20px rgba(0,0,0,0.08)"},labelStyle:{color:"var(--c-ink-3)"}}),(0,d.jsx)(aM,{type:"monotone",dataKey:"runs",stroke:"var(--c-agent-vivid)",strokeWidth:2,fill:"url(#agentWeeklyFill)"})]})})})]})}function bp({skill:a}){return(0,d.jsx)(a$,{glyph:(0,d.jsx)(aZ.A,{variant:"skill",size:"lg",shape:"square",children:(0,d.jsx)("span",{className:"font-mono text-[10.5px] font-semibold uppercase",children:a.slug.slice(0,2)})}),name:a.name,description:a.description??void 0,meta:`@${a.slug}`,actions:(0,d.jsx)(g(),{href:`/skills/${a.id}/edit`,className:"flex h-7 items-center gap-1 rounded-md border border-rule px-2 text-[11px] font-medium text-ink-3 transition-colors hover:border-rule-2 hover:text-ink",children:"Open ›"})})}function bq({row:a}){return(0,d.jsx)(a$,{glyph:(0,d.jsx)(aZ.A,{variant:"conn",size:"lg",shape:"square",background:a1.a[a.slug],children:(0,d.jsx)("span",{className:"font-mono text-[10.5px] font-semibold",children:(0,a1.d)(a.slug,a.label)})}),name:(0,d.jsxs)(d.Fragment,{children:[a.label,(0,d.jsx)("span",{className:"ml-2 font-mono text-[10px] uppercase tracking-[0.04em] text-ink-4",children:a.slug.toUpperCase()})]}),description:a.credentialName??void 0,actions:(0,d.jsxs)("span",{className:"inline-flex items-center gap-1.5 font-mono text-[10px] uppercase tracking-[0.08em] text-ink-3",children:[(0,d.jsx)("span",{className:"h-[6px] w-[6px] rounded-full bg-agent-vivid"}),"on"]})})}function br({skills:a}){return 0===a.length?(0,d.jsx)(bl,{children:(0,d.jsx)(bm,{label:"No skills attached",hint:"Read-only view. Manage attachments on the /skills page."})}):(0,d.jsxs)(bl,{children:[(0,d.jsx)(bm,{label:`Attached \xb7 ${a.length}`}),(0,d.jsx)("div",{className:"space-y-2",children:a.map(a=>(0,d.jsx)(bp,{skill:a},a.id))})]})}function bs(a){let{name:b,slug:c,avatarUrl:f,personality:h,role:j,showSubAgents:k,subAgentIds:l,peers:m,llmKeyId:n,activeKeys:o,selectedKey:p,model:q,coherenceOk:r,detectedProviders:s,compatibleActiveKeys:t,noLlmKeys:u,workspaces:v,workspacesLoaded:w,onWorkspacesChange:x,mcpServers:y,agentId:z,dirty:A,isPending:B,onChangeName:C,onChangeAvatar:D,onChangePersonality:E,onChangeRole:F,onToggleSubAgent:G,onChangeLlmKey:H,onChangeModel:I,onSwitchKey:J,onSave:K,onReset:L}=a,[M,N]=(0,e.useState)(""),[O,P]=(0,e.useState)(""),[Q,R]=(0,e.useState)(!1),[S,T]=(0,e.useState)(null),[U,V]=(0,e.useTransition)(),[W,X]=(0,e.useState)({}),[Y,Z]=(0,e.useState)({}),[$,_]=(0,e.useState)(""),[aa,ab]=(0,e.useState)(!1),[ac,ad]=(0,e.useState)(null),[ae,af]=(0,e.useTransition)();async function ag(a,b){ab(!0);let c=new FormData;c.append("file",b);let d=await aR(z,a,c);if(ab(!1),!d.ok)return void i.oR.error(d.message);i.oR.success(`Uploaded ${d.data.filename}`);let e=await aQ(z,a);e.ok&&X(b=>({...b,[a]:e.data}))}return(0,d.jsxs)("div",{className:"space-y-6 pb-24",children:[(0,d.jsxs)(bl,{children:[(0,d.jsx)(bm,{label:"Identity",hint:"Slug is immutable. Avatar is used across the app."}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2",children:[(0,d.jsx)(bt,{label:"Name",children:(0,d.jsx)("input",{type:"text",value:b,onChange:a=>C(a.target.value),placeholder:"Agent name",className:"w-full rounded-lg border border-rule bg-canvas px-3 py-2 text-[13px] text-ink placeholder:text-ink-4 focus:border-ink-3 focus:outline-none"})}),(0,d.jsx)(bt,{label:"Slug (read-only)",children:(0,d.jsx)("code",{className:"block w-full rounded-lg border border-rule-2 bg-hover px-3 py-2 font-mono text-[11.5px] tracking-[0.02em] text-ink-3",children:c})}),(0,d.jsx)("div",{className:"sm:col-span-2",children:(0,d.jsx)(bt,{label:"Avatar",children:(0,d.jsx)(aY.A,{value:f,onChange:D})})})]})]}),(0,d.jsxs)(bl,{children:[(0,d.jsx)(bm,{label:"Behavior",hint:"Persona is the system prompt. Updating it invalidates the prompt cache for new jobs."}),(0,d.jsx)(bt,{label:"Persona / system prompt",children:(0,d.jsx)("textarea",{value:h,onChange:a=>E(a.target.value),rows:24,placeholder:"You are a helpful assistant…",className:"min-h-[560px] w-full resize-y rounded-lg border border-rule bg-canvas px-3 py-2 font-mono text-[12.5px] leading-[1.55] text-ink placeholder:text-ink-4 focus:border-ink-3 focus:outline-none"})}),(0,d.jsx)("div",{className:"mt-4",children:(0,d.jsx)(bt,{label:"Role",children:(0,d.jsxs)("select",{value:j,onChange:a=>F(a.target.value),className:"w-full rounded-lg border border-rule bg-canvas px-3 py-2 text-[13px] text-ink focus:border-ink-3 focus:outline-none",children:[(0,d.jsx)("option",{value:"worker",children:"Worker — runs its own tools"}),(0,d.jsx)("option",{value:"router",children:"Router — delegates one at a time"}),(0,d.jsx)("option",{value:"planner",children:"Planner — parallel sub-agents"})]})})}),k&&(0,d.jsx)("div",{className:"mt-4",children:(0,d.jsx)(bt,{label:`Sub-agents \xb7 ${l.length} selected`,children:0===m.length?(0,d.jsx)("p",{className:"text-[12.5px] text-warn",children:"Create at least one worker agent first — orchestrators need someone to delegate to."}):(0,d.jsx)("div",{className:"divide-y divide-rule-2 overflow-hidden rounded-lg border border-rule-2 bg-canvas/30",children:m.map(a=>{let b=l.includes(a.id);return(0,d.jsxs)("label",{className:"flex cursor-pointer items-center gap-3 px-3 py-2 text-[13px] transition-colors hover:bg-hover",children:[(0,d.jsx)("input",{type:"checkbox",checked:b,onChange:()=>G(a.id),className:"accent-agent-vivid"}),(0,d.jsx)("span",{className:"text-ink",children:a.name}),(0,d.jsx)("span",{className:"ml-auto font-mono text-[11px] text-ink-3",children:a.slug})]},a.id)})})})})]}),(0,d.jsxs)(bl,{children:[(0,d.jsx)(bm,{label:"Model",hint:"LLM key + model identifier passed to the runner."}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2",children:[(0,d.jsx)(bt,{label:"LLM provider",children:u?(0,d.jsxs)("p",{className:"text-[12.5px] text-warn",children:["No active LLM keys."," ",(0,d.jsx)(g(),{href:"/llm-providers",className:"underline",children:"Add one"}),"."]}):(0,d.jsx)("select",{value:n,onChange:a=>H(a.target.value),className:"w-full rounded-lg border border-rule bg-canvas px-3 py-2 text-[13px] text-ink focus:border-ink-3 focus:outline-none",children:o.map(a=>(0,d.jsx)("option",{value:a.id,children:(a.nickname??(0,aW.R)(a.provider))+" ("+(0,aW.R)(a.provider)+")"},a.id))})}),(0,d.jsx)(bt,{label:"Model",children:(0,d.jsx)("input",{type:"text",value:q,onChange:a=>I(a.target.value),placeholder:p?.defaultModel??"e.g. claude-haiku-4-5-20251001",className:"w-full rounded-lg border border-rule bg-canvas px-3 py-2 font-mono text-[12.5px] text-ink placeholder:text-ink-4 focus:border-ink-3 focus:outline-none"})})]}),!r&&p&&(0,d.jsxs)("div",{role:"alert","data-testid":"model-provider-mismatch",className:"mt-3 space-y-1 rounded-lg border border-warn/30 bg-warn-bg px-3 py-2 text-[12px] text-warn",children:[(0,d.jsxs)("p",{children:[(0,d.jsx)("span",{className:"font-semibold",children:"Provider mismatch:"})," ",(0,d.jsx)("span",{className:"font-mono",children:q})," looks like it needs"," ",(0,d.jsx)("span",{className:"font-semibold",children:Array.from(s).map(a=>(0,aW.R)(a)).join(" or ")}),", but your selected key is"," ",(0,d.jsx)("span",{className:"font-semibold",children:(0,aW.R)(p.provider)}),"."]}),t.length>0?(0,d.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,d.jsx)("span",{className:"text-warn/80",children:"Switch to:"}),t.map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>J(a.id),className:"rounded border border-warn/30 px-1.5 py-0.5 text-[11px] font-medium text-warn hover:bg-warn-bg",children:[a.nickname??(0,aW.R)(a.provider)," (",(0,aW.R)(a.provider),")"]},a.id))]}):(0,d.jsxs)("p",{children:["No compatible active key."," ",(0,d.jsx)(g(),{href:"/llm-providers",className:"underline hover:text-warn",children:"Add one"}),"."]})]})]}),(0,d.jsxs)(bl,{children:[(0,d.jsx)(bm,{label:"Knowledge",hint:"Folders scope file_* tools. Add multiple paths with distinct labels."}),w?0===v.length?(0,d.jsx)("p",{className:"text-[12.5px] text-ink-4",children:"No folders configured."}):(0,d.jsx)("div",{className:"space-y-4 mb-4",children:v.map(a=>(0,d.jsxs)("div",{className:"rounded-lg border border-rule bg-hover/50 overflow-hidden",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3 px-3 py-2 border-b border-rule",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("span",{className:"font-mono text-[11px] font-semibold text-ink-2 mr-2",children:a.label}),(0,d.jsx)("span",{className:"font-mono text-[11.5px] text-ink-3 break-all",children:a.path})]}),(0,d.jsx)("button",{type:"button",onClick:()=>T(a.id),disabled:U,className:"shrink-0 rounded border border-rule px-2 py-0.5 text-[11px] text-err hover:border-err/40 hover:bg-err/5 disabled:opacity-50",children:"Remove"})]}),(0,d.jsxs)("div",{className:"px-3 pt-2 pb-1",children:[Y[a.label]?0===(W[a.label]??[]).length?(0,d.jsx)("p",{className:"text-[11.5px] text-ink-4 py-1",children:"No files uploaded yet."}):(0,d.jsx)("div",{className:"space-y-1 mb-2",children:(W[a.label]??[]).map(b=>(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2 rounded px-2 py-1 bg-canvas border border-rule-2 text-[11.5px]",children:[(0,d.jsx)("span",{className:"font-mono text-ink-2 truncate min-w-0",children:b.name}),(0,d.jsx)("span",{className:"shrink-0 text-ink-4",children:b.size>=1048576?`${(b.size/1024/1024).toFixed(1)} MB`:b.size>=1024?`${(b.size/1024).toFixed(0)} KB`:`${b.size} B`}),(0,d.jsx)("button",{type:"button",onClick:()=>{ad({label:a.label,name:b.name})},disabled:ae,className:"shrink-0 rounded border border-rule px-1.5 py-0.5 text-[10px] text-err hover:border-err/40 hover:bg-err/5 disabled:opacity-50",children:"Delete"})]},b.name))}):(0,d.jsx)("p",{className:"text-[11.5px] text-ink-4 py-1",children:"Loading files…"}),(0,d.jsxs)("label",{className:`flex items-center gap-2 cursor-pointer rounded-lg border border-dashed px-3 py-2 text-[12px] transition-colors mb-2
1
+ (()=>{var a={};a.id=3990,a.ids=[3990],a.modules={171:(a,b,c)=>{"use strict";c.d(b,{A:()=>h});var d=c(10476),e=c(64565),f=c(90424);let g=Array.from({length:42},(a,b)=>{let c=String(b+1).padStart(2,"0");return{id:`avatar-${c}`,url:`/avatars/avatar-${c}.png`}});function h({value:a,onChange:b,label:c="Avatar"}){let[k,l]=(0,e.useState)(!1),[m,n]=(0,e.useState)(!1);return(0,d.jsxs)("div",{children:[c&&(0,d.jsx)("label",{className:"block text-xs text-ink-3 mb-1",children:c}),(0,d.jsxs)("button",{type:"button",onClick:()=>l(!0),className:"group flex items-center gap-3 bg-hover border border-rule hover:border-rule rounded-md px-3 py-2 text-left transition-colors w-full max-w-xs",children:[(0,d.jsx)(i,{url:a,size:36}),(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsx)("p",{className:"text-sm text-ink truncate",children:a?a.split("/").pop()?.replace(".png",""):"No avatar"}),(0,d.jsxs)("p",{className:"text-[11px] text-ink-3",children:["Click to ",a?"change":"pick"]})]})]}),m&&k&&(0,f.createPortal)((0,d.jsx)("div",{role:"dialog","aria-modal":"true","aria-label":"Pick an avatar",onClick:()=>l(!1),className:"fixed inset-0 z-50 bg-black/70 backdrop-blur-sm flex items-center justify-center p-4",children:(0,d.jsxs)("div",{onClick:a=>a.stopPropagation(),className:"bg-paper border border-rule-2 rounded-2xl p-5 max-w-2xl w-full max-h-[80vh] overflow-y-auto",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold text-ink",children:"Pick an avatar"}),(0,d.jsx)("button",{type:"button",onClick:()=>l(!1),className:"text-ink-3 hover:text-ink text-xs",children:"Close (Esc)"})]}),(0,d.jsxs)("div",{className:"grid grid-cols-6 gap-3",children:[(0,d.jsx)(j,{selected:null===a,onClick:()=>void(b(null),l(!1)),label:"None",url:null}),g.map(c=>(0,d.jsx)(j,{selected:a===c.url,onClick:()=>{b(c.url),l(!1)},label:c.id,url:c.url},c.id))]})]})}),document.body)]})}function i({url:a,size:b=32}){return a?(0,d.jsx)("img",{src:a,alt:"",width:b,height:b,style:{width:b,height:b},className:"rounded-full object-cover border border-rule shrink-0"}):(0,d.jsx)("div",{style:{width:b,height:b},className:"rounded-full bg-hover border border-dashed border-rule text-ink-3 text-xs flex items-center justify-center shrink-0",children:"?"})}function j({selected:a,onClick:b,label:c,url:e}){return(0,d.jsx)("button",{type:"button",onClick:b,title:c,"aria-label":c,"aria-pressed":a,className:`aspect-square rounded-lg p-1 flex items-center justify-center transition-all ${a?"bg-ink/10 ring-2 ring-emerald-400":"bg-hover hover:bg-hover ring-1 ring-transparent hover:ring-neutral-700"}`,children:(0,d.jsx)(i,{url:e,size:56})})}},261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1708:a=>{"use strict";a.exports=require("node:process")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10693:(a,b,c)=>{"use strict";function d(a){switch(a){case"openai-compatible":return"Local LLM";case"anthropic":return"Anthropic";case"openai":return"OpenAI";case"ollama":return"Ollama";case"openrouter":return"OpenRouter";case"google":return"Google";case"mistral":return"Mistral";case"groq":return"Groq";default:return a}}c.d(b,{R:()=>d})},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11385:(a,b,c)=>{"use strict";c.d(b,{f:()=>e});var d=c(47092);let e=(0,d.createServerReference)("40b91cb5f80f8b354f7aae7cb770ab28355bb195a1",d.callServer,void 0,d.findSourceMapURL,"updateAgentAction")},12228:(a,b,c)=>{Promise.resolve().then(c.bind(c,59522))},14449:(a,b,c)=>{"use strict";c.d(b,{a:()=>d,d:()=>f});let d={gmail:"#ea4335","google-drive":"#4285f4","google-sheets":"#0f9d58","google-docs":"#4285f4","google-calendar":"#4285f4",notion:"#000000","notion-oauth":"#000000",airtable:"#f82b60","airtable-oauth":"#f82b60",github:"#24292f",linear:"#5e6ad2",hubspot:"#ff7a59",slack:"#4a154b",intercom:"#1f8ced",stripe:"#635bff",postgres:"#336791",apify:"#00aeff",firecrawl:"#f97316",tavily:"#6366f1",composio:"#000000"},e={gmail:"Gm","google-drive":"GD","google-sheets":"GS","google-docs":"GD","google-calendar":"GC",notion:"No","notion-oauth":"No",airtable:"At","airtable-oauth":"At",github:"Gh",linear:"Li",hubspot:"HS",slack:"Sl",intercom:"IC",stripe:"St",postgres:"PG",apify:"Ap",firecrawl:"FC",tavily:"Tv",composio:"Co","custom-http-mcp":"+","custom-stdio-mcp":"+","cogni-cortex":"CX"};function f(a,b){return e[a]??b.slice(0,2).toUpperCase()}},17393:a=>{"use strict";a.exports=require("mammoth")},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19199:a=>{"use strict";a.exports=require("@mendable/firecrawl-js")},20416:a=>{"use strict";a.exports=require("pdf-parse")},21820:a=>{"use strict";a.exports=require("os")},25459:a=>{"use strict";a.exports=require("apify-client")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32960:(a,b,c)=>{"use strict";c.d(b,{A:()=>h});var d=c(10476);let e={agent:"bg-agent-vivid text-[#0a0a0a]",skill:"bg-skill-vivid text-white",conn:"bg-conn-vivid text-white",ink:"bg-ink text-canvas",neutral:"bg-hover text-ink-3"},f={sm:"h-[30px] w-[30px]",md:"h-[34px] w-[34px]",lg:"h-[38px] w-[38px]",xl:"h-[42px] w-[42px]"},g={sm:"[&_svg]:h-[13px] [&_svg]:w-[13px]",md:"[&_svg]:h-[14px] [&_svg]:w-[14px]",lg:"[&_svg]:h-[16px] [&_svg]:w-[16px]",xl:"[&_svg]:h-[18px] [&_svg]:w-[18px]"};function h({variant:a,size:b="md",shape:c="round",background:i,children:j,className:k=""}){let l=i?"":e[a];return(0,d.jsx)("span",{style:i?{background:i}:void 0,className:`inline-flex shrink-0 items-center justify-center ${f[b]} ${g[b]} ${"round"===c?"rounded-full":"rounded-[9px]"} ${l} ${i?"text-white":""} ${k}`,children:j})}},33873:a=>{"use strict";a.exports=require("path")},34631:a=>{"use strict";a.exports=require("tls")},38496:a=>{"use strict";a.exports=require("@notionhq/client")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},42084:(a,b,c)=>{Promise.resolve().then(c.bind(c,52008))},43845:a=>{"use strict";a.exports=require("@tavily/core")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},48161:a=>{"use strict";a.exports=require("node:os")},51190:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i,dynamic:()=>h});var d=c(99386),e=c(95809),f=c(5786),g=c(59522);let h="force-dynamic";async function i({params:a}){let{id:b}=await a,[c,h,j]=await Promise.all([(0,f.Ro)(b),(0,f.$z)(),(0,f.oG)()]);c.ok||(0,e.redirect)("/agents");let k=j.ok?j.data:[],l=c.data,m=h.ok?h.data.filter(a=>a.id!==b):[],[n,o,p,q]=await Promise.all([(0,f.iu)(l.id),(0,f.ei)(l.id),(0,f.Jb)({limit:100}),(0,f.$5)()]),r=n.ok?n.data:[],s=o.ok?o.data:[],t=(p.ok?p.data:[]).filter(a=>a.agentId===l.id),u=(q.ok?q.data:[]).filter(a=>a.assignedAgents.some(a=>a.id===l.id));return(0,d.jsx)(g.default,{agent:l,peers:m,llmKeys:k,connectors:r,mcpServers:s,jobs:t,attachedSkills:u})}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},52008:(a,b,c)=>{"use strict";c.d(b,{default:()=>bd});var d=c(10476),e=c(64565),f=c(88831),g=c.n(f),h=c(12418),i=c(48082),j=c(96278),k=c(90656),l=c(98270),m=["axis"],n=(0,e.forwardRef)((a,b)=>e.createElement(l.P,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:m,tooltipPayloadSearcher:k.uN,categoricalChartProps:a,ref:b})),o=c(82919),p=c(93136),q=c(24275),r=c(82669),s=c(66931),t=c(93064),u=c(24101),v=c(88002),w=c(97652),x=c(68344),y=c(68240);function z(){return(z=Object.assign?Object.assign.bind():function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)({}).hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a}).apply(null,arguments)}var A=a=>{var{cx:b,cy:c,r:d,className:f}=a,g=(0,s.$)("recharts-dot",f);return(0,y.Et)(b)&&(0,y.Et)(c)&&(0,y.Et)(d)?e.createElement("circle",z({},(0,x.uZ)(a),(0,w._U)(a),{className:g,cx:b,cy:c,r:d})):null},B=c(15477),C=c(1804),D=c(3252),E=c(32040),F=["points"];function G(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function H(a){for(var b=1;b<arguments.length;b++){var c=null!=arguments[b]?arguments[b]:{};b%2?G(Object(c),!0).forEach(function(b){var d,e,f;d=a,e=b,f=c[b],(e=function(a){var b=function(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}(a,"string");return"symbol"==typeof b?b:b+""}(e))in d?Object.defineProperty(d,e,{value:f,enumerable:!0,configurable:!0,writable:!0}):d[e]=f}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):G(Object(c)).forEach(function(b){Object.defineProperty(a,b,Object.getOwnPropertyDescriptor(c,b))})}return a}function I(){return(I=Object.assign?Object.assign.bind():function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)({}).hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a}).apply(null,arguments)}function J(a){var{option:b,dotProps:c,className:d}=a;if((0,e.isValidElement)(b))return(0,e.cloneElement)(b,c);if("function"==typeof b)return b(c);var f=(0,s.$)(d,"boolean"!=typeof b?b.className:""),g=null!=c?c:{},{points:h}=g,i=function(a,b){if(null==a)return{};var c,d,e=function(a,b){if(null==a)return{};var c={};for(var d in a)if(({}).hasOwnProperty.call(a,d)){if(-1!==b.indexOf(d))continue;c[d]=a[d]}return c}(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],-1===b.indexOf(c)&&({}).propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}(g,F);return e.createElement(A,I({},i,{className:f}))}function K(a){var{points:b,dot:c,className:d,dotClassName:f,dataKey:g,baseProps:h,needClip:i,clipPathId:j,zIndex:k=E.I.scatter}=a;if(null==b||!c&&1!==b.length)return null;var l=(0,B.y$)(c),m=(0,C.y)(c),n=b.map((a,d)=>{var i,j,k=H(H(H({r:3},h),m),{},{index:d,cx:null!=(i=a.x)?i:void 0,cy:null!=(j=a.y)?j:void 0,dataKey:g,value:a.value,payload:a.payload,points:b});return e.createElement(J,{key:"dot-".concat(d),option:c,dotProps:k,className:f})}),o={};return i&&null!=j&&(o.clipPath="url(#clipPath-".concat(l?"":"dots-").concat(j,")")),e.createElement(D.g,{zIndex:k},e.createElement(u.W,I({className:d},o),n))}var L=c(94522),M=c(7830),N=c(30929),O=c(39719);function P(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function Q(a){for(var b=1;b<arguments.length;b++){var c=null!=arguments[b]?arguments[b]:{};b%2?P(Object(c),!0).forEach(function(b){var d,e,f;d=a,e=b,f=c[b],(e=function(a){var b=function(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}(a,"string");return"symbol"==typeof b?b:b+""}(e))in d?Object.defineProperty(d,e,{value:f,enumerable:!0,configurable:!0,writable:!0}):d[e]=f}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):P(Object(c)).forEach(function(b){Object.defineProperty(a,b,Object.getOwnPropertyDescriptor(c,b))})}return a}var R=a=>{var b,{point:c,childIndex:d,mainColor:f,activeDot:g,dataKey:h,clipPath:i}=a;if(!1===g||null==c.x||null==c.y)return null;var j=Q(Q(Q({},{index:d,dataKey:h,cx:c.x,cy:c.y,r:4,fill:null!=f?f:"none",strokeWidth:2,stroke:"#fff",payload:c.payload,value:c.value}),(0,x.ic)(g)),(0,w._U)(g));return b=(0,e.isValidElement)(g)?(0,e.cloneElement)(g,j):"function"==typeof g?g(j):e.createElement(A,j),e.createElement(u.W,{className:"recharts-active-dot",clipPath:i},b)};function S(a){var{points:b,mainColor:c,activeDot:d,itemDataKey:f,clipPath:g,zIndex:h=E.I.activeDot}=a,i=(0,M.G)(N.A2),j=(0,O.EI)();if(null==b||null==j)return null;var k=b.find(a=>j.includes(a.payload));return(0,y.uy)(k)?null:e.createElement(D.g,{zIndex:h},e.createElement(R,{point:k,childIndex:Number(i),mainColor:c,dataKey:f,activeDot:d,clipPath:g}))}var T=c(62902),U=c(74886),V=c(9975),W=c(6095),X=c(10083),Y=c(6405),Z=c(40349),$=c(62387),_=c(48647),aa=(a,b,c)=>(0,W.Gx)(a,"xAxis",(0,_.W)(a,b),c),ab=(a,b,c)=>(0,W.CR)(a,"xAxis",(0,_.W)(a,b),c),ac=(a,b,c)=>(0,W.Gx)(a,"yAxis",(0,_.B)(a,b),c),ad=(a,b,c)=>(0,W.CR)(a,"yAxis",(0,_.B)(a,b),c),ae=(0,V.Mz)([X.fz,aa,ac,ab,ad],(a,b,c,d,e)=>(0,L._L)(a,"xAxis")?(0,L.Hj)(b,d,!1):(0,L.Hj)(c,e,!1)),af=(0,V.Mz)([W.ld,(a,b)=>b],(a,b)=>a.filter(a=>"area"===a.type).find(a=>a.id===b)),ag=a=>{var b=(0,X.fz)(a);return(0,L._L)(b,"xAxis")?"yAxis":"xAxis"},ah=(0,V.Mz)([af,(a,b,c)=>(0,W.TC)(a,ag(a),"yAxis"===ag(a)?(0,_.B)(a,b):(0,_.W)(a,b),c)],(a,b)=>{if(null!=a&&null!=b){var c,{stackId:d}=a,e=(0,Z.x)(a);if(null!=d&&null!=e){var f=null==(c=b[d])?void 0:c.stackedData,g=null==f?void 0:f.find(a=>a.key===e);if(null!=g)return g.map(a=>[a[0],a[1]])}}}),ai=(0,V.Mz)([X.fz,aa,ac,ab,ad,ah,Y.rN,ae,af,$.vm],(a,b,c,d,e,f,g,h,i,j)=>{var k,{chartData:l,dataStartIndex:m,dataEndIndex:n}=g;if(null!=i&&("horizontal"===a||"vertical"===a)&&null!=b&&null!=c&&null!=d&&null!=e&&0!==d.length&&0!==e.length&&null!=h){var{data:o}=i;if(null!=(k=o&&o.length>0?o:null==l?void 0:l.slice(m,n+1)))return function(a){var b,{areaSettings:{connectNulls:c,baseValue:d,dataKey:e},stackedData:f,layout:g,chartBaseValue:h,xAxis:i,yAxis:j,displayedData:k,dataStartIndex:l,xAxisTicks:m,yAxisTicks:n,bandSize:o}=a,p=f&&f.length,q=((a,b,c,d,e)=>{var f=null!=c?c:b;if((0,y.Et)(f))return f;var g="horizontal"===a?e:d,h=g.scale.domain();if("number"===g.type){var i=Math.max(h[0],h[1]),j=Math.min(h[0],h[1]);return"dataMin"===f?j:"dataMax"===f||i<0?i:Math.max(Math.min(h[0],h[1]),0)}return"dataMin"===f?h[0]:"dataMax"===f?h[1]:h[0]})(g,h,d,i,j),r="horizontal"===g,s=!1,t=k.map((a,b)=>{if(p)k=f[l+b];else{var d,g,h,k,t,u=(0,L.kr)(a,e);Array.isArray(u)?(k=u,s=!0):k=[q,u]}var v=null!=(d=null==(g=k)?void 0:g[1])?d:null,w=null==v||p&&!c&&null==(0,L.kr)(a,e);return r?{x:(0,L.nb)({axis:i,ticks:m,bandSize:o,entry:a,index:b}),y:w?null:null!=(t=j.scale.map(v))?t:null,value:k,payload:a}:{x:w?null:null!=(h=i.scale.map(v))?h:null,y:(0,L.nb)({axis:j,ticks:n,bandSize:o,entry:a,index:b}),value:k,payload:a}});return b=p||s?t.map(a=>{var b,c,d=Array.isArray(a.value)?a.value[0]:null;return r?{x:a.x,y:null!=d&&null!=a.y&&null!=(c=j.scale.map(d))?c:null,payload:a.payload}:{x:null!=d&&null!=(b=i.scale.map(d))?b:null,y:a.y,payload:a.payload}}):r?j.scale.map(q):i.scale.map(q),{points:t,baseLine:null!=b?b:0,isRange:s}}({layout:a,xAxis:b,yAxis:c,xAxisTicks:d,yAxisTicks:e,dataStartIndex:m,areaSettings:i,stackedData:f,displayedData:k,chartBaseValue:j,bandSize:h})}}),aj=c(61866),ak=c(65069),al=c(84069),am=c(9455),an=c(72423),ao=c(42349),ap=c(26218),aq=c(47994),ar=c(20902),as=c(53853),at=["id"],au=["activeDot","animationBegin","animationDuration","animationEasing","connectNulls","dot","fill","fillOpacity","hide","isAnimationActive","legendType","stroke","xAxisId","yAxisId"];function av(){return(av=Object.assign?Object.assign.bind():function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)({}).hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a}).apply(null,arguments)}function aw(a,b){if(null==a)return{};var c,d,e=function(a,b){if(null==a)return{};var c={};for(var d in a)if(({}).hasOwnProperty.call(a,d)){if(-1!==b.indexOf(d))continue;c[d]=a[d]}return c}(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],-1===b.indexOf(c)&&({}).propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}function ax(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function ay(a){for(var b=1;b<arguments.length;b++){var c=null!=arguments[b]?arguments[b]:{};b%2?ax(Object(c),!0).forEach(function(b){var d,e,f;d=a,e=b,f=c[b],(e=function(a){var b=function(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}(a,"string");return"symbol"==typeof b?b:b+""}(e))in d?Object.defineProperty(d,e,{value:f,enumerable:!0,configurable:!0,writable:!0}):d[e]=f}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):ax(Object(c)).forEach(function(b){Object.defineProperty(a,b,Object.getOwnPropertyDescriptor(c,b))})}return a}function az(a,b){return a&&"none"!==a?a:b}var aA=e.memo(a=>{var{dataKey:b,data:c,stroke:d,strokeWidth:f,fill:g,name:h,hide:i,unit:j,tooltipType:k,id:l}=a,m={dataDefinedOnItem:c,getPosition:y.lQ,settings:{stroke:d,strokeWidth:f,fill:g,dataKey:b,nameKey:void 0,name:(0,L.uM)(h,b),hide:i,type:k,color:az(d,g),unit:j,graphicalItemId:l}};return e.createElement(T.r,{tooltipEntrySettings:m})});function aB(a){var{clipPathId:b,points:c,props:d}=a,{needClip:f,dot:g,dataKey:h}=d,i=(0,x.uZ)(d);return e.createElement(K,{points:c,dot:g,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:h,baseProps:i,needClip:f,clipPathId:b})}function aC(a){var{showLabels:b,children:c,points:d}=a,f=d.map(a=>{var b,c,d={x:null!=(b=a.x)?b:0,y:null!=(c=a.y)?c:0,width:0,lowerWidth:0,upperWidth:0,height:0};return ay(ay({},d),{},{value:a.value,payload:a.payload,parentViewBox:void 0,viewBox:d,fill:void 0})});return e.createElement(v.h8,{value:b?f:void 0},c)}function aD(a){var{points:b,baseLine:c,needClip:d,clipPathId:f,props:g}=a,{layout:h,type:i,stroke:j,connectNulls:k,isRange:l}=g,{id:m}=g,n=aw(g,at),o=(0,x.uZ)(n),p=(0,C.a)(n);return e.createElement(e.Fragment,null,(null==b?void 0:b.length)>1&&e.createElement(u.W,{clipPath:d?"url(#clipPath-".concat(f,")"):void 0},e.createElement(t.Ip,av({},p,{id:m,points:b,connectNulls:k,type:i,baseLine:c,layout:h,stroke:"none",className:"recharts-area-area"})),"none"!==j&&e.createElement(t.Ip,av({},o,{className:"recharts-area-curve",layout:h,type:i,connectNulls:k,fill:"none",points:b})),"none"!==j&&l&&Array.isArray(c)&&e.createElement(t.Ip,av({},o,{className:"recharts-area-curve",layout:h,type:i,connectNulls:k,fill:"none",points:c}))),e.createElement(aB,{points:b,props:n,clipPathId:f}))}function aE(a){var b,c,{alpha:d,baseLine:f,points:g,strokeWidth:h}=a,i=null==(b=g[0])?void 0:b.y,j=null==(c=g[g.length-1])?void 0:c.y;if(!(0,ao.H)(i)||!(0,ao.H)(j))return null;var k=d*Math.abs(i-j),l=Math.max(...g.map(a=>a.x||0));return((0,y.Et)(f)?l=Math.max(f,l):f&&Array.isArray(f)&&f.length&&(l=Math.max(...f.map(a=>a.x||0),l)),(0,y.Et)(l))?e.createElement("rect",{x:0,y:i<j?i:i-k,width:l+(h?parseInt("".concat(h),10):1),height:Math.floor(k)}):null}function aF(a){var b,c,{alpha:d,baseLine:f,points:g,strokeWidth:h}=a,i=null==(b=g[0])?void 0:b.x,j=null==(c=g[g.length-1])?void 0:c.x;if(!(0,ao.H)(i)||!(0,ao.H)(j))return null;var k=d*Math.abs(i-j),l=Math.max(...g.map(a=>a.y||0));return((0,y.Et)(f)?l=Math.max(f,l):f&&Array.isArray(f)&&f.length&&(l=Math.max(...f.map(a=>a.y||0),l)),(0,y.Et)(l))?e.createElement("rect",{x:i<j?i:i-k,y:0,width:k,height:Math.floor(l+(h?parseInt("".concat(h),10):1))}):null}function aG(a){var{alpha:b,layout:c,points:d,baseLine:f,strokeWidth:g}=a;return"vertical"===c?e.createElement(aE,{alpha:b,points:d,baseLine:f,strokeWidth:g}):e.createElement(aF,{alpha:b,points:d,baseLine:f,strokeWidth:g})}function aH(a){var{needClip:b,clipPathId:c,props:d,previousPointsRef:f,previousBaselineRef:g}=a,{points:h,baseLine:i,isAnimationActive:j,animationBegin:k,animationDuration:l,animationEasing:m,onAnimationStart:n,onAnimationEnd:o}=d,p=(0,e.useMemo)(()=>({points:h,baseLine:i}),[h,i]),q=(0,am.n)(p,"recharts-area-"),r=(0,X.kz)(),[s,t]=(0,e.useState)(!1),w=(0,e.useCallback)(()=>{"function"==typeof o&&o(),t(!1)},[o]),x=(0,e.useCallback)(()=>{"function"==typeof n&&n(),t(!0)},[n]);if(null==r)return null;var z=f.current,A=g.current;return e.createElement(aC,{showLabels:!s,points:h},d.children,e.createElement(ar.J,{animationId:q,begin:k,duration:l,isActive:j,easing:m,onAnimationEnd:w,onAnimationStart:x,key:q},a=>{if(z){var k,l=z.length/h.length,m=1===a?h:h.map((b,c)=>{var d=Math.floor(c*l);if(z[d]){var e=z[d];return ay(ay({},b),{},{x:(0,y.GW)(e.x,b.x,a),y:(0,y.GW)(e.y,b.y,a)})}return b});return k=(0,y.Et)(i)?(0,y.GW)(A,i,a):(0,y.uy)(i)||(0,y.M8)(i)?(0,y.GW)(A,0,a):i.map((b,c)=>{var d=Math.floor(c*l);if(Array.isArray(A)&&A[d]){var e=A[d];return ay(ay({},b),{},{x:(0,y.GW)(e.x,b.x,a),y:(0,y.GW)(e.y,b.y,a)})}return b}),a>0&&(f.current=m,g.current=k),e.createElement(aD,{points:m,baseLine:k,needClip:b,clipPathId:c,props:d})}return a>0&&(f.current=h,g.current=i),e.createElement(u.W,null,j&&e.createElement("defs",null,e.createElement("clipPath",{id:"animationClipPath-".concat(c)},e.createElement(aG,{alpha:a,points:h,baseLine:i,layout:r,strokeWidth:d.strokeWidth}))),e.createElement(u.W,{clipPath:"url(#animationClipPath-".concat(c,")")},e.createElement(aD,{points:h,baseLine:i,needClip:b,clipPathId:c,props:d})))}),e.createElement(v.qY,{label:d.label}))}function aI(a){var{needClip:b,clipPathId:c,props:d}=a,f=(0,e.useRef)(null),g=(0,e.useRef)();return e.createElement(aH,{needClip:b,clipPathId:c,props:d,previousPointsRef:f,previousBaselineRef:g})}class aJ extends e.PureComponent{render(){var{hide:a,dot:b,points:c,className:d,top:f,left:g,needClip:h,xAxisId:i,yAxisId:j,width:k,height:l,id:m,baseLine:n,zIndex:o}=this.props;if(a)return null;var p=(0,s.$)("recharts-area",d),{r:q,strokeWidth:r}=function(a){var b=(0,x.ic)(a);if(null!=b){var{r:c,strokeWidth:d}=b,e=Number(c),f=Number(d);return(Number.isNaN(e)||e<0)&&(e=3),(Number.isNaN(f)||f<0)&&(f=2),{r:e,strokeWidth:f}}return{r:3,strokeWidth:2}}(b),t=(0,B.y$)(b),v=2*q+r,w=h?"url(#clipPath-".concat(t?"":"dots-").concat(m,")"):void 0;return e.createElement(D.g,{zIndex:o},e.createElement(u.W,{className:p},h&&e.createElement("defs",null,e.createElement(U.Q,{clipPathId:m,xAxisId:i,yAxisId:j}),!t&&e.createElement("clipPath",{id:"clipPath-dots-".concat(m)},e.createElement("rect",{x:g-v/2,y:f-v/2,width:k+v,height:l+v}))),e.createElement(aI,{needClip:h,clipPathId:m,props:this.props})),e.createElement(S,{points:c,mainColor:az(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:w}),this.props.isRange&&Array.isArray(n)&&e.createElement(S,{points:n,mainColor:az(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:w}))}}var aK={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,xAxisId:0,yAxisId:0,zIndex:E.I.area};function aL(a){var b,{activeDot:c,animationBegin:d,animationDuration:f,animationEasing:g,connectNulls:h,dot:i,fill:j,fillOpacity:k,hide:l,isAnimationActive:m,legendType:n,stroke:o,xAxisId:p,yAxisId:q}=a,r=aw(a,au),s=(0,X.WX)(),t=(0,ak.fW)(),{needClip:u}=(0,U.l)(p,q),v=(0,aj.r)(),{points:w,isRange:x,baseLine:y}=null!=(b=(0,M.G)(b=>ai(b,a.id,v)))?b:{},z=(0,O.oM)();if("horizontal"!==s&&"vertical"!==s||null==z||"AreaChart"!==t&&"ComposedChart"!==t)return null;var{height:A,width:B,x:C,y:D}=z;return w&&w.length?e.createElement(aJ,av({},r,{activeDot:c,animationBegin:d,animationDuration:f,animationEasing:g,baseLine:y,connectNulls:h,dot:i,fill:j,fillOpacity:k,height:A,hide:l,layout:s,isAnimationActive:m,isRange:x,legendType:n,needClip:u,points:w,stroke:o,width:B,left:C,top:D,xAxisId:p,yAxisId:q})):null}var aM=e.memo(function(a){var b=(0,an.e)(a,aK),c=(0,aj.r)();return e.createElement(ap.x,{id:b.id,type:"area"},a=>e.createElement(e.Fragment,null,e.createElement(al.A,{legendPayload:(a=>{var{dataKey:b,name:c,stroke:d,fill:e,legendType:f,hide:g}=a;return[{inactive:g,dataKey:b,type:f,color:az(d,e),value:(0,L.uM)(c,b),payload:a}]})(b)}),e.createElement(aA,{dataKey:b.dataKey,data:b.data,stroke:b.stroke,strokeWidth:b.strokeWidth,fill:b.fill,name:b.name,hide:b.hide,unit:b.unit,tooltipType:b.tooltipType,id:a}),e.createElement(aq.p,{type:"area",id:a,data:b.data,dataKey:b.dataKey,xAxisId:b.xAxisId,yAxisId:b.yAxisId,zAxisId:0,stackId:(0,L.$8)(b.stackId),hide:b.hide,barSize:void 0,baseValue:b.baseValue,isPanorama:c,connectNulls:b.connectNulls}),e.createElement(aL,av({},b,{id:a}))))},as.P);aM.displayName="Area";var aN=c(47092);let aO=(0,aN.createServerReference)("401343decc430a309e6c0db2ea3f9a1137d4479ebf",aN.callServer,void 0,aN.findSourceMapURL,"listAgentWorkspacesAction");var aP=c(11385);let aQ=(0,aN.createServerReference)("60b0f92b15e2bce30372a5a4fe9186bbb21beeadf9",aN.callServer,void 0,aN.findSourceMapURL,"listWorkspaceFilesAction"),aR=(0,aN.createServerReference)("70cad440661d25bbe9fb3b0e0825dc58845a5b0563",aN.callServer,void 0,aN.findSourceMapURL,"uploadToWorkspaceAction"),aS=(0,aN.createServerReference)("70683c3f2187b3d2d1cc8255c499019bc9ac565083",aN.callServer,void 0,aN.findSourceMapURL,"deleteWorkspaceFileAction"),aT=(0,aN.createServerReference)("708302376a2abcc3024968ac93b059a363a0bffcc5",aN.callServer,void 0,aN.findSourceMapURL,"addAgentWorkspaceAction"),aU=(0,aN.createServerReference)("404ca955ea9c8e10b8bf9819b993fb310f53cd1a22",aN.callServer,void 0,aN.findSourceMapURL,"removeAgentWorkspaceAction");var aV=c(81850),aW=c(10693),aX=c(96638),aY=c(171),aZ=c(32960);function a$({glyph:a,name:b,description:c,meta:e,actions:f,expanded:g,className:h=""}){return(0,d.jsxs)("div",{className:`overflow-hidden rounded-[10px] border border-rule-2 bg-paper ${h}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-3.5 px-4 py-3.5",children:[a&&(0,d.jsx)("div",{className:"flex-shrink-0",children:a}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("div",{className:"text-[13.5px] font-medium leading-[1.2] text-ink",children:b}),c&&(0,d.jsx)("div",{className:"mt-0.5 truncate text-[12px] leading-[1.3] text-ink-3",children:c})]}),e&&(0,d.jsx)("div",{className:"flex-shrink-0 font-mono text-[10.5px] tracking-[0.04em] text-ink-4",children:e}),f&&(0,d.jsx)("div",{className:"flex flex-shrink-0 items-center gap-2",children:f})]}),g&&(0,d.jsx)("div",{className:"space-y-2 border-t border-rule-2 bg-canvas/40 px-4 py-3",children:g})]})}function a_({onClick:a,title:b,children:c,ariaLabel:e}){return(0,d.jsx)("button",{type:"button",onClick:a,title:b,"aria-label":e??b,className:"flex h-7 w-7 items-center justify-center rounded-md border border-rule text-ink-3 transition-colors hover:bg-hover hover:text-ink",children:c})}var a0=c(28160),a1=c(14449);let a2=(0,aN.createServerReference)("789be0082b853a6fca844b1de5f9251d626c79ffcb",aN.callServer,void 0,aN.findSourceMapURL,"setAgentConnectorAssignmentAction"),a3=(0,aN.createServerReference)("78619f4898ba05ed272de74c8fb2cc062a366d3d54",aN.callServer,void 0,aN.findSourceMapURL,"setAgentMcpServerAssignmentAction");function a4({onClick:a,href:b,children:c,className:e=""}){let f=`flex h-[42px] w-full items-center justify-center gap-2 rounded-[10px] border border-dashed border-rule bg-paper/40 text-[13px] font-medium text-ink-3 transition-colors hover:bg-paper/60 hover:text-ink-2 ${e}`,g=(0,d.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:(0,d.jsx)("path",{d:"M7 2v10M2 7h10"})});return b?(0,d.jsxs)("a",{href:b,className:f,children:[g,c]}):(0,d.jsxs)("button",{type:"button",onClick:a,className:f,children:[g,c]})}function a5({agentId:a,connectors:b,mcpServers:c}){let[f,g]=(0,e.useState)(()=>{let a=new Map;for(let c of b)a.set(c.connectorId,{assigned:c.assigned,enabledOperations:c.enabledOperations});return a}),[h,j]=(0,e.useState)(()=>{let a=new Map;for(let b of c)a.set(b.mcpServerId,{assigned:b.assigned,enabledTools:b.enabledTools});return a}),[k,l]=(0,e.useState)(new Set),m=(0,e.useRef)(new Map),n=(0,e.useCallback)((b,c,d)=>{let e=`conn:${b}`,f=m.current.get(e);f&&clearTimeout(f);let g=setTimeout(()=>{m.current.delete(e),a2(a,b,c,d).then(a=>{a.ok||i.oR.error(a.message)})},300);m.current.set(e,g)},[a]),o=(0,e.useCallback)((b,c,d)=>{let e=`mcp:${b}`,f=m.current.get(e);f&&clearTimeout(f);let g=setTimeout(()=>{m.current.delete(e),a3(a,b,c,d).then(a=>{a.ok||i.oR.error(a.message)})},300);m.current.set(e,g)},[a]);function p(a,b){g(c=>{let d=new Map(c);return d.set(a,{assigned:b,enabledOperations:null}),n(a,b,null),d}),b||s(a)}function q(a,b){j(c=>{let d=new Map(c);return d.set(a,{assigned:b,enabledTools:null}),o(a,b,null),d}),b||s(a)}function r(a){l(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})}function s(a){l(b=>{let c=new Set(b);return c.delete(a),c})}let{connected:t,available:u}=(0,e.useMemo)(()=>{let a=[],d=[];for(let c of b){let b=f.get(c.connectorId)??c,e={kind:"api",row:c};b.assigned?a.push(e):d.push(e)}for(let b of c){let c=h.get(b.mcpServerId)??b,e={kind:"mcp",row:b};c.assigned?a.push(e):d.push(e)}return{connected:a,available:d}},[b,c,f,h]);if(0===b.length&&0===c.length)return(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("p",{className:"text-[12.5px] text-ink-3",children:"No connectors or MCP servers installed on this workspace yet. Add some first; you'll then be able to attach them to this agent."}),(0,d.jsx)(a4,{href:"/connectors",children:"Browse connectors marketplace"}),(0,d.jsx)(a4,{href:"/mcp",children:"Browse MCP servers"})]});return(0,d.jsxs)("div",{className:"space-y-6",children:[(0,d.jsxs)(a6,{label:`Connected \xb7 ${t.length}`,hint:"Revoke any to detach everywhere. Per-op (API) / per-tool (MCP) whitelist via the gear icon.",children:[0===t.length&&(0,d.jsx)("p",{className:"text-[12.5px] text-ink-3",children:"No connectors or MCP servers attached to this agent yet. Pick from the list below."}),t.map(a=>v(a,!0))]}),u.length>0&&(0,d.jsx)(a6,{label:`Available on this workspace \xb7 ${u.length}`,hint:"Already installed at the workspace level; click + to attach to this agent.",children:u.map(a=>v(a,!1))}),(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(a4,{href:"/connectors",children:"Browse connectors marketplace"}),(0,d.jsx)(a4,{href:"/mcp",children:"Browse MCP servers"})]})]});function v(a,b){if("api"===a.kind){let c=a.row,e=f.get(c.connectorId)??c,h=k.has(c.connectorId),i=c.availableOperations,j=null===e.enabledOperations?`all ${i.length} ops`:`${e.enabledOperations.length} of ${i.length} ops`;return(0,d.jsx)(a$,{glyph:(0,d.jsx)(aZ.A,{variant:"conn",size:"lg",shape:"square",background:a1.a[c.slug],children:(0,d.jsx)("span",{className:"font-mono text-[10.5px] font-semibold",children:(0,a1.d)(c.slug,c.label)})}),name:(0,d.jsxs)(d.Fragment,{children:[c.label,(0,d.jsx)(a7,{kind:"API"})]}),description:c.credentialName??void 0,meta:b?j:`${i.length} ops`,actions:b?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(a_,{title:h?"Hide operations":"Configure operations",ariaLabel:"Configure",onClick:()=>r(c.connectorId),children:(0,d.jsx)(ba,{})}),(0,d.jsx)(a_,{title:"Detach from this agent",ariaLabel:"Detach",onClick:()=>p(c.connectorId,!1),children:(0,d.jsx)(bb,{})})]}):(0,d.jsx)(a_,{title:"Attach to this agent",ariaLabel:"Attach",onClick:()=>p(c.connectorId,!0),children:(0,d.jsx)(bc,{})}),expanded:b&&h?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(a8,{onClick:()=>{var a;return a=c.connectorId,void g(b=>{let c=new Map(b);return c.set(a,{assigned:!0,enabledOperations:null}),n(a,!0,null),c})},children:"Enable all"}),(0,d.jsx)(a8,{onClick:()=>p(c.connectorId,!1),children:"Uncheck all"})]}),(0,d.jsx)("div",{className:"space-y-0.5",children:i.map(a=>{let b=null===e.enabledOperations||e.enabledOperations.includes(a.slug);return(0,d.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded px-1 py-1 text-[12.5px] transition-colors hover:bg-hover",children:[(0,d.jsx)("input",{type:"checkbox",checked:b,onChange:()=>{var b,d;return b=c.connectorId,d=a.slug,void g(a=>{let c,e=a.get(b)??{assigned:!0,enabledOperations:null},f=i.map(a=>a.slug);null!==(c=null===e.enabledOperations?f.filter(a=>a!==d):e.enabledOperations.includes(d)?e.enabledOperations.filter(a=>a!==d):[...e.enabledOperations,d])&&c.length===f.length&&(c=null);let g=new Map(a);return null!==c&&0===c.length?(g.set(b,{assigned:!1,enabledOperations:null}),n(b,!1,null),s(b)):(g.set(b,{...e,enabledOperations:c}),n(b,!0,c)),g})},className:"shrink-0 accent-agent-vivid"}),(0,d.jsx)("code",{className:"shrink-0 font-mono text-[11px] text-ink-2",children:a.slug}),(0,d.jsx)(a9,{op:a}),a.description&&(0,d.jsx)("span",{className:"truncate text-[11px] italic text-ink-4",children:a.description})]},a.slug)})})]}):null},`conn:${c.connectorId}`)}let c=a.row,e=h.get(c.mcpServerId)??c,i=k.has(c.mcpServerId),l=c.availableTools.map(a=>a.name),m=null===e.enabledTools?`all ${l.length} tools`:`${e.enabledTools.length} of ${l.length} tools`;return(0,d.jsx)(a$,{glyph:(0,d.jsx)(aZ.A,{variant:"conn",size:"lg",shape:"square",children:(0,d.jsx)("span",{className:"font-mono text-[10.5px] font-semibold",children:"MCP"})}),name:(0,d.jsxs)(d.Fragment,{children:[c.label,(0,d.jsx)(a7,{kind:"MCP"})]}),meta:b?m:`${l.length} tools`,actions:b?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(a_,{title:i?"Hide tools":"Configure tools",ariaLabel:"Configure",onClick:()=>r(c.mcpServerId),children:(0,d.jsx)(ba,{})}),(0,d.jsx)(a_,{title:"Detach from this agent",ariaLabel:"Detach",onClick:()=>q(c.mcpServerId,!1),children:(0,d.jsx)(bb,{})})]}):(0,d.jsx)(a_,{title:"Attach to this agent",ariaLabel:"Attach",onClick:()=>q(c.mcpServerId,!0),children:(0,d.jsx)(bc,{})}),expanded:b&&i?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(a8,{onClick:()=>{var a;return a=c.mcpServerId,void j(b=>{let c=new Map(b);return c.set(a,{assigned:!0,enabledTools:null}),o(a,!0,null),c})},children:"Enable all"}),(0,d.jsx)(a8,{onClick:()=>q(c.mcpServerId,!1),children:"Uncheck all"})]}),(0,d.jsx)("div",{className:"space-y-0.5",children:c.availableTools.map(a=>{let b=null===e.enabledTools||e.enabledTools.includes(a.name);return(0,d.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded px-1 py-1 text-[12.5px] transition-colors hover:bg-hover",children:[(0,d.jsx)("input",{type:"checkbox",checked:b,onChange:()=>{var b,d;return b=c.mcpServerId,d=a.name,void j(a=>{let c,e=a.get(b)??{assigned:!0,enabledTools:null};null!==(c=null===e.enabledTools?l.filter(a=>a!==d):e.enabledTools.includes(d)?e.enabledTools.filter(a=>a!==d):[...e.enabledTools,d])&&c.length===l.length&&(c=null);let f=new Map(a);return null!==c&&0===c.length?(f.set(b,{assigned:!1,enabledTools:null}),o(b,!1,null),s(b)):(f.set(b,{assigned:!0,enabledTools:c}),o(b,!0,c)),f})},className:"shrink-0 accent-agent-vivid"}),(0,d.jsx)("code",{className:"shrink-0 font-mono text-[11px] text-ink-2",children:a.name}),a.description&&(0,d.jsx)("span",{className:"truncate text-[11px] italic text-ink-4",children:a.description})]},a.name)})})]}):null},`mcp:${c.mcpServerId}`)}}function a6({label:a,hint:b,children:c}){return(0,d.jsxs)("section",{className:"space-y-2",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-mono text-[10.5px] uppercase tracking-[0.12em] text-ink-4",children:a}),b&&(0,d.jsx)("p",{className:"mt-1 text-[11.5px] leading-[1.5] text-ink-3",children:b})]}),(0,d.jsx)("div",{className:"space-y-2",children:c})]})}function a7({kind:a}){return(0,d.jsx)("span",{className:"ml-2 font-mono text-[10px] uppercase tracking-[0.04em] text-ink-4",children:a})}function a8({children:a,onClick:b}){return(0,d.jsx)("button",{type:"button",onClick:b,className:"rounded border border-rule px-2 py-1 text-[11px] font-medium text-ink-3 transition-colors hover:border-rule-2 hover:text-ink",children:a})}function a9({op:a}){let b="inline-flex shrink-0 items-center rounded px-1.5 py-0.5 text-[9.5px] font-semibold uppercase tracking-wider";return"read"===a.risk?(0,d.jsx)("span",{className:`${b} bg-agent-vivid/10 text-ok`,children:"read"}):"write"===a.risk?(0,d.jsxs)("span",{className:`${b} bg-warn/10 text-warn`,children:[a.requiresApproval?"⚠ ":"","write"]}):(0,d.jsx)("span",{className:`${b} bg-warn-bg text-err`,children:"⚠ destr"})}function ba(){return(0,d.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.4",children:[(0,d.jsx)("circle",{cx:"8",cy:"8",r:"2"}),(0,d.jsx)("circle",{cx:"8",cy:"8",r:"6"})]})}function bb(){return(0,d.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.4",children:(0,d.jsx)("path",{d:"M3 3l6 6M9 3l-6 6"})})}function bc(){return(0,d.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",children:(0,d.jsx)("path",{d:"M6 2v8M2 6h8"})})}function bd({agent:a,peers:b,llmKeys:c,connectors:f,mcpServers:g,jobs:j,attachedSkills:k}){var l,m;let n=(0,h.useRouter)(),[o,p]=(0,e.useTransition)(),[q,r]=(0,e.useState)("overview"),s=(l=a.role??null,m=a.orchestratorMode??null,"orchestrator"===l&&"planner"===m?"planner":"orchestrator"===l?"router":"worker"),t=(0,e.useMemo)(()=>c.filter(a=>a.isActive),[c]),u=a.llmKeyId??t[0]?.id??"",[v,w]=(0,e.useState)(a.name),[x,y]=(0,e.useState)(a.personality??""),[z,A]=(0,e.useState)(s),[B,C]=(0,e.useState)(a.subAgentIds),[D,E]=(0,e.useState)(u),[F,G]=(0,e.useState)(a.model??""),[H,I]=(0,e.useState)(a.avatarUrl??null),[J,K]=(0,e.useState)([]),[L,M]=(0,e.useState)(!1),N=(0,e.useMemo)(()=>c.find(a=>a.id===D)??null,[c,D]),O=(0,e.useMemo)(()=>(0,aX.P)(F),[F]),P=(0,e.useMemo)(()=>t.filter(a=>(0,aX.$)(F,a.provider)),[t,F]),Q=!N||(0,aX.$)(F,N.provider),R=0===t.length,S=(a.name||a.slug).slice(0,1).toUpperCase(),T=f.filter(a=>a.assigned),U=T.length,V=g.filter(a=>a.assigned).length,W="worker"===z?0:B.length,X=(x||"").split(/\n+/).filter(Boolean)[0]?.trim()??"No description yet.",Y=j.length,Z=j.filter(a=>"completed"===a.status).length,$=v!==a.name||x!==(a.personality??"")||z!==s||JSON.stringify([...B].sort())!==JSON.stringify([...a.subAgentIds].sort())||D!==u||F!==(a.model??"")||H!==(a.avatarUrl??null);return(0,d.jsxs)("div",{className:"space-y-6",children:[(0,d.jsx)(be,{}),(0,d.jsx)(bf,{agents:[{id:a.id,name:a.name,slug:a.slug},...b],activeId:a.id}),(0,d.jsx)(bg,{initial:S,avatarUrl:H,name:a.name,personaPreview:X,role:s,slug:a.slug,model:a.model,llmKeyLabel:c.find(b=>b.id===a.llmKeyId)?.nickname??(c.find(b=>b.id===a.llmKeyId)?.provider?(0,aW.R)(c.find(b=>b.id===a.llmKeyId).provider):null),stats:{connectors:U,mcps:V,subAgents:W,skills:k.length,totalRuns:Y,successfulRuns:Z},onConfigure:()=>r("settings")}),(0,d.jsx)(bk,{tab:q,onChange:r,counts:{skills:k.length,connectors:U+V,runs:Y}}),"overview"===q&&(0,d.jsx)(bn,{jobs:j,attachedSkills:k,connectorsAssigned:T,mcpsAssignedCount:V,onOpenSkills:()=>r("skills"),onOpenConnectors:()=>r("connectors")}),"skills"===q&&(0,d.jsx)(br,{skills:k}),"connectors"===q&&(0,d.jsx)(bl,{children:(0,d.jsx)(a5,{agentId:a.id,connectors:f,mcpServers:g},a.id)}),"runs"===q&&(0,d.jsx)(a0.default,{jobs:j,agents:[{id:a.id,name:a.name,slug:a.slug},...b],agentId:a.id}),"settings"===q&&(0,d.jsx)(bs,{name:v,slug:a.slug,avatarUrl:H,personality:x,role:z,showSubAgents:"worker"!==z,subAgentIds:B,peers:b,llmKeyId:D,activeKeys:t,selectedKey:N,model:F,coherenceOk:Q,detectedProviders:O,compatibleActiveKeys:P,noLlmKeys:R,workspaces:J,workspacesLoaded:L,onWorkspacesChange:K,mcpServers:g,agentId:a.id,dirty:$,isPending:o,onChangeName:w,onChangeAvatar:I,onChangePersonality:y,onChangeRole:A,onToggleSubAgent:function(a){C(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])},onChangeLlmKey:function(a){let b=c.find(b=>b.id===a),d=N?.defaultModel??null;E(a),b?.defaultModel&&(!F||F===d)&&G(b.defaultModel)},onChangeModel:function(a){if(G(a),!N||(0,aX.$)(a,N.provider))return;let b=t.filter(b=>(0,aX.$)(a,b.provider));1===b.length&&b[0]&&(E(b[0].id),i.oR.success(`Switched provider to ${(0,aW.R)(b[0].provider)} (matches ${a})`))},onSwitchKey:E,onSave:function(){if(!Q||R||o||!$)return;let b={id:a.id,name:v,personality:x,model:F,llmKeyId:D||null,role:z,subAgentIds:"worker"===z?[]:B,avatarUrl:H};p(async()=>{let a=await (0,aP.f)(b);a.ok?(i.oR.success("Agent updated"),n.refresh()):i.oR.error(a.message)})},onReset:function(){w(a.name),y(a.personality??""),A(s),C(a.subAgentIds),E(u),G(a.model??""),I(a.avatarUrl??null)}})]})}function be(){return(0,d.jsxs)(g(),{href:"/agents",className:"inline-flex items-center gap-1.5 text-[12.5px] text-ink-3 transition-colors hover:text-ink-2",children:[(0,d.jsx)("span",{className:"text-[14px] leading-none",children:"‹"}),"Back to agents"]})}function bf({agents:a,activeId:b}){return a.length<=1?null:(0,d.jsx)("div",{className:"flex flex-wrap gap-2",children:a.map(a=>{let c=a.id===b;return(0,d.jsxs)(g(),{href:`/agents/${a.id}/edit`,className:["inline-flex h-[34px] items-center gap-2 rounded-full border px-3.5 text-[13px] font-medium transition-colors",c?"border-rule-2 bg-paper text-ink":"border-rule bg-canvas text-ink-3 hover:border-rule-2 hover:text-ink-2"].join(" "),children:[(0,d.jsx)("span",{className:"inline-block h-[7px] w-[7px] rounded-full bg-agent-vivid"}),a.name]},a.id)})})}function bg({initial:a,avatarUrl:b,name:c,personaPreview:e,role:f,slug:g,model:h,llmKeyLabel:i,stats:j,onConfigure:k}){let l=j.totalRuns>0?`${Math.round(j.successfulRuns/j.totalRuns*100)}%`:"—";return(0,d.jsxs)("div",{className:"overflow-hidden rounded-2xl border border-rule-2 bg-paper",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-5 p-6 lg:flex-row lg:items-start",children:[b?(0,d.jsx)("img",{src:b,alt:"",className:"h-[80px] w-[80px] flex-shrink-0 rounded-2xl object-cover"}):(0,d.jsx)("div",{className:"flex h-[80px] w-[80px] flex-shrink-0 items-center justify-center rounded-2xl bg-agent-vivid text-[28px] font-semibold text-canvas",children:a}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,d.jsx)("h1",{className:"m-0 text-[22px] font-semibold leading-none tracking-[-0.01em] text-ink",children:c}),(0,d.jsxs)("span",{className:"inline-flex h-[24px] items-center gap-1.5 rounded-full border border-rule-2 bg-canvas px-2.5 text-[11.5px] font-medium text-ink-3",children:[(0,d.jsx)("span",{className:"h-[6px] w-[6px] rounded-full bg-ink-3"}),"Idle"]})]}),(0,d.jsx)("p",{className:"mt-2 text-[13.5px] leading-[1.55] text-ink-3",children:e}),(0,d.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-1.5 text-[11.5px] text-ink-3",children:[h&&(0,d.jsxs)("span",{children:[(0,d.jsx)("span",{className:"text-ink-4",children:"Model:"})," ",(0,d.jsx)("code",{className:"rounded border border-rule-2 bg-canvas px-1.5 py-0.5 font-mono text-[11px] text-ink-2",children:h})]}),i&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(bh,{}),(0,d.jsxs)("span",{children:[(0,d.jsx)("span",{className:"text-ink-4",children:"LLM:"})," ",(0,d.jsx)("span",{className:"text-ink-2",children:i})]})]}),(0,d.jsx)(bh,{}),(0,d.jsxs)("span",{children:[(0,d.jsx)("span",{className:"text-ink-4",children:"Role:"})," ",(0,d.jsx)("span",{className:"capitalize text-ink-2",children:f})]}),(0,d.jsx)(bh,{}),(0,d.jsxs)("span",{className:"font-mono text-ink-4",children:["@",g]})]})]}),(0,d.jsx)("div",{className:"flex flex-shrink-0 flex-wrap gap-2",children:(0,d.jsxs)("button",{type:"button",onClick:k,className:"inline-flex h-[34px] items-center gap-1.5 rounded-lg border border-rule bg-paper px-3.5 text-[12.5px] font-medium text-ink-2 transition-colors hover:border-rule-2 hover:text-ink",children:[(0,d.jsx)(bj,{}),"Configure"]})})]}),(0,d.jsxs)("div",{className:"grid grid-cols-2 gap-2 px-6 pb-6 sm:grid-cols-3 lg:grid-cols-6",children:[(0,d.jsx)(bi,{label:"Skills",value:String(j.skills)}),(0,d.jsx)(bi,{label:"Connectors",value:String(j.connectors)}),(0,d.jsx)(bi,{label:"MCPs",value:String(j.mcps)}),(0,d.jsx)(bi,{label:"Sub-agents",value:"worker"===f?"—":String(j.subAgents),dim:"worker"===f}),(0,d.jsx)(bi,{label:"Runs",value:String(j.totalRuns),dim:0===j.totalRuns}),(0,d.jsx)(bi,{label:"Success rate",value:l,dim:0===j.totalRuns})]})]})}function bh(){return(0,d.jsx)("span",{className:"text-ink-4",children:"\xb7"})}function bi({label:a,value:b,dim:c}){return(0,d.jsxs)("div",{className:"rounded-lg border border-rule-2 bg-canvas/40 px-4 py-3",children:[(0,d.jsx)("div",{className:"font-mono text-[9.5px] uppercase tracking-[0.14em] text-ink-4",children:a}),(0,d.jsx)("div",{className:`mt-1.5 text-[20px] font-semibold leading-none tracking-[-0.01em] ${c?"text-ink-4":"text-ink"}`,children:b})]})}function bj(){return(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.4",children:[(0,d.jsx)("circle",{cx:"8",cy:"8",r:"2"}),(0,d.jsx)("path",{d:"M8 1v2M8 13v2M1 8h2M13 8h2M3.5 3.5l1.5 1.5M11 11l1.5 1.5M3.5 12.5L5 11M11 5l1.5-1.5"})]})}function bk({tab:a,onChange:b,counts:c}){let e=[{id:"overview",label:"Overview"},{id:"skills",label:"Skills",count:c.skills},{id:"connectors",label:"Connectors",count:c.connectors},{id:"runs",label:"Runs",count:c.runs},{id:"settings",label:"Settings"}];return(0,d.jsx)("div",{className:"flex gap-1 border-b border-rule-2",children:e.map(c=>{let e=a===c.id;return(0,d.jsxs)("button",{type:"button",onClick:()=>b(c.id),className:["relative -mb-px border-b-2 px-4 pt-2.5 pb-3 text-[13.5px] font-medium transition-colors",e?"border-ink text-ink":"border-transparent text-ink-3 hover:text-ink-2"].join(" "),children:[c.label,void 0!==c.count&&c.count>0&&(0,d.jsx)("span",{className:`ml-1.5 font-mono text-[10.5px] ${e?"text-ink-2":"text-ink-4"}`,children:c.count})]},c.id)})})}function bl({children:a}){return(0,d.jsx)("div",{className:"rounded-2xl border border-rule-2 bg-paper p-6",children:a})}function bm({label:a,hint:b,right:c}){return(0,d.jsxs)("div",{className:"mb-4 flex items-start justify-between gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-mono text-[10.5px] uppercase tracking-[0.12em] text-ink-4",children:a}),b&&(0,d.jsx)("p",{className:"mt-1 text-[12px] leading-[1.5] text-ink-3",children:b})]}),c]})}function bn({jobs:a,attachedSkills:b,connectorsAssigned:c,mcpsAssignedCount:e,onOpenSkills:f,onOpenConnectors:h}){let i=b.length>0,j=c.length>0;return(0,d.jsxs)("div",{className:"space-y-6",children:[(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-3",children:[(0,d.jsx)("div",{className:"lg:col-span-2",children:(0,d.jsx)(bl,{children:(0,d.jsx)(bo,{jobs:a})})}),(0,d.jsxs)(bl,{children:[(0,d.jsx)(bm,{label:`Connectors used \xb7 ${c.length}`,right:j?(0,d.jsx)("button",{type:"button",onClick:h,className:"text-[11.5px] text-ink-3 underline hover:text-ink-2",children:"Manage"}):void 0}),j?(0,d.jsx)("div",{className:"space-y-2",children:c.map(a=>(0,d.jsx)(bq,{row:a},a.connectorId))}):(0,d.jsxs)("p",{className:"text-[12.5px] text-ink-3",children:["No connectors assigned yet."," ",(0,d.jsx)("button",{type:"button",onClick:h,className:"underline hover:text-ink-2",children:"Wire one →"})]}),e>0&&(0,d.jsxs)("p",{className:"mt-3 border-t border-rule-2 pt-3 text-[11.5px] text-ink-4",children:["+ ",e," MCP server",e>1?"s":""," attached (Settings → Knowledge)."]})]})]}),(0,d.jsxs)(bl,{children:[(0,d.jsx)(bm,{label:`Skills attached \xb7 ${b.length}`,right:i?(0,d.jsx)("button",{type:"button",onClick:f,className:"text-[11.5px] text-ink-3 underline hover:text-ink-2",children:"Manage"}):void 0}),i?(0,d.jsx)("div",{className:"grid grid-cols-1 gap-2 lg:grid-cols-2 xl:grid-cols-3",children:b.map(a=>(0,d.jsx)(bp,{skill:a},a.id))}):(0,d.jsxs)("p",{className:"text-[12.5px] text-ink-3",children:["No skills attached yet. Read-only view — manage on the"," ",(0,d.jsx)(g(),{href:"/skills",className:"underline hover:text-ink-2",children:"Skills page"}),"."]})]})]})}function bo({jobs:a}){let{data:b,total:c}=(0,e.useMemo)(()=>{let b=new Date;b.setHours(0,0,0,0);let c=[];for(let a=6;a>=0;a-=1){let d=new Date(b.getTime()-864e5*a);c.push({day:d.toLocaleDateString("en-US",{weekday:"short"}),iso:d.toISOString().slice(0,10),runs:0})}let d=new Map(c.map(a=>[a.iso,a])),e=0;for(let b of a){if("completed"!==b.status||!b.createdAt)continue;let a="string"==typeof b.createdAt?new Date(b.createdAt):b.createdAt,c=new Date(a.getFullYear(),a.getMonth(),a.getDate()).toISOString().slice(0,10),f=d.get(c);f&&(f.runs+=1,e+=1)}return{data:c,total:e}},[a]);return(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"mb-3 flex items-baseline gap-2",children:(0,d.jsx)("span",{className:"font-mono text-[10.5px] uppercase tracking-[0.12em] text-ink-4",children:"Runs \xb7 7 days"})}),(0,d.jsxs)("div",{className:"mb-4 flex items-baseline gap-3",children:[(0,d.jsx)("span",{className:"text-[34px] font-semibold leading-none tracking-[-0.015em] text-ink",children:c.toLocaleString()}),(0,d.jsxs)("span",{className:"text-[13.5px] text-ink-3",children:["successful run",1===c?"":"s"]})]}),(0,d.jsx)("div",{className:"h-[200px]",children:(0,d.jsx)(j.u,{width:"100%",height:"100%",children:(0,d.jsxs)(n,{data:b,margin:{top:6,right:10,left:-20,bottom:0},children:[(0,d.jsx)("defs",{children:(0,d.jsxs)("linearGradient",{id:"agentWeeklyFill",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,d.jsx)("stop",{offset:"0%",stopColor:"var(--c-agent-vivid)",stopOpacity:.55}),(0,d.jsx)("stop",{offset:"100%",stopColor:"var(--c-agent-vivid)",stopOpacity:.05})]})}),(0,d.jsx)(o.d,{stroke:"var(--c-rule-2)",vertical:!1}),(0,d.jsx)(p.W,{dataKey:"day",stroke:"var(--c-ink-4)",tick:{fill:"var(--c-ink-4)",fontSize:11},axisLine:!1,tickLine:!1}),(0,d.jsx)(q.h,{stroke:"var(--c-ink-4)",tick:{fill:"var(--c-ink-4)",fontSize:11},axisLine:!1,tickLine:!1,allowDecimals:!1}),(0,d.jsx)(r.m,{cursor:{stroke:"var(--c-ink-4)",strokeDasharray:"3 3"},contentStyle:{background:"var(--c-paper)",border:"1px solid var(--c-rule)",borderRadius:10,fontSize:12,color:"var(--c-ink)",boxShadow:"0 6px 20px rgba(0,0,0,0.08)"},labelStyle:{color:"var(--c-ink-3)"}}),(0,d.jsx)(aM,{type:"monotone",dataKey:"runs",stroke:"var(--c-agent-vivid)",strokeWidth:2,fill:"url(#agentWeeklyFill)"})]})})})]})}function bp({skill:a}){return(0,d.jsx)(a$,{glyph:(0,d.jsx)(aZ.A,{variant:"skill",size:"lg",shape:"square",children:(0,d.jsx)("span",{className:"font-mono text-[10.5px] font-semibold uppercase",children:a.slug.slice(0,2)})}),name:a.name,description:a.description??void 0,meta:`@${a.slug}`,actions:(0,d.jsx)(g(),{href:`/skills/${a.id}/edit`,className:"flex h-7 items-center gap-1 rounded-md border border-rule px-2 text-[11px] font-medium text-ink-3 transition-colors hover:border-rule-2 hover:text-ink",children:"Open ›"})})}function bq({row:a}){return(0,d.jsx)(a$,{glyph:(0,d.jsx)(aZ.A,{variant:"conn",size:"lg",shape:"square",background:a1.a[a.slug],children:(0,d.jsx)("span",{className:"font-mono text-[10.5px] font-semibold",children:(0,a1.d)(a.slug,a.label)})}),name:(0,d.jsxs)(d.Fragment,{children:[a.label,(0,d.jsx)("span",{className:"ml-2 font-mono text-[10px] uppercase tracking-[0.04em] text-ink-4",children:a.slug.toUpperCase()})]}),description:a.credentialName??void 0,actions:(0,d.jsxs)("span",{className:"inline-flex items-center gap-1.5 font-mono text-[10px] uppercase tracking-[0.08em] text-ink-3",children:[(0,d.jsx)("span",{className:"h-[6px] w-[6px] rounded-full bg-agent-vivid"}),"on"]})})}function br({skills:a}){return 0===a.length?(0,d.jsx)(bl,{children:(0,d.jsx)(bm,{label:"No skills attached",hint:"Read-only view. Manage attachments on the /skills page."})}):(0,d.jsxs)(bl,{children:[(0,d.jsx)(bm,{label:`Attached \xb7 ${a.length}`}),(0,d.jsx)("div",{className:"space-y-2",children:a.map(a=>(0,d.jsx)(bp,{skill:a},a.id))})]})}function bs(a){let{name:b,slug:c,avatarUrl:f,personality:h,role:j,showSubAgents:k,subAgentIds:l,peers:m,llmKeyId:n,activeKeys:o,selectedKey:p,model:q,coherenceOk:r,detectedProviders:s,compatibleActiveKeys:t,noLlmKeys:u,workspaces:v,workspacesLoaded:w,onWorkspacesChange:x,mcpServers:y,agentId:z,dirty:A,isPending:B,onChangeName:C,onChangeAvatar:D,onChangePersonality:E,onChangeRole:F,onToggleSubAgent:G,onChangeLlmKey:H,onChangeModel:I,onSwitchKey:J,onSave:K,onReset:L}=a,[M,N]=(0,e.useState)(""),[O,P]=(0,e.useState)(""),[Q,R]=(0,e.useState)(!1),[S,T]=(0,e.useState)(null),[U,V]=(0,e.useTransition)(),[W,X]=(0,e.useState)({}),[Y,Z]=(0,e.useState)({}),[$,_]=(0,e.useState)(""),[aa,ab]=(0,e.useState)(!1),[ac,ad]=(0,e.useState)(null),[ae,af]=(0,e.useTransition)();async function ag(a,b){ab(!0);let c=new FormData;c.append("file",b);let d=await aR(z,a,c);if(ab(!1),!d.ok)return void i.oR.error(d.message);i.oR.success(`Uploaded ${d.data.filename}`);let e=await aQ(z,a);e.ok&&X(b=>({...b,[a]:e.data}))}return(0,d.jsxs)("div",{className:"space-y-6 pb-24",children:[(0,d.jsxs)(bl,{children:[(0,d.jsx)(bm,{label:"Identity",hint:"Slug is immutable. Avatar is used across the app."}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2",children:[(0,d.jsx)(bt,{label:"Name",children:(0,d.jsx)("input",{type:"text",value:b,onChange:a=>C(a.target.value),placeholder:"Agent name",className:"w-full rounded-lg border border-rule bg-canvas px-3 py-2 text-[13px] text-ink placeholder:text-ink-4 focus:border-ink-3 focus:outline-none"})}),(0,d.jsx)(bt,{label:"Slug (read-only)",children:(0,d.jsx)("code",{className:"block w-full rounded-lg border border-rule-2 bg-hover px-3 py-2 font-mono text-[11.5px] tracking-[0.02em] text-ink-3",children:c})}),(0,d.jsx)("div",{className:"sm:col-span-2",children:(0,d.jsx)(bt,{label:"Avatar",children:(0,d.jsx)(aY.A,{value:f,onChange:D})})})]})]}),(0,d.jsxs)(bl,{children:[(0,d.jsx)(bm,{label:"Behavior",hint:"Persona is the system prompt. Updating it invalidates the prompt cache for new jobs."}),(0,d.jsx)(bt,{label:"Persona / system prompt",children:(0,d.jsx)("textarea",{value:h,onChange:a=>E(a.target.value),rows:24,placeholder:"You are a helpful assistant…",className:"min-h-[560px] w-full resize-y rounded-lg border border-rule bg-canvas px-3 py-2 font-mono text-[12.5px] leading-[1.55] text-ink placeholder:text-ink-4 focus:border-ink-3 focus:outline-none"})}),(0,d.jsx)("div",{className:"mt-4",children:(0,d.jsx)(bt,{label:"Role",children:(0,d.jsxs)("select",{value:j,onChange:a=>F(a.target.value),className:"w-full rounded-lg border border-rule bg-canvas px-3 py-2 text-[13px] text-ink focus:border-ink-3 focus:outline-none",children:[(0,d.jsx)("option",{value:"worker",children:"Worker — runs its own tools"}),(0,d.jsx)("option",{value:"router",children:"Router — delegates one at a time"}),(0,d.jsx)("option",{value:"planner",children:"Planner — parallel sub-agents"})]})})}),k&&(0,d.jsx)("div",{className:"mt-4",children:(0,d.jsx)(bt,{label:`Sub-agents \xb7 ${l.length} selected`,children:0===m.length?(0,d.jsx)("p",{className:"text-[12.5px] text-warn",children:"Create at least one worker agent first — orchestrators need someone to delegate to."}):(0,d.jsx)("div",{className:"divide-y divide-rule-2 overflow-hidden rounded-lg border border-rule-2 bg-canvas/30",children:m.map(a=>{let b=l.includes(a.id);return(0,d.jsxs)("label",{className:"flex cursor-pointer items-center gap-3 px-3 py-2 text-[13px] transition-colors hover:bg-hover",children:[(0,d.jsx)("input",{type:"checkbox",checked:b,onChange:()=>G(a.id),className:"accent-agent-vivid"}),(0,d.jsx)("span",{className:"text-ink",children:a.name}),(0,d.jsx)("span",{className:"ml-auto font-mono text-[11px] text-ink-3",children:a.slug})]},a.id)})})})})]}),(0,d.jsxs)(bl,{children:[(0,d.jsx)(bm,{label:"Model",hint:"LLM key + model identifier passed to the runner."}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2",children:[(0,d.jsx)(bt,{label:"LLM provider",children:u?(0,d.jsxs)("p",{className:"text-[12.5px] text-warn",children:["No active LLM keys."," ",(0,d.jsx)(g(),{href:"/llm-providers",className:"underline",children:"Add one"}),"."]}):(0,d.jsx)("select",{value:n,onChange:a=>H(a.target.value),className:"w-full rounded-lg border border-rule bg-canvas px-3 py-2 text-[13px] text-ink focus:border-ink-3 focus:outline-none",children:o.map(a=>(0,d.jsx)("option",{value:a.id,children:(a.nickname??(0,aW.R)(a.provider))+" ("+(0,aW.R)(a.provider)+")"},a.id))})}),(0,d.jsx)(bt,{label:"Model",children:(0,d.jsx)("input",{type:"text",value:q,onChange:a=>I(a.target.value),placeholder:p?.defaultModel??"e.g. claude-haiku-4-5-20251001",className:"w-full rounded-lg border border-rule bg-canvas px-3 py-2 font-mono text-[12.5px] text-ink placeholder:text-ink-4 focus:border-ink-3 focus:outline-none"})})]}),!r&&p&&(0,d.jsxs)("div",{role:"alert","data-testid":"model-provider-mismatch",className:"mt-3 space-y-1 rounded-lg border border-warn/30 bg-warn-bg px-3 py-2 text-[12px] text-warn",children:[(0,d.jsxs)("p",{children:[(0,d.jsx)("span",{className:"font-semibold",children:"Provider mismatch:"})," ",(0,d.jsx)("span",{className:"font-mono",children:q})," looks like it needs"," ",(0,d.jsx)("span",{className:"font-semibold",children:Array.from(s).map(a=>(0,aW.R)(a)).join(" or ")}),", but your selected key is"," ",(0,d.jsx)("span",{className:"font-semibold",children:(0,aW.R)(p.provider)}),"."]}),t.length>0?(0,d.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,d.jsx)("span",{className:"text-warn/80",children:"Switch to:"}),t.map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>J(a.id),className:"rounded border border-warn/30 px-1.5 py-0.5 text-[11px] font-medium text-warn hover:bg-warn-bg",children:[a.nickname??(0,aW.R)(a.provider)," (",(0,aW.R)(a.provider),")"]},a.id))]}):(0,d.jsxs)("p",{children:["No compatible active key."," ",(0,d.jsx)(g(),{href:"/llm-providers",className:"underline hover:text-warn",children:"Add one"}),"."]})]})]}),(0,d.jsxs)(bl,{children:[(0,d.jsx)(bm,{label:"Knowledge",hint:"Folders scope file_* tools. Add multiple paths with distinct labels."}),w?0===v.length?(0,d.jsx)("p",{className:"text-[12.5px] text-ink-4",children:"No folders configured."}):(0,d.jsx)("div",{className:"space-y-4 mb-4",children:v.map(a=>(0,d.jsxs)("div",{className:"rounded-lg border border-rule bg-hover/50 overflow-hidden",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3 px-3 py-2 border-b border-rule",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("span",{className:"font-mono text-[11px] font-semibold text-ink-2 mr-2",children:a.label}),(0,d.jsx)("span",{className:"font-mono text-[11.5px] text-ink-3 break-all",children:a.path})]}),(0,d.jsx)("button",{type:"button",onClick:()=>T(a.id),disabled:U,className:"shrink-0 rounded border border-rule px-2 py-0.5 text-[11px] text-err hover:border-err/40 hover:bg-err/5 disabled:opacity-50",children:"Remove"})]}),(0,d.jsxs)("div",{className:"px-3 pt-2 pb-1",children:[Y[a.label]?0===(W[a.label]??[]).length?(0,d.jsx)("p",{className:"text-[11.5px] text-ink-4 py-1",children:"No files uploaded yet."}):(0,d.jsx)("div",{className:"space-y-1 mb-2",children:(W[a.label]??[]).map(b=>(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2 rounded px-2 py-1 bg-canvas border border-rule-2 text-[11.5px]",children:[(0,d.jsx)("span",{className:"font-mono text-ink-2 truncate min-w-0",children:b.name}),(0,d.jsx)("span",{className:"shrink-0 text-ink-4",children:b.size>=1048576?`${(b.size/1024/1024).toFixed(1)} MB`:b.size>=1024?`${(b.size/1024).toFixed(0)} KB`:`${b.size} B`}),(0,d.jsx)("button",{type:"button",onClick:()=>{ad({label:a.label,name:b.name})},disabled:ae,className:"shrink-0 rounded border border-rule px-1.5 py-0.5 text-[10px] text-err hover:border-err/40 hover:bg-err/5 disabled:opacity-50",children:"Delete"})]},b.name))}):(0,d.jsx)("p",{className:"text-[11.5px] text-ink-4 py-1",children:"Loading files…"}),(0,d.jsxs)("label",{className:`flex items-center gap-2 cursor-pointer rounded-lg border border-dashed px-3 py-2 text-[12px] transition-colors mb-2
2
2
  ${aa&&$===a.label?"border-ink-3 text-ink-3 bg-hover":"border-rule text-ink-4 hover:border-ink-3 hover:text-ink-3"}`,children:[(0,d.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"shrink-0",children:[(0,d.jsx)("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),(0,d.jsx)("polyline",{points:"17 8 12 3 7 8"}),(0,d.jsx)("line",{x1:"12",y1:"3",x2:"12",y2:"15"})]}),aa&&$===a.label?"Uploading…":"Upload file (.docx .xlsx .pptx .pdf .txt .md .csv — max 25 MB)",(0,d.jsx)("input",{type:"file",className:"sr-only",accept:".docx,.xlsx,.pptx,.pdf,.txt,.md,.csv",disabled:aa,onChange:b=>{let c=b.target.files?.[0];c&&(b.target.value="",_(a.label),ag(a.label,c))}})]})]})]},a.id))}):(0,d.jsx)("p",{className:"text-[12.5px] text-ink-4",children:"Loading…"}),(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(bt,{label:"Add folder",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("input",{type:"text",value:M,onChange:a=>N(a.target.value),placeholder:"Label (e.g. notes)",maxLength:80,className:"w-28 shrink-0 rounded-lg border border-rule bg-canvas px-3 py-2 font-mono text-[12.5px] text-ink placeholder:text-ink-4 focus:border-ink-3 focus:outline-none"}),(0,d.jsx)("input",{type:"text",value:O,onChange:a=>P(a.target.value),placeholder:"/home/you/notes or C:\\Users\\you\\docs",className:"min-w-0 flex-1 rounded-lg border border-rule bg-canvas px-3 py-2 font-mono text-[12.5px] text-ink placeholder:text-ink-4 focus:border-ink-3 focus:outline-none"}),(0,d.jsx)("button",{type:"button",onClick:function(){M.trim()&&O.trim()&&V(async()=>{R(!0);let a=await aT(z,M.trim(),O.trim());if(R(!1),!a.ok)return void i.oR.error(a.message);let b=await aO(z);b.ok&&x(b.data),N(""),P(""),i.oR.success("Folder added")})},disabled:U||Q||!M.trim()||!O.trim(),className:"shrink-0 rounded-lg border border-rule px-4 py-2 text-[13px] font-medium text-ink-2 hover:border-rule-2 hover:text-ink disabled:cursor-not-allowed disabled:opacity-50",children:Q?"Adding…":"Add"})]})}),(0,d.jsxs)("p",{className:"text-[11px] text-ink-4",children:["Absolute path. Label is the prefix the agent uses (e.g."," ",(0,d.jsx)("code",{className:"font-mono",children:"notes/file.md"}),"). Leave label blank if a single folder — label is then optional."]})]}),(0,d.jsx)(aV.A,{open:null!==S,title:"Remove folder",message:"The agent will lose file access to this path. Existing files are NOT deleted.",confirmLabel:"Remove",destructive:!0,onConfirm:()=>S&&void V(async()=>{let a=await aU(S);if(T(null),!a.ok)return void i.oR.error(a.message);let b=await aO(z);b.ok&&x(b.data),i.oR.success("Folder removed")}),onCancel:()=>T(null)}),(0,d.jsx)(aV.A,{open:null!==ac,title:"Delete file",message:ac?`Delete "${ac.name}" from folder "${ac.label}"? This cannot be undone.`:"",confirmLabel:"Delete",destructive:!0,onConfirm:function(){if(!ac)return;let{label:a,name:b}=ac;af(async()=>{ad(null);let c=await aS(z,a,b);if(!c.ok)return void i.oR.error(c.message);i.oR.success(`Deleted ${b}`);let d=await aQ(z,a);d.ok&&X(b=>({...b,[a]:d.data}))})},onCancel:()=>ad(null)})]}),(0,d.jsxs)("div",{className:"sticky bottom-4 z-10 flex items-center justify-between gap-3 rounded-2xl border border-rule-2 bg-paper px-4 py-3 shadow-lg",children:[(0,d.jsx)("div",{className:"text-[12.5px] text-ink-3",children:A?(0,d.jsxs)("span",{children:[(0,d.jsx)("span",{className:"mr-1.5 inline-block h-[7px] w-[7px] rounded-full bg-skill-vivid"}),"Unsaved changes"]}):(0,d.jsx)("span",{className:"text-ink-4",children:"No changes"})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:L,disabled:B||!A,className:"rounded-lg border border-rule px-4 py-2 text-[13px] font-medium text-ink-3 transition-colors hover:border-rule-2 hover:text-ink-2 disabled:cursor-not-allowed disabled:opacity-50",children:"Reset"}),(0,d.jsx)("button",{type:"button",onClick:K,disabled:B||u||!r||!A,title:r?A?void 0:"No changes to save":"Pick a key that matches the model first",className:"rounded-lg bg-ink px-5 py-2 text-[13px] font-semibold text-canvas transition-colors hover:brightness-[0.92] disabled:cursor-not-allowed disabled:opacity-50",children:B?"Saving…":"Save"})]})]})]})}function bt({label:a,children:b}){return(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)("label",{className:"font-mono text-[10px] uppercase tracking-[0.1em] text-ink-4",children:a}),(0,d.jsx)("div",{children:b})]})}},55511:a=>{"use strict";a.exports=require("crypto")},57075:a=>{"use strict";a.exports=require("node:stream")},59522:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(49554).registerClientReference)(function(){throw Error("Attempted to call the default export of \"D:\\\\APPS\\\\NodalAI\\\\apps\\\\web\\\\src\\\\app\\\\(dashboard)\\\\agents\\\\[id]\\\\edit\\\\AgentComposer.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"D:\\APPS\\NodalAI\\apps\\web\\src\\app\\(dashboard)\\agents\\[id]\\edit\\AgentComposer.tsx","default")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63850:a=>{"use strict";a.exports=require("googleapis")},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73024:a=>{"use strict";a.exports=require("node:fs")},74998:a=>{"use strict";a.exports=require("perf_hooks")},76760:a=>{"use strict";a.exports=require("node:path")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77598:a=>{"use strict";a.exports=require("node:crypto")},78608:a=>{"use strict";a.exports=require("exceljs")},79646:a=>{"use strict";a.exports=require("child_process")},79748:a=>{"use strict";a.exports=require("fs/promises")},81850:(a,b,c)=>{"use strict";c.d(b,{A:()=>g});var d=c(10476),e=c(64565),f=c(90424);function g({open:a,title:b,message:c,confirmLabel:h="Confirm",cancelLabel:i="Cancel",destructive:j=!0,onConfirm:k,onCancel:l}){let m=(0,e.useRef)(null),[n,o]=(0,e.useState)(!1);return a&&n?(0,f.createPortal)((0,d.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":"confirm-dialog-title",className:"fixed inset-0 z-50 flex items-center justify-center px-4 text-left",children:[(0,d.jsx)("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:l,"aria-hidden":"true"}),(0,d.jsxs)("div",{className:"relative bg-paper border border-rule-2 rounded-xl p-6 max-w-md w-full shadow-2xl",children:[(0,d.jsx)("h2",{id:"confirm-dialog-title",className:"text-base font-semibold text-ink",children:b}),c&&(0,d.jsx)("p",{className:"mt-2 text-sm text-ink-3 leading-relaxed",children:c}),(0,d.jsxs)("div",{className:"mt-6 flex justify-end gap-2",children:[(0,d.jsx)("button",{ref:m,type:"button",onClick:l,className:"px-4 py-2 text-sm font-medium border border-rule text-ink-2 rounded-lg hover:border-rule hover:text-ink transition-colors",children:i}),(0,d.jsx)("button",{type:"button",onClick:k,className:`px-4 py-2 text-sm font-semibold rounded-lg transition-colors ${j?"bg-err hover:brightness-[0.94] text-ink":"bg-ink hover:brightness-[0.92] text-canvas"}`,children:h})]})]})]}),document.body):null}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91645:a=>{"use strict";a.exports=require("net")},95903:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(37610),e=c(55117),f=c(57235),g=c(65044),h=c(71822),i=c(72320),j=c(60447),k=c(51932),l=c(44834),m=c(95752),n=c(75118),o=c(74722),p=c(24476),q=c(41309),r=c(261),s=c(36805),t=c(78026),u=c(26713),v=c(44556),w=c(21517),x=c(96113),y=c(2118),z=c(77274),A=c(94390),B=c(88158),C=c(86439),D=c(77068),E=c(16158),F=c(61826),G=c(33818),H=c(32179),I=c(70722),J=c(55006),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["(dashboard)",{children:["agents",{children:["[id]",{children:["edit",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,51190)),"D:\\APPS\\NodalAI\\apps\\web\\src\\app\\(dashboard)\\agents\\[id]\\edit\\page.tsx"]}]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,61186,23)),"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,61186,23)),"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,61186,23)),"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,42705)),"D:\\APPS\\NodalAI\\apps\\web\\src\\app\\(dashboard)\\layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,61186,23)),"next/dist/client/components/builtin/global-error.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,17933,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,42992,23)),"next/dist/client/components/builtin/unauthorized.js"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,70615)),"D:\\APPS\\NodalAI\\apps\\web\\src\\app\\layout.tsx"],error:[()=>Promise.resolve().then(c.bind(c,84327)),"D:\\APPS\\NodalAI\\apps\\web\\src\\app\\error.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,61186,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.bind(c,49269)),"D:\\APPS\\NodalAI\\apps\\web\\src\\app\\not-found.tsx"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,17933,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,42992,23)),"next/dist/client/components/builtin/unauthorized.js"]},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/(dashboard)/agents/[id]/edit/page",pathname:"/agents/[id]/edit",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/(dashboard)/agents/[id]/edit/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(27323).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
3
3
  see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},96638:(a,b,c)=>{"use strict";c.d(b,{$:()=>f,P:()=>e});let d=new Set(["ollama","openai-compatible"]);function e(a){let b=a.trim().toLowerCase();if(0===b.length)return new Set;let c=new Set;return b.includes("/")?c.add("openrouter"):b.startsWith("claude")?c.add("anthropic"):b.startsWith("gpt")||b.startsWith("chatgpt")||/^o[134](?:[-_]|$)/.test(b)?c.add("openai"):b.startsWith("gemini")?c.add("google"):b.startsWith("gemma")?(c.add("google"),c.add("ollama"),c.add("openai-compatible")):b.startsWith("mistral")||b.startsWith("codestral")||b.startsWith("pixtral")||b.startsWith("magistral")||b.startsWith("ministral")||b.startsWith("mixtral")?c.add("mistral"):(b.startsWith("llama")||b.startsWith("qwen")||b.startsWith("deepseek"))&&(c.add("ollama"),c.add("openai-compatible"),c.add("groq")),c}function f(a,b){if(0===a.trim().length||d.has(b))return!0;let c=e(a);return 0===c.size||c.has(b)}}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4674,3159,8437,7826,6402,8464,6937,4155,234,4574,7741,1248],()=>b(b.s=95903));module.exports=c})();