hive-am 1.2.2 → 1.3.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/CHANGELOG.md +15 -1
- package/package.json +1 -1
- package/server/dist/context.js +62 -0
- package/server/dist/db/migrations.js +7 -0
- package/server/dist/db.js +4 -4
- package/server/dist/history/claude.js +8 -2
- package/server/dist/http/routes/agents.js +1 -1
- package/server/dist/http/validate.js +2 -0
- package/server/dist/instructions.js +4 -0
- package/server/dist/models.js +2 -0
- package/server/dist/providers/claude.js +13 -1
- package/server/dist/providers/opencode-server.js +59 -0
- package/server/dist/providers/opencode.js +4 -1
- package/server/dist/stats.js +15 -3
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-build-manifest.json +70 -70
- package/web/.next/app-path-routes-manifest.json +7 -7
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +49 -49
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_not-found.html +1 -1
- package/web/.next/server/app/_not-found.rsc +3 -3
- package/web/.next/server/app/agents/[id]/page.js +3 -3
- package/web/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/web/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/agents/page.js +1 -1
- package/web/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/agents.html +1 -1
- package/web/.next/server/app/agents.rsc +4 -4
- package/web/.next/server/app/connections/page.js +1 -1
- package/web/.next/server/app/connections/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/connections.html +1 -1
- package/web/.next/server/app/connections.rsc +4 -4
- package/web/.next/server/app/index.html +1 -1
- package/web/.next/server/app/index.rsc +4 -4
- package/web/.next/server/app/page.js +1 -1
- package/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/relations/page.js +1 -1
- package/web/.next/server/app/relations/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/relations.html +1 -1
- package/web/.next/server/app/relations.rsc +4 -4
- package/web/.next/server/app/resources/[id]/page.js +1 -1
- package/web/.next/server/app/resources/[id]/page.js.nft.json +1 -1
- package/web/.next/server/app/resources/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/resources/page.js +1 -1
- package/web/.next/server/app/resources/page.js.nft.json +1 -1
- package/web/.next/server/app/resources/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/resources.html +1 -1
- package/web/.next/server/app/resources.rsc +4 -4
- package/web/.next/server/app/schedules/page.js +1 -1
- package/web/.next/server/app/schedules/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/schedules.html +1 -1
- package/web/.next/server/app/schedules.rsc +4 -4
- package/web/.next/server/app/sessions/page.js +1 -1
- package/web/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/sessions.html +1 -1
- package/web/.next/server/app/sessions.rsc +4 -4
- package/web/.next/server/app/skills/page.js +1 -1
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills.html +1 -1
- package/web/.next/server/app/skills.rsc +4 -4
- package/web/.next/server/app/types/page.js +1 -1
- package/web/.next/server/app/types/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/types.html +1 -1
- package/web/.next/server/app/types.rsc +4 -4
- package/web/.next/server/app-paths-manifest.json +7 -7
- package/web/.next/server/chunks/143.js +1 -1
- package/web/.next/server/chunks/274.js +1 -1
- package/web/.next/server/chunks/306.js +1 -1
- package/web/.next/server/chunks/451.js +1 -0
- package/web/.next/server/chunks/505.js +1 -1
- package/web/.next/server/chunks/612.js +1 -1
- package/web/.next/server/chunks/716.js +2 -2
- package/web/.next/server/pages/404.html +1 -1
- package/web/.next/server/pages/500.html +1 -1
- package/web/.next/server/server-reference-manifest.json +1 -1
- package/web/.next/static/chunks/281-d8a0dcfaa6d064e4.js +1 -0
- package/web/.next/static/chunks/{291-efae53ea5f7ee92d.js → 291-23f314877fa39054.js} +1 -1
- package/web/.next/static/chunks/304-681348099f874a30.js +1 -0
- package/web/.next/static/chunks/350-0fe82e622e7a670f.js +1 -0
- package/web/.next/static/chunks/{491-6b4e6201f5110dff.js → 491-28f093772bd460ac.js} +1 -1
- package/web/.next/static/chunks/517-373a80c8ba432bdc.js +1 -0
- package/web/.next/static/chunks/654-92a63b3c4b412666.js +1 -0
- package/web/.next/static/chunks/705-780e48e55b0346bd.js +1 -0
- package/web/.next/static/chunks/{844-fe55292e0701f436.js → 844-519177e6198ca84f.js} +1 -1
- package/web/.next/static/chunks/app/agents/[id]/page-c005161cec5527d8.js +1 -0
- package/web/.next/static/chunks/app/agents/{page-f4c4c80f955f3967.js → page-9bb8cba69776c719.js} +1 -1
- package/web/.next/static/chunks/app/connections/{page-0936beaf02d863c6.js → page-eb11cfb1ffeab3ca.js} +1 -1
- package/web/.next/static/chunks/app/{layout-99620746d028dda8.js → layout-49b46c9b5aa512a8.js} +1 -1
- package/web/.next/static/chunks/app/{page-a7f292117b7d76bf.js → page-da042d146caeeab6.js} +1 -1
- package/web/.next/static/chunks/app/relations/{page-fba25393c8688714.js → page-a44fd515a3b0525e.js} +1 -1
- package/web/.next/static/chunks/app/resources/[id]/{page-d110d89bb8b5fca7.js → page-bf05836f97248ca7.js} +1 -1
- package/web/.next/static/chunks/app/resources/{page-bbd0b450d3f3131d.js → page-800f774e5cacf4c9.js} +1 -1
- package/web/.next/static/chunks/app/schedules/{page-a1124397fc760413.js → page-96976fff4ee23538.js} +1 -1
- package/web/.next/static/chunks/app/sessions/{page-0e322811b0cde724.js → page-a7534ebd90e982d6.js} +1 -1
- package/web/.next/static/chunks/app/skills/{page-22ea0ef89d9f7a13.js → page-bc1acd0663f36129.js} +1 -1
- package/web/.next/static/chunks/app/types/{page-18c4e1db2724d41d.js → page-ebd37e220f77c1f3.js} +1 -1
- package/web/.next/static/css/{b7a03c62468f4263.css → d42799b7e6a0e8a2.css} +1 -1
- package/web/.next/trace +29 -29
- package/web/.next/server/chunks/555.js +0 -1
- package/web/.next/static/chunks/176-aeaf907a6ea5627d.js +0 -1
- package/web/.next/static/chunks/350-56599dc3bf06066d.js +0 -1
- package/web/.next/static/chunks/486-13e08542f3a1cbac.js +0 -1
- package/web/.next/static/chunks/517-ccaf8cc5c733cbd8.js +0 -1
- package/web/.next/static/chunks/705-c7e75806f77b880c.js +0 -1
- package/web/.next/static/chunks/839-4aefe6e71be6e1ef.js +0 -1
- package/web/.next/static/chunks/app/agents/[id]/page-3faf40800981a736.js +0 -1
- /package/web/.next/static/{7BI__-ayGDTlOrSboD_bT → aSYzbHk1M5YeS_d3SQKTZ}/_buildManifest.js +0 -0
- /package/web/.next/static/{7BI__-ayGDTlOrSboD_bT → aSYzbHk1M5YeS_d3SQKTZ}/_ssgManifest.js +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[5506,["586","static/chunks/586-f7017d585a84738d.js","
|
|
2
|
+
2:I[5506,["586","static/chunks/586-f7017d585a84738d.js","281","static/chunks/281-d8a0dcfaa6d064e4.js","177","static/chunks/app/layout-49b46c9b5aa512a8.js"],"Shell"]
|
|
3
3
|
3:I[26082,[],""]
|
|
4
4
|
4:I[64304,[],""]
|
|
5
5
|
5:I[77363,[],"ClientPageRoot"]
|
|
6
|
-
6:I[11108,["586","static/chunks/586-f7017d585a84738d.js","706","static/chunks/706-fa2be0f10ffebe6a.js","
|
|
6
|
+
6:I[11108,["586","static/chunks/586-f7017d585a84738d.js","706","static/chunks/706-fa2be0f10ffebe6a.js","281","static/chunks/281-d8a0dcfaa6d064e4.js","517","static/chunks/517-373a80c8ba432bdc.js","192","static/chunks/app/types/page-ebd37e220f77c1f3.js"],"default"]
|
|
7
7
|
9:I[40523,[],"OutletBoundary"]
|
|
8
8
|
b:I[91962,[],"AsyncMetadataOutlet"]
|
|
9
9
|
d:I[40523,[],"ViewportBoundary"]
|
|
@@ -14,8 +14,8 @@ f:I[40523,[],"MetadataBoundary"]
|
|
|
14
14
|
:HL["/_next/static/media/33553e7595b74ccf-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
15
15
|
:HL["/_next/static/media/bb3ef058b751a6ad-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
16
16
|
:HL["/_next/static/css/945795da867f5250.css","style"]
|
|
17
|
-
:HL["/_next/static/css/
|
|
18
|
-
0:{"P":null,"b":"
|
|
17
|
+
:HL["/_next/static/css/d42799b7e6a0e8a2.css","style"]
|
|
18
|
+
0:{"P":null,"b":"aSYzbHk1M5YeS_d3SQKTZ","p":"","c":["","types"],"i":false,"f":[[["",{"children":["types",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/945795da867f5250.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/d42799b7e6a0e8a2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"__variable_23d1a5 __variable_67a390 __variable_4dc837","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var d=document.documentElement,t=localStorage.getItem('hive-theme');if(t!=='light'&&t!=='dark'){var m=matchMedia('(prefers-color-scheme: dark)');t=m.matches?'dark':'light';m.addEventListener('change',function(e){if(!localStorage.getItem('hive-theme'))d.dataset.theme=e.matches?'dark':'light'})}d.dataset.theme=t;var l=localStorage.getItem(\"hive-locale\");if(l!=='en'&&l!=='es')l=(navigator.language||'').toLowerCase().indexOf('es')===0?'es':'en';d.lang=l}catch(e){}})();"}}]}],["$","body",null,{"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]]}],{"children":["types",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","searchParams":{},"params":{},"promises":["$@7","$@8"]}],null,["$","$L9",null,{"children":["$La",["$","$Lb",null,{"promise":"$@c"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Ld",null,{"children":"$Le"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$Lf",null,{"children":["$","div",null,{"hidden":true,"children":["$","$10",null,{"fallback":null,"children":"$L11"}]}]}]]}],false]],"m":"$undefined","G":["$12",[]],"s":false,"S":true}
|
|
19
19
|
7:{}
|
|
20
20
|
8:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params"
|
|
21
21
|
e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"/_not-found/page": "app/_not-found/page.js",
|
|
3
3
|
"/apple-icon.png/route": "app/apple-icon.png/route.js",
|
|
4
|
-
"/favicon.ico/route": "app/favicon.ico/route.js",
|
|
5
4
|
"/icon.png/route": "app/icon.png/route.js",
|
|
5
|
+
"/favicon.ico/route": "app/favicon.ico/route.js",
|
|
6
6
|
"/connections/page": "app/connections/page.js",
|
|
7
|
-
"/agents/
|
|
7
|
+
"/agents/page": "app/agents/page.js",
|
|
8
|
+
"/resources/page": "app/resources/page.js",
|
|
8
9
|
"/resources/[id]/page": "app/resources/[id]/page.js",
|
|
9
10
|
"/schedules/page": "app/schedules/page.js",
|
|
10
|
-
"/resources/page": "app/resources/page.js",
|
|
11
|
-
"/sessions/page": "app/sessions/page.js",
|
|
12
11
|
"/skills/page": "app/skills/page.js",
|
|
12
|
+
"/sessions/page": "app/sessions/page.js",
|
|
13
13
|
"/types/page": "app/types/page.js",
|
|
14
|
-
"/agents/page": "app/agents/page.js",
|
|
15
|
-
"/page": "app/page.js",
|
|
16
|
-
"/
|
|
14
|
+
"/agents/[id]/page": "app/agents/[id]/page.js",
|
|
15
|
+
"/relations/page": "app/relations/page.js",
|
|
16
|
+
"/page": "app/page.js"
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=143,exports.ids=[143],exports.modules={13520:(a,b,c)=>{function d(a){}c.d(b,{h:()=>d}),c(17027)},15964:(a,b,c)=>{c.d(b,{SU:()=>s,TN:()=>p,WU:()=>o,tf:()=>r});var d=c(55322),e=c(17027),f=c(59686),g=c(93884),h=c(30584),i=c(5207),j=c(60570),k=c(85748),l=c(61162),m=c(89477),n=c(70226);let o=a=>({name:"",description:a?.description??"",role:a?.role??"worker",provider:a?.provider??"claude",model:a?.model??"",system_prompt:a?.system_prompt??"",permission:a?.permission??"acceptEdits",cwd:"",skill_ids:a?.skill_ids??[],skill_loads:a?.skill_loads??{},worker_ids:[],type_id:a?.id??null,colony_id:null,overrides:[],object_ids:[]}),p=(a,b=[])=>({name:a.name,description:a.description,role:a.role,provider:a.provider,model:a.model,system_prompt:a.system_prompt,permission:a.permission,cwd:a.cwd,skill_ids:a.skill_ids,skill_loads:a.skill_loads,worker_ids:a.worker_ids,type_id:a.type_id,colony_id:a.colony_id,overrides:a.overrides,object_ids:b}),q=(a,b,c)=>!!b&&b.inherit[c]&&!a.overrides.includes(c);function r(a,b,c,d=[]){let e={};a.name.trim()?b.some(b=>b.id!==c&&b.name.toLowerCase()===a.name.trim().toLowerCase())&&(e.name=(0,g.Tl)("form.err.nameTaken")):e.name=(0,g.Tl)("form.err.name");let f=d.find(b=>b.id===a.colony_id);return a.cwd.trim()||q(a,f,"cwd")&&f?.cwd||(e.cwd=(0,g.Tl)("form.err.folder")),e}function s({draft:a,onChange:b,errors:c,selfId:o,showType:p=!0,focusName:r=!1}){let{t:s}=(0,g.s9)(),{skills:u,providers:v,agents:w,types:x,colonies:y,connections:z,objects:A}=(0,j.q5)(),B=(0,e.useMemo)(()=>A.filter(a=>n.G.includes(a.kind)).map(a=>({id:a.id,label:a.name,hint:a.manager_id&&a.manager_id!==o?s("form.resources.taken",{name:w.find(b=>b.id===a.manager_id)?.name??""}):y.find(b=>b.id===a.colony_id)?.name??s("common.noColony")})),[A,w,y,o,s]),C=(0,e.useMemo)(()=>z.filter(a=>a.agent_id===o&&a.enabled),[z,o]),D=y.find(b=>b.id===a.colony_id),E=b=>q(a,D,b),F=(c,d)=>b({...a,overrides:d?a.overrides.filter(a=>a!==c):[...new Set([...a.overrides,c])]}),G=(c,d)=>b({...a,[c]:d}),H=(0,e.useMemo)(()=>w.filter(a=>a.id!==o&&"worker"===a.role),[w,o]),I=x.find(b=>b.id===a.type_id);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.D0,{label:s("form.name"),error:c.name,hint:s("form.name.hint"),children:(0,d.jsx)("input",{className:"input",value:a.name,onChange:a=>G("name",a.target.value),placeholder:s("form.name.placeholder"),"data-autofocus":r?"":void 0})}),(0,d.jsx)(i.D0,{label:s("form.purpose"),hint:s("form.purpose.hint"),children:(0,d.jsx)("input",{className:"input",value:a.description,onChange:a=>G("description",a.target.value),placeholder:s("form.purpose.placeholder")})}),(0,d.jsxs)(i.D0,{label:s("form.role"),children:[(0,d.jsx)(i.$q,{value:a.role,onChange:a=>G("role",a),options:[{id:"worker",label:s("role.worker")},{id:"orchestrator",label:s("role.orchestrator")}]}),(0,d.jsx)("span",{className:"hint",children:"orchestrator"===a.role?s("form.role.orchestratorHint"):s("form.role.workerHint")})]}),p&&I&&(0,d.jsx)("p",{className:"hint m0",children:s("form.basedOn",{name:I.name})}),(0,d.jsx)(i.D0,{label:s("form.colony"),hint:s("form.colony.hint"),children:(0,d.jsxs)("select",{className:"select",value:a.colony_id??"",onChange:c=>b({...a,colony_id:c.target.value||null,overrides:[]}),children:[(0,d.jsx)("option",{value:"",children:s("common.noColony")}),y.map(a=>(0,d.jsx)("option",{value:a.id,children:a.name},a.id))]})}),(0,d.jsx)(i.D0,{label:s("form.provider"),children:(0,d.jsx)(i.YO,{value:a.provider,onChange:c=>b({...a,provider:c,model:""}),providers:v})}),(0,d.jsx)(i.CD,{provider:a.provider,value:a.model,onChange:a=>G("model",a)}),D&&D.inherit.permission&&(0,d.jsx)(t,{colony:D,on:E("permission"),onChange:a=>F("permission",a),label:s("inherit.permissions"),value:(0,l.Ck)(D.permission)}),!E("permission")&&(0,d.jsx)(i.en,{value:a.permission,onChange:a=>G("permission",a),locked:C.length?["plan"]:[]}),C.length>0&&(0,d.jsxs)("p",{className:"hint m0",children:[(0,d.jsxs)("b",{children:[s("form.connections"),":"]})," ",s("form.connections.hint",{names:C.map(a=>a.name).join(", ")})]}),D&&D.inherit.cwd&&D.cwd&&(0,d.jsx)(t,{colony:D,on:E("cwd"),onChange:a=>F("cwd",a),label:s("field.folder"),value:(0,l._1)(D.cwd),mono:!0}),!(E("cwd")&&D?.cwd)&&(0,d.jsx)(i.dR,{value:a.cwd,onChange:a=>G("cwd",a),error:c.cwd}),D&&D.inherit.prompt&&D.system_prompt.trim()&&(0,d.jsx)(t,{colony:D,on:E("prompt"),onChange:a=>F("prompt",a),label:s("inherit.context"),value:`${D.system_prompt.trim().slice(0,90)}${D.system_prompt.trim().length>90?"…":""}`,note:s("inherit.context.note")}),(0,d.jsx)(i.D0,{label:E("prompt")||D?.system_prompt?s("form.ownPrompt"):s("form.systemPrompt"),hint:s("form.promptHint",{count:a.system_prompt.length,n:(0,h._E)(a.system_prompt.length)}),children:(0,d.jsx)(f.n,{value:a.system_prompt,onChange:a=>G("system_prompt",a),placeholder:s("form.prompt.placeholder"),defaultView:"write",minHeight:220})}),D&&D.inherit.skills&&D.skill_ids.length>0&&(0,d.jsx)(t,{colony:D,on:E("skills"),onChange:a=>F("skills",a),label:s("inherit.skills"),value:D.skill_ids.map(a=>u.find(b=>b.id===a)?.name).filter(Boolean).join(", "),note:s("inherit.skills.note")}),(0,d.jsx)(i.D0,{label:s("form.skills"),hint:s("form.skills.hint"),children:(0,d.jsx)(i.kV,{skills:u,value:a.skill_ids,loads:a.skill_loads,onChange:(c,d)=>b({...a,skill_ids:c,skill_loads:d})})}),B.length>0&&(0,d.jsx)(i.D0,{label:s("form.resources"),hint:s("form.resources.hint"),children:(0,d.jsx)(m.c,{multi:!0,options:B,value:a.object_ids,onChange:c=>b({...a,object_ids:c}),placeholder:s("form.resources.placeholder"),empty:s("form.resources.empty"),ariaLabel:s("form.resources")})}),"orchestrator"===a.role&&(0,d.jsx)(i.D0,{label:s("form.team"),hint:s("form.team.hint"),children:H.length?(0,d.jsx)(k.C,{items:H.map(a=>({id:a.id,name:a.name,note:a.description||a.provider})),value:a.worker_ids,onChange:a=>G("worker_ids",a)}):(0,d.jsx)("p",{className:"hint",children:s("form.team.empty")})})]})}function t({colony:a,on:b,onChange:c,label:e,value:f,note:h,mono:i}){let{t:j}=(0,g.s9)();return(0,d.jsxs)("label",{className:`inherit-row ${b?"on":""}`,children:[(0,d.jsx)("input",{type:"checkbox",checked:b,onChange:a=>c(a.target.checked)}),(0,d.jsxs)("span",{className:"grow",children:[(0,d.jsxs)("b",{children:[e," ",(0,d.jsx)("span",{className:"muted fw-500",children:j("inherit.from")})," ",(0,d.jsx)("i",{className:"cdot",style:{background:a.color||"var(--honey)"}}),a.name]}),(0,d.jsx)("span",{className:`inh-val ${i?"mono":""}`,children:f||"—"}),h&&(0,d.jsx)("span",{className:"hint",children:h})]}),(0,d.jsx)("span",{className:"inh-state",children:j(b?"inherit.following":"inherit.own")})]})}},36143:(a,b,c)=>{c.d(b,{b:()=>o,t:()=>n});var d=c(55322),e=c(17027),f=c(66252),g=c(5207),h=c(15964),i=c(60570),j=c(13520),k=c(7371),l=c(61162),m=c(93884);let n="default-objects";function o({onClose:a,onCreated:b,presetTypeId:c,presetColonyId:o,presetObjectId:p,manager:q=!1}){let{t:r}=(0,m.s9)(),{types:s,agents:t,refresh:u,colonies:v}=(0,i.q5)(),w=(0,g.dj)(),x=(0,f.useRouter)(),[y,z]=(0,e.useState)(c||q?"form":"type"),[A,B]=(0,e.useState)(()=>{let a={...(0,h.WU)(s.find(a=>a.id===c)),colony_id:o??null,object_ids:p?[p]:[]};return q?{...a,description:r("obj.manager.description"),permission:"acceptEdits",skill_ids:[...new Set([...a.skill_ids,n])],skill_loads:{...a.skill_loads,[n]:"always"}}:a}),[C,D]=(0,e.useState)(()=>JSON.stringify(A)),E=a=>{B(a),D(JSON.stringify(a)),z("form")},F=(0,e.useRef)(!1),G=JSON.stringify(A)!==C;(0,j.h)(G&&!F.current);let[H,I]=(0,e.useState)(!1),[J,K]=(0,e.useState)(!1),[L,M]=(0,e.useState)(!1),N=(0,h.tf)(A,t,void 0,v),O=async()=>{if(M(!0),!Object.keys(N).length){K(!0);try{let{object_ids:c,...d}=A,e=await k.FH.post("/agents",d);c.length&&await k.FH.put(`/agents/${e.id}/resources`,{object_ids:c}).catch(a=>w(a instanceof Error?a.message:"","err")),await u(["agents","colonies","objects"]),w(r("newAgent.created",{name:e.name})),F.current=!0,b?.(e.id),a(),x.push(`/agents/${e.id}`)}catch(a){w(a instanceof Error?a.message:r("newAgent.failed"),"err"),K(!1)}}};return"type"===y?(0,d.jsx)(g._s,{title:r("newAgent.title"),subtitle:r("newAgent.pickType"),onClose:a,children:(0,d.jsxs)("div",{className:"col gap-m",children:[s.map(a=>(0,d.jsxs)("button",{className:"card card-pad row gap-l cx-typecard",onClick:()=>{E({...(0,h.WU)(a),colony_id:o??null,object_ids:p?[p]:[]})},children:[(0,d.jsx)(g._h,{color:l.xq[a.provider].color,queen:"orchestrator"===a.role,label:a.name.slice(0,2).toUpperCase()}),(0,d.jsxs)("div",{className:"grow",children:[(0,d.jsx)("b",{className:"cx-pick-title",children:a.name}),(0,d.jsx)("div",{className:"muted small",children:a.description||r("newAgent.typeFallback",{role:r(`role.${a.role}`),provider:l.xq[a.provider].label})})]}),(0,d.jsx)("span",{className:"chip",children:l.xq[a.provider].short})]},a.id)),(0,d.jsxs)("button",{className:"card card-pad row gap-l cx-typecard blank",onClick:()=>{E({...(0,h.WU)(),colony_id:o??null,object_ids:p?[p]:[]})},children:[(0,d.jsx)(g._h,{color:"var(--muted)",label:"+"}),(0,d.jsxs)("div",{className:"grow",children:[(0,d.jsx)("b",{className:"cx-pick-title",children:r("newAgent.blank")}),(0,d.jsx)("div",{className:"muted small",children:r("newAgent.blankHint")})]})]})]})},"type"):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g._s,{title:r("newAgent.title"),subtitle:q?r("obj.manager.subtitle"):A.type_id?r("newAgent.fromType",{name:s.find(a=>a.id===A.type_id)?.name??""}):r("newAgent.blank"),onClose:()=>{!G||F.current?a():I(!0)},footer:(0,d.jsxs)(d.Fragment,{children:[!c&&!q&&(0,d.jsx)("button",{className:"btn ghost",onClick:()=>z("type"),children:r("common.back")}),(0,d.jsx)("button",{className:"btn primary",disabled:J,onClick:O,children:J?r("newAgent.creating"):r("newAgent.create")})]}),children:(0,d.jsx)(h.SU,{draft:A,onChange:B,errors:L?N:{},focusName:!0})},"form"),H&&(0,d.jsx)(g.TM,{danger:!0,title:r("fa.unsaved.title"),body:r("fa.unsaved.body"),confirmLabel:r("fa.unsaved.discard"),cancelLabel:r("fa.unsaved.keep"),onClose:()=>I(!1),onConfirm:a})]})}},59686:(a,b,c)=>{c.d(b,{n:()=>y});var d=c(55322),e=c(17027),f=c(37070),g=c(31826),h=c(20862),i=c(69048),j=c(97299),k=c(55674),l=c(73726),m=c(46875),n=c(98635),o=c(54143),p=c(22276),q=c(29723),r=c(93884);function s(a,b,c,d,e=d,f=""){let g=a.slice(b,c)||f;return a.slice(b-d.length,b)===d&&a.slice(c,c+e.length)===e&&b!==c?{value:a.slice(0,b-d.length)+g+a.slice(c+e.length),start:b-d.length,end:c-d.length}:{value:a.slice(0,b)+d+g+e+a.slice(c),start:b+d.length,end:b+d.length+g.length}}function t(a,b,c,d,e){let f=a.lastIndexOf("\n",b-1)+1,g=a.indexOf("\n",c),h=-1===g?a.length:g,i=a.slice(f,h).split("\n"),j=i.every(a=>e.test(a)),k=i.map((a,b)=>j?a.replace(e,""):d(b)+a.replace(e,"")).join("\n");return{value:a.slice(0,f)+k+a.slice(h),start:f,end:f+k.length}}let u=/^\s*[-*+] (\[[ x]\] )?/,v=/^\s*\d+\. /,w=/^#{1,6} /,x=/^> ?/;function y({value:a,onChange:b,placeholder:c,defaultView:y="split",minHeight:z=340,fill:A=!1}){let{t:B}=(0,r.s9)(),C=(0,e.useRef)(null),[D,E]=(0,e.useState)(y),F=a=>{let c=C.current;if(!c)return;let d=a(c.value,c.selectionStart,c.selectionEnd);b(d.value),requestAnimationFrame(()=>{c.focus(),c.setSelectionRange(d.start,d.end)})},G=[{id:"h",icon:(0,d.jsx)(h.A,{size:15}),label:B("md.heading"),run:()=>F((a,b,c)=>t(a,b,c,()=>"## ",w))},{id:"b",icon:(0,d.jsx)(i.A,{size:15}),label:B("md.bold"),keys:"B",run:()=>F((a,b,c)=>s(a,b,c,"**","**",B("md.boldPh")))},{id:"i",icon:(0,d.jsx)(j.A,{size:15}),label:B("md.italic"),keys:"I",run:()=>F((a,b,c)=>s(a,b,c,"*","*",B("md.italicPh")))},{id:"c",icon:(0,d.jsx)(k.A,{size:15}),label:B("md.code"),run:()=>F((a,b,c)=>s(a,b,c,"`","`","code"))},{id:"cb",icon:(0,d.jsx)(l.A,{size:15}),label:B("md.codeBlock"),run:()=>F((a,b,c)=>s(a,b,c,"\n```\n","\n```\n","code"))},{id:"ul",icon:(0,d.jsx)(m.A,{size:15}),label:B("md.bullets"),run:()=>F((a,b,c)=>t(a,b,c,()=>"- ",u))},{id:"ol",icon:(0,d.jsx)(n.A,{size:15}),label:B("md.numbered"),run:()=>F((a,b,c)=>t(a,b,c,a=>`${a+1}. `,v))},{id:"q",icon:(0,d.jsx)(o.A,{size:15}),label:B("md.quote"),run:()=>F((a,b,c)=>t(a,b,c,()=>"> ",x))},{id:"l",icon:(0,d.jsx)(p.A,{size:15}),label:B("md.link"),keys:"K",run:()=>F((a,b,c)=>{let d=a.slice(b,c)||B("md.linkPh"),e=`[${d}](https://)`;return{value:a.slice(0,b)+e+a.slice(c),start:b+d.length+3,end:b+d.length+11}})},{id:"hr",icon:(0,d.jsx)(q.A,{size:15}),label:B("md.rule"),run:()=>F((a,b,c)=>({value:a.slice(0,b)+"\n\n---\n\n"+a.slice(c),start:b+7,end:b+7}))}],H=a.trim()?a.trim().split(/\s+/).length:0;return(0,d.jsxs)("div",{className:`mde${A?" fill":""}`,children:[(0,d.jsxs)("div",{className:"mde-bar",role:"toolbar","aria-label":B("md.toolbar"),children:[G.map(a=>(0,d.jsx)("button",{type:"button",className:"mde-btn",title:a.keys?`${a.label} (Ctrl+${a.keys})`:a.label,"aria-label":a.label,onMouseDown:a=>a.preventDefault(),onClick:a.run,disabled:"preview"===D,children:a.icon},a.id)),(0,d.jsx)("span",{className:"grow"}),(0,d.jsx)("div",{className:"mde-views",role:"group",children:["write","split","preview"].map(a=>(0,d.jsx)("button",{type:"button",className:D===a?"on":"","aria-pressed":D===a,onClick:()=>E(a),children:B(`md.view.${a}`)},a))})]}),(0,d.jsxs)("div",{className:`mde-body v-${D}`,style:{minHeight:z},children:["preview"!==D&&(0,d.jsx)("textarea",{ref:C,className:"mde-text mono",style:{minHeight:z},value:a,onChange:a=>b(a.target.value),onKeyDown:a=>{let c=a.currentTarget;if(a.ctrlKey||a.metaKey){let b=G.find(b=>b.keys&&b.keys.toLowerCase()===a.key.toLowerCase());if(b){a.preventDefault(),b.run();return}}if("Tab"===a.key){a.preventDefault(),F((b,c,d)=>{if(c===d&&!a.shiftKey)return{value:b.slice(0,c)+" "+b.slice(d),start:c+2,end:c+2};let e=b.lastIndexOf("\n",c-1)+1,f=b.indexOf("\n",d),g=-1===f?b.length:f,h=b.slice(e,g).split("\n").map(b=>a.shiftKey?b.replace(/^ {1,2}/,""):" "+b).join("\n");return{value:b.slice(0,e)+h+b.slice(g),start:e,end:e+h.length}});return}if("Enter"===a.key&&!a.shiftKey&&c.selectionStart===c.selectionEnd){let d=c.value,e=c.selectionStart,f=d.lastIndexOf("\n",e-1)+1,g=d.slice(f,e),h=/^(\s*)([-*+] (?:\[[ x]\] )?|(\d+)\. )(.*)$/.exec(g);if(!h)return;if(a.preventDefault(),!h[4]){b(d.slice(0,f)+d.slice(e)),requestAnimationFrame(()=>c.setSelectionRange(f,f));return}let i=h[3]?`${h[1]}${Number(h[3])+1}. `:h[1]+h[2].replace("[x]","[ ]");b(d.slice(0,e)+"\n"+i+d.slice(e)),requestAnimationFrame(()=>{let a=e+1+i.length;c.setSelectionRange(a,a)})}},placeholder:c,spellCheck:!1}),"write"!==D&&(0,d.jsx)("div",{className:"mde-prev md",children:(0,d.jsx)(f.oz,{remarkPlugins:[g.A],children:a||B("skills.previewEmpty")})})]}),(0,d.jsxs)("div",{className:"mde-foot muted",children:[B("md.stats",{words:H,chars:a.length})," \xb7 ",B("md.tips")]})]})}},70226:(a,b,c)=>{c.d(b,{G:()=>j,I:()=>k});var d=c(55322),e=c(17027),f=c(93884),g=c(60570),h=c(5207),i=c(89477);let j=["server","docker","cluster"];function k({value:a,onChange:b}){let{t:c}=(0,f.s9)(),{agents:j,colonies:k}=(0,g.o0)(),l=(0,e.useMemo)(()=>j.map(a=>({id:a.id,label:a.name,hint:k.find(b=>b.id===a.colony_id)?.name??c("common.noColony")})),[j,k,c]);return(0,d.jsx)(h.D0,{label:c("obj.manager.label"),hint:a?c("obj.manager.hint.set"):c("obj.manager.hint.none"),children:(0,d.jsx)(i.c,{options:l,value:a?[a]:[],onChange:a=>b(a[0]??""),placeholder:c("obj.manager.placeholder"),empty:c("obj.manager.empty"),ariaLabel:c("obj.manager.label")})})}},85748:(a,b,c)=>{c.d(b,{C:()=>f});var d=c(55322),e=c(28923);function f({items:a,value:b,onChange:c}){return(0,d.jsx)("div",{className:"skillpick",children:a.map(a=>{let f=b.includes(a.id);return(0,d.jsxs)("button",{type:"button",className:"skillrow","aria-pressed":f,onClick:()=>c(f?b.filter(b=>b!==a.id):[...b,a.id]),children:[(0,d.jsx)("span",{className:"check",children:f&&(0,d.jsx)(e.A,{size:13,strokeWidth:3})}),(0,d.jsxs)("span",{children:[(0,d.jsx)("b",{className:"fw-600",children:a.name}),(0,d.jsx)("span",{className:"hint hint-block",children:a.note})]})]},a.id)})})}},89477:(a,b,c)=>{c.d(b,{c:()=>i});var d=c(55322),e=c(17027),f=c(31251),g=c(2838),h=c(40925);function i({options:a,value:b,onChange:c,multi:i=!1,inline:j=!1,placeholder:k,empty:l,ariaLabel:m,autoFocus:n=!1}){let[o,p]=(0,e.useState)(""),[q,r]=(0,e.useState)(!1),[s,t]=(0,e.useState)(0),u=(0,e.useRef)(null),v=(0,e.useRef)(null);(0,g.s)(q,u,()=>r(!1));let w=b.map(b=>a.find(a=>a.id===b)).filter(a=>!!a),x=(0,e.useMemo)(()=>{let c=o.trim().toLowerCase();return a.filter(a=>!b.includes(a.id)&&(!c||`${a.label} ${a.hint??""}`.toLowerCase().includes(c))).slice(0,50)},[a,b,o]),y=a=>{c(i?[...b,a.id]:[a.id]),p(""),r(i),i&&v.current?.focus()},z=a=>{c(b.filter(b=>b!==a)),requestAnimationFrame(()=>v.current?.focus())},A=!i&&w.length>0,B=q&&!A&&(x.length>0||!!l),C=(0,h.B)(B,s,x.length);return(0,d.jsxs)("div",{className:`sg ps ${j?"ps-inline":""}`,ref:u,children:[(0,d.jsxs)("div",{className:`ps-box input ${q?"open":""}`,onClick:()=>{A||(r(!0),v.current?.focus())},children:[w.map(a=>(0,d.jsxs)("span",{className:"chip ps-chip",children:[a.label,(0,d.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),z(a.id)},"aria-label":`\xd7 ${a.label}`,children:(0,d.jsx)(f.A,{size:12})})]},a.id)),!A&&(0,d.jsx)("input",{ref:v,className:"ps-input",value:o,placeholder:w.length?"":k,"aria-label":m,autoComplete:"off",spellCheck:!1,autoFocus:n,...C.input,onFocus:()=>r(!0),onChange:a=>{p(a.target.value),r(!0)},onKeyDown:a=>{"ArrowDown"===a.key?(a.preventDefault(),r(!0),t(a=>Math.min(x.length-1,a+1))):"ArrowUp"===a.key?(a.preventDefault(),t(a=>Math.max(0,a-1))):"Enter"===a.key&&q&&x[s]?(a.preventDefault(),y(x[s])):"Escape"===a.key&&q?(a.stopPropagation(),r(!1)):"Backspace"===a.key&&!o&&w.length&&z(w[w.length-1].id)}})]}),B&&(0,d.jsxs)("ul",{className:"sg-list",...C.listProps,children:[0===x.length&&(0,d.jsx)("li",{className:"sg-empty",children:l}),x.map((a,b)=>(0,d.jsx)("li",{...C.optionProps(b),children:(0,d.jsxs)("button",{type:"button",className:`sg-opt ${b===s?"hi":""}`,onMouseDown:a=>a.preventDefault(),onMouseEnter:()=>t(b),onClick:()=>y(a),children:[(0,d.jsx)("span",{className:"nm",children:a.label}),a.hint&&(0,d.jsx)("span",{className:"hint",children:a.hint})]})},a.id))]})]})}}};
|
|
1
|
+
"use strict";exports.id=143,exports.ids=[143],exports.modules={13520:(a,b,c)=>{function d(a){}c.d(b,{h:()=>d}),c(17027)},15964:(a,b,c)=>{c.d(b,{SU:()=>t,TN:()=>q,WU:()=>p,tf:()=>s});var d=c(55322),e=c(17027),f=c(59686),g=c(93884),h=c(30584),i=c(81963),j=c(60570),k=c(85748),l=c(61162),m=c(89477),n=c(29640),o=c(70226);let p=a=>({name:"",description:a?.description??"",role:a?.role??"worker",provider:a?.provider??"claude",model:a?.model??"",system_prompt:a?.system_prompt??"",permission:a?.permission??"acceptEdits",cwd:"",skill_ids:a?.skill_ids??[],skill_loads:a?.skill_loads??{},worker_ids:[],type_id:a?.id??null,colony_id:null,overrides:[],browser:!1,object_ids:[]}),q=(a,b=[])=>({name:a.name,description:a.description,role:a.role,provider:a.provider,model:a.model,system_prompt:a.system_prompt,permission:a.permission,cwd:a.cwd,skill_ids:a.skill_ids,skill_loads:a.skill_loads,worker_ids:a.worker_ids,type_id:a.type_id,colony_id:a.colony_id,overrides:a.overrides,browser:a.browser,object_ids:b}),r=(a,b,c)=>!!b&&b.inherit[c]&&!a.overrides.includes(c);function s(a,b,c,d=[]){let e={};a.name.trim()?b.some(b=>b.id!==c&&b.name.toLowerCase()===a.name.trim().toLowerCase())&&(e.name=(0,g.Tl)("form.err.nameTaken")):e.name=(0,g.Tl)("form.err.name");let f=d.find(b=>b.id===a.colony_id);return a.cwd.trim()||r(a,f,"cwd")&&f?.cwd||(e.cwd=(0,g.Tl)("form.err.folder")),e}function t({draft:a,onChange:b,errors:c,selfId:p,showType:q=!0,focusName:s=!1}){let{t}=(0,g.s9)(),{skills:v,providers:w,agents:x,types:y,colonies:z,connections:A,objects:B}=(0,j.q5)(),C=(0,e.useMemo)(()=>B.filter(a=>o.G.includes(a.kind)).map(a=>({id:a.id,label:a.name,hint:a.manager_id&&a.manager_id!==p?t("form.resources.taken",{name:x.find(b=>b.id===a.manager_id)?.name??""}):z.find(b=>b.id===a.colony_id)?.name??t("common.noColony")})),[B,x,z,p,t]),D=(0,e.useMemo)(()=>A.filter(a=>a.agent_id===p&&a.enabled),[A,p]),E=z.find(b=>b.id===a.colony_id),F=b=>r(a,E,b),G=(c,d)=>b({...a,overrides:d?a.overrides.filter(a=>a!==c):[...new Set([...a.overrides,c])]}),H=(c,d)=>b({...a,[c]:d}),I=(0,e.useMemo)(()=>x.filter(a=>a.id!==p&&"worker"===a.role),[x,p]),J=y.find(b=>b.id===a.type_id);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.D0,{label:t("form.name"),error:c.name,hint:t("form.name.hint"),children:(0,d.jsx)("input",{className:"input",value:a.name,onChange:a=>H("name",a.target.value),placeholder:t("form.name.placeholder"),"data-autofocus":s?"":void 0})}),(0,d.jsx)(i.D0,{label:t("form.purpose"),hint:t("form.purpose.hint"),children:(0,d.jsx)("input",{className:"input",value:a.description,onChange:a=>H("description",a.target.value),placeholder:t("form.purpose.placeholder")})}),(0,d.jsxs)(i.D0,{label:t("form.role"),children:[(0,d.jsx)(i.$q,{value:a.role,onChange:a=>H("role",a),options:[{id:"worker",label:t("role.worker")},{id:"orchestrator",label:t("role.orchestrator")}]}),(0,d.jsx)("span",{className:"hint",children:"orchestrator"===a.role?t("form.role.orchestratorHint"):t("form.role.workerHint")})]}),q&&J&&(0,d.jsx)("p",{className:"hint m0",children:t("form.basedOn",{name:J.name})}),(0,d.jsx)(i.D0,{label:t("form.colony"),hint:t("form.colony.hint"),children:(0,d.jsxs)("select",{className:"select",value:a.colony_id??"",onChange:c=>b({...a,colony_id:c.target.value||null,overrides:[]}),children:[(0,d.jsx)("option",{value:"",children:t("common.noColony")}),z.map(a=>(0,d.jsx)("option",{value:a.id,children:a.name},a.id))]})}),(0,d.jsx)(i.D0,{label:t("form.provider"),children:(0,d.jsx)(i.YO,{value:a.provider,onChange:c=>b({...a,provider:c,model:"",browser:"claude"===c&&a.browser}),providers:w})}),(0,d.jsx)(i.CD,{provider:a.provider,value:a.model,onChange:a=>H("model",a)}),"claude"===a.provider&&(0,d.jsx)(n.Tl,{checked:a.browser,onChange:a=>H("browser",a),label:t("form.browser"),hint:t("form.browser.hint")}),E&&E.inherit.permission&&(0,d.jsx)(u,{colony:E,on:F("permission"),onChange:a=>G("permission",a),label:t("inherit.permissions"),value:(0,l.Ck)(E.permission)}),!F("permission")&&(0,d.jsx)(i.en,{value:a.permission,onChange:a=>H("permission",a),locked:D.length?["plan"]:[]}),D.length>0&&(0,d.jsxs)("p",{className:"hint m0",children:[(0,d.jsxs)("b",{children:[t("form.connections"),":"]})," ",t("form.connections.hint",{names:D.map(a=>a.name).join(", ")})]}),E&&E.inherit.cwd&&E.cwd&&(0,d.jsx)(u,{colony:E,on:F("cwd"),onChange:a=>G("cwd",a),label:t("field.folder"),value:(0,l._1)(E.cwd),mono:!0}),!(F("cwd")&&E?.cwd)&&(0,d.jsx)(i.dR,{value:a.cwd,onChange:a=>H("cwd",a),error:c.cwd}),E&&E.inherit.prompt&&E.system_prompt.trim()&&(0,d.jsx)(u,{colony:E,on:F("prompt"),onChange:a=>G("prompt",a),label:t("inherit.context"),value:`${E.system_prompt.trim().slice(0,90)}${E.system_prompt.trim().length>90?"…":""}`,note:t("inherit.context.note")}),(0,d.jsx)(i.D0,{label:F("prompt")||E?.system_prompt?t("form.ownPrompt"):t("form.systemPrompt"),hint:t("form.promptHint",{count:a.system_prompt.length,n:(0,h._E)(a.system_prompt.length)}),children:(0,d.jsx)(f.n,{value:a.system_prompt,onChange:a=>H("system_prompt",a),placeholder:t("form.prompt.placeholder"),defaultView:"write",minHeight:220})}),E&&E.inherit.skills&&E.skill_ids.length>0&&(0,d.jsx)(u,{colony:E,on:F("skills"),onChange:a=>G("skills",a),label:t("inherit.skills"),value:E.skill_ids.map(a=>v.find(b=>b.id===a)?.name).filter(Boolean).join(", "),note:t("inherit.skills.note")}),(0,d.jsx)(i.D0,{label:t("form.skills"),hint:t("form.skills.hint"),children:(0,d.jsx)(i.kV,{skills:v,value:a.skill_ids,loads:a.skill_loads,onChange:(c,d)=>b({...a,skill_ids:c,skill_loads:d})})}),C.length>0&&(0,d.jsx)(i.D0,{label:t("form.resources"),hint:t("form.resources.hint"),children:(0,d.jsx)(m.c,{multi:!0,options:C,value:a.object_ids,onChange:c=>b({...a,object_ids:c}),placeholder:t("form.resources.placeholder"),empty:t("form.resources.empty"),ariaLabel:t("form.resources")})}),"orchestrator"===a.role&&(0,d.jsx)(i.D0,{label:t("form.team"),hint:t("form.team.hint"),children:I.length?(0,d.jsx)(k.C,{items:I.map(a=>({id:a.id,name:a.name,note:a.description||a.provider})),value:a.worker_ids,onChange:a=>H("worker_ids",a)}):(0,d.jsx)("p",{className:"hint",children:t("form.team.empty")})})]})}function u({colony:a,on:b,onChange:c,label:e,value:f,note:h,mono:i}){let{t:j}=(0,g.s9)();return(0,d.jsxs)("label",{className:`inherit-row ${b?"on":""}`,children:[(0,d.jsx)("input",{type:"checkbox",checked:b,onChange:a=>c(a.target.checked)}),(0,d.jsxs)("span",{className:"grow",children:[(0,d.jsxs)("b",{children:[e," ",(0,d.jsx)("span",{className:"muted fw-500",children:j("inherit.from")})," ",(0,d.jsx)("i",{className:"cdot",style:{background:a.color||"var(--honey)"}}),a.name]}),(0,d.jsx)("span",{className:`inh-val ${i?"mono":""}`,children:f||"—"}),h&&(0,d.jsx)("span",{className:"hint",children:h})]}),(0,d.jsx)("span",{className:"inh-state",children:j(b?"inherit.following":"inherit.own")})]})}},36143:(a,b,c)=>{c.d(b,{b:()=>o,t:()=>n});var d=c(55322),e=c(17027),f=c(66252),g=c(81963),h=c(15964),i=c(60570),j=c(13520),k=c(7371),l=c(61162),m=c(93884);let n="default-objects";function o({onClose:a,onCreated:b,presetTypeId:c,presetColonyId:o,presetObjectId:p,manager:q=!1}){let{t:r}=(0,m.s9)(),{types:s,agents:t,refresh:u,colonies:v}=(0,i.q5)(),w=(0,g.dj)(),x=(0,f.useRouter)(),[y,z]=(0,e.useState)(c||q?"form":"type"),[A,B]=(0,e.useState)(()=>{let a={...(0,h.WU)(s.find(a=>a.id===c)),colony_id:o??null,object_ids:p?[p]:[]};return q?{...a,description:r("obj.manager.description"),permission:"acceptEdits",skill_ids:[...new Set([...a.skill_ids,n])],skill_loads:{...a.skill_loads,[n]:"always"}}:a}),[C,D]=(0,e.useState)(()=>JSON.stringify(A)),E=a=>{B(a),D(JSON.stringify(a)),z("form")},F=(0,e.useRef)(!1),G=JSON.stringify(A)!==C;(0,j.h)(G&&!F.current);let[H,I]=(0,e.useState)(!1),[J,K]=(0,e.useState)(!1),[L,M]=(0,e.useState)(!1),N=(0,h.tf)(A,t,void 0,v),O=async()=>{if(M(!0),!Object.keys(N).length){K(!0);try{let{object_ids:c,...d}=A,e=await k.FH.post("/agents",d);c.length&&await k.FH.put(`/agents/${e.id}/resources`,{object_ids:c}).catch(a=>w(a instanceof Error?a.message:"","err")),await u(["agents","colonies","objects"]),w(r("newAgent.created",{name:e.name})),F.current=!0,b?.(e.id),a(),x.push(`/agents/${e.id}`)}catch(a){w(a instanceof Error?a.message:r("newAgent.failed"),"err"),K(!1)}}};return"type"===y?(0,d.jsx)(g._s,{title:r("newAgent.title"),subtitle:r("newAgent.pickType"),onClose:a,children:(0,d.jsxs)("div",{className:"col gap-m",children:[s.map(a=>(0,d.jsxs)("button",{className:"card card-pad row gap-l cx-typecard",onClick:()=>{E({...(0,h.WU)(a),colony_id:o??null,object_ids:p?[p]:[]})},children:[(0,d.jsx)(g._h,{color:l.xq[a.provider].color,queen:"orchestrator"===a.role,label:a.name.slice(0,2).toUpperCase()}),(0,d.jsxs)("div",{className:"grow",children:[(0,d.jsx)("b",{className:"cx-pick-title",children:a.name}),(0,d.jsx)("div",{className:"muted small",children:a.description||r("newAgent.typeFallback",{role:r(`role.${a.role}`),provider:l.xq[a.provider].label})})]}),(0,d.jsx)("span",{className:"chip",children:l.xq[a.provider].short})]},a.id)),(0,d.jsxs)("button",{className:"card card-pad row gap-l cx-typecard blank",onClick:()=>{E({...(0,h.WU)(),colony_id:o??null,object_ids:p?[p]:[]})},children:[(0,d.jsx)(g._h,{color:"var(--muted)",label:"+"}),(0,d.jsxs)("div",{className:"grow",children:[(0,d.jsx)("b",{className:"cx-pick-title",children:r("newAgent.blank")}),(0,d.jsx)("div",{className:"muted small",children:r("newAgent.blankHint")})]})]})]})},"type"):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g._s,{title:r("newAgent.title"),subtitle:q?r("obj.manager.subtitle"):A.type_id?r("newAgent.fromType",{name:s.find(a=>a.id===A.type_id)?.name??""}):r("newAgent.blank"),onClose:()=>{!G||F.current?a():I(!0)},footer:(0,d.jsxs)(d.Fragment,{children:[!c&&!q&&(0,d.jsx)("button",{className:"btn ghost",onClick:()=>z("type"),children:r("common.back")}),(0,d.jsx)("button",{className:"btn primary",disabled:J,onClick:O,children:J?r("newAgent.creating"):r("newAgent.create")})]}),children:(0,d.jsx)(h.SU,{draft:A,onChange:B,errors:L?N:{},focusName:!0})},"form"),H&&(0,d.jsx)(g.TM,{danger:!0,title:r("fa.unsaved.title"),body:r("fa.unsaved.body"),confirmLabel:r("fa.unsaved.discard"),cancelLabel:r("fa.unsaved.keep"),onClose:()=>I(!1),onConfirm:a})]})}},59686:(a,b,c)=>{c.d(b,{n:()=>y});var d=c(55322),e=c(17027),f=c(37070),g=c(31826),h=c(20862),i=c(69048),j=c(97299),k=c(55674),l=c(73726),m=c(46875),n=c(98635),o=c(54143),p=c(22276),q=c(29723),r=c(93884);function s(a,b,c,d,e=d,f=""){let g=a.slice(b,c)||f;return a.slice(b-d.length,b)===d&&a.slice(c,c+e.length)===e&&b!==c?{value:a.slice(0,b-d.length)+g+a.slice(c+e.length),start:b-d.length,end:c-d.length}:{value:a.slice(0,b)+d+g+e+a.slice(c),start:b+d.length,end:b+d.length+g.length}}function t(a,b,c,d,e){let f=a.lastIndexOf("\n",b-1)+1,g=a.indexOf("\n",c),h=-1===g?a.length:g,i=a.slice(f,h).split("\n"),j=i.every(a=>e.test(a)),k=i.map((a,b)=>j?a.replace(e,""):d(b)+a.replace(e,"")).join("\n");return{value:a.slice(0,f)+k+a.slice(h),start:f,end:f+k.length}}let u=/^\s*[-*+] (\[[ x]\] )?/,v=/^\s*\d+\. /,w=/^#{1,6} /,x=/^> ?/;function y({value:a,onChange:b,placeholder:c,defaultView:y="split",minHeight:z=340,fill:A=!1}){let{t:B}=(0,r.s9)(),C=(0,e.useRef)(null),[D,E]=(0,e.useState)(y),F=a=>{let c=C.current;if(!c)return;let d=a(c.value,c.selectionStart,c.selectionEnd);b(d.value),requestAnimationFrame(()=>{c.focus(),c.setSelectionRange(d.start,d.end)})},G=[{id:"h",icon:(0,d.jsx)(h.A,{size:15}),label:B("md.heading"),run:()=>F((a,b,c)=>t(a,b,c,()=>"## ",w))},{id:"b",icon:(0,d.jsx)(i.A,{size:15}),label:B("md.bold"),keys:"B",run:()=>F((a,b,c)=>s(a,b,c,"**","**",B("md.boldPh")))},{id:"i",icon:(0,d.jsx)(j.A,{size:15}),label:B("md.italic"),keys:"I",run:()=>F((a,b,c)=>s(a,b,c,"*","*",B("md.italicPh")))},{id:"c",icon:(0,d.jsx)(k.A,{size:15}),label:B("md.code"),run:()=>F((a,b,c)=>s(a,b,c,"`","`","code"))},{id:"cb",icon:(0,d.jsx)(l.A,{size:15}),label:B("md.codeBlock"),run:()=>F((a,b,c)=>s(a,b,c,"\n```\n","\n```\n","code"))},{id:"ul",icon:(0,d.jsx)(m.A,{size:15}),label:B("md.bullets"),run:()=>F((a,b,c)=>t(a,b,c,()=>"- ",u))},{id:"ol",icon:(0,d.jsx)(n.A,{size:15}),label:B("md.numbered"),run:()=>F((a,b,c)=>t(a,b,c,a=>`${a+1}. `,v))},{id:"q",icon:(0,d.jsx)(o.A,{size:15}),label:B("md.quote"),run:()=>F((a,b,c)=>t(a,b,c,()=>"> ",x))},{id:"l",icon:(0,d.jsx)(p.A,{size:15}),label:B("md.link"),keys:"K",run:()=>F((a,b,c)=>{let d=a.slice(b,c)||B("md.linkPh"),e=`[${d}](https://)`;return{value:a.slice(0,b)+e+a.slice(c),start:b+d.length+3,end:b+d.length+11}})},{id:"hr",icon:(0,d.jsx)(q.A,{size:15}),label:B("md.rule"),run:()=>F((a,b,c)=>({value:a.slice(0,b)+"\n\n---\n\n"+a.slice(c),start:b+7,end:b+7}))}],H=a.trim()?a.trim().split(/\s+/).length:0;return(0,d.jsxs)("div",{className:`mde${A?" fill":""}`,children:[(0,d.jsxs)("div",{className:"mde-bar",role:"toolbar","aria-label":B("md.toolbar"),children:[G.map(a=>(0,d.jsx)("button",{type:"button",className:"mde-btn",title:a.keys?`${a.label} (Ctrl+${a.keys})`:a.label,"aria-label":a.label,onMouseDown:a=>a.preventDefault(),onClick:a.run,disabled:"preview"===D,children:a.icon},a.id)),(0,d.jsx)("span",{className:"grow"}),(0,d.jsx)("div",{className:"mde-views",role:"group",children:["write","split","preview"].map(a=>(0,d.jsx)("button",{type:"button",className:D===a?"on":"","aria-pressed":D===a,onClick:()=>E(a),children:B(`md.view.${a}`)},a))})]}),(0,d.jsxs)("div",{className:`mde-body v-${D}`,style:{minHeight:z},children:["preview"!==D&&(0,d.jsx)("textarea",{ref:C,className:"mde-text mono",style:{minHeight:z},value:a,onChange:a=>b(a.target.value),onKeyDown:a=>{let c=a.currentTarget;if(a.ctrlKey||a.metaKey){let b=G.find(b=>b.keys&&b.keys.toLowerCase()===a.key.toLowerCase());if(b){a.preventDefault(),b.run();return}}if("Tab"===a.key){a.preventDefault(),F((b,c,d)=>{if(c===d&&!a.shiftKey)return{value:b.slice(0,c)+" "+b.slice(d),start:c+2,end:c+2};let e=b.lastIndexOf("\n",c-1)+1,f=b.indexOf("\n",d),g=-1===f?b.length:f,h=b.slice(e,g).split("\n").map(b=>a.shiftKey?b.replace(/^ {1,2}/,""):" "+b).join("\n");return{value:b.slice(0,e)+h+b.slice(g),start:e,end:e+h.length}});return}if("Enter"===a.key&&!a.shiftKey&&c.selectionStart===c.selectionEnd){let d=c.value,e=c.selectionStart,f=d.lastIndexOf("\n",e-1)+1,g=d.slice(f,e),h=/^(\s*)([-*+] (?:\[[ x]\] )?|(\d+)\. )(.*)$/.exec(g);if(!h)return;if(a.preventDefault(),!h[4]){b(d.slice(0,f)+d.slice(e)),requestAnimationFrame(()=>c.setSelectionRange(f,f));return}let i=h[3]?`${h[1]}${Number(h[3])+1}. `:h[1]+h[2].replace("[x]","[ ]");b(d.slice(0,e)+"\n"+i+d.slice(e)),requestAnimationFrame(()=>{let a=e+1+i.length;c.setSelectionRange(a,a)})}},placeholder:c,spellCheck:!1}),"write"!==D&&(0,d.jsx)("div",{className:"mde-prev md",children:(0,d.jsx)(f.oz,{remarkPlugins:[g.A],children:a||B("skills.previewEmpty")})})]}),(0,d.jsxs)("div",{className:"mde-foot muted",children:[B("md.stats",{words:H,chars:a.length})," \xb7 ",B("md.tips")]})]})}},70226:(a,b,c)=>{c.d(b,{G:()=>j,I:()=>k});var d=c(55322),e=c(17027),f=c(93884),g=c(60570),h=c(81963),i=c(89477);let j=["server","docker","cluster"];function k({value:a,onChange:b}){let{t:c}=(0,f.s9)(),{agents:j,colonies:k}=(0,g.o0)(),l=(0,e.useMemo)(()=>j.map(a=>({id:a.id,label:a.name,hint:k.find(b=>b.id===a.colony_id)?.name??c("common.noColony")})),[j,k,c]);return(0,d.jsx)(h.D0,{label:c("obj.manager.label"),hint:a?c("obj.manager.hint.set"):c("obj.manager.hint.none"),children:(0,d.jsx)(i.c,{options:l,value:a?[a]:[],onChange:a=>b(a[0]??""),placeholder:c("obj.manager.placeholder"),empty:c("obj.manager.empty"),ariaLabel:c("obj.manager.label")})})}},85748:(a,b,c)=>{c.d(b,{C:()=>f});var d=c(55322),e=c(28923);function f({items:a,value:b,onChange:c}){return(0,d.jsx)("div",{className:"skillpick",children:a.map(a=>{let f=b.includes(a.id);return(0,d.jsxs)("button",{type:"button",className:"skillrow","aria-pressed":f,onClick:()=>c(f?b.filter(b=>b!==a.id):[...b,a.id]),children:[(0,d.jsx)("span",{className:"check",children:f&&(0,d.jsx)(e.A,{size:13,strokeWidth:3})}),(0,d.jsxs)("span",{children:[(0,d.jsx)("b",{className:"fw-600",children:a.name}),(0,d.jsx)("span",{className:"hint hint-block",children:a.note})]})]},a.id)})})}},89477:(a,b,c)=>{c.d(b,{c:()=>i});var d=c(55322),e=c(17027),f=c(31251),g=c(2838),h=c(40925);function i({options:a,value:b,onChange:c,multi:i=!1,inline:j=!1,placeholder:k,empty:l,ariaLabel:m,autoFocus:n=!1}){let[o,p]=(0,e.useState)(""),[q,r]=(0,e.useState)(!1),[s,t]=(0,e.useState)(0),u=(0,e.useRef)(null),v=(0,e.useRef)(null);(0,g.s)(q,u,()=>r(!1));let w=b.map(b=>a.find(a=>a.id===b)).filter(a=>!!a),x=(0,e.useMemo)(()=>{let c=o.trim().toLowerCase();return a.filter(a=>!b.includes(a.id)&&(!c||`${a.label} ${a.hint??""}`.toLowerCase().includes(c))).slice(0,50)},[a,b,o]),y=a=>{c(i?[...b,a.id]:[a.id]),p(""),r(i),i&&v.current?.focus()},z=a=>{c(b.filter(b=>b!==a)),requestAnimationFrame(()=>v.current?.focus())},A=!i&&w.length>0,B=q&&!A&&(x.length>0||!!l),C=(0,h.B)(B,s,x.length);return(0,d.jsxs)("div",{className:`sg ps ${j?"ps-inline":""}`,ref:u,children:[(0,d.jsxs)("div",{className:`ps-box input ${q?"open":""}`,onClick:()=>{A||(r(!0),v.current?.focus())},children:[w.map(a=>(0,d.jsxs)("span",{className:"chip ps-chip",children:[a.label,(0,d.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),z(a.id)},"aria-label":`\xd7 ${a.label}`,children:(0,d.jsx)(f.A,{size:12})})]},a.id)),!A&&(0,d.jsx)("input",{ref:v,className:"ps-input",value:o,placeholder:w.length?"":k,"aria-label":m,autoComplete:"off",spellCheck:!1,autoFocus:n,...C.input,onFocus:()=>r(!0),onChange:a=>{p(a.target.value),r(!0)},onKeyDown:a=>{"ArrowDown"===a.key?(a.preventDefault(),r(!0),t(a=>Math.min(x.length-1,a+1))):"ArrowUp"===a.key?(a.preventDefault(),t(a=>Math.max(0,a-1))):"Enter"===a.key&&q&&x[s]?(a.preventDefault(),y(x[s])):"Escape"===a.key&&q?(a.stopPropagation(),r(!1)):"Backspace"===a.key&&!o&&w.length&&z(w[w.length-1].id)}})]}),B&&(0,d.jsxs)("ul",{className:"sg-list",...C.listProps,children:[0===x.length&&(0,d.jsx)("li",{className:"sg-empty",children:l}),x.map((a,b)=>(0,d.jsx)("li",{...C.optionProps(b),children:(0,d.jsxs)("button",{type:"button",className:`sg-opt ${b===s?"hi":""}`,onMouseDown:a=>a.preventDefault(),onMouseEnter:()=>t(b),onClick:()=>y(a),children:[(0,d.jsx)("span",{className:"nm",children:a.label}),a.hint&&(0,d.jsx)("span",{className:"hint",children:a.hint})]})},a.id))]})]})}}};
|