hive-am 1.0.0 → 1.2.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 +114 -1
- package/README.md +34 -4
- package/package.json +13 -2
- package/server/dist/api.js +42 -677
- package/server/dist/connections/addressing.js +87 -0
- package/server/dist/connections/channel-skill.js +62 -0
- package/server/dist/connections/fake.js +1 -0
- package/server/dist/connections/files.js +45 -1
- package/server/dist/connections/format.js +9 -1
- package/server/dist/connections/manager.js +60 -3
- package/server/dist/connections/outbound.js +2 -1
- package/server/dist/connections/prompt.js +12 -3
- package/server/dist/connections/rate.js +20 -0
- package/server/dist/connections/router.js +55 -22
- package/server/dist/connections/secrets.js +52 -0
- package/server/dist/connections/store.js +6 -43
- package/server/dist/connections/telegram.js +105 -14
- package/server/dist/cron.js +138 -0
- package/server/dist/db/json.js +16 -0
- package/server/dist/db/migrations.js +199 -0
- package/server/dist/db.js +98 -196
- package/server/dist/errors.js +11 -0
- package/server/dist/git/browse.js +99 -0
- package/server/dist/git/ops.js +136 -19
- package/server/dist/git/repo.js +2 -1
- package/server/dist/history/claude.js +33 -20
- package/server/dist/history/index.js +17 -9
- package/server/dist/history/kiro.js +17 -12
- package/server/dist/history/lines.js +12 -0
- package/server/dist/history/opencode.js +18 -1
- package/server/dist/http/body.js +46 -0
- package/server/dist/http/errors.js +21 -0
- package/server/dist/http/guards.js +44 -0
- package/server/dist/http/router.js +24 -0
- package/server/dist/http/routes/agents.js +103 -0
- package/server/dist/http/routes/channel.js +16 -0
- package/server/dist/http/routes/colonies.js +9 -0
- package/server/dist/http/routes/connections.js +36 -0
- package/server/dist/http/routes/fs.js +22 -0
- package/server/dist/http/routes/git.js +90 -0
- package/server/dist/http/routes/meta.js +11 -0
- package/server/dist/http/routes/notebook.js +34 -0
- package/server/dist/http/routes/orchestration.js +32 -0
- package/server/dist/http/routes/resources.js +68 -0
- package/server/dist/http/routes/schedules.js +40 -0
- package/server/dist/http/routes/skills.js +47 -0
- package/server/dist/http/routes/terminals.js +18 -0
- package/server/dist/http/routes/types.js +36 -0
- package/server/dist/http/validate.js +65 -0
- package/server/dist/index.js +74 -4
- package/server/dist/instructions.js +23 -11
- package/server/dist/objects/agent.js +49 -0
- package/server/dist/objects/database.js +451 -0
- package/server/dist/objects/db-history.js +79 -0
- package/server/dist/objects/docker-info.js +75 -0
- package/server/dist/objects/docker.js +285 -0
- package/server/dist/objects/driver-props.js +196 -0
- package/server/dist/objects/exec.js +16 -0
- package/server/dist/objects/http-history.js +44 -0
- package/server/dist/objects/http-script.js +644 -0
- package/server/dist/objects/http.js +735 -0
- package/server/dist/objects/index.js +445 -0
- package/server/dist/objects/model.js +250 -0
- package/server/dist/objects/runner.js +211 -0
- package/server/dist/objects/stats.js +106 -0
- package/server/dist/objects/store.js +115 -0
- package/server/dist/objects/supervisor.js +111 -0
- package/server/dist/objects/templates.js +67 -0
- package/server/dist/providers/claude.js +5 -13
- package/server/dist/providers/index.js +7 -1
- package/server/dist/providers/kiro.js +4 -5
- package/server/dist/providers/opencode-server.js +164 -0
- package/server/dist/providers/opencode.js +60 -37
- package/server/dist/providers/preamble.js +2 -0
- package/server/dist/providers/spawn.js +31 -3
- package/server/dist/runtime.js +10 -7
- package/server/dist/schedules.js +222 -0
- package/server/dist/seed.js +15 -11
- package/server/dist/services/agents.js +90 -0
- package/server/dist/services/colonies.js +38 -0
- package/server/dist/services/connections.js +76 -0
- package/server/dist/services/notebook.js +22 -0
- package/server/dist/services/providers.js +27 -0
- package/server/dist/services/schedules.js +18 -0
- package/server/dist/sessions-summary.js +51 -0
- package/server/dist/skills/defaults.js +120 -0
- package/server/dist/skills/notebook.js +3 -8
- package/server/dist/terminals.js +177 -0
- package/server/dist/wake.js +149 -0
- package/server/dist/watch.js +201 -0
- package/server/mcp/dispatch.mjs +169 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-build-manifest.json +145 -85
- package/web/.next/app-path-routes-manifest.json +5 -2
- package/web/.next/build-manifest.json +14 -14
- package/web/.next/prerender-manifest.json +85 -37
- package/web/.next/react-loadable-manifest.json +26 -1
- package/web/.next/required-server-files.json +13 -1
- package/web/.next/routes-manifest.json +32 -0
- package/web/.next/server/app/_not-found/page.js +2 -2
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- 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 +12 -11
- package/web/.next/server/app/agents/[id]/page.js +4 -4
- 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 +2 -2
- package/web/.next/server/app/agents/page.js.nft.json +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 +14 -13
- package/web/.next/server/app/connections/page.js +2 -2
- package/web/.next/server/app/connections/page.js.nft.json +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 +14 -13
- package/web/.next/server/app/index.html +1 -1
- package/web/.next/server/app/index.rsc +14 -13
- package/web/.next/server/app/page.js +2 -2
- 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 +2 -2
- package/web/.next/server/app/relations/page.js.nft.json +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 +14 -13
- package/web/.next/server/app/resources/[id]/page.js +2 -0
- package/web/.next/server/app/resources/[id]/page.js.nft.json +1 -0
- package/web/.next/server/app/resources/[id]/page_client-reference-manifest.js +1 -0
- package/web/.next/server/app/resources/page.js +2 -0
- package/web/.next/server/app/resources/page.js.nft.json +1 -0
- package/web/.next/server/app/resources/page_client-reference-manifest.js +1 -0
- package/web/.next/server/app/resources.html +1 -0
- package/web/.next/server/app/resources.meta +15 -0
- package/web/.next/server/app/resources.rsc +25 -0
- package/web/.next/server/app/schedules/page.js +2 -0
- package/web/.next/server/app/schedules/page.js.nft.json +1 -0
- package/web/.next/server/app/schedules/page_client-reference-manifest.js +1 -0
- package/web/.next/server/app/schedules.html +1 -0
- package/web/.next/server/app/schedules.meta +15 -0
- package/web/.next/server/app/schedules.rsc +25 -0
- package/web/.next/server/app/sessions/page.js +2 -2
- package/web/.next/server/app/sessions/page.js.nft.json +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 +14 -13
- package/web/.next/server/app/skills/page.js +2 -2
- package/web/.next/server/app/skills/page.js.nft.json +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 +14 -13
- package/web/.next/server/app/types/page.js +2 -2
- package/web/.next/server/app/types/page.js.nft.json +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 +14 -13
- package/web/.next/server/app-paths-manifest.json +5 -2
- package/web/.next/server/chunks/143.js +1 -1
- package/web/.next/server/chunks/274.js +1 -0
- package/web/.next/server/chunks/306.js +1 -0
- package/web/.next/server/chunks/423.js +1 -0
- package/web/.next/server/chunks/505.js +6 -0
- package/web/.next/server/chunks/555.js +1 -0
- package/web/.next/server/chunks/612.js +1 -0
- package/web/.next/server/chunks/638.js +1 -0
- package/web/.next/server/chunks/692.js +18 -0
- package/web/.next/server/chunks/716.js +2 -0
- package/web/.next/server/chunks/790.js +11 -0
- package/web/.next/server/chunks/802.js +1 -0
- package/web/.next/server/chunks/890.js +1 -1
- package/web/.next/server/chunks/919.js +1 -0
- package/web/.next/server/chunks/950.js +6 -0
- package/web/.next/server/middleware-build-manifest.js +1 -1
- package/web/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/web/.next/server/next-font-manifest.js +1 -1
- package/web/.next/server/next-font-manifest.json +1 -1
- 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/0937d497-114a2a3de515565e.js +1 -0
- package/web/.next/static/chunks/176-aeaf907a6ea5627d.js +1 -0
- package/web/.next/static/chunks/291-efae53ea5f7ee92d.js +1 -0
- package/web/.next/static/chunks/2b9ff8ee-969e65cc354b2150.js +1 -0
- package/web/.next/static/chunks/30-9adcbe92b15a6815.js +1 -0
- package/web/.next/static/chunks/316-26da9cc233ba7557.js +1 -0
- package/web/.next/static/chunks/350-56599dc3bf06066d.js +1 -0
- package/web/.next/static/chunks/486-13e08542f3a1cbac.js +1 -0
- package/web/.next/static/chunks/491-6b4e6201f5110dff.js +1 -0
- package/web/.next/static/chunks/517-ccaf8cc5c733cbd8.js +1 -0
- package/web/.next/static/chunks/545.bfbd92b7632c09de.js +1 -0
- package/web/.next/static/chunks/{805-d946ebedb7e85f73.js → 562-7c2e33d838e869bf.js} +1 -1
- package/web/.next/static/chunks/581-3ad5c4343dad3f50.js +1 -0
- package/web/.next/static/chunks/586-f7017d585a84738d.js +1 -0
- package/web/.next/static/chunks/657.b4c39e676c3e20dc.js +1 -0
- package/web/.next/static/chunks/701.6abcaf5e60463eef.js +6 -0
- package/web/.next/static/chunks/705-a16e1fe09be1ac7f.js +1 -0
- package/web/.next/static/chunks/706-fa2be0f10ffebe6a.js +1 -0
- package/web/.next/static/chunks/837-33c7480524f48577.js +1 -0
- package/web/.next/static/chunks/839-23c5508622fae942.js +1 -0
- package/web/.next/static/chunks/844-fe55292e0701f436.js +1 -0
- package/web/.next/static/chunks/89-b194fcffe5120c44.js +1 -0
- package/web/.next/static/chunks/97.594543c2196de524.js +1 -0
- package/web/.next/static/chunks/app/_not-found/page-238a7b80bda6b4ae.js +1 -0
- package/web/.next/static/chunks/app/agents/[id]/page-4af6c246c4ca7a97.js +1 -0
- package/web/.next/static/chunks/app/agents/page-f4c4c80f955f3967.js +1 -0
- package/web/.next/static/chunks/app/connections/page-0936beaf02d863c6.js +1 -0
- package/web/.next/static/chunks/app/layout-87ebb70bd9cb8443.js +1 -0
- package/web/.next/static/chunks/app/page-a7f292117b7d76bf.js +1 -0
- package/web/.next/static/chunks/app/relations/page-fba25393c8688714.js +1 -0
- package/web/.next/static/chunks/app/resources/[id]/page-d110d89bb8b5fca7.js +1 -0
- package/web/.next/static/chunks/app/resources/page-bbd0b450d3f3131d.js +1 -0
- package/web/.next/static/chunks/app/schedules/page-a1124397fc760413.js +1 -0
- package/web/.next/static/chunks/app/sessions/page-0e322811b0cde724.js +1 -0
- package/web/.next/static/chunks/app/skills/page-22ea0ef89d9f7a13.js +1 -0
- package/web/.next/static/chunks/app/types/page-18c4e1db2724d41d.js +1 -0
- package/web/.next/static/chunks/fcafe1ac.366e4950d3b0d4b7.js +18 -0
- package/web/.next/static/chunks/framework-bbac72adbbe2d328.js +1 -0
- package/web/.next/static/chunks/main-app-6086068e5fb5eacd.js +1 -0
- package/web/.next/static/chunks/main-c15f3fee674e0303.js +1 -0
- package/web/.next/static/chunks/pages/_app-d1670a2c6ce392fc.js +1 -0
- package/web/.next/static/chunks/pages/_error-95aac014d202fa7a.js +1 -0
- package/web/.next/static/chunks/webpack-ef515e41a83a16ac.js +1 -0
- package/web/.next/static/css/945795da867f5250.css +1 -0
- package/web/.next/static/css/dd4e32c285f75776.css +1 -0
- package/web/.next/static/p4S3i9kvO359GW91DQiHu/_buildManifest.js +1 -0
- package/web/.next/trace +29 -23
- package/web/.next/types/app/resources/[id]/page.ts +84 -0
- package/web/.next/types/app/resources/page.ts +84 -0
- package/web/.next/types/app/schedules/page.ts +84 -0
- package/web/.next/types/routes.d.ts +7 -2
- package/web/.next/types/validator.ts +27 -0
- package/web/next.config.mjs +4 -0
- package/web/.next/server/chunks/149.js +0 -11
- package/web/.next/server/chunks/247.js +0 -1
- package/web/.next/server/chunks/851.js +0 -1
- package/web/.next/server/chunks/932.js +0 -2
- package/web/.next/static/84BpRSahg2BTwk3mX6AG8/_buildManifest.js +0 -1
- package/web/.next/static/chunks/0937d497-44abb0f9355ace92.js +0 -1
- package/web/.next/static/chunks/2b9ff8ee-c3b61ac1e608c57d.js +0 -1
- package/web/.next/static/chunks/351-65da8c1a6e25f93b.js +0 -1
- package/web/.next/static/chunks/463-6ae35cdefdc59169.js +0 -1
- package/web/.next/static/chunks/493-92266798be872b8f.js +0 -1
- package/web/.next/static/chunks/517-eb26c72f6059aa26.js +0 -1
- package/web/.next/static/chunks/657.f1e03b7b65eba1d9.js +0 -1
- package/web/.next/static/chunks/687-3a4205f51be38602.js +0 -1
- package/web/.next/static/chunks/837-fd7623601dc78ed8.js +0 -1
- package/web/.next/static/chunks/850-318f32484989dd59.js +0 -1
- package/web/.next/static/chunks/89-ace2e1aa63babfdf.js +0 -1
- package/web/.next/static/chunks/951-e250b541b67da7ce.js +0 -1
- package/web/.next/static/chunks/app/_not-found/page-bbd54d7b9a55d7ae.js +0 -1
- package/web/.next/static/chunks/app/agents/[id]/page-5eaf094fec246f1b.js +0 -1
- package/web/.next/static/chunks/app/agents/page-e9b17f1c3439ef98.js +0 -1
- package/web/.next/static/chunks/app/connections/page-c6afd90abd82d47a.js +0 -1
- package/web/.next/static/chunks/app/layout-c415d5a847cd94b3.js +0 -1
- package/web/.next/static/chunks/app/page-6fc87fc5a128a204.js +0 -1
- package/web/.next/static/chunks/app/relations/page-0355a93a8eb67989.js +0 -1
- package/web/.next/static/chunks/app/sessions/page-beae9a74a07d69e0.js +0 -1
- package/web/.next/static/chunks/app/skills/page-4f839ac913e26d32.js +0 -1
- package/web/.next/static/chunks/app/types/page-4f6b99af3232f861.js +0 -1
- package/web/.next/static/chunks/framework-0e68884e76d9a8d3.js +0 -1
- package/web/.next/static/chunks/main-app-d6f73ccd41f325c5.js +0 -1
- package/web/.next/static/chunks/main-cd22509db15764e2.js +0 -1
- package/web/.next/static/chunks/pages/_app-0f75d689c738a6fc.js +0 -1
- package/web/.next/static/chunks/pages/_error-d481f6d49fb4455d.js +0 -1
- package/web/.next/static/chunks/webpack-d40de72e52f65f79.js +0 -1
- package/web/.next/static/css/abe1a6216491f944.css +0 -1
- /package/web/.next/static/{84BpRSahg2BTwk3mX6AG8 → p4S3i9kvO359GW91DQiHu}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--84BpRSahg2BTwk3mX6AG8--><html lang="en" class="__variable_23d1a5 __variable_67a390 __variable_4dc837"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/313510e2713fb214-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/33553e7595b74ccf-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" href="/icon.png"/><link rel="stylesheet" href="/_next/static/css/abe1a6216491f944.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-d40de72e52f65f79.js"/><script src="/_next/static/chunks/0937d497-44abb0f9355ace92.js" async=""></script><script src="/_next/static/chunks/89-ace2e1aa63babfdf.js" async=""></script><script src="/_next/static/chunks/main-app-d6f73ccd41f325c5.js" async=""></script><script src="/_next/static/chunks/463-6ae35cdefdc59169.js" async=""></script><script src="/_next/static/chunks/493-92266798be872b8f.js" async=""></script><script src="/_next/static/chunks/app/layout-c415d5a847cd94b3.js" async=""></script><script src="/_next/static/chunks/951-e250b541b67da7ce.js" async=""></script><script src="/_next/static/chunks/517-eb26c72f6059aa26.js" async=""></script><script src="/_next/static/chunks/app/types/page-4f6b99af3232f861.js" async=""></script><meta name="next-size-adjust" content=""/><title>hive-am</title><meta name="description" content="Run a colony of coding agents across Claude Code, OpenCode and Kiro."/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/icon.png?4b73b0b54465bf4f" type="image/png" sizes="256x256"/><link rel="apple-touch-icon" href="/apple-icon.png?cac1d6d73e6ce0be" type="image/png" sizes="180x180"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="shell"><nav class="rail" aria-label="Main"><div class="brand"><img src="/icon.png" width="34" height="34" alt="" aria-hidden="true" class="brand-mark"/><div>hive-am<small>agent colony manager</small></div></div><div class="lang-row" role="group" aria-label="Language"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg><div class="seg"><button type="button" aria-pressed="true" lang="en" title="English" aria-label="English">EN</button><button type="button" aria-pressed="false" lang="es" title="Español" aria-label="Español">ES</button></div></div><a class="nav" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-hexagon"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg><span class="t">Colony</span></a><a class="nav" href="/agents"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg><span class="t">Agents</span><span class="count">0</span></a><a class="nav" href="/relations"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-network"><rect x="16" y="16" width="6" height="6" rx="1"></rect><rect x="2" y="16" width="6" height="6" rx="1"></rect><rect x="9" y="2" width="6" height="6" rx="1"></rect><path d="M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"></path><path d="M12 12V8"></path></svg><span class="t">Relations</span></a><a class="nav" href="/connections"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plug"><path d="M12 22v-5"></path><path d="M9 8V2"></path><path d="M15 8V2"></path><path d="M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z"></path></svg><span class="t">Connections</span></a><div class="nav-label">Library</div><a class="nav" aria-current="page" href="/types"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-boxes"><path d="M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z"></path><path d="m7 16.5-4.74-2.85"></path><path d="m7 16.5 5-3"></path><path d="M7 16.5v5.17"></path><path d="M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z"></path><path d="m17 16.5-5-3"></path><path d="m17 16.5 4.74-2.85"></path><path d="M17 16.5v5.17"></path><path d="M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z"></path><path d="M12 8 7.26 5.15"></path><path d="m12 8 4.74-2.85"></path><path d="M12 13.5V8"></path></svg><span class="t">Agent types</span><span class="count">0</span></a><a class="nav" href="/skills"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-library"><path d="m16 6 4 14"></path><path d="M12 6v14"></path><path d="M8 8v12"></path><path d="M4 4v16"></path></svg><span class="t">Skills</span><span class="count">0</span></a><div class="nav-label">History</div><a class="nav" href="/sessions"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-history"><path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"></path><path d="M3 3v5h5"></path><path d="M12 7v5l4 2"></path></svg><span class="t">Sessions</span></a><div class="rail-foot"><div class="conn"><i class="dot err"></i>Server offline — retrying</div><button class="btn ghost sm" style="justify-content:flex-start"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg> <!-- -->Switch theme</button></div></nav><main class="main"><div class="page"><div class="page-head"><div><h1>Agent types</h1><p>Reusable blueprints: provider, model, prompt, permissions and skills. Create an agent from a type in two clicks.</p></div><button class="btn primary"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg>New type</button></div><div class="typegrid"></div></div><!--$--><!--/$--></main></div><div class="toasts" role="status" aria-live="polite"></div><script src="/_next/static/chunks/webpack-d40de72e52f65f79.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[6085,[\"463\",\"static/chunks/463-6ae35cdefdc59169.js\",\"493\",\"static/chunks/493-92266798be872b8f.js\",\"177\",\"static/chunks/app/layout-c415d5a847cd94b3.js\"],\"Shell\"]\n3:I[6082,[],\"\"]\n4:I[4304,[],\"\"]\n5:I[7363,[],\"ClientPageRoot\"]\n6:I[1108,[\"951\",\"static/chunks/951-e250b541b67da7ce.js\",\"493\",\"static/chunks/493-92266798be872b8f.js\",\"517\",\"static/chunks/517-eb26c72f6059aa26.js\",\"192\",\"static/chunks/app/types/page-4f6b99af3232f861.js\"],\"default\"]\n9:I[523,[],\"OutletBoundary\"]\nb:I[1962,[],\"AsyncMetadataOutlet\"]\nd:I[523,[],\"ViewportBoundary\"]\nf:I[523,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[6765,[],\"\"]\n:HL[\"/_next/static/media/313510e2713fb214-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/33553e7595b74ccf-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/bb3ef058b751a6ad-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/abe1a6216491f944.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"84BpRSahg2BTwk3mX6AG8\",\"p\":\"\",\"c\":[\"\",\"types\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"types\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/abe1a6216491f944.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_23d1a5 __variable_67a390 __variable_4dc837\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"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}\n"])</script><script>self.__next_f.push([1,"7:{}\n8:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\na:null\n"])</script><script>self.__next_f.push([1,"13:I[3970,[],\"IconMark\"]\nc:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"hive-am\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Run a colony of coding agents across Claude Code, OpenCode and Kiro.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/icon.png?4b73b0b54465bf4f\",\"type\":\"image/png\",\"sizes\":\"256x256\"}],[\"$\",\"link\",\"4\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?cac1d6d73e6ce0be\",\"type\":\"image/png\",\"sizes\":\"180x180\"}],[\"$\",\"$L13\",\"5\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"11:\"$c:metadata\"\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><!--p4S3i9kvO359GW91DQiHu--><html lang="en" class="__variable_23d1a5 __variable_67a390 __variable_4dc837"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/313510e2713fb214-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/33553e7595b74ccf-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" href="/icon.png"/><link rel="stylesheet" href="/_next/static/css/945795da867f5250.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/dd4e32c285f75776.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-ef515e41a83a16ac.js"/><script src="/_next/static/chunks/0937d497-114a2a3de515565e.js" async=""></script><script src="/_next/static/chunks/89-b194fcffe5120c44.js" async=""></script><script src="/_next/static/chunks/main-app-6086068e5fb5eacd.js" async=""></script><script src="/_next/static/chunks/586-f7017d585a84738d.js" async=""></script><script src="/_next/static/chunks/839-23c5508622fae942.js" async=""></script><script src="/_next/static/chunks/app/layout-87ebb70bd9cb8443.js" async=""></script><script src="/_next/static/chunks/706-fa2be0f10ffebe6a.js" async=""></script><script src="/_next/static/chunks/517-ccaf8cc5c733cbd8.js" async=""></script><script src="/_next/static/chunks/app/types/page-18c4e1db2724d41d.js" async=""></script><meta name="next-size-adjust" content=""/><title>hive-am</title><meta name="description" content="Run a colony of coding agents across Claude Code, OpenCode and Kiro."/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/icon.png?4b73b0b54465bf4f" type="image/png" sizes="256x256"/><link rel="apple-touch-icon" href="/apple-icon.png?cac1d6d73e6ce0be" type="image/png" sizes="180x180"/><script>(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){}})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="shell"><nav class="rail" aria-label="Main"><div class="brand"><img src="/icon.png" width="34" height="34" alt="" aria-hidden="true" class="brand-mark"/><div>hive-am<small>agent colony manager</small></div></div><div class="lang-row" role="group" aria-label="Language"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg><div class="seg"><button type="button" aria-pressed="true" lang="en" title="English" aria-label="English">EN</button><button type="button" aria-pressed="false" lang="es" title="Español" aria-label="Español">ES</button></div></div><a class="nav" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-hexagon"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg><span class="t">Colony</span></a><a class="nav" href="/resources"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-server"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg><span class="t">Resources</span></a><a class="nav" href="/agents"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg><span class="t">Agents</span><span class="count">0</span></a><a class="nav" href="/relations"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-network"><rect x="16" y="16" width="6" height="6" rx="1"></rect><rect x="2" y="16" width="6" height="6" rx="1"></rect><rect x="9" y="2" width="6" height="6" rx="1"></rect><path d="M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"></path><path d="M12 12V8"></path></svg><span class="t">Relations</span></a><a class="nav" href="/connections"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plug"><path d="M12 22v-5"></path><path d="M9 8V2"></path><path d="M15 8V2"></path><path d="M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z"></path></svg><span class="t">Connections</span></a><a class="nav" href="/schedules"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-clock"><path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5"></path><path d="M16 2v4"></path><path d="M8 2v4"></path><path d="M3 10h5"></path><path d="M17.5 17.5 16 16.3V14"></path><circle cx="16" cy="16" r="6"></circle></svg><span class="t">Schedules</span></a><div class="nav-label">Library</div><a class="nav" aria-current="page" href="/types"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-boxes"><path d="M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z"></path><path d="m7 16.5-4.74-2.85"></path><path d="m7 16.5 5-3"></path><path d="M7 16.5v5.17"></path><path d="M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z"></path><path d="m17 16.5-5-3"></path><path d="m17 16.5 4.74-2.85"></path><path d="M17 16.5v5.17"></path><path d="M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z"></path><path d="M12 8 7.26 5.15"></path><path d="m12 8 4.74-2.85"></path><path d="M12 13.5V8"></path></svg><span class="t">Agent types</span><span class="count">0</span></a><a class="nav" href="/skills"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-library"><path d="m16 6 4 14"></path><path d="M12 6v14"></path><path d="M8 8v12"></path><path d="M4 4v16"></path></svg><span class="t">Skills</span><span class="count">0</span></a><div class="nav-label">History</div><a class="nav" href="/sessions"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-history"><path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"></path><path d="M3 3v5h5"></path><path d="M12 7v5l4 2"></path></svg><span class="t">Sessions</span></a><div class="rail-foot"><button type="button" class="nav" aria-pressed="false" title="Terminal (Ctrl+`)"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-terminal"><path d="m7 11 2-2-2-2"></path><path d="M11 13h4"></path><rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect></svg><span class="t">Terminal</span></button><div class="conn"><i class="dot err"></i>Server offline. Retrying…</div><button type="button" class="nav" aria-pressed="false"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span class="t">Switch theme</span></button></div></nav><main class="main"><div class="page"><div class="page-head"><div><h1>Agent types</h1><p>Reusable blueprints: provider, model, prompt, permissions and skills. Create an agent from a type in two clicks.</p></div><button class="btn primary"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg>New type</button></div><div class="typegrid"></div></div><!--$--><!--/$--></main></div><div class="toasts" data-live="true"></div><script src="/_next/static/chunks/webpack-ef515e41a83a16ac.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[5506,[\"586\",\"static/chunks/586-f7017d585a84738d.js\",\"839\",\"static/chunks/839-23c5508622fae942.js\",\"177\",\"static/chunks/app/layout-87ebb70bd9cb8443.js\"],\"Shell\"]\n3:I[26082,[],\"\"]\n4:I[64304,[],\"\"]\n5:I[77363,[],\"ClientPageRoot\"]\n6:I[11108,[\"586\",\"static/chunks/586-f7017d585a84738d.js\",\"706\",\"static/chunks/706-fa2be0f10ffebe6a.js\",\"839\",\"static/chunks/839-23c5508622fae942.js\",\"517\",\"static/chunks/517-ccaf8cc5c733cbd8.js\",\"192\",\"static/chunks/app/types/page-18c4e1db2724d41d.js\"],\"default\"]\n9:I[40523,[],\"OutletBoundary\"]\nb:I[91962,[],\"AsyncMetadataOutlet\"]\nd:I[40523,[],\"ViewportBoundary\"]\nf:I[40523,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[89146,[],\"\"]\n:HL[\"/_next/static/media/313510e2713fb214-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/33553e7595b74ccf-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/bb3ef058b751a6ad-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/945795da867f5250.css\",\"style\"]\n:HL[\"/_next/static/css/dd4e32c285f75776.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"p4S3i9kvO359GW91DQiHu\",\"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/dd4e32c285f75776.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'\u0026\u0026t!=='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'\u0026\u0026l!=='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}\n"])</script><script>self.__next_f.push([1,"7:{}\n8:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\na:null\n"])</script><script>self.__next_f.push([1,"13:I[13970,[],\"IconMark\"]\nc:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"hive-am\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Run a colony of coding agents across Claude Code, OpenCode and Kiro.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/icon.png?4b73b0b54465bf4f\",\"type\":\"image/png\",\"sizes\":\"256x256\"}],[\"$\",\"link\",\"4\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?cac1d6d73e6ce0be\",\"type\":\"image/png\",\"sizes\":\"180x180\"}],[\"$\",\"$L13\",\"5\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"11:\"$c:metadata\"\n"])</script></body></html>
|
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[
|
|
3
|
-
3:I[
|
|
4
|
-
4:I[
|
|
5
|
-
5:I[
|
|
6
|
-
6:I[
|
|
7
|
-
9:I[
|
|
8
|
-
b:I[
|
|
9
|
-
d:I[
|
|
10
|
-
f:I[
|
|
2
|
+
2:I[5506,["586","static/chunks/586-f7017d585a84738d.js","839","static/chunks/839-23c5508622fae942.js","177","static/chunks/app/layout-87ebb70bd9cb8443.js"],"Shell"]
|
|
3
|
+
3:I[26082,[],""]
|
|
4
|
+
4:I[64304,[],""]
|
|
5
|
+
5:I[77363,[],"ClientPageRoot"]
|
|
6
|
+
6:I[11108,["586","static/chunks/586-f7017d585a84738d.js","706","static/chunks/706-fa2be0f10ffebe6a.js","839","static/chunks/839-23c5508622fae942.js","517","static/chunks/517-ccaf8cc5c733cbd8.js","192","static/chunks/app/types/page-18c4e1db2724d41d.js"],"default"]
|
|
7
|
+
9:I[40523,[],"OutletBoundary"]
|
|
8
|
+
b:I[91962,[],"AsyncMetadataOutlet"]
|
|
9
|
+
d:I[40523,[],"ViewportBoundary"]
|
|
10
|
+
f:I[40523,[],"MetadataBoundary"]
|
|
11
11
|
10:"$Sreact.suspense"
|
|
12
|
-
12:I[
|
|
12
|
+
12:I[89146,[],""]
|
|
13
13
|
:HL["/_next/static/media/313510e2713fb214-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
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
|
-
:HL["/_next/static/css/
|
|
17
|
-
|
|
16
|
+
:HL["/_next/static/css/945795da867f5250.css","style"]
|
|
17
|
+
:HL["/_next/static/css/dd4e32c285f75776.css","style"]
|
|
18
|
+
0:{"P":null,"b":"p4S3i9kvO359GW91DQiHu","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/dd4e32c285f75776.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}
|
|
18
19
|
7:{}
|
|
19
20
|
8:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params"
|
|
20
21
|
e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
21
22
|
a:null
|
|
22
|
-
13:I[
|
|
23
|
+
13:I[13970,[],"IconMark"]
|
|
23
24
|
c:{"metadata":[["$","title","0",{"children":"hive-am"}],["$","meta","1",{"name":"description","content":"Run a colony of coding agents across Claude Code, OpenCode and Kiro."}],["$","link","2",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"16x16"}],["$","link","3",{"rel":"icon","href":"/icon.png?4b73b0b54465bf4f","type":"image/png","sizes":"256x256"}],["$","link","4",{"rel":"apple-touch-icon","href":"/apple-icon.png?cac1d6d73e6ce0be","type":"image/png","sizes":"180x180"}],["$","$L13","5",{}]],"error":null,"digest":"$undefined"}
|
|
24
25
|
11:"$c:metadata"
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"/_not-found/page": "app/_not-found/page.js",
|
|
3
|
-
"/apple-icon.png/route": "app/apple-icon.png/route.js",
|
|
4
3
|
"/favicon.ico/route": "app/favicon.ico/route.js",
|
|
4
|
+
"/apple-icon.png/route": "app/apple-icon.png/route.js",
|
|
5
5
|
"/icon.png/route": "app/icon.png/route.js",
|
|
6
6
|
"/agents/[id]/page": "app/agents/[id]/page.js",
|
|
7
|
+
"/relations/page": "app/relations/page.js",
|
|
8
|
+
"/resources/[id]/page": "app/resources/[id]/page.js",
|
|
7
9
|
"/connections/page": "app/connections/page.js",
|
|
10
|
+
"/resources/page": "app/resources/page.js",
|
|
8
11
|
"/agents/page": "app/agents/page.js",
|
|
9
12
|
"/page": "app/page.js",
|
|
10
|
-
"/
|
|
13
|
+
"/schedules/page": "app/schedules/page.js",
|
|
11
14
|
"/sessions/page": "app/sessions/page.js",
|
|
12
15
|
"/skills/page": "app/skills/page.js",
|
|
13
16
|
"/types/page": "app/types/page.js"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=143,exports.ids=[143],exports.modules={15964:(a,b,c)=>{c.d(b,{SU:()=>q,TN:()=>n,WU:()=>m,tf:()=>p});var d=c(55322),e=c(17027),f=c(59686),g=c(28923),h=c(93884),i=c(30584),j=c(60992),k=c(60570),l=c(61162);let m=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:[]}),n=a=>({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}),o=(a,b,c)=>!!b&&b.inherit[c]&&!a.overrides.includes(c);function p(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,h.Tl)("form.err.nameTaken")):e.name=(0,h.Tl)("form.err.name");let f=d.find(b=>b.id===a.colony_id);return a.cwd.trim()||o(a,f,"cwd")&&f?.cwd||(e.cwd=(0,h.Tl)("form.err.folder")),e}function q({draft:a,onChange:b,errors:c,selfId:m,showType:n=!0,focusName:p=!1}){let{t:q}=(0,h.s9)(),{skills:s,providers:t,agents:u,types:v,colonies:w,connections:x}=(0,k.o0)(),y=(0,e.useMemo)(()=>x.filter(a=>a.agent_id===m&&a.enabled),[x,m]),z=w.find(b=>b.id===a.colony_id),A=b=>o(a,z,b),B=(c,d)=>b({...a,overrides:d?a.overrides.filter(a=>a!==c):[...new Set([...a.overrides,c])]}),C=(c,d)=>b({...a,[c]:d}),D=(0,e.useMemo)(()=>u.filter(a=>a.id!==m&&"worker"===a.role),[u,m]),E=v.find(b=>b.id===a.type_id);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(j.D0,{label:q("form.name"),error:c.name,hint:q("form.name.hint"),children:(0,d.jsx)("input",{className:"input",value:a.name,onChange:a=>C("name",a.target.value),placeholder:q("form.name.placeholder"),autoFocus:p})}),(0,d.jsx)(j.D0,{label:q("form.purpose"),hint:q("form.purpose.hint"),children:(0,d.jsx)("input",{className:"input",value:a.description,onChange:a=>C("description",a.target.value),placeholder:q("form.purpose.placeholder")})}),(0,d.jsxs)(j.D0,{label:q("form.role"),children:[(0,d.jsx)(j.$q,{value:a.role,onChange:a=>C("role",a),options:[{id:"worker",label:q("role.worker")},{id:"orchestrator",label:q("role.orchestrator")}]}),(0,d.jsx)("span",{className:"hint",children:q("orchestrator"===a.role?"form.role.orchestratorHint":"form.role.workerHint")})]}),n&&E&&(0,d.jsx)("p",{className:"hint",style:{margin:0},children:q("form.basedOn",{name:E.name})}),(0,d.jsx)(j.D0,{label:q("form.colony"),hint:q("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:q("common.noColony")}),w.map(a=>(0,d.jsx)("option",{value:a.id,children:a.name},a.id))]})}),(0,d.jsx)(j.D0,{label:q("form.provider"),children:(0,d.jsx)(j.YO,{value:a.provider,onChange:c=>b({...a,provider:c,model:""}),providers:t})}),(0,d.jsx)(j.CD,{provider:a.provider,value:a.model,onChange:a=>C("model",a)}),z&&z.inherit.permission&&(0,d.jsx)(r,{colony:z,on:A("permission"),onChange:a=>B("permission",a),label:q("inherit.permissions"),value:(0,l.Ck)(z.permission)}),!A("permission")&&(0,d.jsx)(j.en,{value:a.permission,onChange:a=>C("permission",a),locked:y.length?["plan"]:[]}),y.length>0&&(0,d.jsxs)("p",{className:"hint",style:{margin:0},children:[(0,d.jsxs)("b",{children:[q("form.connections"),":"]})," ",q("form.connections.hint",{names:y.map(a=>a.name).join(", ")})]}),z&&z.inherit.cwd&&z.cwd&&(0,d.jsx)(r,{colony:z,on:A("cwd"),onChange:a=>B("cwd",a),label:q("field.folder"),value:(0,l._1)(z.cwd),mono:!0}),!(A("cwd")&&z?.cwd)&&(0,d.jsx)(j.dR,{value:a.cwd,onChange:a=>C("cwd",a),error:c.cwd}),z&&z.inherit.prompt&&z.system_prompt.trim()&&(0,d.jsx)(r,{colony:z,on:A("prompt"),onChange:a=>B("prompt",a),label:q("inherit.context"),value:`${z.system_prompt.trim().slice(0,90)}${z.system_prompt.trim().length>90?"…":""}`,note:q("inherit.context.note")}),(0,d.jsx)(j.D0,{label:q(A("prompt")||z?.system_prompt?"form.ownPrompt":"form.systemPrompt"),hint:q("form.promptHint",{count:a.system_prompt.length,n:(0,i._E)(a.system_prompt.length)}),children:(0,d.jsx)(f.n,{value:a.system_prompt,onChange:a=>C("system_prompt",a),placeholder:q("form.prompt.placeholder"),defaultView:"write",minHeight:220})}),z&&z.inherit.skills&&z.skill_ids.length>0&&(0,d.jsx)(r,{colony:z,on:A("skills"),onChange:a=>B("skills",a),label:q("inherit.skills"),value:z.skill_ids.map(a=>s.find(b=>b.id===a)?.name).filter(Boolean).join(", "),note:q("inherit.skills.note")}),(0,d.jsx)(j.D0,{label:q("form.skills"),hint:q("form.skills.hint"),children:(0,d.jsx)(j.kV,{skills:s,value:a.skill_ids,loads:a.skill_loads,onChange:(c,d)=>b({...a,skill_ids:c,skill_loads:d})})}),"orchestrator"===a.role&&(0,d.jsx)(j.D0,{label:q("form.team"),hint:q("form.team.hint"),children:D.length?(0,d.jsx)("div",{className:"skillpick",children:D.map(b=>{let c=a.worker_ids.includes(b.id);return(0,d.jsxs)("button",{type:"button",className:"skillrow","aria-pressed":c,onClick:()=>C("worker_ids",c?a.worker_ids.filter(a=>a!==b.id):[...a.worker_ids,b.id]),children:[(0,d.jsx)("span",{className:"check",children:c&&(0,d.jsx)(g.A,{size:13,strokeWidth:3})}),(0,d.jsxs)("span",{children:[(0,d.jsx)("b",{style:{fontWeight:600},children:b.name}),(0,d.jsx)("span",{className:"hint",style:{display:"block"},children:b.description||b.provider})]})]},b.id)})}):(0,d.jsx)("p",{className:"hint",children:q("form.team.empty")})})]})}function r({colony:a,on:b,onChange:c,label:e,value:f,note:g,mono:i}){let{t:j}=(0,h.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",style:{fontWeight: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||"—"}),g&&(0,d.jsx)("span",{className:"hint",children:g})]}),(0,d.jsx)("span",{className:"inh-state",children:j(b?"inherit.following":"inherit.own")})]})}},36143:(a,b,c)=>{c.d(b,{b:()=>m});var d=c(55322),e=c(17027),f=c(66252),g=c(60992),h=c(15964),i=c(60570),j=c(7371),k=c(61162),l=c(93884);function m({onClose:a,onCreated:b,presetTypeId:c,presetColonyId:m}){let{t:n}=(0,l.s9)(),{types:o,agents:p,refresh:q,colonies:r}=(0,i.o0)(),s=(0,g.dj)(),t=(0,f.useRouter)(),[u,v]=(0,e.useState)(c?"form":"type"),[w,x]=(0,e.useState)({...(0,h.WU)(o.find(a=>a.id===c)),colony_id:m??null}),[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)(!1),C=(0,h.tf)(w,p,void 0,r),D=async()=>{if(B(!0),!Object.keys(C).length){z(!0);try{let c=await j.F.post("/agents",w);await q(["agents","colonies"]),s(n("newAgent.created",{name:c.name})),b?.(c.id),a(),t.push(`/agents/${c.id}`)}catch(a){s(a instanceof Error?a.message:n("newAgent.failed"),"err"),z(!1)}}};return"type"===u?(0,d.jsx)(g._s,{title:n("newAgent.title"),subtitle:n("newAgent.pickType"),onClose:a,children:(0,d.jsxs)("div",{className:"col",style:{gap:10},children:[o.map(a=>(0,d.jsxs)("button",{className:"card card-pad row gap-l",style:{textAlign:"left"},onClick:()=>{x({...(0,h.WU)(a),colony_id:m??null}),v("form")},children:[(0,d.jsx)(g._h,{color:k.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",{style:{fontFamily:"var(--font-display)",fontSize:16},children:a.name}),(0,d.jsx)("div",{className:"muted small",children:a.description||n("newAgent.typeFallback",{role:n(`role.${a.role}`),provider:k.xq[a.provider].label})})]}),(0,d.jsx)("span",{className:"chip",children:k.xq[a.provider].short})]},a.id)),(0,d.jsxs)("button",{className:"card card-pad row gap-l",style:{textAlign:"left",borderStyle:"dashed"},onClick:()=>{x({...(0,h.WU)(),colony_id:m??null}),v("form")},children:[(0,d.jsx)(g._h,{color:"var(--muted)",label:"+"}),(0,d.jsxs)("div",{className:"grow",children:[(0,d.jsx)("b",{style:{fontFamily:"var(--font-display)",fontSize:16},children:n("newAgent.blank")}),(0,d.jsx)("div",{className:"muted small",children:n("newAgent.blankHint")})]})]})]})}):(0,d.jsx)(g._s,{title:n("newAgent.title"),subtitle:w.type_id?n("newAgent.fromType",{name:o.find(a=>a.id===w.type_id)?.name??""}):n("newAgent.blank"),onClose:a,footer:(0,d.jsxs)(d.Fragment,{children:[!c&&(0,d.jsx)("button",{className:"btn ghost",onClick:()=>v("type"),children:n("common.back")}),(0,d.jsx)("button",{className:"btn primary",disabled:y,onClick:D,children:y?n("newAgent.creating"):n("newAgent.create")})]}),children:(0,d.jsx)(h.SU,{draft:w,onChange:x,errors:A?C:{},focusName:!0})})}},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")]})]})}}};
|
|
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))]})]})}}};
|