botmancers 0.4.2 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/README.md +22 -17
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +7 -0
- package/app/.next/build-manifest.json +3 -3
- package/app/.next/prerender-manifest.json +5 -5
- package/app/.next/required-server-files.json +2 -2
- package/app/.next/routes-manifest.json +55 -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/api/agent-deck/decks/route.js +2 -2
- package/app/.next/server/app/api/agent-deck/decks/route.js.nft.json +1 -1
- package/app/.next/server/app/api/agent-deck/settings/route.js +2 -2
- package/app/.next/server/app/api/agent-deck/settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/config/route.js +2 -2
- package/app/.next/server/app/api/bots/[id]/config/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route.js +12 -0
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route.js.nft.json +1 -0
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/route.js +2 -2
- 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/route.js +6 -3
- package/app/.next/server/app/api/bots/[id]/sessions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/skill/route.js +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/app/.next/server/app/api/bots/import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/manage/route.js +2 -2
- 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 +2 -2
- package/app/.next/server/app/api/bots/name-migrations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/route.js +3 -3
- package/app/.next/server/app/api/bots/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/approve/route.js +4 -4
- 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 +4 -4
- 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 +4 -4
- 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 +2 -2
- 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 +5 -5
- 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 +2 -2
- 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 +3 -3
- package/app/.next/server/app/api/conversations/[id]/stop/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/route.js +2 -2
- package/app/.next/server/app/api/conversations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/exchanges/[id]/cancel/route.js +4 -4
- 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 +3 -3
- package/app/.next/server/app/api/exchanges/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/exchanges/route.js +3 -3
- package/app/.next/server/app/api/exchanges/route.js.nft.json +1 -1
- package/app/.next/server/app/api/files/[name]/route.js +3 -2
- package/app/.next/server/app/api/files/[name]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/groups/route.js +2 -2
- package/app/.next/server/app/api/groups/route.js.nft.json +1 -1
- package/app/.next/server/app/api/health/route.js +3 -2
- package/app/.next/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next/server/app/api/mcp/route.js +2 -2
- package/app/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/app/.next/server/app/api/messages/[id]/between/route.js +2 -2
- package/app/.next/server/app/api/messages/[id]/between/route.js.nft.json +1 -1
- package/app/.next/server/app/api/runtime-connections/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/runtime-connections/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/runtime-connections/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/runtime-connections/route.js +9 -0
- package/app/.next/server/app/api/runtime-connections/route.js.nft.json +1 -0
- package/app/.next/server/app/api/runtime-connections/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/service-grants/route.js +2 -2
- package/app/.next/server/app/api/service-grants/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/conversations/[conversationId]/route.js +7 -6
- 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 +7 -6
- 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 +4 -4
- 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/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/v0/agents/[agentId]/pins/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/v0/agents/[agentId]/pins/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/v0/agents/[agentId]/pins/route.js +12 -0
- package/app/.next/server/app/api/v0/agents/[agentId]/pins/route.js.nft.json +1 -0
- package/app/.next/server/app/api/v0/agents/[agentId]/pins/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/v0/agents/[agentId]/route.js +7 -6
- 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 +7 -6
- 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 +7 -6
- 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 +7 -6
- package/app/.next/server/app/api/v0/agents/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/capabilities/route.js +7 -6
- 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 +4 -4
- 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 +7 -6
- 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 +7 -6
- 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 +7 -6
- package/app/.next/server/app/api/v0/exchanges/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/mcp/route.js +8 -7
- 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/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route.js +12 -0
- package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route.js.nft.json +1 -0
- package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route.js +12 -0
- package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route.js.nft.json +1 -0
- package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/v0/pins/[pinRef]/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/v0/pins/[pinRef]/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/v0/pins/[pinRef]/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/v0/pins/[pinRef]/route.js +12 -0
- package/app/.next/server/app/api/v0/pins/[pinRef]/route.js.nft.json +1 -0
- package/app/.next/server/app/api/v0/pins/[pinRef]/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/v0/requests/[id]/route.js +4 -4
- 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 +7 -6
- 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/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/v0/sessions/[ref]/pins/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/v0/sessions/[ref]/pins/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/v0/sessions/[ref]/pins/route.js +12 -0
- package/app/.next/server/app/api/v0/sessions/[ref]/pins/route.js.nft.json +1 -0
- package/app/.next/server/app/api/v0/sessions/[ref]/pins/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/wake-grants/[id]/revoke/route.js +4 -4
- 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 +4 -4
- 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 +4 -4
- 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]/page.js.nft.json +1 -1
- package/app/.next/server/app/threads/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app-paths-manifest.json +7 -0
- package/app/.next/server/chunks/1oeh_server_app_api_bots_[id]_sessions_[ref]_pins_route_actions_0e1st6o.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__02kssr-._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__06qkt0f._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__08qhrch._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__097ptn_._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__09m9-pe._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0b7w1z3._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0f5yqjs._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0g4um3-._.js +44 -0
- package/app/.next/server/chunks/[root-of-the-server]__0hro5ey._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0hwpgxq._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0izjfmr._.js +355 -60
- package/app/.next/server/chunks/[root-of-the-server]__0lwsto-._.js +5 -0
- package/app/.next/server/chunks/[root-of-the-server]__0s1enbp._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0uq7sci._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0wg992i._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__13cd2fb._.js +44 -0
- package/app/.next/server/chunks/[root-of-the-server]__17mum5-._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__1879cge._.js +3 -0
- package/app/.next/server/chunks/{[root-of-the-server]__17oz13o._.js → [root-of-the-server]__1_01-13._.js} +3 -3
- package/app/.next/server/chunks/[root-of-the-server]__1a2dh11._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__1bhzfu_._.js +7 -0
- package/app/.next/server/chunks/[root-of-the-server]__1co3sok._.js +44 -0
- package/app/.next/server/chunks/[root-of-the-server]__1eh30sp._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__1fmsid0._.js +44 -0
- package/app/.next/server/chunks/[root-of-the-server]__1i388e2._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__1kvvs4u._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__1qbgs3m._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__1s6h1sj._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__1slu7d7._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__1tuqc5v._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__1v609eq._.js +44 -0
- package/app/.next/server/chunks/[root-of-the-server]__1y_j43n._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__1zdv-vb._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__1zjs2tr._.js +3 -0
- package/app/.next/server/chunks/_0061c2q._.js +3 -0
- package/app/.next/server/chunks/_023se5j._.js +44 -0
- package/app/.next/server/chunks/_02pb_qv._.js +44 -0
- package/app/.next/server/chunks/_05ro-21._.js +44 -0
- package/app/.next/server/chunks/_07on0dc._.js +44 -0
- package/app/.next/server/chunks/_08208nz._.js +44 -0
- package/app/.next/server/chunks/_0a2do3x._.js +1 -1
- package/app/.next/server/chunks/_0fe5qz5._.js +44 -0
- package/app/.next/server/chunks/_0i8_xso._.js +3 -0
- package/app/.next/server/chunks/_0qoji5a._.js +44 -0
- package/app/.next/server/chunks/_0uv2pi5._.js +44 -0
- package/app/.next/server/chunks/_0wdl90-._.js +44 -0
- package/app/.next/server/chunks/_1-5mthb._.js +1 -1
- package/app/.next/server/chunks/_11-q8k1._.js +3 -0
- package/app/.next/server/chunks/_11ijk9k._.js +44 -0
- package/app/.next/server/chunks/_198sn69._.js +44 -0
- package/app/.next/server/chunks/_1ba_5hd._.js +44 -0
- package/app/.next/server/chunks/_1ess5if._.js +3 -0
- package/app/.next/server/chunks/_1i0zod4._.js +3 -0
- package/app/.next/server/chunks/_1m89jq5._.js +44 -0
- package/app/.next/server/chunks/_1n39wr_._.js +44 -0
- package/app/.next/server/chunks/_1ryxqo1._.js +44 -0
- package/app/.next/server/chunks/_1vemgly._.js +44 -0
- package/app/.next/server/chunks/_next-internal_server_app_api_runtime-connections_route_actions_06rulng.js +3 -0
- package/app/.next/server/chunks/_next-internal_server_app_api_v0_agents_[agentId]_pins_route_actions_08uftk9.js +3 -0
- package/app/.next/server/chunks/_next-internal_server_app_api_v0_pins_[pinRef]_detach_route_actions_0nk3268.js +3 -0
- package/app/.next/server/chunks/_next-internal_server_app_api_v0_pins_[pinRef]_messages_route_actions_1wenu96.js +3 -0
- package/app/.next/server/chunks/_next-internal_server_app_api_v0_pins_[pinRef]_route_actions_0z7fu_c.js +3 -0
- package/app/.next/server/chunks/_next-internal_server_app_api_v0_sessions_[ref]_pins_route_actions_0y3ere3.js +3 -0
- package/app/.next/server/chunks/lib_0kik6bx._.js +1 -1
- package/app/.next/server/chunks/lib_0lqoyb4._.js +217 -0
- package/app/.next/server/chunks/lib_0pe3tiv._.js +1 -1
- package/app/.next/server/chunks/lib_0riiofz._.js +44 -0
- package/app/.next/server/chunks/lib_16j2293._.js +217 -0
- package/app/.next/server/chunks/lib_1nb_61e._.js +217 -0
- package/app/.next/server/chunks/lib_service-api-http_ts_0xzqhny._.js +5 -5
- package/app/.next/server/chunks/lib_session-pins_ts_0lmxnwj._.js +20 -0
- package/app/.next/server/chunks/ssr/_0epgorw._.js +3 -0
- package/app/.next/server/chunks/ssr/_1cvuhjt._.js +3 -0
- package/app/.next/server/chunks/ssr/_1n5mvo5._.js +3 -0
- package/app/.next/server/chunks/ssr/_1o94bnv._.js +1 -1
- package/app/.next/server/chunks/ssr/app_bots_[id]_config_page_tsx_1e0uue9._.js +1 -1
- package/app/.next/server/chunks/ssr/app_components_AgentDeckRuntime_tsx_024janf._.js +1 -1
- package/app/.next/server/chunks/ssr/app_components_ExchangeCard_tsx_1shfcgn._.js +3 -0
- package/app/.next/server/chunks/ssr/app_exchanges_page_tsx_0j-n2a1._.js +3 -0
- package/app/.next/server/chunks/ssr/node_modules_@swc_helpers_cjs__interop_require_default_cjs_1ztp13a._.js +3 -0
- package/app/.next/server/middleware-build-manifest.js +3 -3
- 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/0bhd8eso48g27.js +1 -0
- package/app/.next/static/chunks/1ku9himlsx-hn.js +1 -0
- package/app/.next/static/chunks/21aqekm5z0j47.js +1 -0
- package/app/.next/static/chunks/2a8bomryx66oj.css +3 -0
- package/app/.next/static/chunks/3230ywnpii0s6.js +3 -0
- package/app/.next/static/chunks/35l2c95bd-jud.js +1 -0
- package/app/.next/static/chunks/3cijpn6vx3yzv.js +1 -0
- package/app/.next/static/chunks/3ue9194j59kem.js +1 -0
- package/app/.next/static/chunks/44ese2s4gzze_.js +1 -0
- package/app/BUILD_INFO.json +2 -2
- package/app/package.json +1 -1
- package/app/server.js +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +2 -2
- package/dist/clients.js +7 -3
- package/dist/config.d.ts +2 -1
- package/dist/config.js +5 -4
- package/dist/contract.d.ts +1 -0
- package/dist/contract.js +5 -0
- package/dist/home.d.ts +1 -1
- package/dist/home.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/product.js +1 -1
- package/dist/upstream.js +2 -2
- package/package.json +1 -1
- package/schemas/botmancers.mcp.v2.tools.json +1588 -4
- package/skills/botmancers-collaboration/SKILL.md +21 -6
- package/skills/botmancers-collaboration/references/workflows.md +72 -0
- package/app/.next/server/chunks/[root-of-the-server]__0ab4e_k._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__0qozubc._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__0wtzcge._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__10m3szc._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__15hknun._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__16ikszu._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__1afl75n._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__1kvvdpx._.js +0 -7
- package/app/.next/server/chunks/[root-of-the-server]__1qoa704._.js +0 -7
- package/app/.next/server/chunks/_06rti77._.js +0 -30
- package/app/.next/server/chunks/_09k38l1._.js +0 -3
- package/app/.next/server/chunks/_0dlg5kj._.js +0 -30
- package/app/.next/server/chunks/_0dyculb._.js +0 -30
- package/app/.next/server/chunks/_0eig2jc._.js +0 -30
- package/app/.next/server/chunks/_0ggf7vy._.js +0 -3
- package/app/.next/server/chunks/_0gtqbub._.js +0 -3
- package/app/.next/server/chunks/_0i7ga8c._.js +0 -3
- package/app/.next/server/chunks/_0kghtb6._.js +0 -3
- package/app/.next/server/chunks/_0orubev._.js +0 -3
- package/app/.next/server/chunks/_0sfpe9z._.js +0 -3
- package/app/.next/server/chunks/_0th2j4w._.js +0 -3
- package/app/.next/server/chunks/_0uz7r06._.js +0 -30
- package/app/.next/server/chunks/_0x05ts4._.js +0 -3
- package/app/.next/server/chunks/_0y3geoj._.js +0 -30
- package/app/.next/server/chunks/_12tq5uv._.js +0 -30
- package/app/.next/server/chunks/_147-4gl._.js +0 -3
- package/app/.next/server/chunks/_14ky6a2._.js +0 -30
- package/app/.next/server/chunks/_16kbxdt._.js +0 -30
- package/app/.next/server/chunks/_1963m2f._.js +0 -30
- package/app/.next/server/chunks/_1_34_h3._.js +0 -30
- package/app/.next/server/chunks/_1cc-2mx._.js +0 -3
- package/app/.next/server/chunks/_1ee4ej2._.js +0 -3
- package/app/.next/server/chunks/_1esxu1s._.js +0 -3
- package/app/.next/server/chunks/_1gn7eh7._.js +0 -3
- package/app/.next/server/chunks/_1gw7qwf._.js +0 -3
- package/app/.next/server/chunks/_1inyx08._.js +0 -3
- package/app/.next/server/chunks/_1kjsnlr._.js +0 -3
- package/app/.next/server/chunks/_1nurj3f._.js +0 -30
- package/app/.next/server/chunks/_1p2rf_n._.js +0 -30
- package/app/.next/server/chunks/_1p8rola._.js +0 -3
- package/app/.next/server/chunks/_1u6tw78._.js +0 -30
- package/app/.next/server/chunks/app_api_import-capabilities_route_ts_013w1kt._.js +0 -3
- package/app/.next/server/chunks/lib_0t3s3rj._.js +0 -30
- package/app/.next/server/chunks/lib_0zxi6rx._.js +0 -148
- package/app/.next/server/chunks/lib_12udr7g._.js +0 -148
- package/app/.next/server/chunks/lib_draft_ts_1atoius._.js +0 -3
- package/app/.next/server/chunks/lib_session-catalog_ts_1i7f38f._.js +0 -30
- package/app/.next/server/chunks/ssr/_00ysoah._.js +0 -3
- package/app/.next/server/chunks/ssr/_157wnb_._.js +0 -3
- package/app/.next/server/chunks/ssr/app_1-nwnha._.js +0 -3
- package/app/.next/server/chunks/ssr/app_components_0bhuhd-._.js +0 -3
- package/app/.next/server/chunks/ssr/app_components_0w2_b3t._.js +0 -3
- package/app/.next/static/chunks/0774d7ob6aze_.js +0 -1
- package/app/.next/static/chunks/0d3ein53nlgja.js +0 -1
- package/app/.next/static/chunks/1i5xroz391zkb.js +0 -1
- package/app/.next/static/chunks/1vz50l951sr9e.css +0 -3
- package/app/.next/static/chunks/24ggj819yt3y6.js +0 -1
- package/app/.next/static/chunks/2_8lcalraul5s.js +0 -3
- package/app/.next/static/chunks/30i0-l04mmdvk.js +0 -1
- package/app/.next/static/chunks/3wdlh25l1vww9.js +0 -1
- /package/app/.next/static/{ewp56HqU5-d9bpFog3bli → gh3shm8hnVqXLr75rmvsL}/_buildManifest.js +0 -0
- /package/app/.next/static/{ewp56HqU5-d9bpFog3bli → gh3shm8hnVqXLr75rmvsL}/_clientMiddlewareManifest.js +0 -0
- /package/app/.next/static/{ewp56HqU5-d9bpFog3bli → gh3shm8hnVqXLr75rmvsL}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,10331,74904,4335,e=>{"use strict";var t=e.i(43476);let n=["hermes","cursor","claude","codex","muse"],r={hermes:"Hermes",cursor:"Cursor",claude:"Claude",codex:"Codex",muse:"Muse Code"},a="hermes";n.join("|");let s=n.map(e=>({value:e,label:r[e]})),i="/settings",o="Select an Agent Deck…",l="Runs use the configured Agent Deck server. Remote execution is unconfirmed — see Settings for the configured server.",c="Runs use the server above. Remote execution is unconfirmed.",d="Configure the Agent Deck server in Settings",u="Saved Agent Deck not on this server — saving keeps it unless you pick another.",f={loading:"Loading decks…",empty:"No decks on this server — add one there, then retry.",malformed:"The deck list came back unreadable. Retry — or fix the server, then retry.",unreachable:"Can't reach the Agent Deck server — fix it in Settings, then retry.",unconfigured:"No Agent Deck server set — add it in Settings."};function h(e=null){return{status:"loading",decks:[],cachedDecks:e,serverUrl:"",checkedAt:0,error:""}}function g(e){return String(e).padStart(2,"0")}function p(e){let t=new Date(e);return`${g(t.getHours())}:${g(t.getMinutes())}:${g(t.getSeconds())}`}function m(e){switch(e.status){case"loading":return"Status: ○ Checking the Agent Deck server…";case"connected":return`Status: ● Connected \xb7 ${e.decks.length} ${1===e.decks.length?"deck":"decks"} \xb7 checked ${p(e.checkedAt)}`;case"empty":return"Status: ○ Connected — no decks on this server.";case"malformed":return"Status: ○ The server returned decks this app can't read.";case"unreachable":return"Status: ○ Can't reach the Agent Deck server.";case"unconfigured":return"Status: ○ No Agent Deck server set."}}function y(e){return"connected"===e.status?null:f[e.status]}function k(e){return"empty"===e.status||"malformed"===e.status||"unreachable"===e.status}async function v(e,t,n=Date.now){let r,a;try{r=await e("/api/agent-deck/decks",{cache:"no-store"})}catch(e){return{status:"unreachable",decks:[],cachedDecks:t.cachedDecks,serverUrl:t.serverUrl,checkedAt:n(),error:e instanceof Error?e.message:String(e)}}try{a=await r.json()}catch{a=void 0}return function(e,t,n){let r="object"==typeof e.body&&null!==e.body?e.body:{},a="string"==typeof r.server_url?r.server_url:t.serverUrl,s={cachedDecks:t.cachedDecks,serverUrl:a,checkedAt:n};if("string"==typeof r.server_url&&!r.server_url.trim())return{...s,status:"unconfigured",decks:[],error:""};if(e.ok){let t=function(e){if("object"!=typeof e||null===e)return null;let t=e.decks;if(!Array.isArray(t))return null;let n=[];for(let e of t){if("object"!=typeof e||null===e)return null;let t=e.id,r=e.name;if("string"!=typeof t||!t.trim()||"string"!=typeof r||!r.trim())return null;n.push({id:t,name:r})}return n}(e.body);return t?{...s,cachedDecks:t,status:t.length>0?"connected":"empty",decks:t,error:""}:{...s,status:"malformed",decks:[],error:"Unexpected deck list shape."}}let i="string"==typeof r.error?r.error:`HTTP ${e.status}`,o="invalid-payload"===r.code||/unexpected deck payload/i.test(i);return{...s,status:o?"malformed":"unreachable",decks:[],error:i}}({ok:r.ok,status:r.status,body:a},t,n())}function b(e){return e?"connected"===e.status||"empty"===e.status?e.decks.map(e=>e.id):"unconfigured"===e.status?null:e.cachedDecks?e.cachedDecks.map(e=>e.id):null:null}function x(e,t){let n=String(e??"").trim(),r=t?t.decks.length>0?t.decks:t.cachedDecks??[]:[];return r.find(e=>e.id===n)?.name??n}function w(e){var t;return t=(e.agent??"").trim()||a,n.includes(String(t))?r[t]:String(t??"")}function $(e){return function(e){let t=e.needs_deck_selection;if(!0===t||1===t)return!0;if("string"==typeof t){let e=t.trim().toLowerCase();return"1"===e||"true"===e}return!1}(e)||!(e.deck_id??"").trim()}function _(e,t){if($(e))return!1;let n=b(t);return!!n&&!n.includes((e.deck_id??"").trim())}function S(e){return`Agent: ${w(e)} \xb7 Agent Deck: `}function A(e,t){return $(e)?`${S(e)}not selected`:S(e)+x(e.deck_id??"",t)}function C(e,t){let n,r=(n=A(e,t),$(e)?`${n} — select in Config`:_(e,t)?n+" (deck unavailable — see Config)":n);if($(e))return{prefix:r,deck:"",suffix:""};let a=S(e),s=x(e.deck_id??"",t);return{prefix:a,deck:s,suffix:r.slice(a.length+s.length)}}function j(e){return`~/.botmancers/${e}`}function D(e){let t=(e.working_directory??"").trim();return!t||e.id&&t===j(e.id)?null:t}let N=[{prefix:"[Deck handoff]",kind:"handoff",label:"Agent Deck launch"},{prefix:"[Deck run]",kind:"run",label:"Agent Deck run"},{prefix:"[Deck review]",kind:"review",label:"Agent Deck review"},{prefix:"[Deck resume]",kind:"resume",label:"Agent Deck resume"},{prefix:"[Deck result]",kind:"result",label:"Agent Deck result"},{prefix:"[Deck failed]",kind:"failed",label:"Agent Deck failed"},{prefix:"[Deck needs selection]",kind:"reselection",label:"Agent Deck needs a deck"},{prefix:"[Deck needs reselection]",kind:"reselection",label:"Agent Deck needs a deck"}];e.s(["AGENT_OPTIONS",0,s,"DECK_PLACEHOLDER",0,o,"DEFAULT_RUNTIME_FORM",0,{agent:a,deckId:"",workingDirectory:""},"NEW_BOT_WORKDIR_HINT",0,"Default: ~/.botmancers/{agentID} — {agentID} is this agent's ID, assigned at creation.","NON_LOCAL_NOTE",0,l,"SAVED_DECK_MISSING_NOTE",0,u,"SELECT_DECK_ERROR",0,"Select an Agent Deck for this agent.","SETTINGS_ENDPOINT",0,"/api/agent-deck/settings","SETTINGS_LINK_COPY",0,d,"SETTINGS_NON_LOCAL_NOTE",0,c,"SETTINGS_PATH",0,i,"botAgentLabel",0,w,"configRuntimePatchBody",0,function(e,t){let n=t.workingDirectory.trim();return{id:e,agent:t.agent,deck_id:t.deckId.trim(),working_directory:n&&n!==j(e)?n:""}},"configRuntimeView",0,function(e,t){let n,r=[],a=A(e,t);if($(e)){let t=(e.deck_name??"").trim();r.push(`No Agent Deck selected${t?` (was "${t}")`:""}. Pick a deck from the configured server before this agent can run.`)}else _(e,t)?(a+=" (deck unavailable)",r.push("This deck isn't on the configured server right now. Pick another deck, or fix the server in Settings.")):t&&"unconfigured"===t.status?r.push("No Agent Deck server set — add it in Settings."):t&&("unreachable"===t.status||"malformed"===t.status)&&!b(t)&&r.push("Can't reach the Agent Deck server, so this deck couldn't be checked — fix it in Settings, then retry.");return t&&t.serverUrl&&!function(e){let t;try{t=new URL("string"==typeof e?e.trim():"")}catch{return!1}let n=t.hostname.trim().toLowerCase().replace(/^\[|\]$/g,"");return"localhost"===n||"::1"===n||"::ffff:127.0.0.1"===n||/^127\.\d+\.\d+\.\d+$/.test(n)}(t.serverUrl)&&r.push("The workspace Agent Deck server isn't local. Remote runs are unconfirmed, so this agent's runs stop with an error until Settings points at a local server."),{summary:a,workingDirectory:(n=D(e))?`Working directory: ${n} (custom)`:`Working directory: ${j(e.id??"{agentID}")}`,notices:r,action:"Edit"}},"configWorkdirHint",0,function(e){return`Default: ${j(e)} — leave blank to use it.`},"deckEventDisplay",0,function(e){let t=String(e??"").trimStart(),n=N.find(e=>t.startsWith(e.prefix));return n?{label:n.label,detail:t.slice(n.prefix.length).trim()}:null},"deckLabel",0,x,"deckSlotCopy",0,y,"deckStateShowsRetry",0,k,"defaultWorkdirFor",0,j,"fetchDeckList",0,v,"formatClock",0,p,"initialDeckListState",0,h,"isMigratedPending",0,$,"newBotSubmitBody",0,function(e){let t={name:String(e.name??"").trim(),agent:e.agent,deck_id:e.deckId.trim()},n=e.workingDirectory.trim();return n&&(t.working_directory=n),t},"rosterRuntimeParts",0,C,"runtimeFormFromBot",0,function(e){let t=(e.agent??"").trim();return{agent:n.includes(t)?t:a,deckId:$(e)?"":(e.deck_id??"").trim(),workingDirectory:D(e)??""}},"runtimeFormView",0,function(e,t,n){let r=n?.includeName===!1?["agent","deck","workdir"]:["name","agent","deck","workdir"];return"loading"===t.status?{fields:r,submitDisabled:!0,blocker:""}:"connected"===t.status?{fields:r,submitDisabled:!1,blocker:""}:{fields:r,submitDisabled:!0,blocker:f[t.status]}},"settingsStatusLine",0,m],74904);let E={modal:{label:"",legend:"field-legend",picks:"runtime-picks",pick:"runtime-pick",note:"runtime-note",control:"deck-control",hint:"runtime-hint",link:"runtime-link",retry:"runtime-retry"},config:{label:"block text-sm cfg-muted mt-3 mb-1",legend:"block text-sm cfg-muted mt-3 mb-1 p-0",picks:"flex flex-wrap gap-x-4 gap-y-1 text-sm cfg-muted",pick:"text-sm cfg-muted",note:"text-sm cfg-muted mt-1",control:"cfg-input text-sm",hint:"mt-1 text-xs cfg-faint",link:"cfg-link text-sm",retry:"cfg-link text-sm"}};function T({value:e,onChange:n,name:r,variant:a,legendId:i}){let o=E[a];return(0,t.jsxs)("fieldset",{className:"agent-fieldset","data-field":"agent",children:[(0,t.jsx)("legend",{id:i,className:o.legend,children:"Agent"}),(0,t.jsx)("div",{className:o.picks,role:"radiogroup","aria-labelledby":i,"aria-required":"true",children:s.map(a=>(0,t.jsxs)("label",{className:o.pick,children:[(0,t.jsx)("input",{type:"radio",name:r,value:a.value,checked:e===a.value,onChange:()=>n(a.value)})," "+a.label]},a.value))})]})}function R({id:e,labelId:n,state:r,value:a,onChange:s,onRetry:i,savedDeckId:l,variant:c}){let d=E[c],f=y(r),h=(l??"").trim();if(null===f){let n=!!h&&!r.decks.some(e=>e.id===h);return(0,t.jsxs)("div",{"data-field":"deck","data-state":r.status,children:[(0,t.jsxs)("select",{id:e,className:d.control,"aria-required":"true","aria-describedby":n&&a===h?`${e}-saved-note`:void 0,value:a,title:a||void 0,onChange:e=>s(e.target.value),children:[(0,t.jsx)("option",{value:"",disabled:!0,children:o}),n?(0,t.jsxs)("option",{value:h,title:h,children:[h," (saved)"]}):null,r.decks.map(e=>(0,t.jsx)("option",{value:e.id,title:e.id,children:e.name},e.id))]}),n&&a===h?(0,t.jsx)("p",{id:`${e}-saved-note`,className:d.note,children:u}):null]})}return(0,t.jsxs)("div",{"data-field":"deck","data-state":r.status,role:"group","aria-labelledby":n,children:[h?(0,t.jsxs)("p",{className:d.note,children:["Saved Agent Deck: ",(0,t.jsx)("span",{title:h,children:h})]}):null,(0,t.jsxs)("p",{id:e,className:`${d.note} deck-slot`,role:"status",children:[(0,t.jsx)("span",{id:`${e}-copy`,children:f}),k(r)?(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsx)("button",{type:"button",className:d.retry,onClick:i,children:"Retry"})]}):null]})]})}function I({idPrefix:e,variant:n,deckId:r,onDeckId:a,deckState:s,onRetry:o,savedDeckId:c,workingDirectory:u,onWorkingDirectory:f,workdirPlaceholder:h,workdirHint:g}){let p=E[n],m=null===y(s);return(0,t.jsxs)("div",{className:"agent-deck-fields",children:[(0,t.jsx)("label",{className:p.label,id:`${e}-deck-label`,htmlFor:m?`${e}-deck`:void 0,children:"Agent Deck"}),(0,t.jsx)(R,{id:`${e}-deck`,labelId:`${e}-deck-label`,state:s,value:r,onChange:a,onRetry:o,savedDeckId:c,variant:n}),(0,t.jsx)("a",{href:i,className:p.link,children:d}),(0,t.jsx)("label",{className:p.label,htmlFor:`${e}-workdir`,children:"Working directory (optional)"}),(0,t.jsx)("input",{id:`${e}-workdir`,type:"text",className:"config"===n?p.control:void 0,"data-field":"workdir","aria-describedby":`${e}-workdir-hint ${e}-workdir-note`,value:u,placeholder:h,onChange:e=>f(e.target.value)}),(0,t.jsx)("p",{id:`${e}-workdir-hint`,className:p.hint,children:g}),(0,t.jsx)("p",{id:`${e}-workdir-note`,className:p.hint,children:l})]})}e.s(["AgentSection",0,function({idPrefix:e,variant:n,form:r,onChange:a,deckState:s,onRetry:i,savedDeckId:o,workdirPlaceholder:l,workdirHint:c}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(T,{value:r.agent,onChange:e=>a({agent:e}),name:`${e}-agent`,variant:n,legendId:`${e}-agent-label`}),(0,t.jsx)(I,{idPrefix:e,variant:n,deckId:r.deckId,onDeckId:e=>a({deckId:e}),deckState:s,onRetry:i,savedDeckId:o,workingDirectory:r.workingDirectory,onWorkingDirectory:e=>a({workingDirectory:e}),workdirPlaceholder:l,workdirHint:c})]})},"RosterRuntimeLine",0,function({bot:e,state:n}){let{prefix:r,deck:a,suffix:s}=C(e,n);return(0,t.jsxs)("div",{className:"bot-runtime",title:r+a+s,children:[r,a?(0,t.jsx)("span",{className:"bot-runtime-deck",children:a}):null,s]})},"SettingsStatus",0,function({state:e,onRetry:n}){return(0,t.jsxs)("div",{"data-field":"status","data-state":e.status,children:[(0,t.jsx)("p",{className:"connected"===e.status?"text-sm cfg-ok":"text-sm cfg-muted",role:"status",children:m(e)}),k(e)?(0,t.jsx)("button",{type:"button",onClick:n,className:"mt-2 cfg-btn-ghost text-sm w-full sm:w-auto",children:"Retry"}):null,"connected"===e.status?(0,t.jsx)("p",{className:"mt-1 text-xs cfg-faint break-words",children:e.decks.map(e=>e.name).join(" · ")}):null,(0,t.jsx)("p",{className:"mt-2 text-xs cfg-faint",children:c})]})}],10331);var L=e.i(71645);let O="botmancers.agentDeck.lastDecks";function P(e){return"object"==typeof e&&null!==e&&"string"==typeof e.id&&"string"==typeof e.name}let M=(e,t)=>{let n=new AbortController,r=setTimeout(()=>n.abort(),1e4);return fetch(e,{cache:"no-store",signal:n.signal,...t}).finally(()=>clearTimeout(r))};e.s(["useDeckList",0,function(){let[e,t]=(0,L.useState)(()=>h()),[n,r]=(0,L.useState)(0),a=(0,L.useRef)(null);return(0,L.useEffect)(()=>{let e=!1;return v(M,h(a.current??function(){try{let e=window.localStorage.getItem(O);if(!e)return null;let t=JSON.parse(e);return Array.isArray(t)&&t.every(P)?t:null}catch{return null}}())).then(n=>{if(!e){a.current=n.cachedDecks;var r=n.cachedDecks;if(r)try{window.localStorage.setItem(O,JSON.stringify(r))}catch{}t(n)}}),()=>{e=!0}},[n]),{state:e,retry:(0,L.useCallback)(()=>{t(e=>({...e,status:"loading",decks:[],error:""})),r(e=>e+1)},[])}}],4335)},87303,37947,68541,e=>{"use strict";var t=e.i(43476),n=e.i(71645);let r=[{id:"purple",label:"Purple",hex:"#7C3AED"},{id:"blue",label:"Blue",hex:"#2563EB"},{id:"teal",label:"Teal",hex:"#0D9488"},{id:"green",label:"Green",hex:"#16A34A"},{id:"amber",label:"Amber",hex:"#B45309"},{id:"orange",label:"Orange",hex:"#EA580C"},{id:"pink",label:"Pink",hex:"#DB2777"},{id:"slate",label:"Slate",hex:"#64748B"}],a=[{id:"dots",label:"Round dots"},{id:"sleepy",label:"Sleepy"},{id:"happy",label:"Happy arcs"},{id:"wide",label:"Wide ovals"}],s=[{id:"folded",label:"Folded arms"},{id:"reaching",label:"Reaching right"},{id:"waving",label:"Waving"}],i=[{id:"none",label:"None"},{id:"crown",label:"Crown"},{id:"glasses",label:"Glasses"},{id:"headset",label:"Headset"},{id:"hat",label:"Hat"},{id:"bow",label:"Bow"}],o={color:"purple",eyes:"dots",hands:"folded",accessory:"none"},l={...o,accessory:"crown"};function c(e,t){return"string"==typeof t&&e.some(e=>e.id===t)}function d(e){let t=c(r,e.avatar_color)?e.avatar_color:o.color,n=c(a,e.avatar_eyes)?e.avatar_eyes:o.eyes;return{color:t,eyes:n,hands:c(s,e.avatar_hands)?e.avatar_hands:o.hands,accessory:c(i,e.avatar_accessory)?e.avatar_accessory:"chief-of-staff"===String(e.name??"").trim().toLowerCase()?l.accessory:o.accessory}}let u=[{x:70,y:70.5,w:38,h:6},{x:70,y:82,w:38,h:6}];function f(e){return u.map(t=>`<rect x="${t.x}" y="${t.y}" width="${t.w}" height="${t.h}" rx="${t.h/2}" ${e}/>`).join("")}function h(e,t="static"){var n,a;let s,i,o=r.find(t=>t.id===e.color)?.hex??r[0].hex,l=String(t).replace(/[^A-Za-z0-9_-]/g,"")||"static",c=`avatar-knockout-${l}`,d=`fill="none" stroke="${o}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`,u=(n=e.hands,a=e.accessory,s=[],"reaching"===n&&s.push({x1:87.6,y1:69,x2:90.4,y2:86.5,w:8}),"waving"===n&&s.push({x1:35,y1:59,x2:28,y2:72,w:10}),"crown"===a&&s.push({x1:44,y1:30,x2:76,y2:30,w:9}),"hat"===a&&s.push({x1:38,y1:34,x2:82,y2:34,w:9}),"bow"===a&&s.push({x1:60,y1:28.5,x2:84,y2:28,w:10}),"headset"===a&&(s.push({x1:42,y1:24.5,x2:78,y2:24.5,w:10}),s.push({x1:33,y1:55,x2:37,y2:64,w:8}),s.push({x1:83,y1:55,x2:87,y2:64,w:8})),"glasses"===a&&(s.push({x1:29,y1:56,x2:34,y2:62,w:8}),s.push({x1:86,y1:62,x2:91,y2:56,w:8})),s).map(e=>`<line x1="${e.x1}" y1="${e.y1}" x2="${e.x2}" y2="${e.y2}" stroke="#000000" stroke-width="${e.w}" stroke-linecap="round"/>`).join(""),g=`avatar-arms-${l}`,p="reaching"===e.hands,m=p?`<mask id="${g}"><rect x="0" y="0" width="120" height="120" fill="#ffffff"/>${f('fill="#000000" stroke="#000000" stroke-width="7"')}</mask>`:"",y=function(e,t){let n=`fill="none" stroke="${t}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`;switch(e){case"sleepy":return`<g data-avatar-layer="eyes" data-avatar-eyes="sleepy"><path d="M42 61 Q48 64 54 61" ${n}/><path d="M66 61 Q72 64 78 61" ${n}/></g>`;case"happy":return`<g data-avatar-layer="eyes" data-avatar-eyes="happy"><path d="M42 63 Q48 54 54 63" ${n}/><path d="M66 63 Q72 54 78 63" ${n}/></g>`;case"wide":return`<g data-avatar-layer="eyes" data-avatar-eyes="wide"><ellipse cx="48" cy="60" rx="5.5" ry="8" ${n}/><ellipse cx="72" cy="60" rx="5.5" ry="8" ${n}/></g>`;default:return`<g data-avatar-layer="eyes" data-avatar-eyes="dots"><circle cx="48" cy="60" r="3.5" ${n}/><circle cx="72" cy="60" r="3.5" ${n}/></g>`}}(e.eyes,o),k=function(e,t){let n=`fill="none" stroke="${t}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`;switch(e){case"crown":return`<g data-avatar-layer="accessory" data-avatar-accessory="crown"><path d="M44 31 L46.5 14 L54 24 L60 10 L66 24 L73.5 14 L76 31 Z" ${n}/></g>`;case"glasses":return`<g data-avatar-layer="accessory" data-avatar-accessory="glasses"><circle cx="48" cy="60" r="9" ${n}/><circle cx="72" cy="60" r="9" ${n}/><path d="M57 60 Q60 57 63 60" ${n}/><path d="M39 59 L32 57" ${n}/><path d="M81 59 L88 57" ${n}/></g>`;case"headset":return`<g data-avatar-layer="accessory" data-avatar-accessory="headset"><path d="M36 62 Q34 24 60 24 Q86 24 84 62" ${n}/><rect x="79" y="54" width="10" height="17" rx="5" ${n}/><path d="M84 71 Q80 84 66 84" ${n}/></g>`;case"hat":return`<g data-avatar-layer="accessory" data-avatar-accessory="hat"><path d="M38 34 Q60 40 82 34" ${n}/><path d="M46 34 Q48 14 60 14 Q72 14 74 34" ${n}/></g>`;case"bow":return`<g data-avatar-layer="accessory" data-avatar-accessory="bow"><circle cx="79" cy="29" r="3.5" ${n}/><path d="M76 27 L62 18 Q60 26 66 32 Z" ${n}/><path d="M82 27 L95 19 Q97 27 91 32 Z" ${n}/></g>`;default:return'<g data-avatar-layer="accessory" data-avatar-accessory="none"></g>'}}(e.accessory,o);return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120" role="img" data-avatar-color="${e.color}" data-avatar-eyes="${e.eyes}" data-avatar-hands="${e.hands}" data-avatar-accessory="${e.accessory}"><mask id="${c}"><rect x="0" y="0" width="120" height="120" fill="#ffffff"/>${u}</mask>`+m+`<g data-avatar-layer="body" mask="url(#${c})">`+`<path d="M60 28 C75 28 84 39 85.5 56 L91 90 C92.5 98 87 102 79 102 L41 102 C33 102 27.5 98 29 90 L34.5 56 C36 39 45 28 60 28 Z" ${d}/>`+`<path d="M54 71 Q60 75.5 66 71" ${d}/>`+`<path data-avatar-brows="straight" d="${i="wide"===e.eyes?45:46,`M42 ${i} H54 M66 ${i} H78`}" fill="none" stroke="${o}" stroke-width="4.8" stroke-linecap="round"/>`+"</g>"+(p?`<g mask="url(#${g})">${y}</g>`:y)+function(e,t){let n=`fill="none" stroke="${t}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`;switch(e){case"reaching":return'<g data-avatar-layer="hands" data-avatar-hands="reaching">'+f(n)+"</g>";case"waving":return`<g data-avatar-layer="hands" data-avatar-hands="waving"><path d="M32 68 Q24 60 22 48" ${n}/><circle cx="21" cy="41" r="5" ${n}/><path d="M11 36 Q9 46 12 54" ${n}/></g>`;default:return`<g data-avatar-layer="hands" data-avatar-hands="folded"><rect x="44" y="79" width="32" height="9" rx="4.5" ${n}/><rect x="46" y="90" width="28" height="9" rx="4.5" ${n}/></g>`}}(e.hands,o)+(p?`<g mask="url(#${g})">${k}</g>`:k)+"</svg>"}e.s(["AVATAR_ACCESSORIES",0,i,"AVATAR_COLORS",0,r,"AVATAR_EYES",0,a,"AVATAR_HANDS",0,s,"renderAvatarSvg",0,h,"resolveAvatar",0,d],37947),e.s(["default",0,function({bot:e,config:r,size:a=28,className:s,title:i}){let o=(0,n.useId)().replace(/[^A-Za-z0-9_-]/g,"")||"avatar",l=h(r??e?.avatar_config??d(e??{}),o).replace("<svg ",`<svg width="${a}" height="${a}" `);return(0,t.jsx)("span",{className:s??"bot-avatar",style:{display:"inline-flex",width:a,height:a,flex:"none"},title:i,"aria-label":i??"Agent avatar",role:"img",dangerouslySetInnerHTML:{__html:l}})}],87303);let g="imported",p=/^[A-Za-z0-9_-]{1,128}$/;function m(e){let t=new URLSearchParams(e).get(g);if(null===t)return null;let n=t.trim();return p.test(n)?n:""}function y(e){return`/bots/${encodeURIComponent(e)}/config`}async function k(e,t,n){let r=m(e);if(null===r)return{kind:"none"};if(!r)return{kind:"missing"};if(r===t)return{kind:"stay"};try{return await n(r)?{kind:"open",path:y(r)}:{kind:"missing"}}catch{return{kind:"missing"}}}e.s(["HANDOFF_STATUS_PATH",0,"/api/marketplace-handoff/status","IMPORT_RETURN_QUERY",0,g,"handoffStartPath",0,function(e,t){return`/api/marketplace-handoff?return=${encodeURIComponent(e+t)}`},"importedBotId",0,m,"importedConfigPath",0,y,"marketImportView",0,function(e){switch(e){case"checking":return{busy:!0,tone:"muted",message:"Checking Grok Marketplace…"};case"redirecting":return{busy:!0,tone:"muted",message:"Opening Grok Marketplace…"};case"unavailable":return{busy:!1,tone:"error",message:"Grok Marketplace isn't configured. Set CLONE_MARKET_URL on the Botmancers server."};case"failed":return{busy:!1,tone:"error",message:"Couldn't reach Botmancers to start the import. Try again."};case"missing":return{busy:!1,tone:"error",message:"Imported agent not found. The import may not have completed."};default:return{busy:!1,tone:"muted",message:"Imports a new agent and opens its Config. This agent is not changed."}}},"resolveImportReturn",0,k],68541)},15983,10718,e=>{"use strict";var t=e.i(43476),n=e.i(71645);let r="Permanently removes each agent with its direct conversation, messages, queue rows, approvals, launch snapshots, memories, one-shots, routines, and pending questions. There is no undo.",a="Skill files, working directories, Hermes profiles, and imported source files stay on disk.";function s(e){return"chief"===e?"Chief of Staff cannot be deleted.":"Working now — stop it or let it finish before deleting."}function i(e){return 1===e?"Delete agent":`Delete ${e} agents`}e.s(["DELETE_KEEPS_COPY",0,a,"DELETE_REMOVES_COPY",0,r,"blockedReasonCopy",0,s,"deleteConfirmLabel",0,i,"deletedStatusLine",0,function(e){return 1===e?"Deleted 1 agent.":`Deleted ${e} agents.`}],10718),e.s(["default",0,function({ids:e,onCancel:o,onDeleted:l}){let c=(0,n.useId)(),[d,u]=(0,n.useState)(null),[f,h]=(0,n.useState)(""),[g,p]=(0,n.useState)(""),[m,y]=(0,n.useState)(!1),k=(0,n.useRef)(null),v=(0,n.useRef)(null),b=e.join("\n");(0,n.useEffect)(()=>{let e=!1;return fetch("/api/bots/delete-preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:b.split("\n")})}).then(async t=>{let n=await t.json().catch(()=>null);if(!e){if(!t.ok)return void h("string"==typeof n?.error?n.error:"Could not load the deletion preview.");u(n)}}).catch(()=>{e||h("Could not load the deletion preview.")}),()=>{e=!0}},[b]),(0,n.useEffect)(()=>{k.current?.focus()},[]),(0,n.useEffect)(()=>{let e=e=>{"Escape"===e.key&&(e.stopPropagation(),m||o())};return document.addEventListener("keydown",e,!0),()=>document.removeEventListener("keydown",e,!0)},[m,o]);let x=e.length,w=!d||d.blocked.length>0||d.missing.length>0,$=async()=>{if(!m&&!w){y(!0),p("");try{let t=await fetch("/api/bots",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:e})}),n=await t.json().catch(()=>null);if(!t.ok){p("string"==typeof n?.error&&n.error?n.error:`Delete failed (${t.status}).`),y(!1),requestAnimationFrame(()=>k.current?.focus());return}l(Array.isArray(n?.deleted)?n.deleted:[])}catch{p("Delete failed: the server did not respond."),y(!1),requestAnimationFrame(()=>k.current?.focus())}}};return(0,t.jsx)("div",{className:"modal-scrim delete-scrim",onKeyDown:e=>{if("Tab"!==e.key||!v.current)return;let t=Array.from(v.current.querySelectorAll("button:not(:disabled)"));if(0===t.length)return;let n=t[0],r=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):e.shiftKey||document.activeElement!==r||(e.preventDefault(),n.focus())},children:(0,t.jsxs)("div",{ref:v,className:"delete-card",role:"alertdialog","aria-modal":"true","aria-labelledby":c,"data-testid":"delete-agents-dialog",children:[(0,t.jsx)("h2",{id:c,className:"delete-title",children:1===x?"Delete this agent permanently?":`Delete ${x} agents permanently?`}),f?(0,t.jsx)("p",{className:"delete-error",role:"alert",children:f}):null,d||f?null:(0,t.jsx)("p",{className:"delete-copy",children:"Checking what will be removed…"}),d?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("ul",{className:"delete-names","aria-label":"Agents to delete",children:[d.agents.map(e=>(0,t.jsx)("li",{children:e.name},e.id)),d.missing.map(e=>(0,t.jsxs)("li",{children:["Not found: ",e]},e))]}),d.blocked.length>0?(0,t.jsxs)("div",{className:"delete-blocked",role:"alert",children:[(0,t.jsx)("p",{children:"Nothing can be deleted until these are deselected:"}),(0,t.jsx)("ul",{children:d.blocked.map(e=>(0,t.jsxs)("li",{children:[e.name," — ",s(e.reason)]},e.id))})]}):null,(0,t.jsx)("p",{className:"delete-copy",children:r}),(0,t.jsx)("p",{className:"delete-copy delete-keeps",children:a})]}):null,g?(0,t.jsx)("p",{className:"delete-error",role:"alert",children:g}):null,(0,t.jsxs)("div",{className:"form-actions delete-actions",children:[(0,t.jsx)("button",{ref:k,type:"button",className:"cancel-btn",onClick:o,disabled:m,children:"Cancel"}),(0,t.jsx)("button",{type:"button",className:"delete-btn",onClick:()=>{$()},disabled:m||w,children:m?"Deleting…":i(x)})]})]})})}],15983)},13255,63352,50814,e=>{"use strict";var t=e.i(43476),n=e.i(71645),r=e.i(22016);function a(e){return`${new Date(e).toISOString().slice(0,16).replace("T"," ")} UTC`}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){return"active"===e?`${t} has no active sessions.`:"ended"===e?`${t} has no ended sessions.`:`${t} has no sessions yet. One appears after a coding run keeps its runtime context.`},"formatSessionDate",0,a,"runtimeLabel",0,function(e){return e.agent.transport?`${e.agent.adapter} \xb7 ${e.agent.transport}`:e.agent.adapter},"statusLabel",0,function(e){return"active"===e.status?"Active":"Ended"},"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}],63352);let s=["queued","extracting","delivering","completed","failed","cancelled"],i=["completed","failed","cancelled"];function o(e){return"ask"===e?"Ask":"Continue"}function l(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 c(e){var t;return e.cancel_requested&&(t=e.state,!i.includes(t))?"Cancelling…":l(e.mode,e.state)}function d(e){return"completed"===e?"done":"failed"===e||"cancelled"===e?"stopped":"active"}function u(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 f(e){return a(e)}function h(e){return`${e.source.agent_name}'s session “${e.source.session_title}”`}function g(e){return"ask"===e.mode?`You → ${e.source.agent_name}`:`${e.source.agent_name} → ${e.destination?.agent_name??"another Agent"}`}function p(e){return"ask"===e?"Question":"Objective"}function m(e){if("completed"===e.state){if("ask"===e.mode){let t=e.origin?.label??"the origin thread";return e.outcome.answer?`Answer in ${t}: ${u(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: ${u(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}function y(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."}}function k(e){return`/exchanges?id=${encodeURIComponent(e)}`}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,k,"eventLabel",0,function(e,t){let n=e.data??{},r=t.source.agent_name,a=t.destination?.agent_name??"the destination Agent",i="string"==typeof n.hop?n.hop:null;switch(e.type){case"created":return"ask"===t.mode?`You asked ${r}'s session a question`:`You handed ${r}'s session to ${a}`;case"hop_queued":if("deliver"===i)return`Handoff queued for ${a}'s new session`;return"extract"===i?`Handoff extraction queued in ${r}'s session`:`Question queued for ${r}'s session`;case"hop_started":if("deliver"===i)return`${a} started a new session`;return"extract"===i?`${r}'s session started extracting the handoff`:`${r}'s session started answering`;case"state_changed":{let e="string"==typeof n.to&&s.includes(n.to)?n.to:null;return e?`Now ${l(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`${a} replied in ${t.destination?.conversation?.label??"its thread"}`;case"destination_session_rejected":return`${a}'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,u,"exchangeRequestBody",0,function(e,t,n){let r={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&&(r.destination={agent_id:e.destinationAgentId}),r},"failureAdvice",0,y,"formatExchangeTime",0,f,"instructionHeading",0,p,"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,c,"modeLabel",0,o,"outcomeLine",0,m,"participantsLabel",0,g,"sessionActionAvailability",0,function(e){return"ended"===e.status?{available:!1,reason:"Ask and Continue are unavailable: this session has ended. Its history stays here."}:e.resumable?{available:!0}:{available:!1,reason:`Ask and Continue are unavailable: Botmancers can’t resume this session under ${e.agent.name}’s current runtime.`}},"sessionLabel",0,h,"stateTone",0,d,"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 has no Agent Deck selected.";case"idempotency_conflict":return"This request changed while it was being sent. Send again.";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)return n.set("agent",e.thread_agent_id),t&&n.set("exchange",t),`/?${n.toString()}`;if("group"!==e.kind)return null;t&&n.set("exchange",t);let r=n.toString();return`/threads/${encodeURIComponent(e.id)}${r?`?${r}`:""}`},"validateDraft",0,function(e){let t={},n=e.instruction.trim(),r="ask"===e.mode?"a question":"an objective";return n?e.instruction.length>4e3&&(t.instruction="Keep it under 4000 characters."):t.instruction=`Enter ${r}.`,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}],50814),e.s(["default",0,function({summary:e,onChanged:a}){let[s,i]=(0,n.useState)(!1),[l,v]=(0,n.useState)(""),b=d(e.state),x=m(e),w=y(e),$=`exchange-${e.id}-title`,_=async()=>{if(!s){i(!0),v("");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);v("string"==typeof e?.error?.message?e.error.message:"Could not cancel. Try again.")}}catch{v("Could not cancel. Try again.")}finally{i(!1),a?.()}}};return(0,t.jsxs)("article",{id:`exchange-${e.id}`,className:`exchange-card is-${b} is-${e.state}`,"data-exchange-id":e.id,"data-exchange-state":e.state,"aria-labelledby":$,tabIndex:-1,children:[(0,t.jsxs)("p",{className:"exchange-card-line",children:[(0,t.jsx)("span",{className:"exchange-card-mode",children:o(e.mode)}),(0,t.jsx)("span",{id:$,className:"exchange-card-title",children:g(e)}),(0,t.jsx)("span",{className:"exchange-card-state",role:"status",children:c(e)})]}),(0,t.jsx)("p",{className:"exchange-card-session",children:h(e)}),(0,t.jsxs)("p",{className:"exchange-card-instruction",children:[(0,t.jsx)("span",{className:"exchange-card-key",children:p(e.mode)})," ",u(e.instruction,220)]}),x?(0,t.jsx)("p",{className:"failed"===e.state?"exchange-card-outcome is-failure":"exchange-card-outcome",children:x}):null,w?(0,t.jsx)("p",{className:"exchange-card-advice",children:w}):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 ",f(e.updated_at)]}),(0,t.jsx)(r.default,{className:"exchange-card-link",href:k(e.id),"aria-label":`Details: ${o(e.mode)} ${g(e)}`,children:"Details"}),e.can_cancel?(0,t.jsx)("button",{type:"button",className:"exchange-card-cancel",disabled:s,onClick:()=>{_()},children:s?"Cancelling…":"Cancel"}):null]})]})}],13255)},22016,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return y},useLinkStatus:function(){return v}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let s=e.r(90809),i=e.r(43476),o=s._(e.r(71645)),l=e.r(95057),c=e.r(8372),d=e.r(18581),u=e.r(18967),f=e.r(5550),h=e.r(88540),g=e.r(91949),p=e.r(73668),m=e.r(9396);function y(t){var n;let r,a,s,[y,v]=(0,o.useOptimistic)(g.IDLE_LINK_STATUS),b=(0,o.useRef)(null),{href:x,as:w,children:$,prefetch:_=null,passHref:S,replace:A,shallow:C,scroll:j,onClick:D,onMouseEnter:N,onTouchStart:E,legacyBehavior:T=!1,onNavigate:R,transitionTypes:I,ref:L,unstable_dynamicOnHover:O,...P}=t;r=$,T&&("string"==typeof r||"number"==typeof r)&&(r=(0,i.jsx)("a",{children:r}));let M=o.default.useContext(c.AppRouterContext),U=!1!==_,F=!1===_?"none":!0===_?"full":"auto",B="none"!==F?"auto"===F?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,H="string"==typeof(n=w||x)?n:(0,l.formatUrl)(n);if(T){if(r?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});a=o.default.Children.only(r)}let q=T?a&&"object"==typeof a&&a.ref:L,Q,K=o.default.useCallback(e=>(null!==M&&(b.current=(0,g.mountLinkInstance)(e,H,M,B,U,v,Q)),()=>{b.current&&((0,g.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,g.unmountPrefetchableInstance)(e)}),[U,H,M,B,v,Q]),W={ref:(0,d.useMergedRef)(K,q),onClick(t){T||"function"!=typeof D||D(t),T&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!M||t.defaultPrevented||function(t,n,r,a,s,i,l,c="none"){if("u">typeof window){let d,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((d=t.currentTarget.getAttribute("target"))&&"_self"!==d||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,p.isLocalURL)(n)){a&&(t.preventDefault(),location.replace(n));return}if(t.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(99781);o.default.startTransition(()=>{f(n,a?"replace":"push",!1===s?h.ScrollBehavior.NoScroll:h.ScrollBehavior.Default,r.current,l,c)})}}(t,H,b,A,j,R,I,F)},onMouseEnter(e){T||"function"!=typeof N||N(e),T&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),M&&U&&(0,g.onNavigationIntent)(e.currentTarget,!0===O)},onTouchStart:function(e){T||"function"!=typeof E||E(e),T&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),M&&U&&(0,g.onNavigationIntent)(e.currentTarget,!0===O)}};return(0,u.isAbsoluteUrl)(H)?W.href=H:T&&!S&&("a"!==a.type||"href"in a.props)||(W.href=(0,f.addBasePath)(H)),s=T?o.default.cloneElement(a,W):(0,i.jsx)("a",{...P,...W,children:r}),(0,i.jsx)(k.Provider,{value:y,children:s})}let k=(0,o.createContext)(g.IDLE_LINK_STATUS),v=()=>(0,o.useContext)(k);("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},18581,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"useMergedRef",{enumerable:!0,get:function(){return a}});let r=e.r(71645);function a(e,t){let n=(0,r.useRef)(null),a=(0,r.useRef)(null);return(0,r.useCallback)(r=>{if(null===r){let e=n.current;e&&(n.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(n.current=s(e,r)),t&&(a.current=s(t,r))},[e,t])}function s(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let n=e(t);return"function"==typeof n?n:()=>e(null)}}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},73668,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"isLocalURL",{enumerable:!0,get:function(){return s}});let r=e.r(18967),a=e.r(52817);function s(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,a.hasBasePath)(n.pathname)}catch(e){return!1}}},98183,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={assign:function(){return l},searchParamsToUrlQuery:function(){return s},urlQueryToSearchParams:function(){return o}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});function s(e){let t={};for(let[n,r]of e.entries()){let e=t[n];void 0===e?t[n]=r:Array.isArray(e)?e.push(r):t[n]=[e,r]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(n,i(e));else t.set(n,i(r));return t}function l(e,...t){for(let n of t){for(let t of n.keys())e.delete(t);for(let[t,r]of n.entries())e.append(t,r)}return e}},95057,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={formatUrl:function(){return o},formatWithValidation:function(){return c},urlObjectKeys:function(){return l}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let s=e.r(90809)._(e.r(98183)),i=/https?|ftp|gopher|file/;function o(e){let{auth:t,hostname:n}=e,r=e.protocol||"",a=e.pathname||"",o=e.hash||"",l=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:n&&(c=t+(~n.indexOf(":")?`[${n}]`:n),e.port&&(c+=":"+e.port)),l&&"object"==typeof l&&(l=String(s.urlQueryToSearchParams(l)));let d=e.search||l&&`?${l}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||i.test(r))&&!1!==c?(c="//"+(c||""),a&&"/"!==a[0]&&(a="/"+a)):c||(c=""),o&&"#"!==o[0]&&(o="#"+o),d&&"?"!==d[0]&&(d="?"+d),a=a.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${r}${c}${a}${d}${o}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return o(e)}},18967,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return x},MissingStaticPage:function(){return b},NormalizeError:function(){return k},PageNotFoundError:function(){return v},SP:function(){return p},ST:function(){return m},WEB_VITALS:function(){return s},execOnce:function(){return i},getDisplayName:function(){return u},getLocationOrigin:function(){return c},getURL:function(){return d},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return g},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return w}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let s=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,n=!1;return(...r)=>(n||(n=!0,t=e(...r)),t)}let o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&o.test(e)};function c(){let{protocol:e,hostname:t,port:n}=window.location;return`${e}//${t}${n?":"+n:""}`}function d(){let{href:e}=window.location,t=c();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function h(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function g(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await g(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&f(n))return r;if(!r)throw Object.defineProperty(Error(`"${u(e)}.getInitialProps()" should resolve to an object. But found "${r}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return r}let p="u">typeof performance,m=p&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class k extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class b extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class x extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function w(e){return JSON.stringify({message:e.message,stack:e.stack})}}]);
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,31713,e=>{"use strict";var t=e.i(43476),n=e.i(71645),a=e.i(22016),s=e.i(57688);function r(e){let t,n=e.match(/^\s*\[run\]\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,s="string"==typeof a.page?a.page:"string"==typeof a.html?a.html:void 0,r=void 0===s?{}:{page:s,html:s};return"running"===a.state||"stopped"===a.state?{state:a.state,...r}:"done"===a.state&&"string"==typeof a.output?{state:"done",output:a.output,...r}:null}function i(e){return"done"===e.state?e.output??"":"stopped"===e.state?"The command was stopped.":"The command is running"}var l=e.i(87303);function o(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}}function d(e){let t=e.match(/approve using the code ([A-Za-z0-9][A-Za-z0-9_-]*)/i);return t?t[1]:null}var c=e.i(74904),u=e.i(10331),m=e.i(4335),h=e.i(68541),f=e.i(15983),p=e.i(10718);function g(e){return String(e).padStart(2,"0")}function y(e){let t=new Date(e);return`${t.getFullYear()}-${g(t.getMonth()+1)}-${g(t.getDate())} ${g(t.getHours())}:${g(t.getMinutes())}`}function x({deckState:e,onClose:a,onDeleted:s}){let r=(0,n.useId)(),[i,l]=(0,n.useState)(null),[o,d]=(0,n.useState)(""),[u,m]=(0,n.useState)(""),[h,g]=(0,n.useState)([]),[b,v]=(0,n.useState)(!1),j=(0,n.useRef)(null),w=(0,n.useRef)(null),N=(0,n.useRef)(null);(0,n.useEffect)(()=>{let e=!1;return fetch("/api/bots/manage",{cache:"no-store"}).then(async t=>{let n=await t.json().catch(()=>null);if(!e){if(!t.ok||!Array.isArray(n))return void d("string"==typeof n?.error?n.error:"Could not load agents.");l(n)}}).catch(()=>{e||d("Could not load agents.")}),j.current?.focus(),()=>{e=!0}},[]);let k=u.trim().toLowerCase(),S=(i??[]).filter(e=>e.name.toLowerCase().includes(k)),C=S.filter(e=>!e.blocked);return(0,n.useEffect)(()=>{if(b)return;let e=e=>{"Escape"===e.key&&a()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[b,a]),(0,t.jsxs)("div",{className:"modal-scrim manage-scrim",children:[(0,t.jsxs)("div",{ref:N,className:"manage-card",role:"dialog","aria-modal":"true","aria-labelledby":r,onKeyDown:e=>{if("Tab"!==e.key||!N.current)return;let t=Array.from(N.current.querySelectorAll("button:not(:disabled), input:not(:disabled)"));if(0===t.length)return;let n=t[0],a=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),a.focus()):e.shiftKey||document.activeElement!==a||(e.preventDefault(),n.focus())},children:[(0,t.jsxs)("div",{className:"manage-head",children:[(0,t.jsx)("h2",{id:r,className:"delete-title",children:"Manage agents"}),(0,t.jsx)("button",{type:"button",className:"cancel-btn",onClick:a,children:"Close"})]}),(0,t.jsx)("label",{className:"manage-search-label",htmlFor:`${r}-search`,children:"Filter by name"}),(0,t.jsx)("input",{id:`${r}-search`,ref:j,className:"manage-search",type:"search",value:u,onChange:e=>m(e.target.value),placeholder:"Name contains…"}),(0,t.jsxs)("div",{className:"manage-tools",children:[(0,t.jsx)("button",{type:"button",className:"pin-word",onClick:()=>{g(e=>Array.from(new Set([...e,...C.map(e=>e.id)])))},disabled:0===C.length,children:"Select all shown"}),(0,t.jsx)("button",{type:"button",className:"pin-word",onClick:()=>{g([]),j.current?.focus()},disabled:0===h.length,children:"Clear selection"}),(0,t.jsxs)("span",{className:"manage-count","aria-live":"polite",children:[h.length," selected · ",S.length," shown of ",i?.length??0]})]}),o?(0,t.jsx)("p",{className:"delete-error",role:"alert",children:o}):null,i||o?null:(0,t.jsx)("p",{className:"delete-copy",children:"Loading agents…"}),i?(0,t.jsxs)("ul",{className:"manage-list","aria-label":"Agents",children:[0===S.length?(0,t.jsx)("li",{className:"delete-copy",children:"No agents match."}):null,S.map(n=>{let a=`${r}-row-${n.id}`,s=(0,c.isMigratedPending)(n)?"Not selected":(0,c.deckLabel)(n.deck_id??"",e);return(0,t.jsxs)("li",{className:n.blocked?"manage-row is-blocked":"manage-row","data-agent-id":n.id,children:[(0,t.jsx)("input",{id:a,type:"checkbox",checked:h.includes(n.id),disabled:!!n.blocked,onChange:()=>{var e;return e=n.id,void g(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},"aria-describedby":n.blocked?`${a}-reason`:void 0}),(0,t.jsxs)("div",{className:"manage-copy",children:[(0,t.jsxs)("label",{htmlFor:a,className:"manage-name",children:[n.name,n.hidden?(0,t.jsx)("span",{className:"manage-tag",children:"Hidden"}):null]}),(0,t.jsxs)("dl",{className:"manage-meta",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Agent"}),(0,t.jsx)("dd",{children:(0,c.botAgentLabel)(n)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Agent Deck"}),(0,t.jsx)("dd",{children:s})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Source"}),(0,t.jsx)("dd",{children:n.source_provider||"Created here"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Created"}),(0,t.jsx)("dd",{children:y(n.created_at)})]}),n.last_activity?(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Last activity"}),(0,t.jsx)("dd",{children:y(n.last_activity)})]}):null]}),n.blocked?(0,t.jsx)("p",{id:`${a}-reason`,className:"manage-reason",children:(0,p.blockedReasonCopy)(n.blocked)}):null]})]},n.id)})]}):null,(0,t.jsxs)("div",{className:"form-actions manage-actions",children:[(0,t.jsx)("button",{type:"button",className:"cancel-btn",onClick:a,children:"Cancel"}),(0,t.jsxs)("button",{ref:w,type:"button",className:"delete-btn",disabled:0===h.length,onClick:()=>v(!0),children:["Delete selected",h.length>0?` (${h.length})`:""]})]})]}),b?(0,t.jsx)(f.default,{ids:h,onCancel:()=>{v(!1),requestAnimationFrame(()=>w.current?.focus())},onDeleted:s}):null]})}var b=e.i(63352);function v(e,t,n){if(0===e.length)return null;let a=e[0],s=e[e.length-1],r=null!==t&&e.includes(t);return n?r&&t!==a?null:s:r&&t!==s?null:a}let j='a[href], button:not(:disabled), input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex="-1"])';var w=e.i(50814);function N({mode:e,session:a,agents:s,origin:r,onClose:i,onStarted:l}){let o=(0,n.useId)(),d=(0,n.useId)(),c=(0,n.useId)(),[u,m]=(0,n.useState)(""),[h,f]=(0,n.useState)(""),[p,g]=(0,n.useState)({}),[y,x]=(0,n.useState)(""),[k,S]=(0,n.useState)(!1),C=(0,n.useRef)(!1),_=(0,n.useRef)(null),R=(0,n.useRef)(null),E=(0,n.useRef)(null),A=(0,n.useRef)(null),I=s.filter(e=>e.id!==a.agent.id);(0,n.useEffect)(()=>{("continue"===e?A.current:E.current)?.focus()},[e]),(0,n.useEffect)(()=>{let e=e=>{"Escape"===e.key&&(e.stopPropagation(),i())};return document.addEventListener("keydown",e,!0),()=>document.removeEventListener("keydown",e,!0)},[i]);let D=async t=>{if(t.preventDefault(),C.current)return;let n={mode:e,instruction:u,originConversationId:r.conversationId,destinationAgentId:h},s=(0,w.validateDraft)(n);if(g(s),Object.keys(s).length>0)return void(s.destination?A.current?.focus():E.current?.focus());let i=JSON.stringify((0,w.exchangeRequestBody)(n,{agentId:a.agent.id,sessionRef:a.ref},""));_.current&&_.current.payload===i||(_.current={payload:i,key:crypto.randomUUID()}),C.current=!0,S(!0),x("");try{let e=await fetch("/api/exchanges",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((0,w.exchangeRequestBody)(n,{agentId:a.agent.id,sessionRef:a.ref},_.current.key))}),t=await e.json().catch(()=>null);if(!e.ok){let e="string"==typeof t?.error?.code?t.error.code:null;"idempotency_conflict"===e&&(_.current=null),x((0,w.submitErrorMessage)(e,"string"==typeof t?.error?.message?t.error.message:null));return}l("string"==typeof t?.exchange?.id?t.exchange.id:null)}catch{x((0,w.submitErrorMessage)(null,"Botmancers could not be reached. Your draft is kept; try again."))}finally{C.current=!1,S(!1)}},P=I.find(e=>e.id===h)?.name,$="ask"===e;return(0,t.jsx)("div",{className:"modal-scrim exchange-scrim",onMouseDown:e=>{e.target===e.currentTarget&&i()},onKeyDown:e=>{if("Tab"!==e.key||!R.current)return;let t=v(Array.from(R.current.querySelectorAll(j)),document.activeElement,e.shiftKey);t&&(e.preventDefault(),t.focus())},children:(0,t.jsxs)("div",{ref:R,className:"form-card exchange-dialog",role:"dialog","aria-modal":"true","aria-labelledby":o,"data-exchange-mode":e,children:[(0,t.jsx)("h2",{id:o,className:"delete-title",children:$?"Ask this session":"Continue with…"}),(0,t.jsxs)("section",{className:"exchange-source","aria-label":"Source session",children:[(0,t.jsx)("p",{className:"exchange-source-agent",children:a.agent.name}),(0,t.jsx)("p",{className:"exchange-source-title",children:a.title}),(0,t.jsxs)("p",{className:"exchange-source-meta",children:["Last activity ",(0,b.formatSessionDate)(a.last_activity_at),a.origin.conversation?` \xb7 from ${a.origin.conversation.label}`:""]})]}),(0,t.jsxs)("form",{onSubmit:D,noValidate:!0,className:"exchange-form",children:[$?null:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("label",{htmlFor:c,children:"Continue with"}),(0,t.jsxs)("select",{ref:A,id:c,className:"exchange-select",value:h,"aria-invalid":!!p.destination||void 0,"aria-describedby":p.destination?`${c}-error`:void 0,disabled:k,onChange:e=>{f(e.target.value),g(e=>({...e,destination:void 0}))},children:[(0,t.jsx)("option",{value:"",children:"Choose an Agent"}),I.map(e=>(0,t.jsx)("option",{value:e.id,children:e.name},e.id))]}),p.destination?(0,t.jsx)("p",{id:`${c}-error`,className:"exchange-field-error",children:p.destination}):null]}),(0,t.jsx)("label",{htmlFor:d,children:$?"Question":"Objective"}),(0,t.jsx)("textarea",{ref:E,id:d,rows:4,maxLength:w.INSTRUCTION_LIMIT,value:u,readOnly:k,"aria-invalid":!!p.instruction||void 0,"aria-describedby":`${d}-hint${p.instruction?` ${d}-error`:""}`,onChange:e=>{m(e.target.value),g(e=>({...e,instruction:void 0}))}}),p.instruction?(0,t.jsx)("p",{id:`${d}-error`,className:"exchange-field-error",children:p.instruction}):null,(0,t.jsx)("p",{id:`${d}-hint`,className:"exchange-hint",children:$?`${a.agent.name} answers once from this session, read-only. The answer arrives in ${r.label}.`:`${P??"The Agent you choose"} receives an extracted handoff (objective, decisions, constraints, references, open questions) and starts a new session of its own. ${a.agent.name}’s session is not shared and is not changed. Progress shows in ${r.label}.`}),y?(0,t.jsx)("p",{className:"exchange-server-error",role:"alert",children:y}):null,(0,t.jsx)("p",{className:"exchange-sending",role:"status",children:k?"Sending…":""}),(0,t.jsxs)("div",{className:"form-actions",children:[(0,t.jsx)("button",{type:"button",className:"cancel-btn",onClick:i,children:"Cancel"}),(0,t.jsx)("button",{type:"submit",className:"create-btn",disabled:k,"aria-disabled":k,children:y?"Try again":"Send"})]})]})]})})}function k({agentId:e,agentName:s,agents:r,origin:i,onClose:l,onOpenThread:o,onExchangeStarted:d}){let c=(0,n.useId)(),[u,m]=(0,n.useState)("all"),[h,f]=(0,n.useState)(null),[p,g]=(0,n.useState)(""),[y,x]=(0,n.useState)(0),[v,j]=(0,n.useState)(null),C=(0,n.useRef)(null),_=(0,n.useRef)(null),[R,E]=(0,n.useState)(null),[A,I]=(0,n.useState)(null),D=()=>{let e=R?.returnTo;E(null),requestAnimationFrame(()=>{e?.isConnected&&e.focus()})};(0,n.useEffect)(()=>{_.current?.focus()},[]),(0,n.useEffect)(()=>{let t=!1;return fetch(`/api/bots/${encodeURIComponent(e)}/sessions?status=${u}`,{cache:"no-store"}).then(async e=>{let n=await e.json().catch(()=>null);if(!t){if(!e.ok||!Array.isArray(n?.sessions))return void g("string"==typeof n?.error?n.error:"Could not load sessions.");f(n.sessions)}}).catch(()=>{t||g("Could not load sessions.")}),()=>{t=!0}},[e,u,y]);let P=(e=u)=>{f(null),g(""),m(e),x(e=>e+1)};return(0,n.useEffect)(()=>{let e=e=>{"Escape"===e.key&&l()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[l]),(0,t.jsxs)("div",{className:"modal-scrim sessions-scrim",onMouseDown:e=>{e.target!==e.currentTarget||R||l()},children:[(0,t.jsxs)("div",{ref:C,className:"sessions-drawer",role:"dialog","aria-modal":"true","aria-labelledby":c,onKeyDown:e=>{if("Tab"!==e.key||!C.current)return;let t=Array.from(C.current.querySelectorAll("button:not(:disabled), summary"));if(0===t.length)return;let n=t[0],a=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),a.focus()):e.shiftKey||document.activeElement!==a||(e.preventDefault(),n.focus())},inert:!!R,children:[(0,t.jsxs)("div",{className:"manage-head",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{id:c,className:"delete-title sessions-title",children:"Sessions"}),(0,t.jsx)("p",{className:"sessions-sub",children:s})]}),(0,t.jsx)("button",{ref:_,type:"button",className:"cancel-btn",onClick:l,children:"Close"})]}),(0,t.jsxs)("div",{className:"sessions-filter",role:"group","aria-label":"Show sessions",children:[b.SESSION_FILTER_OPTIONS.map(e=>(0,t.jsx)("button",{type:"button",className:"sessions-filter-btn","aria-pressed":u===e.value,onClick:()=>{u!==e.value&&P(e.value)},children:e.label},e.value)),(0,t.jsx)("span",{className:"manage-count","aria-live":"polite",children:h?`${h.length} shown`:""})]}),(0,t.jsx)("div",{className:"exchange-started",role:"status",children:A?(0,t.jsxs)(t.Fragment,{children:[A.text," ",A.id?(0,t.jsx)(a.default,{className:"session-link",href:(0,w.detailsHref)(A.id),children:"View in Exchanges"}):null]}):null}),p?(0,t.jsxs)("div",{className:"sessions-state",role:"alert",children:[(0,t.jsx)("p",{className:"delete-error",children:p}),(0,t.jsx)("button",{type:"button",className:"pin-word",onClick:()=>P(),children:"Retry"})]}):null,h||p?null:(0,t.jsx)("p",{className:"delete-copy sessions-state",role:"status",children:"Loading sessions…"}),h?(0,t.jsxs)("ul",{className:"manage-list sessions-list","aria-label":`Sessions for ${s}`,children:[0===h.length?(0,t.jsx)("li",{className:"delete-copy sessions-state",children:(0,b.emptySessionsCopy)(u,s)}):null,h.map(n=>(0,t.jsx)(S,{agentId:e,row:n,open:v===n.ref,onToggle:()=>j(e=>e===n.ref?null:n.ref),onOpenThread:o,onAction:(e,t)=>{I(null),E({mode:e,row:n,returnTo:t})}},n.ref))]}):null]}),R?(0,t.jsx)(N,{mode:R.mode,session:R.row,agents:r,origin:i,onClose:D,onStarted:e=>{I({id:e,text:"ask"===R.mode?`Asked ${R.row.agent.name}’s session. The answer arrives in ${i.label}.`:`Handoff started from ${R.row.agent.name}’s session. Progress shows in ${i.label}.`}),D(),d(e)}}):null]})}function S({agentId:e,row:a,open:s,onToggle:r,onOpenThread:i,onAction:l}){let o=(0,n.useId)(),d=(0,w.sessionActionAvailability)(a),c=a.origin.conversation,u=(0,b.workRequestLabel)(a);return(0,t.jsx)("li",{className:`manage-row session-row is-${a.status}`,"data-session-ref":a.ref,children:(0,t.jsxs)("div",{className:"manage-copy",children:[(0,t.jsxs)("div",{className:"session-head",children:[(0,t.jsx)("span",{className:"session-title",children:a.title}),(0,t.jsx)("span",{className:`manage-tag session-status is-${a.status}`,children:(0,b.statusLabel)(a)}),a.resumable?(0,t.jsx)("span",{className:"manage-tag",children:"Resumable"}):null]}),(0,t.jsxs)("dl",{className:"manage-meta",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Last activity"}),(0,t.jsx)("dd",{children:(0,b.formatSessionDate)(a.last_activity_at)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Started"}),(0,t.jsx)("dd",{children:(0,b.formatSessionDate)(a.created_at)})]}),null!==a.ended_at?(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Ended"}),(0,t.jsx)("dd",{children:(0,b.formatSessionDate)(a.ended_at)})]}):null,(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Runtime"}),(0,t.jsx)("dd",{children:(0,b.runtimeLabel)(a)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Origin"}),(0,t.jsx)("dd",{children:c?.thread_agent_id?(0,t.jsx)("button",{type:"button",className:"session-link",onClick:()=>i(c.thread_agent_id),children:c.label}):c?.label??"Not recorded"})]}),u?(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Work request"}),(0,t.jsx)("dd",{children:u})]}):null,a.context.workspace?(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Workspace"}),(0,t.jsx)("dd",{children:a.context.workspace})]}):null,a.context.deck?(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Deck"}),(0,t.jsx)("dd",{children:a.context.deck})]}):null]}),d.available?(0,t.jsxs)("div",{className:"session-actions",role:"group","aria-label":`Actions for ${a.title}`,children:[(0,t.jsx)("button",{type:"button",className:"session-action","aria-haspopup":"dialog",onClick:e=>l("ask",e.currentTarget),children:"Ask this session"}),(0,t.jsx)("button",{type:"button",className:"session-action","aria-haspopup":"dialog",onClick:e=>l("continue",e.currentTarget),children:"Continue with…"})]}):(0,t.jsx)("p",{className:"session-unavailable",children:d.reason}),(0,t.jsx)("button",{type:"button",className:"pin-word session-toggle","aria-expanded":s,"aria-controls":o,onClick:r,children:s?"Hide details":"Details"}),s?(0,t.jsx)(C,{id:o,agentId:e,sessionRef:a.ref}):null]})})}function C({id:e,agentId:a,sessionRef:s}){let[r,i]=(0,n.useState)(null),[l,o]=(0,n.useState)(""),[d,c]=(0,n.useState)(null),[u,m]=(0,n.useState)(""),[h,f]=(0,n.useState)(!1),p=`/api/bots/${encodeURIComponent(a)}/sessions/${encodeURIComponent(s)}`;(0,n.useEffect)(()=>{let e=!1;return fetch(p,{cache:"no-store"}).then(async t=>{let n=await t.json().catch(()=>null);e||(t.ok&&Array.isArray(n?.session?.attempts)?i(n.session.attempts):o("Could not load session details."))}).catch(()=>{e||o("Could not load session details.")}),()=>{e=!0}},[p]);let g=(0,n.useCallback)(async()=>{if(null===d)try{let e=await fetch(`${p}?debug=external_session_id`,{cache:"no-store"}),t=await e.json().catch(()=>null),n=t?.debug?.external_session_id;e.ok&&"string"==typeof n?c(n):m("Not available.")}catch{m("Not available.")}},[p,d]),y=async()=>{if(d)try{await navigator.clipboard.writeText(d),f(!0)}catch{f(!1)}};return(0,t.jsxs)("div",{id:e,className:"session-detail",children:[l?(0,t.jsx)("p",{className:"delete-error",role:"alert",children:l}):null,r||l?null:(0,t.jsx)("p",{className:"delete-copy",role:"status",children:"Loading details…"}),r?(0,t.jsxs)("ol",{className:"session-attempts","aria-label":"Runs in this session",children:[0===r.length?(0,t.jsx)("li",{children:"No recorded runs."}):null,r.map(e=>(0,t.jsxs)("li",{children:[(0,b.formatSessionDate)(e.started_at)," · ",(0,b.attemptLabel)(e)]},`${e.request_id}-${e.attempt_number}`))]}):null,(0,t.jsxs)("details",{className:"session-debug",onToggle:e=>{e.currentTarget.open&&g()},children:[(0,t.jsx)("summary",{children:"Local debug: provider session ID"}),(0,t.jsx)("p",{className:"session-debug-note",children:"For local troubleshooting only. Botmancers resumes sessions for you; you never need to copy this."}),u?(0,t.jsx)("p",{className:"delete-error",children:u}):null,d?(0,t.jsxs)("div",{className:"session-debug-value",children:[(0,t.jsx)("code",{children:d}),(0,t.jsx)("button",{type:"button",className:"pin-word",onClick:()=>{y()},children:h?"Copied":"Copy"})]}):null]})]})}function _({view:e,agentName:n}){if("loading"===e)return(0,t.jsx)("p",{className:"thread-note",role:"status",children:"Loading messages…"});if("error"===e)return(0,t.jsx)("p",{className:"thread-note thread-note-error",role:"alert",children:"Couldn’t load messages. Trying again…"});if("empty"===e){let e={title:`No messages with ${n} yet.`,hint:"Say something below to start the conversation."};return(0,t.jsxs)("div",{className:"thread-empty","data-thread-empty":"",children:[(0,t.jsx)("p",{className:"thread-empty-title",children:e.title}),(0,t.jsx)("p",{className:"thread-empty-hint",children:e.hint})]})}return null}let R={error:"Error"},E=[{kind:"hermes-config-missing",severity:"error",pattern:/^\[Hermes configuration missing: [^\n]*\]$/,title:"Hermes needs configuration",recovery:"This agent can’t reply until the Hermes API key is set on the Botmancers server. Set it, restart, then send your message again."},{kind:"hermes-turn-failed",severity:"error",pattern:/^\[Hermes turn failed for [\s\S]*\]$/,title:"Hermes couldn’t complete the turn",recovery:"Check that the Hermes gateway is running and reachable, then send your message again."}];function A(e){let t=String(e??"").trim();if(!t)return null;let n=E.find(e=>e.pattern.test(t));return n?{kind:n.kind,severity:n.severity,title:n.title,recovery:n.recovery,detail:t}:null}function I({failure:e}){let[a,s]=(0,n.useState)("idle"),r=R[e.severity],i=(0,n.useId)();async function l(){try{await navigator.clipboard.writeText(e.detail),s("copied")}catch{s("failed")}}return(0,t.jsxs)("div",{className:`runtime-failure runtime-failure-${e.severity}`,role:"status","aria-labelledby":i,"data-runtime-failure":e.kind,children:[(0,t.jsxs)("p",{className:"runtime-failure-title",id:i,children:[(0,t.jsx)("span",{className:"runtime-failure-severity",children:r}),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"===a?"Copied":"failed"===a?"Copy failed":"Copy details"})]})]})}function D(e){if(!e)return"";let t=r(e);if(t)return i(t);let n=A(e);if(n)return n.title;let a=(0,c.deckEventDisplay)(e);return a?`${a.label} ${a.detail}`.replace(/\s+/g," ").trim():e.replace(/\s+/g," ").trim()}let P={blocked:"Needs approval",rejected:"Not started",allowed:"Allowed",denied:"Denied",waiting:"Queued",stopped:"Stopped"};function $({notice:e,onDone:a}){let[s,r]=(0,n.useState)(!1),[i,l]=(0,n.useState)(""),o="blocked"!==e.tone||e.actionable?P[e.tone]:"Blocked",d=async t=>{if(!s&&e.wakeId){r(!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{r(!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:o}),e.text]}),e.actionable?(0,t.jsxs)("div",{className:"wake-notice-actions",children:[(0,t.jsx)("button",{type:"button",className:"approve-control",disabled:s,onClick:()=>{d("allow")},children:"Allow"}),(0,t.jsx)("button",{type:"button",className:"approve-control",style:{marginLeft:8},disabled:s,onClick:()=>{d("deny")},children:"Deny"})]}):null,i?(0,t.jsx)("p",{className:"wake-notice-error",role:"alert",children:i}):null]})}var O=e.i(13255);function T(e){return!!e&&"chief-of-staff"===e.name.toLowerCase()}function L(e){return T(e)?0:e.pinned?1:2}function M(e,t,n,a){return e&&t?a-n+(t-e)>15e3?"Stopped":"Heartbeat "+new Intl.DateTimeFormat("en-US",{timeZone:"America/Los_Angeles",hour:"numeric",minute:"2-digit",second:"2-digit"}).format(new Date(e)):"Stopped"}function F(e){let t=e;for(let e=0;e<2;e++){let e=t.replace(/^\s*\[Message from [^\]]+\]\s*(?:\r?\n)?/,"");if(e===t)break;t=e}return t.replace(/^\s+/,"")}function q(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}function z({message:e,conversationId:a,status:s,onDone:r}){let i=o(q(e.content)),[l,d]=(0,n.useState)(i?.recipient??""),[c,u]=(0,n.useState)(i?.body??""),[m,h]=(0,n.useState)(!1),[f,p]=(0,n.useState)("open"!==s),g=(0,n.useRef)("open"!==s);if(!i)return null;let y="open"!==s||f,x=y?i.recipient:l,b=y?i.body:c,v=async t=>{if(!y&&!g.current&&!m&&("send"!==t||""!==l.trim())){g.current=!0,p(!0),h(!0);try{(await fetch(`/api/conversations/${a}/draft`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({messageId:e.id,action:t,recipient:l,body:c})})).ok||(g.current=!1,p(!1))}finally{h(!1),r()}}};return(0,t.jsxs)("div",{className:"draft-card",children:[(0,t.jsx)("div",{className:"draft-title",children:"email"===i.channel?"New Email":"New Slack Message"}),(0,t.jsx)("input",{type:"text","aria-label":"Recipient",value:x,readOnly:y,disabled:m,onChange:e=>{y||d(e.target.value)}}),(0,t.jsx)("textarea",{rows:3,"aria-label":"Draft body",value:b,readOnly:y,disabled:m,onChange:e=>{y||u(e.target.value)}}),"sent"===s?(0,t.jsx)("span",{className:"draft-mark",children:"Sent"}):null,"discarded"===s?(0,t.jsx)("span",{className:"draft-mark",children:"Discarded"}):null,"discarded"!==s?(0,t.jsx)("button",{type:"button",className:"approve-control",disabled:m,onClick:()=>{v("send")},children:"Send"}):null,"open"===s?(0,t.jsx)("button",{type:"button",className:"approve-control",style:{marginLeft:8},disabled:m,onClick:()=>{v("discard")},children:"Discard"}):null]})}function U({message:e,conversationId:a,status:s,onDone:r}){let i=d(e.content),[l,o]=(0,n.useState)(!1),c=(0,n.useRef)("pending"!==s);if(!i)return null;let u=async t=>{if(!c.current&&!l){c.current=!0,o(!0);try{(await fetch(`/api/conversations/${a}/${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:i,messageId:e.id})})).ok||(c.current=!1)}finally{o(!1),r()}}};return"pending"!==s?(0,t.jsx)("span",{className:"draft-mark",children:"approved"===s?"Approved":"Denied"}):(0,t.jsxs)("span",{className:"draft-mark",children:[(0,t.jsx)("button",{type:"button",className:"approve-control",disabled:l,onClick:()=>{u("approve")},children:"Approve"}),(0,t.jsx)("button",{type:"button",className:"approve-control",style:{marginLeft:8},disabled:l,onClick:()=>{u("deny")},children:"Deny"})]})}function B({names:e}){return 0===e.length?null:(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))})}function H({anchorRef:e,deckState:a,onRetryDecks:s,onClose:r,onCreated:i}){let[l,o]=(0,n.useState)(""),[d,m]=(0,n.useState)(c.DEFAULT_RUNTIME_FORM),[h,f]=(0,n.useState)(""),[p,g]=(0,n.useState)(null),y=(0,n.useRef)(null),x=(0,n.useRef)(null);(0,n.useEffect)(()=>{s()},[s]),(0,n.useLayoutEffect)(()=>{let t=()=>{let t=e.current?.getBoundingClientRect();g(function(e,t){let n=Math.min(358,t.width-32),a=Math.max(16,t.width-16-n),s=16,r=16;if(e){r=Math.min(Math.max(e.left,16),a);let n=e.bottom+8;t.height-n-16>=360&&(s=n)}return{top:s,left:r,maxHeight:Math.max(0,t.height-s-16)}}(t?{left:t.left,bottom:t.bottom}:null,{width:window.innerWidth,height:window.innerHeight}))};return t(),window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[e]),(0,n.useEffect)(()=>{x.current?.focus()},[]),(0,n.useEffect)(()=>{let e=e=>{"Escape"===e.key&&(e.stopPropagation(),r())};return document.addEventListener("keydown",e,!0),()=>document.removeEventListener("keydown",e,!0)},[r]);let b=(0,c.runtimeFormView)(d,a),w=async e=>{if(e.preventDefault(),b.submitDisabled)return;if(!d.deckId.trim())return void f(c.SELECT_DECK_ERROR);f("");let t=await fetch("/api/bots",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((0,c.newBotSubmitBody)({name:l,...d}))});if(!t.ok){let e=await t.json().catch(()=>null);f("string"==typeof e?.error&&e.error?e.error:"Failed to create agent");return}i()};return(0,t.jsx)("div",{className:"modal-scrim new-agent-scrim",onKeyDown:e=>{if("Tab"!==e.key||!y.current)return;let t=v(Array.from(y.current.querySelectorAll(j)),document.activeElement,e.shiftKey);t&&(e.preventDefault(),t.focus())},children:(0,t.jsxs)("div",{ref:y,className:"form-card new-agent-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"new-agent-title",style:p??void 0,children:[(0,t.jsx)("div",{className:"kind-row",children:(0,t.jsx)("h2",{id:"new-agent-title",className:"kind-word new-agent-title",children:"New Agent"})}),(0,t.jsxs)("form",{onSubmit:w,className:"bot-form",children:[(0,t.jsxs)("div",{className:"new-agent-body",children:[(0,t.jsx)("label",{htmlFor:"bot-name",children:"Name"}),(0,t.jsx)("input",{ref:x,id:"bot-name",type:"text",value:l,onChange:e=>o(e.target.value),required:!0}),(0,t.jsx)(u.AgentSection,{idPrefix:"bot",variant:"modal",form:d,onChange:e=>{f(""),m(t=>({...t,...e}))},deckState:a,onRetry:s,workdirPlaceholder:"",workdirHint:c.NEW_BOT_WORKDIR_HINT}),h?(0,t.jsx)("p",{className:"form-error",role:"alert",children:h}):null]}),(0,t.jsxs)("div",{className:"form-actions",children:[(0,t.jsx)("button",{type:"button",className:"cancel-btn",onClick:r,children:"Cancel"}),(0,t.jsx)("button",{type:"submit",className:"create-btn",disabled:b.submitDisabled,children:"Create"})]})]})]})})}e.s(["default",0,function(){var e;let[g,y]=(0,n.useState)([]),[b,v]=(0,n.useState)(!1),[j,w]=(0,n.useState)(null),N=(0,n.useRef)(!1),S=(0,n.useRef)(null),[C,R]=(0,n.useState)([]),[E,P]=(0,n.useState)([]),[W,K]=(0,n.useState)([]),J=(0,n.useRef)(null),[G,V]=(0,n.useState)(null),X=(0,n.useRef)(null),[Y,Q]=(0,n.useState)(""),[Z,ee]=(0,n.useState)(""),[et,en]=(0,n.useState)(!1),[ea,es]=(0,n.useState)([]),[er,ei]=(0,n.useState)(""),el=(0,n.useRef)(null),eo=(0,n.useRef)(null),[ed,ec]=(0,n.useState)(!1),eu=(0,n.useRef)(null),[em,eh]=(0,n.useState)(!1),[ef,ep]=(0,n.useState)(!1),[eg,ey]=(0,n.useState)(null),[ex,eb]=(0,n.useState)(""),[ev,ej]=(0,n.useState)({}),ew=(0,n.useRef)({}),[eN,ek]=(0,n.useState)(null),[eS,eC]=(0,n.useState)(null),e_=(0,n.useRef)(null),eR=(0,n.useRef)(null),[eE,eA]=(0,n.useState)(!1),eI=(0,n.useRef)(null),[eD,eP]=(0,n.useState)(!1),e$=(0,n.useRef)(null),[eO,eT]=(0,n.useState)(""),[eL,eM]=(0,n.useState)(!1),eF=(0,n.useRef)(null),eq=(0,n.useRef)(null),ez=(0,n.useRef)(null),eU=(0,n.useRef)(null),eB=(0,n.useRef)(null),eH=(0,n.useRef)(null),eW=(0,n.useRef)(null),[eK,eJ]=(0,n.useState)([]),[eG,eV]=(0,n.useState)({serverNow:0,fetchedAt:0}),[eX,eY]=(0,n.useState)(()=>Date.now()),eQ=(0,n.useRef)({}),eZ=(0,n.useRef)(!1),[e0,e1]=(0,n.useState)(!1),{state:e6,retry:e4}=(0,m.useDeckList)();(0,n.useEffect)(()=>{eZ.current||0===g.length||(eZ.current=!0,e1(!0))},[g.length]),(0,n.useEffect)(()=>{let e=(0,h.importedBotId)(window.location.search);if(e)return void window.location.replace((0,h.importedConfigPath)(e));let t=new URLSearchParams(window.location.search),n=Number(t.get("deleted"));n>0&&window.history.replaceState(null,"","/");let a=t.get("agent");a&&(S.current=a,J.current=t.get("exchange"),window.history.replaceState(null,"","/")),e5().then(()=>{n>0&&eT((0,p.deletedStatusLine)(n))});let s=setInterval(e5,2e3),r=setInterval(()=>eY(Date.now()),1e3);return()=>{clearInterval(s),clearInterval(r)}},[]),(0,n.useEffect)(()=>{if(N.current||0===g.length||j)return;let e=g.find(e=>e.id===S.current)||[...g].filter(e=>!e.hidden).sort((e,t)=>L(e)-L(t))[0]||g[0];N.current=!0,tn(e.id)},[g,j]),(0,n.useEffect)(()=>{if(X.current=j?.id??null,j)return e7(),eW.current&&clearInterval(eW.current),eW.current=setInterval(e7,2e3),()=>{eW.current&&clearInterval(eW.current)}},[j]);let e3=j?g.find(e=>e.id===j.details.id)??j.details:void 0,e8=!!j&&T(e3),e2=e8?function(e){for(let t=e.length-1;t>=0;t--){let n=r(e[t].content);if(n){if("stopped"===n.state)return null;return n.page||n.html||null}}return null}(C):null;async function e5(){let e=await fetch("/api/bots",{cache:"no-store"}),t=await e.json(),n=Date.parse(e.headers.get("date")||"");eV({serverNow:Number.isNaN(n)?Date.now():n,fetchedAt:Date.now()}),Array.isArray(t)&&(y(t),v(!0))}async function e7(){if(!j)return;let e=j.id,t=null,n=!1,a=fetch(`/api/conversations/${e}`).then(async e=>{let t=await e.json();return e.ok&&Array.isArray(t?.events)?t.events:null}).catch(()=>null),s=fetch(`/api/exchanges?conversation=${encodeURIComponent(e)}`,{cache:"no-store"}).then(async e=>{let t=await e.json();return e.ok&&Array.isArray(t?.exchanges)?t.exchanges:null}).catch(()=>null);try{let a=await fetch(`/api/conversations/${e}/messages`);t=await a.json(),n=a.ok&&Array.isArray(t)}catch{n=!1}let r=await a,i=await s;if(X.current===e){let a,s;n&&R(t),r&&P((a=[],s=new Map,r.forEach((e,t)=>{let n="string"==typeof e.data.target_name?e.data.target_name:null;e.requestId&&n&&s.set(e.requestId,n);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}}(e);if(!i)return;let l=Array.isArray(e.data.actions)?e.data.actions:[],o=null!==e.requestId&&r.slice(t+1).some(t=>t.requestId===e.requestId);if("waiting"===i&&o)return;let d=e.requestId?s.get(e.requestId):void 0,c="denied"===i&&d?`Wake denied: ${d} — no work ran`:"waiting"===i&&d?`Queued: ${d} — waiting for capacity`:e.text;a.push({eventId:e.eventId,wakeId:e.wakeId,tone:i,text:c,actionable:"blocked"===i&&!!e.wakeId&&l.includes("allow")&&l.includes("deny")&&!o,createdAt:e.createdAt})}),a)),i&&K(i),V({conversationId:e,status:n?"ready":"error"})}}(0,n.useLayoutEffect)(()=>{let e=ez.current?.parentElement;if(!e)return;let t=eU.current,n=eB.current,a=eH.current;if(e8&&t&&n&&a){let s=s=>{let r=Math.ceil(t.getBoundingClientRect().height);n.style.height=r+16+s+"px";let i=n.getBoundingClientRect().top-e.getBoundingClientRect().top;a.style.height=Math.max(0,e.clientHeight-i)+"px";let l=t.getBoundingClientRect().top-e.getBoundingClientRect().top+e.scrollTop;e.scrollTop=Math.max(0,l-i)};s(0);let r=n.nextElementSibling,i=t.getBoundingClientRect().bottom,l=r?r.getBoundingClientRect().top:n.getBoundingClientRect().bottom;i>=l&&s(Math.max(16,Math.ceil(i-l)));return}a&&(a.style.height="0px"),n&&(n.style.height=""),e.scrollTop=e.scrollHeight},[C,e8]),(0,n.useEffect)(()=>{let e=J.current;if(!e)return;let t=document.getElementById(`exchange-${e}`);t&&(J.current=null,t.scrollIntoView({block:"center"}),t.focus({preventScroll:!0}))},[W]),(0,n.useLayoutEffect)(()=>{eJ(e=>{if(0===e.length)return e;let t=e.filter(e=>{let t=eQ.current[e]??0;return C.some(n=>"bot"===n.sender_type&&n.sender_id===e&&n.created_at>t&&!/^\[(mcp|tool call|tool result)\]/i.test(n.content.trim()))});if(0===t.length)return e;for(let e of t)delete eQ.current[e];return e.filter(e=>!t.includes(e))})},[C]);let e9=async e=>{j&&(await fetch(`/api/conversations/${j.id}/messages/${e}/stop`,{method:"POST"}),await e7())},te=async()=>{j&&(await fetch(`/api/conversations/${j.id}/stop`,{method:"POST"}),await e7())},tt=async(e,t)=>{if(ev[e.id])return void ej(t=>{let n={...t};return delete n[e.id],n});if(ew.current[e.id])return;let n=C.findIndex(t=>t.id===e.id),a=g.find(e=>e.name===t),s=C.slice(n+1).find(e=>"bot"===e.sender_type&&(a?e.sender_id===a.id:e.sender_name===t));if(s){ew.current[e.id]=!0;try{let t=await fetch(`/api/messages/${e.id}/between?other=${encodeURIComponent(s.id)}`),n=await t.json().catch(()=>null);t.ok&&Array.isArray(n)&&n.length>0&&ej(t=>({...t,[e.id]:n}))}finally{delete ew.current[e.id]}}};async function tn(e){let t=g.find(t=>t.id===e);if(!t)return;let n=await fetch(`/api/conversations?botId=${e}`),a=await n.json();eh(!1),ep(!1),a.id!==j?.id&&(R([]),P([]),K([])),X.current=a.id,w({id:a.id,details:t})}let ta=async()=>{if(!j)return;let e=eF.current?.files?.[0];if(!e)return;let t=await new Promise((t,n)=>{let a=new FileReader;a.onload=()=>t(String(a.result||"")),a.onerror=()=>n(a.error),a.readAsDataURL(e)});if(!t.startsWith("data:image/"))return;let n=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:j.details.id,avatar:t})});if(!n.ok)return;let a=await n.json();y(e=>e.map(e=>e.id===a.id?{...e,avatar:a.avatar}:e)),w({...j,details:{...j.details,avatar:a.avatar}})},ts=async e=>{if(!e||!j)return;let t=await new Promise((t,n)=>{let a=new FileReader;a.onload=()=>t(String(a.result||"")),a.onerror=()=>n(a.error),a.readAsDataURL(e)});if(!t.startsWith("data:image/"))return;let n=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:j.details.id,avatar:t})});if(!n.ok)return;let a=await n.json();y(e=>e.map(e=>e.id===a.id?{...e,avatar:a.avatar}:e)),w({...j,details:{...j.details,avatar:a.avatar}})},tr=async()=>{if(!j)return;let e=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:j.details.id,avatar:null})});if(!e.ok)return;let t=await e.json();y(e=>e.map(e=>e.id===t.id?{...e,avatar:t.avatar||""}:e)),w({...j,details:{...j.details,avatar:t.avatar||""}})},ti=b&&0===g.length,tl=[...g].filter(e=>!e.hidden).sort((e,t)=>L(e)-L(t)),to=g.filter(e=>e.hidden),td=async e=>{let t=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e.id,pinned:+!e.pinned})});if(!t.ok)return;let n=await t.json();y(e=>e.map(e=>e.id===n.id?{...e,...n}:e))},tc=async(e,t)=>{let n=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e.id,hidden:+!!t})});if(!n.ok)return;let a=await n.json();y(e=>e.map(e=>e.id===a.id?{...e,...a,hidden:+!!a.hidden}:e)),t?requestAnimationFrame(()=>eR.current?.focus()):tf(e.id)},tu=async e=>{(await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e.id,unread:1})})).ok&&y(t=>t.map(t=>t.id===e.id?{...t,unread:1}:t))};(0,n.useEffect)(()=>{if(!eS)return;let e=e=>{"Escape"===e.key&&(eC(null),eS.returnTo?.focus())},t=e=>{e_.current&&e_.current.contains(e.target)||eC(null)};return document.addEventListener("keydown",e),document.addEventListener("pointerdown",t),()=>{document.removeEventListener("keydown",e),document.removeEventListener("pointerdown",t)}},[eS]);let tm=async e=>{let t=ex.trim();if(ey(null),!t||t===e.name)return;let n=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e.id,name:t})});if(!n.ok)return;let a=await n.json();y(e=>e.map(e=>e.id===a.id?{...e,...a}:e)),j&&j.details.id===a.id&&w({...j,details:{...j.details,...a}})},th=async e=>{let t=e.map(e=>e.id);ek(null),eA(!1),eT((0,p.deletedStatusLine)(t.length)),requestAnimationFrame(()=>eI.current?.focus()),y(e=>e.filter(e=>!t.includes(e.id))),j&&t.includes(j.details.id)&&(w(null),R([]),P([])),await e5()},tf=(e,t=30)=>{requestAnimationFrame(()=>{let n=document.querySelector(`[data-open-bot="${e}"]`);n?n.focus():t>0&&tf(e,t-1)})},tp=(e=!0)=>{let t=eS?.returnTo;eC(null),e&&t&&requestAnimationFrame(()=>{t.isConnected&&t.focus()})},tg=(e,t)=>{e.preventDefault(),eC({bot:t,x:e.clientX,y:e.clientY,returnTo:e.currentTarget.querySelector("[data-open-bot]")})},ty=(e,n)=>(0,t.jsx)("input",{className:"bot-name","aria-label":`Rename ${e.name}`,value:ex,autoFocus:!0,onChange:e=>eb(e.target.value),onBlur:()=>tm(e),onKeyDown:t=>{"Enter"===t.key&&(t.preventDefault(),t.target.blur(),tf(e.id)),"Escape"===t.key&&(ey(null),tf(e.id))},style:n}),tx=(e,n)=>(0,t.jsx)("button",{type:"button",className:"bot-name row-open","data-open-bot":e.id,"aria-current":j?.details.id===e.id?"true":void 0,onClick:()=>tn(e.id),style:n,children:e.name}),tb=e=>(0,t.jsx)("button",{type:"button",className:"row-actions","aria-haspopup":"menu","aria-expanded":eS?.bot.id===e.id,"aria-label":`Actions for ${e.name}`,title:`Actions for ${e.name}`,onClick:t=>{var n;let a;eC({bot:e,x:(a=(n=t.currentTarget).getBoundingClientRect()).left,y:a.bottom+4,returnTo:n})},children:"⋯"}),tv=e=>(0,t.jsxs)("div",{className:"row-tip",children:[e.unread&&j?.details.id!==e.id?(0,t.jsx)("div",{className:"card-role",children:"Unread"}):null,(0,t.jsx)("div",{className:"card-role",children:M(e.last_seen,eG.serverNow,eG.fetchedAt,eX)})]}),tj=e=>(0,t.jsxs)("div",{className:j?.details.id===e.id?"bot-row is-open":"bot-row",onContextMenu:t=>tg(t,e),children:[(0,t.jsxs)("span",{className:"mark-avatar mark-avatar-sm",children:[(0,t.jsx)(l.default,{bot:e,size:36,title:`${e.name} avatar`}),eK.includes(e.id)?(0,t.jsx)("span",{className:"mark-dot"}):null]}),(0,t.jsxs)("div",{className:"bot-copy",children:[eg===e.id?ty(e):tx(e),D(e.latest)?(0,t.jsx)("div",{className:"bot-preview",children:D(e.latest)}):null,(0,t.jsx)(u.RosterRuntimeLine,{bot:e,state:e6})]}),tb(e),tv(e)]},e.id),tw=et?g.filter(e=>e.name.toLowerCase().includes(Z.toLowerCase())):[],tN=e=>{let t=el.current,n=t?t.selectionStart:Y.length,a=Y.slice(0,n).lastIndexOf("@");if(a<0)return;Q(Y.slice(0,a)+"@"+e+" "+Y.slice(n)),en(!1);let s=a+e.length+2;requestAnimationFrame(()=>{t?.focus(),t?.setSelectionRange(s,s)})},tk=e=>{if(0===e.length)return;let t=6-ea.length;e.length>t?ei("Up to six attachments."):ei("");let n=e.slice(0,Math.max(t,0));0!==n.length&&es(e=>[...e,...n.map((t,n)=>({id:t.name+"-"+e.length+"-"+n+"-"+t.size,name:t.name}))])},tS=async()=>{let e=ea.map(e=>e.name),t=Y.trim();if(!t&&0===e.length||!j)return;let n=[t,...e].filter(e=>e.length>0).join("\n"),a=[j.details.id],s=C.reduce((e,t)=>Math.max(e,t.created_at||0),0);for(let e of a)eQ.current[e]=s;eJ(e=>Array.from(new Set([...e,...a])));let r=[...g].sort((e,t)=>t.name.length-e.name.length).find(e=>(function(e,t){let n="@"+t,a=0;for(;a<e.length;){let t=e.indexOf(n,a);if(t<0)break;let s=e[t+n.length];if(!s||/[\s.,!?:;]/.test(s))return!0;a=t+n.length}return!1})(n,e.name));if(!(await fetch(`/api/conversations/${j.id}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:n,mentionedBotId:r?.id,idempotencyKey:crypto.randomUUID()})})).ok){for(let e of a)delete eQ.current[e];eJ(e=>e.filter(e=>!a.includes(e)))}Q(""),es([]),ei(""),en(!1),e7()},tC=j?(e=j.id,C.length>0?"messages":G&&G.conversationId===e&&"loading"!==G.status?"error"===G.status?"error":"empty":"loading"):"loading",t_=j?(0,t.jsx)(_,{view:tC,agentName:j.details.name}):null,tR=(j?.details.title||"").trim(),tE=j?.details.color,tA=new Set,tI=e=>(0,t.jsx)("div",{className:"msg-status",children:(0,t.jsx)($,{notice:e,onDone:()=>{e7()}})},e.eventId),tD=new Set,tP=e=>(0,t.jsx)("div",{className:"msg-status",children:(0,t.jsx)(O.default,{summary:e,onChanged:()=>{e7()}})},`exchange-${e.id}`),t$=e=>{let t=W.filter(t=>!tD.has(t.id)&&t.created_at<e).sort((e,t)=>e.created_at-t.created_at||(e.id<t.id?-1:1));return t.forEach(e=>tD.add(e.id)),t.map(tP)},tO=()=>{ec(!1),requestAnimationFrame(()=>eu.current?.focus())};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"field",inert:ed,children:[(0,t.jsxs)("aside",{className:"rail",children:[(0,t.jsxs)("div",{className:"brand",children:[(0,t.jsx)("div",{className:e0?"logo-shape is-settling":"logo-shape",children:(0,t.jsx)(s.default,{src:"/brand/botmancers-logo-filled-256.png",alt:"",width:40,height:40})}),(0,t.jsx)("div",{className:"logo-word",children:"botmancers"})]}),(0,t.jsxs)("div",{className:"bar",children:[(0,t.jsx)("button",{ref:eu,type:"button",className:"add-btn","aria-haspopup":"dialog",onClick:()=>ec(!0),children:"New"}),ti?null:(0,t.jsx)("button",{ref:eI,type:"button",className:"add-btn","aria-haspopup":"dialog",onClick:()=>{eT(""),eA(!0)},children:"Manage agents"}),(0,t.jsx)(a.default,{href:"/settings",className:"add-btn settings-link",children:"Settings"})]}),ti?null:(0,t.jsx)("nav",{className:"rail-nav","aria-label":"Workspace",children:(0,t.jsx)(a.default,{href:"/exchanges",className:"add-btn rail-nav-link",children:"Exchanges"})}),(0,t.jsx)("p",{className:"roster-status",role:"status",children:eO}),ti?null:(0,t.jsx)("div",{className:eS?"roster menu-open":"roster",children:tl.map(e=>T(e)?(0,t.jsxs)("div",{className:"card",onContextMenu:t=>tg(t,e),children:[(0,t.jsxs)("div",{className:"row-head",children:[(0,t.jsxs)("span",{className:"mark-avatar",children:[(0,t.jsx)(l.default,{bot:e,size:44,title:`${e.name} avatar`}),eK.includes(e.id)?(0,t.jsx)("span",{className:"mark-dot"}):null]}),eg===e.id?ty(e,{color:"#D5D0C3",fontSize:26}):tx(e,{fontSize:26}),tb(e)]}),D(e.latest)?(0,t.jsx)("div",{className:"bot-preview",children:D(e.latest)}):null,(0,t.jsx)(u.RosterRuntimeLine,{bot:e,state:e6}),tv(e)]},e.id):tj(e))}),to.length>0?(0,t.jsxs)("div",{className:eS?"roster menu-open":"roster",children:[(0,t.jsx)("button",{ref:eR,type:"button",className:"pin-word","aria-expanded":eL,onClick:()=>eM(e=>!e),children:"Hidden"}),eL?to.map(tj):null]}):null]}),(0,t.jsx)("section",{className:"pane",children:j?(0,t.jsxs)("div",{className:"thread",children:[(0,t.jsxs)("div",{className:"thread-bar",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("button",{type:"button",className:"thread-name",style:tE?{color:tE}:void 0,onClick:()=>{eh(!0),ep(!1)},children:j.details.name}),tR?(0,t.jsx)("div",{className:"thread-role",children:tR}):null,(0,t.jsx)("div",{className:"thread-role",children:eK.includes(j.details.id)?"Working":"Not working"}),(0,t.jsx)("div",{className:"thread-role",children:M((e3??j.details).last_seen,eG.serverNow,eG.fetchedAt,eX)}),em?(0,t.jsx)("button",{type:"button",className:"avatar-pic",onClick:()=>ep(!0),"aria-label":"Picture",children:j.details.avatar?(0,t.jsx)("img",{src:j.details.avatar,alt:""}):(0,t.jsx)(l.default,{bot:j.details,size:46})}):null]}),(0,t.jsxs)("div",{style:{marginLeft:"auto",display:"flex",gap:16,alignItems:"flex-start"},children:[(0,t.jsx)(a.default,{href:`/bots/${j.details.id}/config`,className:"attach-word",style:{textDecoration:"none"},children:"Config"}),(0,t.jsx)("button",{ref:e$,type:"button",className:"attach-word","aria-haspopup":"dialog","aria-expanded":eD,onClick:()=>eP(!0),children:"Sessions"}),(0,t.jsx)("button",{type:"button",className:"attach-word",title:"Stop delegated turns in this thread",onClick:()=>{te()},children:"Stop"})]})]}),ef?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"avatar-step avatar-desk",children:[(0,t.jsx)("span",{className:"kind-word",children:"Agent"}),(0,t.jsx)("button",{type:"button",className:"kind-word",children:"Generate"}),(0,t.jsxs)("label",{className:"kind-word",children:["Upload",(0,t.jsx)("input",{ref:eF,type:"file",accept:"image/*,.svg"})]}),(0,t.jsx)("button",{type:"button",className:"create-btn",onClick:ta,children:"Set avatar"})]}),(0,t.jsxs)("div",{className:"avatar-step avatar-phone",children:[(0,t.jsx)("button",{type:"button",className:"kind-word",onClick:()=>eq.current?.click(),children:"Gallery"}),(0,t.jsx)("button",{type:"button",className:"kind-word",children:"Generate"}),(0,t.jsx)("button",{type:"button",className:"kind-word",onClick:tr,children:"Remove Photo"}),(0,t.jsx)("input",{ref:eq,type:"file",accept:"image/*,.svg",onChange:e=>{let t=e.target.files?.[0];e.target.value="",ts(t)}})]})]}):null,(0,t.jsxs)("div",{className:"messages-wrap",children:[(0,t.jsxs)("div",{className:"messages",children:[e8?null:t_,C.map(e=>{var a;let s,l,u=E.filter(t=>!tA.has(t.eventId)&&t.createdAt<e.created_at);u.forEach(e=>tA.add(e.eventId));let m=t$(e.created_at),h="user"===e.sender_type,f=h?null:A(q(e.content));if(f)return(0,t.jsxs)(n.Fragment,{children:[u.map(tI),m,(0,t.jsx)("div",{className:"msg-status",children:(0,t.jsx)(I,{failure:f})})]},e.id);let p=(a=q(e.content),s=[],{text:F(a.replace(/data:image\/[a-zA-Z0-9.+-]+;base64,[A-Za-z0-9+/=\s]+/g,e=>(s.push(e.replace(/\s/g,"")),""))),images:s}),g=p.images.map(e=>(0,t.jsx)("img",{src:e,alt:"",style:{display:"block",width:64,height:64}},e.slice(0,48))),y=h?void 0:j.details.color,x=h?null:r(e.content),b=h||x?null:o(q(e.content)),v=h||x?null:d(e.content),w=h||x?[]: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}(e.content),N=h||x?null:(l=p.text.match(/^\s*\[Handing off to ([^\]]+)\]/))&&l[1].trim()||null,k=e.draftStatus??(b?"open":null),S=e.approvalStatus??(v?"pending":null);return(0,t.jsxs)(n.Fragment,{children:[u.map(tI),m,(0,t.jsxs)("div",{className:h?"msg-you":"msg-bot",ref:x&&"running"===x.state?eU:void 0,children:[(0,t.jsx)("div",{className:h?"msg-name msg-name-you":"msg-name",style:y?{color:y}:void 0,children:h?"You":e.sender_name||j.details.name}),x?(0,t.jsxs)("div",{className:"msg-body",children:[i(x),"running"===x.state?(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsx)("button",{type:"button",className:"attach-word",style:{font:"inherit"},onClick:t=>{t.preventDefault(),t.stopPropagation(),e9(e.id)},children:"Stop"})]}):null]}):b&&k?(0,t.jsx)("div",{className:"msg-body",children:(0,t.jsx)(z,{message:e,conversationId:j.id,status:k,onDone:()=>{e7()}},e.id+k)}):(0,t.jsxs)("div",{className:"msg-body",onClick:N?()=>{tt(e,N)}:void 0,title:N?"Show the replies between this handoff and the reply":void 0,style:N?{cursor:"pointer"}:void 0,children:[function(e,n){let a=String(e??"").split("\n");if(!a.some(e=>null!==(0,c.deckEventDisplay)(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.deckEventDisplay)(e);r?s.push((0,t.jsxs)("span",{className:"deck-event",children:[(0,t.jsx)("span",{className:"deck-event-label",children:r.label}),r.detail?" "+r.detail:""]},n+"-"+a)):s.push((0,t.jsx)("span",{children:e},n+"-"+a))}),s}(p.text,e.id),g,v&&S?(0,t.jsx)(U,{message:e,conversationId:j.id,status:S,onDone:()=>{e7()}},e.id+S):null,(0,t.jsx)(B,{names:w})]}),ev[e.id]?(0,t.jsx)("div",{className:"msg-body",children:ev[e.id].map(e=>(0,t.jsx)("div",{children:(e.sender_name||"Agent")+": "+F(e.content)},e.id))}):null]})]},e.id)}),E.filter(e=>!tA.has(e.eventId)).map(tI),t$(1/0),(0,t.jsx)("div",{ref:eH}),(0,t.jsx)("div",{ref:ez})]}),e8?(0,t.jsxs)("div",{className:"computer-float",children:[(0,t.jsxs)("div",{className:"computer-top",children:[(0,t.jsxs)("span",{className:"computer-lights","aria-hidden":"true",children:[(0,t.jsx)("span",{className:"computer-light computer-light-red"}),(0,t.jsx)("span",{className:"computer-light computer-light-yellow"}),(0,t.jsx)("span",{className:"computer-light computer-light-green"})]}),(0,t.jsxs)("span",{className:"computer-teach",children:[(0,t.jsxs)("span",{className:"computer-teach-pill",children:[(0,t.jsx)("span",{className:"computer-teach-mark","aria-hidden":"true"}),"Teach a task"]}),(0,t.jsx)("span",{className:"computer-expand","aria-hidden":"true",children:(0,t.jsx)("svg",{viewBox:"0 0 16 16",width:"14",height:"14",children:(0,t.jsx)("path",{d:"M9.2 2.6H13.4V6.8M6.8 13.4H2.6V9.2M13.1 2.9L9.4 6.6M2.9 13.1L6.6 9.4",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]}),(0,t.jsx)("div",{className:"messages"===tC?"computer-band":"computer-band computer-band-note",ref:eB,children:t_}),(0,t.jsxs)("div",{className:"computer-desk",children:[e2?(0,t.jsx)("iframe",{className:"computer-page",sandbox:"",srcDoc:e2,tabIndex:-1}):null,(0,t.jsxs)("div",{className:"computer-dock",children:[(0,t.jsx)("img",{src:"/computer/dock-chrome.png",alt:""}),(0,t.jsx)("img",{src:"/computer/dock-gray.png",alt:""}),(0,t.jsx)("img",{src:"/computer/dock-terminal.png",alt:""})]})]})]}):null]}),(0,t.jsxs)("div",{className:"composer",onPaste:e=>{let t=[],n=e.clipboardData.files;if(n&&n.length>0)t.push(...Array.from(n));else for(let n of Array.from(e.clipboardData.items)){if("file"!==n.kind)continue;let e=n.getAsFile();e&&t.push(e)}0!==t.length&&(e.preventDefault(),tk(t))},children:[et&&tw.length>0?(0,t.jsx)("div",{className:"mention-list",children:tw.map(e=>(0,t.jsxs)("button",{type:"button",onMouseDown:t=>{t.preventDefault(),tN(e.name)},children:["@",e.name]},e.id))}):null,(0,t.jsxs)("div",{className:"composer-box",children:[er?(0,t.jsx)("p",{className:"attach-error",children:er}):null,ea.length>0?(0,t.jsx)("div",{className:"attach-names",children:ea.map(e=>(0,t.jsx)("span",{children:e.name},e.id))}):null,(0,t.jsx)("textarea",{ref:el,rows:2,value:Y,onChange:e=>{var t,n;let a,s;Q(e.target.value),t=e.target.value,n=e.target.selectionStart,(s=(a=t.slice(0,n)).lastIndexOf("@"))<0||/\s/.test(a.slice(s+1))?en(!1):(ee(a.slice(s+1)),en(!0))},onKeyDown:e=>{if("Enter"===e.key&&!e.shiftKey){if(e.preventDefault(),et&&tw.length>0)return void tN(tw[0].name);tS()}},placeholder:"Say something"})]}),(0,t.jsx)("input",{ref:eo,className:"attach-input",type:"file",multiple:!0,onChange:e=>{tk(Array.from(e.target.files||[])),e.target.value=""}}),(0,t.jsx)("button",{type:"button",className:"attach-word",onClick:()=>eo.current?.click(),children:"Attach"}),(0,t.jsx)("button",{type:"button",className:"send-btn",onClick:tS,children:"Send"})]})]}):ti?(0,t.jsxs)("div",{className:"welcome",children:[(0,t.jsx)(s.default,{className:"welcome-mark",src:"/brand/botmancers-logo-outline-256.png",alt:"Botmancers",width:144,height:144,priority:!0}),(0,t.jsx)("p",{className:"empty-line",children:"Pick someone to talk to."})]}):(0,t.jsx)("p",{className:"empty-line",children:"Pick someone to talk to."})}),eN?(0,t.jsx)(f.default,{ids:[eN.id],onCancel:()=>{tf(eN.id),ek(null)},onDeleted:e=>{th(e)}}):null,eD&&j?(0,t.jsx)(k,{agentId:j.details.id,agentName:j.details.name,agents:g.map(e=>({id:e.id,name:e.name})),origin:{conversationId:j.id,label:`${j.details.name} thread`},onExchangeStarted:()=>{e7()},onClose:()=>{eP(!1),requestAnimationFrame(()=>e$.current?.focus())},onOpenThread:e=>{eP(!1),tn(e).then(()=>requestAnimationFrame(()=>e$.current?.focus()))}},j.details.id):null,eE?(0,t.jsx)(x,{deckState:e6,onClose:()=>{eA(!1),requestAnimationFrame(()=>eI.current?.focus())},onDeleted:e=>{th(e)}}):null,eS?(0,t.jsxs)("div",{ref:e_,className:"row-menu",role:"menu","aria-label":`Actions for ${eS.bot.name}`,style:{left:eS.x,top:eS.y},onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),onContextMenu:e=>e.preventDefault(),onKeyDown:e=>{let t=Array.from(e.currentTarget.querySelectorAll("[role=menuitem]")),n=t.indexOf(document.activeElement),a=n=>{e.preventDefault(),t[(n+t.length)%t.length]?.focus()};"ArrowDown"===e.key?a(n+1):"ArrowUp"===e.key?a(n-1):"Home"===e.key?a(0):"End"===e.key?a(t.length-1):"Tab"===e.key&&(e.preventDefault(),tp())},children:[(0,t.jsx)("button",{type:"button",role:"menuitem",tabIndex:-1,autoFocus:!0,onClick:e=>{e.stopPropagation(),tp(),td(eS.bot)},children:eS.bot.pinned?"Unpin":"Pin"}),(0,t.jsx)("button",{type:"button",role:"menuitem",tabIndex:-1,onClick:e=>{e.stopPropagation(),tp(),tu(eS.bot)},children:"Mark as Unread"}),(0,t.jsx)("button",{type:"button",role:"menuitem",tabIndex:-1,onClick:e=>{e.stopPropagation(),tp(!1),ey(eS.bot.id),eb(eS.bot.name)},children:"Rename Agent"}),(0,t.jsx)("button",{type:"button",role:"menuitem",tabIndex:-1,onClick:e=>{e.stopPropagation(),tp(!1),tc(eS.bot,!eS.bot.hidden)},children:eS.bot.hidden?"Unhide":"Hide from sidebar"}),(0,t.jsx)(a.default,{role:"menuitem",tabIndex:-1,href:`/bots/${eS.bot.id}/config`,onClick:()=>eC(null),children:"Config"}),(0,t.jsx)("button",{type:"button",role:"menuitem",tabIndex:-1,onClick:e=>{e.stopPropagation(),tp(!1),ek(eS.bot)},children:"Delete agent…"})]}):null]}),ed&&(0,t.jsx)(H,{anchorRef:eu,deckState:e6,onRetryDecks:e4,onClose:tO,onCreated:()=>{e5(),tO()}})]})}],31713)},5500,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"Image",{enumerable:!0,get:function(){return j}});let a=e.r(55682),s=e.r(90809),r=e.r(43476),i=s._(e.r(71645)),l=a._(e.r(74080)),o=a._(e.r(25633)),d=e.r(8927),c=e.r(87690),u=e.r(18556),m=e.r(65856),h=a._(e.r(1948)),f=e.r(18581),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function g(e,t,n,a,s,r,i){let l=e?.src;e&&e["data-loaded-src"]!==l&&(e["data-loaded-src"]=l,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&s(!0),n?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let a=!1,s=!1;n.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>a,isPropagationStopped:()=>s,persist:()=>{},preventDefault:()=>{a=!0,t.preventDefault()},stopPropagation:()=>{s=!0,t.stopPropagation()}})}a?.current&&a.current(e)}}))}function y(e){return i.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let x="u"<typeof window?i.useEffect:i.useLayoutEffect,b=(0,i.forwardRef)(({src:e,srcSet:t,sizes:n,height:a,width:s,decoding:l,className:o,style:d,fetchPriority:c,placeholder:u,loading:m,unoptimized:h,fill:p,onLoadRef:b,onLoadingCompleteRef:v,setBlurComplete:j,setShowAltText:w,sizesInput:N,onLoad:k,onError:S,...C},_)=>{let R=(0,i.useRef)(!1),E=(0,i.useRef)(null);x(()=>{let{current:e}=R,{current:t}=E;e||null===t||(S&&(t.src=t.src),t.complete&&g(t,u,b,v,j,h,N),R.current=!0)},[e,u,b,v,S,h,N]);let A=(0,f.useMergedRef)(_,E);return(0,r.jsx)("img",{...C,...y(c),loading:m,width:s,height:a,decoding:l,"data-nimg":p?"fill":"1",className:o,style:d,sizes:n,srcSet:t,src:e,ref:A,onLoad:e=>{g(e.currentTarget,u,b,v,j,h,N)},onError:e=>{w(!0),"empty"!==u&&j(!0),S&&S(e)}})});function v({isAppRouter:e,imgAttributes:t}){let n={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...y(t.fetchPriority)};return e&&l.default.preload?(l.default.preload(t.src,n),null):(0,r.jsx)(o.default,{children:(0,r.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...n},"__nimg-"+t.src+t.srcSet+t.sizes)})}let j=(0,i.forwardRef)((e,t)=>{let n=(0,i.useContext)(m.RouterContext),a=(0,i.useContext)(u.ImageConfigContext),s=(0,i.useMemo)(()=>{let e=p||a||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),n=e.deviceSizes.sort((e,t)=>e-t),s=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:n,qualities:s,localPatterns:"u"<typeof window?a?.localPatterns:e.localPatterns}},[a]),{onLoad:l,onLoadingComplete:o}=e,f=(0,i.useRef)(l);(0,i.useEffect)(()=>{f.current=l},[l]);let g=(0,i.useRef)(o);(0,i.useEffect)(()=>{g.current=o},[o]);let[y,x]=(0,i.useState)(!1),[j,w]=(0,i.useState)(!1),{props:N,meta:k}=(0,d.getImgProps)(e,{defaultLoader:h.default,imgConf:s,blurComplete:y,showAltText:j});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(b,{...N,unoptimized:k.unoptimized,placeholder:k.placeholder,fill:k.fill,onLoadRef:f,onLoadingCompleteRef:g,setBlurComplete:x,setShowAltText:w,sizesInput:e.sizes,ref:t}),k.preload?(0,r.jsx)(v,{isAppRouter:!n,imgAttributes:N}):null]})});("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},94909,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var a={default:function(){return c},getImageProps:function(){return d}};for(var s in a)Object.defineProperty(n,s,{enumerable:!0,get:a[s]});let r=e.r(55682),i=e.r(8927),l=e.r(5500),o=r._(e.r(1948));function d(e){let{props:t}=(0,i.getImgProps)(e,{defaultLoader:o.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,n]of Object.entries(t))void 0===n&&delete t[e];return{props:t}}let c=l.Image},57688,(e,t,n)=>{t.exports=e.r(94909)},25633,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var a={default:function(){return p},defaultHead:function(){return u}};for(var s in a)Object.defineProperty(n,s,{enumerable:!0,get:a[s]});let r=e.r(55682),i=e.r(90809),l=e.r(43476),o=i._(e.r(71645)),d=r._(e.r(98879)),c=e.r(42732);function u(){return[(0,l.jsx)("meta",{charSet:"utf-8"},"charset"),(0,l.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function m(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===o.default.Fragment?e.concat(o.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}let h=["name","httpEquiv","charSet","itemProp"];function f(e){let t,n,a,s;return e.reduce(m,[]).reverse().concat(u().reverse()).filter((t=new Set,n=new Set,a=new Set,s={},e=>{let r=!0,i=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){i=!0;let n=e.key.slice(e.key.indexOf("$")+1);t.has(n)?r=!1:t.add(n)}switch(e.type){case"title":case"base":n.has(e.type)?r=!1:n.add(e.type);break;case"meta":for(let t=0,n=h.length;t<n;t++){let n=h[t];if(e.props.hasOwnProperty(n))if("charSet"===n)a.has(n)?r=!1:a.add(n);else{let t=e.props[n],a=s[n]||new Set;("name"!==n||!i)&&a.has(t)?r=!1:(a.add(t),s[n]=a)}}}return r})).reverse().map((e,t)=>{let n=e.key||t;return o.default.cloneElement(e,{key:n})})}let p=function({children:e}){let t=(0,o.useContext)(c.HeadManagerContext);return(0,l.jsx)(d.default,{reduceComponentsToState:f,headManager:t,children:e})};("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},18556,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"ImageConfigContext",{enumerable:!0,get:function(){return r}});let a=e.r(55682)._(e.r(71645)),s=e.r(87690),r=a.default.createContext(s.imageConfigDefault)},65856,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"RouterContext",{enumerable:!0,get:function(){return a}});let a=e.r(55682)._(e.r(71645)).default.createContext(null)},70965,(e,t,n)=>{"use strict";function a(e,t){let n=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-n)<Math.abs(e-n)?t:e,t.qualities[0]):n}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"findClosestQuality",{enumerable:!0,get:function(){return a}})},1948,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return i}});let a=e.r(70965),s=e.r(43369);function r({config:e,src:t,width:n,quality:i}){let l=(0,s.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//"))if(t.includes("/_next/static/immutable")&&!(0,s.getAssetToken)())l=void 0;else{let e=t.indexOf("?");if(-1!==e){let n=new URLSearchParams(t.slice(e+1)),a=n.get("dpl");if(a){l=a,n.delete("dpl");let s=n.toString();t=t.slice(0,e)+(s?"?"+s:"")}}}if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let o=(0,a.findClosestQuality)(i,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${n}&q=${o}${t.startsWith("/")&&l?`&dpl=${l}`:""}`}r.__next_img_default=!0;let i=r},88143,(e,t,n)=>{"use strict";function a({widthInt:e,heightInt:t,blurWidth:n,blurHeight:s,blurDataURL:r,objectFit:i}){let l=n?40*n:e,o=s?40*s:t,d=l&&o?`viewBox='0 0 ${l} ${o}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${d}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${d?"none":"contain"===i?"xMidYMid":"cover"===i?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${r}'/%3E%3C/svg%3E`}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"getImageBlurSvg",{enumerable:!0,get:function(){return a}})},87690,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var a={VALID_LOADERS:function(){return r},imageConfigDefault:function(){return i}};for(var s in a)Object.defineProperty(n,s,{enumerable:!0,get:a[s]});let r=["default","imgix","cloudinary","akamai","custom"],i={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},8927,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"getImgProps",{enumerable:!0,get:function(){return d}});let a=e.r(43369),s=e.r(88143),r=e.r(87690),i=["-moz-initial","fill","none","scale-down",void 0];function l(e){return void 0!==e.default}function o(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function d({src:e,sizes:t,unoptimized:n=!1,priority:c=!1,preload:u=!1,loading:m,className:h,quality:f,width:p,height:g,fill:y=!1,style:x,overrideSrc:b,onLoad:v,onLoadingComplete:j,placeholder:w="empty",blurDataURL:N,fetchPriority:k,decoding:S="async",layout:C,objectFit:_,objectPosition:R,lazyBoundary:E,lazyRoot:A,...I},D){var P;let $,O,T,{imgConf:L,showAltText:M,blurComplete:F,defaultLoader:q}=D,z=L||r.imageConfigDefault;if("allSizes"in z)$=z;else{let e=[...z.deviceSizes,...z.imageSizes].sort((e,t)=>e-t),t=z.deviceSizes.sort((e,t)=>e-t),n=z.qualities?.sort((e,t)=>e-t);$={...z,allSizes:e,deviceSizes:t,qualities:n}}if(void 0===q)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let U=I.loader||q;delete I.loader,delete I.srcSet;let B="__next_img_default"in U;if(B){if("custom"===$.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
|
|
3
|
-
Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=U;U=t=>{let{config:n,...a}=t;return e(a)}}if(C){"fill"===C&&(y=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[C];e&&(x={...x,...e});let n={responsive:"100vw",fill:"100vw"}[C];n&&!t&&(t=n)}let H="",W=o(p),K=o(g);if((P=e)&&"object"==typeof P&&(l(P)||void 0!==P.src)){let t=l(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(O=t.blurWidth,T=t.blurHeight,N=N||t.blurDataURL,H=t.src,!y)if(W||K){if(W&&!K){let e=W/t.width;K=Math.round(t.height*e)}else if(!W&&K){let e=K/t.height;W=Math.round(t.width*e)}}else W=t.width,K=t.height}let J=!c&&!u&&("lazy"===m||void 0===m);(!(e="string"==typeof e?e:H)||e.startsWith("data:")||e.startsWith("blob:"))&&(n=!0,J=!1),$.unoptimized&&(n=!0),B&&!$.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(n=!0);let G=o(f),V=Object.assign(y?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:_,objectPosition:R}:{},M?{}:{color:"transparent"},x),X=F||"empty"===w?null:"blur"===w?`url("data:image/svg+xml;charset=utf-8,${(0,s.getImageBlurSvg)({widthInt:W,heightInt:K,blurWidth:O,blurHeight:T,blurDataURL:N||"",objectFit:V.objectFit})}")`:`url("${w}")`,Y=i.includes(V.objectFit)?"fill"===V.objectFit?"100% 100%":"cover":V.objectFit,Q=X?{backgroundSize:Y,backgroundPosition:V.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:X}:{},Z=function({config:e,src:t,unoptimized:n,width:s,quality:r,sizes:i,loader:l}){if(n){if(t.startsWith("/")&&!t.startsWith("//")){let e=(0,a.getDeploymentId)();if(t.includes("/_next/static/immutable")&&!(0,a.getAssetToken)())e=void 0;else if(e){let n=t.indexOf("?");if(-1!==n){let a=new URLSearchParams(t.slice(n+1));a.get("dpl")||(a.append("dpl",e),t=t.slice(0,n)+"?"+a.toString())}else t+=`?dpl=${e}`}}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:o,kind:d}=function({deviceSizes:e,allSizes:t},n,a){if(a){let n=/(^|\s)(1?\d?\d)vw/g,s=[];for(let e;e=n.exec(a);)s.push(parseInt(e[2]));if(s.length){let n=.01*Math.min(...s);return{widths:t.filter(t=>t>=e[0]*n),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof n?{widths:e,kind:"w"}:{widths:[...new Set([n,2*n].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,s,i),c=o.length-1;return{sizes:i||"w"!==d?i:"100vw",srcSet:o.map((n,a)=>`${l({config:e,src:t,quality:r,width:n})} ${"w"===d?n:a+1}${d}`).join(", "),src:l({config:e,src:t,quality:r,width:o[c]})}}({config:$,src:e,unoptimized:n,width:W,quality:G,sizes:t,loader:U}),ee=J?"lazy":m;return{props:{...I,loading:ee,fetchPriority:k,width:W,height:K,decoding:S,className:h,style:{...V,...Q},sizes:Z.sizes,srcSet:Z.srcSet,src:b||Z.src},meta:{unoptimized:n,preload:u||c,placeholder:w,fill:y}}}},98879,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return l}});let a=e.r(71645),s="u"<typeof window,r=s?()=>{}:a.useLayoutEffect,i=s?()=>{}:a.useEffect;function l(e){let{headManager:t,reduceComponentsToState:n}=e;function l(){if(t&&t.mountedInstances){let e=a.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(n(e))}}return s&&(t?.mountedInstances?.add(e.children),l()),r(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),r(()=>(t&&(t._pendingUpdate=l),()=>{t&&(t._pendingUpdate=l)})),i(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,13255,63352,50814,e=>{"use strict";var t=e.i(43476),n=e.i(71645),a=e.i(22016);function r(e){return`${new Date(e).toISOString().slice(0,16).replace("T"," ")} UTC`}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){return"active"===e?`${t} has no active sessions.`:"ended"===e?`${t} has no ended sessions.`:`${t} has no sessions yet. One appears after a coding run keeps its runtime context.`},"formatSessionDate",0,r,"runtimeLabel",0,function(e){return e.agent.transport?`${e.agent.adapter} \xb7 ${e.agent.transport}`:e.agent.adapter},"statusLabel",0,function(e){return"active"===e.status?"Active":"Ended"},"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}],63352);let s=["queued","extracting","delivering","completed","failed","cancelled"],i=["completed","failed","cancelled"];function l(e){return"ask"===e?"Ask":"Continue"}function o(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 c(e){var t;return e.cancel_requested&&(t=e.state,!i.includes(t))?"Cancelling…":o(e.mode,e.state)}function d(e){return"completed"===e?"done":"failed"===e||"cancelled"===e?"stopped":"active"}function u(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 h(e){return r(e)}function f(e){return`${e.source.agent_name}'s session “${e.source.session_title}”`}function g(e){return"ask"===e.mode?`You → ${e.source.agent_name}`:`${e.source.agent_name} → ${e.destination?.agent_name??"another Agent"}`}function p(e){return"ask"===e?"Question":"Objective"}function m(e){if("completed"===e.state){if("ask"===e.mode){let t=e.origin?.label??"the origin thread";return e.outcome.answer?`Answer in ${t}: ${u(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: ${u(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}function x(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."}}function b(e){return`/exchanges?id=${encodeURIComponent(e)}`}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,b,"eventLabel",0,function(e,t){let n=e.data??{},a=t.source.agent_name,r=t.destination?.agent_name??"the destination Agent",i="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 ${r}`;case"hop_queued":if("deliver"===i)return`Handoff queued for ${r}'s new session`;return"extract"===i?`Handoff extraction queued in ${a}'s session`:`Question queued for ${a}'s session`;case"hop_started":if("deliver"===i)return`${r} started a new session`;return"extract"===i?`${a}'s session started extracting the handoff`:`${a}'s session started answering`;case"state_changed":{let e="string"==typeof n.to&&s.includes(n.to)?n.to:null;return e?`Now ${o(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`${r} replied in ${t.destination?.conversation?.label??"its thread"}`;case"destination_session_rejected":return`${r}'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,u,"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,x,"formatExchangeTime",0,h,"instructionHeading",0,p,"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,c,"modeLabel",0,l,"outcomeLine",0,m,"participantsLabel",0,g,"sessionActionAvailability",0,function(e){return"ended"===e.status?{available:!1,reason:"Ask and Continue are unavailable: this session has ended. Its history stays here."}:e.resumable?{available:!0}:{available:!1,reason:`Ask and Continue are unavailable: Botmancers can’t resume this session under ${e.agent.name}’s current runtime.`}},"sessionLabel",0,f,"stateTone",0,d,"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 has no Agent Deck selected.";case"idempotency_conflict":return"This request changed while it was being sent. Send again.";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)return n.set("agent",e.thread_agent_id),t&&n.set("exchange",t),`/?${n.toString()}`;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}],50814),e.s(["default",0,function({summary:e,onChanged:r}){let[s,i]=(0,n.useState)(!1),[o,v]=(0,n.useState)(""),y=d(e.state),j=m(e),_=x(e),N=`exchange-${e.id}-title`,w=async()=>{if(!s){i(!0),v("");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);v("string"==typeof e?.error?.message?e.error.message:"Could not cancel. Try again.")}}catch{v("Could not cancel. Try again.")}finally{i(!1),r?.()}}};return(0,t.jsxs)("article",{id:`exchange-${e.id}`,className:`exchange-card is-${y} is-${e.state}`,"data-exchange-id":e.id,"data-exchange-state":e.state,"aria-labelledby":N,tabIndex:-1,children:[(0,t.jsxs)("p",{className:"exchange-card-line",children:[(0,t.jsx)("span",{className:"exchange-card-mode",children:l(e.mode)}),(0,t.jsx)("span",{id:N,className:"exchange-card-title",children:g(e)}),(0,t.jsx)("span",{className:"exchange-card-state",role:"status",children:c(e)})]}),(0,t.jsx)("p",{className:"exchange-card-session",children:f(e)}),(0,t.jsxs)("p",{className:"exchange-card-instruction",children:[(0,t.jsx)("span",{className:"exchange-card-key",children:p(e.mode)})," ",u(e.instruction,220)]}),j?(0,t.jsx)("p",{className:"failed"===e.state?"exchange-card-outcome is-failure":"exchange-card-outcome",children:j}):null,_?(0,t.jsx)("p",{className:"exchange-card-advice",children:_}):null,o?(0,t.jsx)("p",{className:"exchange-card-error",role:"alert",children:o}):null,(0,t.jsxs)("p",{className:"exchange-card-foot",children:[(0,t.jsxs)("span",{className:"exchange-card-time",children:["Updated ",h(e.updated_at)]}),(0,t.jsx)(a.default,{className:"exchange-card-link",href:b(e.id),"aria-label":`Details: ${l(e.mode)} ${g(e)}`,children:"Details"}),e.can_cancel?(0,t.jsx)("button",{type:"button",className:"exchange-card-cancel",disabled:s,onClick:()=>{w()},children:s?"Cancelling…":"Cancel"}):null]})]})}],13255)},87164,e=>{"use strict";var t=e.i(43476),n=e.i(71645),a=e.i(22016),r=e.i(13255),s=e.i(50814);let i="botmancers:exchanges-navigate";function l(e){return window.addEventListener("popstate",e),window.addEventListener(i,e),()=>{window.removeEventListener("popstate",e),window.removeEventListener(i,e)}}function o(){return new URLSearchParams(window.location.search).get("id")}function c({id:e,onBack:i,onChanged:l}){let[o,d]=(0,n.useState)(null),[u,h]=(0,n.useState)(""),[f,g]=(0,n.useState)(0),p=(0,n.useRef)(null),m=(0,n.useRef)(!1),x=(0,n.useId)();(0,n.useEffect)(()=>{let t=!1,n=()=>{fetch(`/api/exchanges/${encodeURIComponent(e)}`,{cache:"no-store"}).then(async e=>{let n=await e.json().catch(()=>null);if(!t){if(!e.ok||!n?.detail)return void h(404===e.status?"This exchange no longer exists.":"Could not load this exchange.");h(""),d(n.detail)}}).catch(()=>{t||h("Could not load this exchange.")})};n();let a=setInterval(n,2e3);return()=>{t=!0,clearInterval(a)}},[e,f]),(0,n.useEffect)(()=>{o&&!m.current&&(m.current=!0,p.current?.focus())},[o]);let b=(0,t.jsx)("button",{type:"button",className:"pin-word ledger-detail-back",onClick:i,children:"← All exchanges"});if(!o)return(0,t.jsxs)("div",{className:"ledger-detail",children:[b,u?(0,t.jsxs)("div",{role:"alert",className:"ledger-state",children:[(0,t.jsx)("p",{className:"delete-error",children:u}),(0,t.jsx)("button",{type:"button",className:"pin-word",onClick:()=>g(e=>e+1),children:"Retry"})]}):(0,t.jsx)("p",{className:"ledger-state",role:"status",children:"Loading exchange…"})]});let{summary:v,events:y,packet:j}=o;return(0,t.jsxs)("article",{className:"ledger-detail","aria-labelledby":x,"data-exchange-detail":v.id,children:[b,(0,t.jsxs)("h2",{id:x,ref:p,tabIndex:-1,className:"ledger-detail-title",children:[(0,s.modeLabel)(v.mode),": ",(0,s.participantsLabel)(v)]}),(0,t.jsx)(r.default,{summary:v,onChanged:()=>{g(e=>e+1),l()}}),(0,t.jsxs)("section",{className:"ledger-section","aria-label":(0,s.instructionHeading)(v.mode),children:[(0,t.jsx)("h3",{className:"ledger-section-title",children:(0,s.instructionHeading)(v.mode)}),(0,t.jsx)("p",{className:"ledger-text",children:v.instruction})]}),o.answer?(0,t.jsxs)("section",{className:"ledger-section","aria-label":"Answer",children:[(0,t.jsx)("h3",{className:"ledger-section-title",children:"Answer"}),(0,t.jsx)("p",{className:"ledger-text",children:o.answer})]}):null,j?(0,t.jsxs)("section",{className:"ledger-section","aria-label":"Handoff packet",children:[(0,t.jsx)("h3",{className:"ledger-section-title",children:"Handoff packet"}),(0,t.jsx)("p",{className:"ledger-text",children:j.objective}),[["Decisions",j.decisions],["Constraints",j.constraints],["Artifacts and references",j.artifacts],["Open questions",j.open_questions]].filter(([,e])=>e.length>0).map(([e,n])=>(0,t.jsxs)("div",{className:"ledger-packet-list",children:[(0,t.jsx)("h4",{className:"ledger-packet-title",children:e}),(0,t.jsx)("ul",{children:n.map((e,n)=>(0,t.jsx)("li",{children:e},n))})]},e))]}):null,(0,t.jsxs)("section",{className:"ledger-section","aria-label":"Linked threads",children:[(0,t.jsx)("h3",{className:"ledger-section-title",children:"Linked threads"}),(0,t.jsx)("ul",{className:"ledger-links",children:v.links.map(e=>{let n=(0,s.threadHref)(e,v.id);return(0,t.jsxs)("li",{children:[n?(0,t.jsx)(a.default,{className:"session-link ledger-thread-link",href:n,children:e.label}):(0,t.jsxs)("span",{children:[e.label,"agent_api"===e.kind?(0,t.jsx)("span",{className:"ledger-link-role",children:" (between Agents, not an owner thread)"}):null]}),(0,t.jsxs)("span",{className:"ledger-link-role",children:[" · ",(0,s.linkRoleLabel)(e.roles)]})]},e.id)})})]}),(0,t.jsxs)("section",{className:"ledger-section","aria-label":"Timeline",children:[(0,t.jsx)("h3",{className:"ledger-section-title",children:"Timeline"}),(0,t.jsx)("ol",{className:"ledger-timeline",children:y.map(e=>(0,t.jsxs)("li",{"data-event-type":e.type,children:[(0,t.jsx)("span",{className:"ledger-timeline-time",children:(0,s.formatExchangeTime)(e.at)}),(0,t.jsx)("span",{className:"ledger-timeline-text",children:(0,s.eventLabel)(e,v)})]},e.sequence))})]}),(0,t.jsxs)("p",{className:"ledger-foot",children:[(0,s.excerpt)(`${v.source.agent_name}’s session: ${v.source.session_title}`,200),v.destination?.session_title?` \xb7 ${v.destination.agent_name}’s new session: ${v.destination.session_title}`:""]})]})}e.s(["default",0,function(){let[e,r]=(0,n.useState)(null),[d,u]=(0,n.useState)(""),[h,f]=(0,n.useState)(0),[g,p]=(0,n.useState)(s.DEFAULT_LEDGER_FILTER),m=(0,n.useSyncExternalStore)(l,o,()=>null),x=(0,n.useId)(),b=(0,n.useId)(),v=(0,n.useId)(),y=(0,n.useRef)(null),j=(0,n.useRef)(null);(0,n.useEffect)(()=>{let e=j.current;if(j.current=m,m||!e)return;let t=document.querySelector(`.ledger-row[data-exchange-id="${CSS.escape(e)}"]`);(t??y.current)?.focus()},[m]),(0,n.useEffect)(()=>{let e=!1,t=()=>{fetch("/api/exchanges",{cache:"no-store"}).then(async t=>{let n=await t.json().catch(()=>null);if(!e){if(!t.ok||!Array.isArray(n?.exchanges))return void u("string"==typeof n?.error?.message?n.error.message:"Could not load exchanges.");u(""),r(n.exchanges)}}).catch(()=>{e||u("Could not load exchanges.")})};t();let n=setInterval(t,2e3);return()=>{e=!0,clearInterval(n)}},[h]);let _=e=>{window.history.pushState(null,"",e?`/exchanges?id=${encodeURIComponent(e)}`:"/exchanges"),window.dispatchEvent(new Event(i))},N=e?(0,s.ledgerRows)(e,g):[],w=(0,s.ledgerView)(e,e?"":d,N),k=e?(0,s.ledgerAgents)(e):[];return(0,t.jsxs)("div",{className:m?"ledger-page has-detail":"ledger-page",children:[(0,t.jsxs)("header",{className:"ledger-head",children:[(0,t.jsx)(a.default,{href:"/",className:"cfg-link ledger-back",children:"← Back to chat"}),(0,t.jsx)("h1",{className:"ledger-title",children:"Agent Exchanges"}),(0,t.jsx)("p",{className:"ledger-sub",children:"Every Ask and Continue between Agent sessions, newest activity first."})]}),(0,t.jsxs)("main",{className:"ledger-main",children:[(0,t.jsxs)("section",{className:"ledger-list-pane","aria-labelledby":v,children:[(0,t.jsx)("h2",{id:v,ref:y,tabIndex:-1,className:"ledger-pane-title",children:"Exchanges"}),(0,t.jsxs)("div",{className:"ledger-filters",children:[(0,t.jsx)("div",{className:"sessions-filter ledger-mode",role:"group","aria-label":"Mode",children:s.MODE_FILTER_OPTIONS.map(e=>(0,t.jsx)("button",{type:"button",className:"sessions-filter-btn","aria-pressed":g.mode===e.value,onClick:()=>p(t=>({...t,mode:e.value})),children:e.label},e.value))}),(0,t.jsxs)("div",{className:"ledger-selects",children:[(0,t.jsxs)("label",{className:"ledger-select-label",htmlFor:x,children:["Status",(0,t.jsx)("select",{id:x,className:"exchange-select",value:g.state,onChange:e=>p(t=>({...t,state:e.target.value})),children:s.STATE_FILTER_OPTIONS.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))})]}),(0,t.jsxs)("label",{className:"ledger-select-label",htmlFor:b,children:["Agent",(0,t.jsxs)("select",{id:b,className:"exchange-select",value:g.agentId,onChange:e=>p(t=>({...t,agentId:e.target.value})),children:[(0,t.jsx)("option",{value:"",children:"Any Agent"}),k.map(e=>(0,t.jsx)("option",{value:e.id,children:e.name},e.id))]})]})]}),(0,t.jsx)("p",{className:"manage-count ledger-count",role:"status",children:e?`${N.length} of ${e.length} shown`:""})]}),"loading"===w?(0,t.jsx)("p",{className:"ledger-state",role:"status","data-ledger-state":"loading",children:"Loading exchanges…"}):null,"error"===w?(0,t.jsxs)("div",{className:"ledger-state",role:"alert","data-ledger-state":"error",children:[(0,t.jsx)("p",{className:"delete-error",children:d}),(0,t.jsx)("button",{type:"button",className:"pin-word",onClick:()=>{u(""),f(e=>e+1)},children:"Retry"})]}):null,"empty"===w?(0,t.jsx)("p",{className:"ledger-state","data-ledger-state":"empty",children:"No exchanges yet. Open an Agent’s Sessions and choose Ask this session or Continue with… to start one."}):null,"filtered-out"===w?(0,t.jsxs)("div",{className:"ledger-state","data-ledger-state":"filtered-out",children:[(0,t.jsx)("p",{children:"No exchanges match these filters."}),(0,t.jsx)("button",{type:"button",className:"pin-word",onClick:()=>p(s.DEFAULT_LEDGER_FILTER),children:"Clear filters"})]}):null,"rows"===w?(0,t.jsx)("ol",{className:"ledger-list","aria-label":"Exchanges, newest activity first",children:N.map(e=>(0,t.jsx)("li",{className:"ledger-row-item",children:(0,t.jsxs)("button",{type:"button",className:`ledger-row is-${(0,s.stateTone)(e.state)}`,"data-exchange-id":e.id,"aria-current":m===e.id?"true":void 0,onClick:()=>_(e.id),children:[(0,t.jsxs)("span",{className:"ledger-row-line",children:[(0,t.jsx)("span",{className:"exchange-card-mode",children:(0,s.modeLabel)(e.mode)}),(0,t.jsx)("span",{className:"ledger-row-who",children:(0,s.participantsLabel)(e)}),(0,t.jsx)("span",{className:"ledger-row-state",children:(0,s.liveStateLabel)(e)})]}),(0,t.jsx)("span",{className:"ledger-row-session",children:e.source.session_title}),(0,t.jsxs)("span",{className:"ledger-row-meta",children:["From ",e.origin?.label??"an unknown thread"," · Started ",(0,s.formatExchangeTime)(e.created_at)," · Updated ",(0,s.formatExchangeTime)(e.updated_at)]})]})},e.id))}):null]}),(0,t.jsx)("section",{className:"ledger-detail-pane","aria-label":"Exchange detail",children:m?(0,t.jsx)(c,{id:m,onBack:()=>_(null),onChanged:()=>f(e=>e+1)},m):(0,t.jsx)("p",{className:"ledger-state ledger-placeholder",children:"Choose an exchange to see its timeline and linked threads."})})]})]})}])},22016,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var a={default:function(){return x},useLinkStatus:function(){return v}};for(var r in a)Object.defineProperty(n,r,{enumerable:!0,get:a[r]});let s=e.r(90809),i=e.r(43476),l=s._(e.r(71645)),o=e.r(95057),c=e.r(8372),d=e.r(18581),u=e.r(18967),h=e.r(5550),f=e.r(88540),g=e.r(91949),p=e.r(73668),m=e.r(9396);function x(t){var n;let a,r,s,[x,v]=(0,l.useOptimistic)(g.IDLE_LINK_STATUS),y=(0,l.useRef)(null),{href:j,as:_,children:N,prefetch:w=null,passHref:k,replace:C,shallow:E,scroll:S,onClick:$,onMouseEnter:T,onTouchStart:A,legacyBehavior:I=!1,onNavigate:L,transitionTypes:R,ref:O,unstable_dynamicOnHover:P,...U}=t;a=N,I&&("string"==typeof a||"number"==typeof a)&&(a=(0,i.jsx)("a",{children:a}));let D=l.default.useContext(c.AppRouterContext),F=!1!==w,M=!1===w?"none":!0===w?"full":"auto",q="none"!==M?"auto"===M?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,B="string"==typeof(n=_||j)?n:(0,o.formatUrl)(n);if(I){if(a?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});r=l.default.Children.only(a)}let H=I?r&&"object"==typeof r&&r.ref:O,K,Q=l.default.useCallback(e=>(null!==D&&(y.current=(0,g.mountLinkInstance)(e,B,D,q,F,v,K)),()=>{y.current&&((0,g.unmountLinkForCurrentNavigation)(y.current),y.current=null),(0,g.unmountPrefetchableInstance)(e)}),[F,B,D,q,v,K]),z={ref:(0,d.useMergedRef)(Q,H),onClick(t){I||"function"!=typeof $||$(t),I&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(t),!D||t.defaultPrevented||function(t,n,a,r,s,i,o,c="none"){if("u">typeof window){let d,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((d=t.currentTarget.getAttribute("target"))&&"_self"!==d||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,p.isLocalURL)(n)){r&&(t.preventDefault(),location.replace(n));return}if(t.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:h}=e.r(99781);l.default.startTransition(()=>{h(n,r?"replace":"push",!1===s?f.ScrollBehavior.NoScroll:f.ScrollBehavior.Default,a.current,o,c)})}}(t,B,y,C,S,L,R,M)},onMouseEnter(e){I||"function"!=typeof T||T(e),I&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),D&&F&&(0,g.onNavigationIntent)(e.currentTarget,!0===P)},onTouchStart:function(e){I||"function"!=typeof A||A(e),I&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),D&&F&&(0,g.onNavigationIntent)(e.currentTarget,!0===P)}};return(0,u.isAbsoluteUrl)(B)?z.href=B:I&&!k&&("a"!==r.type||"href"in r.props)||(z.href=(0,h.addBasePath)(B)),s=I?l.default.cloneElement(r,z):(0,i.jsx)("a",{...U,...z,children:a}),(0,i.jsx)(b.Provider,{value:x,children:s})}let b=(0,l.createContext)(g.IDLE_LINK_STATUS),v=()=>(0,l.useContext)(b);("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},18581,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"useMergedRef",{enumerable:!0,get:function(){return r}});let a=e.r(71645);function r(e,t){let n=(0,a.useRef)(null),r=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=n.current;e&&(n.current=null,e());let t=r.current;t&&(r.current=null,t())}else e&&(n.current=s(e,a)),t&&(r.current=s(t,a))},[e,t])}function s(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let n=e(t);return"function"==typeof n?n:()=>e(null)}}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},73668,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"isLocalURL",{enumerable:!0,get:function(){return s}});let a=e.r(18967),r=e.r(52817);function s(e){if(!(0,a.isAbsoluteUrl)(e))return!0;try{let t=(0,a.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,r.hasBasePath)(n.pathname)}catch(e){return!1}}},98183,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var a={assign:function(){return o},searchParamsToUrlQuery:function(){return s},urlQueryToSearchParams:function(){return l}};for(var r in a)Object.defineProperty(n,r,{enumerable:!0,get:a[r]});function s(e){let t={};for(let[n,a]of e.entries()){let e=t[n];void 0===e?t[n]=a:Array.isArray(e)?e.push(a):t[n]=[e,a]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function l(e){let t=new URLSearchParams;for(let[n,a]of Object.entries(e))if(Array.isArray(a))for(let e of a)t.append(n,i(e));else t.set(n,i(a));return t}function o(e,...t){for(let n of t){for(let t of n.keys())e.delete(t);for(let[t,a]of n.entries())e.append(t,a)}return e}},95057,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var a={formatUrl:function(){return l},formatWithValidation:function(){return c},urlObjectKeys:function(){return o}};for(var r in a)Object.defineProperty(n,r,{enumerable:!0,get:a[r]});let s=e.r(90809)._(e.r(98183)),i=/https?|ftp|gopher|file/;function l(e){let{auth:t,hostname:n}=e,a=e.protocol||"",r=e.pathname||"",l=e.hash||"",o=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:n&&(c=t+(~n.indexOf(":")?`[${n}]`:n),e.port&&(c+=":"+e.port)),o&&"object"==typeof o&&(o=String(s.urlQueryToSearchParams(o)));let d=e.search||o&&`?${o}`||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||i.test(a))&&!1!==c?(c="//"+(c||""),r&&"/"!==r[0]&&(r="/"+r)):c||(c=""),l&&"#"!==l[0]&&(l="#"+l),d&&"?"!==d[0]&&(d="?"+d),r=r.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${a}${c}${r}${d}${l}`}let o=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return l(e)}},18967,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var a={DecodeError:function(){return x},MiddlewareNotFoundError:function(){return j},MissingStaticPage:function(){return y},NormalizeError:function(){return b},PageNotFoundError:function(){return v},SP:function(){return p},ST:function(){return m},WEB_VITALS:function(){return s},execOnce:function(){return i},getDisplayName:function(){return u},getLocationOrigin:function(){return c},getURL:function(){return d},isAbsoluteUrl:function(){return o},isResSent:function(){return h},loadGetInitialProps:function(){return g},normalizeRepeatedSlashes:function(){return f},stringifyError:function(){return _}};for(var r in a)Object.defineProperty(n,r,{enumerable:!0,get:a[r]});let s=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,n=!1;return(...a)=>(n||(n=!0,t=e(...a)),t)}let l=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,o=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&l.test(e)};function c(){let{protocol:e,hostname:t,port:n}=window.location;return`${e}//${t}${n?":"+n:""}`}function d(){let{href:e}=window.location,t=c();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function h(e){return e.finished||e.headersSent}function f(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function g(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await g(t.Component,t.ctx)}:{};let a=await e.getInitialProps(t);if(n&&h(n))return a;if(!a)throw Object.defineProperty(Error(`"${u(e)}.getInitialProps()" should resolve to an object. But found "${a}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return a}let p="u">typeof performance,m=p&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class x extends Error{}class b extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class y extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class j extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function _(e){return JSON.stringify({message:e.message,stack:e.stack})}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,10331,74904,4335,e=>{"use strict";var t=e.i(43476);let r=["hermes","cursor","claude","codex","muse"],n={hermes:"Hermes",cursor:"Cursor",claude:"Claude",codex:"Codex",muse:"Muse Code"},a="hermes";r.join("|");let s=r.map(e=>({value:e,label:n[e]})),i="/settings",o="Select an Agent Deck…",l="Runs use the configured Agent Deck server. Remote execution is unconfirmed — see Settings for the configured server.",c="Runs use the server above. Remote execution is unconfirmed.",u="Configure the Agent Deck server in Settings",d="Saved Agent Deck not on this server — saving keeps it unless you pick another.",f={loading:"Loading decks…",empty:"No decks on this server — add one there, then retry.",malformed:"The deck list came back unreadable. Retry — or fix the server, then retry.",unreachable:"Can't reach the Agent Deck server — fix it in Settings, then retry.",unconfigured:"No Agent Deck server set — add it in Settings."};function h(e=null){return{status:"loading",decks:[],cachedDecks:e,serverUrl:"",checkedAt:0,error:""}}function g(e){return String(e).padStart(2,"0")}function p(e){let t=new Date(e);return`${g(t.getHours())}:${g(t.getMinutes())}:${g(t.getSeconds())}`}function m(e){switch(e.status){case"loading":return"Status: ○ Checking the Agent Deck server…";case"connected":return`Status: ● Connected \xb7 ${e.decks.length} ${1===e.decks.length?"deck":"decks"} \xb7 checked ${p(e.checkedAt)}`;case"empty":return"Status: ○ Connected — no decks on this server.";case"malformed":return"Status: ○ The server returned decks this app can't read.";case"unreachable":return"Status: ○ Can't reach the Agent Deck server.";case"unconfigured":return"Status: ○ No Agent Deck server set."}}function y(e){return"connected"===e.status?null:f[e.status]}function k(e){return"empty"===e.status||"malformed"===e.status||"unreachable"===e.status}async function v(e,t,r=Date.now){let n,a;try{n=await e("/api/agent-deck/decks",{cache:"no-store"})}catch(e){return{status:"unreachable",decks:[],cachedDecks:t.cachedDecks,serverUrl:t.serverUrl,checkedAt:r(),error:e instanceof Error?e.message:String(e)}}try{a=await n.json()}catch{a=void 0}return function(e,t,r){let n="object"==typeof e.body&&null!==e.body?e.body:{},a="string"==typeof n.server_url?n.server_url:t.serverUrl,s={cachedDecks:t.cachedDecks,serverUrl:a,checkedAt:r};if("string"==typeof n.server_url&&!n.server_url.trim())return{...s,status:"unconfigured",decks:[],error:""};if(e.ok){let t=function(e){if("object"!=typeof e||null===e)return null;let t=e.decks;if(!Array.isArray(t))return null;let r=[];for(let e of t){if("object"!=typeof e||null===e)return null;let t=e.id,n=e.name;if("string"!=typeof t||!t.trim()||"string"!=typeof n||!n.trim())return null;r.push({id:t,name:n})}return r}(e.body);return t?{...s,cachedDecks:t,status:t.length>0?"connected":"empty",decks:t,error:""}:{...s,status:"malformed",decks:[],error:"Unexpected deck list shape."}}let i="string"==typeof n.error?n.error:`HTTP ${e.status}`,o="invalid-payload"===n.code||/unexpected deck payload/i.test(i);return{...s,status:o?"malformed":"unreachable",decks:[],error:i}}({ok:n.ok,status:n.status,body:a},t,r())}function b(e){return e?"connected"===e.status||"empty"===e.status?e.decks.map(e=>e.id):"unconfigured"===e.status?null:e.cachedDecks?e.cachedDecks.map(e=>e.id):null:null}function x(e,t){let r=String(e??"").trim(),n=t?t.decks.length>0?t.decks:t.cachedDecks??[]:[];return n.find(e=>e.id===r)?.name??r}function w(e){var t;return t=(e.agent??"").trim()||a,r.includes(String(t))?n[t]:String(t??"")}function $(e){return function(e){let t=e.needs_deck_selection;if(!0===t||1===t)return!0;if("string"==typeof t){let e=t.trim().toLowerCase();return"1"===e||"true"===e}return!1}(e)||!(e.deck_id??"").trim()}function S(e,t){if($(e))return!1;let r=b(t);return!!r&&!r.includes((e.deck_id??"").trim())}function D(e){return`Agent: ${w(e)} \xb7 Agent Deck: `}function j(e,t){return $(e)?`${D(e)}not selected`:D(e)+x(e.deck_id??"",t)}function _(e,t){let r,n=(r=j(e,t),$(e)?`${r} — select in Config`:S(e,t)?r+" (deck unavailable — see Config)":r);if($(e))return{prefix:n,deck:"",suffix:""};let a=D(e),s=x(e.deck_id??"",t);return{prefix:a,deck:s,suffix:n.slice(a.length+s.length)}}function A(e){return`~/.botmancers/${e}`}function N(e){let t=(e.working_directory??"").trim();return!t||e.id&&t===A(e.id)?null:t}let C=[{prefix:"[Deck handoff]",kind:"handoff",label:"Agent Deck launch"},{prefix:"[Deck run]",kind:"run",label:"Agent Deck run"},{prefix:"[Deck review]",kind:"review",label:"Agent Deck review"},{prefix:"[Deck resume]",kind:"resume",label:"Agent Deck resume"},{prefix:"[Deck result]",kind:"result",label:"Agent Deck result"},{prefix:"[Deck failed]",kind:"failed",label:"Agent Deck failed"},{prefix:"[Deck needs selection]",kind:"reselection",label:"Agent Deck needs a deck"},{prefix:"[Deck needs reselection]",kind:"reselection",label:"Agent Deck needs a deck"}];e.s(["AGENT_OPTIONS",0,s,"DECK_PLACEHOLDER",0,o,"DEFAULT_RUNTIME_FORM",0,{agent:a,deckId:"",workingDirectory:""},"NEW_BOT_WORKDIR_HINT",0,"Default: ~/.botmancers/{agentID} — {agentID} is this agent's ID, assigned at creation.","NON_LOCAL_NOTE",0,l,"SAVED_DECK_MISSING_NOTE",0,d,"SELECT_DECK_ERROR",0,"Select an Agent Deck for this agent.","SETTINGS_ENDPOINT",0,"/api/agent-deck/settings","SETTINGS_LINK_COPY",0,u,"SETTINGS_NON_LOCAL_NOTE",0,c,"SETTINGS_PATH",0,i,"botAgentLabel",0,w,"configRuntimePatchBody",0,function(e,t){let r=t.workingDirectory.trim();return{id:e,agent:t.agent,deck_id:t.deckId.trim(),working_directory:r&&r!==A(e)?r:""}},"configRuntimeView",0,function(e,t){let r,n=[],a=j(e,t);if($(e)){let t=(e.deck_name??"").trim();n.push(`No Agent Deck selected${t?` (was "${t}")`:""}. Pick a deck from the configured server before this agent can run.`)}else S(e,t)?(a+=" (deck unavailable)",n.push("This deck isn't on the configured server right now. Pick another deck, or fix the server in Settings.")):t&&"unconfigured"===t.status?n.push("No Agent Deck server set — add it in Settings."):t&&("unreachable"===t.status||"malformed"===t.status)&&!b(t)&&n.push("Can't reach the Agent Deck server, so this deck couldn't be checked — fix it in Settings, then retry.");return t&&t.serverUrl&&!function(e){let t;try{t=new URL("string"==typeof e?e.trim():"")}catch{return!1}let r=t.hostname.trim().toLowerCase().replace(/^\[|\]$/g,"");return"localhost"===r||"::1"===r||"::ffff:127.0.0.1"===r||/^127\.\d+\.\d+\.\d+$/.test(r)}(t.serverUrl)&&n.push("The workspace Agent Deck server isn't local. Remote runs are unconfirmed, so this agent's runs stop with an error until Settings points at a local server."),{summary:a,workingDirectory:(r=N(e))?`Working directory: ${r} (custom)`:`Working directory: ${A(e.id??"{agentID}")}`,notices:n,action:"Edit"}},"configWorkdirHint",0,function(e){return`Default: ${A(e)} — leave blank to use it.`},"deckEventDisplay",0,function(e){let t=String(e??"").trimStart(),r=C.find(e=>t.startsWith(e.prefix));return r?{label:r.label,detail:t.slice(r.prefix.length).trim()}:null},"deckLabel",0,x,"deckSlotCopy",0,y,"deckStateShowsRetry",0,k,"defaultWorkdirFor",0,A,"fetchDeckList",0,v,"formatClock",0,p,"initialDeckListState",0,h,"isMigratedPending",0,$,"newBotSubmitBody",0,function(e){let t={name:String(e.name??"").trim(),agent:e.agent,deck_id:e.deckId.trim()},r=e.workingDirectory.trim();return r&&(t.working_directory=r),t},"rosterRuntimeParts",0,_,"runtimeFormFromBot",0,function(e){let t=(e.agent??"").trim();return{agent:r.includes(t)?t:a,deckId:$(e)?"":(e.deck_id??"").trim(),workingDirectory:N(e)??""}},"runtimeFormView",0,function(e,t,r){let n=r?.includeName===!1?["agent","deck","workdir"]:["name","agent","deck","workdir"];return"loading"===t.status?{fields:n,submitDisabled:!0,blocker:""}:"connected"===t.status?{fields:n,submitDisabled:!1,blocker:""}:{fields:n,submitDisabled:!0,blocker:f[t.status]}},"settingsStatusLine",0,m],74904);let E={modal:{label:"",legend:"field-legend",picks:"runtime-picks",pick:"runtime-pick",note:"runtime-note",control:"deck-control",hint:"runtime-hint",link:"runtime-link",retry:"runtime-retry"},config:{label:"block text-sm cfg-muted mt-3 mb-1",legend:"block text-sm cfg-muted mt-3 mb-1 p-0",picks:"flex flex-wrap gap-x-4 gap-y-1 text-sm cfg-muted",pick:"text-sm cfg-muted",note:"text-sm cfg-muted mt-1",control:"cfg-input text-sm",hint:"mt-1 text-xs cfg-faint",link:"cfg-link text-sm",retry:"cfg-link text-sm"}};function T({value:e,onChange:r,name:n,variant:a,legendId:i}){let o=E[a];return(0,t.jsxs)("fieldset",{className:"agent-fieldset","data-field":"agent",children:[(0,t.jsx)("legend",{id:i,className:o.legend,children:"Agent"}),(0,t.jsx)("div",{className:o.picks,role:"radiogroup","aria-labelledby":i,"aria-required":"true",children:s.map(a=>(0,t.jsxs)("label",{className:o.pick,children:[(0,t.jsx)("input",{type:"radio",name:n,value:a.value,checked:e===a.value,onChange:()=>r(a.value)})," "+a.label]},a.value))})]})}function R({id:e,labelId:r,state:n,value:a,onChange:s,onRetry:i,savedDeckId:l,variant:c}){let u=E[c],f=y(n),h=(l??"").trim();if(null===f){let r=!!h&&!n.decks.some(e=>e.id===h);return(0,t.jsxs)("div",{"data-field":"deck","data-state":n.status,children:[(0,t.jsxs)("select",{id:e,className:u.control,"aria-required":"true","aria-describedby":r&&a===h?`${e}-saved-note`:void 0,value:a,title:a||void 0,onChange:e=>s(e.target.value),children:[(0,t.jsx)("option",{value:"",disabled:!0,children:o}),r?(0,t.jsxs)("option",{value:h,title:h,children:[h," (saved)"]}):null,n.decks.map(e=>(0,t.jsx)("option",{value:e.id,title:e.id,children:e.name},e.id))]}),r&&a===h?(0,t.jsx)("p",{id:`${e}-saved-note`,className:u.note,children:d}):null]})}return(0,t.jsxs)("div",{"data-field":"deck","data-state":n.status,role:"group","aria-labelledby":r,children:[h?(0,t.jsxs)("p",{className:u.note,children:["Saved Agent Deck: ",(0,t.jsx)("span",{title:h,children:h})]}):null,(0,t.jsxs)("p",{id:e,className:`${u.note} deck-slot`,role:"status",children:[(0,t.jsx)("span",{id:`${e}-copy`,children:f}),k(n)?(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsx)("button",{type:"button",className:u.retry,onClick:i,children:"Retry"})]}):null]})]})}function P({idPrefix:e,variant:r,deckId:n,onDeckId:a,deckState:s,onRetry:o,savedDeckId:c,workingDirectory:d,onWorkingDirectory:f,workdirPlaceholder:h,workdirHint:g}){let p=E[r],m=null===y(s);return(0,t.jsxs)("div",{className:"agent-deck-fields",children:[(0,t.jsx)("label",{className:p.label,id:`${e}-deck-label`,htmlFor:m?`${e}-deck`:void 0,children:"Agent Deck"}),(0,t.jsx)(R,{id:`${e}-deck`,labelId:`${e}-deck-label`,state:s,value:n,onChange:a,onRetry:o,savedDeckId:c,variant:r}),(0,t.jsx)("a",{href:i,className:p.link,children:u}),(0,t.jsx)("label",{className:p.label,htmlFor:`${e}-workdir`,children:"Working directory (optional)"}),(0,t.jsx)("input",{id:`${e}-workdir`,type:"text",className:"config"===r?p.control:void 0,"data-field":"workdir","aria-describedby":`${e}-workdir-hint ${e}-workdir-note`,value:d,placeholder:h,onChange:e=>f(e.target.value)}),(0,t.jsx)("p",{id:`${e}-workdir-hint`,className:p.hint,children:g}),(0,t.jsx)("p",{id:`${e}-workdir-note`,className:p.hint,children:l})]})}e.s(["AgentSection",0,function({idPrefix:e,variant:r,form:n,onChange:a,deckState:s,onRetry:i,savedDeckId:o,workdirPlaceholder:l,workdirHint:c}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(T,{value:n.agent,onChange:e=>a({agent:e}),name:`${e}-agent`,variant:r,legendId:`${e}-agent-label`}),(0,t.jsx)(P,{idPrefix:e,variant:r,deckId:n.deckId,onDeckId:e=>a({deckId:e}),deckState:s,onRetry:i,savedDeckId:o,workingDirectory:n.workingDirectory,onWorkingDirectory:e=>a({workingDirectory:e}),workdirPlaceholder:l,workdirHint:c})]})},"RosterRuntimeLine",0,function({bot:e,state:r}){let{prefix:n,deck:a,suffix:s}=_(e,r);return(0,t.jsxs)("div",{className:"bot-runtime",title:n+a+s,children:[n,a?(0,t.jsx)("span",{className:"bot-runtime-deck",children:a}):null,s]})},"SettingsStatus",0,function({state:e,onRetry:r}){return(0,t.jsxs)("div",{"data-field":"status","data-state":e.status,children:[(0,t.jsx)("p",{className:"connected"===e.status?"text-sm cfg-ok":"text-sm cfg-muted",role:"status",children:m(e)}),k(e)?(0,t.jsx)("button",{type:"button",onClick:r,className:"mt-2 cfg-btn-ghost text-sm w-full sm:w-auto",children:"Retry"}):null,"connected"===e.status?(0,t.jsx)("p",{className:"mt-1 text-xs cfg-faint break-words",children:e.decks.map(e=>e.name).join(" · ")}):null,(0,t.jsx)("p",{className:"mt-2 text-xs cfg-faint",children:c})]})}],10331);var L=e.i(71645);let O="botmancers.agentDeck.lastDecks";function I(e){return"object"==typeof e&&null!==e&&"string"==typeof e.id&&"string"==typeof e.name}let M=(e,t)=>{let r=new AbortController,n=setTimeout(()=>r.abort(),1e4);return fetch(e,{cache:"no-store",signal:r.signal,...t}).finally(()=>clearTimeout(n))};e.s(["useDeckList",0,function(){let[e,t]=(0,L.useState)(()=>h()),[r,n]=(0,L.useState)(0),a=(0,L.useRef)(null);return(0,L.useEffect)(()=>{let e=!1;return v(M,h(a.current??function(){try{let e=window.localStorage.getItem(O);if(!e)return null;let t=JSON.parse(e);return Array.isArray(t)&&t.every(I)?t:null}catch{return null}}())).then(r=>{if(!e){a.current=r.cachedDecks;var n=r.cachedDecks;if(n)try{window.localStorage.setItem(O,JSON.stringify(n))}catch{}t(r)}}),()=>{e=!0}},[r]),{state:e,retry:(0,L.useCallback)(()=>{t(e=>({...e,status:"loading",decks:[],error:""})),n(e=>e+1)},[])}}],4335)},87303,37947,68541,e=>{"use strict";var t=e.i(43476),r=e.i(71645);let n=[{id:"purple",label:"Purple",hex:"#7C3AED"},{id:"blue",label:"Blue",hex:"#2563EB"},{id:"teal",label:"Teal",hex:"#0D9488"},{id:"green",label:"Green",hex:"#16A34A"},{id:"amber",label:"Amber",hex:"#B45309"},{id:"orange",label:"Orange",hex:"#EA580C"},{id:"pink",label:"Pink",hex:"#DB2777"},{id:"slate",label:"Slate",hex:"#64748B"}],a=[{id:"dots",label:"Round dots"},{id:"sleepy",label:"Sleepy"},{id:"happy",label:"Happy arcs"},{id:"wide",label:"Wide ovals"}],s=[{id:"folded",label:"Folded arms"},{id:"reaching",label:"Reaching right"},{id:"waving",label:"Waving"}],i=[{id:"none",label:"None"},{id:"crown",label:"Crown"},{id:"glasses",label:"Glasses"},{id:"headset",label:"Headset"},{id:"hat",label:"Hat"},{id:"bow",label:"Bow"}],o={color:"purple",eyes:"dots",hands:"folded",accessory:"none"},l={...o,accessory:"crown"};function c(e,t){return"string"==typeof t&&e.some(e=>e.id===t)}function u(e){let t=c(n,e.avatar_color)?e.avatar_color:o.color,r=c(a,e.avatar_eyes)?e.avatar_eyes:o.eyes;return{color:t,eyes:r,hands:c(s,e.avatar_hands)?e.avatar_hands:o.hands,accessory:c(i,e.avatar_accessory)?e.avatar_accessory:"chief-of-staff"===String(e.name??"").trim().toLowerCase()?l.accessory:o.accessory}}let d=[{x:70,y:70.5,w:38,h:6},{x:70,y:82,w:38,h:6}];function f(e){return d.map(t=>`<rect x="${t.x}" y="${t.y}" width="${t.w}" height="${t.h}" rx="${t.h/2}" ${e}/>`).join("")}function h(e,t="static"){var r,a;let s,i,o=n.find(t=>t.id===e.color)?.hex??n[0].hex,l=String(t).replace(/[^A-Za-z0-9_-]/g,"")||"static",c=`avatar-knockout-${l}`,u=`fill="none" stroke="${o}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`,d=(r=e.hands,a=e.accessory,s=[],"reaching"===r&&s.push({x1:87.6,y1:69,x2:90.4,y2:86.5,w:8}),"waving"===r&&s.push({x1:35,y1:59,x2:28,y2:72,w:10}),"crown"===a&&s.push({x1:44,y1:30,x2:76,y2:30,w:9}),"hat"===a&&s.push({x1:38,y1:34,x2:82,y2:34,w:9}),"bow"===a&&s.push({x1:60,y1:28.5,x2:84,y2:28,w:10}),"headset"===a&&(s.push({x1:42,y1:24.5,x2:78,y2:24.5,w:10}),s.push({x1:33,y1:55,x2:37,y2:64,w:8}),s.push({x1:83,y1:55,x2:87,y2:64,w:8})),"glasses"===a&&(s.push({x1:29,y1:56,x2:34,y2:62,w:8}),s.push({x1:86,y1:62,x2:91,y2:56,w:8})),s).map(e=>`<line x1="${e.x1}" y1="${e.y1}" x2="${e.x2}" y2="${e.y2}" stroke="#000000" stroke-width="${e.w}" stroke-linecap="round"/>`).join(""),g=`avatar-arms-${l}`,p="reaching"===e.hands,m=p?`<mask id="${g}"><rect x="0" y="0" width="120" height="120" fill="#ffffff"/>${f('fill="#000000" stroke="#000000" stroke-width="7"')}</mask>`:"",y=function(e,t){let r=`fill="none" stroke="${t}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`;switch(e){case"sleepy":return`<g data-avatar-layer="eyes" data-avatar-eyes="sleepy"><path d="M42 61 Q48 64 54 61" ${r}/><path d="M66 61 Q72 64 78 61" ${r}/></g>`;case"happy":return`<g data-avatar-layer="eyes" data-avatar-eyes="happy"><path d="M42 63 Q48 54 54 63" ${r}/><path d="M66 63 Q72 54 78 63" ${r}/></g>`;case"wide":return`<g data-avatar-layer="eyes" data-avatar-eyes="wide"><ellipse cx="48" cy="60" rx="5.5" ry="8" ${r}/><ellipse cx="72" cy="60" rx="5.5" ry="8" ${r}/></g>`;default:return`<g data-avatar-layer="eyes" data-avatar-eyes="dots"><circle cx="48" cy="60" r="3.5" ${r}/><circle cx="72" cy="60" r="3.5" ${r}/></g>`}}(e.eyes,o),k=function(e,t){let r=`fill="none" stroke="${t}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`;switch(e){case"crown":return`<g data-avatar-layer="accessory" data-avatar-accessory="crown"><path d="M44 31 L46.5 14 L54 24 L60 10 L66 24 L73.5 14 L76 31 Z" ${r}/></g>`;case"glasses":return`<g data-avatar-layer="accessory" data-avatar-accessory="glasses"><circle cx="48" cy="60" r="9" ${r}/><circle cx="72" cy="60" r="9" ${r}/><path d="M57 60 Q60 57 63 60" ${r}/><path d="M39 59 L32 57" ${r}/><path d="M81 59 L88 57" ${r}/></g>`;case"headset":return`<g data-avatar-layer="accessory" data-avatar-accessory="headset"><path d="M36 62 Q34 24 60 24 Q86 24 84 62" ${r}/><rect x="79" y="54" width="10" height="17" rx="5" ${r}/><path d="M84 71 Q80 84 66 84" ${r}/></g>`;case"hat":return`<g data-avatar-layer="accessory" data-avatar-accessory="hat"><path d="M38 34 Q60 40 82 34" ${r}/><path d="M46 34 Q48 14 60 14 Q72 14 74 34" ${r}/></g>`;case"bow":return`<g data-avatar-layer="accessory" data-avatar-accessory="bow"><circle cx="79" cy="29" r="3.5" ${r}/><path d="M76 27 L62 18 Q60 26 66 32 Z" ${r}/><path d="M82 27 L95 19 Q97 27 91 32 Z" ${r}/></g>`;default:return'<g data-avatar-layer="accessory" data-avatar-accessory="none"></g>'}}(e.accessory,o);return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120" role="img" data-avatar-color="${e.color}" data-avatar-eyes="${e.eyes}" data-avatar-hands="${e.hands}" data-avatar-accessory="${e.accessory}"><mask id="${c}"><rect x="0" y="0" width="120" height="120" fill="#ffffff"/>${d}</mask>`+m+`<g data-avatar-layer="body" mask="url(#${c})">`+`<path d="M60 28 C75 28 84 39 85.5 56 L91 90 C92.5 98 87 102 79 102 L41 102 C33 102 27.5 98 29 90 L34.5 56 C36 39 45 28 60 28 Z" ${u}/>`+`<path d="M54 71 Q60 75.5 66 71" ${u}/>`+`<path data-avatar-brows="straight" d="${i="wide"===e.eyes?45:46,`M42 ${i} H54 M66 ${i} H78`}" fill="none" stroke="${o}" stroke-width="4.8" stroke-linecap="round"/>`+"</g>"+(p?`<g mask="url(#${g})">${y}</g>`:y)+function(e,t){let r=`fill="none" stroke="${t}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`;switch(e){case"reaching":return'<g data-avatar-layer="hands" data-avatar-hands="reaching">'+f(r)+"</g>";case"waving":return`<g data-avatar-layer="hands" data-avatar-hands="waving"><path d="M32 68 Q24 60 22 48" ${r}/><circle cx="21" cy="41" r="5" ${r}/><path d="M11 36 Q9 46 12 54" ${r}/></g>`;default:return`<g data-avatar-layer="hands" data-avatar-hands="folded"><rect x="44" y="79" width="32" height="9" rx="4.5" ${r}/><rect x="46" y="90" width="28" height="9" rx="4.5" ${r}/></g>`}}(e.hands,o)+(p?`<g mask="url(#${g})">${k}</g>`:k)+"</svg>"}e.s(["AVATAR_ACCESSORIES",0,i,"AVATAR_COLORS",0,n,"AVATAR_EYES",0,a,"AVATAR_HANDS",0,s,"renderAvatarSvg",0,h,"resolveAvatar",0,u],37947),e.s(["default",0,function({bot:e,config:n,size:a=28,className:s,title:i}){let o=(0,r.useId)().replace(/[^A-Za-z0-9_-]/g,"")||"avatar",l=h(n??e?.avatar_config??u(e??{}),o).replace("<svg ",`<svg width="${a}" height="${a}" `);return(0,t.jsx)("span",{className:s??"bot-avatar",style:{display:"inline-flex",width:a,height:a,flex:"none"},title:i,"aria-label":i??"Agent avatar",role:"img",dangerouslySetInnerHTML:{__html:l}})}],87303);let g="imported",p=/^[A-Za-z0-9_-]{1,128}$/;function m(e){let t=new URLSearchParams(e).get(g);if(null===t)return null;let r=t.trim();return p.test(r)?r:""}function y(e){return`/bots/${encodeURIComponent(e)}/config`}async function k(e,t,r){let n=m(e);if(null===n)return{kind:"none"};if(!n)return{kind:"missing"};if(n===t)return{kind:"stay"};try{return await r(n)?{kind:"open",path:y(n)}:{kind:"missing"}}catch{return{kind:"missing"}}}e.s(["HANDOFF_STATUS_PATH",0,"/api/marketplace-handoff/status","IMPORT_RETURN_QUERY",0,g,"handoffStartPath",0,function(e,t){return`/api/marketplace-handoff?return=${encodeURIComponent(e+t)}`},"importedBotId",0,m,"importedConfigPath",0,y,"marketImportView",0,function(e){switch(e){case"checking":return{busy:!0,tone:"muted",message:"Checking Grok Marketplace…"};case"redirecting":return{busy:!0,tone:"muted",message:"Opening Grok Marketplace…"};case"unavailable":return{busy:!1,tone:"error",message:"Grok Marketplace isn't configured. Set CLONE_MARKET_URL on the Botmancers server."};case"failed":return{busy:!1,tone:"error",message:"Couldn't reach Botmancers to start the import. Try again."};case"missing":return{busy:!1,tone:"error",message:"Imported agent not found. The import may not have completed."};default:return{busy:!1,tone:"muted",message:"Imports a new agent and opens its Config. This agent is not changed."}}},"resolveImportReturn",0,k],68541)},15983,10718,e=>{"use strict";var t=e.i(43476),r=e.i(71645);let n="Permanently removes each agent with its direct conversation, messages, queue rows, approvals, launch snapshots, memories, one-shots, routines, and pending questions. There is no undo.",a="Skill files, working directories, Hermes profiles, and imported source files stay on disk.";function s(e){return"chief"===e?"Chief of Staff cannot be deleted.":"Working now — stop it or let it finish before deleting."}function i(e){return 1===e?"Delete agent":`Delete ${e} agents`}e.s(["DELETE_KEEPS_COPY",0,a,"DELETE_REMOVES_COPY",0,n,"blockedReasonCopy",0,s,"deleteConfirmLabel",0,i,"deletedStatusLine",0,function(e){return 1===e?"Deleted 1 agent.":`Deleted ${e} agents.`}],10718),e.s(["default",0,function({ids:e,onCancel:o,onDeleted:l}){let c=(0,r.useId)(),[u,d]=(0,r.useState)(null),[f,h]=(0,r.useState)(""),[g,p]=(0,r.useState)(""),[m,y]=(0,r.useState)(!1),k=(0,r.useRef)(null),v=(0,r.useRef)(null),b=e.join("\n");(0,r.useEffect)(()=>{let e=!1;return fetch("/api/bots/delete-preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:b.split("\n")})}).then(async t=>{let r=await t.json().catch(()=>null);if(!e){if(!t.ok)return void h("string"==typeof r?.error?r.error:"Could not load the deletion preview.");d(r)}}).catch(()=>{e||h("Could not load the deletion preview.")}),()=>{e=!0}},[b]),(0,r.useEffect)(()=>{k.current?.focus()},[]),(0,r.useEffect)(()=>{let e=e=>{"Escape"===e.key&&(e.stopPropagation(),m||o())};return document.addEventListener("keydown",e,!0),()=>document.removeEventListener("keydown",e,!0)},[m,o]);let x=e.length,w=!u||u.blocked.length>0||u.missing.length>0,$=async()=>{if(!m&&!w){y(!0),p("");try{let t=await fetch("/api/bots",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:e})}),r=await t.json().catch(()=>null);if(!t.ok){p("string"==typeof r?.error&&r.error?r.error:`Delete failed (${t.status}).`),y(!1),requestAnimationFrame(()=>k.current?.focus());return}l(Array.isArray(r?.deleted)?r.deleted:[])}catch{p("Delete failed: the server did not respond."),y(!1),requestAnimationFrame(()=>k.current?.focus())}}};return(0,t.jsx)("div",{className:"modal-scrim delete-scrim",onKeyDown:e=>{if("Tab"!==e.key||!v.current)return;let t=Array.from(v.current.querySelectorAll("button:not(:disabled)"));if(0===t.length)return;let r=t[0],n=t[t.length-1];e.shiftKey&&document.activeElement===r?(e.preventDefault(),n.focus()):e.shiftKey||document.activeElement!==n||(e.preventDefault(),r.focus())},children:(0,t.jsxs)("div",{ref:v,className:"delete-card",role:"alertdialog","aria-modal":"true","aria-labelledby":c,"data-testid":"delete-agents-dialog",children:[(0,t.jsx)("h2",{id:c,className:"delete-title",children:1===x?"Delete this agent permanently?":`Delete ${x} agents permanently?`}),f?(0,t.jsx)("p",{className:"delete-error",role:"alert",children:f}):null,u||f?null:(0,t.jsx)("p",{className:"delete-copy",children:"Checking what will be removed…"}),u?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("ul",{className:"delete-names","aria-label":"Agents to delete",children:[u.agents.map(e=>(0,t.jsx)("li",{children:e.name},e.id)),u.missing.map(e=>(0,t.jsxs)("li",{children:["Not found: ",e]},e))]}),u.blocked.length>0?(0,t.jsxs)("div",{className:"delete-blocked",role:"alert",children:[(0,t.jsx)("p",{children:"Nothing can be deleted until these are deselected:"}),(0,t.jsx)("ul",{children:u.blocked.map(e=>(0,t.jsxs)("li",{children:[e.name," — ",s(e.reason)]},e.id))})]}):null,(0,t.jsx)("p",{className:"delete-copy",children:n}),(0,t.jsx)("p",{className:"delete-copy delete-keeps",children:a})]}):null,g?(0,t.jsx)("p",{className:"delete-error",role:"alert",children:g}):null,(0,t.jsxs)("div",{className:"form-actions delete-actions",children:[(0,t.jsx)("button",{ref:k,type:"button",className:"cancel-btn",onClick:o,disabled:m,children:"Cancel"}),(0,t.jsx)("button",{type:"button",className:"delete-btn",onClick:()=>{$()},disabled:m||w,children:m?"Deleting…":i(x)})]})]})})}],15983)},22016,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return y},useLinkStatus:function(){return v}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let s=e.r(90809),i=e.r(43476),o=s._(e.r(71645)),l=e.r(95057),c=e.r(8372),u=e.r(18581),d=e.r(18967),f=e.r(5550),h=e.r(88540),g=e.r(91949),p=e.r(73668),m=e.r(9396);function y(t){var r;let n,a,s,[y,v]=(0,o.useOptimistic)(g.IDLE_LINK_STATUS),b=(0,o.useRef)(null),{href:x,as:w,children:$,prefetch:S=null,passHref:D,replace:j,shallow:_,scroll:A,onClick:N,onMouseEnter:C,onTouchStart:E,legacyBehavior:T=!1,onNavigate:R,transitionTypes:P,ref:L,unstable_dynamicOnHover:O,...I}=t;n=$,T&&("string"==typeof n||"number"==typeof n)&&(n=(0,i.jsx)("a",{children:n}));let M=o.default.useContext(c.AppRouterContext),U=!1!==S,F=!1===S?"none":!0===S?"full":"auto",B="none"!==F?"auto"===F?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,Q="string"==typeof(r=w||x)?r:(0,l.formatUrl)(r);if(T){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});a=o.default.Children.only(n)}let K=T?a&&"object"==typeof a&&a.ref:L,H,W=o.default.useCallback(e=>(null!==M&&(b.current=(0,g.mountLinkInstance)(e,Q,M,B,U,v,H)),()=>{b.current&&((0,g.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,g.unmountPrefetchableInstance)(e)}),[U,Q,M,B,v,H]),G={ref:(0,u.useMergedRef)(W,K),onClick(t){T||"function"!=typeof N||N(t),T&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!M||t.defaultPrevented||function(t,r,n,a,s,i,l,c="none"){if("u">typeof window){let u,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,p.isLocalURL)(r)){a&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(99781);o.default.startTransition(()=>{f(r,a?"replace":"push",!1===s?h.ScrollBehavior.NoScroll:h.ScrollBehavior.Default,n.current,l,c)})}}(t,Q,b,j,A,R,P,F)},onMouseEnter(e){T||"function"!=typeof C||C(e),T&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),M&&U&&(0,g.onNavigationIntent)(e.currentTarget,!0===O)},onTouchStart:function(e){T||"function"!=typeof E||E(e),T&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),M&&U&&(0,g.onNavigationIntent)(e.currentTarget,!0===O)}};return(0,d.isAbsoluteUrl)(Q)?G.href=Q:T&&!D&&("a"!==a.type||"href"in a.props)||(G.href=(0,f.addBasePath)(Q)),s=T?o.default.cloneElement(a,G):(0,i.jsx)("a",{...I,...G,children:n}),(0,i.jsx)(k.Provider,{value:y,children:s})}let k=(0,o.createContext)(g.IDLE_LINK_STATUS),v=()=>(0,o.useContext)(k);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return a}});let n=e.r(71645);function a(e,t){let r=(0,n.useRef)(null),a=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(r.current=s(e,n)),t&&(a.current=s(t,n))},[e,t])}function s(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return s}});let n=e.r(18967),a=e.r(52817);function s(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,a.hasBasePath)(r.pathname)}catch(e){return!1}}},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return s},urlQueryToSearchParams:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});function s(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,i(e));else t.set(r,i(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95057,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return o},formatWithValidation:function(){return c},urlObjectKeys:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let s=e.r(90809)._(e.r(98183)),i=/https?|ftp|gopher|file/;function o(e){let{auth:t,hostname:r}=e,n=e.protocol||"",a=e.pathname||"",o=e.hash||"",l=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),l&&"object"==typeof l&&(l=String(s.urlQueryToSearchParams(l)));let u=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||i.test(n))&&!1!==c?(c="//"+(c||""),a&&"/"!==a[0]&&(a="/"+a)):c||(c=""),o&&"#"!==o[0]&&(o="#"+o),u&&"?"!==u[0]&&(u="?"+u),a=a.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${n}${c}${a}${u}${o}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return o(e)}},18967,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return x},MissingStaticPage:function(){return b},NormalizeError:function(){return k},PageNotFoundError:function(){return v},SP:function(){return p},ST:function(){return m},WEB_VITALS:function(){return s},execOnce:function(){return i},getDisplayName:function(){return d},getLocationOrigin:function(){return c},getURL:function(){return u},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return g},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return w}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let s=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&o.test(e)};function c(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function u(){let{href:e}=window.location,t=c();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function h(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function g(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await g(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let p="u">typeof performance,m=p&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class k extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class b extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class x extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function w(e){return JSON.stringify({message:e.message,stack:e.stack})}}]);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|