botmancers 0.5.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +55 -0
- package/README.md +9 -5
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +9 -0
- package/app/.next/build-manifest.json +3 -3
- package/app/.next/node_modules/@slack/socket-mode-77e8cba3b9ba4738/index.js +1 -0
- package/app/.next/node_modules/@slack/socket-mode-77e8cba3b9ba4738/package.json +1 -0
- package/app/.next/node_modules/@slack/web-api-d6dbe405b6902642/index.js +1 -0
- package/app/.next/node_modules/@slack/web-api-d6dbe405b6902642/package.json +1 -0
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/required-server-files.json +8 -3
- package/app/.next/routes-manifest.json +67 -0
- package/app/.next/server/app/_global-error/page.js +1 -1
- package/app/.next/server/app/_global-error/page.js.nft.json +1 -1
- 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 +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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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.js +5 -6
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/route.js +3 -3
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route.js +11 -0
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route.js.nft.json +1 -0
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/bots/[id]/sessions/route.js +5 -6
- package/app/.next/server/app/api/bots/[id]/sessions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/share-policy/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/bots/[id]/share-policy/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/bots/[id]/share-policy/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/bots/[id]/share-policy/route.js +11 -0
- package/app/.next/server/app/api/bots/[id]/share-policy/route.js.nft.json +1 -0
- package/app/.next/server/app/api/bots/[id]/share-policy/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/bots/[id]/skill/route.js +3 -3
- 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 +1 -1
- package/app/.next/server/app/api/bots/availability/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/delete-preview/route.js +3 -3
- 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 +3 -3
- package/app/.next/server/app/api/bots/import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/manage/route.js +3 -3
- 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 +3 -3
- package/app/.next/server/app/api/bots/name-migrations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/route.js +6 -6
- 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 +3 -3
- 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 +3 -3
- 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 +7 -7
- package/app/.next/server/app/api/conversations/[id]/stop/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/route.js +3 -3
- 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 +5 -5
- package/app/.next/server/app/api/exchanges/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/exchanges/route.js +5 -5
- package/app/.next/server/app/api/exchanges/route.js.nft.json +1 -1
- package/app/.next/server/app/api/files/[name]/route.js +1 -1
- package/app/.next/server/app/api/files/[name]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/groups/route.js +3 -3
- package/app/.next/server/app/api/groups/route.js.nft.json +1 -1
- package/app/.next/server/app/api/health/route.js +5 -2
- package/app/.next/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next/server/app/api/import-capabilities/route.js +1 -1
- package/app/.next/server/app/api/import-capabilities/route.js.nft.json +1 -1
- package/app/.next/server/app/api/marketplace-handoff/route.js +1 -1
- package/app/.next/server/app/api/marketplace-handoff/route.js.nft.json +1 -1
- package/app/.next/server/app/api/marketplace-handoff/status/route.js +1 -1
- package/app/.next/server/app/api/marketplace-handoff/status/route.js.nft.json +1 -1
- package/app/.next/server/app/api/mcp/route.js +3 -3
- package/app/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/app/.next/server/app/api/messages/[id]/between/route.js +3 -3
- package/app/.next/server/app/api/messages/[id]/between/route.js.nft.json +1 -1
- package/app/.next/server/app/api/runtime-connections/route.js +3 -3
- package/app/.next/server/app/api/runtime-connections/route.js.nft.json +1 -1
- package/app/.next/server/app/api/service-grants/route.js +3 -3
- package/app/.next/server/app/api/service-grants/route.js.nft.json +1 -1
- package/app/.next/server/app/api/shares/[shareRef]/revoke/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/shares/[shareRef]/revoke/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/shares/[shareRef]/revoke/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/shares/[shareRef]/revoke/route.js +11 -0
- package/app/.next/server/app/api/shares/[shareRef]/revoke/route.js.nft.json +1 -0
- package/app/.next/server/app/api/shares/[shareRef]/revoke/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/shares/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/shares/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/shares/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/shares/route.js +11 -0
- package/app/.next/server/app/api/shares/route.js.nft.json +1 -0
- package/app/.next/server/app/api/shares/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/v0/agents/[agentId]/conversations/[conversationId]/route.js +5 -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 +5 -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.js +5 -6
- package/app/.next/server/app/api/v0/agents/[agentId]/pins/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/route.js +5 -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 +5 -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 +5 -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 +5 -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 +5 -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 +5 -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 +5 -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 +5 -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 +6 -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.js +5 -6
- package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route.js +5 -6
- package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/pins/[pinRef]/route.js +5 -6
- package/app/.next/server/app/api/v0/pins/[pinRef]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/requests/[id]/route.js +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 +5 -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.js +5 -6
- package/app/.next/server/app/api/v0/sessions/[ref]/pins/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/sessions/[ref]/shares/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/v0/sessions/[ref]/shares/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/v0/sessions/[ref]/shares/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/v0/sessions/[ref]/shares/route.js +11 -0
- package/app/.next/server/app/api/v0/sessions/[ref]/shares/route.js.nft.json +1 -0
- package/app/.next/server/app/api/v0/sessions/[ref]/shares/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route.js +11 -0
- package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route.js.nft.json +1 -0
- package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/v0/shares/[shareRef]/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/v0/shares/[shareRef]/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/v0/shares/[shareRef]/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/v0/shares/[shareRef]/route.js +11 -0
- package/app/.next/server/app/api/v0/shares/[shareRef]/route.js.nft.json +1 -0
- package/app/.next/server/app/api/v0/shares/[shareRef]/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/v0/shares/current/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/v0/shares/current/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/v0/shares/current/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/v0/shares/current/route.js +11 -0
- package/app/.next/server/app/api/v0/shares/current/route.js.nft.json +1 -0
- package/app/.next/server/app/api/v0/shares/current/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/v0/shares/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/v0/shares/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/v0/shares/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/v0/shares/route.js +11 -0
- package/app/.next/server/app/api/v0/shares/route.js.nft.json +1 -0
- package/app/.next/server/app/api/v0/shares/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 +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 +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 +1 -1
- 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 +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 +2 -2
- package/app/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/app/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/threads/[id]/page.js +1 -1
- 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 +9 -0
- package/app/.next/server/chunks/1oeh_server_app_api_bots_[id]_sessions_[ref]_shares_route_actions_1jr6f0v.js +3 -0
- package/app/.next/server/chunks/[externals]_@slack_0owayck._.js +3 -0
- package/app/.next/server/chunks/[externals]__17bolvp._.js +3 -0
- package/app/.next/server/chunks/{[externals]__06lqs5i._.js → [externals]__1eaoma8._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0-vcyi-._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0-w_t2y._.js +3 -0
- package/app/.next/server/chunks/{[root-of-the-server]__1_01-13._.js → [root-of-the-server]__029-_9t._.js} +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__02vrtib._.js +4 -0
- package/app/.next/server/chunks/[root-of-the-server]__04b3ml2._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__06w5xhe._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__07q5mnr._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0888o0_._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0aincj4._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0e_agq4._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0ey3_2x._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0fku-bw._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0iqh5ta._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0ivjcgs._.js +4 -0
- package/app/.next/server/chunks/[root-of-the-server]__0j4pjyg._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0kgnysc._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0mo_kn3._.js +48 -0
- package/app/.next/server/chunks/[root-of-the-server]__0mp8bap._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0o9ijih._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__0qaiqut._.js +44 -0
- package/app/.next/server/chunks/{[root-of-the-server]__1kvvs4u._.js → [root-of-the-server]__0zrx1iz._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__10b5-i-._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__17xl_55._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__1dxr858._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__1eps2a4._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__1g_n99l._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__1ggmit0._.js +4 -0
- package/app/.next/server/chunks/{[root-of-the-server]__1y_j43n._.js → [root-of-the-server]__1hwy3jx._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__1i8glt4._.js +4 -0
- package/app/.next/server/chunks/{[root-of-the-server]__0j0i8xz._.js → [root-of-the-server]__1igzl05._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__1kczttr._.js +3 -0
- package/app/.next/server/chunks/{[root-of-the-server]__1c3e2ds._.js → [root-of-the-server]__1kik2zt._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__1t4ybp2._.js +48 -0
- package/app/.next/server/chunks/[root-of-the-server]__1v3ikuo._.js +3 -0
- package/app/.next/server/chunks/{[root-of-the-server]__0-45blq._.js → [root-of-the-server]__1z5l5cg._.js} +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__200ep0k._.js +3 -0
- package/app/.next/server/chunks/_0061c2q._.js +48 -1
- package/app/.next/server/chunks/_04e2bgj._.js +3 -0
- package/app/.next/server/chunks/_05po7b4._.js +3 -0
- package/app/.next/server/chunks/_06sxx0e._.js +3 -0
- package/app/.next/server/chunks/_0a2do3x._.js +1 -1
- package/app/.next/server/chunks/_0ar2ooe._.js +3 -0
- package/app/.next/server/chunks/_0fmotaz._.js +3 -0
- package/app/.next/server/chunks/_0kpfto_._.js +3 -0
- package/app/.next/server/chunks/_0lm6uis._.js +3 -0
- package/app/.next/server/chunks/_0mpu5tl._.js +3 -0
- package/app/.next/server/chunks/_0qv-4by._.js +3 -0
- package/app/.next/server/chunks/_0u9cfq9._.js +3 -0
- package/app/.next/server/chunks/_0ul8k7g._.js +3 -0
- package/app/.next/server/chunks/_1-5mthb._.js +1 -1
- package/app/.next/server/chunks/_1-60d3o._.js +3 -0
- package/app/.next/server/chunks/_133y3b0._.js +3 -0
- package/app/.next/server/chunks/_167960a._.js +3 -0
- package/app/.next/server/chunks/_17vgjlt._.js +3 -0
- package/app/.next/server/chunks/_1amx9_4._.js +3 -0
- package/app/.next/server/chunks/_1b01v-_._.js +3 -0
- package/app/.next/server/chunks/_1c-g4gq._.js +3 -0
- package/app/.next/server/chunks/_1ey6l4p._.js +3 -0
- package/app/.next/server/chunks/_1nlg4x_._.js +3 -0
- package/app/.next/server/chunks/_1x4dqzv._.js +3 -0
- package/app/.next/server/chunks/_1z0qbzc._.js +3 -0
- package/app/.next/server/chunks/_next-internal_server_app_api_bots_[id]_share-policy_route_actions_0x-p250.js +3 -0
- package/app/.next/server/chunks/_next-internal_server_app_api_shares_[shareRef]_revoke_route_actions_1cu5kah.js +3 -0
- package/app/.next/server/chunks/_next-internal_server_app_api_shares_route_actions_0wk7x1r.js +3 -0
- package/app/.next/server/chunks/_next-internal_server_app_api_v0_sessions_[ref]_shares_route_actions_11fh--7.js +3 -0
- package/app/.next/server/chunks/_next-internal_server_app_api_v0_shares_[shareRef]_revoke_route_actions_00rzyj9.js +3 -0
- package/app/.next/server/chunks/_next-internal_server_app_api_v0_shares_[shareRef]_route_actions_0i1t5qb.js +3 -0
- package/app/.next/server/chunks/_next-internal_server_app_api_v0_shares_current_route_actions_1w_bpas.js +3 -0
- package/app/.next/server/chunks/_next-internal_server_app_api_v0_shares_route_actions_1b38was.js +3 -0
- package/app/.next/server/chunks/lib_0v4d9w0._.js +339 -0
- package/app/.next/server/chunks/lib_0zzo6zb._.js +339 -0
- package/app/.next/server/chunks/lib_15adnlz._.js +2189 -0
- package/app/.next/server/chunks/lib_1_u7n-u._.js +339 -0
- package/app/.next/server/chunks/lib_1muhwn7._.js +339 -0
- package/app/.next/server/chunks/lib_1xnxg-q._.js +339 -0
- package/app/.next/server/chunks/lib_1zc7-gl._.js +2189 -0
- package/app/.next/server/chunks/lib_agent-api_ts_0iv52-o._.js +3 -0
- package/app/.next/server/chunks/{[root-of-the-server]__0izjfmr._.js → lib_db_ts_1ttuckb._.js} +3 -3
- package/app/.next/server/chunks/lib_service-api-http_ts_0xzqhny._.js +5 -5
- package/app/.next/server/chunks/lib_slack-runtime_ts_0fgsejy._.js +63 -0
- package/app/.next/server/chunks/ssr/{[root-of-the-server]__03186rx._.js → [root-of-the-server]__1smmfpx._.js} +1 -1
- package/app/.next/server/chunks/ssr/_0_fa0na._.js +3 -0
- package/app/.next/server/chunks/ssr/_1cvuhjt._.js +1 -1
- package/app/.next/server/chunks/ssr/_1i02yyi._.js +3 -0
- package/app/.next/server/chunks/ssr/_1n5mvo5._.js +1 -1
- 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/instrumentation.js +4 -0
- package/app/.next/server/middleware-build-manifest.js +3 -3
- package/app/.next/server/middleware.js +1 -1
- 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/{2a8bomryx66oj.css → 0jon21u-9j2aw.css} +1 -1
- package/app/.next/static/chunks/14k6cvywgknx2.js +3 -0
- package/app/.next/static/chunks/1r5tqd-7h1xjn.js +1 -0
- package/app/.next/static/chunks/22xbkclbkct3s.js +1 -0
- package/app/.next/static/chunks/2c953okoei6ip.js +1 -0
- package/app/.next/static/chunks/2t_2gf3xoxz_m.js +1 -0
- package/app/.next/static/chunks/34vnvo1qssbaj.js +1 -0
- package/app/BUILD_INFO.json +2 -2
- package/app/node_modules/@slack/logger/dist/index.js +94 -0
- package/app/node_modules/@slack/logger/package.json +43 -0
- package/app/node_modules/@slack/socket-mode/dist/package.json +67 -0
- package/app/node_modules/@slack/socket-mode/dist/src/SlackWebSocket.js +242 -0
- package/app/node_modules/@slack/socket-mode/dist/src/SocketModeClient.js +363 -0
- package/app/node_modules/@slack/socket-mode/dist/src/UnrecoverableSocketModeStartError.js +14 -0
- package/app/node_modules/@slack/socket-mode/dist/src/errors.js +68 -0
- package/app/node_modules/@slack/socket-mode/dist/src/index.js +13 -0
- package/app/node_modules/@slack/socket-mode/dist/src/logger.js +26 -0
- package/app/node_modules/@slack/socket-mode/package.json +67 -0
- package/app/node_modules/@slack/types/dist/block-kit/block-elements.js +4 -0
- package/app/node_modules/@slack/types/dist/block-kit/blocks.js +3 -0
- package/app/node_modules/@slack/types/dist/block-kit/composition-objects.js +4 -0
- package/app/node_modules/@slack/types/dist/block-kit/extensions.js +3 -0
- package/app/node_modules/@slack/types/dist/calls.js +6 -0
- package/app/node_modules/@slack/types/dist/chunk.js +3 -0
- package/app/node_modules/@slack/types/dist/dialog.js +3 -0
- package/app/node_modules/@slack/types/dist/events/app.js +3 -0
- package/app/node_modules/@slack/types/dist/events/assistant.js +3 -0
- package/app/node_modules/@slack/types/dist/events/call.js +3 -0
- package/app/node_modules/@slack/types/dist/events/channel.js +3 -0
- package/app/node_modules/@slack/types/dist/events/dnd.js +3 -0
- package/app/node_modules/@slack/types/dist/events/email.js +3 -0
- package/app/node_modules/@slack/types/dist/events/emoji.js +3 -0
- package/app/node_modules/@slack/types/dist/events/file.js +4 -0
- package/app/node_modules/@slack/types/dist/events/function.js +3 -0
- package/app/node_modules/@slack/types/dist/events/grid-migration.js +3 -0
- package/app/node_modules/@slack/types/dist/events/group.js +3 -0
- package/app/node_modules/@slack/types/dist/events/im.js +3 -0
- package/app/node_modules/@slack/types/dist/events/index.js +43 -0
- package/app/node_modules/@slack/types/dist/events/invite.js +3 -0
- package/app/node_modules/@slack/types/dist/events/link-shared.js +3 -0
- package/app/node_modules/@slack/types/dist/events/member.js +3 -0
- package/app/node_modules/@slack/types/dist/events/message-metadata.js +3 -0
- package/app/node_modules/@slack/types/dist/events/message.js +3 -0
- package/app/node_modules/@slack/types/dist/events/pin.js +3 -0
- package/app/node_modules/@slack/types/dist/events/reaction.js +3 -0
- package/app/node_modules/@slack/types/dist/events/shared-channel.js +3 -0
- package/app/node_modules/@slack/types/dist/events/star.js +3 -0
- package/app/node_modules/@slack/types/dist/events/steps-from-apps.js +3 -0
- package/app/node_modules/@slack/types/dist/events/subteam.js +3 -0
- package/app/node_modules/@slack/types/dist/events/team.js +3 -0
- package/app/node_modules/@slack/types/dist/events/token.js +3 -0
- package/app/node_modules/@slack/types/dist/events/user.js +3 -0
- package/app/node_modules/@slack/types/dist/index.js +28 -0
- package/app/node_modules/@slack/types/dist/message-attachments.js +3 -0
- package/app/node_modules/@slack/types/dist/message-metadata.js +27 -0
- package/app/node_modules/@slack/types/dist/views.js +3 -0
- package/app/node_modules/@slack/types/package.json +47 -0
- package/app/node_modules/@slack/web-api/dist/WebClient.js +818 -0
- package/app/node_modules/@slack/web-api/dist/chat-stream.js +178 -0
- package/app/node_modules/@slack/web-api/dist/errors.js +80 -0
- package/app/node_modules/@slack/web-api/dist/file-upload.js +360 -0
- package/app/node_modules/@slack/web-api/dist/helpers.js +14 -0
- package/app/node_modules/@slack/web-api/dist/index.js +39 -0
- package/app/node_modules/@slack/web-api/dist/instrument.js +87 -0
- package/app/node_modules/@slack/web-api/dist/logger.js +29 -0
- package/app/node_modules/@slack/web-api/dist/methods.js +1647 -0
- package/app/node_modules/@slack/web-api/dist/retry-policies.js +34 -0
- package/app/node_modules/@slack/web-api/dist/types/helpers.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/admin/analytics.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/admin/apps.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/admin/auth.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/admin/barriers.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/admin/conversations.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/admin/emoji.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/admin/functions.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/admin/inviteRequests.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/admin/roles.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/admin/teams.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/admin/usergroups.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/admin/users.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/admin/workflows.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/api.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/apps.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/assistant.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/auth.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/bookmarks.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/bots.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/calls.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/canvas.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/chat.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/common.js +4 -0
- package/app/node_modules/@slack/web-api/dist/types/request/conversations.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/dialog.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/dnd.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/emoji.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/entity.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/files.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/functions.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/index.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/manifest.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/migration.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/oauth.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/openid.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/pins.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/reactions.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/reminders.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/rtm.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/search.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/slackLists.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/stars.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/team.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/tooling.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/usergroups.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/users.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/views.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/request/workflows.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminAnalyticsGetFileResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsActivitiesListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsApproveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsApprovedListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsClearResolutionResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsConfigLookupResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsConfigSetResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsRequestsCancelResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsRequestsListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsRestrictResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsRestrictedListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsUninstallResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminAuthPolicyAssignEntitiesResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminAuthPolicyGetEntitiesResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminAuthPolicyRemoveEntitiesResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminBarriersCreateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminBarriersDeleteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminBarriersListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminBarriersUpdateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsArchiveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsBulkArchiveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsBulkDeleteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsBulkMoveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsConvertToPrivateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsConvertToPublicResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsCreateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsDeleteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsDisconnectSharedResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsEkmListOriginalConnectedChannelInfoResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsGetConversationPrefsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsGetCustomRetentionResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsGetTeamsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsInviteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsLookupResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsRemoveCustomRetentionResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsRenameResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsRestrictAccessAddGroupResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsRestrictAccessListGroupsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsRestrictAccessRemoveGroupResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsSearchResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsSetConversationPrefsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsSetCustomRetentionResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsSetTeamsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsUnarchiveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsWhitelistAddResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsWhitelistListGroupsLinkedToChannelResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsWhitelistRemoveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminEmojiAddAliasResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminEmojiAddResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminEmojiListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminEmojiRemoveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminEmojiRenameResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminFunctionsListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminFunctionsPermissionsLookupResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminFunctionsPermissionsSetResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminInviteRequestsApproveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminInviteRequestsApprovedListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminInviteRequestsDeniedListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminInviteRequestsDenyResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminInviteRequestsListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminRolesAddAssignmentsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminRolesListAssignmentsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminRolesRemoveAssignmentsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsAdminsListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsCreateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsOwnersListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsSettingsInfoResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsSettingsSetDefaultChannelsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsSettingsSetDescriptionResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsSettingsSetDiscoverabilityResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsSettingsSetIconResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsSettingsSetNameResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsergroupsAddChannelsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsergroupsAddTeamsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsergroupsListChannelsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsergroupsRemoveChannelsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersAssignResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersInviteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersRemoveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSessionClearSettingsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSessionGetSettingsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSessionInvalidateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSessionListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSessionResetBulkResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSessionResetResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSessionSetSettingsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSetAdminResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSetExpirationResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSetOwnerResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSetRegularResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersUnsupportedVersionsExportResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminWorkflowsCollaboratorsAddResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminWorkflowsCollaboratorsRemoveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminWorkflowsPermissionsLookupResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminWorkflowsSearchResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AdminWorkflowsUnpublishResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ApiTestResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AppsConnectionsOpenResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AppsEventAuthorizationsListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AppsManifestCreateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AppsManifestDeleteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AppsManifestExportResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AppsManifestUpdateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AppsManifestValidateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AppsPermissionsInfoResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AppsPermissionsRequestResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AppsPermissionsResourcesListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AppsPermissionsScopesListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AppsPermissionsUsersListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AppsPermissionsUsersRequestResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AppsUninstallResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AppsUserConnectionUpdateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AssistantThreadsSetStatusResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AssistantThreadsSetSuggestedPromptsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AssistantThreadsSetTitleResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AuthRevokeResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AuthTeamsListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/AuthTestResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/BookmarksAddResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/BookmarksEditResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/BookmarksListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/BookmarksRemoveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/BotsInfoResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/CallsAddResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/CallsEndResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/CallsInfoResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/CallsParticipantsAddResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/CallsParticipantsRemoveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/CallsUpdateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/CanvasesAccessDeleteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/CanvasesAccessSetResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/CanvasesCreateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/CanvasesDeleteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/CanvasesEditResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/CanvasesSectionsLookupResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChannelsArchiveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChannelsCreateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChannelsHistoryResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChannelsInfoResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChannelsInviteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChannelsJoinResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChannelsKickResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChannelsLeaveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChannelsListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChannelsMarkResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChannelsRenameResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChannelsRepliesResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChannelsSetPurposeResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChannelsSetTopicResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChannelsUnarchiveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChatAppendStreamResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChatDeleteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChatDeleteScheduledMessageResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChatGetPermalinkResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChatMeMessageResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChatPostEphemeralResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChatPostMessageResponse.js +67 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChatScheduleMessageResponse.js +48 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChatScheduledMessagesListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChatStartStreamResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChatStopStreamResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChatUnfurlResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ChatUpdateResponse.js +48 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsAcceptSharedInviteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsApproveSharedInviteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsArchiveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsCanvasesCreateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsCloseResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsCreateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsDeclineSharedInviteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsExternalInvitePermissionsSetResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsHistoryResponse.js +67 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsInfoResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsInviteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsInviteSharedResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsJoinResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsKickResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsLeaveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsListConnectInvitesResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsMarkResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsMembersResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsOpenResponse.js +48 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsRenameResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsRepliesResponse.js +67 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsRequestSharedInviteApproveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsRequestSharedInviteDenyResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsRequestSharedInviteListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsSetPurposeResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsSetTopicResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ConversationsUnarchiveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/DialogOpenResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/DndEndDndResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/DndEndSnoozeResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/DndInfoResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/DndSetSnoozeResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/DndTeamInfoResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/EmojiListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/EntityPresentDetailsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FilesCommentsAddResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FilesCommentsDeleteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FilesCommentsEditResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FilesCompleteUploadExternalResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FilesDeleteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FilesGetUploadURLExternalResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FilesInfoResponse.js +37 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FilesListResponse.js +37 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FilesRemoteAddResponse.js +37 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FilesRemoteInfoResponse.js +37 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FilesRemoteListResponse.js +37 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FilesRemoteRemoveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FilesRemoteShareResponse.js +37 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FilesRemoteUpdateResponse.js +37 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FilesRevokePublicURLResponse.js +37 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FilesSharedPublicURLResponse.js +37 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FilesUploadResponse.js +37 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FunctionsCompleteErrorResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/FunctionsCompleteSuccessResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/GroupsArchiveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/GroupsCloseResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/GroupsCreateChildResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/GroupsCreateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/GroupsHistoryResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/GroupsInfoResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/GroupsInviteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/GroupsKickResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/GroupsLeaveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/GroupsListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/GroupsMarkResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/GroupsOpenResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/GroupsRenameResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/GroupsRepliesResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/GroupsSetPurposeResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/GroupsSetTopicResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/GroupsUnarchiveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ImCloseResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ImHistoryResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ImListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ImMarkResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ImOpenResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ImRepliesResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/MigrationExchangeResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/MpimCloseResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/MpimHistoryResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/MpimListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/MpimMarkResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/MpimOpenResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/MpimRepliesResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/OauthAccessResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/OauthTokenResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/OauthV2AccessResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/OauthV2ExchangeResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/OpenIDConnectTokenResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/OpenIDConnectUserInfoResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/PinsAddResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/PinsListResponse.js +37 -0
- package/app/node_modules/@slack/web-api/dist/types/response/PinsRemoveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ReactionsAddResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ReactionsGetResponse.js +48 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ReactionsListResponse.js +67 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ReactionsRemoveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/RemindersAddResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/RemindersCompleteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/RemindersDeleteResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/RemindersInfoResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/RemindersListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/RtmConnectResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/RtmStartResponse.js +77 -0
- package/app/node_modules/@slack/web-api/dist/types/response/SearchAllResponse.js +82 -0
- package/app/node_modules/@slack/web-api/dist/types/response/SearchFilesResponse.js +63 -0
- package/app/node_modules/@slack/web-api/dist/types/response/SearchMessagesResponse.js +67 -0
- package/app/node_modules/@slack/web-api/dist/types/response/SlackListsAccessDeleteResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/SlackListsAccessSetResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/SlackListsCreateResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/SlackListsDownloadGetResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/SlackListsDownloadStartResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/SlackListsItemsCreateResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/SlackListsItemsDeleteMultipleResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/SlackListsItemsDeleteResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/SlackListsItemsInfoResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/SlackListsItemsListResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/SlackListsItemsUpdateResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/SlackListsUpdateResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/StarsAddResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/StarsListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/StarsRemoveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/TeamAccessLogsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/TeamBillableInfoResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/TeamBillingInfoResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/TeamExternalTeamsDisconnectResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/TeamExternalTeamsListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/TeamInfoResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/TeamIntegrationLogsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/TeamPreferencesListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/TeamProfileGetResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ToolingTokensRotateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsergroupsCreateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsergroupsDisableResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsergroupsEnableResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsergroupsListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsergroupsUpdateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsergroupsUsersListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsergroupsUsersUpdateResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsersConversationsResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsersDeletePhotoResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsersDiscoverableContactsLookupResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsersGetPresenceResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsersIdentityResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsersInfoResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsersListResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsersLookupByEmailResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsersProfileGetResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsersProfileSetResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsersSetActiveResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsersSetPhotoResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/UsersSetPresenceResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ViewsOpenResponse.js +31 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ViewsPublishResponse.js +31 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ViewsPushResponse.js +31 -0
- package/app/node_modules/@slack/web-api/dist/types/response/ViewsUpdateResponse.js +31 -0
- package/app/node_modules/@slack/web-api/dist/types/response/WorkflowsFeaturedAddResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/WorkflowsFeaturedListResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/WorkflowsFeaturedRemoveResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/WorkflowsFeaturedSetResponse.js +3 -0
- package/app/node_modules/@slack/web-api/dist/types/response/WorkflowsStepCompletedResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/WorkflowsStepFailedResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/WorkflowsUpdateStepResponse.js +11 -0
- package/app/node_modules/@slack/web-api/dist/types/response/index.js +3 -0
- package/app/node_modules/@slack/web-api/package.json +75 -0
- package/app/node_modules/agent-base/dist/src/index.js +203 -0
- package/app/node_modules/agent-base/dist/src/promisify.js +18 -0
- package/app/node_modules/agent-base/package.json +64 -0
- package/app/node_modules/asynckit/index.js +6 -0
- package/app/node_modules/asynckit/lib/abort.js +29 -0
- package/app/node_modules/asynckit/lib/async.js +34 -0
- package/app/node_modules/asynckit/lib/defer.js +26 -0
- package/app/node_modules/asynckit/lib/iterate.js +75 -0
- package/app/node_modules/asynckit/lib/state.js +37 -0
- package/app/node_modules/asynckit/lib/terminator.js +29 -0
- package/app/node_modules/asynckit/package.json +63 -0
- package/app/node_modules/asynckit/parallel.js +43 -0
- package/app/node_modules/asynckit/serial.js +17 -0
- package/app/node_modules/asynckit/serialOrdered.js +75 -0
- package/app/node_modules/axios/dist/node/axios.cjs +6808 -0
- package/app/node_modules/axios/package.json +203 -0
- package/app/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
- package/app/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
- package/app/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
- package/app/node_modules/call-bind-apply-helpers/index.js +15 -0
- package/app/node_modules/call-bind-apply-helpers/package.json +85 -0
- package/app/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
- package/app/node_modules/combined-stream/lib/combined_stream.js +208 -0
- package/app/node_modules/combined-stream/package.json +25 -0
- package/app/node_modules/debug/package.json +64 -0
- package/app/node_modules/debug/src/browser.js +272 -0
- package/app/node_modules/debug/src/common.js +292 -0
- package/app/node_modules/debug/src/index.js +10 -0
- package/app/node_modules/debug/src/node.js +263 -0
- package/app/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
- package/app/node_modules/delayed-stream/package.json +27 -0
- package/app/node_modules/dunder-proto/get.js +30 -0
- package/app/node_modules/dunder-proto/package.json +76 -0
- package/app/node_modules/es-define-property/index.js +14 -0
- package/app/node_modules/es-define-property/package.json +81 -0
- package/app/node_modules/es-errors/eval.js +4 -0
- package/app/node_modules/es-errors/index.js +4 -0
- package/app/node_modules/es-errors/package.json +80 -0
- package/app/node_modules/es-errors/range.js +4 -0
- package/app/node_modules/es-errors/ref.js +4 -0
- package/app/node_modules/es-errors/syntax.js +4 -0
- package/app/node_modules/es-errors/type.js +4 -0
- package/app/node_modules/es-errors/uri.js +4 -0
- package/app/node_modules/es-object-atoms/index.js +4 -0
- package/app/node_modules/es-object-atoms/package.json +79 -0
- package/app/node_modules/es-set-tostringtag/index.js +35 -0
- package/app/node_modules/es-set-tostringtag/package.json +78 -0
- package/app/node_modules/eventemitter3/index.js +336 -0
- package/app/node_modules/eventemitter3/package.json +62 -0
- package/app/node_modules/follow-redirects/debug.js +15 -0
- package/app/node_modules/follow-redirects/index.js +709 -0
- package/app/node_modules/follow-redirects/package.json +58 -0
- package/app/node_modules/form-data/lib/browser.js +4 -0
- package/app/node_modules/form-data/lib/form_data.js +506 -0
- package/app/node_modules/form-data/lib/populate.js +10 -0
- package/app/node_modules/form-data/package.json +82 -0
- package/app/node_modules/function-bind/implementation.js +84 -0
- package/app/node_modules/function-bind/index.js +5 -0
- package/app/node_modules/function-bind/package.json +87 -0
- package/app/node_modules/get-intrinsic/index.js +378 -0
- package/app/node_modules/get-intrinsic/package.json +97 -0
- package/app/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
- package/app/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
- package/app/node_modules/get-proto/index.js +27 -0
- package/app/node_modules/get-proto/package.json +81 -0
- package/app/node_modules/gopd/gOPD.js +4 -0
- package/app/node_modules/gopd/index.js +15 -0
- package/app/node_modules/gopd/package.json +77 -0
- package/app/node_modules/has-flag/index.js +8 -0
- package/app/node_modules/has-flag/package.json +46 -0
- package/app/node_modules/has-symbols/index.js +14 -0
- package/app/node_modules/has-symbols/package.json +111 -0
- package/app/node_modules/has-symbols/shams.js +45 -0
- package/app/node_modules/has-tostringtag/package.json +108 -0
- package/app/node_modules/has-tostringtag/shams.js +8 -0
- package/app/node_modules/hasown/index.js +8 -0
- package/app/node_modules/hasown/package.json +91 -0
- package/app/node_modules/https-proxy-agent/dist/agent.js +177 -0
- package/app/node_modules/https-proxy-agent/dist/index.js +14 -0
- package/app/node_modules/https-proxy-agent/dist/parse-proxy-response.js +66 -0
- package/app/node_modules/https-proxy-agent/package.json +56 -0
- package/app/node_modules/is-electron/index.js +21 -0
- package/app/node_modules/is-electron/package.json +34 -0
- package/app/node_modules/is-stream/index.js +28 -0
- package/app/node_modules/is-stream/package.json +42 -0
- package/app/node_modules/math-intrinsics/abs.js +4 -0
- package/app/node_modules/math-intrinsics/floor.js +4 -0
- package/app/node_modules/math-intrinsics/isNaN.js +6 -0
- package/app/node_modules/math-intrinsics/max.js +4 -0
- package/app/node_modules/math-intrinsics/min.js +4 -0
- package/app/node_modules/math-intrinsics/package.json +86 -0
- package/app/node_modules/math-intrinsics/pow.js +4 -0
- package/app/node_modules/math-intrinsics/round.js +4 -0
- package/app/node_modules/math-intrinsics/sign.js +11 -0
- package/app/node_modules/mime-db/db.json +8519 -0
- package/app/node_modules/mime-db/index.js +12 -0
- package/app/node_modules/mime-db/package.json +60 -0
- package/app/node_modules/mime-types/index.js +188 -0
- package/app/node_modules/mime-types/package.json +44 -0
- package/app/node_modules/ms/index.js +162 -0
- package/app/node_modules/ms/package.json +38 -0
- package/app/node_modules/p-finally/index.js +15 -0
- package/app/node_modules/p-finally/package.json +42 -0
- package/app/node_modules/p-queue/dist/index.js +279 -0
- package/app/node_modules/p-queue/dist/lower-bound.js +21 -0
- package/app/node_modules/p-queue/dist/priority-queue.js +32 -0
- package/app/node_modules/p-queue/node_modules/eventemitter3/index.js +336 -0
- package/app/node_modules/p-queue/node_modules/eventemitter3/package.json +56 -0
- package/app/node_modules/p-queue/package.json +92 -0
- package/app/node_modules/p-retry/index.js +85 -0
- package/app/node_modules/p-retry/package.json +51 -0
- package/app/node_modules/p-timeout/index.js +57 -0
- package/app/node_modules/p-timeout/package.json +45 -0
- package/app/node_modules/retry/index.js +1 -0
- package/app/node_modules/retry/lib/retry.js +100 -0
- package/app/node_modules/retry/lib/retry_operation.js +162 -0
- package/app/node_modules/retry/package.json +36 -0
- package/app/node_modules/supports-color/index.js +135 -0
- package/app/node_modules/supports-color/package.json +53 -0
- package/app/node_modules/ws/index.js +22 -0
- package/app/node_modules/ws/lib/buffer-util.js +131 -0
- package/app/node_modules/ws/lib/constants.js +19 -0
- package/app/node_modules/ws/lib/event-target.js +292 -0
- package/app/node_modules/ws/lib/extension.js +203 -0
- package/app/node_modules/ws/lib/limiter.js +55 -0
- package/app/node_modules/ws/lib/permessage-deflate.js +530 -0
- package/app/node_modules/ws/lib/receiver.js +743 -0
- package/app/node_modules/ws/lib/sender.js +607 -0
- package/app/node_modules/ws/lib/stream.js +161 -0
- package/app/node_modules/ws/lib/subprotocol.js +62 -0
- package/app/node_modules/ws/lib/validation.js +152 -0
- package/app/node_modules/ws/lib/websocket-server.js +562 -0
- package/app/node_modules/ws/lib/websocket.js +1421 -0
- package/app/node_modules/ws/package.json +74 -0
- package/app/package.json +1 -1
- package/app/server.js +1 -1
- package/dist/cli.js +5 -2
- package/dist/product.d.ts +8 -0
- package/dist/product.js +69 -3
- package/package.json +2 -2
- package/schemas/botmancers.mcp.v2.tools.json +767 -2
- package/skills/botmancers-collaboration/SKILL.md +5 -1
- package/skills/botmancers-collaboration/references/workflows.md +21 -0
- package/app/.next/server/chunks/[root-of-the-server]__06qkt0f._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__08qhrch._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__097ptn_._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__09m9-pe._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__0b7w1z3._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__0f5yqjs._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__0g4um3-._.js +0 -44
- package/app/.next/server/chunks/[root-of-the-server]__0hro5ey._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__0hwpgxq._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__0uq7sci._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__13cd2fb._.js +0 -44
- package/app/.next/server/chunks/[root-of-the-server]__1879cge._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__1a2dh11._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__1co3sok._.js +0 -44
- package/app/.next/server/chunks/[root-of-the-server]__1eh30sp._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__1fmsid0._.js +0 -44
- package/app/.next/server/chunks/[root-of-the-server]__1qbgs3m._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__1s6h1sj._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__1slu7d7._.js +0 -7
- package/app/.next/server/chunks/[root-of-the-server]__1tuqc5v._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__1v609eq._.js +0 -44
- package/app/.next/server/chunks/[root-of-the-server]__1zdv-vb._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__1zjs2tr._.js +0 -3
- package/app/.next/server/chunks/_023se5j._.js +0 -44
- package/app/.next/server/chunks/_02pb_qv._.js +0 -44
- package/app/.next/server/chunks/_05ro-21._.js +0 -44
- package/app/.next/server/chunks/_07on0dc._.js +0 -44
- package/app/.next/server/chunks/_08208nz._.js +0 -44
- package/app/.next/server/chunks/_0fe5qz5._.js +0 -44
- package/app/.next/server/chunks/_0qoji5a._.js +0 -44
- package/app/.next/server/chunks/_0uv2pi5._.js +0 -44
- package/app/.next/server/chunks/_0wdl90-._.js +0 -44
- package/app/.next/server/chunks/_11ijk9k._.js +0 -44
- package/app/.next/server/chunks/_198sn69._.js +0 -44
- package/app/.next/server/chunks/_1ba_5hd._.js +0 -44
- package/app/.next/server/chunks/_1m89jq5._.js +0 -44
- package/app/.next/server/chunks/_1n39wr_._.js +0 -44
- package/app/.next/server/chunks/_1ryxqo1._.js +0 -44
- package/app/.next/server/chunks/_1vemgly._.js +0 -44
- package/app/.next/server/chunks/lib_0lqoyb4._.js +0 -217
- package/app/.next/server/chunks/lib_0riiofz._.js +0 -44
- package/app/.next/server/chunks/lib_16j2293._.js +0 -217
- package/app/.next/server/chunks/lib_1nb_61e._.js +0 -217
- package/app/.next/server/chunks/lib_session-pins_ts_0lmxnwj._.js +0 -20
- package/app/.next/server/chunks/ssr/app_components_ExchangeCard_tsx_1shfcgn._.js +0 -3
- package/app/.next/server/chunks/ssr/node_modules_next_dist_client_components_server-async-storage_0t1dato.js +0 -3
- package/app/.next/static/chunks/0bhd8eso48g27.js +0 -1
- package/app/.next/static/chunks/3230ywnpii0s6.js +0 -3
- package/app/.next/static/chunks/35l2c95bd-jud.js +0 -1
- package/app/.next/static/chunks/3cijpn6vx3yzv.js +0 -1
- package/app/.next/static/chunks/3ue9194j59kem.js +0 -1
- package/app/.next/static/chunks/44ese2s4gzze_.js +0 -1
- /package/app/.next/static/{gh3shm8hnVqXLr75rmvsL → _yrIZIFsIbXA0Gaxkytjd}/_buildManifest.js +0 -0
- /package/app/.next/static/{gh3shm8hnVqXLr75rmvsL → _yrIZIFsIbXA0Gaxkytjd}/_clientMiddlewareManifest.js +0 -0
- /package/app/.next/static/{gh3shm8hnVqXLr75rmvsL → _yrIZIFsIbXA0Gaxkytjd}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,13978,e=>{"use strict";var t=e.i(43476),n=e.i(71645),s=e.i(22016),a=e.i(18566),r=e.i(15983),i=e.i(24204);function l({agentId:e,agentName:s}){let a=(0,n.useId)(),r=(0,n.useId)(),c=(0,n.useId)(),[o,d]=(0,n.useState)(null),[u,f]=(0,n.useState)(""),[m,h]=(0,n.useState)(0),[g,p]=(0,n.useState)("idle"),[x,b]=(0,n.useState)(""),[v,k]=(0,n.useState)(""),[y,j]=(0,n.useState)(""),[N,_]=(0,n.useState)(""),[w,S]=(0,n.useState)("");(0,n.useEffect)(()=>{let t=!1;return fetch(`/api/bots/${encodeURIComponent(e)}/share-policy`,{cache:"no-store"}).then(async e=>{let n=await e.json().catch(()=>null);t||(e.ok&&n?.policy?(f(""),d(n.policy)):f("Could not load the share policy."))}).catch(()=>{t||f("Could not load the share policy.")}),()=>{t=!0}},[e,m]);let C=()=>{b(""),p("idle"),h(e=>e+1)},$=async(t,n)=>{if(!o)return!1;p("saving"),b(""),k("");try{let s=await fetch(`/api/bots/${encodeURIComponent(e)}/share-policy`,{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({revision:o.revision,...t})}),a=await s.json().catch(()=>null);if(!s.ok||!a?.policy)return p("error"),b("string"==typeof a?.error?.message?a.error.message:"The share policy could not be saved."),!1;return d(a.policy),p("idle"),k(n("number"==typeof a.revoked_contexts?a.revoked_contexts:0)),!0}catch{return p("error"),b("The share policy could not be saved."),!1}},A=async e=>{if(e.preventDefault(),!o)return;let t=(0,i.audienceInputError)(y,N,o.audiences);if(S(t??""),t)return;let n={kind:"slack",team_id:y.trim(),channel_id:N.trim()};await $({audiences:[...o.audiences,n]},()=>`Added ${(0,i.audienceLabel)(n)}.`)&&(j(""),_(""))},T="saving"===g,D=!!o&&"invalid"!==o.state;return(0,t.jsxs)("section",{className:"cfg-card share-policy",id:"session-sharing","aria-labelledby":"cfg-sharing-title",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsx)("h2",{id:"cfg-sharing-title",className:"cfg-title",children:"Session sharing"}),T?(0,t.jsx)("span",{className:"text-sm cfg-faint",role:"status",children:"Saving…"}):null]}),(0,t.jsxs)("p",{className:"text-sm cfg-muted mb-3",children:["A share lets people in one Slack channel ask one of ",s,"’s sessions questions, read-only, until it expires or you revoke it. Create and revoke shares from Sessions."]}),u?(0,t.jsxs)("p",{className:"text-sm cfg-error",role:"alert",children:[u," ",(0,t.jsx)("button",{type:"button",onClick:C,className:"underline hover:no-underline",children:"Retry"})]}):null,o||u?null:(0,t.jsx)("p",{className:"text-sm cfg-faint",role:"status",children:"Loading…"}),o?.state==="invalid"?(0,t.jsxs)("p",{className:"text-sm cfg-error mb-3",role:"alert",children:["The share policy file is invalid, so nothing can be shared: ",o.reason," Fix or remove config/session-shares.json, then"," ",(0,t.jsx)("button",{type:"button",onClick:C,className:"underline hover:no-underline",children:"reload"}),"."]}):null,o?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"share-policy-toggle",children:[(0,t.jsx)("input",{id:a,type:"checkbox",role:"switch",checked:o.agent.share_from_turn,"aria-checked":o.agent.share_from_turn,disabled:!D||T||!o.agent.share_current.supported&&!o.agent.share_from_turn,"data-share-policy":"share_from_turn",onChange:e=>{let t=e.target.checked;$({share_from_turn:t},e=>t?"Share from a turn is on.":`Share from a turn is off.${e?` Revoked ${e} live turn context${1===e?"":"s"}.`:""}`)}}),(0,t.jsxs)("label",{htmlFor:a,className:"text-sm",children:[(0,t.jsx)("span",{className:"font-medium",children:"Share from a turn"})," (",(0,t.jsx)("code",{className:"cfg-code",children:"share_from_turn"}),")"]})]}),(0,t.jsx)("p",{className:"text-sm cfg-faint share-policy-hint",children:(0,i.shareFromTurnNote)(o)}),o.agent.live_contexts>0?(0,t.jsxs)("p",{className:"text-sm cfg-faint share-policy-hint",children:[o.agent.live_contexts," live turn context",1===o.agent.live_contexts?"":"s"," now."]}):null,(0,t.jsx)("h3",{className:"cfg-title share-policy-sub",children:"Slack channel allowlist"}),(0,t.jsx)("p",{className:"text-sm cfg-faint",children:"Every Agent’s shares use this list. A share can only go to a channel on it."}),0===o.audiences.length?(0,t.jsx)("p",{className:"text-sm cfg-muted share-policy-empty",children:"No channel yet: nothing can be shared to Slack."}):(0,t.jsx)("ul",{className:"share-policy-list","aria-label":"Allowed Slack channels",children:o.audiences.map(e=>(0,t.jsxs)("li",{className:"share-policy-entry",children:[(0,t.jsx)("span",{className:"cfg-code",children:e.channel_id}),(0,t.jsxs)("span",{className:"cfg-faint",children:["workspace ",e.team_id]}),(0,t.jsx)("button",{type:"button",className:"cfg-link text-sm share-policy-remove",disabled:!D||T,"aria-label":`Remove ${(0,i.audienceLabel)(e)}`,onClick:()=>{o&&$({audiences:o.audiences.filter(t=>t.team_id!==e.team_id||t.channel_id!==e.channel_id)},()=>`Removed ${(0,i.audienceLabel)(e)}. Its Slack threads stop being answered.`)},children:"Remove"})]},`${e.team_id}:${e.channel_id}`))}),(0,t.jsxs)("form",{className:"share-policy-add",onSubmit:e=>{A(e)},"aria-label":"Add a Slack channel",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:r,className:"text-sm",children:"Workspace ID"}),(0,t.jsx)("input",{id:r,className:"cfg-input",value:y,placeholder:"T0123ABCD",autoComplete:"off",spellCheck:!1,disabled:!D||T,"aria-invalid":!!w,onChange:e=>{j(e.target.value),S("")}})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:c,className:"text-sm",children:"Channel ID"}),(0,t.jsx)("input",{id:c,className:"cfg-input",value:N,placeholder:"C0123ABCD",autoComplete:"off",spellCheck:!1,disabled:!D||T,"aria-invalid":!!w,onChange:e=>{_(e.target.value),S("")}})]}),(0,t.jsx)("button",{type:"submit",className:"cfg-btn-primary text-sm",disabled:!D||T||!y.trim()||!N.trim(),children:"Add channel"})]}),w?(0,t.jsx)("p",{className:"mt-2 text-sm cfg-error",role:"alert",children:w}):null,"error"===g?(0,t.jsxs)("p",{className:"mt-2 text-sm cfg-error",role:"alert",children:["Couldn't save: ",x," ",(0,t.jsx)("button",{type:"button",onClick:C,className:"underline hover:no-underline",children:"Reload"})]}):null,(0,t.jsx)("p",{className:"mt-2 text-sm cfg-ok",role:"status",children:v})]}):null]})}var c=e.i(10718),o=e.i(74904),d=e.i(33851),u=e.i(44079),f=e.i(4335),m=e.i(52900),h=e.i(87303);function g({attribute:e,label:s,options:a,current:r,onPick:i,className:l}){let c=(0,n.useId)(),o=`avatar-${e}`;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{id:c,className:"avatar-group-label",children:s}),(0,t.jsx)("div",{className:l?`avatar-opt-grid ${l}`:"avatar-opt-grid",role:"radiogroup","aria-labelledby":c,children:a.map(n=>(0,t.jsxs)("label",{title:n.label,className:"avatar-opt",children:[(0,t.jsx)("input",{type:"radio",name:o,value:n.id,checked:r[e]===n.id,onChange:()=>i({[e]:n.id}),className:"avatar-opt-input"}),(0,t.jsx)("span",{className:"avatar-opt-art","aria-hidden":"true",children:(0,t.jsx)(h.default,{config:{...r,[e]:n.id},size:44})}),(0,t.jsx)("span",{children:n.label})]},n.id))})]})}var p=e.i(68541);function x({phase:e,onImport:n}){let s=(0,p.marketImportView)(e);return(0,t.jsxs)("div",{className:"mt-3","data-field":"marketplace-import",children:[(0,t.jsx)("button",{type:"button",onClick:n,disabled:s.busy,"aria-busy":s.busy,"aria-describedby":"cfg-market-import-status",className:"cfg-btn-ghost text-sm w-full sm:w-auto",children:"Import from Grok Marketplace"}),(0,t.jsx)("p",{id:"cfg-market-import-status",role:"status","aria-live":"polite",className:"error"===s.tone?"mt-2 text-sm cfg-error":"mt-2 text-xs cfg-faint",children:s.message})]})}var b=e.i(37947);let v="Fix the highlighted fields.",k=[{key:"avatar_accessory",label:"Avatar accessory"},{key:"avatar_color",label:"Avatar color"},{key:"avatar_eyes",label:"Avatar eyes"},{key:"avatar_hands",label:"Avatar hands"},{key:"description",label:"Description (rules)"},{key:"import_operation_id",label:"Import operation ID"},{key:"import_schema_version",label:"Import schema version"},{key:"memories",label:"Remembered facts"},{key:"name",label:"Name"},{key:"skill_content",label:"Skill content"},{key:"skill_path",label:"Skill path"},{key:"skill_present",label:"Skill present"},{key:"source_provider",label:"Source provider"},{key:"template_id",label:"Template ID"},{key:"template_url",label:"Template URL"},{key:"title",label:"Title"}];function y(e){return String(e).padStart(2,"0")}function j(e){let t=new Date(e);return`${t.getFullYear()}-${y(t.getMonth()+1)}-${y(t.getDate())} ${y(t.getHours())}:${y(t.getMinutes())}`}function N(e){let t=new Date(e);return`${y(t.getHours())}:${y(t.getMinutes())}:${y(t.getSeconds())}`}async function _(e){try{return await navigator.clipboard.writeText(e),!0}catch{return!1}}e.s(["default",0,function(){var e;let i=String((0,a.useParams)().id??""),y=(0,a.useRouter)(),[w,S]=(0,n.useState)(!1),[C,$]=(0,n.useState)(null),[A,T]=(0,n.useState)(!0),[D,E]=(0,n.useState)(!1),[R,I]=(0,n.useState)(!1),[L,O]=(0,n.useState)(0),[P,U]=(0,n.useState)(null),[F,q]=(0,n.useState)("clean"),[M,H]=(0,n.useState)(""),[B,K]=(0,n.useState)(0),[V,W]=(0,n.useState)(!1),[J,Y]=(0,n.useState)(""),[G,z]=(0,n.useState)("clean"),[Q,X]=(0,n.useState)(""),[Z,ee]=(0,n.useState)(0),[et,en]=(0,n.useState)({}),[es,ea]=(0,n.useState)(""),[er,ei]=(0,n.useState)(!1),[el,ec]=(0,n.useState)(null),[eo,ed]=(0,n.useState)(!1),eu=C?.bot.launch_profile==="agent_deck"||el?.launchProfile==="agent_deck",{state:ef,retry:em}=(0,f.useDeckList)(!!eu),eh=(0,m.useRuntimeConnections)(),[eg,ep]=(0,n.useState)(void 0),[ex,eb]=(0,n.useState)("clean"),[ev,ek]=(0,n.useState)(""),[ey,ej]=(0,n.useState)(0),[eN,e_]=(0,n.useState)(null),[ew,eS]=(0,n.useState)("clean"),[eC,e$]=(0,n.useState)(""),[eA,eT]=(0,n.useState)(0),{phase:eD,startImport:eE}=function(e){let[t,s]=(0,n.useState)("idle");return(0,n.useEffect)(()=>{let t=window.location.search;if(null===(0,p.importedBotId)(t))return;let n=new URL(window.location.href);n.searchParams.delete(p.IMPORT_RETURN_QUERY),window.history.replaceState(null,"",n.pathname+n.search);let a=!1;return(0,p.resolveImportReturn)(t,e,async e=>(await fetch(`/api/bots/${encodeURIComponent(e)}/config`,{cache:"no-store"})).ok).then(e=>{a||("open"===e.kind?window.location.replace(e.path):"missing"===e.kind&&s("missing"))}),()=>{a=!0}},[e]),{phase:t,startImport:async function(){s("checking");try{let e=await fetch(p.HANDOFF_STATUS_PATH,{cache:"no-store"}),t=await e.json().catch(()=>null);if(!e.ok)return void s("failed");if(t?.configured!==!0)return void s("unavailable");s("redirecting"),window.location.href=(0,p.handoffStartPath)(window.location.origin,window.location.pathname),setTimeout(()=>s(e=>"redirecting"===e?"idle":e),4e3)}catch{s("failed")}}}}(i);function eR(){T(!0),E(!1),O(e=>e+1)}(0,n.useEffect)(()=>{if(!i)return;let e=!1;return fetch(`/api/bots/${encodeURIComponent(i)}/sessions?status=all`,{cache:"no-store"}).then(e=>e.ok?e.json():null).then(t=>{e||ep((t?.sessions??[]).map(e=>({ref:e.ref,title:e.title,status:e.status})))}).catch(()=>{e||ep([])}),()=>{e=!0}},[i,L]),(0,n.useEffect)(()=>{if(!i)return;let e=!1;return fetch(`/api/bots/${encodeURIComponent(i)}/config`).then(async t=>{if(e)return;if(404===t.status){I(!0),$(null);return}if(!t.ok)throw Error("request failed");let n=await t.json();e||($(n),U(n.bot.description??""),I(!1),E(!1))}).catch(()=>{e||E(!0)}).finally(()=>{e||T(!1)}),()=>{e=!0}},[i,L]);let eI=C?.bot.description??"",eL=null!==P&&P!==eI,eO=C?.skill.content??"",eP=V&&J!==eO,eU=C?(0,d.registrationFormFromBot)(C.bot):null,eF=er&&null!==el&&JSON.stringify(el)!==JSON.stringify(eU),eq=C?.bot.avatar_config??(0,b.resolveAvatar)(C?.bot??{}),eM=eN??eq,eH=null!==eN&&JSON.stringify(eN)!==JSON.stringify(eq),eB=eL||eP||eF||eH;function eK(e,t){_(t).then(t=>{t&&(ea(e),setTimeout(()=>ea(t=>t===e?"":t),2e3))})}async function eV(){if(C&&null!==P){q("saving"),H("");try{let e=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:C.bot.id,description:P})});if(!e.ok){let t="request failed";try{let n=await e.json();n.error&&(t=n.error)}catch{}throw Error(t)}let t=await fetch(`/api/bots/${encodeURIComponent(i)}/config`);if(!t.ok)throw Error("request failed");$(await t.json()),q("confirmed"),K(Date.now()),setTimeout(()=>{q(e=>"confirmed"===e?"clean":e)},5e3)}catch(e){q("error"),H(e instanceof Error?e.message:"request failed")}}}function eW(){C&&(ec((0,d.registrationFormFromBot)(C.bot)),ei(!0),ed(!1),eb("clean"),ek(""),"agent_deck"===C.bot.launch_profile&&em(),eh.retry())}function eJ(){ei(!1),ec(null),eb("clean"),ek("")}function eY(e){e_({...eN??eq,...e}),eS("clean"),e$("")}async function eG(){if(C&&eN){eS("saving"),e$("");try{let e=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:C.bot.id,avatar:eN})});if(!e.ok){let t="request failed";try{let n=await e.json();n.error&&(t=n.error)}catch{}throw Error(t)}let t=await fetch(`/api/bots/${encodeURIComponent(i)}/config`);if(!t.ok)throw Error("request failed");$(await t.json()),e_(null),eS("confirmed"),eT(Date.now()),setTimeout(()=>{eS(e=>"confirmed"===e?"clean":e)},5e3)}catch(e){eS("error"),e$(e instanceof Error?e.message:"request failed")}}}async function ez(){if(C&&el){if((0,d.hasRegistrationErrors)((0,d.registrationFormView)(el,ef,eh.state))){ed(!0),eb("error"),ek(v);return}eb("saving"),ek("");try{let e=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify((0,d.registrationPatchBody)(C.bot.id,el))});if(!e.ok){let t="request failed";try{let n=await e.json();n.error&&(t=n.error)}catch{}throw Error(t)}let t=await fetch(`/api/bots/${encodeURIComponent(i)}/config`);if(!t.ok)throw Error("request failed");$(await t.json()),ei(!1),ec(null),eb("confirmed"),ej(Date.now()),setTimeout(()=>{eb(e=>"confirmed"===e?"clean":e)},5e3)}catch(e){eb("error"),ek(e instanceof Error?e.message:"request failed")}}}function eQ(){Y(C?.skill.content??""),W(!0),z("clean"),X("")}async function eX(){if(C&&(J.trim()||window.confirm("Delete this skill file?"))){z("saving"),X("");try{let e=await fetch(`/api/bots/${encodeURIComponent(i)}/skill`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:J})});if(!e.ok){let t="request failed";try{let n=await e.json();n.error&&(t=n.error)}catch{}throw Error(t)}let t=await e.json();$(e=>e?{...e,skill:t.skill,currentHash:t.currentHash}:e),W(!1),z("confirmed"),ee(Date.now()),setTimeout(()=>{z(e=>"confirmed"===e?"clean":e)},5e3)}catch(e){z("error"),X(e instanceof Error?e.message:"request failed")}}}if((0,n.useEffect)(()=>{if(!eB)return;let e=e=>{e.preventDefault()};return window.addEventListener("beforeunload",e),()=>window.removeEventListener("beforeunload",e)},[eB]),R)return(0,t.jsx)("div",{className:"cfg-page flex items-center justify-center",children:(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("p",{className:"mb-4",children:"Agent not found."}),(0,t.jsx)(s.default,{href:"/",className:"cfg-link",children:"← Back to chat"})]})});if(A&&!C)return(0,t.jsx)("div",{className:"cfg-page",children:(0,t.jsxs)("div",{className:"max-w-6xl mx-auto space-y-6",children:[(0,t.jsx)("div",{className:"h-6 w-32 rounded animate-pulse cfg-skel"}),(0,t.jsx)("div",{className:"h-20 rounded-lg animate-pulse cfg-skel"}),(0,t.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,t.jsx)("div",{className:"space-y-6",children:[0,1,2].map(e=>(0,t.jsx)("div",{className:"h-48 rounded-lg animate-pulse cfg-skel"},e))}),(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)("div",{className:"h-64 rounded-lg animate-pulse cfg-skel"}),(0,t.jsx)("div",{className:"h-80 rounded-lg animate-pulse cfg-skel"})]})]})]})});if(D&&!C)return(0,t.jsx)("div",{className:"cfg-page",children:(0,t.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,t.jsx)(s.default,{href:"/",className:"cfg-link cfg-back text-sm",children:"← Back to chat"}),(0,t.jsxs)("header",{className:"mt-3 mb-6 flex flex-wrap items-center gap-4",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h1",{className:"text-xl font-bold truncate",children:"Agent configuration"}),(0,t.jsx)("p",{className:"text-sm cfg-faint truncate",children:"Couldn't load agent details."})]}),(0,t.jsxs)("div",{className:"ml-auto text-right",children:[(0,t.jsxs)("p",{className:"text-sm cfg-muted",children:["Current config hash: ",(0,t.jsx)("code",{className:"cfg-code",children:"—"})]}),(0,t.jsx)("p",{className:"text-sm mt-1",children:(0,t.jsx)("span",{className:"cfg-faint",children:"○ Not loaded"})})]})]}),(0,t.jsx)("div",{className:"grid gap-6 lg:grid-cols-2 items-start",children:[["Skills","Rules","Agent","Template source"],["Launch snapshots","Avatar"]].map(e=>(0,t.jsx)("div",{className:"min-w-0 space-y-6",children:e.map(e=>(0,t.jsxs)("div",{className:"cfg-card",children:[(0,t.jsx)("h2",{className:"cfg-title mb-2",children:e}),(0,t.jsxs)("p",{className:"text-sm cfg-muted",children:["Couldn't load this section."," ",(0,t.jsx)("button",{onClick:eR,className:"cfg-link",children:"Retry"})]})]},e))},e[0]))})]})});if(!C)return null;let{bot:eZ,skill:e0,currentHash:e1,snapshots:e3}=C,e2=!!(eZ.source_provider||eZ.template_id||eZ.template_url||eZ.import_schema_version||eZ.import_operation_id),e4="saving"===F?(0,t.jsx)("span",{className:"text-sm cfg-faint",children:"Saving…"}):eL||"error"===F?(0,t.jsxs)("span",{className:"text-sm cfg-dirty",children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full cfg-dot-amber mr-1"}),"Unsaved changes"]}):"confirmed"===F?(0,t.jsxs)("span",{className:"text-sm cfg-faint",children:["Saved ",N(B)]}):(0,t.jsx)("span",{className:"text-sm cfg-faint",children:"Saved"}),e6="saving"===G?(0,t.jsx)("span",{className:"text-sm cfg-faint",children:"Saving…"}):eP||"error"===G?(0,t.jsxs)("span",{className:"text-sm cfg-dirty",children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full cfg-dot-amber mr-1"}),"Unsaved changes"]}):"confirmed"===G?(0,t.jsxs)("span",{className:"text-sm cfg-faint",children:["Saved ",N(Z)]}):(0,t.jsx)("span",{className:"text-sm cfg-faint",children:"Saved"}),e7="saving"===ex?(0,t.jsx)("span",{className:"text-sm cfg-faint",children:"Saving…"}):eF||"error"===ex?(0,t.jsxs)("span",{className:"text-sm cfg-dirty",children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full cfg-dot-amber mr-1"}),"Unsaved changes"]}):"confirmed"===ex?(0,t.jsxs)("span",{className:"text-sm cfg-faint",children:["Saved ",N(ey)]}):(0,t.jsx)("span",{className:"text-sm cfg-faint",children:"Saved"}),e9="saving"===ew?(0,t.jsx)("span",{className:"text-sm cfg-faint",children:"Saving…"}):eH||"error"===ew?(0,t.jsxs)("span",{className:"text-sm cfg-dirty",children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full cfg-dot-amber mr-1"}),"Unsaved changes"]}):"confirmed"===ew?(0,t.jsxs)("span",{className:"text-sm cfg-faint",children:["Saved ",N(eA)]}):(0,t.jsx)("span",{className:"text-sm cfg-faint",children:"Saved"});return(0,t.jsxs)("div",{className:"cfg-page",children:[(0,t.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,t.jsx)(s.default,{href:"/",onClick:function(e){eB&&!window.confirm("You have unsaved changes. Leave without saving?")&&e.preventDefault()},className:"cfg-link cfg-back text-sm",children:"← Back to chat"}),(0,t.jsxs)("header",{className:"mt-3 mb-6 flex flex-wrap items-center gap-4",children:[(0,t.jsx)(h.default,{bot:eZ,size:48,title:`${eZ.name} avatar`}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h1",{className:"text-xl font-bold truncate",children:eZ.name}),(0,t.jsx)("p",{className:"text-sm cfg-faint truncate",children:eZ.title||" "})]}),(0,t.jsxs)("div",{className:"ml-auto text-right",children:[(0,t.jsxs)("p",{className:"text-sm cfg-muted",children:["Current config hash:"," ",(0,t.jsx)("code",{className:"cfg-code",title:e1,children:e1.slice(0,8)})," ",(0,t.jsx)("button",{onClick:()=>eK("header",e1),className:"cfg-link text-sm",children:"header"===es?"Copied":"Copy"})]}),(0,t.jsx)("p",{className:"text-sm mt-1",children:eB?(0,t.jsxs)("span",{className:"cfg-dirty",children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full cfg-dot-amber mr-1"}),"Unsaved changes"]}):(0,t.jsx)("span",{className:"cfg-faint",children:"● Saved"})})]})]}),(0,t.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2 items-start","data-cfg-layout":"columns",children:[(0,t.jsxs)("div",{className:"min-w-0 space-y-6","data-cfg-column":"primary",children:[(0,t.jsxs)("section",{className:"cfg-card",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsx)("h2",{className:"cfg-title",children:"Skills"}),e6]}),"unsupported"===e0.status?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-sm cfg-muted mb-3",children:"Unsupported name"}),(0,t.jsx)("p",{className:"text-sm cfg-muted",children:"Skill files need an agent name matching /^[A-Za-z0-9_-]+$/ — this name cannot map to a skill path."})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{className:"text-sm cfg-muted mb-3",children:[e0.path," · ","present"===e0.status?"Present":"Not present"]}),V?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("textarea",{value:J,onChange:e=>Y(e.target.value),rows:8,className:"cfg-input text-sm"}),"error"===G&&(0,t.jsxs)("p",{className:"mt-2 text-sm cfg-error",children:["Couldn't save: ",Q,"."," ",(0,t.jsx)("button",{onClick:eX,className:"underline hover:no-underline",children:"Retry"})]}),(0,t.jsxs)("div",{className:"mt-3 flex gap-2",children:[(0,t.jsx)("button",{onClick:eX,disabled:!eP||"saving"===G,className:"flex-1 sm:flex-none cfg-btn-primary text-sm",children:"saving"===G?"Saving…":"Save"}),(0,t.jsx)("button",{onClick:function(){W(!1),z("clean"),X("")},disabled:!eP||"saving"===G,className:"flex-1 sm:flex-none cfg-btn-ghost text-sm",children:"Discard"})]})]}):"present"===e0.status?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("pre",{className:"text-sm cfg-pre max-h-64 overflow-y-auto",children:e0.content}),(0,t.jsx)("button",{onClick:eQ,className:"mt-3 cfg-btn-ghost text-sm w-full sm:w-auto",children:"Edit"})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-sm cfg-muted",children:"No skill file yet. Create SKILL.md to give this agent standing instructions."}),(0,t.jsx)("button",{onClick:eQ,className:"mt-3 cfg-btn-ghost text-sm w-full sm:w-auto",children:"Create"})]}),(0,t.jsx)("p",{className:"mt-3 text-xs cfg-faint",children:"Appended verbatim as a system message at launch."})]})]}),(0,t.jsxs)("section",{className:"cfg-card",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsx)("h2",{className:"cfg-title",children:"Rules"}),e4]}),(0,t.jsx)("textarea",{value:P??"",onChange:e=>U(e.target.value),rows:8,className:"cfg-input cfg-input-sans text-sm"}),(0,t.jsx)("p",{className:"mt-2 text-xs cfg-faint",children:"Sent verbatim as the standing-rules system message on every turn. This beats the user's request for detail or length."}),"error"===F&&(0,t.jsxs)("p",{className:"mt-2 text-sm cfg-error",children:["Couldn't save: ",M,"."," ",(0,t.jsx)("button",{onClick:eV,className:"underline hover:no-underline",children:"Retry"})]}),(0,t.jsxs)("div",{className:"mt-3 flex gap-2",children:[(0,t.jsx)("button",{onClick:eV,disabled:!eL||"saving"===F,className:"flex-1 sm:flex-none cfg-btn-primary text-sm",children:"saving"===F?"Saving…":"Save"}),(0,t.jsx)("button",{onClick:function(){U(eI),q("clean"),H("")},disabled:!eL||"saving"===F,className:"flex-1 sm:flex-none cfg-btn-ghost text-sm",children:"Discard"})]})]}),(0,t.jsxs)("section",{className:"cfg-card",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsx)("h2",{className:"cfg-title",children:"Agent"}),e7]}),(()=>{if(!er||!el){let e=(0,d.registrationReadView)(eZ,"agent_deck"===eZ.launch_profile?ef:null,eg);return(0,t.jsxs)("div",{"data-field":"runtime-read",children:[(0,t.jsx)("dl",{className:"text-sm",children:e.rows.map(e=>(0,t.jsxs)("div",{"data-row":e.key,className:"flex flex-col sm:flex-row sm:justify-between gap-x-4 py-1 border-t cfg-line",children:[(0,t.jsx)("dt",{className:"cfg-faint",children:e.label}),(0,t.jsx)("dd",{className:"sm:text-right break-words cfg-muted",children:e.value})]},e.key))}),e.notices.map(e=>(0,t.jsxs)("p",{className:"text-sm cfg-dirty mt-2",children:[e," ",/Settings/.test(e)?(0,t.jsx)(s.default,{href:"/settings",className:"cfg-link",children:"Open Settings"}):null]},e)),(0,t.jsx)("button",{onClick:eW,className:"mt-3 cfg-btn-ghost text-sm w-full sm:w-auto",children:"Edit"})]})}let e=(0,d.registrationFormView)(el,ef,eh.state),n="agent_deck"!==eZ.launch_profile||(0,o.isMigratedPending)(eZ)?null:eZ.deck_id;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u.RegistrationFields,{idPrefix:"cfg",variant:"config",form:el,onChange:e=>{"agent_deck"===e.launchProfile&&"agent_deck"!==el.launchProfile&&em(),ec(t=>t?{...t,...e}:t),ek(""),eb(e=>"error"===e?"clean":e)},view:e,showErrors:eo,connections:eh.state,onRetryConnections:eh.retry,onAddConnection:eh.add,deckState:ef,onRetryDecks:em,savedDeckId:n,workdirPlaceholder:(0,o.defaultWorkdirFor)(eZ.id),workdirHint:(0,o.configWorkdirHint)(eZ.id),sessions:eg,includeHomeSession:!0}),"error"===ex&&(0,t.jsxs)("p",{className:"mt-2 text-sm cfg-error",role:"alert",children:[ev===v?ev:`Couldn't save: ${ev}.`," ",ev===v?null:(0,t.jsx)("button",{onClick:ez,className:"underline hover:no-underline",children:"Retry"})]}),(0,t.jsxs)("div",{className:"mt-3 flex gap-2",children:[(0,t.jsx)("button",{onClick:ez,disabled:!eF||"saving"===ex||e.submitDisabled,className:"flex-1 sm:flex-none cfg-btn-primary text-sm",children:"saving"===ex?"Saving…":"Save"}),(0,t.jsx)("button",{onClick:eJ,disabled:"saving"===ex,className:"flex-1 sm:flex-none cfg-btn-ghost text-sm",children:eF?"Discard":"Cancel"})]})]})})()]}),(0,t.jsxs)("section",{className:"cfg-card",children:[(0,t.jsx)("h2",{className:"cfg-title mb-3",children:"Template source"}),!e2&&(0,t.jsx)("p",{className:"text-sm cfg-muted mb-3",children:"Created manually in Botmancers — no template source."}),(0,t.jsxs)("dl",{className:"text-sm",children:[(0,t.jsxs)("div",{className:"flex justify-between gap-4 py-1 border-t cfg-line",children:[(0,t.jsx)("dt",{className:"cfg-faint",children:"Source provider"}),(0,t.jsx)("dd",{className:"text-right",children:eZ.source_provider??"—"})]}),(0,t.jsxs)("div",{className:"flex justify-between gap-4 py-1 border-t cfg-line",children:[(0,t.jsx)("dt",{className:"cfg-faint",children:"Template ID"}),(0,t.jsx)("dd",{className:"text-right",children:eZ.template_id??"—"})]}),(0,t.jsxs)("div",{className:"flex justify-between gap-4 py-1 border-t cfg-line",children:[(0,t.jsx)("dt",{className:"cfg-faint",children:"Template URL"}),(0,t.jsx)("dd",{className:"text-right break-all",children:eZ.template_url?(e=eZ.template_url).startsWith("http://")||e.startsWith("https://")?(0,t.jsx)("a",{href:eZ.template_url,className:"cfg-link",children:eZ.template_url}):eZ.template_url:"—"})]}),(0,t.jsxs)("div",{className:"flex justify-between gap-4 py-1 border-t cfg-line",children:[(0,t.jsx)("dt",{className:"cfg-faint",children:"Import schema version"}),(0,t.jsx)("dd",{className:"text-right",children:eZ.import_schema_version??"—"})]}),(0,t.jsxs)("div",{className:"flex justify-between gap-4 py-1 border-t cfg-line",children:[(0,t.jsx)("dt",{className:"cfg-faint",children:"Import operation ID"}),(0,t.jsx)("dd",{className:"text-right break-all",children:eZ.import_operation_id??"—"})]}),(0,t.jsxs)("div",{className:"flex justify-between gap-4 py-1 border-y cfg-line",children:[(0,t.jsx)("dt",{className:"cfg-faint",children:"Imported at"}),(0,t.jsx)("dd",{className:"text-right",children:eZ.import_timestamp?j(eZ.import_timestamp):"—"})]})]}),(0,t.jsx)(x,{phase:eD,onImport:()=>{eE()}})]})]}),(0,t.jsxs)("div",{className:"min-w-0 space-y-6","data-cfg-column":"secondary",children:[(0,t.jsxs)("section",{className:"cfg-card",children:[(0,t.jsx)("h2",{className:"cfg-title mb-3",children:"Launch snapshots"}),0===e3.length?(0,t.jsx)("p",{className:"text-sm cfg-muted",children:"No launches recorded yet."}):(0,t.jsx)("ul",{className:"space-y-3",children:e3.map(e=>{let n=e.hash===e1,s=!!et[e.id];return(0,t.jsxs)("li",{className:"cfg-row",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("p",{className:"text-sm",children:[j(e.created_at)," · ",e.id.slice(0,4),e.transport?` \xb7 ${e.transport}`:null]}),(0,t.jsx)("button",{onClick:()=>en(t=>({...t,[e.id]:!t[e.id]})),"aria-label":s?"Collapse snapshot detail":"Expand snapshot detail",className:"cfg-chevron px-1",children:s?"▾":"▸"})]}),(0,t.jsxs)("p",{className:"mt-1 text-sm",children:[(0,t.jsx)("code",{className:"cfg-code",children:e.hash.slice(0,12)})," ",(0,t.jsx)("button",{onClick:()=>eK(e.id,e.hash),className:"cfg-link text-sm",children:es===e.id?"Copied":"Copy"})]}),(0,t.jsx)("p",{className:"mt-1 text-sm",children:n?(0,t.jsx)("span",{className:"cfg-ok",children:"● Matches current config"}):(0,t.jsx)("span",{className:"cfg-faint",children:"○ Config changed since"})}),s&&(0,t.jsxs)("div",{className:"mt-3 pt-3 border-t cfg-line text-sm",children:[(0,t.jsxs)("p",{className:"cfg-muted break-all",children:[(0,t.jsx)("span",{className:"font-medium",children:"Launch ID:"})," ",e.id]}),(0,t.jsxs)("p",{className:"mt-1 cfg-muted break-all",children:[(0,t.jsx)("span",{className:"font-medium",children:"Hash:"})," ",(0,t.jsx)("code",{className:"cfg-code",children:e.hash})]}),(0,t.jsx)("dl",{className:"mt-2",children:k.map(n=>{let s=e.snapshot[n.key];return(0,t.jsxs)("div",{className:"py-1 border-t cfg-line",children:[(0,t.jsx)("dt",{className:"cfg-faint",children:n.label}),(0,t.jsx)("dd",{className:"whitespace-pre-wrap break-words",children:null==s?(0,t.jsx)("span",{className:"cfg-faint",children:"null"}):Array.isArray(s)?0===s.length?(0,t.jsx)("span",{className:"cfg-faint",children:"(none)"}):(0,t.jsx)("span",{className:"block max-h-32 overflow-y-auto",children:s.map(e=>`- ${e}`).join("\n")}):"boolean"==typeof s?String(s):""===s?(0,t.jsx)("span",{className:"cfg-faint",children:"(empty)"}):(0,t.jsx)("span",{className:"block max-h-32 overflow-y-auto",children:s})})]},n.key)})})]})]},e.id)})})]}),(0,t.jsx)(l,{agentId:eZ.id,agentName:eZ.name}),(0,t.jsxs)("section",{className:"cfg-card",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsx)("h2",{className:"cfg-title",children:"Avatar"}),e9]}),(0,t.jsxs)("div",{className:"flex items-center gap-4 mb-4",children:[(0,t.jsx)(h.default,{config:eM,size:96,title:"Avatar live preview"}),(0,t.jsx)("p",{className:"text-sm cfg-muted",children:"Outline style: the color is the line color, nothing is filled. Pick an option to preview, then Save."})]}),(0,t.jsx)(g,{attribute:"color",label:"Color",options:b.AVATAR_COLORS,current:eM,onPick:eY,className:"mb-3"}),(0,t.jsx)(g,{attribute:"eyes",label:"Eyes",options:b.AVATAR_EYES,current:eM,onPick:eY,className:"mb-3"}),(0,t.jsx)(g,{attribute:"hands",label:"Hands",options:b.AVATAR_HANDS,current:eM,onPick:eY,className:"mb-3"}),(0,t.jsx)(g,{attribute:"accessory",label:"Accessory",options:b.AVATAR_ACCESSORIES,current:eM,onPick:eY}),"error"===ew&&(0,t.jsxs)("p",{className:"mt-2 text-sm cfg-error",children:["Couldn't save: ",eC,"."," ",(0,t.jsx)("button",{onClick:eG,className:"underline hover:no-underline",children:"Retry"})]}),(0,t.jsxs)("div",{className:"mt-3 flex gap-2",children:[(0,t.jsx)("button",{onClick:eG,disabled:!eH||"saving"===ew,className:"flex-1 sm:flex-none cfg-btn-primary text-sm",children:"saving"===ew?"Saving…":"Save"}),(0,t.jsx)("button",{onClick:function(){e_(null),eS("clean"),e$("")},disabled:!eH||"saving"===ew,className:"flex-1 sm:flex-none cfg-btn-ghost text-sm",children:"Discard"})]})]}),(0,t.jsxs)("section",{className:"cfg-card cfg-danger","aria-labelledby":"cfg-danger-title",children:[(0,t.jsx)("h2",{id:"cfg-danger-title",className:"cfg-title mb-3",children:"Danger zone"}),(0,t.jsx)("p",{className:"text-sm cfg-muted",children:c.DELETE_REMOVES_COPY}),(0,t.jsx)("p",{className:"text-sm cfg-faint mt-2",children:c.DELETE_KEEPS_COPY}),(0,t.jsx)("button",{type:"button",onClick:()=>S(!0),className:"mt-3 delete-btn text-sm w-full sm:w-auto",children:"Delete agent"})]})]})]})]}),w?(0,t.jsx)(r.default,{ids:[eZ.id],onCancel:()=>S(!1),onDeleted:e=>y.push(`/?deleted=${Math.max(e.length,1)}`)}):null]})}],13978)},10331,3136,74904,4335,e=>{"use strict";var t=e.i(43476);let n=["hermes","cursor","claude","codex","muse"],s={hermes:"Hermes",cursor:"Cursor",claude:"Claude",codex:"Codex",muse:"Muse Code"},a="hermes";function r(e){return n.includes(String(e))?s[e]:String(e??"")}n.join("|"),e.s(["AGENTS",0,n,"AGENT_LABELS",0,s,"DEFAULT_AGENT",0,a,"agentLabel",0,r],3136);let i=n.map(e=>({value:e,label:s[e]})),l="/settings",c="Select an Agent Deck…",o="Runs use the configured Agent Deck server. Remote execution is unconfirmed — see Settings for the configured server.",d="Runs use the server above. Remote execution is unconfirmed.",u="Configure the Agent Deck server in Settings",f="Saved Agent Deck not on this server — saving keeps it unless you pick another.",m={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 x(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 b(e){return"connected"===e.status?null:m[e.status]}function v(e){return"empty"===e.status||"malformed"===e.status||"unreachable"===e.status}async function k(e,t,n=Date.now){let s,a;try{s=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 s.json()}catch{a=void 0}return function(e,t,n){let s="object"==typeof e.body&&null!==e.body?e.body:{},a="string"==typeof s.server_url?s.server_url:t.serverUrl,r={cachedDecks:t.cachedDecks,serverUrl:a,checkedAt:n};if("string"==typeof s.server_url&&!s.server_url.trim())return{...r,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,s=e.name;if("string"!=typeof t||!t.trim()||"string"!=typeof s||!s.trim())return null;n.push({id:t,name:s})}return n}(e.body);return t?{...r,cachedDecks:t,status:t.length>0?"connected":"empty",decks:t,error:""}:{...r,status:"malformed",decks:[],error:"Unexpected deck list shape."}}let i="string"==typeof s.error?s.error:`HTTP ${e.status}`,l="invalid-payload"===s.code||/unexpected deck payload/i.test(i);return{...r,status:l?"malformed":"unreachable",decks:[],error:i}}({ok:s.ok,status:s.status,body:a},t,n())}function y(e,t){let n=String(e??"").trim(),s=t?t.decks.length>0?t.decks:t.cachedDecks??[]:[];return s.find(e=>e.id===n)?.name??n}function j(e){return r((e.agent??"").trim()||a)}function N(e){return!_(e)&&(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){return"direct"===e.launch_profile}function w(e,t){if(N(e)||_(e))return!1;let n=t?"connected"===t.status||"empty"===t.status?t.decks.map(e=>e.id):"unconfigured"===t.status?null:t.cachedDecks?t.cachedDecks.map(e=>e.id):null:null;return!!n&&!n.includes((e.deck_id??"").trim())}function S(e){return`Agent: ${j(e)} \xb7 Agent Deck: `}function C(e,t){let n,s=(n=_(e)?`Agent: ${j(e)} \xb7 Launch: Direct`:N(e)?`${S(e)}not selected`:S(e)+y(e.deck_id??"",t),N(e)?`${n} — select in Config`:w(e,t)?n+" (deck unavailable — see Config)":n);if(N(e)||_(e))return{prefix:s,deck:"",suffix:""};let a=S(e),r=y(e.deck_id??"",t);return{prefix:a,deck:r,suffix:s.slice(a.length+r.length)}}function $(e){return`~/.botmancers/${e}`}let A=[{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,i,"DECK_PLACEHOLDER",0,c,"DECK_SLOT_COPY",0,m,"NEW_BOT_WORKDIR_HINT",0,"Default: ~/.botmancers/{agentID} — {agentID} is this agent's ID, assigned at creation.","NON_LOCAL_NOTE",0,o,"SAVED_DECK_MISSING_NOTE",0,f,"SETTINGS_ENDPOINT",0,"/api/agent-deck/settings","SETTINGS_LINK_COPY",0,u,"SETTINGS_NON_LOCAL_NOTE",0,d,"SETTINGS_PATH",0,l,"botAgentLabel",0,j,"configWorkdirHint",0,function(e){return`Default: ${$(e)} — leave blank to use it.`},"deckEventDisplay",0,function(e){let t=String(e??"").trimStart(),n=A.find(e=>t.startsWith(e.prefix));return n?{label:n.label,detail:t.slice(n.prefix.length).trim()}:null},"deckLabel",0,y,"deckSlotCopy",0,b,"deckStateShowsRetry",0,v,"defaultWorkdirFor",0,$,"fetchDeckList",0,k,"formatClock",0,p,"initialDeckListState",0,h,"isDeckUnavailable",0,w,"isMigratedPending",0,N,"rosterRuntimeParts",0,C,"settingsStatusLine",0,x],74904);let T={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 D({id:e,labelId:n,state:s,value:a,onChange:r,onRetry:i,savedDeckId:l,variant:o}){let d=T[o],u=b(s),m=(l??"").trim();if(null===u){let n=!!m&&!s.decks.some(e=>e.id===m);return(0,t.jsxs)("div",{"data-field":"deck","data-state":s.status,children:[(0,t.jsxs)("select",{id:e,className:d.control,"aria-required":"true","aria-describedby":n&&a===m?`${e}-saved-note`:void 0,value:a,title:a||void 0,onChange:e=>r(e.target.value),children:[(0,t.jsx)("option",{value:"",disabled:!0,children:c}),n?(0,t.jsxs)("option",{value:m,title:m,children:[m," (saved)"]}):null,s.decks.map(e=>(0,t.jsx)("option",{value:e.id,title:e.id,children:e.name},e.id))]}),n&&a===m?(0,t.jsx)("p",{id:`${e}-saved-note`,className:d.note,children:f}):null]})}return(0,t.jsxs)("div",{"data-field":"deck","data-state":s.status,role:"group","aria-labelledby":n,children:[m?(0,t.jsxs)("p",{className:d.note,children:["Saved Agent Deck: ",(0,t.jsx)("span",{title:m,children:m})]}):null,(0,t.jsxs)("p",{id:e,className:`${d.note} deck-slot`,role:"status",children:[(0,t.jsx)("span",{id:`${e}-copy`,children:u}),v(s)?(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsx)("button",{type:"button",className:d.retry,onClick:i,children:"Retry"})]}):null]})]})}e.s(["AgentDeckFields",0,function({idPrefix:e,variant:n,deckId:s,onDeckId:a,deckState:r,onRetry:i,savedDeckId:c,workingDirectory:d,onWorkingDirectory:f,workdirPlaceholder:m,workdirHint:h}){let g=T[n],p=null===b(r);return(0,t.jsxs)("div",{className:"agent-deck-fields",children:[(0,t.jsx)("label",{className:g.label,id:`${e}-deck-label`,htmlFor:p?`${e}-deck`:void 0,children:"Agent Deck"}),(0,t.jsx)(D,{id:`${e}-deck`,labelId:`${e}-deck-label`,state:r,value:s,onChange:a,onRetry:i,savedDeckId:c,variant:n}),(0,t.jsx)("a",{href:l,className:g.link,children:u}),(0,t.jsx)("label",{className:g.label,htmlFor:`${e}-workdir`,children:"Working directory (optional)"}),(0,t.jsx)("input",{id:`${e}-workdir`,type:"text",className:"config"===n?g.control:void 0,"data-field":"workdir","aria-describedby":`${e}-workdir-hint ${e}-workdir-note`,value:d,placeholder:m,onChange:e=>f(e.target.value)}),(0,t.jsx)("p",{id:`${e}-workdir-hint`,className:g.hint,children:h}),(0,t.jsx)("p",{id:`${e}-workdir-note`,className:g.hint,children:o})]})},"RosterRuntimeLine",0,function({bot:e,state:n}){let{prefix:s,deck:a,suffix:r}=C(e,n);return(0,t.jsxs)("div",{className:"bot-runtime",title:s+a+r,children:[s,a?(0,t.jsx)("span",{className:"bot-runtime-deck",children:a}):null,r]})},"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:x(e)}),v(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:d})]})}],10331);var E=e.i(71645);let R="botmancers.agentDeck.lastDecks";function I(e){return"object"==typeof e&&null!==e&&"string"==typeof e.id&&"string"==typeof e.name}let L=(e,t)=>{let n=new AbortController,s=setTimeout(()=>n.abort(),1e4);return fetch(e,{cache:"no-store",signal:n.signal,...t}).finally(()=>clearTimeout(s))};e.s(["useDeckList",0,function(e=!0){let[t,n]=(0,E.useState)(()=>h()),[s,a]=(0,E.useState)(0),r=(0,E.useRef)(null);return(0,E.useEffect)(()=>{if(!e)return;let t=!1;return k(L,h(r.current??function(){try{let e=window.localStorage.getItem(R);if(!e)return null;let t=JSON.parse(e);return Array.isArray(t)&&t.every(I)?t:null}catch{return null}}())).then(e=>{if(!t){r.current=e.cachedDecks;var s=e.cachedDecks;if(s)try{window.localStorage.setItem(R,JSON.stringify(s))}catch{}n(e)}}),()=>{t=!0}},[s,e]),{state:t,retry:(0,E.useCallback)(()=>{n(e=>({...e,status:"loading",decks:[],error:""})),a(e=>e+1)},[])}}],4335)},50814,63352,e=>{"use strict";function t(e){return`${new Date(e).toISOString().slice(0,16).replace("T"," ")} UTC`}let n="Not reported";function s(e){return e.toFixed(1).replace(/\.0$/,"")}function a(e){return e.toLocaleString("en-US")}function r(e){return 0===e?"$0.00":e>=.01?`$${e.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}`:e<1e-4?"<$0.0001":`$${e.toFixed(4)}`}let i={input_tokens:"Input tokens",output_tokens:"Output tokens",cost_usd:"Cost"};function l(e,t,n){return"cost_usd"===e?r(t):n?a(t):t<1e3?String(t):t<999950?`${s(t/1e3)}k`:t<99995e4?`${s(t/1e6)}M`:`${s(t/1e9)}B`}function c(e){return`${e} ${1===e?"run":"runs"}`}function o(e,t,s=!1){let a=i[e];if(!t||"unavailable"===t.quality||null===t.sum)return{name:a,text:n,quality:"unavailable",coverage:t&&t.total>0?`0 of ${c(t.total)} reported`:"No runs recorded",label:`${a}: not reported`};let r=l(e,t.sum,s),d=l(e,t.sum,!0);return"partial"===t.quality?{name:a,text:r,quality:"partial",coverage:`Partial: ${t.known} of ${c(t.total)} reported`,label:`${a}: at least ${d}, partial, reported by ${t.known} of ${c(t.total)}`}:{name:a,text:r,quality:"complete",coverage:`All ${c(t.total)} reported`,label:`${a}: ${d}, reported by all ${c(t.total)}`}}e.s(["SESSION_FILTER_OPTIONS",0,[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"ended",label:"Ended"}],"attemptLabel",0,function(e){let t="source"===e.role?"Started the session":"Resumed the session";return`${t} \xb7 ${e.outcome??"running"}`},"emptySessionsCopy",0,function(e,t){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,t,"runtimeLabel",0,function(e){return e.agent.transport?`${e.agent.adapter} \xb7 ${e.agent.transport}`:e.agent.adapter},"sessionStateTags",0,function(e){let t=[];return(e.home&&t.push("Home"),e.state?.availability==="missing")?[...t,"Missing"]:(e.state?.lifecycle==="archived"&&t.push("Archived"),e.state?.busy&&t.push("Busy"),(e.resumable||e.state?.resumable===!0)&&t.push("Resumable"),t)},"sessionUsageLine",0,function(e){let t=o("input_tokens",e?.input_tokens),s=o("output_tokens",e?.output_tokens),a=o("cost_usd",e?.cost_usd),r=[t,s,a];if(r.every(e=>"unavailable"===e.quality))return{text:n,label:"Usage: not reported",quality:"unavailable",partial:!1};let i=["unavailable"===t.quality?"input not reported":`${t.text} in`,"unavailable"===s.quality?"output not reported":`${s.text} out`,"unavailable"===a.quality?"cost not reported":a.text].join(" · "),l=r.some(e=>"partial"===e.quality),c=l||r.some(e=>"unavailable"===e.quality)?"partial":"complete";return{text:i,label:`Reported usage: ${r.map(e=>e.label).join("; ")}`,quality:c,partial:l}},"statusLabel",0,function(e){return"active"===e.status?"Active":"Ended"},"usageMetricView",0,o,"usageSampleLabel",0,function(e,t){let n="turn"===e.kind?"start"===e.turn_kind?"provider turn, started":"provider turn":"resume"===e.turn_kind?"resumed":"started";return`Run ${t+1} \xb7 ${n}`},"usageSampleValues",0,function(e){return{input:null===e.input_tokens?n:a(e.input_tokens),output:null===e.output_tokens?n:a(e.output_tokens),cost:null===e.cost_usd?n:r(e.cost_usd)}},"workRequestLabel",0,function(e){var t;let n=e.origin.work_request;return n?`${(t=n.execution_kind)?t[0].toUpperCase()+t.slice(1):t} \xb7 ${n.state}`:null}],63352);let d={ask:"Ask from this context",resume:"Resume work here",handoff:"Hand off to…"},u=["queued","extracting","delivering","completed","failed","cancelled"],f=["completed","failed","cancelled"];function m(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 h(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 g(e,t){return t.updated_at-e.updated_at||t.created_at-e.created_at||(e.id<t.id?-1:+(e.id>t.id))}e.s(["DEFAULT_LEDGER_FILTER",0,{mode:"all",state:"all",agentId:""},"INSTRUCTION_LIMIT",0,4e3,"MODE_FILTER_OPTIONS",0,[{value:"all",label:"All"},{value:"ask",label:"Ask"},{value:"continue",label:"Continue"}],"STATE_FILTER_OPTIONS",0,[{value:"all",label:"Any status"},{value:"active",label:"In progress"},{value:"queued",label:"Queued"},{value:"extracting",label:"Asking / extracting"},{value:"delivering",label:"Delivering"},{value:"completed",label:"Completed"},{value:"failed",label:"Failed"},{value:"cancelled",label:"Cancelled"}],"detailsHref",0,function(e){return`/exchanges?id=${encodeURIComponent(e)}`},"eventLabel",0,function(e,t){let n=e.data??{},s=t.source.agent_name,a=t.destination?.agent_name??"the destination Agent",r="string"==typeof n.hop?n.hop:null;switch(e.type){case"created":return"ask"===t.mode?`You asked ${s}'s session a question`:`You handed ${s}'s session to ${a}`;case"hop_queued":if("deliver"===r)return`Handoff queued for ${a}'s new session`;return"extract"===r?`Handoff extraction queued in ${s}'s session`:`Question queued for ${s}'s session`;case"hop_started":if("deliver"===r)return`${a} started a new session`;return"extract"===r?`${s}'s session started extracting the handoff`:`${s}'s session started answering`;case"state_changed":{let e="string"==typeof n.to&&u.includes(n.to)?n.to:null;return e?`Now ${m(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,h,"exchangeRequestBody",0,function(e,t,n){let s={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&&(s.destination={agent_id:e.destinationAgentId}),s},"failureAdvice",0,function(e){if("failed"!==e.state)return null;switch(e.failure?.code){case"packet_invalid":case"packet_missing":return"The source session did not return a usable handoff. Start a new Continue with a clearer objective.";case"destination_session_invalid":return"The destination did not start a fresh session. Check its runtime, then start a new Continue.";case"destination_turn_failed":return"Check the destination Agent’s runtime, then start a new Continue from the source session.";case"source_turn_failed":return"Check the source Agent’s runtime, then start a new exchange from its Sessions.";default:return"Start a new exchange from the session to try again."}},"formatExchangeTime",0,function(e){return t(e)},"instructionHeading",0,function(e){return"ask"===e?"Question":"Objective"},"ledgerAgents",0,function(e){let t=new Map;for(let n of e)t.set(n.source.agent_id,n.source.agent_name),n.destination&&t.set(n.destination.agent_id,n.destination.agent_name);return[...t.entries()].map(([e,t])=>({id:e,name:t})).sort((e,t)=>e.name.localeCompare(t.name)||e.id.localeCompare(t.id))},"ledgerRows",0,function(e,t){return e.filter(e=>("all"===t.mode||e.mode===t.mode)&&("active"!==t.state||!e.terminal)&&("all"===t.state||"active"===t.state||e.state===t.state)&&(!t.agentId||e.source.agent_id===t.agentId||e.destination?.agent_id===t.agentId)).sort(g)},"ledgerView",0,function(e,t,n){return null===e?t?"error":"loading":0===e.length?"empty":0===n.length?"filtered-out":"rows"},"linkRoleLabel",0,function(e){let t={origin:"Started here",source:"Source session",destination:"Destination"};return e.map(e=>t[e]).join(" · ")},"liveStateLabel",0,function(e){var t;return e.cancel_requested&&(t=e.state,!f.includes(t))?"Cancelling…":m(e.mode,e.state)},"modeLabel",0,function(e){return"ask"===e?"Ask":"Continue"},"outcomeLine",0,function(e){if("completed"===e.state){if("ask"===e.mode){let t=e.origin?.label??"the origin thread";return e.outcome.answer?`Answer in ${t}: ${h(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: ${h(e.outcome.reply,200)}`:`${t} picked it up in a new session.`}return"failed"===e.state?e.failure?.message||"The exchange failed.":"cancelled"===e.state?"Cancelled before it finished. Nothing more will run.":null},"participantsLabel",0,function(e){return"ask"===e.mode?`You → ${e.source.agent_name}`:`${e.source.agent_name} → ${e.destination?.agent_name??"another Agent"}`},"pinRequestBody",0,function(e,t,n,s,a){return{action:e,content:t.trim(),conversation_id:n,idempotency_key:a,..."resume"===e?{approve_write:s}:{}}},"sessionDialogMode",0,function(e){return"handoff"===e?"continue":e},"sessionDialogTitle",0,function(e){return d["continue"===e?"handoff":e]},"sessionDialogUsesPin",0,function(e,t){return"resume"===e||"ask"===e&&"provider"===t},"sessionLabel",0,function(e){return`${e.source.agent_name}'s session “${e.source.session_title}”`},"sessionRowActions",0,function(e){let t;if(e.actions)t=e.actions;else{let n="ended"===e.status?{available:!1,reason:"Ask from this context and Hand off to… are unavailable: this session has ended. Its history stays here."}:e.resumable?{available:!0}:{available:!1,reason:`Ask from this context and Hand off to… are unavailable: Botmancers can’t resume this session under ${e.agent.name}’s current runtime.`},s=n.available?{available:!0}:{available:!1,code:"ended"===e.status?"session_ended":"session_not_resumable",reason:n.reason,recovery:"choose_session"};t={ask:s,resume:{available:!1,code:"action_unavailable",reason:`${d.resume} is unavailable: this runtime can’t resume a session with edits.`,recovery:"choose_action"},handoff:s}}return["ask","resume","handoff"].map(e=>({action:e,label:d[e],availability:t[e]}))},"stateTone",0,function(e){return"completed"===e?"done":"failed"===e||"cancelled"===e?"stopped":"active"},"submitErrorMessage",0,function(e,t){switch(e){case"session_ended":return"This session has ended and can’t be resumed.";case"session_not_resumable":return"Botmancers can’t resume this session under the Agent’s current runtime.";case"source_session_busy":return"This session already has an exchange in progress. Wait for it or cancel it from its card.";case"agent_unavailable":return t||"That Agent has no Agent Deck selected.";case"idempotency_conflict":return"This request changed while it was being sent. Send again.";case"session_missing":return"The runtime no longer has this session. Its history stays here; choose another session.";case"approval_required":return"Resume work here needs your approval of edits. Tick the approval, then send again.";case"authority_not_allowed":return t||"This Agent’s policy doesn’t allow edits in a resumed session. Change it in Config.";case"action_unavailable":return t||"This runtime can’t do that in this session. Choose another action.";case"provider_failed":return"The runtime failed this turn. Nothing moved to another session; try again later.";default:return t||"The exchange could not be started. Your draft is kept; try again."}},"threadHref",0,function(e,t){let n=new URLSearchParams;if(e.thread_agent_id)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 s=n.toString();return`/threads/${encodeURIComponent(e.id)}${s?`?${s}`:""}`},"validateDraft",0,function(e){let t={},n=e.instruction.trim(),s="ask"===e.mode?"a question":"an objective";return n?e.instruction.length>4e3&&(t.instruction="Keep it under 4000 characters."):t.instruction=`Enter ${s}.`,e.originConversationId||(t.origin="Choose the thread that follows this exchange."),"continue"!==e.mode||e.destinationAgentId||(t.destination="Choose the Agent who continues the work."),t},"validateResumeDraft",0,function(e,t){let n={};return e.trim()?e.length>4e3&&(n.instruction="Keep it under 4000 characters."):n.instruction="Enter what to work on.",t||(n.approval="Approve edits in this session to resume work here."),n}],50814)},22016,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var s={default:function(){return x},useLinkStatus:function(){return v}};for(var a in s)Object.defineProperty(n,a,{enumerable:!0,get:s[a]});let r=e.r(90809),i=e.r(43476),l=r._(e.r(71645)),c=e.r(95057),o=e.r(8372),d=e.r(18581),u=e.r(18967),f=e.r(5550),m=e.r(88540),h=e.r(91949),g=e.r(73668),p=e.r(9396);function x(t){var n;let s,a,r,[x,v]=(0,l.useOptimistic)(h.IDLE_LINK_STATUS),k=(0,l.useRef)(null),{href:y,as:j,children:N,prefetch:_=null,passHref:w,replace:S,shallow:C,scroll:$,onClick:A,onMouseEnter:T,onTouchStart:D,legacyBehavior:E=!1,onNavigate:R,transitionTypes:I,ref:L,unstable_dynamicOnHover:O,...P}=t;s=N,E&&("string"==typeof s||"number"==typeof s)&&(s=(0,i.jsx)("a",{children:s}));let U=l.default.useContext(o.AppRouterContext),F=!1!==_,q=!1===_?"none":!0===_?"full":"auto",M="none"!==q?"auto"===q?p.FetchStrategy.PPR:p.FetchStrategy.Full:p.FetchStrategy.PPR,H="string"==typeof(n=j||y)?n:(0,c.formatUrl)(n);if(E){if(s?.$$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=l.default.Children.only(s)}let B=E?a&&"object"==typeof a&&a.ref:L,K,V=l.default.useCallback(e=>(null!==U&&(k.current=(0,h.mountLinkInstance)(e,H,U,M,F,v,K)),()=>{k.current&&((0,h.unmountLinkForCurrentNavigation)(k.current),k.current=null),(0,h.unmountPrefetchableInstance)(e)}),[F,H,U,M,v,K]),W={ref:(0,d.useMergedRef)(V,B),onClick(t){E||"function"!=typeof A||A(t),E&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!U||t.defaultPrevented||function(t,n,s,a,r,i,c,o="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,g.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);l.default.startTransition(()=>{f(n,a?"replace":"push",!1===r?m.ScrollBehavior.NoScroll:m.ScrollBehavior.Default,s.current,c,o)})}}(t,H,k,S,$,R,I,q)},onMouseEnter(e){E||"function"!=typeof T||T(e),E&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),U&&F&&(0,h.onNavigationIntent)(e.currentTarget,!0===O)},onTouchStart:function(e){E||"function"!=typeof D||D(e),E&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),U&&F&&(0,h.onNavigationIntent)(e.currentTarget,!0===O)}};return(0,u.isAbsoluteUrl)(H)?W.href=H:E&&!w&&("a"!==a.type||"href"in a.props)||(W.href=(0,f.addBasePath)(H)),r=E?l.default.cloneElement(a,W):(0,i.jsx)("a",{...P,...W,children:s}),(0,i.jsx)(b.Provider,{value:x,children:r})}let b=(0,l.createContext)(h.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 a}});let s=e.r(71645);function a(e,t){let n=(0,s.useRef)(null),a=(0,s.useRef)(null);return(0,s.useCallback)(s=>{if(null===s){let e=n.current;e&&(n.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(n.current=r(e,s)),t&&(a.current=r(t,s))},[e,t])}function r(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 r}});let s=e.r(18967),a=e.r(52817);function r(e){if(!(0,s.isAbsoluteUrl)(e))return!0;try{let t=(0,s.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 s={assign:function(){return c},searchParamsToUrlQuery:function(){return r},urlQueryToSearchParams:function(){return l}};for(var a in s)Object.defineProperty(n,a,{enumerable:!0,get:s[a]});function r(e){let t={};for(let[n,s]of e.entries()){let e=t[n];void 0===e?t[n]=s:Array.isArray(e)?e.push(s):t[n]=[e,s]}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,s]of Object.entries(e))if(Array.isArray(s))for(let e of s)t.append(n,i(e));else t.set(n,i(s));return t}function c(e,...t){for(let n of t){for(let t of n.keys())e.delete(t);for(let[t,s]of n.entries())e.append(t,s)}return e}},95057,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var s={formatUrl:function(){return l},formatWithValidation:function(){return o},urlObjectKeys:function(){return c}};for(var a in s)Object.defineProperty(n,a,{enumerable:!0,get:s[a]});let r=e.r(90809)._(e.r(98183)),i=/https?|ftp|gopher|file/;function l(e){let{auth:t,hostname:n}=e,s=e.protocol||"",a=e.pathname||"",l=e.hash||"",c=e.query||"",o=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?o=t+e.host:n&&(o=t+(~n.indexOf(":")?`[${n}]`:n),e.port&&(o+=":"+e.port)),c&&"object"==typeof c&&(c=String(r.urlQueryToSearchParams(c)));let d=e.search||c&&`?${c}`||"";return s&&!s.endsWith(":")&&(s+=":"),e.slashes||(!s||i.test(s))&&!1!==o?(o="//"+(o||""),a&&"/"!==a[0]&&(a="/"+a)):o||(o=""),l&&"#"!==l[0]&&(l="#"+l),d&&"?"!==d[0]&&(d="?"+d),a=a.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${s}${o}${a}${d}${l}`}let c=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function o(e){return l(e)}},18967,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var s={DecodeError:function(){return x},MiddlewareNotFoundError:function(){return y},MissingStaticPage:function(){return k},NormalizeError:function(){return b},PageNotFoundError:function(){return v},SP:function(){return g},ST:function(){return p},WEB_VITALS:function(){return r},execOnce:function(){return i},getDisplayName:function(){return u},getLocationOrigin:function(){return o},getURL:function(){return d},isAbsoluteUrl:function(){return c},isResSent:function(){return f},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return m},stringifyError:function(){return j}};for(var a in s)Object.defineProperty(n,a,{enumerable:!0,get:s[a]});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,n=!1;return(...s)=>(n||(n=!0,t=e(...s)),t)}let l=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,c=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&l.test(e)};function o(){let{protocol:e,hostname:t,port:n}=window.location;return`${e}//${t}${n?":"+n:""}`}function d(){let{href:e}=window.location,t=o();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 m(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let s=await e.getInitialProps(t);if(n&&f(n))return s;if(!s)throw Object.defineProperty(Error(`"${u(e)}.getInitialProps()" should resolve to an object. But found "${s}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return s}let g="u">typeof performance,p=g&&["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 k extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class y extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function j(e){return JSON.stringify({message:e.message,stack:e.stack})}},18566,(e,t,n)=>{t.exports=e.r(76562)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,13255,e=>{"use strict";var t=e.i(43476),n=e.i(71645),a=e.i(22016),r=e.i(50814);e.s(["default",0,function({summary:e,onChanged:s}){let[i,l]=(0,n.useState)(!1),[o,c]=(0,n.useState)(""),u=(0,r.stateTone)(e.state),d=(0,r.outcomeLine)(e),h=(0,r.failureAdvice)(e),f=`exchange-${e.id}-title`,g=async()=>{if(!i){l(!0),c("");try{let t=await fetch(`/api/exchanges/${encodeURIComponent(e.id)}/cancel`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"});if(!t.ok){let e=await t.json().catch(()=>null);c("string"==typeof e?.error?.message?e.error.message:"Could not cancel. Try again.")}}catch{c("Could not cancel. Try again.")}finally{l(!1),s?.()}}};return(0,t.jsxs)("article",{id:`exchange-${e.id}`,className:`exchange-card is-${u} is-${e.state}`,"data-exchange-id":e.id,"data-exchange-state":e.state,"aria-labelledby":f,tabIndex:-1,children:[(0,t.jsxs)("p",{className:"exchange-card-line",children:[(0,t.jsx)("span",{className:"exchange-card-mode",children:(0,r.modeLabel)(e.mode)}),(0,t.jsx)("span",{id:f,className:"exchange-card-title",children:(0,r.participantsLabel)(e)}),(0,t.jsx)("span",{className:"exchange-card-state",role:"status",children:(0,r.liveStateLabel)(e)})]}),(0,t.jsx)("p",{className:"exchange-card-session",children:(0,r.sessionLabel)(e)}),(0,t.jsxs)("p",{className:"exchange-card-instruction",children:[(0,t.jsx)("span",{className:"exchange-card-key",children:(0,r.instructionHeading)(e.mode)})," ",(0,r.excerpt)(e.instruction,220)]}),d?(0,t.jsx)("p",{className:"failed"===e.state?"exchange-card-outcome is-failure":"exchange-card-outcome",children:d}):null,h?(0,t.jsx)("p",{className:"exchange-card-advice",children:h}):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 ",(0,r.formatExchangeTime)(e.updated_at)]}),(0,t.jsx)(a.default,{className:"exchange-card-link",href:(0,r.detailsHref)(e.id),"aria-label":`Details: ${(0,r.modeLabel)(e.mode)} ${(0,r.participantsLabel)(e)}`,children:"Details"}),e.can_cancel?(0,t.jsx)("button",{type:"button",className:"exchange-card-cancel",disabled:i,onClick:()=>{g()},children:i?"Cancelling…":"Cancel"}):null]})]})}])},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,u]=(0,n.useState)(null),[d,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(""),u(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,d?(0,t.jsxs)("div",{role:"alert",className:"ledger-state",children:[(0,t.jsx)("p",{className:"delete-error",children:d}),(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:_}=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,_?(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:_.objective}),[["Decisions",_.decisions],["Constraints",_.constraints],["Artifacts and references",_.artifacts],["Open questions",_.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),[u,d]=(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),_=(0,n.useRef)(null);(0,n.useEffect)(()=>{let e=_.current;if(_.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 d("string"==typeof n?.error?.message?n.error.message:"Could not load exchanges.");d(""),r(n.exchanges)}}).catch(()=>{e||d("Could not load exchanges.")})};t();let n=setInterval(t,2e3);return()=>{e=!0,clearInterval(n)}},[h]);let j=e=>{window.history.pushState(null,"",e?`/exchanges?id=${encodeURIComponent(e)}`:"/exchanges"),window.dispatchEvent(new Event(i))},w=e?(0,s.ledgerRows)(e,g):[],N=(0,s.ledgerView)(e,e?"":u,w),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?`${w.length} of ${e.length} shown`:""})]}),"loading"===N?(0,t.jsx)("p",{className:"ledger-state",role:"status","data-ledger-state":"loading",children:"Loading exchanges…"}):null,"error"===N?(0,t.jsxs)("div",{className:"ledger-state",role:"alert","data-ledger-state":"error",children:[(0,t.jsx)("p",{className:"delete-error",children:u}),(0,t.jsx)("button",{type:"button",className:"pin-word",onClick:()=>{d(""),f(e=>e+1)},children:"Retry"})]}):null,"empty"===N?(0,t.jsx)("p",{className:"ledger-state","data-ledger-state":"empty",children:"No exchanges yet. Open an Agent’s Sessions and choose Ask from this context or Hand off to… to start one."}):null,"filtered-out"===N?(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"===N?(0,t.jsx)("ol",{className:"ledger-list","aria-label":"Exchanges, newest activity first",children:w.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:()=>j(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:()=>j(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."})})]})]})}])},50814,63352,e=>{"use strict";function t(e){return`${new Date(e).toISOString().slice(0,16).replace("T"," ")} UTC`}let n="Not reported";function a(e){return e.toFixed(1).replace(/\.0$/,"")}function r(e){return e.toLocaleString("en-US")}function s(e){return 0===e?"$0.00":e>=.01?`$${e.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}`:e<1e-4?"<$0.0001":`$${e.toFixed(4)}`}let i={input_tokens:"Input tokens",output_tokens:"Output tokens",cost_usd:"Cost"};function l(e,t,n){return"cost_usd"===e?s(t):n?r(t):t<1e3?String(t):t<999950?`${a(t/1e3)}k`:t<99995e4?`${a(t/1e6)}M`:`${a(t/1e9)}B`}function o(e){return`${e} ${1===e?"run":"runs"}`}function c(e,t,a=!1){let r=i[e];if(!t||"unavailable"===t.quality||null===t.sum)return{name:r,text:n,quality:"unavailable",coverage:t&&t.total>0?`0 of ${o(t.total)} reported`:"No runs recorded",label:`${r}: not reported`};let s=l(e,t.sum,a),u=l(e,t.sum,!0);return"partial"===t.quality?{name:r,text:s,quality:"partial",coverage:`Partial: ${t.known} of ${o(t.total)} reported`,label:`${r}: at least ${u}, partial, reported by ${t.known} of ${o(t.total)}`}:{name:r,text:s,quality:"complete",coverage:`All ${o(t.total)} reported`,label:`${r}: ${u}, reported by all ${o(t.total)}`}}e.s(["SESSION_FILTER_OPTIONS",0,[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"ended",label:"Ended"}],"attemptLabel",0,function(e){let t="source"===e.role?"Started the session":"Resumed the session";return`${t} \xb7 ${e.outcome??"running"}`},"emptySessionsCopy",0,function(e,t){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,t,"runtimeLabel",0,function(e){return e.agent.transport?`${e.agent.adapter} \xb7 ${e.agent.transport}`:e.agent.adapter},"sessionStateTags",0,function(e){let t=[];return(e.home&&t.push("Home"),e.state?.availability==="missing")?[...t,"Missing"]:(e.state?.lifecycle==="archived"&&t.push("Archived"),e.state?.busy&&t.push("Busy"),(e.resumable||e.state?.resumable===!0)&&t.push("Resumable"),t)},"sessionUsageLine",0,function(e){let t=c("input_tokens",e?.input_tokens),a=c("output_tokens",e?.output_tokens),r=c("cost_usd",e?.cost_usd),s=[t,a,r];if(s.every(e=>"unavailable"===e.quality))return{text:n,label:"Usage: not reported",quality:"unavailable",partial:!1};let i=["unavailable"===t.quality?"input not reported":`${t.text} in`,"unavailable"===a.quality?"output not reported":`${a.text} out`,"unavailable"===r.quality?"cost not reported":r.text].join(" · "),l=s.some(e=>"partial"===e.quality),o=l||s.some(e=>"unavailable"===e.quality)?"partial":"complete";return{text:i,label:`Reported usage: ${s.map(e=>e.label).join("; ")}`,quality:o,partial:l}},"statusLabel",0,function(e){return"active"===e.status?"Active":"Ended"},"usageMetricView",0,c,"usageSampleLabel",0,function(e,t){let n="turn"===e.kind?"start"===e.turn_kind?"provider turn, started":"provider turn":"resume"===e.turn_kind?"resumed":"started";return`Run ${t+1} \xb7 ${n}`},"usageSampleValues",0,function(e){return{input:null===e.input_tokens?n:r(e.input_tokens),output:null===e.output_tokens?n:r(e.output_tokens),cost:null===e.cost_usd?n:s(e.cost_usd)}},"workRequestLabel",0,function(e){var t;let n=e.origin.work_request;return n?`${(t=n.execution_kind)?t[0].toUpperCase()+t.slice(1):t} \xb7 ${n.state}`:null}],63352);let u={ask:"Ask from this context",resume:"Resume work here",handoff:"Hand off to…"},d=["queued","extracting","delivering","completed","failed","cancelled"],h=["completed","failed","cancelled"];function f(e,t){switch(t){case"queued":return"Queued";case"extracting":return"ask"===e?"Asking the session":"Extracting handoff";case"delivering":return"Delivering handoff";case"completed":return"ask"===e?"Answered":"Handed off";case"failed":return"Failed";case"cancelled":return"Cancelled"}}function g(e,t=140){let n=String(e??"").split("\n").map(e=>e.trim()).filter(e=>e.length>0).join(" ");return n.length>t?`${n.slice(0,t-1).trimEnd()}…`:n}function p(e,t){return t.updated_at-e.updated_at||t.created_at-e.created_at||(e.id<t.id?-1:+(e.id>t.id))}e.s(["DEFAULT_LEDGER_FILTER",0,{mode:"all",state:"all",agentId:""},"INSTRUCTION_LIMIT",0,4e3,"MODE_FILTER_OPTIONS",0,[{value:"all",label:"All"},{value:"ask",label:"Ask"},{value:"continue",label:"Continue"}],"STATE_FILTER_OPTIONS",0,[{value:"all",label:"Any status"},{value:"active",label:"In progress"},{value:"queued",label:"Queued"},{value:"extracting",label:"Asking / extracting"},{value:"delivering",label:"Delivering"},{value:"completed",label:"Completed"},{value:"failed",label:"Failed"},{value:"cancelled",label:"Cancelled"}],"detailsHref",0,function(e){return`/exchanges?id=${encodeURIComponent(e)}`},"eventLabel",0,function(e,t){let n=e.data??{},a=t.source.agent_name,r=t.destination?.agent_name??"the destination Agent",s="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"===s)return`Handoff queued for ${r}'s new session`;return"extract"===s?`Handoff extraction queued in ${a}'s session`:`Question queued for ${a}'s session`;case"hop_started":if("deliver"===s)return`${r} started a new session`;return"extract"===s?`${a}'s session started extracting the handoff`:`${a}'s session started answering`;case"state_changed":{let e="string"==typeof n.to&&d.includes(n.to)?n.to:null;return e?`Now ${f(t.mode,e).toLowerCase()}`:"State changed"}case"answer_returned":return`Answer returned to ${t.origin?.label??"the origin thread"}${n.truncated?" (shortened)":""}`;case"packet_extracted":return"Handoff packet extracted";case"packet_rejected":return`Handoff packet refused${"string"==typeof n.reason?`: ${n.reason}`:""}`;case"destination_replied":return`${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,g,"exchangeRequestBody",0,function(e,t,n){let a={mode:e.mode,idempotency_key:n,origin_conversation_id:e.originConversationId,source:{agent_id:t.agentId,session_ref:t.sessionRef},instruction:e.instruction.trim()};return"continue"===e.mode&&(a.destination={agent_id:e.destinationAgentId}),a},"failureAdvice",0,function(e){if("failed"!==e.state)return null;switch(e.failure?.code){case"packet_invalid":case"packet_missing":return"The source session did not return a usable handoff. Start a new Continue with a clearer objective.";case"destination_session_invalid":return"The destination did not start a fresh session. Check its runtime, then start a new Continue.";case"destination_turn_failed":return"Check the destination Agent’s runtime, then start a new Continue from the source session.";case"source_turn_failed":return"Check the source Agent’s runtime, then start a new exchange from its Sessions.";default:return"Start a new exchange from the session to try again."}},"formatExchangeTime",0,function(e){return t(e)},"instructionHeading",0,function(e){return"ask"===e?"Question":"Objective"},"ledgerAgents",0,function(e){let t=new Map;for(let n of e)t.set(n.source.agent_id,n.source.agent_name),n.destination&&t.set(n.destination.agent_id,n.destination.agent_name);return[...t.entries()].map(([e,t])=>({id:e,name:t})).sort((e,t)=>e.name.localeCompare(t.name)||e.id.localeCompare(t.id))},"ledgerRows",0,function(e,t){return e.filter(e=>("all"===t.mode||e.mode===t.mode)&&("active"!==t.state||!e.terminal)&&("all"===t.state||"active"===t.state||e.state===t.state)&&(!t.agentId||e.source.agent_id===t.agentId||e.destination?.agent_id===t.agentId)).sort(p)},"ledgerView",0,function(e,t,n){return null===e?t?"error":"loading":0===e.length?"empty":0===n.length?"filtered-out":"rows"},"linkRoleLabel",0,function(e){let t={origin:"Started here",source:"Source session",destination:"Destination"};return e.map(e=>t[e]).join(" · ")},"liveStateLabel",0,function(e){var t;return e.cancel_requested&&(t=e.state,!h.includes(t))?"Cancelling…":f(e.mode,e.state)},"modeLabel",0,function(e){return"ask"===e?"Ask":"Continue"},"outcomeLine",0,function(e){if("completed"===e.state){if("ask"===e.mode){let t=e.origin?.label??"the origin thread";return e.outcome.answer?`Answer in ${t}: ${g(e.outcome.answer,200)}`:`Answered in ${t}.`}let t=e.destination?.agent_name??"The destination Agent";return e.outcome.reply?`${t} picked it up in a new session: ${g(e.outcome.reply,200)}`:`${t} picked it up in a new session.`}return"failed"===e.state?e.failure?.message||"The exchange failed.":"cancelled"===e.state?"Cancelled before it finished. Nothing more will run.":null},"participantsLabel",0,function(e){return"ask"===e.mode?`You → ${e.source.agent_name}`:`${e.source.agent_name} → ${e.destination?.agent_name??"another Agent"}`},"pinRequestBody",0,function(e,t,n,a,r){return{action:e,content:t.trim(),conversation_id:n,idempotency_key:r,..."resume"===e?{approve_write:a}:{}}},"sessionDialogMode",0,function(e){return"handoff"===e?"continue":e},"sessionDialogTitle",0,function(e){return u["continue"===e?"handoff":e]},"sessionDialogUsesPin",0,function(e,t){return"resume"===e||"ask"===e&&"provider"===t},"sessionLabel",0,function(e){return`${e.source.agent_name}'s session “${e.source.session_title}”`},"sessionRowActions",0,function(e){let t;if(e.actions)t=e.actions;else{let n="ended"===e.status?{available:!1,reason:"Ask from this context and Hand off to… are unavailable: this session has ended. Its history stays here."}:e.resumable?{available:!0}:{available:!1,reason:`Ask from this context and Hand off to… are unavailable: Botmancers can’t resume this session under ${e.agent.name}’s current runtime.`},a=n.available?{available:!0}:{available:!1,code:"ended"===e.status?"session_ended":"session_not_resumable",reason:n.reason,recovery:"choose_session"};t={ask:a,resume:{available:!1,code:"action_unavailable",reason:`${u.resume} is unavailable: this runtime can’t resume a session with edits.`,recovery:"choose_action"},handoff:a}}return["ask","resume","handoff"].map(e=>({action:e,label:u[e],availability:t[e]}))},"stateTone",0,function(e){return"completed"===e?"done":"failed"===e||"cancelled"===e?"stopped":"active"},"submitErrorMessage",0,function(e,t){switch(e){case"session_ended":return"This session has ended and can’t be resumed.";case"session_not_resumable":return"Botmancers can’t resume this session under the Agent’s current runtime.";case"source_session_busy":return"This session already has an exchange in progress. Wait for it or cancel it from its card.";case"agent_unavailable":return t||"That Agent has no Agent Deck selected.";case"idempotency_conflict":return"This request changed while it was being sent. Send again.";case"session_missing":return"The runtime no longer has this session. Its history stays here; choose another session.";case"approval_required":return"Resume work here needs your approval of edits. Tick the approval, then send again.";case"authority_not_allowed":return t||"This Agent’s policy doesn’t allow edits in a resumed session. Change it in Config.";case"action_unavailable":return t||"This runtime can’t do that in this session. Choose another action.";case"provider_failed":return"The runtime failed this turn. Nothing moved to another session; try again later.";default:return t||"The exchange could not be started. Your draft is kept; try again."}},"threadHref",0,function(e,t){let n=new URLSearchParams;if(e.thread_agent_id)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},"validateResumeDraft",0,function(e,t){let n={};return e.trim()?e.length>4e3&&(n.instruction="Keep it under 4000 characters."):n.instruction="Enter what to work on.",t||(n.approval="Approve edits in this session to resume work here."),n}],50814)},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),u=e.r(18581),d=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:_,as:j,children:w,prefetch:N=null,passHref:k,replace:$,shallow:S,scroll:C,onClick:E,onMouseEnter:T,onTouchStart:A,legacyBehavior:L=!1,onNavigate:I,transitionTypes:R,ref:O,unstable_dynamicOnHover:P,...U}=t;a=w,L&&("string"==typeof a||"number"==typeof a)&&(a=(0,i.jsx)("a",{children:a}));let q=l.default.useContext(c.AppRouterContext),D=!1!==N,F=!1===N?"none":!0===N?"full":"auto",M="none"!==F?"auto"===F?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,B="string"==typeof(n=j||_)?n:(0,o.formatUrl)(n);if(L){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=L?r&&"object"==typeof r&&r.ref:O,K,Q=l.default.useCallback(e=>(null!==q&&(y.current=(0,g.mountLinkInstance)(e,B,q,M,D,v,K)),()=>{y.current&&((0,g.unmountLinkForCurrentNavigation)(y.current),y.current=null),(0,g.unmountPrefetchableInstance)(e)}),[D,B,q,M,v,K]),z={ref:(0,u.useMergedRef)(Q,H),onClick(t){L||"function"!=typeof E||E(t),L&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(t),!q||t.defaultPrevented||function(t,n,a,r,s,i,o,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)(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,I,R,F)},onMouseEnter(e){L||"function"!=typeof T||T(e),L&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),q&&D&&(0,g.onNavigationIntent)(e.currentTarget,!0===P)},onTouchStart:function(e){L||"function"!=typeof A||A(e),L&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),q&&D&&(0,g.onNavigationIntent)(e.currentTarget,!0===P)}};return(0,d.isAbsoluteUrl)(B)?z.href=B:L&&!k&&("a"!==r.type||"href"in r.props)||(z.href=(0,h.addBasePath)(B)),s=L?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 u=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),u&&"?"!==u[0]&&(u="?"+u),r=r.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${a}${c}${r}${u}${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 _},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 d},getLocationOrigin:function(){return c},getURL:function(){return u},isAbsoluteUrl:function(){return o},isResSent:function(){return h},loadGetInitialProps:function(){return g},normalizeRepeatedSlashes:function(){return f},stringifyError:function(){return j}};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 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 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(`"${d(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 _ extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function j(e){return JSON.stringify({message:e.message,stack:e.stack})}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,13255,e=>{"use strict";var t=e.i(43476),n=e.i(71645),r=e.i(22016),a=e.i(50814);e.s(["default",0,function({summary:e,onChanged:s}){let[o,i]=(0,n.useState)(!1),[l,u]=(0,n.useState)(""),c=(0,a.stateTone)(e.state),d=(0,a.outcomeLine)(e),f=(0,a.failureAdvice)(e),h=`exchange-${e.id}-title`,p=async()=>{if(!o){i(!0),u("");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);u("string"==typeof e?.error?.message?e.error.message:"Could not cancel. Try again.")}}catch{u("Could not cancel. Try again.")}finally{i(!1),s?.()}}};return(0,t.jsxs)("article",{id:`exchange-${e.id}`,className:`exchange-card is-${c} is-${e.state}`,"data-exchange-id":e.id,"data-exchange-state":e.state,"aria-labelledby":h,tabIndex:-1,children:[(0,t.jsxs)("p",{className:"exchange-card-line",children:[(0,t.jsx)("span",{className:"exchange-card-mode",children:(0,a.modeLabel)(e.mode)}),(0,t.jsx)("span",{id:h,className:"exchange-card-title",children:(0,a.participantsLabel)(e)}),(0,t.jsx)("span",{className:"exchange-card-state",role:"status",children:(0,a.liveStateLabel)(e)})]}),(0,t.jsx)("p",{className:"exchange-card-session",children:(0,a.sessionLabel)(e)}),(0,t.jsxs)("p",{className:"exchange-card-instruction",children:[(0,t.jsx)("span",{className:"exchange-card-key",children:(0,a.instructionHeading)(e.mode)})," ",(0,a.excerpt)(e.instruction,220)]}),d?(0,t.jsx)("p",{className:"failed"===e.state?"exchange-card-outcome is-failure":"exchange-card-outcome",children:d}):null,f?(0,t.jsx)("p",{className:"exchange-card-advice",children:f}):null,l?(0,t.jsx)("p",{className:"exchange-card-error",role:"alert",children:l}):null,(0,t.jsxs)("p",{className:"exchange-card-foot",children:[(0,t.jsxs)("span",{className:"exchange-card-time",children:["Updated ",(0,a.formatExchangeTime)(e.updated_at)]}),(0,t.jsx)(r.default,{className:"exchange-card-link",href:(0,a.detailsHref)(e.id),"aria-label":`Details: ${(0,a.modeLabel)(e.mode)} ${(0,a.participantsLabel)(e)}`,children:"Details"}),e.can_cancel?(0,t.jsx)("button",{type:"button",className:"exchange-card-cancel",disabled:o,onClick:()=>{p()},children:o?"Cancelling…":"Cancel"}):null]})]})}])},61138,e=>{"use strict";var t=e.i(43476),n=e.i(71645),r=e.i(22016),a=e.i(18566),s=e.i(13255);e.s(["default",0,function(){let e=String((0,a.useParams)().id??""),[o,i]=(0,n.useState)(null),[l,u]=(0,n.useState)([]),[c,d]=(0,n.useState)([]),[f,h]=(0,n.useState)(""),[p,g]=(0,n.useState)(0),m=(0,n.useRef)(null);(0,n.useEffect)(()=>{m.current=new URLSearchParams(window.location.search).get("exchange")},[]),(0,n.useEffect)(()=>{if(!e)return;let t=!1,n=async()=>{try{let[n,r,a]=await Promise.all([fetch(`/api/conversations/${encodeURIComponent(e)}`,{cache:"no-store"}),fetch(`/api/conversations/${encodeURIComponent(e)}/messages`,{cache:"no-store"}),fetch(`/api/exchanges?conversation=${encodeURIComponent(e)}`,{cache:"no-store"})]);if(t)return;if(!n.ok)return void h(404===n.status?"This thread no longer exists.":"Could not load this thread.");let s=await n.json(),o=await r.json().catch(()=>null),l=await a.json().catch(()=>null);if(t)return;let c=s?.details??null,f=Array.isArray(c?.members)?c.members.map(e=>e?.name).filter(Boolean):[];i({label:c?.name?`Group ${c.name}`:"Group thread",members:f}),r.ok&&Array.isArray(o)&&u(o),a.ok&&Array.isArray(l?.exchanges)&&d(l.exchanges),h("")}catch{t||h("Could not load this thread.")}};n();let r=setInterval(n,2e3);return()=>{t=!0,clearInterval(r)}},[e,p]),(0,n.useEffect)(()=>{let e=m.current;if(!e)return;let t=document.getElementById(`exchange-${e}`);t&&(m.current=null,t.scrollIntoView({block:"center"}),t.focus({preventScroll:!0}))},[c]);let b=new Set,y=e=>(0,t.jsx)("li",{className:"msg-status",children:(0,t.jsx)(s.default,{summary:e,onChanged:()=>g(e=>e+1)})},`exchange-${e.id}`),v=e=>{let t=c.filter(t=>!b.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=>b.add(e.id)),t.map(y)};return(0,t.jsxs)("div",{className:"ledger-page group-thread-page",children:[(0,t.jsxs)("header",{className:"ledger-head",children:[(0,t.jsxs)("nav",{className:"group-thread-nav","aria-label":"Thread navigation",children:[(0,t.jsx)(r.default,{href:"/",className:"cfg-link ledger-back",children:"← Back to chat"}),(0,t.jsx)(r.default,{href:"/exchanges",className:"cfg-link ledger-back",children:"Agent Exchanges"})]}),(0,t.jsx)("h1",{className:"ledger-title",children:o?.label??"Group thread"}),o&&o.members.length>0?(0,t.jsxs)("p",{className:"ledger-sub",children:["With ",o.members.join(", ")]}):null]}),(0,t.jsx)("main",{className:"group-thread-main","aria-label":"Thread",children:f?(0,t.jsxs)("div",{className:"ledger-state",role:"alert",children:[(0,t.jsx)("p",{className:"delete-error",children:f}),(0,t.jsx)("button",{type:"button",className:"pin-word",onClick:()=>g(e=>e+1),children:"Retry"})]}):o?(0,t.jsxs)("ol",{className:"group-thread-list","aria-label":"Messages and exchanges",children:[l.map(e=>(0,t.jsxs)(n.Fragment,{children:[v(e.created_at),(0,t.jsxs)("li",{className:"user"===e.sender_type?"msg-you":"msg-bot",children:[(0,t.jsx)("div",{className:"user"===e.sender_type?"msg-name msg-name-you":"msg-name",children:"user"===e.sender_type?"You":e.sender_name||"Agent"}),(0,t.jsx)("div",{className:"msg-body group-thread-body",children:e.content.replace(/^\s*\[Message from [^\]]+\]\s*(?:\r?\n)?/,"").replace(/^\s+/,"")})]})]},e.id)),v(1/0),0===l.length&&0===c.length?(0,t.jsx)("li",{className:"ledger-state",children:"No messages in this thread yet."}):null]}):(0,t.jsx)("p",{className:"ledger-state",role:"status",children:"Loading thread…"})})]})}])},50814,63352,e=>{"use strict";function t(e){return`${new Date(e).toISOString().slice(0,16).replace("T"," ")} UTC`}let n="Not reported";function r(e){return e.toFixed(1).replace(/\.0$/,"")}function a(e){return e.toLocaleString("en-US")}function s(e){return 0===e?"$0.00":e>=.01?`$${e.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}`:e<1e-4?"<$0.0001":`$${e.toFixed(4)}`}let o={input_tokens:"Input tokens",output_tokens:"Output tokens",cost_usd:"Cost"};function i(e,t,n){return"cost_usd"===e?s(t):n?a(t):t<1e3?String(t):t<999950?`${r(t/1e3)}k`:t<99995e4?`${r(t/1e6)}M`:`${r(t/1e9)}B`}function l(e){return`${e} ${1===e?"run":"runs"}`}function u(e,t,r=!1){let a=o[e];if(!t||"unavailable"===t.quality||null===t.sum)return{name:a,text:n,quality:"unavailable",coverage:t&&t.total>0?`0 of ${l(t.total)} reported`:"No runs recorded",label:`${a}: not reported`};let s=i(e,t.sum,r),c=i(e,t.sum,!0);return"partial"===t.quality?{name:a,text:s,quality:"partial",coverage:`Partial: ${t.known} of ${l(t.total)} reported`,label:`${a}: at least ${c}, partial, reported by ${t.known} of ${l(t.total)}`}:{name:a,text:s,quality:"complete",coverage:`All ${l(t.total)} reported`,label:`${a}: ${c}, reported by all ${l(t.total)}`}}e.s(["SESSION_FILTER_OPTIONS",0,[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"ended",label:"Ended"}],"attemptLabel",0,function(e){let t="source"===e.role?"Started the session":"Resumed the session";return`${t} \xb7 ${e.outcome??"running"}`},"emptySessionsCopy",0,function(e,t){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,t,"runtimeLabel",0,function(e){return e.agent.transport?`${e.agent.adapter} \xb7 ${e.agent.transport}`:e.agent.adapter},"sessionStateTags",0,function(e){let t=[];return(e.home&&t.push("Home"),e.state?.availability==="missing")?[...t,"Missing"]:(e.state?.lifecycle==="archived"&&t.push("Archived"),e.state?.busy&&t.push("Busy"),(e.resumable||e.state?.resumable===!0)&&t.push("Resumable"),t)},"sessionUsageLine",0,function(e){let t=u("input_tokens",e?.input_tokens),r=u("output_tokens",e?.output_tokens),a=u("cost_usd",e?.cost_usd),s=[t,r,a];if(s.every(e=>"unavailable"===e.quality))return{text:n,label:"Usage: not reported",quality:"unavailable",partial:!1};let o=["unavailable"===t.quality?"input not reported":`${t.text} in`,"unavailable"===r.quality?"output not reported":`${r.text} out`,"unavailable"===a.quality?"cost not reported":a.text].join(" · "),i=s.some(e=>"partial"===e.quality),l=i||s.some(e=>"unavailable"===e.quality)?"partial":"complete";return{text:o,label:`Reported usage: ${s.map(e=>e.label).join("; ")}`,quality:l,partial:i}},"statusLabel",0,function(e){return"active"===e.status?"Active":"Ended"},"usageMetricView",0,u,"usageSampleLabel",0,function(e,t){let n="turn"===e.kind?"start"===e.turn_kind?"provider turn, started":"provider turn":"resume"===e.turn_kind?"resumed":"started";return`Run ${t+1} \xb7 ${n}`},"usageSampleValues",0,function(e){return{input:null===e.input_tokens?n:a(e.input_tokens),output:null===e.output_tokens?n:a(e.output_tokens),cost:null===e.cost_usd?n:s(e.cost_usd)}},"workRequestLabel",0,function(e){var t;let n=e.origin.work_request;return n?`${(t=n.execution_kind)?t[0].toUpperCase()+t.slice(1):t} \xb7 ${n.state}`:null}],63352);let c={ask:"Ask from this context",resume:"Resume work here",handoff:"Hand off to…"},d=["queued","extracting","delivering","completed","failed","cancelled"],f=["completed","failed","cancelled"];function h(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 p(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 g(e,t){return t.updated_at-e.updated_at||t.created_at-e.created_at||(e.id<t.id?-1:+(e.id>t.id))}e.s(["DEFAULT_LEDGER_FILTER",0,{mode:"all",state:"all",agentId:""},"INSTRUCTION_LIMIT",0,4e3,"MODE_FILTER_OPTIONS",0,[{value:"all",label:"All"},{value:"ask",label:"Ask"},{value:"continue",label:"Continue"}],"STATE_FILTER_OPTIONS",0,[{value:"all",label:"Any status"},{value:"active",label:"In progress"},{value:"queued",label:"Queued"},{value:"extracting",label:"Asking / extracting"},{value:"delivering",label:"Delivering"},{value:"completed",label:"Completed"},{value:"failed",label:"Failed"},{value:"cancelled",label:"Cancelled"}],"detailsHref",0,function(e){return`/exchanges?id=${encodeURIComponent(e)}`},"eventLabel",0,function(e,t){let n=e.data??{},r=t.source.agent_name,a=t.destination?.agent_name??"the destination Agent",s="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"===s)return`Handoff queued for ${a}'s new session`;return"extract"===s?`Handoff extraction queued in ${r}'s session`:`Question queued for ${r}'s session`;case"hop_started":if("deliver"===s)return`${a} started a new session`;return"extract"===s?`${r}'s session started extracting the handoff`:`${r}'s session started answering`;case"state_changed":{let e="string"==typeof n.to&&d.includes(n.to)?n.to:null;return e?`Now ${h(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,p,"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,function(e){if("failed"!==e.state)return null;switch(e.failure?.code){case"packet_invalid":case"packet_missing":return"The source session did not return a usable handoff. Start a new Continue with a clearer objective.";case"destination_session_invalid":return"The destination did not start a fresh session. Check its runtime, then start a new Continue.";case"destination_turn_failed":return"Check the destination Agent’s runtime, then start a new Continue from the source session.";case"source_turn_failed":return"Check the source Agent’s runtime, then start a new exchange from its Sessions.";default:return"Start a new exchange from the session to try again."}},"formatExchangeTime",0,function(e){return t(e)},"instructionHeading",0,function(e){return"ask"===e?"Question":"Objective"},"ledgerAgents",0,function(e){let t=new Map;for(let n of e)t.set(n.source.agent_id,n.source.agent_name),n.destination&&t.set(n.destination.agent_id,n.destination.agent_name);return[...t.entries()].map(([e,t])=>({id:e,name:t})).sort((e,t)=>e.name.localeCompare(t.name)||e.id.localeCompare(t.id))},"ledgerRows",0,function(e,t){return e.filter(e=>("all"===t.mode||e.mode===t.mode)&&("active"!==t.state||!e.terminal)&&("all"===t.state||"active"===t.state||e.state===t.state)&&(!t.agentId||e.source.agent_id===t.agentId||e.destination?.agent_id===t.agentId)).sort(g)},"ledgerView",0,function(e,t,n){return null===e?t?"error":"loading":0===e.length?"empty":0===n.length?"filtered-out":"rows"},"linkRoleLabel",0,function(e){let t={origin:"Started here",source:"Source session",destination:"Destination"};return e.map(e=>t[e]).join(" · ")},"liveStateLabel",0,function(e){var t;return e.cancel_requested&&(t=e.state,!f.includes(t))?"Cancelling…":h(e.mode,e.state)},"modeLabel",0,function(e){return"ask"===e?"Ask":"Continue"},"outcomeLine",0,function(e){if("completed"===e.state){if("ask"===e.mode){let t=e.origin?.label??"the origin thread";return e.outcome.answer?`Answer in ${t}: ${p(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: ${p(e.outcome.reply,200)}`:`${t} picked it up in a new session.`}return"failed"===e.state?e.failure?.message||"The exchange failed.":"cancelled"===e.state?"Cancelled before it finished. Nothing more will run.":null},"participantsLabel",0,function(e){return"ask"===e.mode?`You → ${e.source.agent_name}`:`${e.source.agent_name} → ${e.destination?.agent_name??"another Agent"}`},"pinRequestBody",0,function(e,t,n,r,a){return{action:e,content:t.trim(),conversation_id:n,idempotency_key:a,..."resume"===e?{approve_write:r}:{}}},"sessionDialogMode",0,function(e){return"handoff"===e?"continue":e},"sessionDialogTitle",0,function(e){return c["continue"===e?"handoff":e]},"sessionDialogUsesPin",0,function(e,t){return"resume"===e||"ask"===e&&"provider"===t},"sessionLabel",0,function(e){return`${e.source.agent_name}'s session “${e.source.session_title}”`},"sessionRowActions",0,function(e){let t;if(e.actions)t=e.actions;else{let n="ended"===e.status?{available:!1,reason:"Ask from this context and Hand off to… are unavailable: this session has ended. Its history stays here."}:e.resumable?{available:!0}:{available:!1,reason:`Ask from this context and Hand off to… are unavailable: Botmancers can’t resume this session under ${e.agent.name}’s current runtime.`},r=n.available?{available:!0}:{available:!1,code:"ended"===e.status?"session_ended":"session_not_resumable",reason:n.reason,recovery:"choose_session"};t={ask:r,resume:{available:!1,code:"action_unavailable",reason:`${c.resume} is unavailable: this runtime can’t resume a session with edits.`,recovery:"choose_action"},handoff:r}}return["ask","resume","handoff"].map(e=>({action:e,label:c[e],availability:t[e]}))},"stateTone",0,function(e){return"completed"===e?"done":"failed"===e||"cancelled"===e?"stopped":"active"},"submitErrorMessage",0,function(e,t){switch(e){case"session_ended":return"This session has ended and can’t be resumed.";case"session_not_resumable":return"Botmancers can’t resume this session under the Agent’s current runtime.";case"source_session_busy":return"This session already has an exchange in progress. Wait for it or cancel it from its card.";case"agent_unavailable":return t||"That Agent has no Agent Deck selected.";case"idempotency_conflict":return"This request changed while it was being sent. Send again.";case"session_missing":return"The runtime no longer has this session. Its history stays here; choose another session.";case"approval_required":return"Resume work here needs your approval of edits. Tick the approval, then send again.";case"authority_not_allowed":return t||"This Agent’s policy doesn’t allow edits in a resumed session. Change it in Config.";case"action_unavailable":return t||"This runtime can’t do that in this session. Choose another action.";case"provider_failed":return"The runtime failed this turn. Nothing moved to another session; try again later.";default:return t||"The exchange could not be started. Your draft is kept; try again."}},"threadHref",0,function(e,t){let n=new URLSearchParams;if(e.thread_agent_id)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},"validateResumeDraft",0,function(e,t){let n={};return e.trim()?e.length>4e3&&(n.instruction="Keep it under 4000 characters."):n.instruction="Enter what to work on.",t||(n.approval="Approve edits in this session to resume work here."),n}],50814)},22016,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return b},useLinkStatus:function(){return v}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let s=e.r(90809),o=e.r(43476),i=s._(e.r(71645)),l=e.r(95057),u=e.r(8372),c=e.r(18581),d=e.r(18967),f=e.r(5550),h=e.r(88540),p=e.r(91949),g=e.r(73668),m=e.r(9396);function b(t){var n;let r,a,s,[b,v]=(0,i.useOptimistic)(p.IDLE_LINK_STATUS),_=(0,i.useRef)(null),{href:x,as:$,children:k,prefetch:w=null,passHref:j,replace:S,shallow:C,scroll:T,onClick:N,onMouseEnter:A,onTouchStart:E,legacyBehavior:R=!1,onNavigate:I,transitionTypes:L,ref:P,unstable_dynamicOnHover:O,...U}=t;r=k,R&&("string"==typeof r||"number"==typeof r)&&(r=(0,o.jsx)("a",{children:r}));let q=i.default.useContext(u.AppRouterContext),D=!1!==w,M=!1===w?"none":!0===w?"full":"auto",F="none"!==M?"auto"===M?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,B="string"==typeof(n=$||x)?n:(0,l.formatUrl)(n);if(R){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=i.default.Children.only(r)}let H=R?a&&"object"==typeof a&&a.ref:P,K,Q=i.default.useCallback(e=>(null!==q&&(_.current=(0,p.mountLinkInstance)(e,B,q,F,D,v,K)),()=>{_.current&&((0,p.unmountLinkForCurrentNavigation)(_.current),_.current=null),(0,p.unmountPrefetchableInstance)(e)}),[D,B,q,F,v,K]),z={ref:(0,c.useMergedRef)(Q,H),onClick(t){R||"function"!=typeof N||N(t),R&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!q||t.defaultPrevented||function(t,n,r,a,s,o,l,u="none"){if("u">typeof window){let c,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,g.isLocalURL)(n)){a&&(t.preventDefault(),location.replace(n));return}if(t.preventDefault(),o){let e=!1;if(o({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(99781);i.default.startTransition(()=>{f(n,a?"replace":"push",!1===s?h.ScrollBehavior.NoScroll:h.ScrollBehavior.Default,r.current,l,u)})}}(t,B,_,S,T,I,L,M)},onMouseEnter(e){R||"function"!=typeof A||A(e),R&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),q&&D&&(0,p.onNavigationIntent)(e.currentTarget,!0===O)},onTouchStart:function(e){R||"function"!=typeof E||E(e),R&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),q&&D&&(0,p.onNavigationIntent)(e.currentTarget,!0===O)}};return(0,d.isAbsoluteUrl)(B)?z.href=B:R&&!j&&("a"!==a.type||"href"in a.props)||(z.href=(0,f.addBasePath)(B)),s=R?i.default.cloneElement(a,z):(0,o.jsx)("a",{...U,...z,children:r}),(0,o.jsx)(y.Provider,{value:b,children:s})}let y=(0,i.createContext)(p.IDLE_LINK_STATUS),v=()=>(0,i.useContext)(y);("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 i}};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 o(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function i(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,o(e));else t.set(n,o(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 i},formatWithValidation:function(){return u},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)),o=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:n}=e,r=e.protocol||"",a=e.pathname||"",i=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:n&&(u=t+(~n.indexOf(":")?`[${n}]`:n),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(s.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||o.test(r))&&!1!==u?(u="//"+(u||""),a&&"/"!==a[0]&&(a="/"+a)):u||(u=""),i&&"#"!==i[0]&&(i="#"+i),c&&"?"!==c[0]&&(c="?"+c),a=a.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${r}${u}${a}${c}${i}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return i(e)}},18967,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={DecodeError:function(){return b},MiddlewareNotFoundError:function(){return x},MissingStaticPage:function(){return _},NormalizeError:function(){return y},PageNotFoundError:function(){return v},SP:function(){return g},ST:function(){return m},WEB_VITALS:function(){return s},execOnce:function(){return o},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return $}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let s=["CLS","FCP","FID","INP","LCP","TTFB"];function o(e){let t,n=!1;return(...r)=>(n||(n=!0,t=e(...r)),t)}let i=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&i.test(e)};function u(){let{protocol:e,hostname:t,port:n}=window.location;return`${e}//${t}${n?":"+n:""}`}function c(){let{href:e}=window.location,t=u();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 p(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&f(n))return r;if(!r)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${r}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return r}let g="u">typeof performance,m=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class b extends Error{}class y extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class _ 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 $(e){return JSON.stringify({message:e.message,stack:e.stack})}},18566,(e,t,n)=>{t.exports=e.r(76562)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,10331,3136,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";function s(e){return n.includes(String(e))?r[e]:String(e??"")}n.join("|"),e.s(["AGENTS",0,n,"AGENT_LABELS",0,r,"DEFAULT_AGENT",0,a,"agentLabel",0,s],3136);let i=n.map(e=>({value:e,label:r[e]})),o="/settings",l="Select an Agent Deck…",u="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",f="Saved Agent Deck not on this server — saving keeps it unless you pick another.",h={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 p(e=null){return{status:"loading",decks:[],cachedDecks:e,serverUrl:"",checkedAt:0,error:""}}function g(e){return String(e).padStart(2,"0")}function m(e){let t=new Date(e);return`${g(t.getHours())}:${g(t.getMinutes())}:${g(t.getSeconds())}`}function k(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 ${m(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 b(e){return"connected"===e.status?null:h[e.status]}function v(e){return"empty"===e.status||"malformed"===e.status||"unreachable"===e.status}async function y(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 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 _(e){return s((e.agent??"").trim()||a)}function $(e){return!S(e)&&(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){return"direct"===e.launch_profile}function A(e,t){if($(e)||S(e))return!1;let n=t?"connected"===t.status||"empty"===t.status?t.decks.map(e=>e.id):"unconfigured"===t.status?null:t.cachedDecks?t.cachedDecks.map(e=>e.id):null:null;return!!n&&!n.includes((e.deck_id??"").trim())}function w(e){return`Agent: ${_(e)} \xb7 Agent Deck: `}function T(e,t){let n,r=(n=S(e)?`Agent: ${_(e)} \xb7 Launch: Direct`:$(e)?`${w(e)}not selected`:w(e)+x(e.deck_id??"",t),$(e)?`${n} — select in Config`:A(e,t)?n+" (deck unavailable — see Config)":n);if($(e)||S(e))return{prefix:r,deck:"",suffix:""};let a=w(e),s=x(e.deck_id??"",t);return{prefix:a,deck:s,suffix:r.slice(a.length+s.length)}}function C(e){return`~/.botmancers/${e}`}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,i,"DECK_PLACEHOLDER",0,l,"DECK_SLOT_COPY",0,h,"NEW_BOT_WORKDIR_HINT",0,"Default: ~/.botmancers/{agentID} — {agentID} is this agent's ID, assigned at creation.","NON_LOCAL_NOTE",0,u,"SAVED_DECK_MISSING_NOTE",0,f,"SETTINGS_ENDPOINT",0,"/api/agent-deck/settings","SETTINGS_LINK_COPY",0,d,"SETTINGS_NON_LOCAL_NOTE",0,c,"SETTINGS_PATH",0,o,"botAgentLabel",0,_,"configWorkdirHint",0,function(e){return`Default: ${C(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,b,"deckStateShowsRetry",0,v,"defaultWorkdirFor",0,C,"fetchDeckList",0,y,"formatClock",0,m,"initialDeckListState",0,p,"isDeckUnavailable",0,A,"isMigratedPending",0,$,"rosterRuntimeParts",0,T,"settingsStatusLine",0,k],74904);let D={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 j({id:e,labelId:n,state:r,value:a,onChange:s,onRetry:i,savedDeckId:o,variant:u}){let c=D[u],d=b(r),h=(o??"").trim();if(null===d){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:c.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:l}),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:c.note,children:f}):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:c.note,children:["Saved Agent Deck: ",(0,t.jsx)("span",{title:h,children:h})]}):null,(0,t.jsxs)("p",{id:e,className:`${c.note} deck-slot`,role:"status",children:[(0,t.jsx)("span",{id:`${e}-copy`,children:d}),v(r)?(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsx)("button",{type:"button",className:c.retry,onClick:i,children:"Retry"})]}):null]})]})}e.s(["AgentDeckFields",0,function({idPrefix:e,variant:n,deckId:r,onDeckId:a,deckState:s,onRetry:i,savedDeckId:l,workingDirectory:c,onWorkingDirectory:f,workdirPlaceholder:h,workdirHint:p}){let g=D[n],m=null===b(s);return(0,t.jsxs)("div",{className:"agent-deck-fields",children:[(0,t.jsx)("label",{className:g.label,id:`${e}-deck-label`,htmlFor:m?`${e}-deck`:void 0,children:"Agent Deck"}),(0,t.jsx)(j,{id:`${e}-deck`,labelId:`${e}-deck-label`,state:s,value:r,onChange:a,onRetry:i,savedDeckId:l,variant:n}),(0,t.jsx)("a",{href:o,className:g.link,children:d}),(0,t.jsx)("label",{className:g.label,htmlFor:`${e}-workdir`,children:"Working directory (optional)"}),(0,t.jsx)("input",{id:`${e}-workdir`,type:"text",className:"config"===n?g.control:void 0,"data-field":"workdir","aria-describedby":`${e}-workdir-hint ${e}-workdir-note`,value:c,placeholder:h,onChange:e=>f(e.target.value)}),(0,t.jsx)("p",{id:`${e}-workdir-hint`,className:g.hint,children:p}),(0,t.jsx)("p",{id:`${e}-workdir-note`,className:g.hint,children:u})]})},"RosterRuntimeLine",0,function({bot:e,state:n}){let{prefix:r,deck:a,suffix:s}=T(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:k(e)}),v(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 E=e.i(71645);let L="botmancers.agentDeck.lastDecks";function O(e){return"object"==typeof e&&null!==e&&"string"==typeof e.id&&"string"==typeof e.name}let R=(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(e=!0){let[t,n]=(0,E.useState)(()=>p()),[r,a]=(0,E.useState)(0),s=(0,E.useRef)(null);return(0,E.useEffect)(()=>{if(!e)return;let t=!1;return y(R,p(s.current??function(){try{let e=window.localStorage.getItem(L);if(!e)return null;let t=JSON.parse(e);return Array.isArray(t)&&t.every(O)?t:null}catch{return null}}())).then(e=>{if(!t){s.current=e.cachedDecks;var r=e.cachedDecks;if(r)try{window.localStorage.setItem(L,JSON.stringify(r))}catch{}n(e)}}),()=>{t=!0}},[r,e]),{state:t,retry:(0,E.useCallback)(()=>{n(e=>({...e,status:"loading",decks:[],error:""})),a(e=>e+1)},[])}}],4335)},13255,e=>{"use strict";var t=e.i(43476),n=e.i(71645),r=e.i(22016),a=e.i(50814);e.s(["default",0,function({summary:e,onChanged:s}){let[i,o]=(0,n.useState)(!1),[l,u]=(0,n.useState)(""),c=(0,a.stateTone)(e.state),d=(0,a.outcomeLine)(e),f=(0,a.failureAdvice)(e),h=`exchange-${e.id}-title`,p=async()=>{if(!i){o(!0),u("");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);u("string"==typeof e?.error?.message?e.error.message:"Could not cancel. Try again.")}}catch{u("Could not cancel. Try again.")}finally{o(!1),s?.()}}};return(0,t.jsxs)("article",{id:`exchange-${e.id}`,className:`exchange-card is-${c} is-${e.state}`,"data-exchange-id":e.id,"data-exchange-state":e.state,"aria-labelledby":h,tabIndex:-1,children:[(0,t.jsxs)("p",{className:"exchange-card-line",children:[(0,t.jsx)("span",{className:"exchange-card-mode",children:(0,a.modeLabel)(e.mode)}),(0,t.jsx)("span",{id:h,className:"exchange-card-title",children:(0,a.participantsLabel)(e)}),(0,t.jsx)("span",{className:"exchange-card-state",role:"status",children:(0,a.liveStateLabel)(e)})]}),(0,t.jsx)("p",{className:"exchange-card-session",children:(0,a.sessionLabel)(e)}),(0,t.jsxs)("p",{className:"exchange-card-instruction",children:[(0,t.jsx)("span",{className:"exchange-card-key",children:(0,a.instructionHeading)(e.mode)})," ",(0,a.excerpt)(e.instruction,220)]}),d?(0,t.jsx)("p",{className:"failed"===e.state?"exchange-card-outcome is-failure":"exchange-card-outcome",children:d}):null,f?(0,t.jsx)("p",{className:"exchange-card-advice",children:f}):null,l?(0,t.jsx)("p",{className:"exchange-card-error",role:"alert",children:l}):null,(0,t.jsxs)("p",{className:"exchange-card-foot",children:[(0,t.jsxs)("span",{className:"exchange-card-time",children:["Updated ",(0,a.formatExchangeTime)(e.updated_at)]}),(0,t.jsx)(r.default,{className:"exchange-card-link",href:(0,a.detailsHref)(e.id),"aria-label":`Details: ${(0,a.modeLabel)(e.mode)} ${(0,a.participantsLabel)(e)}`,children:"Details"}),e.can_cancel?(0,t.jsx)("button",{type:"button",className:"exchange-card-cancel",disabled:i,onClick:()=>{p()},children:i?"Cancelling…":"Cancel"}):null]})]})}])},50814,63352,e=>{"use strict";function t(e){return`${new Date(e).toISOString().slice(0,16).replace("T"," ")} UTC`}let n="Not reported";function r(e){return e.toFixed(1).replace(/\.0$/,"")}function a(e){return e.toLocaleString("en-US")}function s(e){return 0===e?"$0.00":e>=.01?`$${e.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}`:e<1e-4?"<$0.0001":`$${e.toFixed(4)}`}let i={input_tokens:"Input tokens",output_tokens:"Output tokens",cost_usd:"Cost"};function o(e,t,n){return"cost_usd"===e?s(t):n?a(t):t<1e3?String(t):t<999950?`${r(t/1e3)}k`:t<99995e4?`${r(t/1e6)}M`:`${r(t/1e9)}B`}function l(e){return`${e} ${1===e?"run":"runs"}`}function u(e,t,r=!1){let a=i[e];if(!t||"unavailable"===t.quality||null===t.sum)return{name:a,text:n,quality:"unavailable",coverage:t&&t.total>0?`0 of ${l(t.total)} reported`:"No runs recorded",label:`${a}: not reported`};let s=o(e,t.sum,r),c=o(e,t.sum,!0);return"partial"===t.quality?{name:a,text:s,quality:"partial",coverage:`Partial: ${t.known} of ${l(t.total)} reported`,label:`${a}: at least ${c}, partial, reported by ${t.known} of ${l(t.total)}`}:{name:a,text:s,quality:"complete",coverage:`All ${l(t.total)} reported`,label:`${a}: ${c}, reported by all ${l(t.total)}`}}e.s(["SESSION_FILTER_OPTIONS",0,[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"ended",label:"Ended"}],"attemptLabel",0,function(e){let t="source"===e.role?"Started the session":"Resumed the session";return`${t} \xb7 ${e.outcome??"running"}`},"emptySessionsCopy",0,function(e,t){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,t,"runtimeLabel",0,function(e){return e.agent.transport?`${e.agent.adapter} \xb7 ${e.agent.transport}`:e.agent.adapter},"sessionStateTags",0,function(e){let t=[];return(e.home&&t.push("Home"),e.state?.availability==="missing")?[...t,"Missing"]:(e.state?.lifecycle==="archived"&&t.push("Archived"),e.state?.busy&&t.push("Busy"),(e.resumable||e.state?.resumable===!0)&&t.push("Resumable"),t)},"sessionUsageLine",0,function(e){let t=u("input_tokens",e?.input_tokens),r=u("output_tokens",e?.output_tokens),a=u("cost_usd",e?.cost_usd),s=[t,r,a];if(s.every(e=>"unavailable"===e.quality))return{text:n,label:"Usage: not reported",quality:"unavailable",partial:!1};let i=["unavailable"===t.quality?"input not reported":`${t.text} in`,"unavailable"===r.quality?"output not reported":`${r.text} out`,"unavailable"===a.quality?"cost not reported":a.text].join(" · "),o=s.some(e=>"partial"===e.quality),l=o||s.some(e=>"unavailable"===e.quality)?"partial":"complete";return{text:i,label:`Reported usage: ${s.map(e=>e.label).join("; ")}`,quality:l,partial:o}},"statusLabel",0,function(e){return"active"===e.status?"Active":"Ended"},"usageMetricView",0,u,"usageSampleLabel",0,function(e,t){let n="turn"===e.kind?"start"===e.turn_kind?"provider turn, started":"provider turn":"resume"===e.turn_kind?"resumed":"started";return`Run ${t+1} \xb7 ${n}`},"usageSampleValues",0,function(e){return{input:null===e.input_tokens?n:a(e.input_tokens),output:null===e.output_tokens?n:a(e.output_tokens),cost:null===e.cost_usd?n:s(e.cost_usd)}},"workRequestLabel",0,function(e){var t;let n=e.origin.work_request;return n?`${(t=n.execution_kind)?t[0].toUpperCase()+t.slice(1):t} \xb7 ${n.state}`:null}],63352);let c={ask:"Ask from this context",resume:"Resume work here",handoff:"Hand off to…"},d=["queued","extracting","delivering","completed","failed","cancelled"],f=["completed","failed","cancelled"];function h(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 p(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 g(e,t){return t.updated_at-e.updated_at||t.created_at-e.created_at||(e.id<t.id?-1:+(e.id>t.id))}e.s(["DEFAULT_LEDGER_FILTER",0,{mode:"all",state:"all",agentId:""},"INSTRUCTION_LIMIT",0,4e3,"MODE_FILTER_OPTIONS",0,[{value:"all",label:"All"},{value:"ask",label:"Ask"},{value:"continue",label:"Continue"}],"STATE_FILTER_OPTIONS",0,[{value:"all",label:"Any status"},{value:"active",label:"In progress"},{value:"queued",label:"Queued"},{value:"extracting",label:"Asking / extracting"},{value:"delivering",label:"Delivering"},{value:"completed",label:"Completed"},{value:"failed",label:"Failed"},{value:"cancelled",label:"Cancelled"}],"detailsHref",0,function(e){return`/exchanges?id=${encodeURIComponent(e)}`},"eventLabel",0,function(e,t){let n=e.data??{},r=t.source.agent_name,a=t.destination?.agent_name??"the destination Agent",s="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"===s)return`Handoff queued for ${a}'s new session`;return"extract"===s?`Handoff extraction queued in ${r}'s session`:`Question queued for ${r}'s session`;case"hop_started":if("deliver"===s)return`${a} started a new session`;return"extract"===s?`${r}'s session started extracting the handoff`:`${r}'s session started answering`;case"state_changed":{let e="string"==typeof n.to&&d.includes(n.to)?n.to:null;return e?`Now ${h(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,p,"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,function(e){if("failed"!==e.state)return null;switch(e.failure?.code){case"packet_invalid":case"packet_missing":return"The source session did not return a usable handoff. Start a new Continue with a clearer objective.";case"destination_session_invalid":return"The destination did not start a fresh session. Check its runtime, then start a new Continue.";case"destination_turn_failed":return"Check the destination Agent’s runtime, then start a new Continue from the source session.";case"source_turn_failed":return"Check the source Agent’s runtime, then start a new exchange from its Sessions.";default:return"Start a new exchange from the session to try again."}},"formatExchangeTime",0,function(e){return t(e)},"instructionHeading",0,function(e){return"ask"===e?"Question":"Objective"},"ledgerAgents",0,function(e){let t=new Map;for(let n of e)t.set(n.source.agent_id,n.source.agent_name),n.destination&&t.set(n.destination.agent_id,n.destination.agent_name);return[...t.entries()].map(([e,t])=>({id:e,name:t})).sort((e,t)=>e.name.localeCompare(t.name)||e.id.localeCompare(t.id))},"ledgerRows",0,function(e,t){return e.filter(e=>("all"===t.mode||e.mode===t.mode)&&("active"!==t.state||!e.terminal)&&("all"===t.state||"active"===t.state||e.state===t.state)&&(!t.agentId||e.source.agent_id===t.agentId||e.destination?.agent_id===t.agentId)).sort(g)},"ledgerView",0,function(e,t,n){return null===e?t?"error":"loading":0===e.length?"empty":0===n.length?"filtered-out":"rows"},"linkRoleLabel",0,function(e){let t={origin:"Started here",source:"Source session",destination:"Destination"};return e.map(e=>t[e]).join(" · ")},"liveStateLabel",0,function(e){var t;return e.cancel_requested&&(t=e.state,!f.includes(t))?"Cancelling…":h(e.mode,e.state)},"modeLabel",0,function(e){return"ask"===e?"Ask":"Continue"},"outcomeLine",0,function(e){if("completed"===e.state){if("ask"===e.mode){let t=e.origin?.label??"the origin thread";return e.outcome.answer?`Answer in ${t}: ${p(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: ${p(e.outcome.reply,200)}`:`${t} picked it up in a new session.`}return"failed"===e.state?e.failure?.message||"The exchange failed.":"cancelled"===e.state?"Cancelled before it finished. Nothing more will run.":null},"participantsLabel",0,function(e){return"ask"===e.mode?`You → ${e.source.agent_name}`:`${e.source.agent_name} → ${e.destination?.agent_name??"another Agent"}`},"pinRequestBody",0,function(e,t,n,r,a){return{action:e,content:t.trim(),conversation_id:n,idempotency_key:a,..."resume"===e?{approve_write:r}:{}}},"sessionDialogMode",0,function(e){return"handoff"===e?"continue":e},"sessionDialogTitle",0,function(e){return c["continue"===e?"handoff":e]},"sessionDialogUsesPin",0,function(e,t){return"resume"===e||"ask"===e&&"provider"===t},"sessionLabel",0,function(e){return`${e.source.agent_name}'s session “${e.source.session_title}”`},"sessionRowActions",0,function(e){let t;if(e.actions)t=e.actions;else{let n="ended"===e.status?{available:!1,reason:"Ask from this context and Hand off to… are unavailable: this session has ended. Its history stays here."}:e.resumable?{available:!0}:{available:!1,reason:`Ask from this context and Hand off to… are unavailable: Botmancers can’t resume this session under ${e.agent.name}’s current runtime.`},r=n.available?{available:!0}:{available:!1,code:"ended"===e.status?"session_ended":"session_not_resumable",reason:n.reason,recovery:"choose_session"};t={ask:r,resume:{available:!1,code:"action_unavailable",reason:`${c.resume} is unavailable: this runtime can’t resume a session with edits.`,recovery:"choose_action"},handoff:r}}return["ask","resume","handoff"].map(e=>({action:e,label:c[e],availability:t[e]}))},"stateTone",0,function(e){return"completed"===e?"done":"failed"===e||"cancelled"===e?"stopped":"active"},"submitErrorMessage",0,function(e,t){switch(e){case"session_ended":return"This session has ended and can’t be resumed.";case"session_not_resumable":return"Botmancers can’t resume this session under the Agent’s current runtime.";case"source_session_busy":return"This session already has an exchange in progress. Wait for it or cancel it from its card.";case"agent_unavailable":return t||"That Agent has no Agent Deck selected.";case"idempotency_conflict":return"This request changed while it was being sent. Send again.";case"session_missing":return"The runtime no longer has this session. Its history stays here; choose another session.";case"approval_required":return"Resume work here needs your approval of edits. Tick the approval, then send again.";case"authority_not_allowed":return t||"This Agent’s policy doesn’t allow edits in a resumed session. Change it in Config.";case"action_unavailable":return t||"This runtime can’t do that in this session. Choose another action.";case"provider_failed":return"The runtime failed this turn. Nothing moved to another session; try again later.";default:return t||"The exchange could not be started. Your draft is kept; try again."}},"threadHref",0,function(e,t){let n=new URLSearchParams;if(e.thread_agent_id)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},"validateResumeDraft",0,function(e,t){let n={};return e.trim()?e.length>4e3&&(n.instruction="Keep it under 4000 characters."):n.instruction="Enter what to work on.",t||(n.approval="Approve edits in this session to resume work here."),n}],50814)},22016,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return k},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),u=e.r(8372),c=e.r(18581),d=e.r(18967),f=e.r(5550),h=e.r(88540),p=e.r(91949),g=e.r(73668),m=e.r(9396);function k(t){var n;let r,a,s,[k,v]=(0,o.useOptimistic)(p.IDLE_LINK_STATUS),y=(0,o.useRef)(null),{href:x,as:_,children:$,prefetch:S=null,passHref:A,replace:w,shallow:T,scroll:C,onClick:N,onMouseEnter:D,onTouchStart:j,legacyBehavior:E=!1,onNavigate:L,transitionTypes:O,ref:R,unstable_dynamicOnHover:I,...P}=t;r=$,E&&("string"==typeof r||"number"==typeof r)&&(r=(0,i.jsx)("a",{children:r}));let U=o.default.useContext(u.AppRouterContext),q=!1!==S,M=!1===S?"none":!0===S?"full":"auto",F="none"!==M?"auto"===M?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,H="string"==typeof(n=_||x)?n:(0,l.formatUrl)(n);if(E){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 B=E?a&&"object"==typeof a&&a.ref:R,K,G=o.default.useCallback(e=>(null!==U&&(y.current=(0,p.mountLinkInstance)(e,H,U,F,q,v,K)),()=>{y.current&&((0,p.unmountLinkForCurrentNavigation)(y.current),y.current=null),(0,p.unmountPrefetchableInstance)(e)}),[q,H,U,F,v,K]),W={ref:(0,c.useMergedRef)(G,B),onClick(t){E||"function"!=typeof N||N(t),E&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!U||t.defaultPrevented||function(t,n,r,a,s,i,l,u="none"){if("u">typeof window){let c,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,g.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,u)})}}(t,H,y,w,C,L,O,M)},onMouseEnter(e){E||"function"!=typeof D||D(e),E&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),U&&q&&(0,p.onNavigationIntent)(e.currentTarget,!0===I)},onTouchStart:function(e){E||"function"!=typeof j||j(e),E&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),U&&q&&(0,p.onNavigationIntent)(e.currentTarget,!0===I)}};return(0,d.isAbsoluteUrl)(H)?W.href=H:E&&!A&&("a"!==a.type||"href"in a.props)||(W.href=(0,f.addBasePath)(H)),s=E?o.default.cloneElement(a,W):(0,i.jsx)("a",{...P,...W,children:r}),(0,i.jsx)(b.Provider,{value:k,children:s})}let b=(0,o.createContext)(p.IDLE_LINK_STATUS),v=()=>(0,o.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 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 u},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||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:n&&(u=t+(~n.indexOf(":")?`[${n}]`:n),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(s.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||i.test(r))&&!1!==u?(u="//"+(u||""),a&&"/"!==a[0]&&(a="/"+a)):u||(u=""),o&&"#"!==o[0]&&(o="#"+o),c&&"?"!==c[0]&&(c="?"+c),a=a.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${r}${u}${a}${c}${o}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return o(e)}},18967,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={DecodeError:function(){return k},MiddlewareNotFoundError:function(){return x},MissingStaticPage:function(){return y},NormalizeError:function(){return b},PageNotFoundError:function(){return v},SP:function(){return g},ST:function(){return m},WEB_VITALS:function(){return s},execOnce:function(){return i},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return _}};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 u(){let{protocol:e,hostname:t,port:n}=window.location;return`${e}//${t}${n?":"+n:""}`}function c(){let{href:e}=window.location,t=u();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 p(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&f(n))return r;if(!r)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${r}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return r}let g="u">typeof performance,m=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class k 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 x 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})}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,87303,37947,e=>{"use strict";var t=e.i(43476),s=e.i(71645);let a=[{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"}],n=[{id:"dots",label:"Round dots"},{id:"sleepy",label:"Sleepy"},{id:"happy",label:"Happy arcs"},{id:"wide",label:"Wide ovals"}],r=[{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(a,e.avatar_color)?e.avatar_color:o.color,s=c(n,e.avatar_eyes)?e.avatar_eyes:o.eyes;return{color:t,eyes:s,hands:c(r,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 h(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 p(e,t="static"){var s,n;let r,i,o=a.find(t=>t.id===e.color)?.hex??a[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=(s=e.hands,n=e.accessory,r=[],"reaching"===s&&r.push({x1:87.6,y1:69,x2:90.4,y2:86.5,w:8}),"waving"===s&&r.push({x1:35,y1:59,x2:28,y2:72,w:10}),"crown"===n&&r.push({x1:44,y1:30,x2:76,y2:30,w:9}),"hat"===n&&r.push({x1:38,y1:34,x2:82,y2:34,w:9}),"bow"===n&&r.push({x1:60,y1:28.5,x2:84,y2:28,w:10}),"headset"===n&&(r.push({x1:42,y1:24.5,x2:78,y2:24.5,w:10}),r.push({x1:33,y1:55,x2:37,y2:64,w:8}),r.push({x1:83,y1:55,x2:87,y2:64,w:8})),"glasses"===n&&(r.push({x1:29,y1:56,x2:34,y2:62,w:8}),r.push({x1:86,y1:62,x2:91,y2:56,w:8})),r).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(""),f=`avatar-arms-${l}`,m="reaching"===e.hands,g=m?`<mask id="${f}"><rect x="0" y="0" width="120" height="120" fill="#ffffff"/>${h('fill="#000000" stroke="#000000" stroke-width="7"')}</mask>`:"",k=function(e,t){let s=`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" ${s}/><path d="M66 61 Q72 64 78 61" ${s}/></g>`;case"happy":return`<g data-avatar-layer="eyes" data-avatar-eyes="happy"><path d="M42 63 Q48 54 54 63" ${s}/><path d="M66 63 Q72 54 78 63" ${s}/></g>`;case"wide":return`<g data-avatar-layer="eyes" data-avatar-eyes="wide"><ellipse cx="48" cy="60" rx="5.5" ry="8" ${s}/><ellipse cx="72" cy="60" rx="5.5" ry="8" ${s}/></g>`;default:return`<g data-avatar-layer="eyes" data-avatar-eyes="dots"><circle cx="48" cy="60" r="3.5" ${s}/><circle cx="72" cy="60" r="3.5" ${s}/></g>`}}(e.eyes,o),y=function(e,t){let s=`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" ${s}/></g>`;case"glasses":return`<g data-avatar-layer="accessory" data-avatar-accessory="glasses"><circle cx="48" cy="60" r="9" ${s}/><circle cx="72" cy="60" r="9" ${s}/><path d="M57 60 Q60 57 63 60" ${s}/><path d="M39 59 L32 57" ${s}/><path d="M81 59 L88 57" ${s}/></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" ${s}/><rect x="79" y="54" width="10" height="17" rx="5" ${s}/><path d="M84 71 Q80 84 66 84" ${s}/></g>`;case"hat":return`<g data-avatar-layer="accessory" data-avatar-accessory="hat"><path d="M38 34 Q60 40 82 34" ${s}/><path d="M46 34 Q48 14 60 14 Q72 14 74 34" ${s}/></g>`;case"bow":return`<g data-avatar-layer="accessory" data-avatar-accessory="bow"><circle cx="79" cy="29" r="3.5" ${s}/><path d="M76 27 L62 18 Q60 26 66 32 Z" ${s}/><path d="M82 27 L95 19 Q97 27 91 32 Z" ${s}/></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>`+g+`<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>"+(m?`<g mask="url(#${f})">${k}</g>`:k)+function(e,t){let s=`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">'+h(s)+"</g>";case"waving":return`<g data-avatar-layer="hands" data-avatar-hands="waving"><path d="M32 68 Q24 60 22 48" ${s}/><circle cx="21" cy="41" r="5" ${s}/><path d="M11 36 Q9 46 12 54" ${s}/></g>`;default:return`<g data-avatar-layer="hands" data-avatar-hands="folded"><rect x="44" y="79" width="32" height="9" rx="4.5" ${s}/><rect x="46" y="90" width="28" height="9" rx="4.5" ${s}/></g>`}}(e.hands,o)+(m?`<g mask="url(#${f})">${y}</g>`:y)+"</svg>"}e.s(["AVATAR_ACCESSORIES",0,i,"AVATAR_COLORS",0,a,"AVATAR_EYES",0,n,"AVATAR_HANDS",0,r,"renderAvatarSvg",0,p,"resolveAvatar",0,d],37947),e.s(["default",0,function({bot:e,config:a,size:n=28,className:r,title:i}){let o=(0,s.useId)().replace(/[^A-Za-z0-9_-]/g,"")||"avatar",l=p(a??e?.avatar_config??d(e??{}),o).replace("<svg ",`<svg width="${n}" height="${n}" `);return(0,t.jsx)("span",{className:r??"bot-avatar",style:{display:"inline-flex",width:n,height:n,flex:"none"},title:i,"aria-label":i??"Agent avatar",role:"img",dangerouslySetInnerHTML:{__html:l}})}],87303)},15983,10718,24204,e=>{"use strict";var t=e.i(43476),s=e.i(71645);let a="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.",n="Skill files, working directories, Hermes profiles, and imported source files stay on disk.";function r(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,n,"DELETE_REMOVES_COPY",0,a,"blockedReasonCopy",0,r,"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,s.useId)(),[d,u]=(0,s.useState)(null),[h,p]=(0,s.useState)(""),[f,m]=(0,s.useState)(""),[g,k]=(0,s.useState)(!1),y=(0,s.useRef)(null),w=(0,s.useRef)(null),v=e.join("\n");(0,s.useEffect)(()=>{let e=!1;return fetch("/api/bots/delete-preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:v.split("\n")})}).then(async t=>{let s=await t.json().catch(()=>null);if(!e){if(!t.ok)return void p("string"==typeof s?.error?s.error:"Could not load the deletion preview.");u(s)}}).catch(()=>{e||p("Could not load the deletion preview.")}),()=>{e=!0}},[v]),(0,s.useEffect)(()=>{y.current?.focus()},[]),(0,s.useEffect)(()=>{let e=e=>{"Escape"===e.key&&(e.stopPropagation(),g||o())};return document.addEventListener("keydown",e,!0),()=>document.removeEventListener("keydown",e,!0)},[g,o]);let b=e.length,x=!d||d.blocked.length>0||d.missing.length>0,_=async()=>{if(!g&&!x){k(!0),m("");try{let t=await fetch("/api/bots",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:e})}),s=await t.json().catch(()=>null);if(!t.ok){m("string"==typeof s?.error&&s.error?s.error:`Delete failed (${t.status}).`),k(!1),requestAnimationFrame(()=>y.current?.focus());return}l(Array.isArray(s?.deleted)?s.deleted:[])}catch{m("Delete failed: the server did not respond."),k(!1),requestAnimationFrame(()=>y.current?.focus())}}};return(0,t.jsx)("div",{className:"modal-scrim delete-scrim",onKeyDown:e=>{if("Tab"!==e.key||!w.current)return;let t=Array.from(w.current.querySelectorAll("button:not(:disabled)"));if(0===t.length)return;let s=t[0],a=t[t.length-1];e.shiftKey&&document.activeElement===s?(e.preventDefault(),a.focus()):e.shiftKey||document.activeElement!==a||(e.preventDefault(),s.focus())},children:(0,t.jsxs)("div",{ref:w,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===b?"Delete this agent permanently?":`Delete ${b} agents permanently?`}),h?(0,t.jsx)("p",{className:"delete-error",role:"alert",children:h}):null,d||h?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," — ",r(e.reason)]},e.id))})]}):null,(0,t.jsx)("p",{className:"delete-copy",children:a}),(0,t.jsx)("p",{className:"delete-copy delete-keeps",children:n})]}):null,f?(0,t.jsx)("p",{className:"delete-error",role:"alert",children:f}):null,(0,t.jsxs)("div",{className:"form-actions delete-actions",children:[(0,t.jsx)("button",{ref:y,type:"button",className:"cancel-btn",onClick:o,disabled:g,children:"Cancel"}),(0,t.jsx)("button",{type:"button",className:"delete-btn",onClick:()=>{_()},disabled:g||x,children:g?"Deleting…":i(b)})]})]})})}],15983);var o=e.i(63352),l=e.i(50814);function c(e){return"active"===e.state}let d=/^T[A-Z0-9]{2,20}$/,u=/^[CG][A-Z0-9]{2,20}$/;e.s(["SHARE_DURATIONS",0,[{label:"5 minutes",seconds:300},{label:"1 hour",seconds:3600},{label:"8 hours",seconds:28800},{label:"24 hours",seconds:86400}],"SHARE_STATUS_LABELS",0,{active:"Active",exhausted:"Questions used",answering:"Answering",recovering:"Recovering",expired:"Expired",revoked:"Revoked"},"audienceInputError",0,function(e,t,s){let a=e.trim(),n=t.trim();return d.test(a)?u.test(n)?s.some(e=>e.team_id===a&&e.channel_id===n)?"That channel is already on the allowlist.":null:"Channel ID must look like C0123ABCD (a public or private channel ID; no wildcards).":"Workspace ID must look like T0123ABCD (a Slack team ID; no wildcards)."},"audienceLabel",0,function(e){return`Slack channel ${e.channel_id} \xb7 workspace ${e.team_id}`},"createdByLabel",0,function(e){return"owner"===e.created_by?"Shared by you":"current_session"===e.created_by?"Shared from a turn of this session":"Shared by a service"},"expiryLabel",0,function(e,t=Date.now()){return"revoked"===e.state?`Revoked ${(0,o.formatSessionDate)(e.revoked_at??e.expires_at)}`:"expired"===e.state||e.expires_at<=t?`Expired ${(0,o.formatSessionDate)(e.expires_at)}`:`Expires ${(0,o.formatSessionDate)(e.expires_at)} (in ${function(e){let t=Math.max(1,Math.round(e/6e4));if(t<60)return`${t} min`;let s=Math.floor(t/60),a=t%60;return a?`${s} h ${a} min`:`${s} h`}(e.expires_at-t)})`},"sessionShares",0,function(e,t){let s=e.filter(e=>e.session_ref===t);return[...s.filter(c).sort((e,t)=>t.created_at-e.created_at),...s.filter(e=>!c(e)).sort((e,t)=>(t.revoked_at??t.expires_at)-(e.revoked_at??e.expires_at))]},"shareCreateAvailability",0,function(e,t){let s=`/bots/${encodeURIComponent(e.agent.id)}/config#session-sharing`;if(!t)return{available:!1,reason:"Share to Slack is unavailable: the share policy could not be loaded.",configHref:null};let a=(0,l.sessionRowActions)(e).find(e=>"ask"===e.action);return a&&!a.availability.available?{available:!1,reason:a.availability.reason.replace(/^Ask from this context is unavailable:/,"Share to Slack is unavailable:"),configHref:null}:"invalid"===t.state?{available:!1,reason:"Share to Slack is unavailable: the share policy file is invalid. Fix it in Config.",configHref:s}:0===t.audiences.length?{available:!1,reason:"Share to Slack needs a Slack channel on the share allowlist. Add one in Config.",configHref:s}:{available:!0}},"shareCreateBody",0,function(e,t,s,a){return{audience:{team_id:e.team_id,channel_id:e.channel_id},ttl_seconds:t,max_turns:s,idempotency_key:a}},"shareFromTurnNote",0,function(e){return e.agent.share_current.supported?e.agent.share_from_turn?"On: a turn Botmancers launches for this Agent can share its own session to an allowlisted channel. Turning it off revokes every live turn context at once.":"Off: no turn of this Agent can share its own session. Sessions can still be shared from the Sessions drawer.":e.agent.share_current.reason??"This runtime cannot share its own session from a turn."},"shareIsLive",0,c,"shareStatusNote",0,function(e){switch(e.status){case"active":return"Slack replies in its thread ask this session (read-only).";case"answering":return"A Slack question is being answered now. The next one waits until it finishes.";case"recovering":return"A question was interrupted by a Botmancers restart. The next Slack question clears it.";case"exhausted":return`All ${e.max_turns} questions are used. Slack questions get the limit notice; create a new share to keep going.`;case"expired":return"Expired: Slack questions get the expired notice. Its history stays here.";case"revoked":return"Revoked: Slack questions get the revoked notice. Its history stays here."}},"threadLabel",0,function(e){return e.thread.posted?`Slack thread posted ${(0,o.formatSessionDate)(e.thread.posted_at??0)}`:"active"===e.state?"Waiting for the Slack relay to post the thread":"No Slack thread was posted"},"turnsLabel",0,function(e){return`${e.turns_used} of ${e.max_turns} question${1===e.max_turns?"":"s"} used`}],24204)},33851,44079,52900,e=>{"use strict";var t=e.i(3136);let s="This computer",a={direct:"Direct",agent_deck:"Agent Deck"},n={read_only:"Read only",workspace_write:"Workspace write"},r={workspaces:"Selected workspaces",sessions:"Selected imported sessions",all_provider_sessions:"All sessions this runtime can see"};function i(e){return e.startsWith("/")||"~"===e||e.startsWith("~/")}function o(e){return e.length>1?e.replace(/\/+$/,""):e}t.AGENTS.join("|");var l=e.i(74904);let c="/api/runtime-connections",d={connection:"Runtime connection",scope:"Session scope",defaultWorkspace:"Default workspace (optional)",launchProfile:"Launch profile",policy:"Policy",homeSession:"Home session (optional)"},u={connection:"The runtime installation or account this Agent uses. Several Agents can share one.",workspaces:"One absolute path per line. An empty scope never means unrestricted.",sessions:"Only this Agent’s own Botmancers sessions can be selected.",noSessions:"This Agent has no sessions yet. Choose workspaces or all sessions for now.",allSessions:"Every session this runtime can see. Choose this only on purpose.",defaultWorkspace:"Where new sessions start. Convenience only — not a permission.",direct:"Launches the runtime directly. Agent Deck is not contacted.",agentDeck:"Launches through a verified Agent Deck from the configured server.",resumeEdits:"Needs Workspace write.",homeSession:"A stable session to return to. Must be one of this Agent’s sessions.",addConnection:"Stores a name and host only. Credentials stay with the runtime."},h="Loading runtime connections…",p="Couldn't load runtime connections — retry.";function f(){return{status:"loading",connections:[],error:""}}function m(e){return`${e.label} \xb7 ${t.AGENT_LABELS[e.provider]??e.provider}`}function g(e){if("object"!=typeof e||null===e)return null;let t=e.connections;if(!Array.isArray(t))return null;let s=[];for(let e of t){if("object"!=typeof e||null===e||"string"!=typeof e.id||"string"!=typeof e.provider||"string"!=typeof e.label)return null;s.push({id:e.id,provider:e.provider,label:e.label,host:"string"==typeof e.host?e.host:"",agent_count:"number"==typeof e.agent_count?e.agent_count:void 0})}return s}function k(e){let t=[];for(let s of e.split("\n")){let e=s.trim();e&&!t.includes(e)&&t.push(e)}return t}function y(e){return"workspaces"===e.scopeKind?{kind:"workspaces",workspaces:k(e.workspaces)}:"sessions"===e.scopeKind?{kind:"sessions",sessions:e.sessions}:{kind:e.scopeKind}}function w(e){return{mode:e.policyMode,allow_new_sessions:e.allowNewSessions,allow_resume_with_edits:e.allowResumeWithEdits}}e.s(["CONNECTIONS_ENDPOINT",0,c,"CONNECTIONS_ERROR_COPY",0,p,"CONNECTIONS_LOADING_COPY",0,h,"DEFAULT_REGISTRATION_FORM",0,{connectionId:"",scopeKind:"",workspaces:"",sessions:[],defaultWorkspace:"",launchProfile:"",deckId:"",workingDirectory:"",policyMode:"read_only",allowNewSessions:!0,allowResumeWithEdits:!1,homeSessionId:""},"HINTS",0,u,"LABELS",0,d,"connectionOptionLabel",0,m,"hasRegistrationErrors",0,function(e){return Object.keys(e.errors).length>0},"initialConnectionListState",0,f,"parseConnectionList",0,g,"registrationCreateBody",0,function(e,t){let s={name:String(e??"").trim(),runtime_connection_id:t.connectionId,launch_profile:t.launchProfile||null,session_scope:y(t),policy:w(t)},a=t.defaultWorkspace.trim();if(a&&(s.default_workspace=a),"agent_deck"===t.launchProfile){s.deck_id=t.deckId.trim();let e=t.workingDirectory.trim();e&&(s.working_directory=e)}return s},"registrationFormFromBot",0,function(e){let t=e.session_scope??null,s="direct"===e.launch_profile||"agent_deck"===e.launch_profile?e.launch_profile:"",a=!0===e.needs_deck_selection||1===e.needs_deck_selection,n=(e.working_directory??"").trim();return{connectionId:e.runtime_connection_id??"",scopeKind:t?.kind??"",workspaces:t?.kind==="workspaces"?t.workspaces.join("\n"):"",sessions:t?.kind==="sessions"?[...t.sessions]:[],defaultWorkspace:e.default_workspace??"",launchProfile:s,deckId:"agent_deck"!==s||a?"":(e.deck_id??"").trim(),workingDirectory:"agent_deck"===s&&n&&n!==(0,l.defaultWorkdirFor)(e.id??"")?n:"",policyMode:e.policy?.mode??"read_only",allowNewSessions:!e.policy||e.policy.allow_new_sessions,allowResumeWithEdits:!!e.policy&&e.policy.allow_resume_with_edits,homeSessionId:e.home_session_id??""}},"registrationFormView",0,function(e,t,s){let a={};e.connectionId||(a.connection="Pick a runtime connection.");let n=k(e.workspaces);e.scopeKind?"workspaces"===e.scopeKind?0===n.length?a.workspaces="Add at least one workspace.":n.every(i)||(a.workspaces="Workspaces must be absolute paths (or start with ~/)."):"sessions"===e.scopeKind&&0===e.sessions.length&&(a.sessions="Select at least one session."):a.scope="Choose a session scope.";let r=e.defaultWorkspace.trim();r&&(i(r)?"workspaces"!==e.scopeKind||a.workspaces||n.some(e=>{let t,s;return t=o(e),t===(s=o(r))||s.startsWith("/"===t?"/":`${t}/`)})||(a.defaultWorkspace="The default workspace must be inside one of the selected workspaces."):a.defaultWorkspace="The default workspace must be an absolute path (or start with ~/)."),e.launchProfile?"agent_deck"!==e.launchProfile||e.deckId.trim()||(a.deck="Select an Agent Deck for this agent."):a.launchProfile="Choose Direct or Agent Deck.",e.allowResumeWithEdits&&"workspace_write"!==e.policyMode&&(a.policy="Resume with edits needs the Workspace write policy.");let c="agent_deck"===e.launchProfile,d="",u=!1;return"ready"!==s.status?(u=!0,d="error"===s.status?p:""):c&&"connected"!==t.status&&(u=!0,d="loading"===t.status?"":l.DECK_SLOT_COPY[t.status]),{errors:a,showsAgentDeck:c,submitDisabled:u,blocker:d}},"registrationPatchBody",0,function(e,t){let s={id:e,runtime_connection_id:t.connectionId,launch_profile:t.launchProfile||null,session_scope:y(t),default_workspace:t.defaultWorkspace.trim(),policy:w(t),home_session_id:t.homeSessionId};if("agent_deck"===t.launchProfile){let a=t.workingDirectory.trim();s.deck_id=t.deckId.trim(),s.working_directory=a&&a!==(0,l.defaultWorkdirFor)(e)?a:""}return s},"registrationReadView",0,function(e,s,i){var o;let c,u=[{key:"connection",label:d.connection,value:(c=e.runtime_connection)?`${c.label} (${(0,t.agentLabel)(c.provider)} \xb7 ${c.host})`:"Not set"},{key:"scope",label:d.scope,value:function(e,t){if(!e)return"Not set — this Agent cannot launch until a scope is chosen.";if("all_provider_sessions"===e.kind)return r.all_provider_sessions;if("workspaces"===e.kind)return`${r.workspaces}: ${e.workspaces.join(", ")}`;let s=e.sessions.map(e=>t?.find(t=>t.ref===e)?.title??e);return`${r.sessions}: ${s.join(", ")}`}(e.session_scope,i)},{key:"defaultWorkspace",label:"Default workspace",value:e.default_workspace||"None"},{key:"launchProfile",label:d.launchProfile,value:"direct"===e.launch_profile?a.direct:"agent_deck"===e.launch_profile?a.agent_deck:"Not chosen"}],h=[];if("agent_deck"===e.launch_profile){let t=!0===e.needs_deck_selection||1===e.needs_deck_selection||!(e.deck_id??"").trim();u.push({key:"deck",label:"Agent Deck",value:t?"not selected":(0,l.deckLabel)(e.deck_id??"",s)});let a=(e.working_directory??"").trim();u.push({key:"workdir",label:"Working directory",value:a||(0,l.defaultWorkdirFor)(e.id??"{agentID}")}),!t&&(0,l.isDeckUnavailable)(e,s)&&h.push("This deck isn't on the configured server right now. Pick another deck, or fix the server in Settings.")}u.push({key:"policy",label:d.policy,value:(o=e.policy)?[n[o.mode],o.allow_new_sessions?"new sessions allowed":"no new sessions",o.allow_resume_with_edits?"resume with edits allowed":"no resume with edits"].join(" · "):"Not set"});let p=e.home_session_id?i?.find(t=>t.ref===e.home_session_id)?.title??e.home_session_id:"None";if(u.push({key:"homeSession",label:"Home session",value:p}),e.launch_profile)"direct_runtime"===e.launch_blocker&&h.push("Registered for direct launch. Direct sessions for this runtime arrive in a later Botmancers version.");else{let t=(e.deck_name??"").trim();h.push(`Choose Direct or Agent Deck before this Agent can run${t?` (was Agent Deck "${t}")`:""}.`)}return{rows:u,notices:h}}],33851);var v=e.i(43476),b=e.i(71645),x=e.i(10331);let _={modal:{fieldset:"agent-fieldset reg-fieldset",legend:"field-legend",label:"",picks:"runtime-picks",pick:"runtime-pick",stack:"reg-stack",control:"deck-control",input:"",hint:"runtime-hint",error:"form-error reg-error",button:"runtime-retry",note:"runtime-note"},config:{fieldset:"agent-fieldset reg-fieldset",legend:"block text-sm cfg-muted mt-3 mb-1 p-0",label:"block text-sm cfg-muted mt-3 mb-1",picks:"flex flex-wrap gap-x-4 gap-y-1 text-sm cfg-muted",pick:"text-sm cfg-muted",stack:"flex flex-col gap-1 text-sm cfg-muted",control:"cfg-input text-sm",input:"cfg-input text-sm",hint:"mt-1 text-xs cfg-faint",error:"mt-1 text-sm cfg-error",button:"cfg-link text-sm",note:"text-sm cfg-muted mt-1"}};function $({id:e,message:t,variant:s}){return t?(0,v.jsx)("p",{id:e,className:_[s].error,role:"alert",children:t}):null}function j({idPrefix:e,variant:t,onAdd:a}){let n=_[t],[r,i]=(0,b.useState)(!1),[o,c]=(0,b.useState)(l.AGENT_OPTIONS[0].value),[d,h]=(0,b.useState)(""),[p,f]=(0,b.useState)(""),[m,g]=(0,b.useState)(""),[k,y]=(0,b.useState)(!1),w=async()=>{if(k)return;y(!0),g("");let e=await a({provider:o,label:d,host:p.trim()||s});(y(!1),"string"==typeof e)?g(e):(i(!1),h(""),f(""))};return r?(0,v.jsxs)("div",{id:`${e}-add-connection`,className:"reg-add-connection",role:"group","aria-label":"Add connection",children:[(0,v.jsx)("label",{className:n.label,htmlFor:`${e}-add-provider`,children:"Provider"}),(0,v.jsx)("select",{id:`${e}-add-provider`,className:n.control,value:o,onChange:e=>c(e.target.value),children:l.AGENT_OPTIONS.map(e=>(0,v.jsx)("option",{value:e.value,children:e.label},e.value))}),(0,v.jsx)("label",{className:n.label,htmlFor:`${e}-add-label`,children:"Connection name"}),(0,v.jsx)("input",{id:`${e}-add-label`,type:"text",className:n.input||void 0,value:d,placeholder:"Codex on my laptop",onChange:e=>h(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),w())}}),(0,v.jsx)("label",{className:n.label,htmlFor:`${e}-add-host`,children:"Host"}),(0,v.jsx)("input",{id:`${e}-add-host`,type:"text",className:n.input||void 0,value:p,placeholder:s,"aria-describedby":`${e}-add-hint`,onChange:e=>f(e.target.value)}),(0,v.jsx)("p",{id:`${e}-add-hint`,className:n.hint,children:u.addConnection}),m?(0,v.jsx)("p",{className:n.error,role:"alert",children:m}):null,(0,v.jsxs)("div",{className:"reg-actions",children:[(0,v.jsx)("button",{type:"button",className:n.button,onClick:()=>void w(),disabled:k,children:k?"Adding…":"Add"}),(0,v.jsx)("button",{type:"button",className:n.button,"aria-expanded":"true",onClick:()=>i(!1),children:"Cancel"})]})]}):(0,v.jsx)("button",{type:"button",className:n.button,"aria-expanded":"false","aria-controls":`${e}-add-connection`,onClick:()=>i(!0),children:"Add connection…"})}e.s(["RegistrationFields",0,function({idPrefix:e,variant:t,form:s,onChange:i,view:o,showErrors:l,connections:c,onRetryConnections:f,onAddConnection:g,deckState:k,onRetryDecks:y,savedDeckId:w,workdirPlaceholder:b,workdirHint:S,sessions:N,includeHomeSession:A}){let C=_[t],D=e=>l?o.errors[e]:void 0,E=t=>`${e}-${t}-error`,T=(e,...t)=>[...t,D(e)?E(e):""].filter(Boolean).join(" ")||void 0,I=!!(N&&N.length>0);return(0,v.jsxs)("div",{className:"registration-fields","data-registration":t,children:[(0,v.jsxs)("fieldset",{className:C.fieldset,"data-field":"connection","aria-describedby":T("connection",`${e}-connection-hint`),children:[(0,v.jsx)("legend",{className:C.legend,id:`${e}-connection-legend`,children:d.connection}),"loading"===c.status?(0,v.jsx)("p",{className:C.note,role:"status",children:h}):"error"===c.status?(0,v.jsxs)("p",{className:C.note,role:"status",children:[p," ",(0,v.jsx)("button",{type:"button",className:C.button,onClick:f,children:"Retry"})]}):(0,v.jsxs)("select",{id:`${e}-connection`,className:C.control,"aria-labelledby":`${e}-connection-legend`,"aria-required":"true","aria-invalid":!!D("connection")||void 0,value:s.connectionId,onChange:e=>i({connectionId:e.target.value}),children:[(0,v.jsx)("option",{value:"",disabled:!0,children:"Select a connection…"}),c.connections.map(e=>(0,v.jsx)("option",{value:e.id,children:m(e)},e.id))]}),(0,v.jsx)("p",{id:`${e}-connection-hint`,className:C.hint,children:u.connection}),(0,v.jsx)($,{id:E("connection"),message:D("connection"),variant:t}),"ready"===c.status?(0,v.jsx)(j,{idPrefix:e,variant:t,onAdd:async e=>{let t=await g(e);return"string"!=typeof t&&i({connectionId:t.id}),t}}):null]}),(0,v.jsxs)("fieldset",{className:C.fieldset,"data-field":"scope",children:[(0,v.jsx)("legend",{className:C.legend,id:`${e}-scope-legend`,children:d.scope}),(0,v.jsx)("div",{className:C.stack,role:"radiogroup","aria-labelledby":`${e}-scope-legend`,"aria-required":"true","aria-describedby":T("scope"),children:["workspaces","sessions","all_provider_sessions"].map(t=>(0,v.jsxs)("label",{className:C.pick,children:[(0,v.jsx)("input",{type:"radio",name:`${e}-scope`,value:t,checked:s.scopeKind===t,disabled:"sessions"===t&&!I,onChange:()=>i({scopeKind:t})})," "+r[t]]},t))}),I?null:(0,v.jsx)("p",{className:C.hint,children:u.noSessions}),(0,v.jsx)($,{id:E("scope"),message:D("scope"),variant:t}),"workspaces"===s.scopeKind?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)("label",{className:C.label,htmlFor:`${e}-workspaces`,children:"Workspaces"}),(0,v.jsx)("textarea",{id:`${e}-workspaces`,className:C.input||void 0,rows:2,value:s.workspaces,placeholder:"/Users/you/work/project","aria-required":"true","aria-invalid":!!D("workspaces")||void 0,"aria-describedby":T("workspaces",`${e}-workspaces-hint`),onChange:e=>i({workspaces:e.target.value})}),(0,v.jsx)("p",{id:`${e}-workspaces-hint`,className:C.hint,children:u.workspaces}),(0,v.jsx)($,{id:E("workspaces"),message:D("workspaces"),variant:t})]}):null,"sessions"===s.scopeKind&&N?(0,v.jsxs)("div",{className:C.stack,role:"group","aria-label":"Sessions in scope","aria-describedby":T("sessions",`${e}-sessions-hint`),children:[N.map(e=>(0,v.jsxs)("label",{className:C.pick,children:[(0,v.jsx)("input",{type:"checkbox",checked:s.sessions.includes(e.ref),onChange:t=>i({sessions:t.target.checked?[...s.sessions,e.ref]:s.sessions.filter(t=>t!==e.ref)})}),` ${e.title} (${e.status})`]},e.ref)),(0,v.jsx)("p",{id:`${e}-sessions-hint`,className:C.hint,children:u.sessions}),(0,v.jsx)($,{id:E("sessions"),message:D("sessions"),variant:t})]}):null,"all_provider_sessions"===s.scopeKind?(0,v.jsx)("p",{className:C.hint,children:u.allSessions}):null]}),(0,v.jsxs)("div",{"data-field":"default-workspace",children:[(0,v.jsx)("label",{className:C.label,htmlFor:`${e}-default-workspace`,children:d.defaultWorkspace}),(0,v.jsx)("input",{id:`${e}-default-workspace`,type:"text",className:C.input||void 0,value:s.defaultWorkspace,"aria-invalid":!!D("defaultWorkspace")||void 0,"aria-describedby":T("defaultWorkspace",`${e}-default-workspace-hint`),onChange:e=>i({defaultWorkspace:e.target.value})}),(0,v.jsx)("p",{id:`${e}-default-workspace-hint`,className:C.hint,children:u.defaultWorkspace}),(0,v.jsx)($,{id:E("defaultWorkspace"),message:D("defaultWorkspace"),variant:t})]}),(0,v.jsxs)("fieldset",{className:C.fieldset,"data-field":"launch-profile",children:[(0,v.jsx)("legend",{className:C.legend,id:`${e}-profile-legend`,children:d.launchProfile}),(0,v.jsx)("div",{className:C.stack,role:"radiogroup","aria-labelledby":`${e}-profile-legend`,"aria-required":"true","aria-describedby":T("launchProfile"),children:["direct","agent_deck"].map(t=>(0,v.jsxs)("label",{className:C.pick,children:[(0,v.jsx)("input",{type:"radio",name:`${e}-profile`,value:t,checked:s.launchProfile===t,"aria-describedby":`${e}-profile-${t}-hint`,onChange:()=>i({launchProfile:t})})," "+a[t],(0,v.jsx)("span",{id:`${e}-profile-${t}-hint`,className:`reg-option-hint ${C.hint}`,children:"direct"===t?u.direct:u.agentDeck})]},t))}),(0,v.jsx)($,{id:E("launchProfile"),message:D("launchProfile"),variant:t}),o.showsAgentDeck?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(x.AgentDeckFields,{idPrefix:e,variant:t,deckId:s.deckId,onDeckId:e=>i({deckId:e}),deckState:k,onRetry:y,savedDeckId:w,workingDirectory:s.workingDirectory,onWorkingDirectory:e=>i({workingDirectory:e}),workdirPlaceholder:b,workdirHint:S}),(0,v.jsx)($,{id:E("deck"),message:D("deck"),variant:t})]}):null]}),(0,v.jsxs)("fieldset",{className:C.fieldset,"data-field":"policy",children:[(0,v.jsx)("legend",{className:C.legend,id:`${e}-policy-legend`,children:d.policy}),(0,v.jsx)("div",{className:C.picks,role:"radiogroup","aria-labelledby":`${e}-policy-legend`,children:["read_only","workspace_write"].map(t=>(0,v.jsxs)("label",{className:C.pick,children:[(0,v.jsx)("input",{type:"radio",name:`${e}-policy`,value:t,checked:s.policyMode===t,onChange:()=>i("read_only"===t?{policyMode:t,allowResumeWithEdits:!1}:{policyMode:t})})," "+n[t]]},t))}),(0,v.jsxs)("div",{className:C.stack,children:[(0,v.jsxs)("label",{className:C.pick,children:[(0,v.jsx)("input",{type:"checkbox",checked:s.allowNewSessions,onChange:e=>i({allowNewSessions:e.target.checked})})," Allow new sessions"]}),(0,v.jsxs)("label",{className:C.pick,children:[(0,v.jsx)("input",{type:"checkbox",checked:s.allowResumeWithEdits,disabled:"workspace_write"!==s.policyMode,"aria-describedby":`${e}-resume-hint`,onChange:e=>i({allowResumeWithEdits:e.target.checked})})," Allow resume with edits"]}),(0,v.jsx)("p",{id:`${e}-resume-hint`,className:C.hint,children:u.resumeEdits})]}),(0,v.jsx)($,{id:E("policy"),message:D("policy"),variant:t})]}),A?(0,v.jsxs)("div",{"data-field":"home-session",children:[(0,v.jsx)("label",{className:C.label,htmlFor:`${e}-home-session`,children:d.homeSession}),(0,v.jsxs)("select",{id:`${e}-home-session`,className:C.control,value:s.homeSessionId,"aria-describedby":`${e}-home-session-hint`,onChange:e=>i({homeSessionId:e.target.value}),children:[(0,v.jsx)("option",{value:"",children:"None"}),(N??[]).map(e=>(0,v.jsx)("option",{value:e.ref,children:`${e.title} (${e.status})`},e.ref))]}),(0,v.jsx)("p",{id:`${e}-home-session-hint`,className:C.hint,children:u.homeSession})]}):null]})}],44079),e.s(["useRuntimeConnections",0,function(){let[e,t]=(0,b.useState)(()=>f()),[s,a]=(0,b.useState)(0);return(0,b.useEffect)(()=>{let e=!1;return fetch(c,{cache:"no-store"}).then(async s=>{let a=s.ok?g(await s.json().catch(()=>null)):null;e||t(a?{status:"ready",connections:a,error:""}:{status:"error",connections:[],error:`HTTP ${s.status}`})}).catch(s=>{e||t({status:"error",connections:[],error:s instanceof Error?s.message:String(s)})}),()=>{e=!0}},[s]),{state:e,retry:(0,b.useCallback)(()=>{t(f()),a(e=>e+1)},[]),add:(0,b.useCallback)(async e=>{let s=await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),a=await s.json().catch(()=>null);if(!s.ok)return"string"==typeof a?.error?a.error:"Failed to add the connection";let n=g({connections:[a]})?.[0];return n?(t(e=>({status:"ready",connections:[...e.connections,n],error:""})),n):"Failed to add the connection"},[])}}],52900)},68541,e=>{"use strict";e.i(47167);let t="imported",s=/^[A-Za-z0-9_-]{1,128}$/;function a(e){let a=new URLSearchParams(e).get(t);if(null===a)return null;let n=a.trim();return s.test(n)?n:""}function n(e){return`/bots/${encodeURIComponent(e)}/config`}async function r(e,t,s){let r=a(e);if(null===r)return{kind:"none"};if(!r)return{kind:"missing"};if(r===t)return{kind:"stay"};try{return await s(r)?{kind:"open",path:n(r)}:{kind:"missing"}}catch{return{kind:"missing"}}}e.s(["HANDOFF_STATUS_PATH",0,"/api/marketplace-handoff/status","IMPORT_RETURN_QUERY",0,t,"handoffStartPath",0,function(e,t){return`/api/marketplace-handoff?return=${encodeURIComponent(e+t)}`},"importedBotId",0,a,"importedConfigPath",0,n,"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,r])}]);
|