botmancers 0.9.3 → 0.10.1
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 +30 -0
- package/README.md +5 -5
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +1 -0
- package/app/.next/build-manifest.json +3 -3
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/required-server-files.json +2 -2
- package/app/.next/routes-manifest.json +6 -0
- package/app/.next/server/app/_global-error.html +1 -1
- package/app/.next/server/app/_global-error.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_not-found.html +1 -1
- package/app/.next/server/app/_not-found.rsc +2 -2
- package/app/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/agents/[id]/activity/page.js.nft.json +1 -1
- package/app/.next/server/app/agents/[id]/activity/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/agents/[id]/config/page.js.nft.json +1 -1
- package/app/.next/server/app/agents/[id]/config/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page.js.nft.json +1 -1
- package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/agents/[id]/conversations/page.js.nft.json +1 -1
- package/app/.next/server/app/agents/[id]/conversations/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/app/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/agents/[id]/sessions/page.js.nft.json +1 -1
- package/app/.next/server/app/agents/[id]/sessions/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/agents/[id]/slack/page.js.nft.json +1 -1
- package/app/.next/server/app/agents/[id]/slack/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/bots/[id]/activity/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/config/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/conversations/[conversationId]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/conversations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/overview/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/sessions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/sessions/sync/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/share-policy/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/skill/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/availability/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/delete-preview/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/manage/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/name-migrations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/approve/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/deny/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/draft/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/messages/[messageId]/stop/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/stop/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/exchanges/[id]/cancel/route.js.nft.json +1 -1
- package/app/.next/server/app/api/exchanges/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/exchanges/route.js.nft.json +1 -1
- package/app/.next/server/app/api/files/[name]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/groups/route.js.nft.json +1 -1
- package/app/.next/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/app/.next/server/app/api/messages/[id]/between/route.js.nft.json +1 -1
- package/app/.next/server/app/api/runtime-capacity/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/runtime-capacity/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/runtime-capacity/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/runtime-capacity/route.js +10 -0
- package/app/.next/server/app/api/runtime-capacity/route.js.nft.json +1 -0
- package/app/.next/server/app/api/runtime-capacity/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/runtime-connections/route.js.nft.json +1 -1
- package/app/.next/server/app/api/service-grants/route.js.nft.json +1 -1
- package/app/.next/server/app/api/shares/[shareRef]/revoke/route.js.nft.json +1 -1
- package/app/.next/server/app/api/shares/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/conversations/[conversationId]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/conversations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/pins/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/sessions/[ref]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/sessions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/capabilities/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/conversations/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/exchanges/[id]/cancel/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/exchanges/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/exchanges/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/mcp/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/pins/[pinRef]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/requests/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/sessions/[ref]/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/sessions/[ref]/pins/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/sessions/[ref]/shares/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/shares/[shareRef]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/shares/current/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/shares/route.js.nft.json +1 -1
- package/app/.next/server/app/api/wake-grants/[id]/revoke/route.js.nft.json +1 -1
- package/app/.next/server/app/api/wakes/[id]/decision/route.js.nft.json +1 -1
- package/app/.next/server/app/api/wakes/[id]/retry/route.js.nft.json +1 -1
- package/app/.next/server/app/bots/[id]/config/page.js.nft.json +1 -1
- package/app/.next/server/app/bots/[id]/config/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/exchanges/page.js.nft.json +1 -1
- package/app/.next/server/app/exchanges/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/exchanges.html +1 -1
- package/app/.next/server/app/exchanges.rsc +3 -3
- package/app/.next/server/app/exchanges.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/exchanges.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/exchanges.segments/exchanges/__PAGE__.segment.rsc +3 -3
- package/app/.next/server/app/index.html +1 -1
- package/app/.next/server/app/index.rsc +3 -3
- package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/app/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/page.js.nft.json +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/settings/page.js.nft.json +1 -1
- package/app/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/settings.html +1 -1
- package/app/.next/server/app/settings.rsc +3 -3
- package/app/.next/server/app/settings.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +3 -3
- package/app/.next/server/app/threads/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app-paths-manifest.json +1 -0
- package/app/.next/server/chunks/[externals]__06_ygwr._.js +3 -0
- package/app/.next/server/chunks/{[externals]__1eaoma8._.js → [externals]__0z3qnkl._.js} +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0aincj4._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0anfwiu._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0fku-bw._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__1280ke1._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__13wghn3._.js +4 -4
- package/app/.next/server/chunks/[root-of-the-server]__1jxwu9_._.js +2 -2
- package/app/.next/server/chunks/{[root-of-the-server]__00ntari._.js → [root-of-the-server]__1nf6z4s._.js} +10 -10
- package/app/.next/server/chunks/[root-of-the-server]__1qbadul._.js +5 -0
- package/app/.next/server/chunks/_0061c2q._.js +1 -1
- package/app/.next/server/chunks/_1-5mthb._.js +1 -1
- package/app/.next/server/chunks/_1a0er16._.js +3 -3
- package/app/.next/server/chunks/_1uxmsh3._.js +3 -3
- package/app/.next/server/chunks/_next-internal_server_app_api_runtime-capacity_route_actions_1dzvg7f.js +3 -0
- package/app/.next/server/chunks/lib_service-api_ts_18eok4w._.js +3 -3
- package/app/.next/server/chunks/ssr/_00qrupp._.js +3 -0
- package/app/.next/server/chunks/ssr/_01ngpwj._.js +1 -1
- package/app/.next/server/chunks/ssr/_0d7gv3q._.js +3 -0
- package/app/.next/server/chunks/ssr/_0iywd5g._.js +1 -1
- package/app/.next/server/chunks/ssr/_0mxifu3._.js +1 -1
- package/app/.next/server/chunks/ssr/_0u7urta._.js +1 -1
- package/app/.next/server/chunks/ssr/app_agents_[id]_0sr4fdg._.js +1 -1
- package/app/.next/server/chunks/ssr/app_agents_[id]_activity_AgentActivityPage_tsx_042-590._.js +1 -1
- package/app/.next/server/chunks/ssr/app_agents_[id]_config_page_tsx_1f_gu1l._.js +1 -1
- package/app/.next/server/chunks/ssr/app_agents_[id]_sessions_page_tsx_0tfup-2._.js +3 -3
- package/app/.next/server/chunks/ssr/app_agents_[id]_slack_AgentSlackPage_tsx_20njhs1._.js +1 -1
- package/app/.next/server/chunks/ssr/app_page_tsx_0pxmutw._.js +1 -1
- package/app/.next/server/chunks/ssr/lib_0pfn9gs._.js +1 -1
- package/app/.next/server/chunks/ssr/lib_agent-registration-ui_ts_1z582mm._.js +1 -1
- package/app/.next/server/chunks/ssr/lib_exchange-view_ts_1a4q9ju._.js +1 -1
- package/app/.next/server/chunks/ssr/lib_share-view_ts_08psw5o._.js +1 -1
- package/app/.next/server/middleware-build-manifest.js +3 -3
- package/app/.next/server/middleware.js +2 -2
- package/app/.next/server/pages/404.html +1 -1
- package/app/.next/server/pages/500.html +1 -1
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/static/chunks/{2dtkykrnob8wk.js → 00pca1oa16xc5.js} +1 -1
- package/app/.next/static/chunks/{3x56k5qa012au.js → 0apccyvpyjlo7.js} +1 -1
- package/app/.next/static/chunks/{04nfr73lkk7pz.js → 0l9r-x310007w.js} +1 -1
- package/app/.next/static/chunks/{0eqgs3167zj2j.js → 0xo3nwo_nscvf.js} +1 -1
- package/app/.next/static/chunks/{326jto9l-m8vj.js → 0z_bq7h1mwcf3.js} +4 -4
- package/app/.next/static/chunks/18btj4qlun8o7.js +1 -0
- package/app/.next/static/chunks/{2cc4uzbhs_v23.js → 1k8e6j67zksws.js} +1 -1
- package/app/.next/static/chunks/1y9hc8qm0hqds.js +1 -0
- package/app/.next/static/chunks/{2ebpfmg4vni8e.js → 2wbcr5n_vcynr.js} +1 -1
- package/app/.next/static/chunks/3_lwv2zgy_-bw.css +3 -0
- package/app/.next/static/chunks/3a_ffnuma49te.js +1 -0
- package/app/.next/static/chunks/{3whw2-l4a2sli.js → 3fm68xa8a4-es.js} +1 -1
- package/app/.next/static/chunks/{0cjh4u-f7mlwd.js → 3gw1ytgjq4pxu.js} +1 -1
- package/app/.next/static/chunks/3wlqn3gd_jv_r.js +1 -0
- package/app/.next/static/chunks/3xjoca0z2onuc.js +1 -0
- package/app/BUILD_INFO.json +2 -2
- package/app/package.json +1 -1
- package/app/public/brand/harness/claude.svg +3 -0
- package/app/public/brand/harness/codex.png +0 -0
- package/app/public/brand/harness/cursor.svg +3 -0
- package/app/public/brand/harness/muse.svg +33 -0
- package/app/server.js +1 -1
- package/package.json +1 -1
- package/schemas/botmancers.mcp.v2.tools.json +46 -46
- package/app/.next/server/chunks/ssr/_0g3y1u9._.js +0 -3
- package/app/.next/server/chunks/ssr/app_agents_[id]_conversations_page_tsx_15zl_c8._.js +0 -3
- package/app/.next/static/chunks/10i-rrea371m2.js +0 -1
- package/app/.next/static/chunks/1ob-de9xo9m2e.css +0 -3
- package/app/.next/static/chunks/1ypwptc0fsn4w.js +0 -1
- package/app/.next/static/chunks/1zryovio86f1z.js +0 -1
- package/app/.next/static/chunks/34v8aumua0x5n.js +0 -1
- package/app/.next/static/chunks/3m-2-98qud-hf.js +0 -1
- /package/app/.next/static/{0BJMiZPkEfFOd56nhl62e → eBmHBBldHWytVvYPu0zHc}/_buildManifest.js +0 -0
- /package/app/.next/static/{0BJMiZPkEfFOd56nhl62e → eBmHBBldHWytVvYPu0zHc}/_clientMiddlewareManifest.js +0 -0
- /package/app/.next/static/{0BJMiZPkEfFOd56nhl62e → eBmHBBldHWytVvYPu0zHc}/_ssgManifest.js +0 -0
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
|
|
2
|
-
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
|
|
3
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-3xl:48rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-bold:700;--radius-lg:.5rem;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start-1{inset-inline-start:calc(var(--spacing) * 1)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-1{margin:var(--spacing)}.m-2{margin:calc(var(--spacing) * 2)}.m-3{margin:calc(var(--spacing) * 3)}.m-4{margin:calc(var(--spacing) * 4)}.m-5{margin:calc(var(--spacing) * 5)}.m-9{margin:calc(var(--spacing) * 9)}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mr-1{margin-right:var(--spacing)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:var(--spacing)}.h-2{height:calc(var(--spacing) * 2)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-48{height:calc(var(--spacing) * 48)}.h-64{height:calc(var(--spacing) * 64)}.h-80{height:calc(var(--spacing) * 80)}.h-full{height:100%}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-64{max-height:calc(var(--spacing) * 64)}.min-h-full{min-height:100%}.w-2{width:calc(var(--spacing) * 2)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink{flex-shrink:1}.grow{flex-grow:1}.animate-pulse{animation:var(--animate-pulse)}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:var(--spacing)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:var(--spacing)}.py-1{padding-block:var(--spacing)}.pt-3{padding-top:calc(var(--spacing) * 3)}.text-right{text-align:right}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-pre-wrap{white-space:pre-wrap}.lowercase{text-transform:lowercase}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[fail\:auth\]{fail:auth}.\[person\:owner\]{person:owner}.\[stream\:\<name\>\]{stream:<name>}.\[usage\:cost\]{usage:cost}.\[usage\:malformed\]{usage:malformed}.\[usage\:missing\]{usage:missing}.\[usage\:none\]{usage:none}.\[usage\:partial\]{usage:partial}.\[usage\:repeated\]{usage:repeated}@media (hover:hover){.hover\:no-underline:hover{text-decoration-line:none}}@media (min-width:40rem){.sm\:w-auto{width:auto}.sm\:flex-none{flex:none}.sm\:flex-row{flex-direction:row}.sm\:justify-between{justify-content:space-between}.sm\:text-right{text-align:right}}@media (min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}:root{--field:#0e120c;--card:#1a2118;--hairline:#3a4436;--ink:#d5d0c3;--ink-muted:#9d9c90;--ink-faint:#8e8e82;--accent:#8b9a4a;--ink-on-accent:#0e120c;--composer:#141a12;--danger:#e85d75;--chrome:"Avenir Next", Avenir, "Helvetica Neue", system-ui;--mono:Monaco, "SF Mono", Menlo, Consolas, monospace}html,body{background:var(--field);min-height:100%;color:var(--ink);font-family:var(--chrome);margin:0}button,input,textarea{font:inherit;color:inherit}.field{background:var(--field);min-height:100vh;color:var(--ink);flex-direction:column;display:flex}.rail{flex-direction:column;flex:none;display:flex}.pane{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}@media (max-width:799px){.field{height:100dvh;overflow:hidden}.rail{flex:none;max-height:38vh;overflow:auto}.pane{overflow:hidden}.thread{height:100%;min-height:0}}@media (min-width:800px){.field{flex-direction:row;align-items:stretch;height:100vh;min-height:0;overflow:hidden}.rail{border-right:1px solid var(--hairline);width:max-content;max-width:280px;height:100vh;overflow:auto}.pane{height:100vh;min-height:0}}.bar{justify-content:space-between;align-items:center;padding:16px;display:flex}.brand{flex-direction:row;align-items:center;gap:10px;padding:20px 16px 4px;display:flex}.logo-shape{flex:none;width:40px;height:40px;line-height:0}.logo-shape img{width:40px;height:40px;display:block}.logo-shape.is-settling{animation:.4s ease-out both logo-drop}@keyframes logo-drop{0%{transform:translateY(-6px)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.logo-shape.is-settling{animation:none}}.logo-word{font-family:var(--chrome);letter-spacing:.02em;white-space:nowrap;color:#d5d0c3;margin:0;font-size:16px;font-weight:600;line-height:1.2}@media (max-width:799px){.brand{gap:8px;padding:12px 16px 0}.logo-shape,.logo-shape img{width:32px;height:32px}.logo-word{font-size:15px}}.welcome{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:24px;min-height:0;padding:32px 16px;display:flex}.welcome-mark{width:144px;height:144px;display:block}@media (max-width:799px){.welcome{gap:16px;padding:24px 16px}.welcome-mark{width:128px;height:128px}}.wordmark{font-family:var(--chrome);color:var(--ink);margin:0;font-size:20px;font-weight:500;line-height:1.2}.chrome-btn{font-family:var(--chrome);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;line-height:1}.add-btn,.send-btn,.create-btn{font-family:var(--chrome);color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px}.cancel-btn,.back-btn{font-family:var(--chrome);color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0}.back-btn{font-size:16px}.empty-line{font-family:var(--chrome);color:var(--ink);margin:0;padding:0 16px;font-size:16px}.roster{flex-direction:column;gap:12px;padding:0 16px 16px;display:flex}.card{box-sizing:border-box;text-align:left;background:var(--card);border:1px solid var(--hairline);width:fit-content;max-width:100%;color:var(--ink);cursor:pointer;border-radius:16px;align-self:flex-start;padding:16px;display:block;position:relative}.row-head{align-items:center;gap:8px;display:flex}.bot-row{color:#d5d0c3;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:10px;width:100%;max-width:240px;margin:0;padding:0;display:flex;position:relative}.bot-lead{cursor:pointer;background:0 0;border:0;border-radius:0;width:fit-content;max-width:100%;margin:0;padding:0;display:block;position:relative}.bot-lead .bot-name{font-size:26px}.bot-row.is-open,.bot-lead.is-open{background:#d5d0c314;border-radius:8px;margin-left:-8px;margin-right:-8px;padding:6px 8px}.bot-copy{flex:auto;min-width:0}.bot-name{color:#d5d0c3;background:0 0;border:0;outline:none;margin:0;padding:0;font-family:system-ui,sans-serif;font-size:15px;font-weight:400;line-height:1.25}.bot-preview{max-width:100%;color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-family:system-ui,sans-serif;font-size:12px;line-height:1.3;overflow:hidden}.bot-runtime{max-width:100%;color:var(--ink-faint);-webkit-line-clamp:3;line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:2px 0 0;font-family:system-ui,sans-serif;font-size:12px;line-height:1.3;display:-webkit-box;overflow:hidden}.mark{flex:0 0 28px;width:28px;height:34px;position:relative}.mark-tri{border-bottom:28px solid;border-left:14px solid #0000;border-right:14px solid #0000;width:0;height:0;position:absolute;top:3px;left:0}.mark-dot{background:#2ebd4e;border-radius:50%;width:8px;height:8px;animation:1.1s ease-in-out infinite mark-pulse;position:absolute;top:0;right:-2px;box-shadow:0 0 0 2px #0e120c}@keyframes mark-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.55)}}.card-preview{max-width:220px;font-family:var(--mono);color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:12px;line-height:1.3;overflow:hidden}.row-tip{z-index:3;background:var(--card);border:1px solid var(--hairline);border-radius:10px;min-width:148px;padding:8px 10px;display:none;position:absolute;top:calc(100% - 6px);left:12px}.card:hover .row-tip,.card:focus-within .row-tip,.bot-row:hover .row-tip,.bot-row:focus-within .row-tip,.bot-lead:hover .row-tip,.bot-lead:focus-within .row-tip{display:block}.roster.menu-open .row-tip{display:none}.row-tip{pointer-events:none}.row-open{text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;max-width:100%;display:block;overflow:hidden}.row-open:after{content:"";z-index:1;border-radius:8px;position:absolute;inset:0}.bot-row .row-open:after{inset:-4px -8px}.bot-row.is-open .row-open:after{inset:0}.card .row-open:after{border-radius:16px}.row-open:focus-visible:after{outline:2px solid var(--accent);outline-offset:2px}.row-actions{z-index:2;min-width:24px;min-height:24px;font-family:var(--mono);color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;align-self:center;margin-left:auto;padding:0 4px;font-size:16px;line-height:1;position:relative}.row-actions:hover,.row-actions[aria-expanded=true]{color:var(--ink)}.row-actions:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card-lead{padding:28px 22px}.card-lead .card-name{font-size:26px}.card-pic{object-fit:cover;border-radius:8px;width:28px;height:28px;margin-bottom:8px;display:block}.card-lead .card-pic{width:36px;height:36px}.card-lead .card-role{font-size:15px}.row-name{width:8em;font-family:var(--mono);background:0 0;border:0;outline:none;margin:0;padding:0;font-size:16px;line-height:1.3;display:block}.pin-word{font-family:var(--mono);color:var(--ink);cursor:pointer;background:0 0;border:0;margin-top:8px;padding:0;font-size:12px;display:block}.row-menu{z-index:20;background:var(--card);border:1px solid var(--hairline);border-radius:10px;min-width:168px;padding:8px 10px;position:fixed}.row-menu [role=menuitem]{text-align:left;width:100%;font-family:var(--mono);color:var(--ink);cursor:pointer;background:0 0;border:0;margin-top:8px;padding:0;font-size:12px;text-decoration:none;display:block}.row-menu [role=menuitem]:first-child{margin-top:0}.confirm-card{background:var(--card);border:1px solid var(--hairline);border-radius:16px;width:280px;margin:48px;padding:16px}.confirm-card p{font-family:var(--mono);margin:0 0 16px;font-size:14px}.card-name,.thread-name{font-family:var(--mono);color:var(--ink);font-size:16px;line-height:1.3}button.thread-name{cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.avatar-pic{border:1px solid var(--hairline);background:var(--card);cursor:pointer;border-radius:12px;width:48px;height:48px;margin-top:8px;padding:0;display:block;overflow:hidden}.avatar-pic img{object-fit:cover;width:100%;height:100%;display:block}.avatar-step{flex-wrap:wrap;align-items:center;gap:16px;padding:0 16px 12px;display:flex}.avatar-phone{display:none}@media (max-width:799px){.avatar-desk{display:none}.avatar-phone{display:flex}}.avatar-step input{opacity:0;width:1px;height:1px;position:absolute}.card-role,.thread-role{font-family:var(--mono);color:var(--ink-muted);margin-top:4px;font-size:12px;line-height:1.3}.thread{flex-direction:column;flex:1;min-height:0;display:flex}@media (min-width:800px){.thread{height:100%;min-height:0}}.thread-bar{align-items:flex-start;gap:16px;padding:16px;display:flex}.messages{flex-direction:column;flex:auto;gap:12px;min-height:0;padding:0 16px 16px;display:flex;overflow-y:auto}.thread-empty{flex-direction:column;flex:1 0 auto;justify-content:flex-end;gap:4px;padding-bottom:8px;display:flex}.thread-empty-title,.thread-empty-hint,.thread-note{font-family:var(--chrome);margin:0}.thread-empty-title{color:var(--ink);font-size:16px}.thread-empty-hint,.thread-note{color:var(--ink-muted);font-size:14px}.thread-note-error{color:var(--ink)}.msg-you{text-align:right;max-width:80%;color:var(--ink);background:0 0;border:0;border-radius:0;align-self:flex-end;padding:0}.msg-bot{box-sizing:border-box;background:var(--card);border:1px solid var(--hairline);width:100%;color:var(--ink);border-radius:16px;align-self:flex-start;padding:16px}.msg-name{font-family:var(--mono);color:var(--ink);margin-bottom:6px;font-size:14px}.msg-name-you{color:var(--accent)}.msg-body{font-family:var(--mono);color:var(--ink);white-space:pre-wrap;font-size:14px;line-height:1.45}.msg-status{align-self:stretch;width:100%}.runtime-failure{box-sizing:border-box;border:1px solid var(--hairline);border-left:4px solid var(--danger);background:var(--field);color:var(--ink);font-family:var(--chrome);border-radius:8px;padding:12px 16px;font-size:14px;line-height:1.45}.runtime-failure-title,.runtime-failure-recovery{margin:0}.runtime-failure-title{flex-wrap:wrap;align-items:baseline;gap:8px;font-weight:600;display:flex}.runtime-failure-severity{text-transform:uppercase;letter-spacing:.04em;color:var(--danger);font-size:12px;font-weight:600}.runtime-failure-recovery{color:var(--ink-muted);margin-top:4px}.runtime-failure-details{margin-top:8px}.runtime-failure-details summary{cursor:pointer;color:var(--ink-muted)}.runtime-failure-detail{font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;font-size:13px;display:block}.runtime-failure-copy{border:1px solid var(--hairline);background:var(--card);cursor:pointer;border-radius:6px;padding:4px 10px}.wake-notice{box-sizing:border-box;border:1px solid var(--hairline);border-left:4px solid var(--ink-muted);background:var(--field);color:var(--ink);font-family:var(--chrome);overflow-wrap:anywhere;border-radius:8px;padding:12px 16px;font-size:14px;line-height:1.45}.wake-notice-blocked,.wake-notice-allowed{border-left-color:var(--accent)}.wake-notice-rejected,.wake-notice-denied,.wake-notice-stopped{border-left-color:var(--danger)}.wake-notice-line{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;display:flex}.wake-notice-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);font-size:12px;font-weight:600}.wake-notice-blocked .wake-notice-label,.wake-notice-allowed .wake-notice-label{color:var(--accent)}.wake-notice-rejected .wake-notice-label,.wake-notice-denied .wake-notice-label,.wake-notice-stopped .wake-notice-label{color:var(--danger)}.wake-notice-error{color:var(--danger);margin:8px 0 0}.agent-event{font-family:var(--mono);color:var(--ink);overflow-wrap:anywhere;font-size:14px;line-height:1.45}.composer{align-items:flex-end;gap:16px;padding:16px;display:flex;position:relative}.composer-box{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.attach-names{font-family:var(--mono);color:var(--ink);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.attach-error{font-family:var(--mono);color:var(--ink);margin:0;font-size:14px}.attach-word{font-family:var(--chrome);color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px}.attach-input{opacity:0;width:1px;height:1px;position:absolute}.composer textarea{resize:none;background:var(--composer);border:1px solid var(--hairline);min-width:0;font-family:var(--mono);color:var(--ink);border-radius:12px;outline:none;flex:1;padding:10px 12px;font-size:14px}.composer textarea::placeholder{color:var(--ink-faint);opacity:1}.mention-list{background:var(--composer);border:1px solid var(--hairline);border-radius:12px;min-width:180px;max-height:220px;padding:6px;position:absolute;bottom:100%;left:16px;overflow:auto}.mention-list button{text-align:left;width:100%;color:var(--ink);font-family:var(--mono);background:0 0;border:0;padding:6px 8px;font-size:14px;display:block}.modal-scrim{z-index:10;background:#0a0a07b8;justify-content:flex-start;align-items:flex-start;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.new-agent-scrim{padding:0;display:block;overflow:hidden}.form-card.new-agent-dialog{flex-direction:column;width:min(358px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);display:flex;position:fixed;top:16px;left:16px}.new-agent-dialog .kind-row{flex:none}.new-agent-dialog .bot-form{flex-direction:column;flex:auto;min-height:0;display:flex}.new-agent-body{flex:auto;min-height:0;margin:0 -4px;padding:0 4px;overflow-y:auto}.new-agent-dialog .form-actions{flex:none;padding-top:4px}.kind-row{gap:16px;margin-bottom:12px;display:flex}.kind-word{font-family:var(--chrome);color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px}.new-agent-title{font-weight:inherit;cursor:default;margin:0}.form-error{font-family:var(--mono);color:var(--ink);margin:0 0 12px;font-size:14px}.header-settings{margin:0 16px 12px}.form-card{box-sizing:border-box;background:var(--card);border:1px solid var(--hairline);border-radius:16px;width:100%;max-width:358px;padding:16px}.form-card label{font-family:var(--chrome);color:var(--ink);margin:0 0 6px;font-size:14px;display:block}.form-card input,.form-card textarea{box-sizing:border-box;background:var(--composer);border:1px solid var(--hairline);width:100%;font-family:var(--mono);color:var(--ink);border-radius:12px;outline:none;margin:0 0 12px;padding:10px 12px;font-size:14px}.runtime-note{font-family:var(--mono);color:var(--ink);margin:0 0 12px;font-size:14px}.runtime-picks{flex-wrap:wrap;gap:12px;margin:0 0 12px;display:flex}.runtime-pick{font-family:var(--mono);color:var(--ink);font-size:14px}.form-card input[type=radio]{vertical-align:middle;width:auto;accent-color:var(--accent);margin:0 4px 0 0;padding:0}.form-card .reg-control{box-sizing:border-box;background:var(--composer);border:1px solid var(--hairline);width:100%;font-family:var(--mono);color:var(--ink);text-overflow:ellipsis;border-radius:12px;outline:none;margin:0 0 8px;padding:10px 12px;font-size:14px}.runtime-hint{font-family:var(--chrome);color:var(--ink-faint);overflow-wrap:anywhere;margin:-6px 0 12px;font-size:12px;line-height:1.3}.runtime-link{font-family:var(--chrome);color:var(--accent);margin:0 0 12px;font-size:12px;text-decoration:none;display:inline-block}.bot-form .create-btn:disabled{opacity:.4;cursor:default}.cfg-page input[type=radio]{accent-color:var(--accent)}.agent-fieldset{border:0;min-width:0;margin:0;padding:0}.reg-fieldset{margin:0 0 4px}.reg-stack{flex-direction:column;gap:6px;margin:0 0 12px;display:flex}.form-card input[type=checkbox]{vertical-align:middle;width:auto;accent-color:var(--accent);margin:0 4px 0 0;padding:0}.reg-option-hint{margin:2px 0 0 20px;display:block}.form-card .reg-option-hint.runtime-hint{margin:2px 0 0 20px}.reg-error{margin:-6px 0 12px;font-size:12px}.reg-add-connection{border-top:1px solid var(--hairline);margin:0 0 12px;padding:12px 0 0}.reg-actions{gap:16px;display:flex}.form-card .reg-control[aria-invalid=true],.form-card input[aria-invalid=true],.form-card textarea[aria-invalid=true]{border-color:var(--accent)}.form-card input[type=checkbox]:focus-visible,.cfg-page input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cfg-page input[type=checkbox]{accent-color:var(--accent)}.form-card .field-legend{font-family:var(--chrome);color:var(--ink);margin:0 0 6px;padding:0;font-size:14px;display:block}.form-card input:focus-visible,.form-card textarea:focus-visible,.form-card .reg-control:focus-visible,.form-card button:focus-visible,.form-card a:focus-visible,.cfg-page input[type=radio]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.runtime-retry{font-family:var(--chrome);color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px}.settings-link{align-self:flex-start;text-decoration:none}.agent-event-label{color:var(--accent)}@media (max-width:799px){.bot-form .runtime-picks{flex-direction:column;gap:6px}.bot-form .form-actions{flex-direction:column-reverse;align-items:stretch;gap:12px}}.form-actions{justify-content:space-between;align-items:center;display:flex}.agent-turn{width:100%}.agent-from{font-family:var(--chrome);color:var(--ink);justify-content:center;align-items:center;gap:8px;margin:0 0 8px;font-size:14px;display:flex}.agent-mark{object-fit:cover;border-radius:50%;flex:none;width:16px;height:16px}.agent-bar{box-sizing:border-box;color:#fff;text-align:left;width:100%;font-family:var(--mono);white-space:pre-wrap;background:#2a2a2a;border:0;border-radius:16px;padding:16px;font-size:14px;line-height:1.45}.approve-control{background:var(--accent);color:var(--ink-on-accent);cursor:pointer;border:0;border-radius:8px;margin-top:10px;padding:6px 12px;display:inline-block}.file-control{background:var(--field);color:var(--ink);border:1px solid var(--hairline);font-family:var(--mono);border-radius:8px;margin-top:10px;padding:6px 12px;text-decoration:none;display:inline-block}.draft-card{font-family:var(--chrome);color:var(--ink);font-size:14px}.draft-title{font-family:var(--chrome);color:var(--ink);margin:0 0 12px;font-size:14px}.draft-card input,.draft-card textarea{box-sizing:border-box;background:var(--composer);border:1px solid var(--hairline);width:100%;font-family:var(--chrome);color:var(--ink);border-radius:12px;outline:none;margin:0 0 12px;padding:10px 12px;font-size:14px}.draft-mark{font-family:var(--chrome);color:var(--ink);margin-top:10px;margin-right:8px;font-size:14px;display:inline-block}.messages-wrap{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.computer-float{z-index:3;pointer-events:none;border-radius:16px;flex-direction:column;display:flex;position:absolute;inset:8px 16px;overflow:hidden;box-shadow:0 16px 48px #00000073}.computer-top{color:#fff;pointer-events:none;background:#121212;flex:none;justify-content:space-between;align-items:center;height:46px;padding:0 14px 0 16px;display:flex}.computer-lights{pointer-events:none;align-items:center;gap:8px;display:flex}.computer-light{pointer-events:none;border-radius:50%;width:12px;height:12px;display:block}.computer-light-red{background:#ff5f57}.computer-light-yellow{background:#febc2e}.computer-light-green{background:#28c840}.computer-teach{pointer-events:none;align-items:center;gap:10px;display:flex}.computer-teach-pill{color:#fff;pointer-events:none;border:1px solid #ffffffb8;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 7px;font-family:system-ui,sans-serif;font-size:13px;font-weight:500;line-height:1.2;display:inline-flex}.computer-teach-mark{box-sizing:border-box;border:1.5px solid #fff;border-radius:50%;width:13px;height:13px;display:block}.computer-expand{color:#fff;pointer-events:none;display:flex}.computer-band{pointer-events:none;flex:none;height:48px}.computer-band-note{flex-direction:column;justify-content:center;height:auto;min-height:48px;padding:8px 16px;display:flex}.computer-band-note .thread-empty{flex:none;padding-bottom:0}.computer-desk{pointer-events:none;background:#d9d9d9 url(/computer/wallpaper.png) 50%/cover no-repeat;flex-direction:column;flex:auto;min-height:0;display:flex}.computer-page{pointer-events:none;background:0 0;border:0;flex:auto;width:100%;min-height:0}.computer-dock{pointer-events:none;flex:none;justify-content:center;align-items:center;gap:18px;padding:8px 0 16px;display:flex}.computer-dock img{pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;display:block}.computer-dock img:first-child{height:40px}.computer-dock img:nth-child(2){height:20px}.computer-dock img:nth-child(3){height:32px}.cfg-page{background:var(--field);min-height:100vh;color:var(--ink);font-family:var(--chrome);padding:16px}.cfg-page.cfg-page-framed{box-sizing:border-box;background:0 0;height:100%;min-height:0;padding:clamp(28px,5vw,64px) clamp(18px,5vw,64px) 72px}@media (min-width:640px){.cfg-page:not(.cfg-page-framed){padding:24px}}.cfg-card{background:var(--card);border:1px solid var(--hairline);border-radius:16px;padding:24px}.cfg-title{font-family:var(--chrome);color:var(--ink);font-weight:600}.cfg-muted{color:var(--ink-muted)}.cfg-faint{color:var(--ink-faint)}.cfg-link{font-family:var(--chrome);color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}a.cfg-link:hover,button.cfg-link:hover{text-decoration:underline}.cfg-back{margin-bottom:4px;display:inline-block}.cfg-code{font-family:var(--mono);color:var(--ink)}.cfg-pre{background:var(--composer);border:1px solid var(--hairline);font-family:var(--mono);color:var(--ink);white-space:pre-wrap;border-radius:12px;padding:12px}.cfg-input{box-sizing:border-box;background:var(--composer);border:1px solid var(--hairline);width:100%;font-family:var(--mono);color:var(--ink);border-radius:12px;outline:none;padding:10px 12px}.cfg-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.cfg-input-sans{font-family:var(--chrome)}.cfg-btn-primary{font-family:var(--chrome);background:var(--accent);color:var(--ink-on-accent);cursor:pointer;border:0;border-radius:8px;padding:8px 16px}.cfg-btn-primary:hover:not(:disabled){filter:brightness(1.1)}.cfg-btn-primary:disabled{background:var(--composer);color:var(--ink);opacity:.55;cursor:default;filter:none}.cfg-btn-ghost{font-family:var(--chrome);background:var(--field);color:var(--ink);border:1px solid var(--hairline);cursor:pointer;border-radius:8px;padding:8px 16px;text-decoration:none}.cfg-btn-ghost:hover:not(:disabled){background:var(--composer)}.cfg-btn-ghost:disabled{opacity:.5;cursor:default}.cfg-row{border:1px solid var(--hairline);border-radius:12px;padding:12px}.cfg-line{border-color:var(--hairline)}.cfg-dirty{color:#e0a83e}.cfg-dot-amber{background:#f59e0b}.cfg-error{color:#f08080}.cfg-ok{color:#2ebd4e}.cfg-skel{background:var(--card);border:1px solid var(--hairline)}.cfg-avatar{object-fit:cover;border-radius:9999px}.cfg-chevron{color:var(--ink-faint);cursor:pointer;background:0 0;border:0}.cfg-chevron:hover{color:var(--ink)}.bot-avatar svg{width:100%;height:100%;display:block}.mark-avatar{flex:0 0 48px;width:48px;height:48px;position:relative}.mark-avatar-sm{flex-basis:40px;width:40px;height:40px}.mark-avatar .mark-dot{top:-2px;right:-2px}span.agent-mark{vertical-align:-3px;background:0 0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}button.avatar-pic{justify-content:center;align-items:center;display:flex}.avatar-group-label{color:var(--ink);margin:0 0 8px;font-size:13px;font-weight:600}.avatar-opt-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;display:grid}.avatar-opt{border:1px solid var(--hairline);cursor:pointer;color:var(--ink);background:0 0;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:11px;line-height:1.2;display:flex;position:relative}.avatar-opt-input{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.avatar-opt-art{display:flex}.avatar-opt:has(.avatar-opt-input:checked){border-color:currentColor;box-shadow:0 0 0 1px}.avatar-opt:has(.avatar-opt-input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.roster-status{font-family:var(--mono);color:var(--accent);margin:0;padding:0 16px;font-size:12px}.roster-status:empty{display:none}.roster-status:not(:empty){padding-bottom:12px}.delete-scrim{z-index:30;justify-content:center}.manage-scrim{z-index:25;justify-content:center}.delete-card,.manage-card{box-sizing:border-box;background:var(--card);border:1px solid var(--hairline);width:100%;color:var(--ink);border-radius:16px;margin-top:32px;padding:16px}.delete-card{max-width:440px}.manage-card{flex-direction:column;max-width:720px;max-height:calc(100vh - 64px);display:flex}.delete-title{font-family:var(--chrome);margin:0 0 12px;font-size:18px;font-weight:600}.delete-copy,.delete-error,.delete-blocked p{font-family:var(--mono);margin:0 0 12px;font-size:12px;line-height:1.5}.delete-keeps{color:var(--ink-muted)}.delete-error,.delete-blocked{color:var(--danger)}.delete-names,.delete-blocked ul{font-family:var(--mono);margin:0 0 12px;padding:0 0 0 18px;font-size:12px;line-height:1.5}.delete-names{max-height:160px;overflow-y:auto}.delete-btn{font-family:var(--chrome);color:var(--field);background:var(--danger);cursor:pointer;border:0;border-radius:8px;padding:6px 12px;font-size:14px}.delete-btn:disabled{opacity:.4;cursor:not-allowed}.delete-card button:focus-visible,.manage-card button:focus-visible,.manage-card input:focus-visible,.row-menu [role=menuitem]:focus-visible,.cfg-danger button:focus-visible,.bar button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.manage-head{justify-content:space-between;align-items:center;display:flex}.manage-search-label{font-family:var(--chrome);margin:0 0 6px;font-size:14px}.manage-search{box-sizing:border-box;background:var(--composer);border:1px solid var(--hairline);width:100%;font-family:var(--mono);color:var(--ink);border-radius:12px;outline:none;padding:10px 12px;font-size:14px}.manage-tools{flex-wrap:wrap;align-items:baseline;gap:16px;margin:4px 0 8px;display:flex}.manage-tools .pin-word:disabled{opacity:.4;cursor:default}.manage-count{font-family:var(--mono);color:var(--ink-muted);margin-left:auto;font-size:12px}.manage-list{border-top:1px solid var(--hairline);flex:auto;min-height:0;margin:0 0 12px;padding:0;list-style:none;overflow-y:auto}.manage-row{border-bottom:1px solid var(--hairline);align-items:flex-start;gap:12px;padding:10px 0;display:flex}.manage-row input[type=checkbox]{accent-color:var(--danger);margin-top:3px}.manage-row.is-blocked .manage-name,.manage-row.is-blocked .manage-meta{color:var(--ink-faint)}.manage-copy{flex:auto;min-width:0}.manage-name{font-family:var(--mono);cursor:pointer;overflow-wrap:anywhere;font-size:14px;display:block}.manage-tag{border:1px solid var(--hairline);color:var(--ink-muted);border-radius:6px;margin-left:8px;padding:0 4px;font-size:11px}.manage-meta{font-family:var(--mono);flex-wrap:wrap;gap:2px 16px;margin:4px 0 0;font-size:11px;display:flex}.manage-meta div{gap:4px;min-width:0;display:flex}.manage-meta dt{color:var(--ink-faint)}.manage-meta dd{overflow-wrap:anywhere;margin:0}.manage-reason{font-family:var(--mono);color:var(--danger);margin:4px 0 0;font-size:12px}.cfg-danger{border-color:var(--danger)}.agent-sessions-page{box-sizing:border-box;width:min(1280px,100%);margin:0 auto;padding:clamp(24px,4vw,52px) clamp(18px,4vw,52px) 72px}.agent-sessions-head{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.agent-sessions-head h2{letter-spacing:-.02em;margin:0;font-size:clamp(26px,3vw,38px);font-weight:500}.agent-sessions-head>div>p:last-child{color:var(--ink-muted);margin:10px 0 0;line-height:1.5}.agent-sessions-sync{color:var(--ink-faint);font-family:var(--mono);white-space:nowrap;align-items:center;gap:10px;font-size:11px;display:flex}.sessions-filter{border:1px solid var(--hairline);background:var(--card);flex-wrap:wrap;align-items:center;gap:8px;margin:24px 0 12px;padding:12px;display:flex}@supports (color:color-mix(in lab, red, red)){.sessions-filter{background:color-mix(in srgb, var(--card) 68%, transparent)}}.sessions-status-filter{gap:6px;display:flex}.sessions-filter-btn{font-family:var(--mono);color:var(--ink);border:1px solid var(--hairline);cursor:pointer;background:0 0;border-radius:8px;padding:4px 10px;font-size:12px}.sessions-filter-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--ink-on-accent)}.sessions-search{font-family:var(--mono);color:var(--ink);border:1px solid var(--hairline);background:0 0;border-radius:8px;flex:10rem;min-width:0;padding:4px 10px;font-size:12px}.sessions-workspace{font-family:var(--mono);color:var(--ink);border:1px solid var(--hairline);background:0 0;border-radius:8px;max-width:100%;padding:4px 6px;font-size:12px}.sessions-search:focus,.sessions-workspace:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.sessions-more{border-top:1px solid var(--hairline);justify-content:center;padding:12px;display:flex}.session-workspace,.session-activity{font-family:var(--mono);color:var(--ink-muted);overflow-wrap:anywhere;font-size:11px}.session-workspace:before{content:"·";margin:0 4px}.sessions-state{padding:12px 0}.sessions-list{margin:0;padding:0;list-style:none}.sessions-review{border:1px solid var(--hairline);background:var(--card);grid-template-columns:minmax(18rem,20rem) minmax(0,1fr);align-items:start;display:grid}@supports (color:color-mix(in lab, red, red)){.sessions-review{background:color-mix(in srgb, var(--card) 70%, transparent)}}.sessions-list-pane{border-right:1px solid var(--hairline);min-width:0}.session-scan-row+.session-scan-row{border-top:1px solid var(--hairline)}.session-scan-button{box-sizing:border-box;width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;padding:15px 16px;display:block}.session-scan-button:hover{background:var(--composer)}@supports (color:color-mix(in lab, red, red)){.session-scan-button:hover{background:color-mix(in srgb, var(--composer) 65%, transparent)}}.session-scan-row.is-selected .session-scan-button{border-left-color:var(--accent);background:var(--composer)}.session-scan-title-line,.session-scan-context,.session-scan-chips{flex-wrap:wrap;align-items:center;display:flex}.session-scan-title-line{justify-content:space-between;gap:8px}.session-scan-context{margin-top:6px}.session-scan-chips{gap:5px;margin-top:9px}.session-title{font-family:var(--mono);overflow-wrap:anywhere;font-size:14px;font-weight:500}.session-status.is-active{color:var(--accent);border-color:var(--accent)}.session-scan-row.is-ended .session-title{color:var(--ink-muted)}.session-origin-chip{border:1px solid var(--hairline);color:var(--ink-muted);font-family:var(--mono);border-radius:999px;padding:2px 5px;font-size:10px}.session-scan-chips .manage-tag,.session-detail-tags .manage-tag,.session-scan-title-line .manage-tag{margin-left:0}.session-attention{color:var(--ink-faint);font-family:var(--mono);margin-top:10px;font-size:10px;display:block}.session-attention.is-actionable{color:var(--accent)}.session-link{font-family:var(--mono);color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-size:11px;text-decoration:underline}.sessions-detail-pane{min-width:0}.sessions-detail-empty{text-align:center;place-content:center;min-height:50vh;padding:32px;display:grid}.sessions-detail-empty h3{margin:0;font-size:24px;font-weight:500}.sessions-detail-empty p:last-child{max-width:380px;color:var(--ink-muted)}.session-detail{min-height:50vh;font-family:var(--mono);padding:clamp(22px,4vw,44px);font-size:12px}.session-detail-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.session-detail-head h3{max-width:760px;font-family:var(--chrome);letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:clamp(24px,3vw,34px);font-weight:500}.session-detail-head h3:focus{outline:none}.session-detail-tags{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.session-detail-meta{border-top:1px solid var(--hairline);border-left:1px solid var(--hairline);grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0 0;display:grid}.session-detail-meta>div{border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);min-width:0;padding:12px}.session-detail-meta .is-wide{grid-column:1/-1}.session-detail-meta dt{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.session-detail-meta dd{overflow-wrap:anywhere;margin:5px 0 0}.session-detail-section{border-top:1px solid var(--hairline);margin-top:24px;padding-top:20px}.session-detail-section>h4{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:11px}.session-attempts{margin:0 0 8px;padding:0 0 0 18px;line-height:1.5}.session-sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.session-usage.is-unavailable,.session-usage-values .is-unavailable,.session-usage-coverage{color:var(--ink-faint)}.session-usage-tag{margin-left:6px}.session-usage-detail{margin:0 0 8px}.session-usage-head{color:var(--ink-muted);margin:0 0 4px;font-size:11px;font-weight:600}.session-usage-totals{gap:2px;margin:0 0 6px;display:grid}.session-usage-totals div{flex-wrap:wrap;gap:2px 8px;min-width:0;display:flex}.session-usage-totals dt{min-width:7.5rem;color:var(--ink-faint)}.session-usage-totals dd{overflow-wrap:anywhere;flex-wrap:wrap;gap:2px 8px;margin:0;display:flex}.session-usage-none{color:var(--ink-faint);margin:0}.session-usage-runs{margin:0;padding:0 0 0 18px;line-height:1.5}.session-usage-runs li{flex-wrap:wrap;gap:0 12px;display:flex}.session-usage-values{flex-wrap:wrap;gap:0 10px;display:flex}.session-debug summary{cursor:pointer;color:var(--ink-muted)}.session-debug-note{color:var(--ink-faint);margin:4px 0}.session-debug-value{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.session-debug-value code{overflow-wrap:anywhere;color:var(--ink)}.session-debug-value .pin-word{margin-top:0}.agent-sessions-page button:focus-visible,.agent-sessions-page summary:focus-visible,.session-scan-button:focus-visible,.thread-bar .attach-word:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:799px){.agent-sessions-page{padding:22px 14px 48px}.agent-sessions-head{flex-direction:column;align-items:flex-start}.agent-sessions-sync{justify-content:space-between;width:100%}.sessions-filter{align-items:stretch}.sessions-status-filter,.sessions-search,.sessions-workspace{flex:100%}.sessions-status-filter .sessions-filter-btn{flex:1 1 0}.sessions-review{display:block}.sessions-list-pane{border-right:0}.sessions-detail-pane,.sessions-review.has-detail .sessions-list-pane{display:none}.sessions-review.has-detail .sessions-detail-pane{display:block}.session-detail{padding:20px 16px 28px}.session-detail-head{flex-direction:column-reverse}.session-detail-meta{grid-template-columns:1fr}.session-detail-meta .is-wide{grid-column:auto}}.rail-nav{padding:0 16px 12px}.rail-nav-link{text-decoration:none}.rail-nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.agent-brand{color:inherit;text-decoration:none}.agent-row-link{text-decoration:none}.agent-row-menu{z-index:4;position:relative}.agent-row-menu summary{list-style:none}.agent-row-menu summary::-webkit-details-marker{display:none}.agent-row-menu-popover{z-index:10;background:var(--card);border:1px solid var(--hairline);border-radius:10px;min-width:112px;padding:8px 10px;position:absolute;top:calc(100% + 6px);right:0}.agent-row-menu-popover a{color:var(--ink);font-family:var(--mono);padding:4px 0;font-size:12px;text-decoration:none;display:block}.agent-pane{overflow:hidden}.agent-shell-header{border-bottom:1px solid var(--hairline);flex-shrink:0;justify-content:space-between;align-items:center;gap:24px;padding:20px clamp(18px,4vw,56px) 16px;display:flex}.agent-shell-identity{align-items:center;gap:14px;min-width:0;display:flex}.agent-shell-kicker,.agent-eyebrow{color:var(--accent);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:600}.agent-shell-identity h1,.agent-panel h2,.agent-use h2,.agent-section-page h2,.agent-state h2{letter-spacing:-.02em;margin:0;font-weight:500}.agent-shell-identity h1{font-family:var(--mono);font-size:20px}.agent-shell-identity p:last-child,.agent-shell-runtime{color:var(--ink-muted);font-family:var(--mono);margin:3px 0 0;font-size:12px}.agent-shell-runtime{text-align:right;flex-direction:column;align-items:flex-end;gap:5px;display:flex}.availability{color:var(--ink);align-items:center;gap:6px;display:inline-flex}.availability:before{background:var(--ink-faint);content:"";border-radius:50%;width:7px;height:7px}.availability.is-available:before{background:#55b86a}.availability.is-blocked:before{background:#d2a35c}.agent-tabs{border-bottom:1px solid var(--hairline);scrollbar-width:thin;flex-shrink:0;gap:4px;padding:0 clamp(18px,4vw,56px);display:flex;overflow-x:auto}.agent-tabs a{color:var(--ink-muted);font-family:var(--mono);border-bottom:2px solid #0000;flex:none;padding:13px 12px 11px;font-size:12px;text-decoration:none}.agent-tabs a[aria-current=page]{border-bottom-color:var(--accent);color:var(--ink)}.agent-tabs a:focus-visible,.agent-content a:focus-visible,.agent-row-menu a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.agent-content{flex:auto;min-height:0;overflow-y:auto}.agent-overview,.agent-section-page,.agent-state{box-sizing:border-box;width:min(1120px,100%);margin:0 auto;padding:clamp(28px,5vw,64px) clamp(18px,5vw,64px) 72px}.agent-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.agent-panel,.agent-use,.agent-section-page{border:1px solid var(--hairline);background:var(--card)}@supports (color:color-mix(in lab, red, red)){.agent-panel,.agent-use,.agent-section-page{background:color-mix(in srgb, var(--card) 68%, transparent)}}.agent-panel{min-width:0;padding:22px}.agent-panel-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.agent-panel h2,.agent-use h2,.agent-section-page h2{font-size:22px}.agent-panel p,.agent-section-page>p:not(.agent-eyebrow),.agent-use article p{color:var(--ink-muted);line-height:1.55}.agent-panel a,.agent-use a,.agent-section-page a,.agent-state a{color:var(--accent);font-family:var(--mono);text-underline-offset:3px;font-size:12px}.agent-instructions dl{margin:18px 0 0}.agent-instructions dl>div{border-top:1px solid var(--hairline);padding:12px 0}.agent-instructions dt{color:var(--ink-faint);font-family:var(--mono);text-transform:uppercase;font-size:11px}.agent-instructions dd{margin:5px 0 0;line-height:1.5}.agent-muted{font-size:13px;color:var(--ink-faint)!important}.agent-runtime-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 0;display:grid}.agent-runtime-facts div{border-top:1px solid var(--hairline);padding-top:9px}.agent-runtime-facts dt{color:var(--ink-faint);font-family:var(--mono);text-transform:uppercase;font-size:10px}.agent-runtime-facts dd{margin:4px 0 0;font-size:13px}.agent-conversation-activity{font-family:var(--mono);margin-bottom:0;font-size:11px;color:var(--ink-faint)!important}.agent-use{margin:16px 0;padding:28px}.agent-use-grid{background:var(--hairline);border:1px solid var(--hairline);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:22px;display:grid}.agent-use article{background:var(--card);min-width:0;padding:20px}.agent-use-number{color:var(--accent);font-family:var(--mono);font-size:11px}.agent-use h3{margin:14px 0 0;font-size:16px}.agent-use code{overflow-wrap:anywhere;color:var(--ink);font-family:var(--mono);font-size:12px}.agent-setup-command{border:1px solid var(--hairline);background:var(--composer);color:var(--ink);font-family:var(--mono);border-radius:8px;margin:12px 0;padding:10px 12px;font-size:12px;line-height:1.4;overflow-x:auto}.agent-setup-command code{color:inherit;font:inherit}.agent-primary-action{border:1px solid var(--accent);color:var(--ink);font-family:var(--mono);cursor:pointer;background:0 0;border-radius:8px;margin-top:4px;padding:8px 12px;font-size:12px;text-decoration:none;display:inline-block}.agent-work-grid{align-items:start}.agent-work-list{gap:0;margin:16px 0 0;padding:0;list-style:none;display:grid}.agent-work-list li{border-top:1px solid var(--hairline);padding:12px 0}.agent-work-list strong,.agent-work-list small{display:block}.agent-work-list strong{font-size:14px;font-weight:500}.agent-work-list small{color:var(--ink-faint);font-family:var(--mono);text-transform:capitalize;margin-top:4px;font-size:11px}.agent-empty{font-family:var(--mono);font-size:12px;color:var(--ink-faint)!important}.agent-section-page{margin-top:clamp(28px,5vw,64px);padding:clamp(24px,5vw,48px)}.agent-section-page>p:not(.agent-eyebrow){max-width:680px}.agent-section-page .agent-primary-action{margin-top:14px}.agent-state{color:var(--ink-muted)}.conversation-index,.conversation-detail,.conversation-detail-state{box-sizing:border-box;width:min(960px,100%);margin:0 auto;padding:clamp(24px,4vw,48px) clamp(16px,4vw,48px) 64px}.conversation-index-head,.conversation-detail-head{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.conversation-index h2,.conversation-detail h2,.conversation-detail-state h2{letter-spacing:-.025em;margin:0;font-size:clamp(26px,4vw,38px);font-weight:500}.conversation-index-head p:not(.agent-eyebrow){max-width:680px;color:var(--ink-muted);margin:12px 0 0;line-height:1.55}.conversation-search{border:1px solid var(--hairline);background:var(--card);margin-top:28px;padding:16px}@supports (color:color-mix(in lab, red, red)){.conversation-search{background:color-mix(in srgb, var(--card) 70%, transparent)}}.conversation-search label{color:var(--ink-muted);font-family:var(--mono);margin-bottom:7px;font-size:11px;display:block}.conversation-search div{gap:8px;display:flex}.conversation-search input{border:1px solid var(--hairline);background:var(--card);min-width:0;color:var(--ink);font:inherit;border-radius:7px;flex:auto;padding:10px 12px}.conversation-search button,.conversation-more,.conversation-older,.conversation-stop,.conversation-state button,.conversation-detail-state button{border:1px solid var(--hairline);background:var(--card);color:var(--ink);font-family:var(--mono);cursor:pointer;border-radius:7px;padding:9px 13px;font-size:11px}.conversation-state{border:1px dashed var(--hairline);color:var(--ink-muted);text-align:center;margin-top:18px;padding:28px}.conversation-list{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.conversation-list a{border:1px solid var(--hairline);background:var(--card);border-radius:10px;padding:17px 18px;display:block}@supports (color:color-mix(in lab, red, red)){.conversation-list a{background:color-mix(in srgb, var(--card) 74%, transparent)}}.conversation-list a{color:var(--ink);text-decoration:none;transition:border-color .15s,transform .15s}.conversation-list a:hover{border-color:var(--accent);transform:translateY(-1px)}.conversation-row-title,.conversation-row-meta{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.conversation-row-title strong{font-size:15px;font-weight:600}.conversation-row-title>span{border:1px solid var(--hairline);color:var(--accent);font-family:var(--mono);border-radius:999px;padding:3px 7px;font-size:10px}.conversation-row-participants{color:var(--ink-muted);margin-top:8px;font-size:13px;display:block}.conversation-row-meta{color:var(--ink-faint);font-family:var(--mono);flex-wrap:wrap;justify-content:flex-start;margin-top:10px;font-size:10px}.conversation-row-meta time{margin-left:auto}.conversation-more{margin:18px auto 0;display:block}.conversation-detail{flex-direction:column;min-height:100%;display:flex}.conversation-detail-head>div>a,.conversation-read-only a,.conversation-detail-state a{color:var(--accent);font-family:var(--mono);text-underline-offset:3px;font-size:11px}.conversation-detail-head .agent-eyebrow{margin-top:18px}.conversation-participant-line{color:var(--ink-muted);margin:12px 0 0;font-size:14px}.conversation-origin-line{color:var(--ink-faint);font-family:var(--mono);margin:6px 0 0;font-size:10px}.conversation-stop{flex:none}.conversation-read-only{border:1px solid var(--accent);margin-top:20px;padding:14px 16px}@supports (color:color-mix(in lab, red, red)){.conversation-read-only{border:1px solid color-mix(in srgb, var(--accent) 34%, var(--hairline))}}.conversation-read-only{background:var(--accent);border-radius:9px}@supports (color:color-mix(in lab, red, red)){.conversation-read-only{background:color-mix(in srgb, var(--accent) 5%, var(--card))}}.conversation-read-only strong{font-family:var(--mono);font-size:11px}.conversation-read-only p{color:var(--ink-muted);margin:6px 0;font-size:13px}.conversation-history{border:1px solid var(--hairline);background:var(--card);border-radius:12px;min-height:50vh;margin-top:20px}@supports (color:color-mix(in lab, red, red)){.conversation-history{background:color-mix(in srgb, var(--card) 58%, transparent)}}.conversation-older{margin:12px auto 0;display:block}.conversation-message-list{scroll-behavior:smooth;flex-direction:column;min-height:50vh;max-height:min(62vh,760px);margin:0;padding:20px clamp(14px,3vw,28px) 28px;list-style:none;display:flex;overflow-y:auto}.conversation-message-list>.msg-you,.conversation-message-list>.msg-bot{flex:none}.conversation-empty-history{color:var(--ink-muted);font-family:var(--mono);margin:auto;font-size:12px}.conversation-composer{border:1px solid var(--hairline);background:var(--card);border-radius:12px;margin-top:14px;position:sticky;bottom:0}.conversation-refresh-error{color:var(--danger);font-family:var(--mono);font-size:11px}.conversation-search input:focus-visible,.conversation-search button:focus-visible,.conversation-list a:focus-visible,.conversation-more:focus-visible,.conversation-older:focus-visible,.conversation-stop:focus-visible,.conversation-composer button:focus-visible,.conversation-composer textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.agent-slack{box-sizing:border-box;width:min(1120px,100%);margin:0 auto;padding:clamp(28px,5vw,64px) clamp(18px,5vw,64px) 72px}.agent-slack-intro,.agent-slack-section-head,.agent-slack-share-summary,.agent-slack-share-actions,.agent-slack-confirm>div{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.agent-slack-intro{margin-bottom:22px}.agent-slack-intro h2{letter-spacing:-.025em;margin:0;font-size:clamp(28px,4vw,44px);font-weight:500}.agent-slack-intro>div>p:last-child{max-width:760px;color:var(--ink-muted);margin:14px 0 0;line-height:1.6}.agent-slack-relay,.agent-slack-policy,.agent-slack-shares{border:1px solid var(--hairline);background:var(--card)}@supports (color:color-mix(in lab, red, red)){.agent-slack-relay,.agent-slack-policy,.agent-slack-shares{background:color-mix(in srgb, var(--card) 68%, transparent)}}.agent-slack-relay,.agent-slack-policy,.agent-slack-shares{padding:22px}.agent-slack-relay,.agent-slack-policy{margin-bottom:14px}.agent-slack-section-head h3{margin:0;font-size:20px;font-weight:500}.agent-slack-section-head a,.agent-slack-share a{color:var(--accent);font-family:var(--mono);text-underline-offset:3px;font-size:12px}.agent-slack-section-head>div>p:last-child{color:var(--ink-muted);margin:7px 0 0;font-size:13px}.agent-slack-refresh,.agent-slack-more,.agent-slack-filters button,.agent-slack-details summary,.agent-slack-revoke,.agent-slack-confirm button{border:1px solid var(--hairline);color:var(--ink);font-family:var(--mono);cursor:pointer;background:0 0;border-radius:8px;flex:none;padding:7px 11px;font-size:11px}.agent-slack-refresh:hover:not(:disabled),.agent-slack-more:hover:not(:disabled),.agent-slack-filters button:hover,.agent-slack-details summary:hover,.agent-slack-confirm button:hover:not(:disabled){background:var(--composer)}.agent-slack button:disabled{cursor:default;opacity:.55}.agent-slack button:focus-visible,.agent-slack summary:focus-visible,.agent-slack a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.agent-slack-status{border:1px solid var(--hairline);color:var(--ink-muted);font-family:var(--mono);text-transform:uppercase;border-radius:999px;align-items:center;gap:7px;padding:5px 9px;font-size:10px;font-weight:600;display:inline-flex}.agent-slack-status:before{background:var(--ink-faint);content:"";border-radius:50%;width:7px;height:7px}.agent-slack-status.is-good:before,.agent-slack-status.is-share-active:before{background:#55b86a}.agent-slack-status.is-working:before,.agent-slack-status.is-share-answering:before,.agent-slack-status.is-share-recovering:before{background:var(--accent)}.agent-slack-status.is-warning:before,.agent-slack-status.is-share-exhausted:before{background:#d2a35c}.agent-slack-relay-copy>p,.agent-slack-policy>div>p{color:var(--ink-muted);margin:12px 0 0;line-height:1.5}.agent-slack-relay-copy strong,.agent-slack-policy strong{color:var(--ink);font-weight:500}.agent-slack-audiences{gap:7px;margin:15px 0 0;padding:0;list-style:none;display:grid}.agent-slack-audiences li{border-top:1px solid var(--hairline);color:var(--ink-muted);font-family:var(--mono);padding-top:7px;font-size:11px}.agent-slack-shares-head{align-items:center}.agent-slack-filters{flex-wrap:wrap;gap:7px;margin:20px 0 16px;display:flex}.agent-slack-filters button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.agent-slack-share-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.agent-slack-share{border:1px solid var(--hairline);background:var(--card);min-width:0;padding:16px}.agent-slack-share-summary>div{gap:7px;min-width:0;display:grid}.agent-slack-share-summary strong{overflow-wrap:anywhere;font-size:14px;font-weight:500}.agent-slack-share-summary small,.agent-slack-state-note,.agent-slack-empty,.agent-slack-error p{color:var(--ink-muted);font-family:var(--mono);font-size:11px;line-height:1.5}.agent-slack-state-note{margin:12px 0 0}.agent-slack-detail-hint{color:var(--ink-faint);font-family:var(--mono);align-self:center;font-size:10px}.agent-slack-details{margin-top:12px}.agent-slack-details summary{list-style:none;display:inline-block}.agent-slack-details summary::-webkit-details-marker{display:none}.agent-slack-share-details{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:12px 0 0;padding:15px 0;display:grid}.agent-slack-share-details dt{color:var(--ink-faint);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.agent-slack-share-details dd{overflow-wrap:anywhere;margin:5px 0 0;font-size:12px}.agent-slack-share-details code{font-family:var(--mono)}.agent-slack-share-actions{align-items:center;margin-top:12px}.agent-slack-revoke{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.agent-slack-revoke{border-color:color-mix(in srgb, var(--danger) 60%, var(--hairline))}}.agent-slack-revoke{color:var(--danger)}.agent-slack-confirm{border-left:2px solid var(--danger);background:var(--danger);margin-top:12px}@supports (color:color-mix(in lab, red, red)){.agent-slack-confirm{background:color-mix(in srgb, var(--danger) 7%, transparent)}}.agent-slack-confirm{padding:11px 13px}.agent-slack-confirm p{margin:0 0 10px;font-size:12px;line-height:1.5}.agent-slack-confirm>div{justify-content:flex-start;gap:8px}.agent-slack-more{margin:16px auto 0;display:block}.agent-slack-error{border-left:2px solid var(--danger);color:var(--danger);margin-top:14px;padding-left:12px}.agent-slack-error p{margin:4px 0 0}@media (max-width:799px){.agent-field{overflow:hidden}.agent-rail{border-bottom:1px solid var(--hairline);max-height:31vh}.agent-pane{overflow:hidden}.agent-shell-header{align-items:flex-start;padding:14px 16px 12px}.agent-shell-runtime{max-width:42%}.agent-tabs{padding:0 8px}.agent-tabs a{padding-inline:10px}.agent-overview-grid,.agent-use-grid{grid-template-columns:1fr}.agent-use-grid{gap:1px}.agent-use{padding:20px}.conversation-index,.conversation-detail,.conversation-detail-state{padding:22px 14px 48px}.conversation-index-head,.conversation-detail-head{flex-direction:column}.conversation-search div{flex-direction:column;align-items:stretch}.conversation-row-title,.conversation-row-meta{flex-direction:column;align-items:flex-start}.conversation-row-meta time{margin-left:0}.conversation-message-list{min-height:46vh;max-height:58vh}.conversation-composer{padding-inline:10px}.agent-slack-intro,.agent-slack-shares-head{flex-direction:column;align-items:stretch}.agent-slack-refresh,.agent-slack-shares-head .agent-primary-action{align-self:flex-start}.agent-slack-relay,.agent-slack-policy,.agent-slack-shares{padding:17px}.agent-slack-share-details{grid-template-columns:1fr}}.session-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.session-action{font-family:var(--mono);color:var(--ink);border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:8px;padding:4px 10px;font-size:12px}.session-unavailable{font-family:var(--mono);color:var(--ink-muted);gap:4px;margin:8px 0 0;padding:0;font-size:11px;line-height:1.5;list-style:none;display:grid}.exchange-approval{font-family:var(--mono);color:var(--ink);cursor:pointer;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5;display:flex}.exchange-approval input{accent-color:var(--accent);margin:2px 0 0}.exchange-approval input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.exchange-started:not(:empty){font-family:var(--mono);color:var(--accent);margin:0 0 8px;font-size:12px;line-height:1.5}.exchange-scrim{z-index:35;justify-content:center}.form-card.exchange-dialog{max-width:480px;color:var(--ink);margin-top:32px}.exchange-source{border:1px solid var(--hairline);border-left:4px solid var(--accent);background:var(--field);border-radius:8px;margin:0 0 16px;padding:8px 12px}.exchange-source p{overflow-wrap:anywhere;margin:0}.exchange-source-agent{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-size:12px;font-weight:600}.exchange-source-title{font-family:var(--mono);margin-top:2px;font-size:14px}.exchange-source-meta{font-family:var(--mono);color:var(--ink-muted);margin-top:4px;font-size:11px}.exchange-select{box-sizing:border-box;background:var(--composer);border:1px solid var(--hairline);width:100%;font-family:var(--chrome);color:var(--ink);border-radius:12px;margin:0 0 12px;padding:8px 10px;font-size:14px}.form-card.exchange-dialog textarea{margin-bottom:8px}.form-card.exchange-dialog [aria-invalid=true],.exchange-select[aria-invalid=true]{border-color:var(--danger)}.exchange-field-error,.exchange-server-error{font-family:var(--mono);color:var(--danger);margin:0 0 8px;font-size:12px;line-height:1.5}.exchange-hint{color:var(--ink-muted);margin:0 0 12px;font-size:13px;line-height:1.5}.exchange-sending{font-family:var(--mono);color:var(--ink-muted);margin:0;font-size:12px}.exchange-sending:not(:empty){margin-bottom:8px}.exchange-dialog .create-btn:disabled{opacity:.5;cursor:progress}.exchange-dialog select:focus-visible,.session-action:focus-visible,.exchange-card a:focus-visible,.exchange-card button:focus-visible,.ledger-page a:focus-visible,.ledger-page button:focus-visible,.ledger-page select:focus-visible,.ledger-detail-title:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.exchange-card{box-sizing:border-box;border:1px solid var(--hairline);border-left:4px solid var(--accent);background:var(--field);color:var(--ink);font-family:var(--chrome);overflow-wrap:anywhere;border-radius:8px;padding:12px 16px;font-size:14px;line-height:1.45}.exchange-card:focus{outline:2px solid var(--accent);outline-offset:2px}.exchange-card.is-stopped{border-left-color:var(--danger)}.exchange-card.is-done{border-left-color:var(--ink-muted)}.exchange-card p{margin:0}.exchange-card p+p{margin-top:4px}.exchange-card-line{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.exchange-card-mode{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-size:12px;font-weight:600}.exchange-card-title{font-weight:600}.exchange-card-state{font-family:var(--mono);border:1px solid var(--hairline);color:var(--ink);border-radius:6px;padding:0 6px;font-size:12px}.exchange-card.is-active .exchange-card-state{border-color:var(--accent);color:var(--accent)}.exchange-card.is-stopped .exchange-card-state{border-color:var(--danger);color:var(--danger)}.exchange-card-session,.exchange-card-time{font-family:var(--mono);color:var(--ink-muted);font-size:12px}.exchange-card-key{color:var(--ink-muted)}.exchange-card-outcome.is-failure,.exchange-card-error{color:var(--danger)}.exchange-card-advice{color:var(--ink-muted)}.exchange-card-foot{flex-wrap:wrap;align-items:baseline;gap:4px 16px;display:flex}.exchange-card-link{color:var(--accent)}.exchange-card-cancel{font-family:var(--chrome);color:var(--danger);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;text-decoration:underline}.exchange-card-cancel:disabled{cursor:progress;opacity:.6}.ledger-page{box-sizing:border-box;background:var(--field);min-height:100dvh;color:var(--ink);font-family:var(--chrome);flex-direction:column;padding:16px;display:flex}.ledger-head{flex:none;margin-bottom:16px}.ledger-title{margin:12px 0 4px;font-size:20px;font-weight:700}.ledger-sub{color:var(--ink-muted);margin:0;font-size:13px}.ledger-main{flex-direction:column;flex:auto;gap:16px;min-height:0;display:flex}.ledger-pane-title{margin:0 0 8px;font-size:16px;font-weight:600}.ledger-filters{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.ledger-mode{margin:0}.ledger-selects{flex-wrap:wrap;gap:8px 12px;display:flex}.ledger-select-label{min-width:0;color:var(--ink-muted);flex-direction:column;flex:140px;gap:4px;font-size:13px;display:flex}.ledger-select-label .exchange-select,.ledger-count{margin:0}.ledger-state{font-family:var(--mono);color:var(--ink-muted);margin:0;padding:12px 0;font-size:12px;line-height:1.5}.ledger-state p{margin:0}.ledger-list{border-top:1px solid var(--hairline);margin:0;padding:0;list-style:none}.ledger-row-item{border-bottom:1px solid var(--hairline)}.ledger-row{box-sizing:border-box;text-align:left;width:100%;color:var(--ink);cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;border-left:3px solid #0000;flex-direction:column;gap:2px;padding:10px 8px;display:flex}.ledger-row[aria-current=true]{background:var(--card);border-left-color:var(--accent)}.ledger-row-line{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.ledger-row-who{font-size:14px;font-weight:600}.ledger-row-state{font-family:var(--mono);color:var(--accent);font-size:12px}.ledger-row.is-stopped .ledger-row-state{color:var(--danger)}.ledger-row.is-done .ledger-row-state{color:var(--ink-muted)}.ledger-row-session{font-family:var(--mono);font-size:13px}.ledger-row-meta{font-family:var(--mono);color:var(--ink-muted);font-size:11px}.ledger-detail{flex-direction:column;gap:12px;min-width:0;display:flex}.ledger-detail-back{align-self:flex-start;margin-top:0}.ledger-detail-title{overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:600}.ledger-section{border-top:1px solid var(--hairline);padding-top:8px}.ledger-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin:0 0 6px;font-size:12px;font-weight:600}.ledger-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.5}.ledger-packet-list{margin-top:8px}.ledger-packet-title{margin:0;font-size:13px;font-weight:600}.ledger-packet-list ul,.ledger-links{overflow-wrap:anywhere;margin:4px 0 0;padding:0 0 0 18px;font-size:13px;line-height:1.5}.ledger-links{padding:0;list-style:none}.ledger-thread-link{font-size:13px}.ledger-link-role{font-family:var(--mono);color:var(--ink-muted);font-size:11px}.ledger-timeline{margin:0;padding:0 0 0 18px;font-size:13px;line-height:1.5}.ledger-timeline li{overflow-wrap:anywhere;margin-bottom:4px}.ledger-timeline-time{font-family:var(--mono);color:var(--ink-muted);font-size:11px;display:block}.ledger-foot{font-family:var(--mono);color:var(--ink-faint);overflow-wrap:anywhere;margin:0;font-size:11px}@media (max-width:799px){.ledger-page.has-detail .ledger-list-pane,.ledger-page:not(.has-detail) .ledger-detail-pane{display:none}}@media (min-width:800px){.ledger-page{height:100vh;padding:24px}.ledger-main{flex-direction:row;gap:24px}.ledger-list-pane{flex:0 0 22rem;min-height:0;padding-right:4px;overflow-y:auto}.ledger-detail-pane{border-left:1px solid var(--hairline);flex:auto;min-width:0;max-width:56rem;min-height:0;padding-left:24px;overflow-y:auto}.ledger-detail-back{display:none}}.group-thread-nav{flex-wrap:wrap;gap:4px 16px;display:flex}.group-thread-main{flex:auto;min-width:0;max-width:56rem}.group-thread-list{margin:0;padding:0;list-style:none}.group-thread-body{white-space:pre-wrap;overflow-wrap:anywhere}@media (min-width:800px){.group-thread-page{height:auto}}@media (max-width:799px){.session-actions{flex-direction:column}.session-action{text-align:left;min-height:40px}}@media (prefers-reduced-motion:reduce){.exchange-card,.ledger-row,.session-action{scroll-behavior:auto;transition:none;animation:none}}.session-shares{border-top:1px dashed var(--hairline);font-family:var(--mono);margin-top:10px;padding-top:8px;font-size:11px}.session-shares-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.session-shares-title{font-family:var(--mono);color:var(--ink);margin:0;font-size:12px;font-weight:600}.session-share-note,.session-share-unavailable{color:var(--ink-muted);margin:6px 0 0;line-height:1.5}.session-share-list{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.session-share{border:1px solid var(--hairline);border-left:3px solid var(--accent);background:var(--field);overflow-wrap:anywhere;border-radius:8px;padding:8px 10px}.session-share.is-expired,.session-share.is-revoked{border-left-color:var(--hairline);color:var(--ink-muted)}.session-share.is-exhausted,.session-share.is-recovering{border-left-color:#e0a83e}.session-share-head{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.session-share-head .manage-tag{margin-left:0}.session-share-status.is-active,.session-share-status.is-answering{color:var(--accent);border-color:var(--accent)}.session-share-status.is-exhausted,.session-share-status.is-recovering{color:#e0a83e;border-color:#e0a83e}.session-share-audience{color:var(--ink)}.session-share-meta{margin-top:4px}.session-share-meta dt{overflow-wrap:normal;flex:none}.session-share .session-actions .pin-word{text-align:left}.session-share-ref{font-family:var(--mono);-webkit-user-select:all;user-select:all;font-size:11px}.session-share-revoke{border-color:var(--danger)}.session-share-confirm{border:1px solid var(--danger);border-radius:8px;margin-top:8px;padding:8px}.session-share-confirm p{margin:0;line-height:1.5}.session-share-form{border:1px solid var(--accent);border-radius:8px;gap:4px;margin-top:8px;padding:8px 10px;display:grid}.session-share-form label{color:var(--ink-muted);margin-top:4px}.session-share-form select,.session-share-form input{font-family:var(--mono);color:var(--ink);background:var(--composer);border:1px solid var(--hairline);box-sizing:border-box;border-radius:8px;max-width:100%;padding:6px 8px;font-size:12px}.session-share-form [aria-invalid=true]{border-color:var(--danger)}.session-share-form select:focus-visible,.session-share-form input:focus-visible,.agent-sessions-page a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.session-action:disabled{opacity:.5;cursor:progress}.share-policy-toggle{align-items:center;gap:8px;display:flex}.share-policy-hint{margin:4px 0 0 24px}.share-policy-sub{margin:20px 0 4px;font-size:14px}.share-policy-empty{margin:8px 0}.share-policy-list{margin:8px 0;padding:0;list-style:none}.share-policy-entry{border-top:1px solid var(--hairline);flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:6px 0;font-size:13px;display:flex}.share-policy-remove{margin-left:auto}.share-policy-add{grid-template-columns:1fr 1fr auto;align-items:end;gap:8px;margin-top:8px;display:grid}.share-policy-add label{margin-bottom:4px;display:block}@media (max-width:640px){.share-policy-add{grid-template-columns:1fr}}.agent-activity{box-sizing:border-box;width:min(920px,100%);margin:0 auto;padding:clamp(24px,4vw,48px) clamp(16px,4vw,48px) 72px}.agent-activity-intro h2{letter-spacing:-.025em;margin:0;font-size:clamp(26px,4vw,38px);font-weight:500}.agent-activity-intro>p:last-child{max-width:650px;color:var(--ink-muted);line-height:1.55}.agent-activity-filters{flex-wrap:wrap;gap:8px;margin:26px 0 22px;display:flex}.agent-activity-filters button,.agent-activity-more{border:1px solid var(--hairline);background:var(--card);color:var(--ink-muted);font-family:var(--mono);cursor:pointer;border-radius:999px;padding:8px 11px;font-size:11px}.agent-activity-filters button[aria-pressed=true]{border-color:var(--accent);color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent)}.agent-activity-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.agent-activity-item{grid-template-columns:17px minmax(0,1fr);gap:12px;display:grid;position:relative}.agent-activity-item:before{content:"";background:var(--hairline);width:1px;position:absolute;top:22px;bottom:-22px;left:5px}.agent-activity-item:last-child:before{display:none}.agent-activity-marker{border:2px solid var(--card);background:var(--ink-faint);width:9px;height:9px;box-shadow:0 0 0 1px var(--hairline);border-radius:50%;margin-top:19px}.agent-activity-item.is-success .agent-activity-marker{background:var(--accent)}.agent-activity-item.is-warning .agent-activity-marker{background:#d2a35c}.agent-activity-item.is-error .agent-activity-marker{background:var(--danger)}.agent-activity-card{border:1px solid var(--hairline);background:var(--card);border-radius:10px;min-width:0;margin-bottom:12px;padding:15px 17px}@supports (color:color-mix(in lab, red, red)){.agent-activity-card{background:color-mix(in srgb, var(--card) 86%, transparent)}}.agent-activity-summary{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.agent-activity-category,.agent-activity-summary strong,.agent-activity-summary time{display:block}.agent-activity-category{color:var(--ink-faint);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.agent-activity-summary strong{margin-top:5px;font-size:14px;font-weight:550}.agent-activity-summary time{color:var(--ink-faint);font-family:var(--mono);margin-top:5px;font-size:10px}.agent-activity-attention{background:var(--danger);border-radius:999px;flex:none;padding:4px 7px}@supports (color:color-mix(in lab, red, red)){.agent-activity-attention{background:color-mix(in srgb, var(--danger) 12%, transparent)}}.agent-activity-attention{color:var(--danger);font-family:var(--mono);font-size:9px}.agent-activity-actions{margin-top:10px;font-size:12px}.agent-activity-details{border-top:1px solid var(--hairline);margin-top:12px;padding-top:10px}.agent-activity-details summary{width:fit-content;color:var(--ink-muted);font-family:var(--mono);cursor:pointer;font-size:10px}.agent-activity-details dl{gap:5px;margin:10px 0;display:grid}.agent-activity-details dl div{grid-template-columns:minmax(110px,1fr) 2fr;gap:12px;display:grid}.agent-activity-details dt{color:var(--ink-faint);font-family:var(--mono);text-transform:capitalize;font-size:10px}.agent-activity-details dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:11px}.agent-activity-details code{font-family:var(--mono)}.agent-activity-details p{color:var(--ink-faint);margin:8px 0 0;font-size:10px}.agent-activity-state{border:1px dashed var(--hairline);color:var(--ink-muted);margin:24px 0;padding:28px}.agent-activity-state.is-error{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.agent-activity-state.is-error{border-color:color-mix(in srgb, var(--danger) 50%, var(--hairline))}}.agent-activity-more{border-radius:8px;margin:20px auto 0;display:block}.agent-activity-list.is-compact{margin-top:14px}.agent-activity-list.is-compact .agent-activity-card{padding:11px 12px}.agent-activity-list.is-compact .agent-activity-summary{display:block}.agent-activity-list.is-compact .agent-activity-actions{margin-top:6px}.agent-activity a:focus-visible,.agent-activity button:focus-visible,.agent-activity summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (max-width:640px){.agent-activity{padding-top:24px}.agent-activity-filters{flex-wrap:nowrap;margin-inline:-16px;padding:2px 16px 8px;overflow-x:auto}.agent-activity-filters button{flex:none}.agent-activity-summary{display:block}.agent-activity-attention{margin-top:9px;display:inline-block}.agent-activity-details dl div{grid-template-columns:1fr;gap:2px}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,51118,e=>{"use strict";var n=e.i(43476),s=e.i(71645),t=e.i(22016),a=e.i(70925);e.s(["default",0,function(){let{id:e,overview:o,loading:i,error:r,notFound:c}=(0,a.useAgentOverview)(),[l,d]=(0,s.useState)(null),[h,v]=(0,s.useState)(null),[u,m]=(0,s.useState)(""),[g,p]=(0,s.useState)(""),[x,j]=(0,s.useState)(""),[y,b]=(0,s.useState)(!1),[f,N]=(0,s.useState)(0),w=(0,s.useCallback)(async(n,s)=>{if(e){s&&b(!0);try{let t=new URLSearchParams({limit:"30"});g&&t.set("q",g),n&&t.set("cursor",n);let a=await fetch(`/api/bots/${encodeURIComponent(e)}/conversations?${t}`,{cache:"no-store"}),o=await a.json().catch(()=>null);if(!a.ok||!o||!Array.isArray(o.conversations))throw Error("load");d(e=>s&&e?[...e,...o.conversations]:o.conversations),v(o.next_cursor),j("")}catch{j("Could not load conversations.")}finally{b(!1)}}},[g,e]);return((0,s.useEffect)(()=>{let e=window.setTimeout(()=>{d(null),w(null,!1)},0);return()=>window.clearTimeout(e)},[w,f]),i)?(0,n.jsx)("div",{className:"agent-state",role:"status",children:"Loading Agent conversations…"}):c?(0,n.jsxs)("div",{className:"agent-state",children:[(0,n.jsx)("h2",{children:"Agent not found"}),(0,n.jsx)(t.default,{href:"/",children:"Choose an Agent"})]}):r||!o?(0,n.jsx)("div",{className:"agent-state",role:"alert",children:"This Agent’s conversations are unavailable."}):(0,n.jsxs)("div",{className:"conversation-index","data-agent-conversations":!0,children:[(0,n.jsxs)("header",{className:"conversation-index-head",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"agent-eyebrow",children:"Conversations"}),(0,n.jsx)("h2",{children:"Durable history"}),(0,n.jsxs)("p",{children:["Direct messages, group rooms, Agent handoffs, and connected-service conversations involving ",o.agent.name,"."]})]}),o.conversation?(0,n.jsxs)(t.default,{className:"agent-primary-action",href:`/agents/${encodeURIComponent(e)}/conversations/${encodeURIComponent(o.conversation.id)}`,children:["Message ",o.agent.name]}):null]}),(0,n.jsxs)("form",{className:"conversation-search",role:"search",onSubmit:e=>{e.preventDefault(),p(u.trim())},children:[(0,n.jsx)("label",{htmlFor:"conversation-query",children:"Search conversations"}),(0,n.jsxs)("div",{children:[(0,n.jsx)("input",{id:"conversation-query",value:u,onChange:e=>m(e.target.value),placeholder:"Participant, origin, or type"}),(0,n.jsx)("button",{type:"submit",children:"Search"})]})]}),null!==l||x?null:(0,n.jsx)("p",{className:"conversation-state",role:"status","data-conversation-state":"loading",children:"Loading conversations…"}),x?(0,n.jsxs)("div",{className:"conversation-state",role:"alert","data-conversation-state":"error",children:[(0,n.jsx)("p",{children:x}),(0,n.jsx)("button",{type:"button",onClick:()=>N(e=>e+1),children:"Retry"})]}):null,l?.length!==0||x?null:(0,n.jsx)("p",{className:"conversation-state","data-conversation-state":"empty",children:g?"No conversations match this search.":"No conversations involve this Agent yet."}),l&&l.length>0?(0,n.jsx)("ol",{className:"conversation-list","aria-label":"Conversations, newest activity first",children:l.map(s=>(0,n.jsx)("li",{children:(0,n.jsxs)(t.default,{href:`/agents/${encodeURIComponent(e)}/conversations/${encodeURIComponent(s.conversation_id)}`,children:[(0,n.jsxs)("span",{className:"conversation-row-title",children:[(0,n.jsx)("strong",{children:s.label}),(0,n.jsx)("span",{children:"direct"===s.type?"Direct":"group"===s.type?"Group":s.origin?.kind==="service"?"External service":"Agent to Agent"})]}),(0,n.jsx)("span",{className:"conversation-row-participants",children:s.participants.map(e=>e.label).join(" · ")}),(0,n.jsxs)("span",{className:"conversation-row-meta",children:[(0,n.jsxs)("span",{children:["Origin: ",s.origin?.label??"Unknown"]}),(0,n.jsxs)("span",{children:[s.message_count," ",1===s.message_count?"message":"messages"]}),(0,n.jsx)("time",{dateTime:new Date(s.last_activity_at).toISOString(),children:new Date(s.last_activity_at).toLocaleString()})]})]})},s.conversation_id))}):null,h&&l&&!x?(0,n.jsx)("button",{className:"conversation-more",type:"button",disabled:y,onClick:()=>void w(h,!0),children:y?"Loading…":"Load older conversations"}):null]})}])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70925,e=>{"use strict";var t=e.i(43476),a=e.i(71645),n=e.i(22016),s=e.i(18566),l=e.i(87303),i=e.i(89873),r=e.i(3136),o=e.i(10718);let c=(0,a.createContext)(null),d=[{label:"Overview",segment:""},{label:"Sessions",segment:"sessions"},{label:"Conversations",segment:"conversations"},{label:"Slack",segment:"slack"},{label:"Activity",segment:"activity"},{label:"Config",segment:"config"}];e.s(["default",0,function({children:e}){let u=String((0,s.useParams)().id??""),h=(0,s.usePathname)(),g=(0,s.useRouter)(),m=(0,s.useSearchParams)(),[v,w]=(0,a.useState)([]),[b,f]=(0,a.useState)(null),[j,p]=(0,a.useState)(!0),[x,N]=(0,a.useState)(!1),[A,S]=(0,a.useState)(!1),[y,C]=(0,a.useState)(()=>{let e=Number(m.get("deleted"))||0;return e>0?(0,o.deletedStatusLine)(e):""}),[k,I]=(0,a.useState)({serverNow:0,fetchedAt:0}),[P,D]=(0,a.useState)(()=>Date.now()),R=(0,a.useCallback)(async e=>{try{let[t,a]=await Promise.all([fetch("/api/bots",{cache:"no-store"}),fetch(`/api/bots/${encodeURIComponent(u)}/overview`,{cache:"no-store"})]),n=t.ok?await t.json():[];if(e())return;w(Array.isArray(n)?n:[]);let s=Date.parse(t.headers.get("date")||"");if(I({serverNow:Number.isNaN(s)?Date.now():s,fetchedAt:Date.now()}),404===a.status){S(!0),f(null),N(!1);return}if(!a.ok)throw Error("overview request failed");let l=await a.json();if(e())return;f(l),S(!1),N(!1)}catch{e()||N(!0)}finally{e()||p(!1)}},[u]);(0,a.useEffect)(()=>{let e=!1,t=()=>e,a=window.setTimeout(()=>{R(t)},0),n=window.setInterval(()=>{R(t)},2e3),s=window.setInterval(()=>D(Date.now()),1e3);return()=>{e=!0,window.clearTimeout(a),window.clearInterval(n),window.clearInterval(s)}},[R]);let T=b?.agent,$=b?.runtime;return(0,t.jsx)(c.Provider,{value:{id:u,agents:v,overview:b,loading:j,error:x,notFound:A},children:(0,t.jsxs)("div",{className:"field agent-field",children:[(0,t.jsx)(i.default,{agents:v,activeAgentId:u,beatClock:k,now:P,status:y,onAgentsChange:w,onNew:()=>g.push("/?new=1"),onManage:()=>g.push("/?manage=1"),onDeleted:e=>{C((0,o.deletedStatusLine)(e.length)),e.some(e=>e.id===u)&&g.replace(`/?deleted=${e.length}`)}}),(0,t.jsxs)("section",{className:"pane agent-pane",children:[(0,t.jsxs)("header",{className:"agent-shell-header",children:[(0,t.jsxs)("div",{className:"agent-shell-identity",children:[T?(0,t.jsx)(l.default,{bot:T,size:48,title:`${T.name} avatar`}):null,(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"agent-shell-kicker",children:"Agent"}),(0,t.jsx)("h1",{children:T?.name??(j?"Loading…":"Unknown Agent")}),T?(0,t.jsx)("p",{children:T.role}):null]})]}),$?(0,t.jsxs)("div",{className:"agent-shell-runtime","aria-label":"Runtime and availability",children:[(0,t.jsx)("span",{className:$.available?"availability is-available":"availability is-blocked",children:$.available?"Available":"Needs setup"}),(0,t.jsxs)("span",{children:[(0,r.agentLabel)($.agent)," · ",$.connection||"No connection"]})]}):null]}),(0,t.jsx)("nav",{className:"agent-tabs","aria-label":"Agent",children:d.map(e=>{let a=`/agents/${encodeURIComponent(u)}${e.segment?`/${e.segment}`:""}`,s=h===a;return(0,t.jsx)(n.default,{href:a,"aria-current":s?"page":void 0,children:e.label},e.label)})}),(0,t.jsx)("main",{className:"agent-content",children:e})]})]})})},"useAgentOverview",0,function(){let e=(0,a.useContext)(c);if(!e)throw Error("useAgentOverview must be used inside AgentShell");return e}])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,69603,e=>{"use strict";var t=e.i(43476),n=e.i(71645),a=e.i(22016),s=e.i(18566),r=e.i(13255),i=e.i(46986),o=e.i(15366),l=e.i(70925),c=e.i(74904),d=e.i(68684),u=e.i(96594),p=e.i(64711),h=e.i(54423);function m(e){let t=e;for(let e=0;e<4;e++){let e=t.replace(/^\s*\[(?:Message from|From) [^\]]+\]\s*(?:\r?\n)?/,"");if(e===t)break;t=e}return t.replace(/^\s+/,"")}function f(e,t){let n=new Map(e.map(e=>[e.id,e]));for(let e of t)n.set(e.id,e);return[...n.values()].sort((e,t)=>e.created_at-t.created_at||e.id.localeCompare(t.id))}function g({message:e,conversationId:a,status:s,writable:r,onDone:i}){let o=(0,d.parseDraft)(m(e.content)),[l,c]=(0,n.useState)(o?.recipient??""),[u,p]=(0,n.useState)(o?.body??""),[h,f]=(0,n.useState)(!1);if(!o)return null;let v=!r||"open"!==s,b=async t=>{v||h||(f(!0),await fetch(`/api/conversations/${encodeURIComponent(a)}/draft`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({messageId:e.id,action:t,recipient:l,body:u})}),f(!1),i())};return(0,t.jsxs)("div",{className:"draft-card",children:[(0,t.jsx)("div",{className:"draft-title",children:(0,d.draftTitle)(o.channel)}),(0,t.jsx)("input",{"aria-label":"Recipient",value:v?o.recipient:l,readOnly:v,onChange:e=>c(e.target.value)}),(0,t.jsx)("textarea",{rows:3,"aria-label":"Draft body",value:v?o.body:u,readOnly:v,onChange:e=>p(e.target.value)}),"open"===s&&r?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{type:"button",className:"approve-control",disabled:h||!l.trim(),onClick:()=>void b("send"),children:"Send"}),(0,t.jsx)("button",{type:"button",className:"approve-control",disabled:h,onClick:()=>void b("discard"),children:"Discard"})]}):(0,t.jsx)("span",{className:"draft-mark",children:"open"===s?"Read only":"sent"===s?"Sent":"Discarded"})]})}function v({message:e,conversationId:a,status:s,writable:r,onDone:i}){let o=(0,d.parseApprovalCode)(e.content),[l,c]=(0,n.useState)(!1);if(!o)return null;if(!r||"pending"!==s)return(0,t.jsx)("span",{className:"draft-mark",children:"pending"===s?"Approval is read only":"approved"===s?"Approved":"Denied"});let u=async t=>{l||(c(!0),await fetch(`/api/conversations/${encodeURIComponent(a)}/${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:o,messageId:e.id})}),c(!1),i())};return(0,t.jsxs)("span",{className:"draft-mark",children:[(0,t.jsx)("button",{type:"button",className:"approve-control",disabled:l,onClick:()=>void u("approve"),children:"Approve"}),(0,t.jsx)("button",{type:"button",className:"approve-control",disabled:l,onClick:()=>void u("deny"),children:"Deny"})]})}function b({names:e}){return e.length?(0,t.jsx)(t.Fragment,{children:e.map(e=>(0,t.jsxs)("span",{children:[(0,t.jsx)("br",{}),(0,t.jsxs)("a",{className:"file-control",href:`/api/files/${encodeURIComponent(e)}`,download:e,children:["Download ",e]})]},e))}):null}e.s(["default",0,function(){let e=(0,s.useParams)(),y=(0,s.useSearchParams)(),x=String(e.id??""),w=String(e.conversationId??""),{overview:_}=(0,l.useAgentOverview)(),[$,k]=(0,n.useState)(null),[j,N]=(0,n.useState)([]),[C,S]=(0,n.useState)(null),[I,A]=(0,n.useState)([]),[R,T]=(0,n.useState)(""),[q,D]=(0,n.useState)(!1),[L,U]=(0,n.useState)(!1),[E,O]=(0,n.useState)(""),[M,F]=(0,n.useState)([]),[P,H]=(0,n.useState)(""),[B,K]=(0,n.useState)(!1),[Q,Y]=(0,n.useState)(0),J=(0,n.useRef)(null),V=(0,n.useRef)(null),W=(0,n.useRef)(null),z=(0,n.useRef)(!1),G=(0,n.useRef)(!1),Z=(0,n.useCallback)(async(e=null,t=!1)=>{if(x&&w){t&&U(!0);try{let n=new URLSearchParams({limit:"60"});e&&n.set("cursor",e);let[a,s]=await Promise.all([fetch(`/api/bots/${encodeURIComponent(x)}/conversations/${encodeURIComponent(w)}?${n}`,{cache:"no-store"}),fetch(`/api/exchanges?conversation=${encodeURIComponent(w)}`,{cache:"no-store"})]);if(404===a.status){D(!0),T("");return}let r=await a.json().catch(()=>null);if(!a.ok||!r||!Array.isArray(r.messages))throw Error("history");let i=await s.json().catch(()=>null);k(r),N(e=>t?f(r.messages,e):f(e,r.messages)),(t||!z.current)&&S(r.next_cursor),s.ok&&Array.isArray(i?.exchanges)&&A(i.exchanges),T(""),D(!1)}catch{T("Could not load this conversation.")}finally{U(!1)}}},[w,x]);(0,n.useEffect)(()=>{let e=window.setTimeout(()=>{Z()},0),t=window.setInterval(()=>{Z()},2e3);return()=>{window.clearTimeout(e),window.clearInterval(t)}},[Z,Q]),(0,n.useEffect)(()=>{$&&!z.current&&(z.current=!0,W.current?.lastElementChild?.scrollIntoView({block:"end"}),$.writable&&J.current?.focus({preventScroll:!0}))},[$]),(0,n.useEffect)(()=>{let e=y.get("exchange");if(!e||G.current)return;let t=document.getElementById(`exchange-${e}`);t&&(G.current=!0,t.scrollIntoView({block:"center"}),t.focus({preventScroll:!0}))},[I,y]);let X=e=>{let t=6-M.length;H(e.length>t?"Up to six attachments.":""),F(n=>[...n,...e.slice(0,Math.max(t,0)).map((e,t)=>({id:`${e.name}-${e.size}-${n.length+t}`,name:e.name}))])},ee=async()=>{if(!$?.writable||B)return;let e=[E.trim(),...M.map(e=>e.name)].filter(Boolean).join("\n");if(e){K(!0);try{if(!(await fetch(`/api/conversations/${encodeURIComponent(w)}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e,idempotencyKey:crypto.randomUUID()})})).ok)throw Error("send");O(""),F([]),H(""),await Z()}catch{H("Message could not be sent. Try again.")}finally{K(!1)}}},et=async e=>{if(!$?.writable)return;let t=e?`/messages/${encodeURIComponent(e)}/stop`:"/stop";await fetch(`/api/conversations/${encodeURIComponent(w)}${t}`,{method:"POST"}),await Z()};if(q)return(0,t.jsxs)("div",{className:"conversation-detail-state",children:[(0,t.jsx)("h2",{children:"Conversation not found"}),(0,t.jsx)("p",{children:"This conversation does not involve the selected Agent or no longer exists."}),(0,t.jsx)(a.default,{href:`/agents/${encodeURIComponent(x)}/conversations`,children:"All conversations"})]});if(!$&&!R)return(0,t.jsx)("p",{className:"conversation-detail-state",role:"status","data-conversation-detail-state":"loading",children:"Loading conversation…"});if(!$&&R)return(0,t.jsxs)("div",{className:"conversation-detail-state",role:"alert","data-conversation-detail-state":"error",children:[(0,t.jsx)("p",{children:R}),(0,t.jsx)("button",{type:"button",onClick:()=>Y(e=>e+1),children:"Retry"})]});if(!$)return null;let en=(0,h.wakeNotices)($.events).map(e=>({...e,actionable:e.actionable&&$.writable})),ea=new Set,es=new Set,er=e=>en.filter(t=>!ea.has(t.eventId)&&t.createdAt<e).map(e=>(ea.add(e.eventId),(0,t.jsx)("li",{className:"msg-status",children:(0,t.jsx)(o.default,{notice:e,onDone:()=>void Z()})},e.eventId))),ei=e=>I.filter(t=>!es.has(t.id)&&t.created_at<e).sort((e,t)=>e.created_at-t.created_at).map(e=>(es.add(e.id),(0,t.jsx)("li",{className:"msg-status",children:(0,t.jsx)(r.default,{summary:e,onChanged:()=>void Z()})},e.id)));return(0,t.jsxs)("div",{className:"conversation-detail","data-conversation-writable":$.writable?"true":"false",children:[(0,t.jsxs)("header",{className:"conversation-detail-head",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(a.default,{href:`/agents/${encodeURIComponent(x)}/conversations`,children:"← Conversations"}),(0,t.jsx)("p",{className:"agent-eyebrow",children:"direct"===$.type?"Direct conversation":"group"===$.type?"Group history":$.origin?.kind==="service"?"External-service history":"Agent-to-Agent history"}),(0,t.jsx)("h2",{children:$.label}),(0,t.jsx)("p",{className:"conversation-participant-line",children:$.participants.map(e=>e.label).join(" · ")}),(0,t.jsxs)("p",{className:"conversation-origin-line",children:["Origin: ",$.origin?.label??"Unknown"," · ",$.message_count," messages"]})]}),$.writable?(0,t.jsx)("button",{type:"button",className:"conversation-stop",onClick:()=>void et(),children:"Stop delegated turns"}):null]}),$.writable?null:(0,t.jsxs)("aside",{className:"conversation-read-only",role:"note",children:[(0,t.jsx)("strong",{children:"Read-only history"}),(0,t.jsx)("p",{children:$.read_only_reason}),_?.conversation?(0,t.jsx)(a.default,{href:`/agents/${encodeURIComponent(x)}/conversations/${encodeURIComponent(_.conversation.id)}`,children:"Open direct conversation"}):null]}),R?(0,t.jsxs)("p",{className:"conversation-refresh-error",role:"alert",children:[R," Showing the last loaded history."]}):null,(0,t.jsxs)("div",{className:"conversation-history",children:[C?(0,t.jsx)("button",{className:"conversation-older",type:"button",disabled:L,onClick:()=>void Z(C,!0),children:L?"Loading…":"Load older messages"}):null,(0,t.jsxs)("ol",{ref:W,className:"conversation-message-list","aria-label":"Conversation history",children:[0===j.length?(0,t.jsx)("li",{className:"conversation-empty-history",children:"No messages in this conversation yet."}):null,j.map(e=>{let a="You"===e.sender_name,s=m(e.content),r=a?null:(0,u.classifyRuntimeFailure)(s),o=a?null:(0,p.parseRun)(e.content),l=a||o?null:(0,d.parseDraft)(s),h=a||o?null:(0,d.parseApprovalCode)(e.content);return(0,t.jsxs)(n.Fragment,{children:[er(e.created_at),ei(e.created_at),(0,t.jsxs)("li",{className:a?"msg-you":"msg-bot",children:[(0,t.jsx)("div",{className:a?"msg-name msg-name-you":"msg-name",children:e.sender_name}),r?(0,t.jsx)("div",{className:"msg-status",children:(0,t.jsx)(i.default,{failure:r})}):o?(0,t.jsxs)("div",{className:"msg-body",children:[(0,p.runLine)(o),"running"===o.state&&$.writable?(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsx)("button",{type:"button",className:"attach-word",onClick:()=>void et(e.id),children:"Stop"})]}):null]}):l&&e.draftStatus?(0,t.jsx)("div",{className:"msg-body",children:(0,t.jsx)(g,{message:e,conversationId:w,status:e.draftStatus,writable:$.writable,onDone:()=>void Z()})}):(0,t.jsxs)("div",{className:"msg-body",children:[function(e,n){let a=String(e??"").split("\n");if(!a.some(e=>null!==(0,c.agentEventDisplay)(e)))return e;let s=[];return a.forEach((e,a)=>{a>0&&s.push((0,t.jsx)("br",{},`${n}-br-${a}`));let r=(0,c.agentEventDisplay)(e);s.push(r?(0,t.jsxs)("span",{className:"agent-event",children:[(0,t.jsx)("span",{className:"agent-event-label",children:r.label}),r.detail?` ${r.detail}`:""]},`${n}-${a}`):(0,t.jsx)("span",{children:e},`${n}-${a}`))}),s}(s,e.id),h&&e.approvalStatus?(0,t.jsx)(v,{message:e,conversationId:w,status:e.approvalStatus,writable:$.writable,onDone:()=>void Z()}):null,(0,t.jsx)(b,{names:(0,d.parseFileNames)(e.content)})]})]})]},e.id)}),er(1/0),ei(1/0)]})]}),$.writable?(0,t.jsxs)("div",{className:"composer conversation-composer",onPaste:e=>{let t=Array.from(e.clipboardData.files??[]);t.length&&(e.preventDefault(),X(t))},children:[(0,t.jsxs)("div",{className:"composer-box",children:[P?(0,t.jsx)("p",{className:"attach-error",role:"alert",children:P}):null,M.length?(0,t.jsx)("div",{className:"attach-names",children:M.map(e=>(0,t.jsx)("span",{children:e.name},e.id))}):null,(0,t.jsx)("textarea",{ref:J,rows:2,value:E,onChange:e=>O(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),ee())},placeholder:`Message ${_?.agent.name??"this Agent"}`,"aria-label":"Message"})]}),(0,t.jsx)("input",{ref:V,className:"attach-input",type:"file",multiple:!0,onChange:e=>{X(Array.from(e.target.files??[])),e.target.value=""}}),(0,t.jsx)("button",{type:"button",className:"attach-word",onClick:()=>V.current?.click(),children:"Attach"}),(0,t.jsx)("button",{type:"button",className:"send-btn",disabled:B,onClick:()=>void ee(),children:B?"Sending…":"Send"})]}):null]})}])},13255,e=>{"use strict";var t=e.i(43476),n=e.i(71645),a=e.i(22016),s=e.i(50814);e.s(["default",0,function({summary:e,onChanged:r}){let[i,o]=(0,n.useState)(!1),[l,c]=(0,n.useState)(""),d=(0,s.stateTone)(e.state),u=(0,s.outcomeLine)(e),p=(0,s.failureAdvice)(e),h=`exchange-${e.id}-title`,m=async()=>{if(!i){o(!0),c("");try{let t=await fetch(`/api/exchanges/${encodeURIComponent(e.id)}/cancel`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"});if(!t.ok){let e=await t.json().catch(()=>null);c("string"==typeof e?.error?.message?e.error.message:"Could not cancel. Try again.")}}catch{c("Could not cancel. Try again.")}finally{o(!1),r?.()}}};return(0,t.jsxs)("article",{id:`exchange-${e.id}`,className:`exchange-card is-${d} is-${e.state}`,"data-exchange-id":e.id,"data-exchange-state":e.state,"aria-labelledby":h,tabIndex:-1,children:[(0,t.jsxs)("p",{className:"exchange-card-line",children:[(0,t.jsx)("span",{className:"exchange-card-mode",children:(0,s.modeLabel)(e.mode)}),(0,t.jsx)("span",{id:h,className:"exchange-card-title",children:(0,s.participantsLabel)(e)}),(0,t.jsx)("span",{className:"exchange-card-state",role:"status",children:(0,s.liveStateLabel)(e)})]}),(0,t.jsx)("p",{className:"exchange-card-session",children:(0,s.sessionLabel)(e)}),(0,t.jsxs)("p",{className:"exchange-card-instruction",children:[(0,t.jsx)("span",{className:"exchange-card-key",children:(0,s.instructionHeading)(e.mode)})," ",(0,s.excerpt)(e.instruction,220)]}),u?(0,t.jsx)("p",{className:"failed"===e.state?"exchange-card-outcome is-failure":"exchange-card-outcome",children:u}):null,p?(0,t.jsx)("p",{className:"exchange-card-advice",children:p}):null,l?(0,t.jsx)("p",{className:"exchange-card-error",role:"alert",children:l}):null,(0,t.jsxs)("p",{className:"exchange-card-foot",children:[(0,t.jsxs)("span",{className:"exchange-card-time",children:["Updated ",(0,s.formatExchangeTime)(e.updated_at)]}),(0,t.jsx)(a.default,{className:"exchange-card-link",href:(0,s.detailsHref)(e.id),"aria-label":`Details: ${(0,s.modeLabel)(e.mode)} ${(0,s.participantsLabel)(e)}`,children:"Details"}),e.can_cancel?(0,t.jsx)("button",{type:"button",className:"exchange-card-cancel",disabled:i,onClick:()=>{m()},children:i?"Cancelling…":"Cancel"}):null]})]})}])},46986,15366,e=>{"use strict";var t=e.i(43476),n=e.i(71645),a=e.i(96594);e.s(["default",0,function({failure:e}){let[s,r]=(0,n.useState)("idle"),i=(0,a.severityLabel)(e.severity),o=(0,n.useId)();async function l(){try{await navigator.clipboard.writeText(e.detail),r("copied")}catch{r("failed")}}return(0,t.jsxs)("div",{className:`runtime-failure runtime-failure-${e.severity}`,role:"status","aria-labelledby":o,"data-runtime-failure":e.kind,children:[(0,t.jsxs)("p",{className:"runtime-failure-title",id:o,children:[(0,t.jsx)("span",{className:"runtime-failure-severity",children:i}),e.title]}),(0,t.jsx)("p",{className:"runtime-failure-recovery",children:e.recovery}),(0,t.jsxs)("details",{className:"runtime-failure-details",children:[(0,t.jsx)("summary",{children:"Details"}),(0,t.jsx)("code",{className:"runtime-failure-detail",children:e.detail}),(0,t.jsx)("button",{type:"button",className:"runtime-failure-copy",onClick:()=>{l()},children:"copied"===s?"Copied":"failed"===s?"Copy failed":"Copy details"})]})]})}],46986);let s={blocked:"Needs approval",rejected:"Not started",allowed:"Allowed",denied:"Denied",waiting:"Queued",stopped:"Stopped"};e.s(["default",0,function({notice:e,onDone:a}){let[r,i]=(0,n.useState)(!1),[o,l]=(0,n.useState)(""),c="blocked"!==e.tone||e.actionable?s[e.tone]:"Blocked",d=async t=>{if(!r&&e.wakeId){i(!0),l("");try{let n=await fetch(`/api/wakes/${e.wakeId}/decision`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({decision:t})});if(!n.ok){let e=await n.json().catch(()=>null);l("string"==typeof e?.error?.message?e.error.message:"The decision could not be recorded.")}}catch{l("The decision could not be recorded.")}finally{i(!1),a()}}};return(0,t.jsxs)("div",{className:`wake-notice wake-notice-${e.tone}`,role:"status","data-wake-notice":e.tone,"data-wake-id":e.wakeId??void 0,children:[(0,t.jsxs)("p",{className:"wake-notice-line",children:[(0,t.jsx)("span",{className:"wake-notice-label",children:c}),e.text]}),e.actionable?(0,t.jsxs)("div",{className:"wake-notice-actions",children:[(0,t.jsx)("button",{type:"button",className:"approve-control",disabled:r,onClick:()=>{d("allow")},children:"Allow"}),(0,t.jsx)("button",{type:"button",className:"approve-control",style:{marginLeft:8},disabled:r,onClick:()=>{d("deny")},children:"Deny"})]}):null,o?(0,t.jsx)("p",{className:"wake-notice-error",role:"alert",children:o}):null]})}],15366)},68684,e=>{"use strict";e.s(["draftTitle",0,function(e){return"email"===e?"New Email":"New Slack Message"},"parseApprovalCode",0,function(e){let t=e.match(/approve using the code ([A-Za-z0-9][A-Za-z0-9_-]*)/i);return t?t[1]:null},"parseDraft",0,function(e){let t,n=e.match(/^\s*\[draft\]\s*([\s\S]*)$/);if(!n)return null;try{t=JSON.parse(n[1])}catch{return null}if(!t||"object"!=typeof t)return null;let a=t;return"email"!==a.channel&&"slack"!==a.channel||"open"!==a.state&&"sent"!==a.state&&"discarded"!==a.state||"string"!=typeof a.recipient||"string"!=typeof a.body?null:{channel:a.channel,recipient:a.recipient,body:a.body,state:a.state}},"parseFileNames",0,function(e){let t=[];for(let n of e.split("\n")){let e=n.match(/^\s*\[file\]\s*(\S+)\s*$/i);e&&!t.includes(e[1])&&t.push(e[1])}return t},"parseHandoff",0,function(e){let t=e.match(/^\s*\[Handing off to ([^\]]+)\]/);return t&&t[1].trim()||null}])},50814,63352,e=>{"use strict";function t(e){return`${new Date(e).toISOString().slice(0,16).replace("T"," ")} UTC`}function n(e){return e?e.split("/").filter(e=>e.length>0).pop()??null:null}function a(e,t){let n=function(e){if(!e)return null;let t=e.toLowerCase();return"muse code"===t?"muse":(["codex","claude","cursor","hermes","muse"].includes(t),t)}(t);switch(e){case"provider_unavailable":return n?{reason:`${n} is not installed or did not start`,fix:`Install ${n} and Retry.`}:{reason:"the runtime is not installed or did not start",fix:"Install the runtime and Retry."};case"auth_required":return{reason:"not signed in",fix:"Sign in and Retry."};case"permission_denied":return{reason:"permission denied",fix:"Check permissions and Retry."};case"incompatible_version":return{reason:"incompatible version",fix:"Update the runtime and Retry."};case"usage_limit":return{reason:"usage limit reached",fix:"Wait or upgrade and Retry."};case"scope_missing":return{reason:"no session scope is set",fix:"Choose a scope in Config."};case"provider_failed":return{reason:"the listing failed",fix:"Retry."};default:return{reason:e,fix:"Retry."}}}let s="Not reported";function r(e){return e.toFixed(1).replace(/\.0$/,"")}function i(e){return e.toLocaleString("en-US")}function o(e){return 0===e?"$0.00":e>=.01?`$${e.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}`:e<1e-4?"<$0.0001":`$${e.toFixed(4)}`}let l={input_tokens:"Input tokens",output_tokens:"Output tokens",cost_usd:"Cost"};function c(e,t,n){return"cost_usd"===e?o(t):n?i(t):t<1e3?String(t):t<999950?`${r(t/1e3)}k`:t<99995e4?`${r(t/1e6)}M`:`${r(t/1e9)}B`}function d(e){return`${e} ${1===e?"run":"runs"}`}function u(e,t,n=!1){let a=l[e];if(!t||"unavailable"===t.quality||null===t.sum)return{name:a,text:s,quality:"unavailable",coverage:t&&t.total>0?`0 of ${d(t.total)} reported`:"No runs recorded",label:`${a}: not reported`};let r=c(e,t.sum,n),i=c(e,t.sum,!0);return"partial"===t.quality?{name:a,text:r,quality:"partial",coverage:`Partial: ${t.known} of ${d(t.total)} reported`,label:`${a}: at least ${i}, partial, reported by ${t.known} of ${d(t.total)}`}:{name:a,text:r,quality:"complete",coverage:`All ${d(t.total)} reported`,label:`${a}: ${i}, reported by all ${d(t.total)}`}}e.s(["SESSION_FILTER_OPTIONS",0,[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"ended",label:"Ended"}],"attemptLabel",0,function(e){let t="source"===e.role?"Started the session":"Resumed the session";return`${t} \xb7 ${e.outcome??"running"}`},"emptySessionsCopy",0,function(e,t,n,s){if("active"===e)return`${t} has no active sessions.`;if("ended"===e)return`${t} has no ended sessions.`;if(n?.last_error_code){let{reason:e,fix:t}=a(n.last_error_code,s),r=s?`${s} sessions`:"sessions";return`Could not read ${r}: ${e}. ${t}`}if(n&&null===n.synced_at)return`${t} has not synced sessions yet. Refresh to load past sessions.`;let r=n?.out_of_scope_count??0;return r>0?`${r} ${1===r?"session exists":"sessions exist"} outside ${t}'s scope. Widen the scope to see them.`:`${t} has no sessions yet. One appears after a coding run keeps its runtime context.`},"formatSessionDate",0,t,"formatSyncRelativeTime",0,function(e,t=Date.now()){if(null===e)return"never";let n=Math.max(0,t-e);if(n<6e4)return"just now";let a=Math.floor(n/6e4);if(a<60)return`${a} minute${1===a?"":"s"} ago`;let s=Math.floor(a/60);if(s<24)return`${s} hour${1===s?"":"s"} ago`;let r=Math.floor(s/24);return`${r} day${1===r?"":"s"} ago`},"noMatchingSessionsCopy",0,function(e,t){let a=e.trim();if(a)return`No sessions match “${a}”.`;let s=n(t);return s?`No sessions in ${s}.`:"No sessions match the current filters."},"registrationSessionSyncCopy",0,function(e,t){if("failed"===e.outcome){let{reason:n,fix:s}=a(e.error_code??"provider_failed",t);return`Could not read ${t} sessions: ${n}. ${s}`}if("unsupported"===e.outcome)return`Past sessions are not available for ${t}.`;let n=1===e.imported?"session":"sessions",s=`Loaded ${e.imported} ${n}`;return e.rejected_out_of_scope>0&&(s+=`, ${e.rejected_out_of_scope} outside the scope`),e.complete||(s+=", more remain"),`${s}.`},"runtimeLabel",0,function(e){return e.agent.transport?`${e.agent.adapter} \xb7 ${e.agent.transport}`:e.agent.adapter},"sessionOriginChips",0,function(e){let t=[],n=e.origin.work_request?.requester;return n?.kind==="person"?t.push("Human origin"):n?.kind==="bot"?t.push(n.name?`${n.name} Agent`:"Agent origin"):n?.kind==="service"&&t.push("Service origin"),e.origin.conversation&&t.push(e.origin.conversation.label),[...new Set(t)]},"sessionStateTags",0,function(e){let t=[];return(e.home&&t.push("Home"),e.state?.availability==="missing")?[...t,"Missing"]:(e.state?.lifecycle==="archived"&&t.push("Archived"),e.state?.busy&&t.push("Busy"),(e.resumable||e.state?.resumable===!0)&&t.push("Resumable"),t)},"sessionUsageLine",0,function(e){let t=u("input_tokens",e?.input_tokens),n=u("output_tokens",e?.output_tokens),a=u("cost_usd",e?.cost_usd),r=[t,n,a];if(r.every(e=>"unavailable"===e.quality))return{text:s,label:"Usage: not reported",quality:"unavailable",partial:!1};let i=["unavailable"===t.quality?"input not reported":`${t.text} in`,"unavailable"===n.quality?"output not reported":`${n.text} out`,"unavailable"===a.quality?"cost not reported":a.text].join(" · "),o=r.some(e=>"partial"===e.quality),l=o||r.some(e=>"unavailable"===e.quality)?"partial":"complete";return{text:i,label:`Reported usage: ${r.map(e=>e.label).join("; ")}`,quality:l,partial:o}},"statusLabel",0,function(e){return"active"===e.status?"Active":"Ended"},"usageMetricView",0,u,"usageSampleLabel",0,function(e,t){let n="turn"===e.kind?"start"===e.turn_kind?"provider turn, started":"provider turn":"resume"===e.turn_kind?"resumed":"started";return`Run ${t+1} \xb7 ${n}`},"usageSampleValues",0,function(e){return{input:null===e.input_tokens?s:i(e.input_tokens),output:null===e.output_tokens?s:i(e.output_tokens),cost:null===e.cost_usd?s:o(e.cost_usd)}},"workRequestLabel",0,function(e){var t;let n=e.origin.work_request;return n?`${(t=n.execution_kind)?t[0].toUpperCase()+t.slice(1):t} \xb7 ${n.state}`:null},"workspaceFolderName",0,n,"workspaceOptions",0,function(e){let t=[...new Set(e.filter(e=>"string"==typeof e&&e.length>0))],a=t.map(e=>n(e)??e);return t.map((e,t)=>({value:e,label:a.filter(e=>e===a[t]).length>1?e:a[t]})).sort((e,t)=>e.label<t.label?-1:+(e.label>t.label))}],63352);let p={ask:"Ask from this context",resume:"Resume work here",handoff:"Hand off to…"},h=["queued","extracting","delivering","completed","failed","cancelled"],m=["completed","failed","cancelled"];function f(e,t){switch(t){case"queued":return"Queued";case"extracting":return"ask"===e?"Asking the session":"Extracting handoff";case"delivering":return"Delivering handoff";case"completed":return"ask"===e?"Answered":"Handed off";case"failed":return"Failed";case"cancelled":return"Cancelled"}}function g(e,t=140){let n=String(e??"").split("\n").map(e=>e.trim()).filter(e=>e.length>0).join(" ");return n.length>t?`${n.slice(0,t-1).trimEnd()}…`:n}function v(e,t){return t.updated_at-e.updated_at||t.created_at-e.created_at||(e.id<t.id?-1:+(e.id>t.id))}e.s(["DEFAULT_LEDGER_FILTER",0,{mode:"all",state:"all",agentId:""},"INSTRUCTION_LIMIT",0,4e3,"MODE_FILTER_OPTIONS",0,[{value:"all",label:"All"},{value:"ask",label:"Ask"},{value:"continue",label:"Continue"}],"STATE_FILTER_OPTIONS",0,[{value:"all",label:"Any status"},{value:"active",label:"In progress"},{value:"queued",label:"Queued"},{value:"extracting",label:"Asking / extracting"},{value:"delivering",label:"Delivering"},{value:"completed",label:"Completed"},{value:"failed",label:"Failed"},{value:"cancelled",label:"Cancelled"}],"detailsHref",0,function(e){return`/exchanges?id=${encodeURIComponent(e)}`},"eventLabel",0,function(e,t){let n=e.data??{},a=t.source.agent_name,s=t.destination?.agent_name??"the destination Agent",r="string"==typeof n.hop?n.hop:null;switch(e.type){case"created":return"ask"===t.mode?`You asked ${a}'s session a question`:`You handed ${a}'s session to ${s}`;case"hop_queued":if("deliver"===r)return`Handoff queued for ${s}'s new session`;return"extract"===r?`Handoff extraction queued in ${a}'s session`:`Question queued for ${a}'s session`;case"hop_started":if("deliver"===r)return`${s} started a new session`;return"extract"===r?`${a}'s session started extracting the handoff`:`${a}'s session started answering`;case"state_changed":{let e="string"==typeof n.to&&h.includes(n.to)?n.to:null;return e?`Now ${f(t.mode,e).toLowerCase()}`:"State changed"}case"answer_returned":return`Answer returned to ${t.origin?.label??"the origin thread"}${n.truncated?" (shortened)":""}`;case"packet_extracted":return"Handoff packet extracted";case"packet_rejected":return`Handoff packet refused${"string"==typeof n.reason?`: ${n.reason}`:""}`;case"destination_replied":return`${s} replied in ${t.destination?.conversation?.label??"its thread"}`;case"destination_session_rejected":return`${s}'s session was not new; the handoff stopped`;case"cancel_requested":return"You asked to cancel";case"hop_result_discarded":return"A late result was discarded";default:return e.type.replace(/_/g," ")}},"excerpt",0,g,"exchangeRequestBody",0,function(e,t,n){let a={mode:e.mode,idempotency_key:n,origin_conversation_id:e.originConversationId,source:{agent_id:t.agentId,session_ref:t.sessionRef},instruction:e.instruction.trim()};return"continue"===e.mode&&(a.destination={agent_id:e.destinationAgentId}),a},"failureAdvice",0,function(e){if("failed"!==e.state)return null;switch(e.failure?.code){case"packet_invalid":case"packet_missing":return"The source session did not return a usable handoff. Start a new Continue with a clearer objective.";case"destination_session_invalid":return"The destination did not start a fresh session. Check its runtime, then start a new Continue.";case"destination_turn_failed":return"Check the destination Agent’s runtime, then start a new Continue from the source session.";case"source_turn_failed":return"Check the source Agent’s runtime, then start a new exchange from its Sessions.";default:return"Start a new exchange from the session to try again."}},"formatExchangeTime",0,function(e){return t(e)},"instructionHeading",0,function(e){return"ask"===e?"Question":"Objective"},"ledgerAgents",0,function(e){let t=new Map;for(let n of e)t.set(n.source.agent_id,n.source.agent_name),n.destination&&t.set(n.destination.agent_id,n.destination.agent_name);return[...t.entries()].map(([e,t])=>({id:e,name:t})).sort((e,t)=>e.name.localeCompare(t.name)||e.id.localeCompare(t.id))},"ledgerRows",0,function(e,t){return e.filter(e=>("all"===t.mode||e.mode===t.mode)&&("active"!==t.state||!e.terminal)&&("all"===t.state||"active"===t.state||e.state===t.state)&&(!t.agentId||e.source.agent_id===t.agentId||e.destination?.agent_id===t.agentId)).sort(v)},"ledgerView",0,function(e,t,n){return null===e?t?"error":"loading":0===e.length?"empty":0===n.length?"filtered-out":"rows"},"linkRoleLabel",0,function(e){let t={origin:"Started here",source:"Source session",destination:"Destination"};return e.map(e=>t[e]).join(" · ")},"liveStateLabel",0,function(e){var t;return e.cancel_requested&&(t=e.state,!m.includes(t))?"Cancelling…":f(e.mode,e.state)},"modeLabel",0,function(e){return"ask"===e?"Ask":"Continue"},"outcomeLine",0,function(e){if("completed"===e.state){if("ask"===e.mode){let t=e.origin?.label??"the origin thread";return e.outcome.answer?`Answer in ${t}: ${g(e.outcome.answer,200)}`:`Answered in ${t}.`}let t=e.destination?.agent_name??"The destination Agent";return e.outcome.reply?`${t} picked it up in a new session: ${g(e.outcome.reply,200)}`:`${t} picked it up in a new session.`}return"failed"===e.state?e.failure?.message||"The exchange failed.":"cancelled"===e.state?"Cancelled before it finished. Nothing more will run.":null},"participantsLabel",0,function(e){return"ask"===e.mode?`You → ${e.source.agent_name}`:`${e.source.agent_name} → ${e.destination?.agent_name??"another Agent"}`},"pinRequestBody",0,function(e,t,n,a,s){return{action:e,content:t.trim(),conversation_id:n,idempotency_key:s,..."resume"===e?{approve_write:a}:{}}},"sessionDialogMode",0,function(e){return"handoff"===e?"continue":e},"sessionDialogTitle",0,function(e){return p["continue"===e?"handoff":e]},"sessionDialogUsesPin",0,function(e,t){return"resume"===e||"ask"===e&&"provider"===t},"sessionLabel",0,function(e){return`${e.source.agent_name}'s session “${e.source.session_title}”`},"sessionRowActions",0,function(e){let t;if(e.actions)t=e.actions;else{let n="ended"===e.status?{available:!1,reason:"Ask from this context and Hand off to… are unavailable: this session has ended. Its history stays here."}:e.resumable?{available:!0}:{available:!1,reason:`Ask from this context and Hand off to… are unavailable: Botmancers can’t resume this session under ${e.agent.name}’s current runtime.`},a=n.available?{available:!0}:{available:!1,code:"ended"===e.status?"session_ended":"session_not_resumable",reason:n.reason,recovery:"choose_session"};t={ask:a,resume:{available:!1,code:"action_unavailable",reason:`${p.resume} is unavailable: this runtime can’t resume a session with edits.`,recovery:"choose_action"},handoff:a}}return["ask","resume","handoff"].map(e=>({action:e,label:p[e],availability:t[e]}))},"stateTone",0,function(e){return"completed"===e?"done":"failed"===e||"cancelled"===e?"stopped":"active"},"submitErrorMessage",0,function(e,t){switch(e){case"session_ended":return"This session has ended and can’t be resumed.";case"session_not_resumable":return"Botmancers can’t resume this session under the Agent’s current runtime.";case"source_session_busy":return"This session already has an exchange in progress. Wait for it or cancel it from its card.";case"agent_unavailable":return t||"That Agent can’t launch yet. Choose its runtime connection and session scope in Config.";case"idempotency_conflict":return"This request changed while it was being sent. Send again.";case"session_missing":return"The runtime no longer has this session. Its history stays here; choose another session.";case"approval_required":return"Resume work here needs your approval of edits. Tick the approval, then send again.";case"authority_not_allowed":return t||"This Agent’s policy doesn’t allow edits in a resumed session. Change it in Config.";case"action_unavailable":return t||"This runtime can’t do that in this session. Choose another action.";case"provider_failed":return"The runtime failed this turn. Nothing moved to another session; try again later.";default:return t||"The exchange could not be started. Your draft is kept; try again."}},"threadHref",0,function(e,t){let n=new URLSearchParams;if(e.thread_agent_id){t&&n.set("exchange",t);let a=n.toString();return`/agents/${encodeURIComponent(e.thread_agent_id)}/conversations/${encodeURIComponent(e.id)}${a?`?${a}`:""}`}if("group"!==e.kind)return null;t&&n.set("exchange",t);let a=n.toString();return`/threads/${encodeURIComponent(e.id)}${a?`?${a}`:""}`},"validateDraft",0,function(e){let t={},n=e.instruction.trim(),a="ask"===e.mode?"a question":"an objective";return n?e.instruction.length>4e3&&(t.instruction="Keep it under 4000 characters."):t.instruction=`Enter ${a}.`,e.originConversationId||(t.origin="Choose the thread that follows this exchange."),"continue"!==e.mode||e.destinationAgentId||(t.destination="Choose the Agent who continues the work."),t},"validateResumeDraft",0,function(e,t){let n={};return e.trim()?e.length>4e3&&(n.instruction="Keep it under 4000 characters."):n.instruction="Enter what to work on.",t||(n.approval="Approve edits in this session to resume work here."),n}],50814)},54423,e=>{"use strict";e.s(["wakeNotices",0,function(e){let t=[],n=new Map;return e.forEach((a,s)=>{let r="string"==typeof a.data.target_name?a.data.target_name:null;a.requestId&&r&&n.set(a.requestId,r);let i=function(e){switch(e.kind){case"wake_blocked":return"blocked";case"wake_rejected":return"rejected";case"lineage_stopped":return"stopped";case"wake_accepted":return"string"==typeof e.data.reason?"allowed":null;case"request_cancelled":return"grant_denied"===e.data.reason?"denied":null;case"request_queued":return"capacity"===e.data.waiting_for?"waiting":null;default:return null}}(a);if(!i)return;let o=Array.isArray(a.data.actions)?a.data.actions:[],l=null!==a.requestId&&e.slice(s+1).some(e=>e.requestId===a.requestId);if("waiting"===i&&l)return;let c=a.requestId?n.get(a.requestId):void 0,d="denied"===i&&c?`Wake denied: ${c} — no work ran`:"waiting"===i&&c?`Queued: ${c} — waiting for capacity`:a.text;t.push({eventId:a.eventId,wakeId:a.wakeId,tone:i,text:d,actionable:"blocked"===i&&!!a.wakeId&&o.includes("allow")&&o.includes("deny")&&!l,createdAt:a.createdAt})}),t}])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,66464,e=>{"use strict";var t=e.i(43476),s=e.i(22016),a=e.i(71645),n=e.i(70925);let i=[{value:"all",label:"All"},{value:"sessions",label:"Sessions"},{value:"conversations",label:"Conversations & exchanges"},{value:"slack",label:"Slack"},{value:"errors",label:"Errors"}],r={filter:"all",requestKey:"",activity:{state:"loading"},nextCursor:null,loadingMore:!1};function l(e,t){return"select_filter"===t.type?{...e,filter:t.filter,requestKey:"",activity:{state:"loading"},nextCursor:null,loadingMore:!1}:"request_started"===t.type?{...e,requestKey:t.key,activity:{state:"loading"},nextCursor:null,loadingMore:!1}:"request_succeeded"===t.type?t.key===e.requestKey?{...e,activity:{state:"ready",items:t.items},nextCursor:t.nextCursor}:e:"request_failed"===t.type?t.key===e.requestKey?{...e,activity:{state:"error"},nextCursor:null}:e:"load_started"===t.type?t.key===e.requestKey?{...e,loadingMore:!0}:e:"load_succeeded"===t.type&&t.key===e.requestKey&&"ready"===e.activity.state?{...e,activity:{state:"ready",items:[...e.activity.items,...t.items]},nextCursor:t.nextCursor,loadingMore:!1}:"load_failed"===t.type&&t.key===e.requestKey?{...e,activity:{state:"error"},nextCursor:null,loadingMore:!1}:e}function c(e,t,s=null){let a=new URLSearchParams({filter:t,limit:String(20)});return s&&a.set("cursor",s),`/api/bots/${encodeURIComponent(e)}/activity?${a.toString()}`}function o({items:e,compact:a=!1}){return(0,t.jsx)("ol",{className:a?"agent-activity-list is-compact":"agent-activity-list","aria-label":"Agent activity, newest first",children:e.map(e=>(0,t.jsxs)("li",{className:`agent-activity-item is-${e.severity}`,"data-activity-kind":e.kind,children:[(0,t.jsx)("span",{className:"agent-activity-marker","aria-hidden":"true"}),(0,t.jsxs)("div",{className:"agent-activity-card",children:[(0,t.jsxs)("div",{className:"agent-activity-summary",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"agent-activity-category",children:"conversations"===e.category?"Conversations & exchanges":e.category}),(0,t.jsx)("strong",{children:e.summary}),(0,t.jsx)("time",{dateTime:new Date(e.occurred_at).toISOString(),children:new Date(e.occurred_at).toLocaleString()})]}),e.attention?(0,t.jsx)("span",{className:"agent-activity-attention",children:"Needs attention"}):null]}),(0,t.jsx)("div",{className:"agent-activity-actions",children:(0,t.jsx)(s.default,{href:e.target.href,children:e.target.label})}),!a&&Object.keys(e.details).length?(0,t.jsxs)("details",{className:"agent-activity-details",children:[(0,t.jsx)("summary",{children:"Raw details"}),(0,t.jsx)("dl",{children:Object.entries(e.details).map(([e,s])=>(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:e.replaceAll("_"," ")}),(0,t.jsx)("dd",{children:(0,t.jsx)("code",{children:String(s)})})]},e))}),(0,t.jsx)("p",{children:"Safe structured fields only. Provider transcripts and identifiers are excluded."})]}):null]})]},e.id))})}function d({activity:e,filter:s,nextCursor:a,loadingMore:n,onLoadMore:r}){return(0,t.jsxs)(t.Fragment,{children:["loading"===e.state?(0,t.jsx)("p",{className:"agent-activity-state",role:"status",children:"Loading activity…"}):null,"error"===e.state?(0,t.jsxs)("div",{className:"agent-activity-state is-error",role:"alert",children:[(0,t.jsx)("strong",{children:"Activity unavailable"}),(0,t.jsx)("p",{children:"No partial or stale timeline is shown. Refresh to try again."})]}):null,"ready"!==e.state||e.items.length?null:(0,t.jsx)("p",{className:"agent-activity-state",children:"all"===s?"No operational activity has been recorded for this Agent yet.":`No ${i.find(e=>e.value===s)?.label.toLowerCase()} activity matches this filter.`}),"ready"===e.state&&e.items.length?(0,t.jsx)(o,{items:e.items}):null,"ready"===e.state&&a?(0,t.jsx)("button",{type:"button",className:"agent-activity-more",onClick:r,disabled:n,children:n?"Loading…":"Load older activity"}):null]})}e.s(["ActivityList",0,o,"ActivityResults",0,d,"activityPageReducer",0,l,"agentActivityUrl",0,c,"default",0,function(){let{id:e,overview:o,loading:h,error:u,notFound:g}=(0,n.useAgentOverview)(),[x,m]=(0,a.useReducer)(l,r),{filter:v,activity:y,nextCursor:j,loadingMore:p}=x,f=(0,a.useRef)(0),N=(0,a.useCallback)((t=null)=>c(e,v,t),[v,e]);(0,a.useEffect)(()=>{let t=!1,s=++f.current,a=`${e}:${v}:${s}`;return m({type:"request_started",key:a}),fetch(N(),{cache:"no-store"}).then(async e=>{let n=await e.json().catch(()=>null);if(!e.ok||!Array.isArray(n?.activity))throw Error("activity");t||s!==f.current||m({type:"request_succeeded",key:a,items:n.activity,nextCursor:"string"==typeof n.next_cursor?n.next_cursor:null})}).catch(()=>{t||s!==f.current||m({type:"request_failed",key:a})}),()=>{t=!0}},[v,e,N]);let w=async()=>{if(!j||"ready"!==y.state||p)return;let e=x.requestKey;m({type:"load_started",key:e});try{let t=await fetch(N(j),{cache:"no-store"}),s=await t.json().catch(()=>null);if(!t.ok||!Array.isArray(s?.activity))throw Error("activity");m({type:"load_succeeded",key:e,items:s.activity,nextCursor:"string"==typeof s.next_cursor?s.next_cursor:null})}catch{m({type:"load_failed",key:e})}};return h?(0,t.jsx)("div",{className:"agent-state",role:"status",children:"Loading Agent activity…"}):g?(0,t.jsxs)("div",{className:"agent-state",children:[(0,t.jsx)("h2",{children:"Agent not found"}),(0,t.jsx)(s.default,{href:"/",children:"Choose an Agent"})]}):u||!o?(0,t.jsxs)("div",{className:"agent-state",role:"alert",children:[(0,t.jsx)("h2",{children:"Activity unavailable"}),(0,t.jsx)("p",{children:"Botmancers could not load this Agent."})]}):(0,t.jsxs)("div",{className:"agent-activity","data-agent-activity-page":!0,children:[(0,t.jsxs)("header",{className:"agent-activity-intro",children:[(0,t.jsx)("p",{className:"agent-eyebrow",children:"Activity"}),(0,t.jsxs)("h2",{children:["What changed for ",o.agent.name]}),(0,t.jsx)("p",{children:"Operational history from Botmancers records. Open the owning page for actions and complete detail."})]}),(0,t.jsx)("div",{className:"agent-activity-filters",role:"group","aria-label":"Filter Agent activity",children:i.map(e=>(0,t.jsx)("button",{type:"button","aria-pressed":v===e.value,onClick:()=>m({type:"select_filter",filter:e.value}),children:e.label},e.value))}),(0,t.jsx)(d,{activity:y,filter:v,nextCursor:j,loadingMore:p,onLoadMore:()=>{w()}})]})},"initialActivityPageState",0,r],66464)},65143,e=>{"use strict";var t=e.i(43476),s=e.i(71645),a=e.i(22016),n=e.i(70925),i=e.i(3136),r=e.i(66464);let l="botmancers setup --client cursor";function c(){let[e,a]=(0,s.useState)(!1);return(0,t.jsx)("button",{type:"button",className:"agent-primary-action",onClick:async()=>{try{await navigator.clipboard.writeText(l),a(!0),window.setTimeout(()=>a(!1),1600)}catch{a(!1)}},children:e?"Copied":"Copy setup command"})}function o({rows:e,empty:s}){return e.length?(0,t.jsx)("ul",{className:"agent-work-list",children:e.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("span",{children:[(0,t.jsx)("strong",{children:e.title}),(0,t.jsxs)("small",{children:["active"===e.status?"Active now":"Recent"," · ",new Date(e.last_activity_at).toLocaleString()]})]})},e.ref))}):(0,t.jsx)("p",{className:"agent-empty",children:s})}e.s(["default",0,function(){let{id:e,overview:s,loading:d,error:h,notFound:u}=(0,n.useAgentOverview)();if(d)return(0,t.jsx)("div",{className:"agent-state",role:"status",children:"Loading Agent overview…"});if(u)return(0,t.jsxs)("div",{className:"agent-state",children:[(0,t.jsx)("h2",{children:"Agent not found"}),(0,t.jsx)("p",{children:"This Agent does not exist or was removed."}),(0,t.jsx)(a.default,{href:"/",children:"Choose an Agent"})]});if(h||!s)return(0,t.jsxs)("div",{className:"agent-state",role:"alert",children:[(0,t.jsx)("h2",{children:"Overview unavailable"}),(0,t.jsx)("p",{children:"Botmancers could not load this Agent. Refresh to try again."})]});let g=`/agents/${encodeURIComponent(e)}/config`,x=s.conversation?`/agents/${encodeURIComponent(e)}/conversations/${encodeURIComponent(s.conversation.id)}`:`/agents/${encodeURIComponent(e)}/conversations`,m=s.messaging.home_session_ref?"Home session configured":s.messaging.new_sessions_allowed&&s.messaging.default_workspace_set?"Can start a configured session":s.current_work.length>0?"Uses an eligible existing session":"No ready session is known";return(0,t.jsxs)("div",{className:"agent-overview","data-agent-overview":!0,children:[(0,t.jsxs)("div",{className:"agent-overview-grid",children:[(0,t.jsxs)("section",{className:"agent-panel agent-instructions",children:[(0,t.jsxs)("div",{className:"agent-panel-head",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"agent-eyebrow",children:"Standing instructions"}),(0,t.jsx)("h2",{children:"How this Agent works"})]}),(0,t.jsx)(a.default,{href:g,children:"Config"})]}),(0,t.jsxs)("dl",{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Rules"}),(0,t.jsx)("dd",{children:s.instructions.rules})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Skill"}),(0,t.jsx)("dd",{children:s.instructions.skill})]})]})]}),(0,t.jsxs)("section",{className:"agent-panel",children:[(0,t.jsxs)("div",{className:"agent-panel-head",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"agent-eyebrow",children:"Runtime"}),(0,t.jsx)("h2",{children:s.runtime.available?"Ready to work":"Setup required"})]}),(0,t.jsx)(a.default,{href:g,children:"Config"})]}),(0,t.jsx)("p",{children:s.runtime.available?`${(0,i.agentLabel)(s.runtime.agent)} is connected through ${s.runtime.connection||"the configured runtime"}.`:"This Agent cannot launch with its current registration. Open Config to resolve the connection or session scope."}),(0,t.jsxs)("dl",{className:"agent-runtime-facts",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Heartbeat"}),(0,t.jsx)("dd",{children:s.runtime.last_seen?new Date(s.runtime.last_seen).toLocaleString():"Not reported"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Messaging"}),(0,t.jsx)("dd",{children:m})]})]}),(0,t.jsx)("p",{className:"agent-muted",children:"Messages use the Agent’s configured home session or launch policy. Callers do not choose its runtime, model, or provider session."})]})]}),(0,t.jsxs)("section",{className:"agent-use","aria-labelledby":"open-this-agent",children:[(0,t.jsx)("p",{className:"agent-eyebrow",children:"Open this Agent"}),(0,t.jsx)("h2",{id:"open-this-agent",children:"Make it reachable"}),(0,t.jsxs)("div",{className:"agent-use-grid",children:[(0,t.jsxs)("article",{children:[(0,t.jsx)("span",{className:"agent-use-number",children:"01"}),(0,t.jsx)("h3",{children:"Use from a coding agent"}),(0,t.jsxs)("p",{children:["Let another coding agent discover ",s.agent.name," and ask its sessions — so work learned here can travel between agents."]}),(0,t.jsx)("p",{className:"agent-muted",children:"One command connects the client to the bridge and installs the collaboration skill:"}),(0,t.jsx)("pre",{className:"agent-setup-command",children:(0,t.jsx)("code",{children:l})}),(0,t.jsx)(c,{}),(0,t.jsxs)("p",{className:"agent-muted",children:["Swap ",(0,t.jsx)("code",{children:"cursor"})," for ",(0,t.jsx)("code",{children:"codex"})," or ",(0,t.jsx)("code",{children:"claude"}),"."]})]}),(0,t.jsxs)("article",{children:[(0,t.jsx)("span",{className:"agent-use-number",children:"02"}),(0,t.jsx)("h3",{children:"Share a session to Slack"}),(0,t.jsx)("p",{children:"Open one of this Agent’s sessions to people in Slack — a time-limited, read-only share so others can ask what the session already knows."}),(0,t.jsx)(a.default,{href:`/agents/${encodeURIComponent(e)}/slack`,children:"Share through Slack"})]}),(0,t.jsxs)("article",{children:[(0,t.jsx)("span",{className:"agent-use-number",children:"03"}),(0,t.jsx)("h3",{children:"Message in Botmancers"}),(0,t.jsxs)("p",{children:["Talk directly with ",s.agent.name," in a focused conversation when you are the one asking."]}),(0,t.jsx)(a.default,{href:x,children:"Open conversation"})]})]})]}),(0,t.jsxs)("div",{className:"agent-overview-grid agent-work-grid",children:[(0,t.jsxs)("section",{className:"agent-panel",children:[(0,t.jsxs)("div",{className:"agent-panel-head",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"agent-eyebrow",children:"Current work"}),(0,t.jsx)("h2",{children:"Active sessions"})]}),(0,t.jsx)(a.default,{href:`/agents/${encodeURIComponent(e)}/sessions`,children:"All sessions"})]}),(0,t.jsx)(o,{rows:s.current_work,empty:"No active work right now."})]}),(0,t.jsxs)("section",{className:"agent-panel",children:[(0,t.jsxs)("div",{className:"agent-panel-head",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"agent-eyebrow",children:"Recent activity"}),(0,t.jsx)("h2",{children:"Latest work"})]}),(0,t.jsx)(a.default,{href:`/agents/${encodeURIComponent(e)}/activity`,children:"View activity"})]}),s.recent_activity.length?(0,t.jsx)(r.ActivityList,{items:s.recent_activity,compact:!0}):(0,t.jsx)("p",{className:"agent-empty",children:"No operational activity yet."})]})]})]})}])}]);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|