@jx0/agency 0.2.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +120 -52
- package/dashboard/out/404.html +1 -1
- package/dashboard/out/_next/static/chunks/app/_not-found/{page-ad40673d821037f6.js → page-5cb94002960ab71a.js} +1 -1
- package/dashboard/out/_next/static/chunks/app/layout-6249f74085ad56b1.js +1 -0
- package/dashboard/out/_next/static/chunks/app/page-0a5ee03ddf4553ab.js +1 -0
- package/dashboard/out/_next/static/chunks/{main-app-1d848b791b823fa6.js → main-app-0398d52862f5c730.js} +1 -1
- package/dashboard/out/_next/static/css/a13af72b10a7d74f.css +1 -0
- package/dashboard/out/index.html +1 -1
- package/dashboard/out/index.txt +4 -4
- package/docs/images/agency_cli_ps.png +0 -0
- package/docs/images/agency_ui_ai_prodivder_settings.png +0 -0
- package/docs/images/agency_ui_aws_settings.png +0 -0
- package/docs/images/agency_ui_identity_settings.png +0 -0
- package/docs/images/agency_ui_import_skills.jpeg +0 -0
- package/docs/images/agency_ui_knowledge.png +0 -0
- package/docs/images/agency_ui_mission_control.png +0 -0
- package/docs/images/agency_ui_skills_marketplace.png +0 -0
- package/docs/images/agent_ui_agent_config.png +0 -0
- package/package.json +1 -1
- package/src/api/db/migrations/004_nullable_human_refs.ts +129 -0
- package/src/api/db/migrations/005_agent_skills.ts +14 -0
- package/src/api/db/migrations/006_runtime_machine.ts +24 -0
- package/src/api/db/seed.ts +62 -46
- package/src/api/index.ts +11 -4
- package/src/api/lib/deploy.ts +412 -0
- package/src/api/lib/env-vars.ts +19 -0
- package/src/api/lib/exec.ts +77 -0
- package/src/api/lib/fleet-sync.ts +49 -32
- package/src/api/lib/fs-store.ts +350 -0
- package/src/api/lib/import-skills.ts +105 -0
- package/src/api/lib/metrics.ts +183 -0
- package/src/api/lib/processes.ts +82 -12
- package/src/api/lib/provision-openclaw.ts +376 -0
- package/src/api/lib/remote-deploy.ts +77 -0
- package/src/api/lib/ssh.ts +97 -0
- package/src/api/lib/sync-skills.ts +171 -0
- package/src/api/lib/tunnels.ts +7 -38
- package/src/api/routes/agents.ts +184 -132
- package/src/api/routes/documents.ts +24 -5
- package/src/api/routes/knowledge.ts +7 -5
- package/src/api/routes/machines.ts +107 -0
- package/src/api/routes/messages.ts +23 -19
- package/src/api/routes/repos.ts +74 -0
- package/src/api/routes/role-configs.ts +29 -46
- package/src/api/routes/skills.ts +198 -40
- package/src/api/routes/tasks.ts +24 -11
- package/src/cli/commands/init.ts +47 -18
- package/src/cli/commands/machines.ts +97 -0
- package/src/cli/commands/ps.ts +6 -4
- package/src/cli/commands/repos.ts +78 -0
- package/src/cli/commands/ssh.ts +14 -36
- package/src/cli/index.ts +5 -1
- package/src/daemon.ts +120 -1
- package/src/templates/solo/agents-config.md +39 -0
- package/src/templates/solo/agents.md +41 -0
- package/src/templates/solo/heartbeat.md +48 -0
- package/src/templates/solo/tools.md +35 -0
- package/dashboard/out/_next/static/chunks/app/layout-056f12675e691d12.js +0 -1
- package/dashboard/out/_next/static/chunks/app/page-80f01fdbb09b43c8.js +0 -1
- package/dashboard/out/_next/static/css/27d1ea794f04e96a.css +0 -1
- /package/dashboard/out/_next/static/{BRrkKiSxqTmex5oLQlOY5 → TCwq0pYHnHPlPIcOGjzu7}/_buildManifest.js +0 -0
- /package/dashboard/out/_next/static/{BRrkKiSxqTmex5oLQlOY5 → TCwq0pYHnHPlPIcOGjzu7}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Solo Agent Tools Reference
|
|
2
|
+
|
|
3
|
+
## Agency CLI
|
|
4
|
+
|
|
5
|
+
### Task Management
|
|
6
|
+
```bash
|
|
7
|
+
agency tasks list [--status S] [--assignee A]
|
|
8
|
+
agency tasks show <id>
|
|
9
|
+
agency tasks create "Title" --assign $AGENCY_AGENT_NAME
|
|
10
|
+
agency tasks update <id> --status <status>
|
|
11
|
+
agency tasks close <id>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### Communication
|
|
15
|
+
```bash
|
|
16
|
+
agency msg <task-id> "message content"
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Knowledge Base (YOUR LONG-TERM BRAIN)
|
|
20
|
+
```bash
|
|
21
|
+
agency learn "something learned" --tags tag1,tag2
|
|
22
|
+
agency recall "search query"
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Standard tags: `preferences`, `decisions`, `project`, `codebase`, `people`, `blockers`, `tooling`
|
|
26
|
+
|
|
27
|
+
### Documents
|
|
28
|
+
```bash
|
|
29
|
+
echo "content" | agency doc create "title" --task <id>
|
|
30
|
+
agency doc show <id>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Development Tools
|
|
34
|
+
|
|
35
|
+
Use your standard development tools (git, test runners, linters, etc.) as configured for the project. Always verify changes work before marking tasks complete.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{3673:()=>{},5217:(e,s,_)=>{Promise.resolve().then(_.t.bind(_,3673,23))}},e=>{e.O(0,[978,441,255,358],()=>e(e.s=5217)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{5313:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>M});var a,r=s(5155),l=s(2115);let n=null!=(a=s(5704).env.NEXT_PUBLIC_API_URL)?a:"";async function o(e){let t=await fetch("".concat(n).concat(e),{cache:"no-store"});if(!t.ok)throw Error("API error: ".concat(t.status));return t.json()}async function c(e,t,s){let a=await fetch("".concat(n).concat(e),{method:t,headers:s?{"Content-Type":"application/json"}:void 0,body:s?JSON.stringify(s):void 0});if(!a.ok){var r;throw Error(null!=(r=(await a.json().catch(()=>({error:"HTTP ".concat(a.status)}))).error)?r:"API error: ".concat(a.status))}return a.json()}let i=[{key:"mission",label:"Mission Control"},{key:"config",label:"Agent Config"},{key:"settings",label:"Settings"},{key:"skills",label:"Skills"},{key:"roles",label:"Roles"}];function d(e){let{activeView:t,onViewChange:s}=e,[a,n]=(0,l.useState)(0),[d,x]=(0,l.useState)(0),[u,m]=(0,l.useState)(""),[p,y]=(0,l.useState)(!0),[h,v]=(0,l.useState)([]),[b,f]=(0,l.useState)(!1);(0,l.useEffect)(()=>{let e=async()=>{try{let e=await o("/agents"),t=await o("/tasks");n(e.filter(e=>"active"===e.status).length),x(t.filter(e=>"done"!==e.status).length),y(!0)}catch(e){y(!1)}},t=()=>{o("/notifications/pending/human").then(v).catch(()=>{})};e(),t();let s=setInterval(()=>{e(),t()},5e3);return()=>clearInterval(s)},[]);let g=async e=>{await c("/notifications/deliver/".concat(e),"POST"),v(t=>t.filter(t=>t.id!==e))};return(0,l.useEffect)(()=>{let e=()=>{m(new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"}))};e();let t=setInterval(e,1e3);return()=>clearInterval(t)},[]),(0,r.jsxs)("header",{style:{background:"var(--bg-secondary)",borderBottom:"1px solid var(--border)"},className:"h-14 flex items-center justify-between px-5 shrink-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-6",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("div",{className:"w-7 h-7 rounded-md flex items-center justify-center text-white text-xs font-bold",style:{background:"var(--accent-green)"},children:"A"}),(0,r.jsx)("span",{className:"font-semibold text-sm",children:"Agency"})]}),(0,r.jsx)("nav",{className:"flex gap-1",children:i.map(e=>(0,r.jsx)("button",{onClick:()=>s(e.key),className:"px-3 py-1.5 rounded-md text-sm font-medium transition-colors",style:{background:t===e.key?"var(--bg-tertiary)":"transparent",color:t===e.key?"var(--text-primary)":"var(--text-secondary)"},children:e.label},e.key))})]}),(0,r.jsxs)("div",{className:"flex items-center gap-5 text-sm",children:[(0,r.jsxs)("div",{className:"flex items-center gap-4",style:{color:"var(--text-secondary)"},children:[(0,r.jsxs)("span",{children:[(0,r.jsx)("span",{className:"font-semibold",style:{color:"var(--text-primary)"},children:a})," ","agents active"]}),(0,r.jsxs)("span",{children:[(0,r.jsx)("span",{className:"font-semibold",style:{color:"var(--text-primary)"},children:d})," ","in queue"]})]}),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)("button",{onClick:()=>f(!b),className:"relative px-2 py-1 rounded text-sm",style:{color:"var(--text-secondary)"},children:[h.length>0&&(0,r.jsx)("span",{className:"absolute -top-1 -right-1 w-4 h-4 rounded-full text-[10px] font-bold flex items-center justify-center text-white",style:{background:"var(--accent-red, #ef4444)"},children:h.length}),"Bell"]}),b&&h.length>0&&(0,r.jsxs)("div",{className:"absolute right-0 top-full mt-1 w-80 rounded-lg shadow-lg overflow-hidden z-50",style:{background:"var(--bg-secondary)",border:"1px solid var(--border)"},children:[(0,r.jsx)("div",{className:"px-3 py-2 text-xs font-bold",style:{color:"var(--text-muted)",borderBottom:"1px solid var(--border)"},children:"NOTIFICATIONS"}),(0,r.jsx)("div",{className:"max-h-64 overflow-y-auto",children:h.map(e=>(0,r.jsxs)("div",{className:"px-3 py-2 flex justify-between items-start gap-2 text-sm",style:{borderBottom:"1px solid var(--border)"},children:[(0,r.jsx)("span",{style:{color:"var(--text-primary)"},children:e.content}),(0,r.jsx)("button",{onClick:()=>g(e.id),className:"shrink-0 text-xs px-1 rounded",style:{color:"var(--text-muted)"},children:"x"})]},e.id))})]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",style:{color:"var(--text-muted)"},children:[(0,r.jsx)("span",{className:"font-mono text-xs",children:u}),(0,r.jsx)("span",{className:"w-2 h-2 rounded-full ".concat(p?"bg-green-500":"bg-red-500")})]})]})]})}let x={orchestrator:{label:"LEAD",color:"#5c7c5a",bg:"#e8f0e7"},implementer:{label:"INT",color:"#5c6b8c",bg:"#e7ecf0"},specialist:{label:"SPC",color:"#8c6b5c",bg:"#f0ece7"}};function u(e){let{agents:t}=e;return(0,r.jsxs)("div",{className:"w-[200px] shrink-0 overflow-y-auto border-r",style:{borderColor:"var(--border)",background:"var(--bg-secondary)"},children:[(0,r.jsx)("div",{className:"px-4 py-3 text-xs font-bold tracking-wider",style:{color:"var(--text-muted)"},children:"AGENTS"}),(0,r.jsx)("div",{className:"space-y-0.5 px-2",children:t.map(e=>{var t,s;let a=null!=(s=x[t=e.role])?s:{label:t.slice(0,3).toUpperCase(),color:"#6b6b6b",bg:"#f0f0f0"};return(0,r.jsxs)("div",{className:"flex items-center gap-2.5 px-2 py-2 rounded-md hover:bg-black/[0.03] cursor-default",children:[(0,r.jsx)("div",{className:"w-8 h-8 rounded-full flex items-center justify-center text-white text-xs font-bold shrink-0",style:{background:a.color},children:e.name.charAt(0).toUpperCase()}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("span",{className:"w-2 h-2 rounded-full shrink-0 ".concat("active"===e.status?"bg-green-500":"blocked"===e.status?"bg-red-500":"bg-gray-400")}),(0,r.jsx)("span",{className:"text-sm font-semibold truncate",children:e.name})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5 mt-0.5",children:[(0,r.jsx)("span",{className:"text-[10px] font-bold px-1.5 py-0.5 rounded",style:{color:a.color,background:a.bg},children:a.label}),(0,r.jsx)("span",{className:"text-xs truncate",style:{color:"var(--text-muted)"},children:e.role})]})]})]},e.id)})})]})}let m={1:"var(--accent-red)",2:"var(--accent-yellow)",3:"var(--border)"};function p(e){var t,s,a,l;let{task:n,onClick:o}=e,c=null==(t=n.assignees)?void 0:t[0],i=null!=(a=n.updated_at)?a:n.created_at;return(0,r.jsxs)("button",{onClick:o,className:"w-full text-left rounded-lg p-3 transition-all hover:shadow-md",style:{background:"var(--bg-secondary)",border:"1px solid var(--border-light)",borderLeft:"3px solid ".concat(null!=(l=m[n.priority])?l:"var(--border)")},children:[(0,r.jsx)("div",{className:"font-semibold text-sm mb-1 leading-snug",children:n.title}),n.description&&(0,r.jsx)("div",{className:"text-xs mb-2 leading-relaxed line-clamp-2",style:{color:"var(--text-secondary)"},children:n.description}),(0,r.jsx)("div",{className:"flex items-center justify-between",children:(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[c&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"w-5 h-5 rounded-full flex items-center justify-center text-white text-[9px] font-bold",style:{background:"var(--accent-blue)"},children:c.name.charAt(0).toUpperCase()}),(0,r.jsx)("span",{className:"text-xs",style:{color:"var(--text-secondary)"},children:c.name})]}),i&&(0,r.jsxs)("span",{className:"text-[11px]",style:{color:"var(--text-muted)"},children:[c?" \xb7 ":"",function(e){let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);if(t<60)return"just now";let s=Math.floor(t/60);if(s<60)return"".concat(s,"m ago");let a=Math.floor(s/60);if(a<24)return"about ".concat(a," hour").concat(a>1?"s":""," ago");let r=Math.floor(a/24);return"".concat(r,"d ago")}(i)]})]})}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-1 mt-2",children:[(0,r.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded font-medium",style:{background:"var(--bg-tertiary)",color:"var(--text-secondary)"},children:n.task_type}),null==(s=n.tags)?void 0:s.map(e=>(0,r.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded font-medium",style:{background:"var(--bg-tertiary)",color:"var(--text-muted)"},children:e},e))]})]})}let y=["inbox","assigned","in_progress","review","done"];function h(e){var t;let{taskId:s,onClose:a}=e,[n,i]=(0,l.useState)(null),[d,x]=(0,l.useState)([]),[u,m]=(0,l.useState)(""),[p,h]=(0,l.useState)(!1),[v,b]=(0,l.useState)(""),f=(0,l.useCallback)(()=>{o("/tasks/".concat(s)).then(i).catch(console.error)},[s]);(0,l.useEffect)(()=>{f(),o("/agents").then(x).catch(console.error);let e=setInterval(f,5e3);return()=>clearInterval(e)},[f]);let g=async e=>{await c("/tasks/".concat(s),"PATCH",{status:e,agent_name:"human"}),f()},j=async()=>{v&&(await c("/tasks/".concat(s,"/assign"),"POST",{agent_name:v}),b(""),f())},k=async()=>{if(u.trim()){h(!0);try{await c("/tasks/".concat(s,"/messages"),"POST",{from_agent:"human",content:u.trim()}),m(""),f()}catch(e){console.error(e.message)}finally{h(!1)}}};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"fixed inset-0 bg-black/20 z-40",onClick:a}),(0,r.jsxs)("div",{className:"fixed inset-y-0 right-0 w-[600px] overflow-y-auto z-50 shadow-xl flex flex-col",style:{background:"var(--bg-secondary)",borderLeft:"1px solid var(--border)"},children:[(0,r.jsxs)("div",{className:"p-6 flex-1 overflow-y-auto",children:[(0,r.jsx)("button",{onClick:a,className:"mb-4 text-sm font-medium px-2 py-1 rounded hover:bg-black/5 transition-colors",style:{color:"var(--text-secondary)"},children:"Close"}),n&&(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)("h2",{className:"text-xl font-bold",children:n.title}),(0,r.jsx)("div",{className:"flex flex-wrap gap-2 items-center",children:y.map(e=>(0,r.jsx)("button",{onClick:()=>g(e),className:"px-2 py-1 rounded text-xs font-medium transition-colors",style:{background:n.status===e?"var(--accent-green)":"var(--bg-tertiary)",color:n.status===e?"white":"var(--text-secondary)"},children:e.replace("_"," ")},e))}),(0,r.jsxs)("div",{className:"text-sm",style:{color:"var(--text-secondary)"},children:["Priority: P",n.priority," \xb7 Assignees:"," ",(null==(t=n.assignees)?void 0:t.map(e=>e.name).join(", "))||"none"]}),(0,r.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,r.jsxs)("select",{value:v,onChange:e=>b(e.target.value),className:"px-2 py-1 rounded text-sm",style:{background:"var(--bg-tertiary)",border:"1px solid var(--border)"},children:[(0,r.jsx)("option",{value:"",children:"Assign agent..."}),d.filter(e=>"human"!==e.name).map(e=>(0,r.jsx)("option",{value:e.name,children:e.name},e.name))]}),v&&(0,r.jsx)("button",{onClick:j,className:"px-3 py-1 rounded text-xs font-medium text-white",style:{background:"var(--accent-blue)"},children:"Assign"})]}),n.description&&(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-xs font-bold tracking-wider mb-1",style:{color:"var(--text-muted)"},children:"DESCRIPTION"}),(0,r.jsx)("pre",{className:"text-sm whitespace-pre-wrap rounded p-3",style:{background:"var(--bg-tertiary)"},children:n.description})]}),n.design&&(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-xs font-bold tracking-wider mb-1",style:{color:"var(--text-muted)"},children:"DESIGN"}),(0,r.jsx)("pre",{className:"text-sm whitespace-pre-wrap rounded p-3",style:{background:"var(--bg-tertiary)"},children:n.design})]}),n.acceptance&&(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-xs font-bold tracking-wider mb-1",style:{color:"var(--text-muted)"},children:"ACCEPTANCE"}),(0,r.jsx)("pre",{className:"text-sm whitespace-pre-wrap rounded p-3",style:{background:"var(--bg-tertiary)"},children:n.acceptance})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-xs font-bold tracking-wider mb-2",style:{color:"var(--text-muted)"},children:"MESSAGES"}),(0,r.jsx)("div",{className:"space-y-2 mb-3",children:n.messages&&n.messages.length>0?n.messages.map((e,t)=>{var s;return(0,r.jsxs)("div",{className:"pl-3",style:{borderLeft:"2px solid var(--border)"},children:[(0,r.jsxs)("div",{className:"text-xs",style:{color:"var(--text-muted)"},children:[(0,r.jsx)("span",{className:"font-bold",style:{color:"var(--text-secondary)"},children:null!=(s=e.from_name)?s:"?"})," ","\xb7 ",new Date(e.created_at).toLocaleString()]}),(0,r.jsx)("div",{className:"text-sm mt-0.5",children:e.content})]},t)}):(0,r.jsx)("div",{className:"text-xs",style:{color:"var(--text-muted)"},children:"No messages yet"})})]})]})]}),n&&(0,r.jsx)("div",{className:"p-4 border-t",style:{borderColor:"var(--border)",background:"var(--bg-secondary)"},children:(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("input",{type:"text",value:u,onChange:e=>m(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),k())},placeholder:"Write a message...",className:"flex-1 px-3 py-2 rounded-md text-sm",style:{background:"var(--bg-tertiary)",border:"1px solid var(--border)"}}),(0,r.jsx)("button",{onClick:k,disabled:p||!u.trim(),className:"px-4 py-2 rounded-md text-sm font-medium text-white",style:{background:"var(--accent-green)",opacity:p||!u.trim()?.5:1},children:p?"...":"Send"})]})})]})]})}function v(e){let{open:t,onClose:s,onCreated:a}=e,[n,i]=(0,l.useState)(""),[d,x]=(0,l.useState)(""),[u,m]=(0,l.useState)(2),[p,y]=(0,l.useState)("task"),[h,v]=(0,l.useState)(""),[b,f]=(0,l.useState)([]),[g,j]=(0,l.useState)(null),[k,N]=(0,l.useState)(!1);if((0,l.useEffect)(()=>{t&&o("/agents").then(f).catch(console.error)},[t]),!t)return null;let w=async e=>{e.preventDefault(),j(null),N(!0);try{await c("/tasks","POST",{title:n,description:d,from:"human",priority:u,task_type:p,...h?{assign:h}:{}}),i(""),x(""),m(2),y("task"),v(""),a(),s()}catch(e){j(e.message)}finally{N(!1)}};return(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",style:{background:"rgba(0,0,0,0.5)"},onClick:s,children:(0,r.jsxs)("form",{onClick:e=>e.stopPropagation(),onSubmit:w,className:"rounded-lg shadow-xl w-[480px] max-h-[90vh] overflow-y-auto",style:{background:"var(--bg-primary)",border:"1px solid var(--border)"},children:[(0,r.jsx)("div",{className:"px-5 py-4 border-b",style:{borderColor:"var(--border)"},children:(0,r.jsx)("h2",{className:"text-lg font-semibold",children:"Create Task"})}),(0,r.jsxs)("div",{className:"px-5 py-4 space-y-4",children:[g&&(0,r.jsx)("div",{className:"text-sm px-3 py-2 rounded",style:{background:"#fef2f2",color:"#dc2626"},children:g}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-sm font-medium mb-1",children:"Title"}),(0,r.jsx)("input",{type:"text",value:n,onChange:e=>i(e.target.value),placeholder:"Task title",required:!0,className:"w-full px-3 py-2 rounded-md text-sm",style:{background:"var(--bg-secondary)",border:"1px solid var(--border)"}})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-sm font-medium mb-1",children:"Description"}),(0,r.jsx)("textarea",{value:d,onChange:e=>x(e.target.value),placeholder:"Describe the task...",required:!0,rows:4,className:"w-full px-3 py-2 rounded-md text-sm resize-y",style:{background:"var(--bg-secondary)",border:"1px solid var(--border)"}})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Priority"}),(0,r.jsx)("div",{className:"flex gap-3",children:[1,2,3].map(e=>(0,r.jsxs)("label",{className:"flex items-center gap-1.5 text-sm cursor-pointer",children:[(0,r.jsx)("input",{type:"radio",name:"priority",value:e,checked:u===e,onChange:()=>m(e)}),"P",e]},e))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Type"}),(0,r.jsx)("div",{className:"flex gap-3",children:["task","bug","feature"].map(e=>(0,r.jsxs)("label",{className:"flex items-center gap-1.5 text-sm cursor-pointer",children:[(0,r.jsx)("input",{type:"radio",name:"task_type",value:e,checked:p===e,onChange:()=>y(e)}),e.charAt(0).toUpperCase()+e.slice(1)]},e))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-sm font-medium mb-1",children:"Assign to (optional)"}),(0,r.jsxs)("select",{value:h,onChange:e=>v(e.target.value),className:"w-full px-3 py-2 rounded-md text-sm",style:{background:"var(--bg-secondary)",border:"1px solid var(--border)"},children:[(0,r.jsx)("option",{value:"",children:"Unassigned"}),b.filter(e=>"human"!==e.name).map(e=>(0,r.jsxs)("option",{value:e.name,children:[e.name," (",e.role,")"]},e.id))]})]})]}),(0,r.jsxs)("div",{className:"px-5 py-3 flex justify-end gap-2 border-t",style:{borderColor:"var(--border)"},children:[(0,r.jsx)("button",{type:"button",onClick:s,className:"px-4 py-2 rounded-md text-sm font-medium",style:{background:"var(--bg-tertiary)"},children:"Cancel"}),(0,r.jsx)("button",{type:"submit",disabled:k,className:"px-4 py-2 rounded-md text-sm font-medium text-white",style:{background:"var(--accent-green)",opacity:k?.6:1},children:k?"Creating...":"Create Task"})]})]})})}let b=["inbox","assigned","in_progress","review","done"],f={inbox:"INBOX",assigned:"ASSIGNED",in_progress:"IN PROGRESS",review:"REVIEW",done:"DONE"};function g(){let[e,t]=(0,l.useState)([]),[s,a]=(0,l.useState)(null),[n,c]=(0,l.useState)(!1);return(0,l.useEffect)(()=>{let e=()=>o("/tasks").then(t).catch(console.error);e();let s=setInterval(e,5e3);return()=>clearInterval(s)},[]),(0,r.jsxs)("div",{className:"flex-1 overflow-x-auto p-4",children:[(0,r.jsx)("div",{className:"flex gap-4 min-w-0",children:b.map(t=>{let s=e.filter(e=>e.status===t);return(0,r.jsxs)("div",{className:"flex-1 min-w-[200px]",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-3 px-1",children:[(0,r.jsx)("h3",{className:"text-xs font-bold tracking-wider",style:{color:"var(--text-muted)"},children:f[t]}),"inbox"===t&&(0,r.jsx)("button",{onClick:()=>c(!0),className:"w-5 h-5 flex items-center justify-center rounded text-xs font-bold leading-none",style:{background:"var(--bg-tertiary)",color:"var(--text-secondary)"},title:"Create task",children:"+"}),(0,r.jsx)("span",{className:"text-[11px] font-medium px-1.5 rounded-full",style:{background:"var(--bg-tertiary)",color:"var(--text-muted)"},children:s.length})]}),(0,r.jsx)("div",{className:"space-y-2",children:s.map(e=>(0,r.jsx)(p,{task:e,onClick:()=>a(e.id)},e.id))})]},t)})}),s&&(0,r.jsx)(h,{taskId:s,onClose:()=>a(null)}),(0,r.jsx)(v,{open:n,onClose:()=>c(!1),onCreated:()=>o("/tasks").then(t).catch(console.error)})]})}let j=["All","Tasks","Comments","Status"],k={Tasks:["task_created","assigned","document_created"],Comments:["message"],Status:["status_changed"]};function N(){let[e,t]=(0,l.useState)([]),[s,a]=(0,l.useState)("All"),[n,c]=(0,l.useState)(null);(0,l.useEffect)(()=>{let e=()=>o("/activities?limit=50").then(t).catch(console.error);e();let s=setInterval(e,5e3);return()=>clearInterval(s)},[]);let i=[...new Set(e.map(e=>e.agent_name).filter(Boolean))],d=e.filter(e=>{if(n&&e.agent_name!==n)return!1;if("All"!==s){let t=k[s];if(t&&e.type&&!t.includes(e.type))return!1}return!0});return(0,r.jsxs)("div",{className:"w-[300px] shrink-0 overflow-y-auto border-l flex flex-col",style:{borderColor:"var(--border)",background:"var(--bg-secondary)"},children:[(0,r.jsxs)("div",{className:"px-4 py-3",children:[(0,r.jsx)("div",{className:"text-xs font-bold tracking-wider mb-3",style:{color:"var(--text-muted)"},children:"LIVE FEED"}),(0,r.jsx)("div",{className:"flex gap-1 mb-3",children:j.map(e=>(0,r.jsx)("button",{onClick:()=>a(e),className:"px-2 py-1 rounded text-xs font-medium transition-colors",style:{background:s===e?"var(--bg-tertiary)":"transparent",color:s===e?"var(--text-primary)":"var(--text-muted)"},children:e},e))}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-1 mb-3",children:[(0,r.jsx)("button",{onClick:()=>c(null),className:"px-2 py-0.5 rounded-full text-[11px] font-medium transition-colors",style:{background:null===n?"var(--accent-green)":"var(--bg-tertiary)",color:null===n?"white":"var(--text-secondary)"},children:"All Agents"}),i.map(e=>(0,r.jsx)("button",{onClick:()=>c(e),className:"px-2 py-0.5 rounded-full text-[11px] font-medium transition-colors",style:{background:n===e?"var(--accent-green)":"var(--bg-tertiary)",color:n===e?"white":"var(--text-secondary)"},children:e},e))]})]}),(0,r.jsxs)("div",{className:"flex-1 overflow-y-auto px-4 pb-4 space-y-3",children:[d.map(e=>{var t,s;return(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("div",{className:"w-6 h-6 rounded-full flex items-center justify-center text-white text-[10px] font-bold shrink-0 mt-0.5",style:{background:"var(--accent-olive)"},children:(null!=(t=e.agent_name)?t:"S").charAt(0).toUpperCase()}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsxs)("div",{className:"text-sm",children:[(0,r.jsx)("span",{className:"font-semibold",children:null!=(s=e.agent_name)?s:"system"})," ",(0,r.jsx)("span",{style:{color:"var(--text-secondary)"},children:e.summary})]}),(0,r.jsx)("div",{className:"text-[11px]",style:{color:"var(--text-muted)"},children:function(e){let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);if(t<60)return"just now";let s=Math.floor(t/60);if(s<60)return"".concat(s,"m ago");let a=Math.floor(s/60);if(a<24)return"".concat(a,"h ago");let r=Math.floor(a/24);return"".concat(r,"d ago")}(e.created_at)})]})]},e.id)}),0===d.length&&(0,r.jsx)("div",{className:"text-sm text-center py-8",style:{color:"var(--text-muted)"},children:"No activity yet"})]})]})}function w(e){let{content:t,filename:s}=e,a=t.split("\n");return(0,r.jsx)("div",{className:"flex-1 overflow-auto font-mono text-sm",style:{background:"var(--bg-primary)"},children:(0,r.jsx)("div",{className:"p-4",children:a.map((e,t)=>(0,r.jsxs)("div",{className:"flex leading-6 hover:bg-black/[0.02]",children:[(0,r.jsx)("span",{className:"w-12 text-right pr-4 select-none shrink-0",style:{color:"var(--text-muted)",fontSize:"0.8rem"},children:t+1}),(0,r.jsx)("span",{className:"flex-1 whitespace-pre-wrap break-all",children:function(e){if(e.startsWith("# "))return(0,r.jsx)("span",{style:{color:"var(--accent-green)",fontWeight:700,fontSize:"1.1em"},children:e});if(e.startsWith("## "))return(0,r.jsx)("span",{style:{color:"var(--accent-blue)",fontWeight:700},children:e});if(e.startsWith("### "))return(0,r.jsx)("span",{style:{color:"var(--accent-olive)",fontWeight:600},children:e});if(e.startsWith("- ")||e.startsWith("* "))return(0,r.jsx)("span",{style:{color:"var(--text-primary)"},children:e});if(e.startsWith("```"))return(0,r.jsx)("span",{style:{color:"var(--text-muted)"},children:e});let t=e.split(/(\*\*[^*]+\*\*)/g);return t.length>1?(0,r.jsx)(r.Fragment,{children:t.map((e,t)=>e.startsWith("**")&&e.endsWith("**")?(0,r.jsx)("strong",{children:e.slice(2,-2)},t):(0,r.jsx)("span",{children:e},t))}):(0,r.jsx)("span",{children:e})}(e)})]},t))})})}function S(e){let{open:t,onClose:s,onCreated:a}=e,[n,i]=(0,l.useState)(""),[d,x]=(0,l.useState)(""),[u,m]=(0,l.useState)([]),[p,y]=(0,l.useState)("docker"),[h,v]=(0,l.useState)(!1),[b,f]=(0,l.useState)(""),[g,j]=(0,l.useState)(""),[k,N]=(0,l.useState)(null),[w,S]=(0,l.useState)(!1);if((0,l.useEffect)(()=>{t&&o("/agents/roles").then(e=>{m(e),e.length>0&&!d&&x(e[0])})},[t]),!t)return null;let C=async e=>{e.preventDefault(),N(null),S(!0);try{await c("/agents","POST",{name:n,role:d,location:p,...b?{slack_bot_token:b}:{},...g?{slack_app_token:g}:{}}),i(""),f(""),j(""),v(!1),a(),s()}catch(e){N(e.message)}finally{S(!1)}};return(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",style:{background:"rgba(0,0,0,0.5)"},onClick:s,children:(0,r.jsxs)("form",{onClick:e=>e.stopPropagation(),onSubmit:C,className:"rounded-lg shadow-xl w-[420px] max-h-[90vh] overflow-y-auto",style:{background:"var(--bg-primary)",border:"1px solid var(--border)"},children:[(0,r.jsx)("div",{className:"px-5 py-4 border-b",style:{borderColor:"var(--border)"},children:(0,r.jsx)("h2",{className:"text-lg font-semibold",children:"Create Agent"})}),(0,r.jsxs)("div",{className:"px-5 py-4 space-y-4",children:[k&&(0,r.jsx)("div",{className:"text-sm px-3 py-2 rounded",style:{background:"#fef2f2",color:"#dc2626"},children:k}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-sm font-medium mb-1",children:"Name"}),(0,r.jsx)("input",{type:"text",value:n,onChange:e=>i(e.target.value),placeholder:"my-agent",required:!0,pattern:"^[a-z][a-z0-9-]{1,30}$",className:"w-full px-3 py-2 rounded-md text-sm",style:{background:"var(--bg-secondary)",border:"1px solid var(--border)"}}),(0,r.jsx)("div",{className:"text-xs mt-1",style:{color:"var(--text-muted)"},children:"Lowercase letters, numbers, hyphens. 2-31 chars."})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-sm font-medium mb-1",children:"Role"}),(0,r.jsx)("select",{value:d,onChange:e=>x(e.target.value),required:!0,className:"w-full px-3 py-2 rounded-md text-sm",style:{background:"var(--bg-secondary)",border:"1px solid var(--border)"},children:u.map(e=>(0,r.jsx)("option",{value:e,children:e},e))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Location"}),(0,r.jsx)("div",{className:"flex gap-3",children:["docker","ec2","local"].map(e=>(0,r.jsxs)("label",{className:"flex items-center gap-1.5 text-sm cursor-pointer",children:[(0,r.jsx)("input",{type:"radio",name:"location",value:e,checked:p===e,onChange:()=>y(e)}),e.charAt(0).toUpperCase()+e.slice(1)]},e))})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("button",{type:"button",onClick:()=>v(!h),className:"text-sm font-medium flex items-center gap-1",style:{color:"var(--text-secondary)"},children:[(0,r.jsx)("span",{style:{display:"inline-block",transform:h?"rotate(90deg)":"none",transition:"transform 0.15s"},children:"▶"}),"Slack Configuration"]}),h&&(0,r.jsxs)("div",{className:"mt-2 space-y-3 pl-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-xs font-medium mb-1",children:"Bot Token"}),(0,r.jsx)("input",{type:"password",value:b,onChange:e=>f(e.target.value),placeholder:"xoxb-...",className:"w-full px-3 py-1.5 rounded-md text-sm",style:{background:"var(--bg-secondary)",border:"1px solid var(--border)"}})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-xs font-medium mb-1",children:"App Token"}),(0,r.jsx)("input",{type:"password",value:g,onChange:e=>j(e.target.value),placeholder:"xapp-...",className:"w-full px-3 py-1.5 rounded-md text-sm",style:{background:"var(--bg-secondary)",border:"1px solid var(--border)"}})]})]})]})]}),(0,r.jsxs)("div",{className:"px-5 py-3 flex justify-end gap-2 border-t",style:{borderColor:"var(--border)"},children:[(0,r.jsx)("button",{type:"button",onClick:s,className:"px-4 py-2 rounded-md text-sm font-medium",style:{background:"var(--bg-tertiary)"},children:"Cancel"}),(0,r.jsx)("button",{type:"submit",disabled:w,className:"px-4 py-2 rounded-md text-sm font-medium text-white",style:{background:"var(--accent-green)",opacity:w?.6:1},children:w?"Creating...":"Create"})]})]})})}function C(e){var t,s;let{agent:a,onRefresh:n}=e,[o,i]=(0,l.useState)(!1),[d,x]=(0,l.useState)(!1),[u,m]=(0,l.useState)(!1),[p,y]=(0,l.useState)(!1),[h,v]=(0,l.useState)(null),[b,f]=(0,l.useState)(null!=(t=a.slack_bot_token)?t:""),[g,j]=(0,l.useState)(null!=(s=a.slack_app_token)?s:""),[k,N]=(0,l.useState)(!1),w=async()=>{i(!0),v(null);try{var e;let t=await c("/agents/".concat(a.name,"/deploy"),"POST");v(null!=(e=t.instructions)?e:"Deployed (".concat(t.method,")")),n()}catch(e){v(e.message)}finally{i(!1)}},S=async()=>{x(!0),v(null);try{await c("/agents/".concat(a.name,"/stop"),"POST"),v("Stopped"),n()}catch(e){v(e.message)}finally{x(!1)}},C=async()=>{m(!0);try{await c("/agents/".concat(a.name),"DELETE"),n()}catch(e){v(e.message),m(!1)}},_=async()=>{N(!0);try{await c("/agents/".concat(a.name),"PATCH",{slack_bot_token:b||null,slack_app_token:g||null}),v("Slack tokens saved"),n()}catch(e){v(e.message)}finally{N(!1)}},E="active"===a.status?"#22c55e":"blocked"===a.status?"#ef4444":"#9ca3af";return(0,r.jsxs)("div",{className:"p-5 space-y-4 border-b",style:{borderColor:"var(--border)"},children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("span",{className:"w-2.5 h-2.5 rounded-full",style:{background:E}}),(0,r.jsx)("span",{className:"font-semibold",children:a.name}),(0,r.jsx)("span",{className:"text-xs px-2 py-0.5 rounded",style:{background:"var(--bg-tertiary)",color:"var(--text-muted)"},children:a.role}),a.location&&(0,r.jsx)("span",{className:"text-xs px-2 py-0.5 rounded",style:{background:"var(--bg-tertiary)",color:"var(--text-muted)"},children:a.location})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("button",{onClick:w,disabled:o,className:"px-3 py-1.5 rounded-md text-xs font-medium text-white",style:{background:"#22c55e",opacity:o?.6:1},children:o?"Deploying...":"Deploy"}),(0,r.jsx)("button",{onClick:S,disabled:d,className:"px-3 py-1.5 rounded-md text-xs font-medium text-white",style:{background:"#f59e0b",opacity:d?.6:1},children:d?"Stopping...":"Stop"}),p?(0,r.jsx)("button",{onClick:C,disabled:u,className:"px-3 py-1.5 rounded-md text-xs font-medium text-white",style:{background:"#dc2626",opacity:u?.6:1},children:u?"Deleting...":"Confirm Delete"}):(0,r.jsx)("button",{onClick:()=>y(!0),className:"px-3 py-1.5 rounded-md text-xs font-medium text-white",style:{background:"#ef4444"},children:"Delete"})]})]}),h&&(0,r.jsx)("div",{className:"text-sm px-3 py-2 rounded",style:{background:"var(--bg-tertiary)",color:"var(--text-secondary)"},children:h}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("div",{className:"text-xs font-medium",style:{color:"var(--text-muted)"},children:"Slack Tokens"}),(0,r.jsxs)("div",{className:"flex gap-2 items-end",children:[(0,r.jsx)("input",{type:"password",value:b,onChange:e=>f(e.target.value),placeholder:"Bot Token",className:"flex-1 px-2 py-1.5 rounded text-xs",style:{background:"var(--bg-secondary)",border:"1px solid var(--border)"}}),(0,r.jsx)("input",{type:"password",value:g,onChange:e=>j(e.target.value),placeholder:"App Token",className:"flex-1 px-2 py-1.5 rounded text-xs",style:{background:"var(--bg-secondary)",border:"1px solid var(--border)"}}),(0,r.jsx)("button",{onClick:_,disabled:k,className:"px-3 py-1.5 rounded text-xs font-medium",style:{background:"var(--bg-tertiary)"},children:k?"Saving...":"Save"})]})]})]})}let _=[{label:"Soul",file:"SOUL.md"},{label:"User",file:"USER.md"},{label:"Agents",file:"AGENTS.md"},{label:"Memory",file:"MEMORY.md"},{label:"Tools",file:"TOOLS.md"}];function E(e){let{agents:t}=e,[s,a]=(0,l.useState)(t),[n,c]=(0,l.useState)(null),[i,d]=(0,l.useState)(_[0].file),[x,u]=(0,l.useState)(""),[m,p]=(0,l.useState)(!1),[y,h]=(0,l.useState)(null),[v,b]=(0,l.useState)(!1),f=s.find(e=>e.name===n),g=(0,l.useCallback)(async()=>{try{let e=await o("/agents");a(e)}catch(e){}},[]);return(0,l.useEffect)(()=>{!n&&s.length>0&&c(s[0].name)},[s,n]),(0,l.useEffect)(()=>{n&&(p(!0),h(null),o("/agents/".concat(n,"/files/").concat(i)).then(e=>{u(e.content),p(!1)}).catch(e=>{h("File not found"),u(""),p(!1)}))},[n,i]),(0,r.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,r.jsxs)("div",{className:"w-[240px] shrink-0 overflow-y-auto border-r",style:{borderColor:"var(--border)",background:"var(--bg-secondary)"},children:[(0,r.jsxs)("div",{className:"px-4 py-3 flex items-center justify-between",children:[(0,r.jsx)("span",{className:"text-xs font-bold tracking-wider",style:{color:"var(--text-muted)"},children:"AGENTS"}),(0,r.jsx)("button",{onClick:()=>b(!0),className:"w-6 h-6 rounded flex items-center justify-center text-sm font-bold",style:{background:"var(--bg-tertiary)",color:"var(--text-secondary)"},title:"Create agent",children:"+"})]}),(0,r.jsx)("div",{className:"space-y-0.5 px-2",children:s.map(e=>(0,r.jsxs)("button",{onClick:()=>{c(e.name),d(_[0].file)},className:"w-full flex items-center gap-2.5 px-2 py-2 rounded-md text-left transition-colors",style:{background:n===e.name?"var(--bg-tertiary)":"transparent"},children:[(0,r.jsx)("div",{className:"w-8 h-8 rounded-full flex items-center justify-center text-white text-xs font-bold shrink-0",style:{background:"var(--accent-green)"},children:e.name.charAt(0).toUpperCase()}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("span",{className:"w-2 h-2 rounded-full shrink-0 ".concat("active"===e.status?"bg-green-500":"blocked"===e.status?"bg-red-500":"bg-gray-400")}),(0,r.jsx)("span",{className:"text-sm font-semibold truncate",children:e.name})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5 mt-0.5",children:[(0,r.jsx)("span",{className:"text-xs truncate",style:{color:"var(--text-muted)"},children:e.role}),e.location&&(0,r.jsx)("span",{className:"text-[10px] px-1 py-0.5 rounded",style:{background:"var(--bg-tertiary)",color:"var(--text-muted)"},children:e.location})]})]})]},e.id))})]}),(0,r.jsx)("div",{className:"flex-1 flex flex-col overflow-hidden",children:f?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(C,{agent:f,onRefresh:()=>{g(),s.find(e=>e.name===n)||c(null)}}),(0,r.jsx)("div",{className:"flex gap-0 border-b px-4",style:{borderColor:"var(--border)",background:"var(--bg-secondary)"},children:_.map(e=>(0,r.jsxs)("button",{onClick:()=>d(e.file),className:"px-3 py-2 text-sm font-medium transition-colors relative",style:{color:i===e.file?"var(--text-primary)":"var(--text-muted)"},children:[e.label,i===e.file&&(0,r.jsx)("div",{className:"absolute bottom-0 left-0 right-0 h-0.5",style:{background:"var(--accent-green)"}})]},e.file))}),m?(0,r.jsx)("div",{className:"flex-1 flex items-center justify-center",style:{color:"var(--text-muted)"},children:"Loading..."}):y?(0,r.jsx)("div",{className:"flex-1 flex items-center justify-center",style:{color:"var(--text-muted)"},children:y}):(0,r.jsx)(w,{content:x,filename:i})]}):(0,r.jsx)("div",{className:"flex-1 flex items-center justify-center",style:{color:"var(--text-muted)"},children:"Select an agent"})}),(0,r.jsx)(S,{open:v,onClose:()=>b(!1),onCreated:()=>{g()}})]})}let T="********",A=[{id:"identity",label:"Identity"},{id:"ai",label:"AI Provider"},{id:"aws",label:"AWS"},{id:"ssh",label:"SSH"}],I=new Set(["ai.oauth_access_token","ai.oauth_refresh_token","ai.oauth_expires_at","ai.oauth_subscription_type","ai.auth_method"]);function P(){var e;let[t,s]=(0,l.useState)([]),[a,n]=(0,l.useState)("identity"),[i,d]=(0,l.useState)({}),[x,u]=(0,l.useState)(null),[m,p]=(0,l.useState)(new Set),[y,h]=(0,l.useState)("api_key"),v=(0,l.useCallback)(()=>{o("/settings").then(e=>{s(e);let t=e.find(e=>"ai.auth_method"===e.key);(null==t?void 0:t.value)&&t.value!==T&&h(t.value)}).catch(console.error)},[]);(0,l.useEffect)(()=>{v()},[v]);let b=t.filter(e=>e.category===a),f=async e=>{let t=i[e];if(void 0!==t){u(e);try{await c("/settings/".concat(e),"PUT",{value:t}),v(),d(t=>{let s={...t};return delete s[e],s})}catch(e){console.error(e.message)}finally{u(null)}}},g=async e=>{h(e),await c("/settings/ai.auth_method","PUT",{value:e}),v()},[j,k]=(0,l.useState)(null),[N,w]=(0,l.useState)(!1),S=async()=>{w(!0),k(null);try{(await c("/oauth/claude/import","POST")).ok&&(h("oauth"),v())}catch(e){k(e.message)}finally{w(!1)}},C=async()=>{k(null);try{let e=await o("/oauth/claude/authorize");if(e.error)return void k(e.error);if(e.url){window.open(e.url,"claude-oauth","width=600,height=700");let t=setInterval(()=>{o("/settings?category=ai").then(e=>{let s=e.find(e=>"ai.oauth_access_token"===e.key);s&&s.value===T&&(clearInterval(t),v())})},2e3);setTimeout(()=>clearInterval(t),12e4)}}catch(e){k(e.message)}},_=async()=>{for(let e of["ai.oauth_access_token","ai.oauth_refresh_token","ai.oauth_expires_at","ai.oauth_subscription_type"])await c("/settings/".concat(e),"PUT",{value:""});await c("/settings/ai.auth_method","PUT",{value:"api_key"}),h("api_key"),v()},E=e=>{var t;let s=void 0!==i[e.key],a=null!=(t=i[e.key])?t:e.value,l=s&&i[e.key]!==e.value;if("readonly"===e.input_type)return(0,r.jsx)("span",{className:"text-sm px-3 py-2 block",style:{color:"var(--text-secondary)"},children:e.value||"—"});if("textarea"===e.input_type)return(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("textarea",{value:a,onChange:t=>d(s=>({...s,[e.key]:t.target.value})),placeholder:e.sensitive?"Paste your private key":"",rows:8,className:"w-full px-3 py-2 rounded-md text-sm font-mono",style:{background:"var(--bg-secondary)",border:"1px solid var(--border)",resize:"vertical"}}),l&&(0,r.jsx)(D,{keyName:e.key,saving:x,onSave:f})]});if("password"===e.input_type){let t=m.has(e.key);return(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsxs)("div",{className:"flex-1 relative",children:[(0,r.jsx)("input",{type:t?"text":"password",value:a,onChange:t=>d(s=>({...s,[e.key]:t.target.value})),onFocus:()=>{s||e.value!==T||d(t=>({...t,[e.key]:""}))},placeholder:e.value===T?"••••••••":"",className:"w-full px-3 py-2 rounded-md text-sm pr-10",style:{background:"var(--bg-secondary)",border:"1px solid var(--border)"}}),(0,r.jsx)("button",{type:"button",onClick:()=>{var t;return t=e.key,void p(e=>{let s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})},className:"absolute right-2 top-1/2 -translate-y-1/2 text-xs px-1",style:{color:"var(--text-muted)"},children:t?"Hide":"Show"})]}),l&&(0,r.jsx)(D,{keyName:e.key,saving:x,onSave:f})]})}return(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("input",{type:"text",value:a,onChange:t=>d(s=>({...s,[e.key]:t.target.value})),className:"flex-1 px-3 py-2 rounded-md text-sm",style:{background:"var(--bg-secondary)",border:"1px solid var(--border)"}}),l&&(0,r.jsx)(D,{keyName:e.key,saving:x,onSave:f})]})};return(0,r.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,r.jsxs)("div",{className:"w-[200px] shrink-0 overflow-y-auto border-r",style:{borderColor:"var(--border)",background:"var(--bg-secondary)"},children:[(0,r.jsx)("div",{className:"px-4 py-3 text-xs font-bold tracking-wider",style:{color:"var(--text-muted)"},children:"CATEGORIES"}),(0,r.jsx)("div",{className:"space-y-0.5 px-2",children:A.map(e=>(0,r.jsx)("button",{onClick:()=>n(e.id),className:"w-full text-left px-3 py-2 rounded-md text-sm font-medium transition-colors",style:{background:a===e.id?"var(--bg-tertiary)":"transparent",color:a===e.id?"var(--text-primary)":"var(--text-secondary)"},children:e.label},e.id))})]}),(0,r.jsxs)("div",{className:"flex-1 overflow-y-auto p-6",children:[(0,r.jsxs)("h2",{className:"text-lg font-semibold mb-4",children:[null==(e=A.find(e=>e.id===a))?void 0:e.label," Settings"]}),(()=>{if("ai"===a)return(()=>{let e=b.find(e=>"ai.anthropic_api_key"===e.key),s=t.find(e=>"ai.oauth_access_token"===e.key),a=t.find(e=>"ai.oauth_expires_at"===e.key),l=t.find(e=>"ai.oauth_subscription_type"===e.key),n=(null==s?void 0:s.value)===T,o=null!=a&&!!a.value&&new Date(a.value)<new Date;return(0,r.jsxs)("div",{className:"space-y-6 max-w-xl",children:[(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("label",{className:"text-sm font-medium",children:"Authentication Method"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("button",{onClick:()=>g("api_key"),className:"px-4 py-2 rounded-md text-sm font-medium transition-colors",style:{background:"api_key"===y?"var(--accent-blue)":"var(--bg-secondary)",color:"api_key"===y?"white":"var(--text-secondary)",border:"1px solid var(--border)"},children:"API Key"}),(0,r.jsx)("button",{onClick:()=>g("oauth"),className:"px-4 py-2 rounded-md text-sm font-medium transition-colors",style:{background:"oauth"===y?"var(--accent-blue)":"var(--bg-secondary)",color:"oauth"===y?"white":"var(--text-secondary)",border:"1px solid var(--border)"},children:"Claude Max OAuth"})]})]}),"api_key"===y&&e&&(0,r.jsxs)("div",{className:"space-y-1",children:[(0,r.jsx)("label",{className:"text-sm font-medium",children:e.key}),e.description&&(0,r.jsx)("div",{className:"text-xs",style:{color:"var(--text-muted)"},children:e.description}),E(e)]}),"oauth"===y&&(0,r.jsxs)("div",{className:"rounded-lg p-4 space-y-3",style:{background:"var(--bg-secondary)",border:"1px solid var(--border)"},children:[(0,r.jsx)("div",{className:"text-sm font-medium",children:"Claude OAuth Status"}),j&&(0,r.jsx)("div",{className:"text-sm px-3 py-2 rounded-md",style:{background:"rgba(255,0,0,0.1)",color:"var(--accent-red, #ef4444)"},children:j}),!n&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"text-sm",style:{color:"var(--text-muted)"},children:"Not connected"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("button",{onClick:S,disabled:N,className:"px-4 py-2 rounded-md text-sm font-medium text-white",style:{background:"var(--accent-blue)",opacity:N?.6:1},children:N?"Importing...":"Import from Claude Code"}),(0,r.jsx)("button",{onClick:C,className:"px-4 py-2 rounded-md text-sm font-medium",style:{background:"var(--bg-tertiary)",color:"var(--text-secondary)",border:"1px solid var(--border)"},children:"Connect with OAuth"})]})]}),n&&!o&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"text-sm",style:{color:"var(--accent-green)"},children:"Connected"}),(null==l?void 0:l.value)&&(0,r.jsxs)("div",{className:"text-xs",style:{color:"var(--text-muted)"},children:["Subscription: ",l.value]}),(null==a?void 0:a.value)&&(0,r.jsxs)("div",{className:"text-xs",style:{color:"var(--text-muted)"},children:["Expires: ",new Date(a.value).toLocaleString()]}),(0,r.jsx)("button",{onClick:_,className:"px-3 py-1.5 rounded-md text-xs font-medium",style:{background:"var(--bg-tertiary)",color:"var(--text-secondary)",border:"1px solid var(--border)"},children:"Disconnect"})]}),n&&o&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"text-sm",style:{color:"var(--accent-yellow, orange)"},children:"Token expired"}),(0,r.jsx)("button",{onClick:C,className:"px-4 py-2 rounded-md text-sm font-medium text-white",style:{background:"var(--accent-blue)"},children:"Reconnect"})]})]})]})})();let e=b.filter(e=>!I.has(e.key));return(0,r.jsxs)("div",{className:"space-y-4 max-w-xl",children:[e.map(e=>(0,r.jsxs)("div",{className:"space-y-1",children:[(0,r.jsx)("label",{className:"text-sm font-medium",children:e.key}),e.description&&(0,r.jsx)("div",{className:"text-xs",style:{color:"var(--text-muted)"},children:e.description}),E(e)]},e.key)),0===e.length&&(0,r.jsx)("div",{className:"text-sm",style:{color:"var(--text-muted)"},children:"No settings in this category."})]})})()]})]})}function D(e){let{keyName:t,saving:s,onSave:a}=e;return(0,r.jsx)("button",{onClick:()=>a(t),disabled:s===t,className:"px-3 py-2 rounded-md text-xs font-medium text-white shrink-0",style:{background:"var(--accent-green)",opacity:s===t?.6:1},children:s===t?"Saving...":"Save"})}function O(){let[e,t]=(0,l.useState)([]),[s,a]=(0,l.useState)(null),[n,i]=(0,l.useState)(""),[d,x]=(0,l.useState)(!1),[u,m]=(0,l.useState)(!1),[p,y]=(0,l.useState)(""),[h,v]=(0,l.useState)("");(0,l.useEffect)(()=>{b()},[]);let b=()=>{let e=h?"?search=".concat(encodeURIComponent(h)):"";o("/skills".concat(e)).then(t).catch(console.error)};(0,l.useEffect)(()=>{b()},[h]);let f=e.find(e=>e.id===s);(0,l.useEffect)(()=>{f&&i(f.body)},[s]);let g=async()=>{if(s){x(!0);try{await c("/skills/".concat(s),"PUT",{body:n}),t(e=>e.map(e=>e.id===s?{...e,body:n}:e))}catch(e){console.error(e.message)}finally{x(!1)}}},j=async()=>{if(p.trim())try{let e=await c("/skills","POST",{name:p,body:"# ".concat(p,"\n")});t(t=>[...t,e]),a(e.id),y(""),m(!1)}catch(e){console.error(e.message)}},k=async e=>{try{await c("/skills/".concat(e),"DELETE"),t(t=>t.filter(t=>t.id!==e)),s===e&&(a(null),i(""))}catch(e){console.error(e.message)}},N=f&&n!==f.body;return(0,r.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,r.jsxs)("div",{className:"w-[260px] shrink-0 overflow-y-auto border-r flex flex-col",style:{borderColor:"var(--border)",background:"var(--bg-secondary)"},children:[(0,r.jsxs)("div",{className:"px-4 py-3 flex items-center justify-between",children:[(0,r.jsx)("span",{className:"text-xs font-bold tracking-wider",style:{color:"var(--text-muted)"},children:"SKILLS"}),(0,r.jsx)("button",{onClick:()=>m(!0),className:"w-6 h-6 rounded flex items-center justify-center text-sm font-bold",style:{background:"var(--bg-tertiary)",color:"var(--text-secondary)"},children:"+"})]}),(0,r.jsx)("div",{className:"px-3 pb-2",children:(0,r.jsx)("input",{type:"text",value:h,onChange:e=>v(e.target.value),placeholder:"Search skills...",className:"w-full px-2 py-1.5 rounded text-xs",style:{background:"var(--bg-primary)",border:"1px solid var(--border)"}})}),u&&(0,r.jsxs)("div",{className:"px-3 pb-2 flex gap-1",children:[(0,r.jsx)("input",{type:"text",value:p,onChange:e=>y(e.target.value),placeholder:"Skill name",className:"flex-1 px-2 py-1.5 rounded text-xs",style:{background:"var(--bg-primary)",border:"1px solid var(--border)"},onKeyDown:e=>"Enter"===e.key&&j(),autoFocus:!0}),(0,r.jsx)("button",{onClick:j,className:"px-2 py-1.5 rounded text-xs font-medium text-white",style:{background:"var(--accent-green)"},children:"Add"})]}),(0,r.jsx)("div",{className:"flex-1 overflow-y-auto space-y-0.5 px-2",children:e.map(e=>(0,r.jsxs)("div",{className:"flex items-center justify-between group",children:[(0,r.jsxs)("button",{onClick:()=>a(e.id),className:"flex-1 text-left px-2 py-2 rounded-md text-sm transition-colors",style:{background:s===e.id?"var(--bg-tertiary)":"transparent"},children:[(0,r.jsx)("div",{className:"font-medium truncate",children:e.name}),(0,r.jsxs)("div",{className:"text-xs",style:{color:"var(--text-muted)"},children:[e.category,e.tags.length?" \xb7 ".concat(e.tags.join(", ")):""]})]}),(0,r.jsx)("button",{onClick:()=>k(e.id),className:"opacity-0 group-hover:opacity-100 px-1 text-xs",style:{color:"var(--accent-red)"},title:"Delete",children:"\xd7"})]},e.id))})]}),(0,r.jsx)("div",{className:"flex-1 flex flex-col overflow-hidden",children:f?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b",style:{borderColor:"var(--border)"},children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"font-semibold",children:f.name}),(0,r.jsx)("span",{className:"text-xs ml-2",style:{color:"var(--text-muted)"},children:f.category})]}),(0,r.jsx)("button",{onClick:g,disabled:!N||d,className:"px-3 py-1.5 rounded-md text-xs font-medium text-white",style:{background:"var(--accent-green)",opacity:!N||d?.4:1},children:d?"Saving...":"Save"})]}),(0,r.jsx)("textarea",{value:n,onChange:e=>i(e.target.value),className:"flex-1 p-4 font-mono text-sm resize-none",style:{background:"var(--bg-primary)",border:"none",outline:"none"}})]}):(0,r.jsx)("div",{className:"flex-1 flex items-center justify-center",style:{color:"var(--text-muted)"},children:"Select a skill to edit"})})]})}let U=[{key:"heartbeat",label:"Heartbeat"},{key:"agents-config",label:"Config"},{key:"tools",label:"Tools"},{key:"agents",label:"Agents"},{key:"environment",label:"Environment"},{key:"soul",label:"Soul"},{key:"identity",label:"Identity"}];function L(){let[e,t]=(0,l.useState)([]),[s,a]=(0,l.useState)([]),[n,i]=(0,l.useState)(null),[d,x]=(0,l.useState)("heartbeat"),[u,m]=(0,l.useState)(""),[p,y]=(0,l.useState)(!1),[h,v]=(0,l.useState)(!1),[b,f]=(0,l.useState)("");(0,l.useEffect)(()=>{g()},[]);let g=async()=>{let e=await o("/role-configs");t(e);let s=[...new Set(e.map(e=>e.role))];a(s),!n&&s.length>0&&i(s[0])};(0,l.useEffect)(()=>{if(n&&d){var t;let s=e.find(e=>e.role===n&&e.config_type===d);m(null!=(t=null==s?void 0:s.content)?t:"")}},[n,d,e]);let j=e.find(e=>e.role===n&&e.config_type===d),k=j?u!==j.content:u.length>0,N=async()=>{if(n){y(!0);try{let e=await c("/role-configs/".concat(n,"/").concat(d),"PUT",{content:u});t(t=>{let s=t.findIndex(e=>e.role===n&&e.config_type===d);if(s>=0){let a=[...t];return a[s]=e,a}return[...t,e]})}catch(e){console.error(e.message)}finally{y(!1)}}},w=async()=>{b.trim()&&(await c("/role-configs/".concat(b,"/heartbeat"),"PUT",{content:"# ".concat(b," Heartbeat\n\nAdd your heartbeat checklist here.")}),f(""),v(!1),await g(),i(b))};return(0,r.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,r.jsxs)("div",{className:"w-[200px] shrink-0 overflow-y-auto border-r",style:{borderColor:"var(--border)",background:"var(--bg-secondary)"},children:[(0,r.jsxs)("div",{className:"px-4 py-3 flex items-center justify-between",children:[(0,r.jsx)("span",{className:"text-xs font-bold tracking-wider",style:{color:"var(--text-muted)"},children:"ROLES"}),(0,r.jsx)("button",{onClick:()=>v(!0),className:"w-6 h-6 rounded flex items-center justify-center text-sm font-bold",style:{background:"var(--bg-tertiary)",color:"var(--text-secondary)"},children:"+"})]}),h&&(0,r.jsxs)("div",{className:"px-3 pb-2 flex gap-1",children:[(0,r.jsx)("input",{type:"text",value:b,onChange:e=>f(e.target.value),placeholder:"Role name",className:"flex-1 px-2 py-1.5 rounded text-xs",style:{background:"var(--bg-primary)",border:"1px solid var(--border)"},onKeyDown:e=>"Enter"===e.key&&w(),autoFocus:!0}),(0,r.jsx)("button",{onClick:w,className:"px-2 py-1.5 rounded text-xs font-medium text-white",style:{background:"var(--accent-green)"},children:"Add"})]}),(0,r.jsx)("div",{className:"space-y-0.5 px-2",children:s.map(e=>(0,r.jsx)("button",{onClick:()=>i(e),className:"w-full text-left px-3 py-2 rounded-md text-sm font-medium transition-colors",style:{background:n===e?"var(--bg-tertiary)":"transparent",color:n===e?"var(--text-primary)":"var(--text-secondary)"},children:e},e))})]}),n?(0,r.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,r.jsx)("div",{className:"flex gap-0 border-b px-4",style:{borderColor:"var(--border)",background:"var(--bg-secondary)"},children:U.map(e=>(0,r.jsxs)("button",{onClick:()=>x(e.key),className:"px-3 py-2 text-sm font-medium transition-colors relative",style:{color:d===e.key?"var(--text-primary)":"var(--text-muted)"},children:[e.label,d===e.key&&(0,r.jsx)("div",{className:"absolute bottom-0 left-0 right-0 h-0.5",style:{background:"var(--accent-green)"}})]},e.key))}),(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b",style:{borderColor:"var(--border)"},children:[(0,r.jsxs)("span",{className:"text-sm",style:{color:"var(--text-secondary)"},children:[n," / ",d]}),(0,r.jsx)("button",{onClick:N,disabled:!k||p,className:"px-3 py-1.5 rounded-md text-xs font-medium text-white",style:{background:"var(--accent-green)",opacity:!k||p?.4:1},children:p?"Saving...":"Save"})]}),(0,r.jsx)("textarea",{value:u,onChange:e=>m(e.target.value),className:"flex-1 p-4 font-mono text-sm resize-none",style:{background:"var(--bg-primary)",border:"none",outline:"none"}})]}):(0,r.jsx)("div",{className:"flex-1 flex items-center justify-center",style:{color:"var(--text-muted)"},children:"Select a role"})]})}function M(){let[e,t]=(0,l.useState)("mission"),[s,a]=(0,l.useState)([]);return(0,l.useEffect)(()=>{let e=()=>o("/agents").then(a).catch(console.error);e();let t=setInterval(e,5e3);return()=>clearInterval(t)},[]),(0,r.jsxs)("div",{className:"h-screen flex flex-col",children:[(0,r.jsx)(d,{activeView:e,onViewChange:t}),"mission"===e?(0,r.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,r.jsx)(u,{agents:s}),(0,r.jsx)(g,{}),(0,r.jsx)(N,{})]}):"config"===e?(0,r.jsx)(E,{agents:s}):"settings"===e?(0,r.jsx)(P,{}):"skills"===e?(0,r.jsx)(O,{}):"roles"===e?(0,r.jsx)(L,{}):null]})}},5892:(e,t,s)=>{Promise.resolve().then(s.bind(s,5313))}},e=>{e.O(0,[441,255,358],()=>e(e.s=5892)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-green-500:oklch(72.3% .219 149.579);--color-gray-400:oklch(70.7% .022 261.325);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.top-1\/2{top:50%}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-40{z-index:40}.z-50{z-index:50}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-2{margin-left:calc(var(--spacing)*2)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.h-0\.5{height:calc(var(--spacing)*.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-14{height:calc(var(--spacing)*14)}.h-screen{height:100vh}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-\[90vh\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-80{width:calc(var(--spacing)*80)}.w-\[200px\]{width:200px}.w-\[240px\]{width:240px}.w-\[260px\]{width:260px}.w-\[300px\]{width:300px}.w-\[420px\]{width:420px}.w-\[480px\]{width:480px}.w-\[600px\]{width:600px}.w-full{width:100%}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing)*0)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-gray-400{background-color:var(--color-gray-400)}.bg-green-500{background-color:var(--color-green-500)}.bg-red-500{background-color:var(--color-red-500)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-10{padding-right:calc(var(--spacing)*10)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.whitespace-pre-wrap{white-space:pre-wrap}.text-white{color:var(--color-white)}.opacity-0{opacity:0}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-lg,.shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:bg-black\/5:hover{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/5:hover{background-color:color-mix(in oklab,var(--color-black)5%,transparent)}}.hover\:bg-black\/\[0\.02\]:hover{background-color:#00000005}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/\[0\.02\]:hover{background-color:color-mix(in oklab,var(--color-black)2%,transparent)}}.hover\:bg-black\/\[0\.03\]:hover{background-color:#00000008}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/\[0\.03\]:hover{background-color:color-mix(in oklab,var(--color-black)3%,transparent)}}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}:root{--bg-primary:#faf9f7;--bg-secondary:#fff;--bg-tertiary:#f5f4f2;--text-primary:#1a1a1a;--text-secondary:#6b6b6b;--text-muted:#9b9b9b;--border:#e5e3df;--border-light:#f0eeea;--accent-green:#5c7c5a;--accent-olive:#6b7c5a;--accent-red:#c45c5c;--accent-yellow:#c4a35c;--accent-blue:#5c6b8c}body{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.line-numbers{counter-reset:line}.line-numbers .line:before{counter-increment:line;content:counter(line);text-align:right;width:3rem;color:var(--text-muted);margin-right:1rem;font-size:.8rem;display:inline-block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
|
|
File without changes
|
/package/dashboard/out/_next/static/{BRrkKiSxqTmex5oLQlOY5 → TCwq0pYHnHPlPIcOGjzu7}/_ssgManifest.js
RENAMED
|
File without changes
|