botmancers 0.7.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/README.md +5 -5
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +12 -1
- package/app/.next/build-manifest.json +3 -3
- package/app/.next/prerender-manifest.json +4 -4
- package/app/.next/required-server-files.json +2 -2
- package/app/.next/routes-manifest.json +90 -0
- package/app/.next/server/app/_global-error.html +1 -1
- package/app/.next/server/app/_global-error.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_not-found.html +1 -1
- package/app/.next/server/app/_not-found.rsc +2 -2
- package/app/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/agents/[id]/activity/page/app-paths-manifest.json +3 -0
- package/app/.next/server/app/agents/[id]/activity/page/next-font-manifest.json +11 -0
- package/app/.next/server/app/agents/[id]/activity/page.js +14 -0
- package/app/.next/server/app/agents/[id]/activity/page.js.nft.json +1 -0
- package/app/.next/server/app/agents/[id]/activity/page_client-reference-manifest.js +3 -0
- package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page/app-paths-manifest.json +3 -0
- package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page/build-manifest.json +20 -0
- package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page/next-font-manifest.json +11 -0
- package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page/react-loadable-manifest.json +1 -0
- package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page/server-reference-manifest.json +4 -0
- package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page.js +14 -0
- package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page.js.nft.json +1 -0
- package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page_client-reference-manifest.js +3 -0
- package/app/.next/server/app/agents/[id]/conversations/page/app-paths-manifest.json +3 -0
- package/app/.next/server/app/agents/[id]/conversations/page/build-manifest.json +20 -0
- package/app/.next/server/app/agents/[id]/conversations/page/next-font-manifest.json +11 -0
- package/app/.next/server/app/agents/[id]/conversations/page/react-loadable-manifest.json +1 -0
- package/app/.next/server/app/agents/[id]/conversations/page/server-reference-manifest.json +4 -0
- package/app/.next/server/app/agents/[id]/conversations/page.js +14 -0
- package/app/.next/server/app/agents/[id]/conversations/page.js.nft.json +1 -0
- package/app/.next/server/app/agents/[id]/conversations/page_client-reference-manifest.js +3 -0
- package/app/.next/server/app/agents/[id]/page/app-paths-manifest.json +3 -0
- package/app/.next/server/app/agents/[id]/page/build-manifest.json +20 -0
- package/app/.next/server/app/{threads → agents}/[id]/page/next-font-manifest.json +1 -1
- package/app/.next/server/app/agents/[id]/page/react-loadable-manifest.json +1 -0
- package/app/.next/server/app/agents/[id]/page/server-reference-manifest.json +4 -0
- package/app/.next/server/app/{threads → agents}/[id]/page.js +6 -5
- package/app/.next/server/app/{threads → agents}/[id]/page.js.nft.json +1 -1
- package/app/.next/server/app/agents/[id]/page_client-reference-manifest.js +3 -0
- package/app/.next/server/app/agents/[id]/sessions/page/app-paths-manifest.json +3 -0
- package/app/.next/server/app/agents/[id]/sessions/page/build-manifest.json +20 -0
- package/app/.next/server/app/agents/[id]/sessions/page/next-font-manifest.json +11 -0
- package/app/.next/server/app/agents/[id]/sessions/page/react-loadable-manifest.json +1 -0
- package/app/.next/server/app/agents/[id]/sessions/page/server-reference-manifest.json +4 -0
- package/app/.next/server/app/agents/[id]/sessions/page.js +14 -0
- package/app/.next/server/app/agents/[id]/sessions/page.js.nft.json +1 -0
- package/app/.next/server/app/agents/[id]/sessions/page_client-reference-manifest.js +3 -0
- package/app/.next/server/app/agents/[id]/slack/page/app-paths-manifest.json +3 -0
- package/app/.next/server/app/agents/[id]/slack/page/build-manifest.json +20 -0
- package/app/.next/server/app/agents/[id]/slack/page/next-font-manifest.json +11 -0
- package/app/.next/server/app/agents/[id]/slack/page/react-loadable-manifest.json +1 -0
- package/app/.next/server/app/agents/[id]/slack/page/server-reference-manifest.json +4 -0
- package/app/.next/server/app/agents/[id]/slack/page.js +14 -0
- package/app/.next/server/app/agents/[id]/slack/page.js.nft.json +1 -0
- package/app/.next/server/app/agents/[id]/slack/page_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/bots/[id]/activity/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/bots/[id]/activity/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/bots/[id]/activity/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/bots/[id]/activity/route.js +9 -0
- package/app/.next/server/app/api/bots/[id]/activity/route.js.nft.json +1 -0
- package/app/.next/server/app/api/bots/[id]/activity/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/bots/[id]/config/route.js +1 -1
- package/app/.next/server/app/api/bots/[id]/config/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/conversations/[conversationId]/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/bots/[id]/conversations/[conversationId]/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/bots/[id]/conversations/[conversationId]/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/bots/[id]/conversations/[conversationId]/route.js +12 -0
- package/app/.next/server/app/api/bots/[id]/conversations/[conversationId]/route.js.nft.json +1 -0
- package/app/.next/server/app/api/bots/[id]/conversations/[conversationId]/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/bots/[id]/conversations/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/bots/[id]/conversations/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/bots/[id]/conversations/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/bots/[id]/conversations/route.js +12 -0
- package/app/.next/server/app/api/bots/[id]/conversations/route.js.nft.json +1 -0
- package/app/.next/server/app/api/bots/[id]/conversations/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/bots/[id]/overview/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/bots/[id]/overview/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/bots/[id]/overview/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/bots/[id]/overview/route.js +12 -0
- package/app/.next/server/app/api/bots/[id]/overview/route.js.nft.json +1 -0
- package/app/.next/server/app/api/bots/[id]/overview/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route.js +2 -2
- 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 +2 -2
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route.js +1 -1
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/sessions/route.js +3 -3
- package/app/.next/server/app/api/bots/[id]/sessions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/sessions/sync/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/bots/[id]/sessions/sync/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/bots/[id]/sessions/sync/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/bots/[id]/sessions/sync/route.js +11 -0
- package/app/.next/server/app/api/bots/[id]/sessions/sync/route.js.nft.json +1 -0
- package/app/.next/server/app/api/bots/[id]/sessions/sync/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/bots/[id]/share-policy/route.js +1 -1
- package/app/.next/server/app/api/bots/[id]/share-policy/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/skill/route.js +1 -1
- package/app/.next/server/app/api/bots/[id]/skill/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/availability/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/delete-preview/route.js +1 -1
- package/app/.next/server/app/api/bots/delete-preview/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/import/route.js +1 -1
- package/app/.next/server/app/api/bots/import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/manage/route.js +1 -1
- package/app/.next/server/app/api/bots/manage/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/name-migrations/route.js +1 -1
- package/app/.next/server/app/api/bots/name-migrations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/route.js +5 -5
- package/app/.next/server/app/api/bots/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/approve/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/deny/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/draft/route.js +1 -1
- package/app/.next/server/app/api/conversations/[id]/draft/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/messages/[messageId]/stop/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/messages/route.js +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 +1 -1
- package/app/.next/server/app/api/conversations/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/stop/route.js +6 -6
- package/app/.next/server/app/api/conversations/[id]/stop/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/route.js +1 -1
- package/app/.next/server/app/api/conversations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/exchanges/[id]/cancel/route.js +1 -1
- package/app/.next/server/app/api/exchanges/[id]/cancel/route.js.nft.json +1 -1
- package/app/.next/server/app/api/exchanges/[id]/route.js +1 -1
- package/app/.next/server/app/api/exchanges/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/exchanges/route.js +2 -2
- 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 +1 -1
- package/app/.next/server/app/api/groups/route.js.nft.json +1 -1
- package/app/.next/server/app/api/health/route.js +1 -1
- package/app/.next/server/app/api/health/route.js.nft.json +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.nft.json +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 +1 -1
- package/app/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/app/.next/server/app/api/messages/[id]/between/route.js +1 -1
- 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 +1 -1
- package/app/.next/server/app/api/runtime-connections/route.js.nft.json +1 -1
- package/app/.next/server/app/api/service-grants/route.js.nft.json +1 -1
- package/app/.next/server/app/api/shares/[shareRef]/revoke/route.js +1 -1
- package/app/.next/server/app/api/shares/[shareRef]/revoke/route.js.nft.json +1 -1
- package/app/.next/server/app/api/shares/route.js +1 -1
- package/app/.next/server/app/api/shares/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/conversations/[conversationId]/route.js +4 -3
- 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 +4 -3
- 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 +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/pins/route.js +4 -3
- 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 +4 -3
- 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 +4 -3
- 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 +4 -3
- 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 +4 -3
- package/app/.next/server/app/api/v0/agents/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/capabilities/route.js +4 -3
- 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 +1 -1
- package/app/.next/server/app/api/v0/conversations/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/exchanges/[id]/cancel/route.js +4 -3
- 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 +4 -3
- 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 +4 -3
- 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 -5
- 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 +4 -3
- 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 +4 -3
- 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 +4 -3
- 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 +1 -1
- package/app/.next/server/app/api/v0/requests/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/sessions/[ref]/messages/route.js +4 -3
- 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 +4 -3
- package/app/.next/server/app/api/v0/sessions/[ref]/pins/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/sessions/[ref]/shares/route.js +4 -3
- package/app/.next/server/app/api/v0/sessions/[ref]/shares/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route.js +4 -3
- package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/shares/[shareRef]/route.js +4 -3
- package/app/.next/server/app/api/v0/shares/[shareRef]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/shares/current/route.js +4 -3
- package/app/.next/server/app/api/v0/shares/current/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/shares/route.js +4 -3
- package/app/.next/server/app/api/v0/shares/route.js.nft.json +1 -1
- package/app/.next/server/app/api/wake-grants/[id]/revoke/route.js +1 -1
- package/app/.next/server/app/api/wake-grants/[id]/revoke/route.js.nft.json +1 -1
- package/app/.next/server/app/api/wakes/[id]/decision/route.js +1 -1
- package/app/.next/server/app/api/wakes/[id]/decision/route.js.nft.json +1 -1
- package/app/.next/server/app/api/wakes/[id]/retry/route.js +1 -1
- package/app/.next/server/app/api/wakes/[id]/retry/route.js.nft.json +1 -1
- package/app/.next/server/app/bots/[id]/config/page.js.nft.json +1 -1
- package/app/.next/server/app/bots/[id]/config/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/exchanges/page.js.nft.json +1 -1
- package/app/.next/server/app/exchanges/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/exchanges.html +1 -1
- package/app/.next/server/app/exchanges.rsc +3 -3
- package/app/.next/server/app/exchanges.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/exchanges.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/exchanges.segments/exchanges/__PAGE__.segment.rsc +3 -3
- package/app/.next/server/app/index.html +1 -1
- package/app/.next/server/app/index.rsc +3 -3
- package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/app/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/page.js.nft.json +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/settings/page.js.nft.json +1 -1
- package/app/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/settings.html +1 -1
- package/app/.next/server/app/settings.rsc +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]/route/app-paths-manifest.json +3 -0
- package/app/.next/server/app/threads/[id]/route/build-manifest.json +12 -0
- package/app/.next/server/app/threads/[id]/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/threads/[id]/route.js +10 -0
- package/app/.next/server/app/threads/[id]/route.js.nft.json +1 -0
- package/app/.next/server/app/threads/[id]/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app-paths-manifest.json +12 -1
- package/app/.next/server/chunks/1oeh_server_app_api_bots_[id]_conversations_[conversationId]_route_actions_11cb2lr.js +3 -0
- package/app/.next/server/chunks/{[root-of-the-server]__17xl_55._.js → [root-of-the-server]__03pk_x_._.js} +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__0mp8bap._.js → [root-of-the-server]__05ds5md._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0anfwiu._.js +52 -0
- package/app/.next/server/chunks/{[root-of-the-server]__0-w_t2y._.js → [root-of-the-server]__0atpy-s._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0hhill-._.js +3 -0
- package/app/.next/server/chunks/{[root-of-the-server]__06w5xhe._.js → [root-of-the-server]__0hiikkz._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0k8wfe2._.js +3 -0
- package/app/.next/server/chunks/{[root-of-the-server]__1eps2a4._.js → [root-of-the-server]__0pp5x67._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0qqsovi._.js +3 -0
- package/app/.next/server/chunks/{[root-of-the-server]__1dxr858._.js → [root-of-the-server]__0thkp5l._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0xhwlr4._.js +3 -0
- package/app/.next/server/chunks/{[root-of-the-server]__0-vcyi-._.js → [root-of-the-server]__11yt1hv._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__1280ke1._.js +46 -0
- package/app/.next/server/chunks/{[root-of-the-server]__0iqh5ta._.js → [root-of-the-server]__12wk406._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__13wghn3._.js +46 -0
- package/app/.next/server/chunks/{[root-of-the-server]__0lwsto-._.js → [root-of-the-server]__14cwco7._.js} +3 -3
- package/app/.next/server/chunks/{[root-of-the-server]__1kczttr._.js → [root-of-the-server]__185i_bv._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__1byhehl._.js +3 -0
- package/app/.next/server/chunks/{[root-of-the-server]__10b5-i-._.js → [root-of-the-server]__1ez_5xy._.js} +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__1jxwu9_._.js +52 -0
- package/app/.next/server/chunks/{[root-of-the-server]__0o9ijih._.js → [root-of-the-server]__1mxp6z6._.js} +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__0ey3_2x._.js → [root-of-the-server]__1s2-vw3._.js} +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__1hwy3jx._.js → [root-of-the-server]__1xq61ti._.js} +1 -1
- package/app/.next/server/chunks/{[root-of-the-server]__04b3ml2._.js → [root-of-the-server]__20om7um._.js} +1 -1
- package/app/.next/server/chunks/_0061c2q._.js +1 -1
- package/app/.next/server/chunks/_0_b7py8._.js +3 -0
- package/app/.next/server/chunks/_0a2do3x._.js +1 -1
- package/app/.next/server/chunks/_1-5mthb._.js +1 -1
- package/app/.next/server/chunks/_12i5gam._.js +7 -0
- package/app/.next/server/chunks/_1a0er16._.js +18 -0
- package/app/.next/server/chunks/_1uxmsh3._.js +18 -0
- package/app/.next/server/chunks/_next-internal_server_app_api_bots_[id]_activity_route_actions_06oyah6.js +3 -0
- package/app/.next/server/chunks/_next-internal_server_app_api_bots_[id]_conversations_route_actions_0op0mjv.js +3 -0
- package/app/.next/server/chunks/_next-internal_server_app_api_bots_[id]_overview_route_actions_20nuetv.js +3 -0
- package/app/.next/server/chunks/_next-internal_server_app_api_bots_[id]_sessions_sync_route_actions_00y6n-f.js +3 -0
- package/app/.next/server/chunks/{ssr/_next-internal_server_app_threads_[id]_page_actions_1fte2n3.js → _next-internal_server_app_threads_[id]_route_actions_13zq3u6.js} +2 -2
- package/app/.next/server/chunks/lib_0-opbv7._.js +69 -55
- package/app/.next/server/chunks/lib_0aejojj._.js +69 -55
- package/app/.next/server/chunks/lib_0al5wbc._.js +330 -0
- package/app/.next/server/chunks/lib_0i8cm07._.js +3 -0
- package/app/.next/server/chunks/lib_0il0ml1._.js +69 -55
- package/app/.next/server/chunks/lib_0iujsdg._.js +69 -55
- package/app/.next/server/chunks/{lib_15adnlz._.js → lib_15a9ejf._.js} +53 -44
- package/app/.next/server/chunks/{lib_1zc7-gl._.js → lib_19pzc33._.js} +53 -44
- package/app/.next/server/chunks/lib_1a4ucxv._.js +330 -0
- package/app/.next/server/chunks/lib_1dehbst._.js +69 -55
- package/app/.next/server/chunks/lib_1z4vnh4._.js +69 -55
- package/app/.next/server/chunks/lib_1z7d95m._.js +2181 -0
- package/app/.next/server/chunks/lib_service-api-http_ts_0xzqhny._.js +1 -23
- package/app/.next/server/chunks/lib_service-api_ts_18eok4w._.js +25 -0
- package/app/.next/server/chunks/node_modules_next_1zc5q0a._.js +11 -11
- package/app/.next/server/chunks/ssr/1oeh_server_app_agents_[id]_conversations_[conversationId]_page_actions_08lev_i.js +3 -0
- package/app/.next/server/chunks/ssr/[root-of-the-server]__06s7ons._.js +3 -0
- package/app/.next/server/chunks/ssr/[root-of-the-server]__0r8nmcc._.js +3 -0
- package/app/.next/server/chunks/ssr/[root-of-the-server]__19qlmru._.js +3 -0
- package/app/.next/server/chunks/ssr/[root-of-the-server]__1dpye-p._.js +3 -0
- package/app/.next/server/chunks/ssr/[root-of-the-server]__1fxu3a8._.js +3 -0
- package/app/.next/server/chunks/ssr/[root-of-the-server]__1t9ljq3._.js +3 -0
- package/app/.next/server/chunks/ssr/_0_u9-u6._.js +3 -0
- package/app/.next/server/chunks/ssr/_0g3y1u9._.js +3 -0
- package/app/.next/server/chunks/ssr/{node_modules_next_0x3i8za._.js → _0gzxfz3._.js} +2 -2
- package/app/.next/server/chunks/ssr/_0rvu-il._.js +131 -0
- package/app/.next/server/chunks/ssr/_0u7urta._.js +5 -0
- package/app/.next/server/chunks/ssr/_17ngohj._.js +3 -0
- package/app/.next/server/chunks/ssr/_1iq-7cn._.js +3 -0
- package/app/.next/server/chunks/ssr/_next-internal_server_app_agents_[id]_activity_page_actions_1a_v567.js +3 -0
- package/app/.next/server/chunks/ssr/_next-internal_server_app_agents_[id]_conversations_page_actions_1dpbbj-.js +3 -0
- package/app/.next/server/chunks/ssr/_next-internal_server_app_agents_[id]_page_actions_0k__y7g.js +3 -0
- package/app/.next/server/chunks/ssr/_next-internal_server_app_agents_[id]_sessions_page_actions_1hft42g.js +3 -0
- package/app/.next/server/chunks/ssr/_next-internal_server_app_agents_[id]_slack_page_actions_0dmtbj_.js +3 -0
- package/app/.next/server/chunks/ssr/app_1-nwnha._.js +3 -0
- package/app/.next/server/chunks/ssr/app_agents_[id]_009y8_j._.js +3 -0
- package/app/.next/server/chunks/ssr/app_agents_[id]_0sr4fdg._.js +3 -0
- package/app/.next/server/chunks/ssr/app_agents_[id]_activity_AgentActivityPage_tsx_042-590._.js +3 -0
- package/app/.next/server/chunks/ssr/app_agents_[id]_conversations_page_tsx_15zl_c8._.js +3 -0
- package/app/.next/server/chunks/ssr/app_agents_[id]_sessions_page_tsx_0tfup-2._.js +10 -0
- package/app/.next/server/chunks/ssr/app_agents_[id]_slack_AgentSlackPage_tsx_20njhs1._.js +3 -0
- package/app/.next/server/chunks/ssr/app_bots_[id]_config_page_tsx_1e0uue9._.js +1 -1
- package/app/.next/server/chunks/ssr/app_page_tsx_0pxmutw._.js +3 -0
- package/app/.next/server/chunks/ssr/lib_0pfn9gs._.js +3 -0
- package/app/.next/server/chunks/ssr/lib_agent-registration-ui_ts_1z582mm._.js +3 -0
- package/app/.next/server/chunks/ssr/lib_exchange-view_ts_1a4q9ju._.js +3 -0
- package/app/.next/server/chunks/ssr/lib_share-view_ts_08psw5o._.js +3 -0
- package/app/.next/server/instrumentation.js +1 -1
- package/app/.next/server/middleware-build-manifest.js +3 -3
- package/app/.next/server/next-font-manifest.js +1 -1
- package/app/.next/server/next-font-manifest.json +24 -4
- 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/02q7gb87r2ca3.css +3 -0
- package/app/.next/static/chunks/06i_6p0-ipitj.js +1 -0
- package/app/.next/static/chunks/0cjh4u-f7mlwd.js +1 -0
- package/app/.next/static/chunks/1dhk3pcv7yvm6.js +1 -0
- package/app/.next/static/chunks/1ka9dp1l6c0ga.js +3 -0
- package/app/.next/static/chunks/1ttvnc6qdye8s.js +1 -0
- package/app/.next/static/chunks/1ypwptc0fsn4w.js +1 -0
- package/app/.next/static/chunks/2-fhbx41zyanc.js +1 -0
- package/app/.next/static/chunks/2cc4uzbhs_v23.js +1 -0
- package/app/.next/static/chunks/2n1u8a2efnt88.js +1 -0
- package/app/.next/static/chunks/34v8aumua0x5n.js +1 -0
- package/app/.next/static/chunks/3aasli1i-eiio.js +1 -0
- package/app/.next/static/chunks/3p_p4gnr0d2-x.js +1 -0
- package/app/.next/static/chunks/3s9t477v-z09o.js +1 -0
- package/app/.next/static/chunks/3y5bo6syunkzn.js +8 -0
- package/app/BUILD_INFO.json +2 -2
- package/app/package.json +1 -1
- package/app/server.js +1 -1
- package/package.json +1 -1
- package/app/.next/server/app/threads/[id]/page/app-paths-manifest.json +0 -3
- package/app/.next/server/app/threads/[id]/page_client-reference-manifest.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__0792yb1._.js +0 -44
- package/app/.next/server/chunks/[root-of-the-server]__0d3fjix._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__0e_agq4._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__0qaiqut._.js +0 -44
- package/app/.next/server/chunks/[root-of-the-server]__17mum5-._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__1x8phwp._.js +0 -44
- package/app/.next/server/chunks/_0qv-4by._.js +0 -3
- package/app/.next/server/chunks/lib_0v6lblw._.js +0 -5
- package/app/.next/server/chunks/lib_agent-api_ts_0iv52-o._.js +0 -3
- package/app/.next/server/chunks/ssr/[root-of-the-server]__1t063pe._.js +0 -3
- package/app/.next/server/chunks/ssr/_0_fa0na._.js +0 -3
- package/app/.next/server/chunks/ssr/_0a6r_bx._.js +0 -3
- package/app/.next/server/chunks/ssr/_0epgorw._.js +0 -3
- package/app/.next/server/chunks/ssr/_1cvuhjt._.js +0 -3
- package/app/.next/server/chunks/ssr/_1is_iwu._.js +0 -3
- package/app/.next/server/chunks/ssr/_1n5mvo5._.js +0 -3
- package/app/.next/server/chunks/ssr/_1o94bnv._.js +0 -5
- package/app/.next/server/chunks/ssr/app_exchanges_page_tsx_0j-n2a1._.js +0 -3
- package/app/.next/static/chunks/1ouuczm-gmvxs.js +0 -1
- package/app/.next/static/chunks/1w72fds3-utrx.js +0 -1
- package/app/.next/static/chunks/2095-o17ji0fs.css +0 -3
- package/app/.next/static/chunks/2q-tgwkalrnms.js +0 -1
- package/app/.next/static/chunks/34bv9o9bjkwk0.js +0 -3
- package/app/.next/static/chunks/3rwwunh5sdjzg.js +0 -1
- package/app/.next/static/chunks/3z3mn526_3fwd.js +0 -1
- /package/app/.next/server/app/{threads/[id] → agents/[id]/activity}/page/build-manifest.json +0 -0
- /package/app/.next/server/app/{threads/[id] → agents/[id]/activity}/page/react-loadable-manifest.json +0 -0
- /package/app/.next/server/app/{threads/[id] → agents/[id]/activity}/page/server-reference-manifest.json +0 -0
- /package/app/.next/static/{A9sQnaf9i6YzjHNoPgRfU → nOdd5VXbf23ohQcBBjvHa}/_buildManifest.js +0 -0
- /package/app/.next/static/{A9sQnaf9i6YzjHNoPgRfU → nOdd5VXbf23ohQcBBjvHa}/_clientMiddlewareManifest.js +0 -0
- /package/app/.next/static/{A9sQnaf9i6YzjHNoPgRfU → nOdd5VXbf23ohQcBBjvHa}/_ssgManifest.js +0 -0
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[36391,5020,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d=[{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"}],e=[{id:"dots",label:"Round dots"},{id:"sleepy",label:"Sleepy"},{id:"happy",label:"Happy arcs"},{id:"wide",label:"Wide ovals"}],f=[{id:"folded",label:"Folded arms"},{id:"reaching",label:"Reaching right"},{id:"waving",label:"Waving"}],g=[{id:"none",label:"None"},{id:"crown",label:"Crown"},{id:"glasses",label:"Glasses"},{id:"headset",label:"Headset"},{id:"hat",label:"Hat"},{id:"bow",label:"Bow"}],h={color:"purple",eyes:"dots",hands:"folded",accessory:"none"},i={...h,accessory:"crown"};function j(a,b){return"string"==typeof b&&a.some(a=>a.id===b)}function k(a){let b=j(d,a.avatar_color)?a.avatar_color:h.color,c=j(e,a.avatar_eyes)?a.avatar_eyes:h.eyes;return{color:b,eyes:c,hands:j(f,a.avatar_hands)?a.avatar_hands:h.hands,accessory:j(g,a.avatar_accessory)?a.avatar_accessory:"chief-of-staff"===String(a.name??"").trim().toLowerCase()?i.accessory:h.accessory}}let l=[{x:70,y:70.5,w:38,h:6},{x:70,y:82,w:38,h:6}];function m(a){return l.map(b=>`<rect x="${b.x}" y="${b.y}" width="${b.w}" height="${b.h}" rx="${b.h/2}" ${a}/>`).join("")}function n(a,b="static"){var c,e;let f,g,h=d.find(b=>b.id===a.color)?.hex??d[0].hex,i=String(b).replace(/[^A-Za-z0-9_-]/g,"")||"static",j=`avatar-knockout-${i}`,k=`fill="none" stroke="${h}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`,l=(c=a.hands,e=a.accessory,f=[],"reaching"===c&&f.push({x1:87.6,y1:69,x2:90.4,y2:86.5,w:8}),"waving"===c&&f.push({x1:35,y1:59,x2:28,y2:72,w:10}),"crown"===e&&f.push({x1:44,y1:30,x2:76,y2:30,w:9}),"hat"===e&&f.push({x1:38,y1:34,x2:82,y2:34,w:9}),"bow"===e&&f.push({x1:60,y1:28.5,x2:84,y2:28,w:10}),"headset"===e&&(f.push({x1:42,y1:24.5,x2:78,y2:24.5,w:10}),f.push({x1:33,y1:55,x2:37,y2:64,w:8}),f.push({x1:83,y1:55,x2:87,y2:64,w:8})),"glasses"===e&&(f.push({x1:29,y1:56,x2:34,y2:62,w:8}),f.push({x1:86,y1:62,x2:91,y2:56,w:8})),f).map(a=>`<line x1="${a.x1}" y1="${a.y1}" x2="${a.x2}" y2="${a.y2}" stroke="#000000" stroke-width="${a.w}" stroke-linecap="round"/>`).join(""),o=`avatar-arms-${i}`,p="reaching"===a.hands,q=p?`<mask id="${o}"><rect x="0" y="0" width="120" height="120" fill="#ffffff"/>${m('fill="#000000" stroke="#000000" stroke-width="7"')}</mask>`:"",r=function(a,b){let c=`fill="none" stroke="${b}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`;switch(a){case"sleepy":return`<g data-avatar-layer="eyes" data-avatar-eyes="sleepy"><path d="M42 61 Q48 64 54 61" ${c}/><path d="M66 61 Q72 64 78 61" ${c}/></g>`;case"happy":return`<g data-avatar-layer="eyes" data-avatar-eyes="happy"><path d="M42 63 Q48 54 54 63" ${c}/><path d="M66 63 Q72 54 78 63" ${c}/></g>`;case"wide":return`<g data-avatar-layer="eyes" data-avatar-eyes="wide"><ellipse cx="48" cy="60" rx="5.5" ry="8" ${c}/><ellipse cx="72" cy="60" rx="5.5" ry="8" ${c}/></g>`;default:return`<g data-avatar-layer="eyes" data-avatar-eyes="dots"><circle cx="48" cy="60" r="3.5" ${c}/><circle cx="72" cy="60" r="3.5" ${c}/></g>`}}(a.eyes,h),s=function(a,b){let c=`fill="none" stroke="${b}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`;switch(a){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" ${c}/></g>`;case"glasses":return`<g data-avatar-layer="accessory" data-avatar-accessory="glasses"><circle cx="48" cy="60" r="9" ${c}/><circle cx="72" cy="60" r="9" ${c}/><path d="M57 60 Q60 57 63 60" ${c}/><path d="M39 59 L32 57" ${c}/><path d="M81 59 L88 57" ${c}/></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" ${c}/><rect x="79" y="54" width="10" height="17" rx="5" ${c}/><path d="M84 71 Q80 84 66 84" ${c}/></g>`;case"hat":return`<g data-avatar-layer="accessory" data-avatar-accessory="hat"><path d="M38 34 Q60 40 82 34" ${c}/><path d="M46 34 Q48 14 60 14 Q72 14 74 34" ${c}/></g>`;case"bow":return`<g data-avatar-layer="accessory" data-avatar-accessory="bow"><circle cx="79" cy="29" r="3.5" ${c}/><path d="M76 27 L62 18 Q60 26 66 32 Z" ${c}/><path d="M82 27 L95 19 Q97 27 91 32 Z" ${c}/></g>`;default:return'<g data-avatar-layer="accessory" data-avatar-accessory="none"></g>'}}(a.accessory,h);return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120" role="img" data-avatar-color="${a.color}" data-avatar-eyes="${a.eyes}" data-avatar-hands="${a.hands}" data-avatar-accessory="${a.accessory}"><mask id="${j}"><rect x="0" y="0" width="120" height="120" fill="#ffffff"/>${l}</mask>`+q+`<g data-avatar-layer="body" mask="url(#${j})">`+`<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" ${k}/>`+`<path d="M54 71 Q60 75.5 66 71" ${k}/>`+`<path data-avatar-brows="straight" d="${g="wide"===a.eyes?45:46,`M42 ${g} H54 M66 ${g} H78`}" fill="none" stroke="${h}" stroke-width="4.8" stroke-linecap="round"/>`+"</g>"+(p?`<g mask="url(#${o})">${r}</g>`:r)+function(a,b){let c=`fill="none" stroke="${b}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`;switch(a){case"reaching":return'<g data-avatar-layer="hands" data-avatar-hands="reaching">'+m(c)+"</g>";case"waving":return`<g data-avatar-layer="hands" data-avatar-hands="waving"><path d="M32 68 Q24 60 22 48" ${c}/><circle cx="21" cy="41" r="5" ${c}/><path d="M11 36 Q9 46 12 54" ${c}/></g>`;default:return`<g data-avatar-layer="hands" data-avatar-hands="folded"><rect x="44" y="79" width="32" height="9" rx="4.5" ${c}/><rect x="46" y="90" width="28" height="9" rx="4.5" ${c}/></g>`}}(a.hands,h)+(p?`<g mask="url(#${o})">${s}</g>`:s)+"</svg>"}a.s(["AVATAR_ACCESSORIES",0,g,"AVATAR_COLORS",0,d,"AVATAR_EYES",0,e,"AVATAR_HANDS",0,f,"renderAvatarSvg",0,n,"resolveAvatar",0,k],5020),a.s(["default",0,function({bot:a,config:d,size:e=28,className:f,title:g}){let h=(0,c.useId)().replace(/[^A-Za-z0-9_-]/g,"")||"avatar",i=n(d??a?.avatar_config??k(a??{}),h).replace("<svg ",`<svg width="${e}" height="${e}" `);return(0,b.jsx)("span",{className:f??"bot-avatar",style:{display:"inline-flex",width:e,height:e,flex:"none"},title:g,"aria-label":g??"Agent avatar",role:"img",dangerouslySetInnerHTML:{__html:i}})}],36391)},60193,35832,23464,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d="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.",e="Skill files, working directories, Hermes profiles, and imported source files stay on disk.";function f(a){return"chief"===a?"Chief of Staff cannot be deleted.":"Working now — stop it or let it finish before deleting."}function g(a){return 1===a?"Delete agent":`Delete ${a} agents`}a.s(["DELETE_KEEPS_COPY",0,e,"DELETE_REMOVES_COPY",0,d,"blockedReasonCopy",0,f,"deleteConfirmLabel",0,g,"deletedStatusLine",0,function(a){return 1===a?"Deleted 1 agent.":`Deleted ${a} agents.`}],35832),a.s(["default",0,function({ids:a,onCancel:h,onDeleted:i}){let j=(0,c.useId)(),[k,l]=(0,c.useState)(null),[m,n]=(0,c.useState)(""),[o,p]=(0,c.useState)(""),[q,r]=(0,c.useState)(!1),s=(0,c.useRef)(null),t=(0,c.useRef)(null),u=a.join("\n");(0,c.useEffect)(()=>{let a=!1;return fetch("/api/bots/delete-preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:u.split("\n")})}).then(async b=>{let c=await b.json().catch(()=>null);if(!a){if(!b.ok)return void n("string"==typeof c?.error?c.error:"Could not load the deletion preview.");l(c)}}).catch(()=>{a||n("Could not load the deletion preview.")}),()=>{a=!0}},[u]),(0,c.useEffect)(()=>{s.current?.focus()},[]),(0,c.useEffect)(()=>{let a=a=>{"Escape"===a.key&&(a.stopPropagation(),q||h())};return document.addEventListener("keydown",a,!0),()=>document.removeEventListener("keydown",a,!0)},[q,h]);let v=a.length,w=!k||k.blocked.length>0||k.missing.length>0,x=async()=>{if(!q&&!w){r(!0),p("");try{let b=await fetch("/api/bots",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:a})}),c=await b.json().catch(()=>null);if(!b.ok){p("string"==typeof c?.error&&c.error?c.error:`Delete failed (${b.status}).`),r(!1),requestAnimationFrame(()=>s.current?.focus());return}i(Array.isArray(c?.deleted)?c.deleted:[])}catch{p("Delete failed: the server did not respond."),r(!1),requestAnimationFrame(()=>s.current?.focus())}}};return(0,b.jsx)("div",{className:"modal-scrim delete-scrim",onKeyDown:a=>{if("Tab"!==a.key||!t.current)return;let b=Array.from(t.current.querySelectorAll("button:not(:disabled)"));if(0===b.length)return;let c=b[0],d=b[b.length-1];a.shiftKey&&document.activeElement===c?(a.preventDefault(),d.focus()):a.shiftKey||document.activeElement!==d||(a.preventDefault(),c.focus())},children:(0,b.jsxs)("div",{ref:t,className:"delete-card",role:"alertdialog","aria-modal":"true","aria-labelledby":j,"data-testid":"delete-agents-dialog",children:[(0,b.jsx)("h2",{id:j,className:"delete-title",children:1===v?"Delete this agent permanently?":`Delete ${v} agents permanently?`}),m?(0,b.jsx)("p",{className:"delete-error",role:"alert",children:m}):null,k||m?null:(0,b.jsx)("p",{className:"delete-copy",children:"Checking what will be removed…"}),k?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("ul",{className:"delete-names","aria-label":"Agents to delete",children:[k.agents.map(a=>(0,b.jsx)("li",{children:a.name},a.id)),k.missing.map(a=>(0,b.jsxs)("li",{children:["Not found: ",a]},a))]}),k.blocked.length>0?(0,b.jsxs)("div",{className:"delete-blocked",role:"alert",children:[(0,b.jsx)("p",{children:"Nothing can be deleted until these are deselected:"}),(0,b.jsx)("ul",{children:k.blocked.map(a=>(0,b.jsxs)("li",{children:[a.name," — ",f(a.reason)]},a.id))})]}):null,(0,b.jsx)("p",{className:"delete-copy",children:d}),(0,b.jsx)("p",{className:"delete-copy delete-keeps",children:e})]}):null,o?(0,b.jsx)("p",{className:"delete-error",role:"alert",children:o}):null,(0,b.jsxs)("div",{className:"form-actions delete-actions",children:[(0,b.jsx)("button",{ref:s,type:"button",className:"cancel-btn",onClick:h,disabled:q,children:"Cancel"}),(0,b.jsx)("button",{type:"button",className:"delete-btn",onClick:()=>{x()},disabled:q||w,children:q?"Deleting…":g(v)})]})]})})}],60193);var h=a.i(65221),i=a.i(35099);function j(a){return"active"===a.state}let k=/^T[A-Z0-9]{2,20}$/,l=/^[CG][A-Z0-9]{2,20}$/;a.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(a,b,c){let d=a.trim(),e=b.trim();return k.test(d)?l.test(e)?c.some(a=>a.team_id===d&&a.channel_id===e)?"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(a){return`Slack channel ${a.channel_id} \xb7 workspace ${a.team_id}`},"createdByLabel",0,function(a){return"owner"===a.created_by?"Shared by you":"current_session"===a.created_by?"Shared from a turn of this session":"Shared by a service"},"expiryLabel",0,function(a,b=Date.now()){return"revoked"===a.state?`Revoked ${(0,h.formatSessionDate)(a.revoked_at??a.expires_at)}`:"expired"===a.state||a.expires_at<=b?`Expired ${(0,h.formatSessionDate)(a.expires_at)}`:`Expires ${(0,h.formatSessionDate)(a.expires_at)} (in ${function(a){let b=Math.max(1,Math.round(a/6e4));if(b<60)return`${b} min`;let c=Math.floor(b/60),d=b%60;return d?`${c} h ${d} min`:`${c} h`}(a.expires_at-b)})`},"sessionShares",0,function(a,b){let c=a.filter(a=>a.session_ref===b);return[...c.filter(j).sort((a,b)=>b.created_at-a.created_at),...c.filter(a=>!j(a)).sort((a,b)=>(b.revoked_at??b.expires_at)-(a.revoked_at??a.expires_at))]},"shareCreateAvailability",0,function(a,b){let c=`/bots/${encodeURIComponent(a.agent.id)}/config#session-sharing`;if(!b)return{available:!1,reason:"Share to Slack is unavailable: the share policy could not be loaded.",configHref:null};let d=(0,i.sessionRowActions)(a).find(a=>"ask"===a.action);return d&&!d.availability.available?{available:!1,reason:d.availability.reason.replace(/^Ask from this context is unavailable:/,"Share to Slack is unavailable:"),configHref:null}:"invalid"===b.state?{available:!1,reason:"Share to Slack is unavailable: the share policy file is invalid. Fix it in Config.",configHref:c}:0===b.audiences.length?{available:!1,reason:"Share to Slack needs a Slack channel on the share allowlist. Add one in Config.",configHref:c}:{available:!0}},"shareCreateBody",0,function(a,b,c,d){return{audience:{team_id:a.team_id,channel_id:a.channel_id},ttl_seconds:b,max_turns:c,idempotency_key:d}},"shareFromTurnNote",0,function(a){return a.agent.share_current.supported?a.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.":a.agent.share_current.reason??"This runtime cannot share its own session from a turn."},"shareIsLive",0,j,"shareStatusNote",0,function(a){switch(a.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 ${a.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(a){return a.thread.posted?`Slack thread posted ${(0,h.formatSessionDate)(a.thread.posted_at??0)}`:"active"===a.state?"Waiting for the Slack relay to post the thread":"No Slack thread was posted"},"turnsLabel",0,function(a){return`${a.turns_used} of ${a.max_turns} question${1===a.max_turns?"":"s"} used`}],23464)},1160,22855,79202,a=>{"use strict";var b=a.i(22151);let c="This computer",d={read_only:"Read only",workspace_write:"Workspace write"},e={workspaces:"Selected workspaces",sessions:"Selected imported sessions",all_provider_sessions:"All sessions this runtime can see"};function f(a){return a.startsWith("/")||"~"===a||a.startsWith("~/")}function g(a){return a.length>1?a.replace(/\/+$/,""):a}b.AGENTS.join("|");let h="/api/runtime-connections",i={connection:"Runtime connection",scope:"Session scope",defaultWorkspace:"Default workspace (optional)",policy:"Policy",homeSession:"Home session (optional)"},j={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.",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."},k="Loading runtime connections…",l="Couldn't load runtime connections — retry.";function m(){return{status:"loading",connections:[],error:""}}function n(a){return`${a.label} \xb7 ${b.AGENT_LABELS[a.provider]??a.provider}`}function o(a){if("object"!=typeof a||null===a)return null;let b=a.connections;if(!Array.isArray(b))return null;let c=[];for(let a of b){if("object"!=typeof a||null===a||"string"!=typeof a.id||"string"!=typeof a.provider||"string"!=typeof a.label)return null;c.push({id:a.id,provider:a.provider,label:a.label,host:"string"==typeof a.host?a.host:"",agent_count:"number"==typeof a.agent_count?a.agent_count:void 0})}return c}function p(a){let b=[];for(let c of a.split("\n")){let a=c.trim();a&&!b.includes(a)&&b.push(a)}return b}function q(a){return"workspaces"===a.scopeKind?{kind:"workspaces",workspaces:p(a.workspaces)}:"sessions"===a.scopeKind?{kind:"sessions",sessions:a.sessions}:{kind:a.scopeKind}}function r(a){return{mode:a.policyMode,allow_new_sessions:a.allowNewSessions,allow_resume_with_edits:a.allowResumeWithEdits}}a.s(["CONNECTIONS_ENDPOINT",0,h,"CONNECTIONS_ERROR_COPY",0,l,"CONNECTIONS_LOADING_COPY",0,k,"DEFAULT_REGISTRATION_FORM",0,{connectionId:"",scopeKind:"",workspaces:"",sessions:[],defaultWorkspace:"",policyMode:"read_only",allowNewSessions:!0,allowResumeWithEdits:!1,homeSessionId:""},"HINTS",0,j,"LABELS",0,i,"connectionOptionLabel",0,n,"hasRegistrationErrors",0,function(a){return Object.keys(a.errors).length>0},"initialConnectionListState",0,m,"parseConnectionList",0,o,"registrationCreateBody",0,function(a,b){let c={name:String(a??"").trim(),runtime_connection_id:b.connectionId,session_scope:q(b),policy:r(b)},d=b.defaultWorkspace.trim();return d&&(c.default_workspace=d),c},"registrationFormFromBot",0,function(a){let b=a.session_scope??null;return{connectionId:a.runtime_connection_id??"",scopeKind:b?.kind??"",workspaces:b?.kind==="workspaces"?b.workspaces.join("\n"):"",sessions:b?.kind==="sessions"?[...b.sessions]:[],defaultWorkspace:a.default_workspace??"",policyMode:a.policy?.mode??"read_only",allowNewSessions:!a.policy||a.policy.allow_new_sessions,allowResumeWithEdits:!!a.policy&&a.policy.allow_resume_with_edits,homeSessionId:a.home_session_id??""}},"registrationFormView",0,function(a,b){let c={};a.connectionId||(c.connection="Pick a runtime connection.");let d=p(a.workspaces);a.scopeKind?"workspaces"===a.scopeKind?0===d.length?c.workspaces="Add at least one workspace.":d.every(f)||(c.workspaces="Workspaces must be absolute paths (or start with ~/)."):"sessions"===a.scopeKind&&0===a.sessions.length&&(c.sessions="Select at least one session."):c.scope="Choose a session scope.";let e=a.defaultWorkspace.trim();e&&(f(e)?"workspaces"!==a.scopeKind||c.workspaces||d.some(a=>{let b,c;return b=g(a),b===(c=g(e))||c.startsWith("/"===b?"/":`${b}/`)})||(c.defaultWorkspace="The default workspace must be inside one of the selected workspaces."):c.defaultWorkspace="The default workspace must be an absolute path (or start with ~/)."),a.allowResumeWithEdits&&"workspace_write"!==a.policyMode&&(c.policy="Resume with edits needs the Workspace write policy.");let h="",i=!1;return"ready"!==b.status&&(i=!0,h="error"===b.status?l:""),{errors:c,submitDisabled:i,blocker:h}},"registrationPatchBody",0,function(a,b){return{id:a,runtime_connection_id:b.connectionId,session_scope:q(b),default_workspace:b.defaultWorkspace.trim(),policy:r(b),home_session_id:b.homeSessionId}},"registrationReadView",0,function(a,c){var f;let g,h=[{key:"connection",label:i.connection,value:(g=a.runtime_connection)?`${g.label} (${(0,b.agentLabel)(g.provider)} \xb7 ${g.host})`:"Not set"},{key:"scope",label:i.scope,value:function(a,b){if(!a)return"Not set — this Agent cannot launch until a scope is chosen.";if("all_provider_sessions"===a.kind)return e.all_provider_sessions;if("workspaces"===a.kind)return`${e.workspaces}: ${a.workspaces.join(", ")}`;let c=a.sessions.map(a=>b?.find(b=>b.ref===a)?.title??a);return`${e.sessions}: ${c.join(", ")}`}(a.session_scope,c)},{key:"defaultWorkspace",label:"Default workspace",value:a.default_workspace||"None"},{key:"policy",label:i.policy,value:(f=a.policy)?[d[f.mode],f.allow_new_sessions?"new sessions allowed":"no new sessions",f.allow_resume_with_edits?"resume with edits allowed":"no resume with edits"].join(" · "):"Not set"}],j=[];return h.push({key:"homeSession",label:"Home session",value:a.home_session_id?c?.find(b=>b.ref===a.home_session_id)?.title??a.home_session_id:"None"}),"connection"===a.launch_blocker?j.push("Choose a runtime connection before this Agent can run."):"session_scope"===a.launch_blocker?j.push("Choose a session scope before this Agent can run."):"agent"===a.launch_blocker&&j.push("This Agent has an unsupported Agent type."),{rows:h,notices:j}}],1160);var s=a.i(87924),t=a.i(72131),u=a.i(20851);let v={modal:{fieldset:"agent-fieldset reg-fieldset",legend:"field-legend",label:"",picks:"runtime-picks",pick:"runtime-pick",stack:"reg-stack",control:"reg-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 w({id:a,message:b,variant:c}){return b?(0,s.jsx)("p",{id:a,className:v[c].error,role:"alert",children:b}):null}function x({idPrefix:a,variant:b,onAdd:d}){let e=v[b],[f,g]=(0,t.useState)(!1),[h,i]=(0,t.useState)(u.AGENT_OPTIONS[0].value),[k,l]=(0,t.useState)(""),[m,n]=(0,t.useState)(""),[o,p]=(0,t.useState)(""),[q,r]=(0,t.useState)(!1),w=async()=>{if(q)return;r(!0),p("");let a=await d({provider:h,label:k,host:m.trim()||c});(r(!1),"string"==typeof a)?p(a):(g(!1),l(""),n(""))};return f?(0,s.jsxs)("div",{id:`${a}-add-connection`,className:"reg-add-connection",role:"group","aria-label":"Add connection",children:[(0,s.jsx)("label",{className:e.label,htmlFor:`${a}-add-provider`,children:"Provider"}),(0,s.jsx)("select",{id:`${a}-add-provider`,className:e.control,value:h,onChange:a=>i(a.target.value),children:u.AGENT_OPTIONS.map(a=>(0,s.jsx)("option",{value:a.value,children:a.label},a.value))}),(0,s.jsx)("label",{className:e.label,htmlFor:`${a}-add-label`,children:"Connection name"}),(0,s.jsx)("input",{id:`${a}-add-label`,type:"text",className:e.input||void 0,value:k,placeholder:"Codex on my laptop",onChange:a=>l(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),w())}}),(0,s.jsx)("label",{className:e.label,htmlFor:`${a}-add-host`,children:"Host"}),(0,s.jsx)("input",{id:`${a}-add-host`,type:"text",className:e.input||void 0,value:m,placeholder:c,"aria-describedby":`${a}-add-hint`,onChange:a=>n(a.target.value)}),(0,s.jsx)("p",{id:`${a}-add-hint`,className:e.hint,children:j.addConnection}),o?(0,s.jsx)("p",{className:e.error,role:"alert",children:o}):null,(0,s.jsxs)("div",{className:"reg-actions",children:[(0,s.jsx)("button",{type:"button",className:e.button,onClick:()=>void w(),disabled:q,children:q?"Adding…":"Add"}),(0,s.jsx)("button",{type:"button",className:e.button,"aria-expanded":"true",onClick:()=>g(!1),children:"Cancel"})]})]}):(0,s.jsx)("button",{type:"button",className:e.button,"aria-expanded":"false","aria-controls":`${a}-add-connection`,onClick:()=>g(!0),children:"Add connection…"})}a.s(["RegistrationFields",0,function({idPrefix:a,variant:b,form:c,onChange:f,view:g,showErrors:h,connections:m,onRetryConnections:o,onAddConnection:p,workspacePlaceholder:q,workspaceHint:r,sessions:t,includeHomeSession:u}){let y=v[b],z=a=>h?g.errors[a]:void 0,A=b=>`${a}-${b}-error`,B=(a,...b)=>[...b,z(a)?A(a):""].filter(Boolean).join(" ")||void 0,C=!!(t&&t.length>0);return(0,s.jsxs)("div",{className:"registration-fields","data-registration":b,children:[(0,s.jsxs)("fieldset",{className:y.fieldset,"data-field":"connection","aria-describedby":B("connection",`${a}-connection-hint`),children:[(0,s.jsx)("legend",{className:y.legend,id:`${a}-connection-legend`,children:i.connection}),"loading"===m.status?(0,s.jsx)("p",{className:y.note,role:"status",children:k}):"error"===m.status?(0,s.jsxs)("p",{className:y.note,role:"status",children:[l," ",(0,s.jsx)("button",{type:"button",className:y.button,onClick:o,children:"Retry"})]}):(0,s.jsxs)("select",{id:`${a}-connection`,className:y.control,"aria-labelledby":`${a}-connection-legend`,"aria-required":"true","aria-invalid":!!z("connection")||void 0,value:c.connectionId,onChange:a=>f({connectionId:a.target.value}),children:[(0,s.jsx)("option",{value:"",disabled:!0,children:"Select a connection…"}),m.connections.map(a=>(0,s.jsx)("option",{value:a.id,children:n(a)},a.id))]}),(0,s.jsx)("p",{id:`${a}-connection-hint`,className:y.hint,children:j.connection}),(0,s.jsx)(w,{id:A("connection"),message:z("connection"),variant:b}),"ready"===m.status?(0,s.jsx)(x,{idPrefix:a,variant:b,onAdd:async a=>{let b=await p(a);return"string"!=typeof b&&f({connectionId:b.id}),b}}):null]}),(0,s.jsxs)("fieldset",{className:y.fieldset,"data-field":"scope",children:[(0,s.jsx)("legend",{className:y.legend,id:`${a}-scope-legend`,children:i.scope}),(0,s.jsx)("div",{className:y.stack,role:"radiogroup","aria-labelledby":`${a}-scope-legend`,"aria-required":"true","aria-describedby":B("scope"),children:["workspaces","sessions","all_provider_sessions"].map(b=>(0,s.jsxs)("label",{className:y.pick,children:[(0,s.jsx)("input",{type:"radio",name:`${a}-scope`,value:b,checked:c.scopeKind===b,disabled:"sessions"===b&&!C,onChange:()=>f({scopeKind:b})})," "+e[b]]},b))}),C?null:(0,s.jsx)("p",{className:y.hint,children:j.noSessions}),(0,s.jsx)(w,{id:A("scope"),message:z("scope"),variant:b}),"workspaces"===c.scopeKind?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("label",{className:y.label,htmlFor:`${a}-workspaces`,children:"Workspaces"}),(0,s.jsx)("textarea",{id:`${a}-workspaces`,className:y.input||void 0,rows:2,value:c.workspaces,placeholder:"/Users/you/work/project","aria-required":"true","aria-invalid":!!z("workspaces")||void 0,"aria-describedby":B("workspaces",`${a}-workspaces-hint`),onChange:a=>f({workspaces:a.target.value})}),(0,s.jsx)("p",{id:`${a}-workspaces-hint`,className:y.hint,children:j.workspaces}),(0,s.jsx)(w,{id:A("workspaces"),message:z("workspaces"),variant:b})]}):null,"sessions"===c.scopeKind&&t?(0,s.jsxs)("div",{className:y.stack,role:"group","aria-label":"Sessions in scope","aria-describedby":B("sessions",`${a}-sessions-hint`),children:[t.map(a=>(0,s.jsxs)("label",{className:y.pick,children:[(0,s.jsx)("input",{type:"checkbox",checked:c.sessions.includes(a.ref),onChange:b=>f({sessions:b.target.checked?[...c.sessions,a.ref]:c.sessions.filter(b=>b!==a.ref)})}),` ${a.title} (${a.status})`]},a.ref)),(0,s.jsx)("p",{id:`${a}-sessions-hint`,className:y.hint,children:j.sessions}),(0,s.jsx)(w,{id:A("sessions"),message:z("sessions"),variant:b})]}):null,"all_provider_sessions"===c.scopeKind?(0,s.jsx)("p",{className:y.hint,children:j.allSessions}):null]}),(0,s.jsxs)("div",{"data-field":"default-workspace",children:[(0,s.jsx)("label",{className:y.label,htmlFor:`${a}-default-workspace`,children:i.defaultWorkspace}),(0,s.jsx)("input",{id:`${a}-default-workspace`,type:"text",className:y.input||void 0,value:c.defaultWorkspace,placeholder:q,"aria-invalid":!!z("defaultWorkspace")||void 0,"aria-describedby":B("defaultWorkspace",`${a}-default-workspace-hint`,`${a}-default-workspace-note`),onChange:a=>f({defaultWorkspace:a.target.value})}),(0,s.jsx)("p",{id:`${a}-default-workspace-hint`,className:y.hint,children:r}),(0,s.jsx)("p",{id:`${a}-default-workspace-note`,className:y.hint,children:j.defaultWorkspace}),(0,s.jsx)(w,{id:A("defaultWorkspace"),message:z("defaultWorkspace"),variant:b})]}),(0,s.jsxs)("fieldset",{className:y.fieldset,"data-field":"policy",children:[(0,s.jsx)("legend",{className:y.legend,id:`${a}-policy-legend`,children:i.policy}),(0,s.jsx)("div",{className:y.picks,role:"radiogroup","aria-labelledby":`${a}-policy-legend`,children:["read_only","workspace_write"].map(b=>(0,s.jsxs)("label",{className:y.pick,children:[(0,s.jsx)("input",{type:"radio",name:`${a}-policy`,value:b,checked:c.policyMode===b,onChange:()=>f("read_only"===b?{policyMode:b,allowResumeWithEdits:!1}:{policyMode:b})})," "+d[b]]},b))}),(0,s.jsxs)("div",{className:y.stack,children:[(0,s.jsxs)("label",{className:y.pick,children:[(0,s.jsx)("input",{type:"checkbox",checked:c.allowNewSessions,onChange:a=>f({allowNewSessions:a.target.checked})})," Allow new sessions"]}),(0,s.jsxs)("label",{className:y.pick,children:[(0,s.jsx)("input",{type:"checkbox",checked:c.allowResumeWithEdits,disabled:"workspace_write"!==c.policyMode,"aria-describedby":`${a}-resume-hint`,onChange:a=>f({allowResumeWithEdits:a.target.checked})})," Allow resume with edits"]}),(0,s.jsx)("p",{id:`${a}-resume-hint`,className:y.hint,children:j.resumeEdits})]}),(0,s.jsx)(w,{id:A("policy"),message:z("policy"),variant:b})]}),u?(0,s.jsxs)("div",{"data-field":"home-session",children:[(0,s.jsx)("label",{className:y.label,htmlFor:`${a}-home-session`,children:i.homeSession}),(0,s.jsxs)("select",{id:`${a}-home-session`,className:y.control,value:c.homeSessionId,"aria-describedby":`${a}-home-session-hint`,onChange:a=>f({homeSessionId:a.target.value}),children:[(0,s.jsx)("option",{value:"",children:"None"}),(t??[]).map(a=>(0,s.jsx)("option",{value:a.ref,children:`${a.title} (${a.status})`},a.ref))]}),(0,s.jsx)("p",{id:`${a}-home-session-hint`,className:y.hint,children:j.homeSession})]}):null]})}],22855),a.s(["useRuntimeConnections",0,function(){let[a,b]=(0,t.useState)(()=>m()),[c,d]=(0,t.useState)(0);return(0,t.useEffect)(()=>{let a=!1;return fetch(h,{cache:"no-store"}).then(async c=>{let d=c.ok?o(await c.json().catch(()=>null)):null;a||b(d?{status:"ready",connections:d,error:""}:{status:"error",connections:[],error:`HTTP ${c.status}`})}).catch(c=>{a||b({status:"error",connections:[],error:c instanceof Error?c.message:String(c)})}),()=>{a=!0}},[c]),{state:a,retry:(0,t.useCallback)(()=>{b(m()),d(a=>a+1)},[]),add:(0,t.useCallback)(async a=>{let c=await fetch(h,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),d=await c.json().catch(()=>null);if(!c.ok)return"string"==typeof d?.error?d.error:"Failed to add the connection";let e=o({connections:[d]})?.[0];return e?(b(a=>({status:"ready",connections:[...a.connections,e],error:""})),e):"Failed to add the connection"},[])}}],79202)},80219,a=>{"use strict";let b="imported",c=/^[A-Za-z0-9_-]{1,128}$/;function d(a){let d=new URLSearchParams(a).get(b);if(null===d)return null;let e=d.trim();return c.test(e)?e:""}function e(a){return`/bots/${encodeURIComponent(a)}/config`}async function f(a,b,c){let f=d(a);if(null===f)return{kind:"none"};if(!f)return{kind:"missing"};if(f===b)return{kind:"stay"};try{return await c(f)?{kind:"open",path:e(f)}:{kind:"missing"}}catch{return{kind:"missing"}}}a.s(["HANDOFF_STATUS_PATH",0,"/api/marketplace-handoff/status","IMPORT_RETURN_QUERY",0,b,"handoffStartPath",0,function(a,b){return`/api/marketplace-handoff?return=${encodeURIComponent(a+b)}`},"importedBotId",0,d,"importedConfigPath",0,e,"marketImportView",0,function(a){switch(a){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,f])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_1n5mvo5._.js.map
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
module.exports=[60350,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(38246),e=a.i(71987);function f(a){let b,c=a.match(/^\s*\[run\]\s*([\s\S]*)$/);if(!c)return null;try{b=JSON.parse(c[1])}catch{return null}if(!b||"object"!=typeof b)return null;let d=b,e="string"==typeof d.page?d.page:"string"==typeof d.html?d.html:void 0,f=void 0===e?{}:{page:e,html:e};return"running"===d.state||"stopped"===d.state?{state:d.state,...f}:"done"===d.state&&"string"==typeof d.output?{state:"done",output:d.output,...f}:null}function g(a){return"done"===a.state?a.output??"":"stopped"===a.state?"The command was stopped.":"The command is running"}var h=a.i(36391);function i(a){let b,c=a.match(/^\s*\[draft\]\s*([\s\S]*)$/);if(!c)return null;try{b=JSON.parse(c[1])}catch{return null}if(!b||"object"!=typeof b)return null;let d=b;return"email"!==d.channel&&"slack"!==d.channel||"open"!==d.state&&"sent"!==d.state&&"discarded"!==d.state||"string"!=typeof d.recipient||"string"!=typeof d.body?null:{channel:d.channel,recipient:d.recipient,body:d.body,state:d.state}}function j(a){let b=a.match(/approve using the code ([A-Za-z0-9][A-Za-z0-9_-]*)/i);return b?b[1]:null}var k=a.i(20851),l=a.i(1160),m=a.i(22855),n=a.i(79202),o=a.i(80219),p=a.i(60193),q=a.i(35832);function r(a){return String(a).padStart(2,"0")}function s(a){let b=new Date(a);return`${b.getFullYear()}-${r(b.getMonth()+1)}-${r(b.getDate())} ${r(b.getHours())}:${r(b.getMinutes())}`}function t({onClose:a,onDeleted:d}){let e=(0,c.useId)(),[f,g]=(0,c.useState)(null),[h,i]=(0,c.useState)(""),[j,l]=(0,c.useState)(""),[m,n]=(0,c.useState)([]),[o,r]=(0,c.useState)(!1),u=(0,c.useRef)(null),v=(0,c.useRef)(null),w=(0,c.useRef)(null);(0,c.useEffect)(()=>{let a=!1;return fetch("/api/bots/manage",{cache:"no-store"}).then(async b=>{let c=await b.json().catch(()=>null);if(!a){if(!b.ok||!Array.isArray(c))return void i("string"==typeof c?.error?c.error:"Could not load agents.");g(c)}}).catch(()=>{a||i("Could not load agents.")}),u.current?.focus(),()=>{a=!0}},[]);let x=j.trim().toLowerCase(),y=(f??[]).filter(a=>a.name.toLowerCase().includes(x)),z=y.filter(a=>!a.blocked);return(0,c.useEffect)(()=>{if(o)return;let b=b=>{"Escape"===b.key&&a()};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[o,a]),(0,b.jsxs)("div",{className:"modal-scrim manage-scrim",children:[(0,b.jsxs)("div",{ref:w,className:"manage-card",role:"dialog","aria-modal":"true","aria-labelledby":e,onKeyDown:a=>{if("Tab"!==a.key||!w.current)return;let b=Array.from(w.current.querySelectorAll("button:not(:disabled), input:not(:disabled)"));if(0===b.length)return;let c=b[0],d=b[b.length-1];a.shiftKey&&document.activeElement===c?(a.preventDefault(),d.focus()):a.shiftKey||document.activeElement!==d||(a.preventDefault(),c.focus())},children:[(0,b.jsxs)("div",{className:"manage-head",children:[(0,b.jsx)("h2",{id:e,className:"delete-title",children:"Manage agents"}),(0,b.jsx)("button",{type:"button",className:"cancel-btn",onClick:a,children:"Close"})]}),(0,b.jsx)("label",{className:"manage-search-label",htmlFor:`${e}-search`,children:"Filter by name"}),(0,b.jsx)("input",{id:`${e}-search`,ref:u,className:"manage-search",type:"search",value:j,onChange:a=>l(a.target.value),placeholder:"Name contains…"}),(0,b.jsxs)("div",{className:"manage-tools",children:[(0,b.jsx)("button",{type:"button",className:"pin-word",onClick:()=>{n(a=>Array.from(new Set([...a,...z.map(a=>a.id)])))},disabled:0===z.length,children:"Select all shown"}),(0,b.jsx)("button",{type:"button",className:"pin-word",onClick:()=>{n([]),u.current?.focus()},disabled:0===m.length,children:"Clear selection"}),(0,b.jsxs)("span",{className:"manage-count","aria-live":"polite",children:[m.length," selected · ",y.length," shown of ",f?.length??0]})]}),h?(0,b.jsx)("p",{className:"delete-error",role:"alert",children:h}):null,f||h?null:(0,b.jsx)("p",{className:"delete-copy",children:"Loading agents…"}),f?(0,b.jsxs)("ul",{className:"manage-list","aria-label":"Agents",children:[0===y.length?(0,b.jsx)("li",{className:"delete-copy",children:"No agents match."}):null,y.map(a=>{let c=`${e}-row-${a.id}`,d=(0,k.botConnectionLabel)(a)??"Not set";return(0,b.jsxs)("li",{className:a.blocked?"manage-row is-blocked":"manage-row","data-agent-id":a.id,children:[(0,b.jsx)("input",{id:c,type:"checkbox",checked:m.includes(a.id),disabled:!!a.blocked,onChange:()=>{var b;return b=a.id,void n(a=>a.includes(b)?a.filter(a=>a!==b):[...a,b])},"aria-describedby":a.blocked?`${c}-reason`:void 0}),(0,b.jsxs)("div",{className:"manage-copy",children:[(0,b.jsxs)("label",{htmlFor:c,className:"manage-name",children:[a.name,a.hidden?(0,b.jsx)("span",{className:"manage-tag",children:"Hidden"}):null]}),(0,b.jsxs)("dl",{className:"manage-meta",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"Agent"}),(0,b.jsx)("dd",{children:(0,k.botAgentLabel)(a)})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"Connection"}),(0,b.jsx)("dd",{children:d})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"Source"}),(0,b.jsx)("dd",{children:a.source_provider||"Created here"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"Created"}),(0,b.jsx)("dd",{children:s(a.created_at)})]}),a.last_activity?(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"Last activity"}),(0,b.jsx)("dd",{children:s(a.last_activity)})]}):null]}),a.blocked?(0,b.jsx)("p",{id:`${c}-reason`,className:"manage-reason",children:(0,q.blockedReasonCopy)(a.blocked)}):null]})]},a.id)})]}):null,(0,b.jsxs)("div",{className:"form-actions manage-actions",children:[(0,b.jsx)("button",{type:"button",className:"cancel-btn",onClick:a,children:"Cancel"}),(0,b.jsxs)("button",{ref:v,type:"button",className:"delete-btn",disabled:0===m.length,onClick:()=>r(!0),children:["Delete selected",m.length>0?` (${m.length})`:""]})]})]}),o?(0,b.jsx)(p.default,{ids:m,onCancel:()=>{r(!1),requestAnimationFrame(()=>v.current?.focus())},onDeleted:d}):null]})}var u=a.i(65221);function v(a,b,c){if(0===a.length)return null;let d=a[0],e=a[a.length-1],f=null!==b&&a.includes(b);return c?f&&b!==d?null:e:f&&b!==e?null:d}let w='a[href], button:not(:disabled), input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex="-1"])';var x=a.i(35099);function y({mode:a,session:d,agents:e,origin:f,onClose:g,onStarted:h}){let i=(0,c.useId)(),j=(0,c.useId)(),k=(0,c.useId)(),l=(0,c.useId)(),[m,n]=(0,c.useState)(""),[o,p]=(0,c.useState)(""),[q,r]=(0,c.useState)(!1),[s,t]=(0,c.useState)({}),[z,A]=(0,c.useState)(""),[B,C]=(0,c.useState)(!1),D=(0,c.useRef)(!1),E=(0,c.useRef)(null),F=(0,c.useRef)(null),G=(0,c.useRef)(null),H=(0,c.useRef)(null),I=(0,c.useRef)(null),J=(0,x.sessionDialogUsesPin)(a,d.route),K=e.filter(a=>a.id!==d.agent.id);(0,c.useEffect)(()=>{("continue"===a?H.current:G.current)?.focus()},[a]),(0,c.useEffect)(()=>{let a=a=>{"Escape"===a.key&&(a.stopPropagation(),g())};return document.addEventListener("keydown",a,!0),()=>document.removeEventListener("keydown",a,!0)},[g]);let L=async b=>{if(b.preventDefault(),D.current)return;let c={mode:"resume"===a?"ask":a,instruction:m,originConversationId:f.conversationId,destinationAgentId:o},e="resume"===a?(0,x.validateResumeDraft)(m,q):(0,x.validateDraft)(c);if(t(e),Object.keys(e).length>0)return void(e.destination?H.current?.focus():e.instruction?G.current?.focus():I.current?.focus());let g="resume"===a?"resume":"ask",i=a=>J?(0,x.pinRequestBody)(g,m,f.conversationId,q,a):(0,x.exchangeRequestBody)(c,{agentId:d.agent.id,sessionRef:d.ref},a),j=JSON.stringify(i(""));E.current&&E.current.payload===j||(E.current={payload:j,key:crypto.randomUUID()}),D.current=!0,C(!0),A("");try{let a=J?`/api/bots/${encodeURIComponent(d.agent.id)}/sessions/${encodeURIComponent(d.ref)}/pins`:"/api/exchanges",b=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i(E.current.key))}),c=await b.json().catch(()=>null);if(!b.ok){let a="string"==typeof c?.error?.code?c.error.code:null;"idempotency_conflict"===a&&(E.current=null),A((0,x.submitErrorMessage)(a,"string"==typeof c?.error?.message?c.error.message:null));return}let e=J?c?.turn?.exchange_id:c?.exchange?.id;h("string"==typeof e?e:null)}catch{A((0,x.submitErrorMessage)(null,"Botmancers could not be reached. Your draft is kept; try again."))}finally{D.current=!1,C(!1)}},M=K.find(a=>a.id===o)?.name,N="ask"===a,O="resume"===a;return(0,b.jsx)("div",{className:"modal-scrim exchange-scrim",onMouseDown:a=>{a.target===a.currentTarget&&g()},onKeyDown:a=>{if("Tab"!==a.key||!F.current)return;let b=v(Array.from(F.current.querySelectorAll(w)),document.activeElement,a.shiftKey);b&&(a.preventDefault(),b.focus())},children:(0,b.jsxs)("div",{ref:F,className:"form-card exchange-dialog",role:"dialog","aria-modal":"true","aria-labelledby":i,"data-exchange-mode":a,children:[(0,b.jsx)("h2",{id:i,className:"delete-title",children:(0,x.sessionDialogTitle)(a)}),(0,b.jsxs)("section",{className:"exchange-source","aria-label":"Source session",children:[(0,b.jsx)("p",{className:"exchange-source-agent",children:d.agent.name}),(0,b.jsx)("p",{className:"exchange-source-title",children:d.title}),(0,b.jsxs)("p",{className:"exchange-source-meta",children:["Last activity ",(0,u.formatSessionDate)(d.last_activity_at),d.origin.conversation?` \xb7 from ${d.origin.conversation.label}`:""]})]}),(0,b.jsxs)("form",{onSubmit:L,noValidate:!0,className:"exchange-form",children:[N||O?null:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("label",{htmlFor:k,children:"Hand off to"}),(0,b.jsxs)("select",{ref:H,id:k,className:"exchange-select",value:o,"aria-invalid":!!s.destination||void 0,"aria-describedby":s.destination?`${k}-error`:void 0,disabled:B,onChange:a=>{p(a.target.value),t(a=>({...a,destination:void 0}))},children:[(0,b.jsx)("option",{value:"",children:"Choose an Agent"}),K.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]}),s.destination?(0,b.jsx)("p",{id:`${k}-error`,className:"exchange-field-error",children:s.destination}):null]}),(0,b.jsx)("label",{htmlFor:j,children:N?"Question":O?"Instruction":"Objective"}),(0,b.jsx)("textarea",{ref:G,id:j,rows:4,maxLength:x.INSTRUCTION_LIMIT,value:m,readOnly:B,"aria-invalid":!!s.instruction||void 0,"aria-describedby":`${j}-hint${s.instruction?` ${j}-error`:""}`,onChange:a=>{n(a.target.value),t(a=>({...a,instruction:void 0}))}}),s.instruction?(0,b.jsx)("p",{id:`${j}-error`,className:"exchange-field-error",children:s.instruction}):null,(0,b.jsx)("p",{id:`${j}-hint`,className:"exchange-hint",children:N?`${d.agent.name} answers from this exact session, read-only. The answer arrives in ${f.label}.`:O?`${d.agent.name} resumes work in this exact session and may edit its workspace. The turn never moves to another session. Progress shows in ${f.label}.`:`${M??"The Agent you choose"} receives an extracted handoff (objective, decisions, constraints, references, open questions) and starts a new session of its own. ${d.agent.name}’s session is not shared and is not changed. Progress shows in ${f.label}.`}),O?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("label",{className:"exchange-approval",htmlFor:l,children:[(0,b.jsx)("input",{ref:I,id:l,type:"checkbox",checked:q,disabled:B,"aria-invalid":!!s.approval||void 0,"aria-describedby":s.approval?`${l}-error`:void 0,onChange:a=>{r(a.target.checked),t(a=>({...a,approval:void 0}))}})," ","I approve edits by ",d.agent.name," in this session"]}),s.approval?(0,b.jsx)("p",{id:`${l}-error`,className:"exchange-field-error",children:s.approval}):null]}):null,z?(0,b.jsx)("p",{className:"exchange-server-error",role:"alert",children:z}):null,(0,b.jsx)("p",{className:"exchange-sending",role:"status",children:B?"Sending…":""}),(0,b.jsxs)("div",{className:"form-actions",children:[(0,b.jsx)("button",{type:"button",className:"cancel-btn",onClick:g,children:"Cancel"}),(0,b.jsx)("button",{type:"submit",className:"create-btn",disabled:B,"aria-disabled":B,children:z?"Try again":"Send"})]})]})]})})}var z=a.i(23464);function A(){return"u">typeof crypto&&"function"==typeof crypto.randomUUID?`owner-share-${crypto.randomUUID()}`:`owner-share-${Date.now()}-${Math.random().toString(36).slice(2)}`}function B({row:a,shares:e,policy:f,onChanged:g}){let h=(0,c.useId)(),[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(!1),m=e?(0,z.sessionShares)(e,a.ref):[],n=m.filter(z.shareIsLive),o=m.filter(a=>!(0,z.shareIsLive)(a)),p="loading"===f,q="loading"===f?null:f,r=p?null:(0,z.shareCreateAvailability)(a,q),s=k?o:o.slice(0,3*!n.length);return(0,b.jsxs)("section",{className:"session-shares","aria-labelledby":h,"data-session-shares":a.ref,children:[(0,b.jsxs)("div",{className:"session-shares-head",children:[(0,b.jsx)("h3",{id:h,className:"session-shares-title",children:"Slack share"}),r?.available&&!i?(0,b.jsx)("button",{type:"button",className:"session-action","data-share-action":"create",onClick:()=>j(!0),children:"Share to Slack"}):null]}),p?(0,b.jsx)("p",{className:"session-share-note session-share-loading",role:"status",children:"Checking the share policy…"}):null,r&&!r.available?(0,b.jsxs)("p",{className:"session-share-unavailable",children:[r.reason," ",r.configHref?(0,b.jsx)(d.default,{className:"session-link",href:r.configHref,children:"Open Config"}):null]}):null,i&&q?(0,b.jsx)(D,{row:a,policy:q,onCancel:()=>j(!1),onCreated:()=>{j(!1),g()}}):null,null===e?(0,b.jsx)("p",{className:"session-share-note",role:"status",children:"Loading shares…"}):null,null===e||0!==m.length||i?null:(0,b.jsx)("p",{className:"session-share-note",children:"Not shared."}),n.length+s.length>0?(0,b.jsx)("ul",{className:"session-share-list","aria-label":`Slack shares of ${a.title}`,children:[...n,...s].map(a=>(0,b.jsx)(C,{share:a,onChanged:g},a.share_ref))}):null,o.length>s.length?(0,b.jsxs)("button",{type:"button",className:"pin-word",onClick:()=>l(!0),children:["Show ",o.length-s.length," ended share",o.length-s.length==1?"":"s"]}):null]})}function C({share:a,onChanged:d}){let[e,f]=(0,c.useState)(!1),[g,h]=(0,c.useState)(!1),[i,j]=(0,c.useState)(""),[k,l]=(0,c.useState)(!1),m=(0,z.shareIsLive)(a),n=async()=>{try{await navigator.clipboard.writeText(a.share_ref),l(!0)}catch{j("Copy failed. Select the reference instead.")}},o=async()=>{h(!0),j("");try{let b=await fetch(`/api/shares/${encodeURIComponent(a.share_ref)}/revoke`,{method:"POST"}),c=await b.json().catch(()=>null);b.ok?(f(!1),d()):j("string"==typeof c?.error?.message?c.error.message:"The share could not be revoked.")}catch{j("The share could not be revoked.")}finally{h(!1)}};return(0,b.jsxs)("li",{className:`session-share is-${a.status}`,"data-share-ref":a.share_ref,"data-share-status":a.status,children:[(0,b.jsxs)("div",{className:"session-share-head",children:[(0,b.jsx)("span",{className:`manage-tag session-share-status is-${a.status}`,children:z.SHARE_STATUS_LABELS[a.status]}),(0,b.jsx)("span",{className:"session-share-audience",children:(0,z.audienceLabel)(a.audience)})]}),(0,b.jsxs)("dl",{className:"manage-meta session-share-meta",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"Expiry"}),(0,b.jsx)("dd",{children:(0,z.expiryLabel)(a)})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"Questions"}),(0,b.jsx)("dd",{children:(0,z.turnsLabel)(a)})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"Thread"}),(0,b.jsx)("dd",{children:(0,z.threadLabel)(a)})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"Reference"}),(0,b.jsx)("dd",{children:(0,b.jsx)("code",{className:"session-share-ref",children:a.share_ref})})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"Origin"}),(0,b.jsxs)("dd",{children:[(0,z.createdByLabel)(a)," · read-only Ask"]})]})]}),(0,b.jsx)("p",{className:"session-share-note",children:(0,z.shareStatusNote)(a)}),(0,b.jsxs)("div",{className:"session-actions",role:"group","aria-label":"Share actions",children:[(0,b.jsx)("button",{type:"button",className:"pin-word","data-share-action":"copy",onClick:()=>{n()},children:k?"Copied":"Copy reference"}),m&&!e?(0,b.jsx)("button",{type:"button",className:"session-action session-share-revoke","data-share-action":"revoke",onClick:()=>f(!0),children:"Revoke"}):null]}),e?(0,b.jsxs)("div",{className:"session-share-confirm",role:"group","aria-label":"Confirm revoke",children:[(0,b.jsx)("p",{children:"Revoke this share? The next Slack question in its thread gets the revoked notice. This can’t be undone."}),(0,b.jsxs)("div",{className:"session-actions",children:[(0,b.jsx)("button",{type:"button",className:"session-action session-share-revoke","data-share-action":"confirm-revoke",disabled:g,onClick:()=>{o()},children:g?"Revoking…":"Revoke share"}),(0,b.jsx)("button",{type:"button",className:"pin-word",disabled:g,onClick:()=>f(!1),children:"Keep it"})]})]}):null,i?(0,b.jsx)("p",{className:"delete-error",role:"alert",children:i}):null]})}function D({row:a,policy:d,onCancel:e,onCreated:f}){let g={channel:(0,c.useId)(),duration:(0,c.useId)(),turns:(0,c.useId)()},[h,i]=(0,c.useState)(0),[j,k]=(0,c.useState)(d.limits.ttl_seconds.default),[l,m]=(0,c.useState)(String(d.limits.max_turns.default)),[n]=(0,c.useState)(A),[o,p]=(0,c.useState)(!1),[q,r]=(0,c.useState)(""),s=Number(l),t=Number.isInteger(s)&&s>=d.limits.max_turns.min&&s<=d.limits.max_turns.max,u=async b=>{if(b.preventDefault(),t){p(!0),r("");try{let b=await fetch(`/api/bots/${encodeURIComponent(a.agent.id)}/sessions/${encodeURIComponent(a.ref)}/shares`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify((0,z.shareCreateBody)(d.audiences[h],j,s,n))}),c=await b.json().catch(()=>null);b.ok?f():r("string"==typeof c?.error?.message?c.error.message:"The share could not be created.")}catch{r("The share could not be created.")}finally{p(!1)}}};return(0,b.jsxs)("form",{className:"session-share-form",onSubmit:a=>{u(a)},"aria-label":`Share ${a.title} to Slack`,children:[(0,b.jsxs)("p",{className:"session-share-note",children:["Shares ",(0,b.jsx)("strong",{children:a.title})," (",a.agent.name,") as a read-only Ask: Slack replies in the share’s thread ask exactly this session."]}),(0,b.jsx)("label",{htmlFor:g.channel,children:"Slack channel"}),(0,b.jsx)("select",{id:g.channel,value:h,onChange:a=>i(Number(a.target.value)),disabled:o,children:d.audiences.map((a,c)=>(0,b.jsx)("option",{value:c,children:(0,z.audienceLabel)(a)},`${a.team_id}:${a.channel_id}`))}),(0,b.jsx)("label",{htmlFor:g.duration,children:"Expires after"}),(0,b.jsx)("select",{id:g.duration,value:j,onChange:a=>k(Number(a.target.value)),disabled:o,children:z.SHARE_DURATIONS.map(a=>(0,b.jsx)("option",{value:a.seconds,children:a.label},a.seconds))}),(0,b.jsx)("label",{htmlFor:g.turns,children:"Questions allowed"}),(0,b.jsx)("input",{id:g.turns,type:"number",inputMode:"numeric",min:d.limits.max_turns.min,max:d.limits.max_turns.max,value:l,onChange:a=>m(a.target.value),disabled:o,"aria-invalid":!t}),t?null:(0,b.jsxs)("p",{className:"delete-error",children:["Questions allowed must be a whole number from ",d.limits.max_turns.min," to ",d.limits.max_turns.max,"."]}),q?(0,b.jsx)("p",{className:"delete-error",role:"alert",children:q}):null,(0,b.jsxs)("div",{className:"session-actions",children:[(0,b.jsx)("button",{type:"submit",className:"session-action","data-share-action":"submit",disabled:o||!t,children:o?"Sharing…":"Create share"}),(0,b.jsx)("button",{type:"button",className:"pin-word",onClick:e,disabled:o,children:"Cancel"})]})]})}function E({agentId:a,agentName:e,agents:f,origin:g,onClose:h,onOpenThread:i,onExchangeStarted:j}){let k=(0,c.useId)(),[l,m]=(0,c.useState)("all"),[n,o]=(0,c.useState)(null),[p,q]=(0,c.useState)(""),[r,s]=(0,c.useState)(0),[t,v]=(0,c.useState)(null),w=(0,c.useRef)(null),z=(0,c.useRef)(null),[A,B]=(0,c.useState)(null),[C,D]=(0,c.useState)(null),[G,H]=(0,c.useState)(null),[I,J]=(0,c.useState)("loading"),[K,L]=(0,c.useState)(0),M=(0,c.useRef)(null),N=()=>{M.current=A?.returnTo??null,B(null)};(0,c.useEffect)(()=>{if(A||!M.current)return;let a=M.current;M.current=null,a.isConnected&&a.focus()},[A]),(0,c.useEffect)(()=>{z.current?.focus()},[]),(0,c.useEffect)(()=>{let b=!1;return fetch(`/api/bots/${encodeURIComponent(a)}/sessions?status=${l}`,{cache:"no-store"}).then(async a=>{let c=await a.json().catch(()=>null);if(!b){if(!a.ok||!Array.isArray(c?.sessions))return void q("string"==typeof c?.error?c.error:"Could not load sessions.");o(c.sessions)}}).catch(()=>{b||q("Could not load sessions.")}),()=>{b=!0}},[a,l,r]),(0,c.useEffect)(()=>{let b=!1,c=encodeURIComponent(a);return fetch(`/api/bots/${c}/share-policy`,{cache:"no-store"}).then(a=>a.ok?a.json():null).then(a=>{b||J(a?.policy??null)}).catch(()=>{b||J(null)}),fetch(`/api/shares?agent_id=${c}&limit=100`,{cache:"no-store"}).then(a=>a.ok?a.json():null).then(a=>{b||H(Array.isArray(a?.shares)?a.shares:[])}).catch(()=>{b||H([])}),()=>{b=!0}},[a,K]),(0,c.useEffect)(()=>{let a=setInterval(()=>L(a=>a+1),15e3);return()=>clearInterval(a)},[]);let O=(a=l)=>{o(null),q(""),m(a),s(a=>a+1)};return(0,c.useEffect)(()=>{let a=a=>{"Escape"===a.key&&h()};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[h]),(0,b.jsxs)("div",{className:"modal-scrim sessions-scrim",onMouseDown:a=>{a.target!==a.currentTarget||A||h()},children:[(0,b.jsxs)("div",{ref:w,className:"sessions-drawer",role:"dialog","aria-modal":"true","aria-labelledby":k,onKeyDown:a=>{if("Tab"!==a.key||!w.current)return;let b=Array.from(w.current.querySelectorAll("button:not(:disabled), summary, select:not(:disabled), input:not(:disabled), a[href]"));if(0===b.length)return;let c=b[0],d=b[b.length-1];a.shiftKey&&document.activeElement===c?(a.preventDefault(),d.focus()):a.shiftKey||document.activeElement!==d||(a.preventDefault(),c.focus())},inert:!!A,children:[(0,b.jsxs)("div",{className:"manage-head",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{id:k,className:"delete-title sessions-title",children:"Sessions"}),(0,b.jsx)("p",{className:"sessions-sub",children:e})]}),(0,b.jsx)("button",{ref:z,type:"button",className:"cancel-btn",onClick:h,children:"Close"})]}),(0,b.jsxs)("div",{className:"sessions-filter",role:"group","aria-label":"Show sessions",children:[u.SESSION_FILTER_OPTIONS.map(a=>(0,b.jsx)("button",{type:"button",className:"sessions-filter-btn","aria-pressed":l===a.value,onClick:()=>{l!==a.value&&O(a.value)},children:a.label},a.value)),(0,b.jsx)("span",{className:"manage-count","aria-live":"polite",children:n?`${n.length} shown`:""})]}),(0,b.jsx)("div",{className:"exchange-started",role:"status",children:C?(0,b.jsxs)(b.Fragment,{children:[C.text," ",C.id?(0,b.jsx)(d.default,{className:"session-link",href:(0,x.detailsHref)(C.id),children:"View in Exchanges"}):null]}):null}),p?(0,b.jsxs)("div",{className:"sessions-state",role:"alert",children:[(0,b.jsx)("p",{className:"delete-error",children:p}),(0,b.jsx)("button",{type:"button",className:"pin-word",onClick:()=>O(),children:"Retry"})]}):null,n||p?null:(0,b.jsx)("p",{className:"delete-copy sessions-state",role:"status",children:"Loading sessions…"}),n?(0,b.jsxs)("ul",{className:"manage-list sessions-list","aria-label":`Sessions for ${e}`,children:[0===n.length?(0,b.jsx)("li",{className:"delete-copy sessions-state",children:(0,u.emptySessionsCopy)(l,e)}):null,n.map(c=>(0,b.jsx)(F,{agentId:a,row:c,open:t===c.ref,onToggle:()=>v(a=>a===c.ref?null:c.ref),onOpenThread:i,onAction:(a,b)=>{D(null),B({mode:a,row:c,returnTo:b})},shares:G,sharePolicy:I,onSharesChanged:()=>L(a=>a+1)},c.ref))]}):null]}),A?(0,b.jsx)(y,{mode:A.mode,session:A.row,agents:f,origin:g,onClose:N,onStarted:a=>{D({id:a,text:"ask"===A.mode?`Asked ${A.row.agent.name}’s session. The answer arrives in ${g.label}.`:"resume"===A.mode?`Resumed work in ${A.row.agent.name}’s session. Progress shows in ${g.label}.`:`Handoff started from ${A.row.agent.name}’s session. Progress shows in ${g.label}.`}),N(),j(a)}}):null]})}function F({agentId:a,row:d,open:e,onToggle:f,onOpenThread:g,onAction:h,shares:i,sharePolicy:j,onSharesChanged:k}){let l=(0,c.useId)(),m=(0,x.sessionRowActions)(d),n=m.filter(a=>a.availability.available),o=m.flatMap(a=>a.availability.available?[]:[a.availability.reason]),p=d.origin.conversation,q=(0,u.workRequestLabel)(d),r=(0,u.sessionUsageLine)(d.usage);return(0,b.jsx)("li",{className:`manage-row session-row is-${d.status}`,"data-session-ref":d.ref,children:(0,b.jsxs)("div",{className:"manage-copy",children:[(0,b.jsxs)("div",{className:"session-head",children:[(0,b.jsx)("span",{className:"session-title",children:d.title}),(0,b.jsx)("span",{className:`manage-tag session-status is-${d.status}`,children:(0,u.statusLabel)(d)}),(0,u.sessionStateTags)(d).map(a=>(0,b.jsx)("span",{className:`manage-tag session-state-tag is-${a.toLowerCase()}`,children:a},a))]}),(0,b.jsxs)("dl",{className:"manage-meta",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"Last activity"}),(0,b.jsx)("dd",{children:(0,u.formatSessionDate)(d.last_activity_at)})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"Started"}),(0,b.jsx)("dd",{children:(0,u.formatSessionDate)(d.created_at)})]}),null!==d.ended_at?(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"Ended"}),(0,b.jsx)("dd",{children:(0,u.formatSessionDate)(d.ended_at)})]}):null,(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"Runtime"}),(0,b.jsx)("dd",{children:(0,u.runtimeLabel)(d)})]}),(0,b.jsxs)("div",{className:"session-usage-meta",children:[(0,b.jsx)("dt",{children:"Reported usage"}),(0,b.jsxs)("dd",{children:[(0,b.jsx)("span",{className:`session-usage is-${r.quality}`,"aria-hidden":"true",children:r.text}),(0,b.jsx)("span",{className:"session-sr",children:r.label}),r.partial?(0,b.jsx)("span",{className:"manage-tag session-usage-tag",children:"Partial"}):null]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"Origin"}),(0,b.jsx)("dd",{children:p?.thread_agent_id?(0,b.jsx)("button",{type:"button",className:"session-link",onClick:()=>g(p.thread_agent_id),children:p.label}):p?.label??"Not recorded"})]}),q?(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"Work request"}),(0,b.jsx)("dd",{children:q})]}):null,d.context.workspace?(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"Workspace"}),(0,b.jsx)("dd",{children:d.context.workspace})]}):null]}),n.length>0?(0,b.jsx)("div",{className:"session-actions",role:"group","aria-label":`Actions for ${d.title}`,children:n.map(a=>(0,b.jsx)("button",{type:"button",className:"session-action","data-session-action":a.action,"aria-haspopup":"dialog",onClick:b=>h((0,x.sessionDialogMode)(a.action),b.currentTarget),children:a.label},a.action))}):null,o.length>0?(0,b.jsx)("ul",{className:"session-unavailable","aria-label":`Unavailable actions for ${d.title}`,children:o.map(a=>(0,b.jsx)("li",{children:a},a))}):null,(0,b.jsx)(B,{row:d,shares:i,policy:j,onChanged:k}),(0,b.jsx)("button",{type:"button",className:"pin-word session-toggle","aria-expanded":e,"aria-controls":l,onClick:f,children:e?"Hide details":"Details"}),e?(0,b.jsx)(G,{id:l,agentId:a,sessionRef:d.ref}):null]})})}function G({id:a,agentId:d,sessionRef:e}){let[f,g]=(0,c.useState)(null),[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(""),[l,m]=(0,c.useState)(null),[n,o]=(0,c.useState)(""),[p,q]=(0,c.useState)(!1),r=`/api/bots/${encodeURIComponent(d)}/sessions/${encodeURIComponent(e)}`;(0,c.useEffect)(()=>{let a=!1;return fetch(r,{cache:"no-store"}).then(async b=>{let c=await b.json().catch(()=>null);a||(b.ok&&Array.isArray(c?.session?.attempts)?(g(c.session.attempts),i({totals:c.session.usage,samples:Array.isArray(c.session.usage_samples)?c.session.usage_samples:[]})):k("Could not load session details."))}).catch(()=>{a||k("Could not load session details.")}),()=>{a=!0}},[r]);let s=(0,c.useCallback)(async()=>{if(null===l)try{let a=await fetch(`${r}?debug=external_session_id`,{cache:"no-store"}),b=await a.json().catch(()=>null),c=b?.debug?.external_session_id;a.ok&&"string"==typeof c?m(c):o("Not available.")}catch{o("Not available.")}},[r,l]),t=async()=>{if(l)try{await navigator.clipboard.writeText(l),q(!0)}catch{q(!1)}};return(0,b.jsxs)("div",{id:a,className:"session-detail",children:[j?(0,b.jsx)("p",{className:"delete-error",role:"alert",children:j}):null,f||j?null:(0,b.jsx)("p",{className:"delete-copy",role:"status",children:"Loading details…"}),f?(0,b.jsxs)("ol",{className:"session-attempts","aria-label":"Runs in this session",children:[0===f.length?(0,b.jsx)("li",{children:"No recorded runs."}):null,f.map(a=>(0,b.jsxs)("li",{children:[(0,u.formatSessionDate)(a.started_at)," · ",(0,u.attemptLabel)(a)]},`${a.request_id}-${a.attempt_number}`))]}):null,h?(0,b.jsx)(I,{totals:h.totals,samples:h.samples}):null,(0,b.jsxs)("details",{className:"session-debug",onToggle:a=>{a.currentTarget.open&&s()},children:[(0,b.jsx)("summary",{children:"Local debug: provider session ID"}),(0,b.jsx)("p",{className:"session-debug-note",children:"For local troubleshooting only. Botmancers resumes sessions for you; you never need to copy this."}),n?(0,b.jsx)("p",{className:"delete-error",children:n}):null,l?(0,b.jsxs)("div",{className:"session-debug-value",children:[(0,b.jsx)("code",{children:l}),(0,b.jsx)("button",{type:"button",className:"pin-word",onClick:()=>{t()},children:p?"Copied":"Copy"})]}):null]})]})}let H=["input_tokens","output_tokens","cost_usd"];function I({totals:a,samples:d}){let e=(0,c.useId)();return(0,b.jsxs)("section",{className:"session-usage-detail","aria-labelledby":e,children:[(0,b.jsx)("h3",{id:e,className:"session-usage-head",children:"Reported usage"}),(0,b.jsx)("dl",{className:"session-usage-totals",children:H.map(c=>{let d=(0,u.usageMetricView)(c,a?.[c],!0);return(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:d.name}),(0,b.jsxs)("dd",{children:[(0,b.jsx)("span",{className:`session-usage is-${d.quality}`,"aria-hidden":"true",children:d.text}),(0,b.jsxs)("span",{className:"session-sr",children:[d.label,"."]}),(0,b.jsx)("span",{className:`session-usage-coverage is-${d.quality}`,children:d.coverage})]})]},c)})}),0===d.length?(0,b.jsx)("p",{className:"session-usage-none",children:"No run in this session reported usage."}):(0,b.jsx)("ol",{className:"session-usage-runs","aria-label":"Reported usage by run",children:d.map((a,c)=>{let d=(0,u.usageSampleValues)(a);return(0,b.jsxs)("li",{children:[(0,b.jsxs)("span",{className:"session-usage-run",children:[(0,u.formatSessionDate)(a.observed_at)," · ",(0,u.usageSampleLabel)(a,c)]}),(0,b.jsxs)("span",{className:"session-usage-values",children:[(0,b.jsxs)("span",{className:null===a.input_tokens?"is-unavailable":void 0,children:["In ",d.input]}),(0,b.jsxs)("span",{className:null===a.output_tokens?"is-unavailable":void 0,children:["Out ",d.output]}),(0,b.jsxs)("span",{className:null===a.cost_usd?"is-unavailable":void 0,children:["Cost ",d.cost]})]})]},`${a.observed_at}-${c}`)})})]})}function J({view:a,agentName:c}){if("loading"===a)return(0,b.jsx)("p",{className:"thread-note",role:"status",children:"Loading messages…"});if("error"===a)return(0,b.jsx)("p",{className:"thread-note thread-note-error",role:"alert",children:"Couldn’t load messages. Trying again…"});if("empty"===a){let a={title:`No messages with ${c} yet.`,hint:"Say something below to start the conversation."};return(0,b.jsxs)("div",{className:"thread-empty","data-thread-empty":"",children:[(0,b.jsx)("p",{className:"thread-empty-title",children:a.title}),(0,b.jsx)("p",{className:"thread-empty-hint",children:a.hint})]})}return null}let K={error:"Error"},L=[{kind:"hermes-config-missing",severity:"error",pattern:/^\[Hermes configuration missing: [^\n]*\]$/,title:"Hermes needs configuration",recovery:"This agent can’t reply until the Hermes API key is set on the Botmancers server. Set it, restart, then send your message again."},{kind:"hermes-turn-failed",severity:"error",pattern:/^\[Hermes turn failed for [\s\S]*\]$/,title:"Hermes couldn’t complete the turn",recovery:"Check that the Hermes gateway is running and reachable, then send your message again."}];function M(a){let b=String(a??"").trim();if(!b)return null;let c=L.find(a=>a.pattern.test(b));return c?{kind:c.kind,severity:c.severity,title:c.title,recovery:c.recovery,detail:b}:null}function N({failure:a}){let[d,e]=(0,c.useState)("idle"),f=K[a.severity],g=(0,c.useId)();async function h(){try{await navigator.clipboard.writeText(a.detail),e("copied")}catch{e("failed")}}return(0,b.jsxs)("div",{className:`runtime-failure runtime-failure-${a.severity}`,role:"status","aria-labelledby":g,"data-runtime-failure":a.kind,children:[(0,b.jsxs)("p",{className:"runtime-failure-title",id:g,children:[(0,b.jsx)("span",{className:"runtime-failure-severity",children:f}),a.title]}),(0,b.jsx)("p",{className:"runtime-failure-recovery",children:a.recovery}),(0,b.jsxs)("details",{className:"runtime-failure-details",children:[(0,b.jsx)("summary",{children:"Details"}),(0,b.jsx)("code",{className:"runtime-failure-detail",children:a.detail}),(0,b.jsx)("button",{type:"button",className:"runtime-failure-copy",onClick:()=>{h()},children:"copied"===d?"Copied":"failed"===d?"Copy failed":"Copy details"})]})]})}function O(a){if(!a)return"";let b=f(a);if(b)return g(b);let c=M(a);if(c)return c.title;let d=(0,k.agentEventDisplay)(a);return d?`${d.label} ${d.detail}`.replace(/\s+/g," ").trim():a.replace(/\s+/g," ").trim()}let P={blocked:"Needs approval",rejected:"Not started",allowed:"Allowed",denied:"Denied",waiting:"Queued",stopped:"Stopped"};function Q({notice:a,onDone:d}){let[e,f]=(0,c.useState)(!1),[g,h]=(0,c.useState)(""),i="blocked"!==a.tone||a.actionable?P[a.tone]:"Blocked",j=async b=>{if(!e&&a.wakeId){f(!0),h("");try{let c=await fetch(`/api/wakes/${a.wakeId}/decision`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({decision:b})});if(!c.ok){let a=await c.json().catch(()=>null);h("string"==typeof a?.error?.message?a.error.message:"The decision could not be recorded.")}}catch{h("The decision could not be recorded.")}finally{f(!1),d()}}};return(0,b.jsxs)("div",{className:`wake-notice wake-notice-${a.tone}`,role:"status","data-wake-notice":a.tone,"data-wake-id":a.wakeId??void 0,children:[(0,b.jsxs)("p",{className:"wake-notice-line",children:[(0,b.jsx)("span",{className:"wake-notice-label",children:i}),a.text]}),a.actionable?(0,b.jsxs)("div",{className:"wake-notice-actions",children:[(0,b.jsx)("button",{type:"button",className:"approve-control",disabled:e,onClick:()=>{j("allow")},children:"Allow"}),(0,b.jsx)("button",{type:"button",className:"approve-control",style:{marginLeft:8},disabled:e,onClick:()=>{j("deny")},children:"Deny"})]}):null,g?(0,b.jsx)("p",{className:"wake-notice-error",role:"alert",children:g}):null]})}var R=a.i(27828);function S(a){return!!a&&"chief-of-staff"===a.name.toLowerCase()}function T(a){return S(a)?0:a.pinned?1:2}function U(a,b,c,d){return a&&b?d-c+(b-a)>15e3?"Stopped":"Heartbeat "+new Intl.DateTimeFormat("en-US",{timeZone:"America/Los_Angeles",hour:"numeric",minute:"2-digit",second:"2-digit"}).format(new Date(a)):"Stopped"}function V(a){let b=a;for(let a=0;a<2;a++){let a=b.replace(/^\s*\[Message from [^\]]+\]\s*(?:\r?\n)?/,"");if(a===b)break;b=a}return b.replace(/^\s+/,"")}function W(a){let b=a;for(let a=0;a<4;a++){let a=b.replace(/^\s*\[(?:Message from|From) [^\]]+\]\s*(?:\r?\n)?/,"");if(a===b)break;b=a}return b}function X({message:a,conversationId:d,status:e,onDone:f}){let g=i(W(a.content)),[h,j]=(0,c.useState)(g?.recipient??""),[k,l]=(0,c.useState)(g?.body??""),[m,n]=(0,c.useState)(!1),[o,p]=(0,c.useState)("open"!==e),q=(0,c.useRef)("open"!==e);if(!g)return null;let r="open"!==e||o,s=r?g.recipient:h,t=r?g.body:k,u=async b=>{if(!r&&!q.current&&!m&&("send"!==b||""!==h.trim())){q.current=!0,p(!0),n(!0);try{(await fetch(`/api/conversations/${d}/draft`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({messageId:a.id,action:b,recipient:h,body:k})})).ok||(q.current=!1,p(!1))}finally{n(!1),f()}}};return(0,b.jsxs)("div",{className:"draft-card",children:[(0,b.jsx)("div",{className:"draft-title",children:"email"===g.channel?"New Email":"New Slack Message"}),(0,b.jsx)("input",{type:"text","aria-label":"Recipient",value:s,readOnly:r,disabled:m,onChange:a=>{r||j(a.target.value)}}),(0,b.jsx)("textarea",{rows:3,"aria-label":"Draft body",value:t,readOnly:r,disabled:m,onChange:a=>{r||l(a.target.value)}}),"sent"===e?(0,b.jsx)("span",{className:"draft-mark",children:"Sent"}):null,"discarded"===e?(0,b.jsx)("span",{className:"draft-mark",children:"Discarded"}):null,"discarded"!==e?(0,b.jsx)("button",{type:"button",className:"approve-control",disabled:m,onClick:()=>{u("send")},children:"Send"}):null,"open"===e?(0,b.jsx)("button",{type:"button",className:"approve-control",style:{marginLeft:8},disabled:m,onClick:()=>{u("discard")},children:"Discard"}):null]})}function Y({message:a,conversationId:d,status:e,onDone:f}){let g=j(a.content),[h,i]=(0,c.useState)(!1),k=(0,c.useRef)("pending"!==e);if(!g)return null;let l=async b=>{if(!k.current&&!h){k.current=!0,i(!0);try{(await fetch(`/api/conversations/${d}/${b}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:g,messageId:a.id})})).ok||(k.current=!1)}finally{i(!1),f()}}};return"pending"!==e?(0,b.jsx)("span",{className:"draft-mark",children:"approved"===e?"Approved":"Denied"}):(0,b.jsxs)("span",{className:"draft-mark",children:[(0,b.jsx)("button",{type:"button",className:"approve-control",disabled:h,onClick:()=>{l("approve")},children:"Approve"}),(0,b.jsx)("button",{type:"button",className:"approve-control",style:{marginLeft:8},disabled:h,onClick:()=>{l("deny")},children:"Deny"})]})}function Z({names:a}){return 0===a.length?null:(0,b.jsx)(b.Fragment,{children:a.map(a=>(0,b.jsxs)("span",{children:[(0,b.jsx)("br",{}),(0,b.jsxs)("a",{className:"file-control",href:`/api/files/${encodeURIComponent(a)}`,download:a,children:["Download ",a]})]},a))})}function $({anchorRef:a,onClose:d,onCreated:e}){let[f,g]=(0,c.useState)(""),[h,i]=(0,c.useState)(l.DEFAULT_REGISTRATION_FORM),[j,o]=(0,c.useState)(""),[p,q]=(0,c.useState)(!1),[r,s]=(0,c.useState)(!1),t=(0,n.useRuntimeConnections)(),[u,x]=(0,c.useState)(null),y=(0,c.useRef)(null),z=(0,c.useRef)(null);(0,c.useLayoutEffect)(()=>{let b=()=>{let b=a.current?.getBoundingClientRect();x(function(a,b){let c=Math.min(358,b.width-32),d=Math.max(16,b.width-16-c),e=16,f=16;if(a){f=Math.min(Math.max(a.left,16),d);let c=a.bottom+8;b.height-c-16>=360&&(e=c)}return{top:e,left:f,maxHeight:Math.max(0,b.height-e-16)}}(b?{left:b.left,bottom:b.bottom}:null,{width:window.innerWidth,height:window.innerHeight}))};return b(),window.addEventListener("resize",b),()=>window.removeEventListener("resize",b)},[a]),(0,c.useEffect)(()=>{z.current?.focus()},[]),(0,c.useEffect)(()=>{let a=a=>{"Escape"===a.key&&(a.stopPropagation(),d())};return document.addEventListener("keydown",a,!0),()=>document.removeEventListener("keydown",a,!0)},[d]);let A=(0,l.registrationFormView)(h,t.state),B=async a=>{if(a.preventDefault(),A.submitDisabled||r)return;if((0,l.hasRegistrationErrors)(A)){q(!0),o("Fix the highlighted fields.");return}o(""),s(!0);let b=await fetch("/api/bots",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((0,l.registrationCreateBody)(f,h))}).finally(()=>s(!1));if(!b.ok){let a=await b.json().catch(()=>null);o("string"==typeof a?.error&&a.error?a.error:"Failed to create agent");return}e()};return(0,b.jsx)("div",{className:"modal-scrim new-agent-scrim",onKeyDown:a=>{if("Tab"!==a.key||!y.current)return;let b=v(Array.from(y.current.querySelectorAll(w)),document.activeElement,a.shiftKey);b&&(a.preventDefault(),b.focus())},children:(0,b.jsxs)("div",{ref:y,className:"form-card new-agent-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"new-agent-title",style:u??void 0,children:[(0,b.jsx)("div",{className:"kind-row",children:(0,b.jsx)("h2",{id:"new-agent-title",className:"kind-word new-agent-title",children:"New Agent"})}),(0,b.jsxs)("form",{onSubmit:B,className:"bot-form",children:[(0,b.jsxs)("div",{className:"new-agent-body",children:[(0,b.jsx)("label",{htmlFor:"bot-name",children:"Name"}),(0,b.jsx)("input",{ref:z,id:"bot-name",type:"text",value:f,onChange:a=>g(a.target.value),required:!0}),(0,b.jsx)(m.RegistrationFields,{idPrefix:"bot",variant:"modal",form:h,onChange:a=>{o(""),i(b=>({...b,...a}))},view:A,showErrors:p,connections:t.state,onRetryConnections:t.retry,onAddConnection:t.add,workspacePlaceholder:k.WORKSPACE_TEMPLATE,workspaceHint:k.NEW_AGENT_WORKSPACE_HINT}),j?(0,b.jsx)("p",{className:"form-error",role:"alert",children:j}):null]}),(0,b.jsxs)("div",{className:"form-actions",children:[(0,b.jsx)("button",{type:"button",className:"cancel-btn",onClick:d,children:"Cancel"}),(0,b.jsx)("button",{type:"submit",className:"create-btn",disabled:A.submitDisabled||r,children:r?"Creating…":"Create"})]})]})]})})}a.s(["default",0,function(){var a;let[l,m]=(0,c.useState)([]),[n,r]=(0,c.useState)(!1),[s,u]=(0,c.useState)(null),v=(0,c.useRef)(!1),w=(0,c.useRef)(null),[x,y]=(0,c.useState)([]),[z,A]=(0,c.useState)([]),[B,C]=(0,c.useState)([]),D=(0,c.useRef)(null),[F,G]=(0,c.useState)(null),H=(0,c.useRef)(null),[I,K]=(0,c.useState)(""),[L,P]=(0,c.useState)(""),[_,aa]=(0,c.useState)(!1),[ab,ac]=(0,c.useState)([]),[ad,ae]=(0,c.useState)(""),af=(0,c.useRef)(null),ag=(0,c.useRef)(null),[ah,ai]=(0,c.useState)(!1),aj=(0,c.useRef)(null),[ak,al]=(0,c.useState)(!1),[am,an]=(0,c.useState)(!1),[ao,ap]=(0,c.useState)(null),[aq,ar]=(0,c.useState)(""),[as,at]=(0,c.useState)({}),au=(0,c.useRef)({}),[av,aw]=(0,c.useState)(null),[ax,ay]=(0,c.useState)(null),az=(0,c.useRef)(null),aA=(0,c.useRef)(null),[aB,aC]=(0,c.useState)(!1),aD=(0,c.useRef)(null),[aE,aF]=(0,c.useState)(!1),aG=(0,c.useRef)(null),[aH,aI]=(0,c.useState)(""),[aJ,aK]=(0,c.useState)(!1),aL=(0,c.useRef)(null),aM=(0,c.useRef)(null),aN=(0,c.useRef)(null),aO=(0,c.useRef)(null),aP=(0,c.useRef)(null),aQ=(0,c.useRef)(null),aR=(0,c.useRef)(null),[aS,aT]=(0,c.useState)([]),[aU,aV]=(0,c.useState)({serverNow:0,fetchedAt:0}),[aW,aX]=(0,c.useState)(()=>Date.now()),aY=(0,c.useRef)({}),aZ=(0,c.useRef)(!1),[a$,a_]=(0,c.useState)(!1);(0,c.useEffect)(()=>{aZ.current||0===l.length||(aZ.current=!0,a_(!0))},[l.length]),(0,c.useEffect)(()=>{let a=(0,o.importedBotId)(window.location.search);if(a)return void window.location.replace((0,o.importedConfigPath)(a));let b=new URLSearchParams(window.location.search),c=Number(b.get("deleted"));c>0&&window.history.replaceState(null,"","/");let d=b.get("agent");d&&(w.current=d,D.current=b.get("exchange"),window.history.replaceState(null,"","/")),a3().then(()=>{c>0&&aI((0,q.deletedStatusLine)(c))});let e=setInterval(a3,2e3),f=setInterval(()=>aX(Date.now()),1e3);return()=>{clearInterval(e),clearInterval(f)}},[]),(0,c.useEffect)(()=>{if(v.current||0===l.length||s)return;let a=l.find(a=>a.id===w.current)||[...l].filter(a=>!a.hidden).sort((a,b)=>T(a)-T(b))[0]||l[0];v.current=!0,a8(a.id)},[l,s]),(0,c.useEffect)(()=>{if(H.current=s?.id??null,s)return a4(),aR.current&&clearInterval(aR.current),aR.current=setInterval(a4,2e3),()=>{aR.current&&clearInterval(aR.current)}},[s]);let a0=s?l.find(a=>a.id===s.details.id)??s.details:void 0,a1=!!s&&S(a0),a2=a1?function(a){for(let b=a.length-1;b>=0;b--){let c=f(a[b].content);if(c){if("stopped"===c.state)return null;return c.page||c.html||null}}return null}(x):null;async function a3(){let a=await fetch("/api/bots",{cache:"no-store"}),b=await a.json(),c=Date.parse(a.headers.get("date")||"");aV({serverNow:Number.isNaN(c)?Date.now():c,fetchedAt:Date.now()}),Array.isArray(b)&&(m(b),r(!0))}async function a4(){if(!s)return;let a=s.id,b=null,c=!1,d=fetch(`/api/conversations/${a}`).then(async a=>{let b=await a.json();return a.ok&&Array.isArray(b?.events)?b.events:null}).catch(()=>null),e=fetch(`/api/exchanges?conversation=${encodeURIComponent(a)}`,{cache:"no-store"}).then(async a=>{let b=await a.json();return a.ok&&Array.isArray(b?.exchanges)?b.exchanges:null}).catch(()=>null);try{let d=await fetch(`/api/conversations/${a}/messages`);b=await d.json(),c=d.ok&&Array.isArray(b)}catch{c=!1}let f=await d,g=await e;if(H.current===a){let d,e;c&&y(b),f&&A((d=[],e=new Map,f.forEach((a,b)=>{let c="string"==typeof a.data.target_name?a.data.target_name:null;a.requestId&&c&&e.set(a.requestId,c);let g=function(a){switch(a.kind){case"wake_blocked":return"blocked";case"wake_rejected":return"rejected";case"lineage_stopped":return"stopped";case"wake_accepted":return"string"==typeof a.data.reason?"allowed":null;case"request_cancelled":return"grant_denied"===a.data.reason?"denied":null;case"request_queued":return"capacity"===a.data.waiting_for?"waiting":null;default:return null}}(a);if(!g)return;let h=Array.isArray(a.data.actions)?a.data.actions:[],i=null!==a.requestId&&f.slice(b+1).some(b=>b.requestId===a.requestId);if("waiting"===g&&i)return;let j=a.requestId?e.get(a.requestId):void 0,k="denied"===g&&j?`Wake denied: ${j} — no work ran`:"waiting"===g&&j?`Queued: ${j} — waiting for capacity`:a.text;d.push({eventId:a.eventId,wakeId:a.wakeId,tone:g,text:k,actionable:"blocked"===g&&!!a.wakeId&&h.includes("allow")&&h.includes("deny")&&!i,createdAt:a.createdAt})}),d)),g&&C(g),G({conversationId:a,status:c?"ready":"error"})}}(0,c.useLayoutEffect)(()=>{let a=aN.current?.parentElement;if(!a)return;let b=aO.current,c=aP.current,d=aQ.current;if(a1&&b&&c&&d){let e=e=>{let f=Math.ceil(b.getBoundingClientRect().height);c.style.height=f+16+e+"px";let g=c.getBoundingClientRect().top-a.getBoundingClientRect().top;d.style.height=Math.max(0,a.clientHeight-g)+"px";let h=b.getBoundingClientRect().top-a.getBoundingClientRect().top+a.scrollTop;a.scrollTop=Math.max(0,h-g)};e(0);let f=c.nextElementSibling,g=b.getBoundingClientRect().bottom,h=f?f.getBoundingClientRect().top:c.getBoundingClientRect().bottom;g>=h&&e(Math.max(16,Math.ceil(g-h)));return}d&&(d.style.height="0px"),c&&(c.style.height=""),a.scrollTop=a.scrollHeight},[x,a1]),(0,c.useEffect)(()=>{let a=D.current;if(!a)return;let b=document.getElementById(`exchange-${a}`);b&&(D.current=null,b.scrollIntoView({block:"center"}),b.focus({preventScroll:!0}))},[B]),(0,c.useLayoutEffect)(()=>{aT(a=>{if(0===a.length)return a;let b=a.filter(a=>{let b=aY.current[a]??0;return x.some(c=>"bot"===c.sender_type&&c.sender_id===a&&c.created_at>b&&!/^\[(mcp|tool call|tool result)\]/i.test(c.content.trim()))});if(0===b.length)return a;for(let a of b)delete aY.current[a];return a.filter(a=>!b.includes(a))})},[x]);let a5=async a=>{s&&(await fetch(`/api/conversations/${s.id}/messages/${a}/stop`,{method:"POST"}),await a4())},a6=async()=>{s&&(await fetch(`/api/conversations/${s.id}/stop`,{method:"POST"}),await a4())},a7=async(a,b)=>{if(as[a.id])return void at(b=>{let c={...b};return delete c[a.id],c});if(au.current[a.id])return;let c=x.findIndex(b=>b.id===a.id),d=l.find(a=>a.name===b),e=x.slice(c+1).find(a=>"bot"===a.sender_type&&(d?a.sender_id===d.id:a.sender_name===b));if(e){au.current[a.id]=!0;try{let b=await fetch(`/api/messages/${a.id}/between?other=${encodeURIComponent(e.id)}`),c=await b.json().catch(()=>null);b.ok&&Array.isArray(c)&&c.length>0&&at(b=>({...b,[a.id]:c}))}finally{delete au.current[a.id]}}};async function a8(a){let b=l.find(b=>b.id===a);if(!b)return;let c=await fetch(`/api/conversations?botId=${a}`),d=await c.json();al(!1),an(!1),d.id!==s?.id&&(y([]),A([]),C([])),H.current=d.id,u({id:d.id,details:b})}let a9=async()=>{if(!s)return;let a=aL.current?.files?.[0];if(!a)return;let b=await new Promise((b,c)=>{let d=new FileReader;d.onload=()=>b(String(d.result||"")),d.onerror=()=>c(d.error),d.readAsDataURL(a)});if(!b.startsWith("data:image/"))return;let c=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:s.details.id,avatar:b})});if(!c.ok)return;let d=await c.json();m(a=>a.map(a=>a.id===d.id?{...a,avatar:d.avatar}:a)),u({...s,details:{...s.details,avatar:d.avatar}})},ba=async a=>{if(!a||!s)return;let b=await new Promise((b,c)=>{let d=new FileReader;d.onload=()=>b(String(d.result||"")),d.onerror=()=>c(d.error),d.readAsDataURL(a)});if(!b.startsWith("data:image/"))return;let c=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:s.details.id,avatar:b})});if(!c.ok)return;let d=await c.json();m(a=>a.map(a=>a.id===d.id?{...a,avatar:d.avatar}:a)),u({...s,details:{...s.details,avatar:d.avatar}})},bb=async()=>{if(!s)return;let a=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:s.details.id,avatar:null})});if(!a.ok)return;let b=await a.json();m(a=>a.map(a=>a.id===b.id?{...a,avatar:b.avatar||""}:a)),u({...s,details:{...s.details,avatar:b.avatar||""}})},bc=n&&0===l.length,bd=[...l].filter(a=>!a.hidden).sort((a,b)=>T(a)-T(b)),be=l.filter(a=>a.hidden),bf=async a=>{let b=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:a.id,pinned:+!a.pinned})});if(!b.ok)return;let c=await b.json();m(a=>a.map(a=>a.id===c.id?{...a,...c}:a))},bg=async(a,b)=>{let c=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:a.id,hidden:+!!b})});if(!c.ok)return;let d=await c.json();m(a=>a.map(a=>a.id===d.id?{...a,...d,hidden:+!!d.hidden}:a)),b?requestAnimationFrame(()=>aA.current?.focus()):bk(a.id)},bh=async a=>{(await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:a.id,unread:1})})).ok&&m(b=>b.map(b=>b.id===a.id?{...b,unread:1}:b))};(0,c.useEffect)(()=>{if(!ax)return;let a=a=>{"Escape"===a.key&&(ay(null),ax.returnTo?.focus())},b=a=>{az.current&&az.current.contains(a.target)||ay(null)};return document.addEventListener("keydown",a),document.addEventListener("pointerdown",b),()=>{document.removeEventListener("keydown",a),document.removeEventListener("pointerdown",b)}},[ax]);let bi=async a=>{let b=aq.trim();if(ap(null),!b||b===a.name)return;let c=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:a.id,name:b})});if(!c.ok)return;let d=await c.json();m(a=>a.map(a=>a.id===d.id?{...a,...d}:a)),s&&s.details.id===d.id&&u({...s,details:{...s.details,...d}})},bj=async a=>{let b=a.map(a=>a.id);aw(null),aC(!1),aI((0,q.deletedStatusLine)(b.length)),requestAnimationFrame(()=>aD.current?.focus()),m(a=>a.filter(a=>!b.includes(a.id))),s&&b.includes(s.details.id)&&(u(null),y([]),A([])),await a3()},bk=(a,b=30)=>{requestAnimationFrame(()=>{let c=document.querySelector(`[data-open-bot="${a}"]`);c?c.focus():b>0&&bk(a,b-1)})},bl=(a=!0)=>{let b=ax?.returnTo;ay(null),a&&b&&requestAnimationFrame(()=>{b.isConnected&&b.focus()})},bm=(a,b)=>{a.preventDefault(),ay({bot:b,x:a.clientX,y:a.clientY,returnTo:a.currentTarget.querySelector("[data-open-bot]")})},bn=(a,c)=>(0,b.jsx)("input",{className:"bot-name","aria-label":`Rename ${a.name}`,value:aq,autoFocus:!0,onChange:a=>ar(a.target.value),onBlur:()=>bi(a),onKeyDown:b=>{"Enter"===b.key&&(b.preventDefault(),b.target.blur(),bk(a.id)),"Escape"===b.key&&(ap(null),bk(a.id))},style:c}),bo=(a,c)=>(0,b.jsx)("button",{type:"button",className:"bot-name row-open","data-open-bot":a.id,"aria-current":s?.details.id===a.id?"true":void 0,onClick:()=>a8(a.id),style:c,children:a.name}),bp=a=>(0,b.jsx)("button",{type:"button",className:"row-actions","aria-haspopup":"menu","aria-expanded":ax?.bot.id===a.id,"aria-label":`Actions for ${a.name}`,title:`Actions for ${a.name}`,onClick:b=>{var c;let d;ay({bot:a,x:(d=(c=b.currentTarget).getBoundingClientRect()).left,y:d.bottom+4,returnTo:c})},children:"⋯"}),bq=a=>(0,b.jsxs)("div",{className:"row-tip",children:[a.unread&&s?.details.id!==a.id?(0,b.jsx)("div",{className:"card-role",children:"Unread"}):null,(0,b.jsx)("div",{className:"card-role",children:U(a.last_seen,aU.serverNow,aU.fetchedAt,aW)})]}),br=a=>(0,b.jsxs)("div",{className:s?.details.id===a.id?"bot-row is-open":"bot-row",onContextMenu:b=>bm(b,a),children:[(0,b.jsxs)("span",{className:"mark-avatar mark-avatar-sm",children:[(0,b.jsx)(h.default,{bot:a,size:36,title:`${a.name} avatar`}),aS.includes(a.id)?(0,b.jsx)("span",{className:"mark-dot"}):null]}),(0,b.jsxs)("div",{className:"bot-copy",children:[ao===a.id?bn(a):bo(a),O(a.latest)?(0,b.jsx)("div",{className:"bot-preview",children:O(a.latest)}):null,(0,b.jsx)("div",{className:"bot-runtime",title:(0,k.rosterRuntimeLine)(a),children:(0,k.rosterRuntimeLine)(a)})]}),bp(a),bq(a)]},a.id),bs=_?l.filter(a=>a.name.toLowerCase().includes(L.toLowerCase())):[],bt=a=>{let b=af.current,c=b?b.selectionStart:I.length,d=I.slice(0,c).lastIndexOf("@");if(d<0)return;K(I.slice(0,d)+"@"+a+" "+I.slice(c)),aa(!1);let e=d+a.length+2;requestAnimationFrame(()=>{b?.focus(),b?.setSelectionRange(e,e)})},bu=a=>{if(0===a.length)return;let b=6-ab.length;a.length>b?ae("Up to six attachments."):ae("");let c=a.slice(0,Math.max(b,0));0!==c.length&&ac(a=>[...a,...c.map((b,c)=>({id:b.name+"-"+a.length+"-"+c+"-"+b.size,name:b.name}))])},bv=async()=>{let a=ab.map(a=>a.name),b=I.trim();if(!b&&0===a.length||!s)return;let c=[b,...a].filter(a=>a.length>0).join("\n"),d=[s.details.id],e=x.reduce((a,b)=>Math.max(a,b.created_at||0),0);for(let a of d)aY.current[a]=e;aT(a=>Array.from(new Set([...a,...d])));let f=[...l].sort((a,b)=>b.name.length-a.name.length).find(a=>(function(a,b){let c="@"+b,d=0;for(;d<a.length;){let b=a.indexOf(c,d);if(b<0)break;let e=a[b+c.length];if(!e||/[\s.,!?:;]/.test(e))return!0;d=b+c.length}return!1})(c,a.name));if(!(await fetch(`/api/conversations/${s.id}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:c,mentionedBotId:f?.id,idempotencyKey:crypto.randomUUID()})})).ok){for(let a of d)delete aY.current[a];aT(a=>a.filter(a=>!d.includes(a)))}K(""),ac([]),ae(""),aa(!1),a4()},bw=s?(a=s.id,x.length>0?"messages":F&&F.conversationId===a&&"loading"!==F.status?"error"===F.status?"error":"empty":"loading"):"loading",bx=s?(0,b.jsx)(J,{view:bw,agentName:s.details.name}):null,by=(s?.details.title||"").trim(),bz=s?.details.color,bA=new Set,bB=a=>(0,b.jsx)("div",{className:"msg-status",children:(0,b.jsx)(Q,{notice:a,onDone:()=>{a4()}})},a.eventId),bC=new Set,bD=a=>(0,b.jsx)("div",{className:"msg-status",children:(0,b.jsx)(R.default,{summary:a,onChanged:()=>{a4()}})},`exchange-${a.id}`),bE=a=>{let b=B.filter(b=>!bC.has(b.id)&&b.created_at<a).sort((a,b)=>a.created_at-b.created_at||(a.id<b.id?-1:1));return b.forEach(a=>bC.add(a.id)),b.map(bD)},bF=()=>{ai(!1),requestAnimationFrame(()=>aj.current?.focus())};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"field",inert:ah,children:[(0,b.jsxs)("aside",{className:"rail",children:[(0,b.jsxs)("div",{className:"brand",children:[(0,b.jsx)("div",{className:a$?"logo-shape is-settling":"logo-shape",children:(0,b.jsx)(e.default,{src:"/brand/botmancers-logo-filled-256.png",alt:"",width:40,height:40})}),(0,b.jsx)("div",{className:"logo-word",children:"botmancers"})]}),(0,b.jsxs)("div",{className:"bar",children:[(0,b.jsx)("button",{ref:aj,type:"button",className:"add-btn","aria-haspopup":"dialog",onClick:()=>ai(!0),children:"New"}),bc?null:(0,b.jsx)("button",{ref:aD,type:"button",className:"add-btn","aria-haspopup":"dialog",onClick:()=>{aI(""),aC(!0)},children:"Manage agents"}),(0,b.jsx)(d.default,{href:"/settings",className:"add-btn settings-link",children:"Settings"})]}),bc?null:(0,b.jsx)("nav",{className:"rail-nav","aria-label":"Workspace",children:(0,b.jsx)(d.default,{href:"/exchanges",className:"add-btn rail-nav-link",children:"Exchanges"})}),(0,b.jsx)("p",{className:"roster-status",role:"status",children:aH}),bc?null:(0,b.jsx)("div",{className:ax?"roster menu-open":"roster",children:bd.map(a=>S(a)?(0,b.jsxs)("div",{className:"card",onContextMenu:b=>bm(b,a),children:[(0,b.jsxs)("div",{className:"row-head",children:[(0,b.jsxs)("span",{className:"mark-avatar",children:[(0,b.jsx)(h.default,{bot:a,size:44,title:`${a.name} avatar`}),aS.includes(a.id)?(0,b.jsx)("span",{className:"mark-dot"}):null]}),ao===a.id?bn(a,{color:"#D5D0C3",fontSize:26}):bo(a,{fontSize:26}),bp(a)]}),O(a.latest)?(0,b.jsx)("div",{className:"bot-preview",children:O(a.latest)}):null,(0,b.jsx)("div",{className:"bot-runtime",title:(0,k.rosterRuntimeLine)(a),children:(0,k.rosterRuntimeLine)(a)}),bq(a)]},a.id):br(a))}),be.length>0?(0,b.jsxs)("div",{className:ax?"roster menu-open":"roster",children:[(0,b.jsx)("button",{ref:aA,type:"button",className:"pin-word","aria-expanded":aJ,onClick:()=>aK(a=>!a),children:"Hidden"}),aJ?be.map(br):null]}):null]}),(0,b.jsx)("section",{className:"pane",children:s?(0,b.jsxs)("div",{className:"thread",children:[(0,b.jsxs)("div",{className:"thread-bar",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("button",{type:"button",className:"thread-name",style:bz?{color:bz}:void 0,onClick:()=>{al(!0),an(!1)},children:s.details.name}),by?(0,b.jsx)("div",{className:"thread-role",children:by}):null,(0,b.jsx)("div",{className:"thread-role",children:aS.includes(s.details.id)?"Working":"Not working"}),(0,b.jsx)("div",{className:"thread-role",children:U((a0??s.details).last_seen,aU.serverNow,aU.fetchedAt,aW)}),ak?(0,b.jsx)("button",{type:"button",className:"avatar-pic",onClick:()=>an(!0),"aria-label":"Picture",children:s.details.avatar?(0,b.jsx)("img",{src:s.details.avatar,alt:""}):(0,b.jsx)(h.default,{bot:s.details,size:46})}):null]}),(0,b.jsxs)("div",{style:{marginLeft:"auto",display:"flex",gap:16,alignItems:"flex-start"},children:[(0,b.jsx)(d.default,{href:`/bots/${s.details.id}/config`,className:"attach-word",style:{textDecoration:"none"},children:"Config"}),(0,b.jsx)("button",{ref:aG,type:"button",className:"attach-word","aria-haspopup":"dialog","aria-expanded":aE,onClick:()=>aF(!0),children:"Sessions"}),(0,b.jsx)("button",{type:"button",className:"attach-word",title:"Stop delegated turns in this thread",onClick:()=>{a6()},children:"Stop"})]})]}),am?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"avatar-step avatar-desk",children:[(0,b.jsx)("span",{className:"kind-word",children:"Agent"}),(0,b.jsx)("button",{type:"button",className:"kind-word",children:"Generate"}),(0,b.jsxs)("label",{className:"kind-word",children:["Upload",(0,b.jsx)("input",{ref:aL,type:"file",accept:"image/*,.svg"})]}),(0,b.jsx)("button",{type:"button",className:"create-btn",onClick:a9,children:"Set avatar"})]}),(0,b.jsxs)("div",{className:"avatar-step avatar-phone",children:[(0,b.jsx)("button",{type:"button",className:"kind-word",onClick:()=>aM.current?.click(),children:"Gallery"}),(0,b.jsx)("button",{type:"button",className:"kind-word",children:"Generate"}),(0,b.jsx)("button",{type:"button",className:"kind-word",onClick:bb,children:"Remove Photo"}),(0,b.jsx)("input",{ref:aM,type:"file",accept:"image/*,.svg",onChange:a=>{let b=a.target.files?.[0];a.target.value="",ba(b)}})]})]}):null,(0,b.jsxs)("div",{className:"messages-wrap",children:[(0,b.jsxs)("div",{className:"messages",children:[a1?null:bx,x.map(a=>{var d;let e,h,l=z.filter(b=>!bA.has(b.eventId)&&b.createdAt<a.created_at);l.forEach(a=>bA.add(a.eventId));let m=bE(a.created_at),n="user"===a.sender_type,o=n?null:M(W(a.content));if(o)return(0,b.jsxs)(c.Fragment,{children:[l.map(bB),m,(0,b.jsx)("div",{className:"msg-status",children:(0,b.jsx)(N,{failure:o})})]},a.id);let p=(d=W(a.content),e=[],{text:V(d.replace(/data:image\/[a-zA-Z0-9.+-]+;base64,[A-Za-z0-9+/=\s]+/g,a=>(e.push(a.replace(/\s/g,"")),""))),images:e}),q=p.images.map(a=>(0,b.jsx)("img",{src:a,alt:"",style:{display:"block",width:64,height:64}},a.slice(0,48))),r=n?void 0:s.details.color,t=n?null:f(a.content),u=n||t?null:i(W(a.content)),v=n||t?null:j(a.content),w=n||t?[]:function(a){let b=[];for(let c of a.split("\n")){let a=c.match(/^\s*\[file\]\s*(\S+)\s*$/i);a&&!b.includes(a[1])&&b.push(a[1])}return b}(a.content),x=n||t?null:(h=p.text.match(/^\s*\[Handing off to ([^\]]+)\]/))&&h[1].trim()||null,y=a.draftStatus??(u?"open":null),A=a.approvalStatus??(v?"pending":null);return(0,b.jsxs)(c.Fragment,{children:[l.map(bB),m,(0,b.jsxs)("div",{className:n?"msg-you":"msg-bot",ref:t&&"running"===t.state?aO:void 0,children:[(0,b.jsx)("div",{className:n?"msg-name msg-name-you":"msg-name",style:r?{color:r}:void 0,children:n?"You":a.sender_name||s.details.name}),t?(0,b.jsxs)("div",{className:"msg-body",children:[g(t),"running"===t.state?(0,b.jsxs)(b.Fragment,{children:[" ",(0,b.jsx)("button",{type:"button",className:"attach-word",style:{font:"inherit"},onClick:b=>{b.preventDefault(),b.stopPropagation(),a5(a.id)},children:"Stop"})]}):null]}):u&&y?(0,b.jsx)("div",{className:"msg-body",children:(0,b.jsx)(X,{message:a,conversationId:s.id,status:y,onDone:()=>{a4()}},a.id+y)}):(0,b.jsxs)("div",{className:"msg-body",onClick:x?()=>{a7(a,x)}:void 0,title:x?"Show the replies between this handoff and the reply":void 0,style:x?{cursor:"pointer"}:void 0,children:[function(a,c){let d=String(a??"").split("\n");if(!d.some(a=>null!==(0,k.agentEventDisplay)(a)))return a;let e=[];return d.forEach((a,d)=>{d>0&&e.push((0,b.jsx)("br",{},c+"-br-"+d));let f=(0,k.agentEventDisplay)(a);f?e.push((0,b.jsxs)("span",{className:"agent-event",children:[(0,b.jsx)("span",{className:"agent-event-label",children:f.label}),f.detail?" "+f.detail:""]},c+"-"+d)):e.push((0,b.jsx)("span",{children:a},c+"-"+d))}),e}(p.text,a.id),q,v&&A?(0,b.jsx)(Y,{message:a,conversationId:s.id,status:A,onDone:()=>{a4()}},a.id+A):null,(0,b.jsx)(Z,{names:w})]}),as[a.id]?(0,b.jsx)("div",{className:"msg-body",children:as[a.id].map(a=>(0,b.jsx)("div",{children:(a.sender_name||"Agent")+": "+V(a.content)},a.id))}):null]})]},a.id)}),z.filter(a=>!bA.has(a.eventId)).map(bB),bE(1/0),(0,b.jsx)("div",{ref:aQ}),(0,b.jsx)("div",{ref:aN})]}),a1?(0,b.jsxs)("div",{className:"computer-float",children:[(0,b.jsxs)("div",{className:"computer-top",children:[(0,b.jsxs)("span",{className:"computer-lights","aria-hidden":"true",children:[(0,b.jsx)("span",{className:"computer-light computer-light-red"}),(0,b.jsx)("span",{className:"computer-light computer-light-yellow"}),(0,b.jsx)("span",{className:"computer-light computer-light-green"})]}),(0,b.jsxs)("span",{className:"computer-teach",children:[(0,b.jsxs)("span",{className:"computer-teach-pill",children:[(0,b.jsx)("span",{className:"computer-teach-mark","aria-hidden":"true"}),"Teach a task"]}),(0,b.jsx)("span",{className:"computer-expand","aria-hidden":"true",children:(0,b.jsx)("svg",{viewBox:"0 0 16 16",width:"14",height:"14",children:(0,b.jsx)("path",{d:"M9.2 2.6H13.4V6.8M6.8 13.4H2.6V9.2M13.1 2.9L9.4 6.6M2.9 13.1L6.6 9.4",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]}),(0,b.jsx)("div",{className:"messages"===bw?"computer-band":"computer-band computer-band-note",ref:aP,children:bx}),(0,b.jsxs)("div",{className:"computer-desk",children:[a2?(0,b.jsx)("iframe",{className:"computer-page",sandbox:"",srcDoc:a2,tabIndex:-1}):null,(0,b.jsxs)("div",{className:"computer-dock",children:[(0,b.jsx)("img",{src:"/computer/dock-chrome.png",alt:""}),(0,b.jsx)("img",{src:"/computer/dock-gray.png",alt:""}),(0,b.jsx)("img",{src:"/computer/dock-terminal.png",alt:""})]})]})]}):null]}),(0,b.jsxs)("div",{className:"composer",onPaste:a=>{let b=[],c=a.clipboardData.files;if(c&&c.length>0)b.push(...Array.from(c));else for(let c of Array.from(a.clipboardData.items)){if("file"!==c.kind)continue;let a=c.getAsFile();a&&b.push(a)}0!==b.length&&(a.preventDefault(),bu(b))},children:[_&&bs.length>0?(0,b.jsx)("div",{className:"mention-list",children:bs.map(a=>(0,b.jsxs)("button",{type:"button",onMouseDown:b=>{b.preventDefault(),bt(a.name)},children:["@",a.name]},a.id))}):null,(0,b.jsxs)("div",{className:"composer-box",children:[ad?(0,b.jsx)("p",{className:"attach-error",children:ad}):null,ab.length>0?(0,b.jsx)("div",{className:"attach-names",children:ab.map(a=>(0,b.jsx)("span",{children:a.name},a.id))}):null,(0,b.jsx)("textarea",{ref:af,rows:2,value:I,onChange:a=>{var b,c;let d,e;K(a.target.value),b=a.target.value,c=a.target.selectionStart,(e=(d=b.slice(0,c)).lastIndexOf("@"))<0||/\s/.test(d.slice(e+1))?aa(!1):(P(d.slice(e+1)),aa(!0))},onKeyDown:a=>{if("Enter"===a.key&&!a.shiftKey){if(a.preventDefault(),_&&bs.length>0)return void bt(bs[0].name);bv()}},placeholder:"Say something"})]}),(0,b.jsx)("input",{ref:ag,className:"attach-input",type:"file",multiple:!0,onChange:a=>{bu(Array.from(a.target.files||[])),a.target.value=""}}),(0,b.jsx)("button",{type:"button",className:"attach-word",onClick:()=>ag.current?.click(),children:"Attach"}),(0,b.jsx)("button",{type:"button",className:"send-btn",onClick:bv,children:"Send"})]})]}):bc?(0,b.jsxs)("div",{className:"welcome",children:[(0,b.jsx)(e.default,{className:"welcome-mark",src:"/brand/botmancers-logo-outline-256.png",alt:"Botmancers",width:144,height:144,priority:!0}),(0,b.jsx)("p",{className:"empty-line",children:"Pick someone to talk to."})]}):(0,b.jsx)("p",{className:"empty-line",children:"Pick someone to talk to."})}),av?(0,b.jsx)(p.default,{ids:[av.id],onCancel:()=>{bk(av.id),aw(null)},onDeleted:a=>{bj(a)}}):null,aE&&s?(0,b.jsx)(E,{agentId:s.details.id,agentName:s.details.name,agents:l.map(a=>({id:a.id,name:a.name})),origin:{conversationId:s.id,label:`${s.details.name} thread`},onExchangeStarted:()=>{a4()},onClose:()=>{aF(!1),requestAnimationFrame(()=>aG.current?.focus())},onOpenThread:a=>{aF(!1),a8(a).then(()=>requestAnimationFrame(()=>aG.current?.focus()))}},s.details.id):null,aB?(0,b.jsx)(t,{onClose:()=>{aC(!1),requestAnimationFrame(()=>aD.current?.focus())},onDeleted:a=>{bj(a)}}):null,ax?(0,b.jsxs)("div",{ref:az,className:"row-menu",role:"menu","aria-label":`Actions for ${ax.bot.name}`,style:{left:ax.x,top:ax.y},onPointerDown:a=>a.stopPropagation(),onClick:a=>a.stopPropagation(),onContextMenu:a=>a.preventDefault(),onKeyDown:a=>{let b=Array.from(a.currentTarget.querySelectorAll("[role=menuitem]")),c=b.indexOf(document.activeElement),d=c=>{a.preventDefault(),b[(c+b.length)%b.length]?.focus()};"ArrowDown"===a.key?d(c+1):"ArrowUp"===a.key?d(c-1):"Home"===a.key?d(0):"End"===a.key?d(b.length-1):"Tab"===a.key&&(a.preventDefault(),bl())},children:[(0,b.jsx)("button",{type:"button",role:"menuitem",tabIndex:-1,autoFocus:!0,onClick:a=>{a.stopPropagation(),bl(),bf(ax.bot)},children:ax.bot.pinned?"Unpin":"Pin"}),(0,b.jsx)("button",{type:"button",role:"menuitem",tabIndex:-1,onClick:a=>{a.stopPropagation(),bl(),bh(ax.bot)},children:"Mark as Unread"}),(0,b.jsx)("button",{type:"button",role:"menuitem",tabIndex:-1,onClick:a=>{a.stopPropagation(),bl(!1),ap(ax.bot.id),ar(ax.bot.name)},children:"Rename Agent"}),(0,b.jsx)("button",{type:"button",role:"menuitem",tabIndex:-1,onClick:a=>{a.stopPropagation(),bl(!1),bg(ax.bot,!ax.bot.hidden)},children:ax.bot.hidden?"Unhide":"Hide from sidebar"}),(0,b.jsx)(d.default,{role:"menuitem",tabIndex:-1,href:`/bots/${ax.bot.id}/config`,onClick:()=>ay(null),children:"Config"}),(0,b.jsx)("button",{type:"button",role:"menuitem",tabIndex:-1,onClick:a=>{a.stopPropagation(),bl(!1),aw(ax.bot)},children:"Delete agent…"})]}):null]}),ah&&(0,b.jsx)($,{anchorRef:aj,onClose:bF,onCreated:()=>{a3(),bF()}})]})}],60350)},67161,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"Image",{enumerable:!0,get:function(){return v}});let d=a.r(33354),e=a.r(46058),f=a.r(87924),g=e._(a.r(72131)),h=d._(a.r(35112)),i=d._(a.r(58018)),j=a.r(94915),k=a.r(345),l=a.r(4486),m=a.r(53773),n=d._(a.r(2305)),o=a.r(8591),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function q(a,b,c,d,e,f,g){let h=a?.src;a&&a["data-loaded-src"]!==h&&(a["data-loaded-src"]=h,("decode"in a?a.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(a.parentElement&&a.isConnected){if("empty"!==b&&e(!0),c?.current){let b=new Event("load");Object.defineProperty(b,"target",{writable:!1,value:a});let d=!1,e=!1;c.current({...b,nativeEvent:b,currentTarget:a,target:a,isDefaultPrevented:()=>d,isPropagationStopped:()=>e,persist:()=>{},preventDefault:()=>{d=!0,b.preventDefault()},stopPropagation:()=>{e=!0,b.stopPropagation()}})}d?.current&&d.current(a)}}))}function r(a){return g.use?{fetchPriority:a}:{fetchpriority:a}}globalThis.__NEXT_IMAGE_IMPORTED=!0;let s=g.useEffect,t=(0,g.forwardRef)(({src:a,srcSet:b,sizes:c,height:d,width:e,decoding:h,className:i,style:j,fetchPriority:k,placeholder:l,loading:m,unoptimized:n,fill:p,onLoadRef:t,onLoadingCompleteRef:u,setBlurComplete:v,setShowAltText:w,sizesInput:x,onLoad:y,onError:z,...A},B)=>{let C=(0,g.useRef)(!1),D=(0,g.useRef)(null);s(()=>{let{current:a}=C,{current:b}=D;a||null===b||(z&&(b.src=b.src),b.complete&&q(b,l,t,u,v,n,x),C.current=!0)},[a,l,t,u,z,n,x]);let E=(0,o.useMergedRef)(B,D);return(0,f.jsx)("img",{...A,...r(k),loading:m,width:e,height:d,decoding:h,"data-nimg":p?"fill":"1",className:i,style:j,sizes:c,srcSet:b,src:a,ref:E,onLoad:a=>{q(a.currentTarget,l,t,u,v,n,x)},onError:a=>{w(!0),"empty"!==l&&v(!0),z&&z(a)}})});function u({isAppRouter:a,imgAttributes:b}){let c={as:"image",imageSrcSet:b.srcSet,imageSizes:b.sizes,crossOrigin:b.crossOrigin,referrerPolicy:b.referrerPolicy,...r(b.fetchPriority)};return a&&h.default.preload?(h.default.preload(b.src,c),null):(0,f.jsx)(i.default,{children:(0,f.jsx)("link",{rel:"preload",href:b.srcSet?void 0:b.src,...c},"__nimg-"+b.src+b.srcSet+b.sizes)})}let v=(0,g.forwardRef)((a,b)=>{let c=(0,g.useContext)(m.RouterContext),d=(0,g.useContext)(l.ImageConfigContext),e=(0,g.useMemo)(()=>{let a=p||d||k.imageConfigDefault,b=[...a.deviceSizes,...a.imageSizes].sort((a,b)=>a-b),c=a.deviceSizes.sort((a,b)=>a-b),e=a.qualities?.sort((a,b)=>a-b);return{...a,allSizes:b,deviceSizes:c,qualities:e,localPatterns:d?.localPatterns}},[d]),{onLoad:h,onLoadingComplete:i}=a,o=(0,g.useRef)(h);(0,g.useEffect)(()=>{o.current=h},[h]);let q=(0,g.useRef)(i);(0,g.useEffect)(()=>{q.current=i},[i]);let[r,s]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),{props:x,meta:y}=(0,j.getImgProps)(a,{defaultLoader:n.default,imgConf:e,blurComplete:r,showAltText:v});return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(t,{...x,unoptimized:y.unoptimized,placeholder:y.placeholder,fill:y.fill,onLoadRef:o,onLoadingCompleteRef:q,setBlurComplete:s,setShowAltText:w,sizesInput:a.sizes,ref:b}),y.preload?(0,f.jsx)(u,{isAppRouter:!c,imgAttributes:x}):null]})});("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},33095,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return k},getImageProps:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(33354),g=a.r(94915),h=a.r(67161),i=f._(a.r(2305));function j(a){let{props:b}=(0,g.getImgProps)(a,{defaultLoader:i.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[a,c]of Object.entries(b))void 0===c&&delete b[a];return{props:b}}let k=h.Image},71987,(a,b,c)=>{b.exports=a.r(33095)},92966,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.HeadManagerContext},58018,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return p},defaultHead:function(){return l}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(33354),g=a.r(46058),h=a.r(87924),i=g._(a.r(72131)),j=f._(a.r(94613)),k=a.r(92966);function l(){return[(0,h.jsx)("meta",{charSet:"utf-8"},"charset"),(0,h.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function m(a,b){return"string"==typeof b||"number"==typeof b?a:b.type===i.default.Fragment?a.concat(i.default.Children.toArray(b.props.children).reduce((a,b)=>"string"==typeof b||"number"==typeof b?a:a.concat(b),[])):a.concat(b)}let n=["name","httpEquiv","charSet","itemProp"];function o(a){let b,c,d,e;return a.reduce(m,[]).reverse().concat(l().reverse()).filter((b=new Set,c=new Set,d=new Set,e={},a=>{let f=!0,g=!1;if(a.key&&"number"!=typeof a.key&&a.key.indexOf("$")>0){g=!0;let c=a.key.slice(a.key.indexOf("$")+1);b.has(c)?f=!1:b.add(c)}switch(a.type){case"title":case"base":c.has(a.type)?f=!1:c.add(a.type);break;case"meta":for(let b=0,c=n.length;b<c;b++){let c=n[b];if(a.props.hasOwnProperty(c))if("charSet"===c)d.has(c)?f=!1:d.add(c);else{let b=a.props[c],d=e[c]||new Set;("name"!==c||!g)&&d.has(b)?f=!1:(d.add(b),e[c]=d)}}}return f})).reverse().map((a,b)=>{let c=a.key||b;return i.default.cloneElement(a,{key:c})})}let p=function({children:a}){let b=(0,i.useContext)(k.HeadManagerContext);return(0,h.jsx)(j.default,{reduceComponentsToState:o,headManager:b,children:a})};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},4486,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.ImageConfigContext},53773,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.RouterContext},35444,(a,b,c)=>{"use strict";function d(a,b){let c=a||75;return b?.qualities?.length?b.qualities.reduce((a,b)=>Math.abs(b-c)<Math.abs(a-c)?b:a,b.qualities[0]):c}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"findClosestQuality",{enumerable:!0,get:function(){return d}})},2305,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return g}});let d=a.r(35444),e=a.r(68063);function f({config:a,src:b,width:c,quality:g}){let h=(0,e.getDeploymentId)();if(b.startsWith("/")&&!b.startsWith("//"))if(b.includes("/_next/static/immutable")&&!(0,e.getAssetToken)())h=void 0;else{let a=b.indexOf("?");if(-1!==a){let c=new URLSearchParams(b.slice(a+1)),d=c.get("dpl");if(d){h=d,c.delete("dpl");let e=c.toString();b=b.slice(0,a)+(e?"?"+e:"")}}}if(b.startsWith("/")&&b.includes("?")&&a.localPatterns?.length===1&&"**"===a.localPatterns[0].pathname&&""===a.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${b}" is using a query string which is not configured in images.localPatterns.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let i=(0,d.findClosestQuality)(g,a);return`${a.path}?url=${encodeURIComponent(b)}&w=${c}&q=${i}${b.startsWith("/")&&h?`&dpl=${h}`:""}`}f.__next_img_default=!0;let g=f},4987,(a,b,c)=>{"use strict";function d({widthInt:a,heightInt:b,blurWidth:c,blurHeight:e,blurDataURL:f,objectFit:g}){let h=c?40*c:a,i=e?40*e:b,j=h&&i?`viewBox='0 0 ${h} ${i}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${j}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${j?"none":"contain"===g?"xMidYMid":"cover"===g?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${f}'/%3E%3C/svg%3E`}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"getImageBlurSvg",{enumerable:!0,get:function(){return d}})},345,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={VALID_LOADERS:function(){return f},imageConfigDefault:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=["default","imgix","cloudinary","akamai","custom"],g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},94915,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"getImgProps",{enumerable:!0,get:function(){return j}});let d=a.r(68063),e=a.r(4987),f=a.r(345),g=["-moz-initial","fill","none","scale-down",void 0];function h(a){return void 0!==a.default}function i(a){return void 0===a?a:"number"==typeof a?Number.isFinite(a)?a:NaN:"string"==typeof a&&/^[0-9]+$/.test(a)?parseInt(a,10):NaN}function j({src:a,sizes:b,unoptimized:c=!1,priority:k=!1,preload:l=!1,loading:m,className:n,quality:o,width:p,height:q,fill:r=!1,style:s,overrideSrc:t,onLoad:u,onLoadingComplete:v,placeholder:w="empty",blurDataURL:x,fetchPriority:y,decoding:z="async",layout:A,objectFit:B,objectPosition:C,lazyBoundary:D,lazyRoot:E,...F},G){var H;let I,J,K,{imgConf:L,showAltText:M,blurComplete:N,defaultLoader:O}=G,P=L||f.imageConfigDefault;if("allSizes"in P)I=P;else{let a=[...P.deviceSizes,...P.imageSizes].sort((a,b)=>a-b),b=P.deviceSizes.sort((a,b)=>a-b),c=P.qualities?.sort((a,b)=>a-b);I={...P,allSizes:a,deviceSizes:b,qualities:c}}if(void 0===O)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let Q=F.loader||O;delete F.loader,delete F.srcSet;let R="__next_img_default"in Q;if(R){if("custom"===I.loader)throw Object.defineProperty(Error(`Image with src "${a}" is missing "loader" prop.
|
|
3
|
-
Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let a=Q;Q=b=>{let{config:c,...d}=b;return a(d)}}if(A){"fill"===A&&(r=!0);let a={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[A];a&&(s={...s,...a});let c={responsive:"100vw",fill:"100vw"}[A];c&&!b&&(b=c)}let S="",T=i(p),U=i(q);if((H=a)&&"object"==typeof H&&(h(H)||void 0!==H.src)){let b=h(a)?a.default:a;if(!b.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!b.height||!b.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(J=b.blurWidth,K=b.blurHeight,x=x||b.blurDataURL,S=b.src,!r)if(T||U){if(T&&!U){let a=T/b.width;U=Math.round(b.height*a)}else if(!T&&U){let a=U/b.height;T=Math.round(b.width*a)}}else T=b.width,U=b.height}let V=!k&&!l&&("lazy"===m||void 0===m);(!(a="string"==typeof a?a:S)||a.startsWith("data:")||a.startsWith("blob:"))&&(c=!0,V=!1),I.unoptimized&&(c=!0),R&&!I.dangerouslyAllowSVG&&a.split("?",1)[0].endsWith(".svg")&&(c=!0);let W=i(o),X=Object.assign(r?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:B,objectPosition:C}:{},M?{}:{color:"transparent"},s),Y=N||"empty"===w?null:"blur"===w?`url("data:image/svg+xml;charset=utf-8,${(0,e.getImageBlurSvg)({widthInt:T,heightInt:U,blurWidth:J,blurHeight:K,blurDataURL:x||"",objectFit:X.objectFit})}")`:`url("${w}")`,Z=g.includes(X.objectFit)?"fill"===X.objectFit?"100% 100%":"cover":X.objectFit,$=Y?{backgroundSize:Z,backgroundPosition:X.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Y}:{},_=function({config:a,src:b,unoptimized:c,width:e,quality:f,sizes:g,loader:h}){if(c){if(b.startsWith("/")&&!b.startsWith("//")){let a=(0,d.getDeploymentId)();if(b.includes("/_next/static/immutable")&&!(0,d.getAssetToken)())a=void 0;else if(a){let c=b.indexOf("?");if(-1!==c){let d=new URLSearchParams(b.slice(c+1));d.get("dpl")||(d.append("dpl",a),b=b.slice(0,c)+"?"+d.toString())}else b+=`?dpl=${a}`}}return{src:b,srcSet:void 0,sizes:void 0}}let{widths:i,kind:j}=function({deviceSizes:a,allSizes:b},c,d){if(d){let c=/(^|\s)(1?\d?\d)vw/g,e=[];for(let a;a=c.exec(d);)e.push(parseInt(a[2]));if(e.length){let c=.01*Math.min(...e);return{widths:b.filter(b=>b>=a[0]*c),kind:"w"}}return{widths:b,kind:"w"}}return"number"!=typeof c?{widths:a,kind:"w"}:{widths:[...new Set([c,2*c].map(a=>b.find(b=>b>=a)||b[b.length-1]))],kind:"x"}}(a,e,g),k=i.length-1;return{sizes:g||"w"!==j?g:"100vw",srcSet:i.map((c,d)=>`${h({config:a,src:b,quality:f,width:c})} ${"w"===j?c:d+1}${j}`).join(", "),src:h({config:a,src:b,quality:f,width:i[k]})}}({config:I,src:a,unoptimized:c,width:T,quality:W,sizes:b,loader:Q}),aa=V?"lazy":m;return{props:{...F,loading:aa,fetchPriority:y,width:T,height:U,decoding:z,className:n,style:{...X,...$},sizes:_.sizes,srcSet:_.srcSet,src:t||_.src},meta:{unoptimized:c,preload:l||k,placeholder:w,fill:r}}}},94613,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return f}});let d=a.r(72131),e=()=>{};function f(a){let{headManager:b,reduceComponentsToState:c}=a;return b?.mountedInstances?.add(a.children),function(){if(b&&b.mountedInstances){let a=d.Children.toArray(Array.from(b.mountedInstances).filter(Boolean));b.updateHead(c(a))}}(),e(),e(),null}}];
|
|
4
|
-
|
|
5
|
-
//# sourceMappingURL=_1o94bnv._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[90730,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(38246),e=a.i(27828),f=a.i(35099);let g="botmancers:exchanges-navigate";function h(a){return window.addEventListener("popstate",a),window.addEventListener(g,a),()=>{window.removeEventListener("popstate",a),window.removeEventListener(g,a)}}function i(){return new URLSearchParams(window.location.search).get("id")}function j({id:a,onBack:g,onChanged:h}){let[i,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(""),[n,o]=(0,c.useState)(0),p=(0,c.useRef)(null),q=(0,c.useRef)(!1),r=(0,c.useId)();(0,c.useEffect)(()=>{let b=!1,c=()=>{fetch(`/api/exchanges/${encodeURIComponent(a)}`,{cache:"no-store"}).then(async a=>{let c=await a.json().catch(()=>null);if(!b){if(!a.ok||!c?.detail)return void m(404===a.status?"This exchange no longer exists.":"Could not load this exchange.");m(""),k(c.detail)}}).catch(()=>{b||m("Could not load this exchange.")})};c();let d=setInterval(c,2e3);return()=>{b=!0,clearInterval(d)}},[a,n]),(0,c.useEffect)(()=>{i&&!q.current&&(q.current=!0,p.current?.focus())},[i]);let s=(0,b.jsx)("button",{type:"button",className:"pin-word ledger-detail-back",onClick:g,children:"← All exchanges"});if(!i)return(0,b.jsxs)("div",{className:"ledger-detail",children:[s,l?(0,b.jsxs)("div",{role:"alert",className:"ledger-state",children:[(0,b.jsx)("p",{className:"delete-error",children:l}),(0,b.jsx)("button",{type:"button",className:"pin-word",onClick:()=>o(a=>a+1),children:"Retry"})]}):(0,b.jsx)("p",{className:"ledger-state",role:"status",children:"Loading exchange…"})]});let{summary:t,events:u,packet:v}=i;return(0,b.jsxs)("article",{className:"ledger-detail","aria-labelledby":r,"data-exchange-detail":t.id,children:[s,(0,b.jsxs)("h2",{id:r,ref:p,tabIndex:-1,className:"ledger-detail-title",children:[(0,f.modeLabel)(t.mode),": ",(0,f.participantsLabel)(t)]}),(0,b.jsx)(e.default,{summary:t,onChanged:()=>{o(a=>a+1),h()}}),(0,b.jsxs)("section",{className:"ledger-section","aria-label":(0,f.instructionHeading)(t.mode),children:[(0,b.jsx)("h3",{className:"ledger-section-title",children:(0,f.instructionHeading)(t.mode)}),(0,b.jsx)("p",{className:"ledger-text",children:t.instruction})]}),i.answer?(0,b.jsxs)("section",{className:"ledger-section","aria-label":"Answer",children:[(0,b.jsx)("h3",{className:"ledger-section-title",children:"Answer"}),(0,b.jsx)("p",{className:"ledger-text",children:i.answer})]}):null,v?(0,b.jsxs)("section",{className:"ledger-section","aria-label":"Handoff packet",children:[(0,b.jsx)("h3",{className:"ledger-section-title",children:"Handoff packet"}),(0,b.jsx)("p",{className:"ledger-text",children:v.objective}),[["Decisions",v.decisions],["Constraints",v.constraints],["Artifacts and references",v.artifacts],["Open questions",v.open_questions]].filter(([,a])=>a.length>0).map(([a,c])=>(0,b.jsxs)("div",{className:"ledger-packet-list",children:[(0,b.jsx)("h4",{className:"ledger-packet-title",children:a}),(0,b.jsx)("ul",{children:c.map((a,c)=>(0,b.jsx)("li",{children:a},c))})]},a))]}):null,(0,b.jsxs)("section",{className:"ledger-section","aria-label":"Linked threads",children:[(0,b.jsx)("h3",{className:"ledger-section-title",children:"Linked threads"}),(0,b.jsx)("ul",{className:"ledger-links",children:t.links.map(a=>{let c=(0,f.threadHref)(a,t.id);return(0,b.jsxs)("li",{children:[c?(0,b.jsx)(d.default,{className:"session-link ledger-thread-link",href:c,children:a.label}):(0,b.jsxs)("span",{children:[a.label,"agent_api"===a.kind?(0,b.jsx)("span",{className:"ledger-link-role",children:" (between Agents, not an owner thread)"}):null]}),(0,b.jsxs)("span",{className:"ledger-link-role",children:[" · ",(0,f.linkRoleLabel)(a.roles)]})]},a.id)})})]}),(0,b.jsxs)("section",{className:"ledger-section","aria-label":"Timeline",children:[(0,b.jsx)("h3",{className:"ledger-section-title",children:"Timeline"}),(0,b.jsx)("ol",{className:"ledger-timeline",children:u.map(a=>(0,b.jsxs)("li",{"data-event-type":a.type,children:[(0,b.jsx)("span",{className:"ledger-timeline-time",children:(0,f.formatExchangeTime)(a.at)}),(0,b.jsx)("span",{className:"ledger-timeline-text",children:(0,f.eventLabel)(a,t)})]},a.sequence))})]}),(0,b.jsxs)("p",{className:"ledger-foot",children:[(0,f.excerpt)(`${t.source.agent_name}’s session: ${t.source.session_title}`,200),t.destination?.session_title?` \xb7 ${t.destination.agent_name}’s new session: ${t.destination.session_title}`:""]})]})}a.s(["default",0,function(){let[a,e]=(0,c.useState)(null),[k,l]=(0,c.useState)(""),[m,n]=(0,c.useState)(0),[o,p]=(0,c.useState)(f.DEFAULT_LEDGER_FILTER),q=(0,c.useSyncExternalStore)(h,i,()=>null),r=(0,c.useId)(),s=(0,c.useId)(),t=(0,c.useId)(),u=(0,c.useRef)(null),v=(0,c.useRef)(null);(0,c.useEffect)(()=>{let a=v.current;if(v.current=q,q||!a)return;let b=document.querySelector(`.ledger-row[data-exchange-id="${CSS.escape(a)}"]`);(b??u.current)?.focus()},[q]),(0,c.useEffect)(()=>{let a=!1,b=()=>{fetch("/api/exchanges",{cache:"no-store"}).then(async b=>{let c=await b.json().catch(()=>null);if(!a){if(!b.ok||!Array.isArray(c?.exchanges))return void l("string"==typeof c?.error?.message?c.error.message:"Could not load exchanges.");l(""),e(c.exchanges)}}).catch(()=>{a||l("Could not load exchanges.")})};b();let c=setInterval(b,2e3);return()=>{a=!0,clearInterval(c)}},[m]);let w=a=>{window.history.pushState(null,"",a?`/exchanges?id=${encodeURIComponent(a)}`:"/exchanges"),window.dispatchEvent(new Event(g))},x=a?(0,f.ledgerRows)(a,o):[],y=(0,f.ledgerView)(a,a?"":k,x),z=a?(0,f.ledgerAgents)(a):[];return(0,b.jsxs)("div",{className:q?"ledger-page has-detail":"ledger-page",children:[(0,b.jsxs)("header",{className:"ledger-head",children:[(0,b.jsx)(d.default,{href:"/",className:"cfg-link ledger-back",children:"← Back to chat"}),(0,b.jsx)("h1",{className:"ledger-title",children:"Agent Exchanges"}),(0,b.jsx)("p",{className:"ledger-sub",children:"Every Ask and Continue between Agent sessions, newest activity first."})]}),(0,b.jsxs)("main",{className:"ledger-main",children:[(0,b.jsxs)("section",{className:"ledger-list-pane","aria-labelledby":t,children:[(0,b.jsx)("h2",{id:t,ref:u,tabIndex:-1,className:"ledger-pane-title",children:"Exchanges"}),(0,b.jsxs)("div",{className:"ledger-filters",children:[(0,b.jsx)("div",{className:"sessions-filter ledger-mode",role:"group","aria-label":"Mode",children:f.MODE_FILTER_OPTIONS.map(a=>(0,b.jsx)("button",{type:"button",className:"sessions-filter-btn","aria-pressed":o.mode===a.value,onClick:()=>p(b=>({...b,mode:a.value})),children:a.label},a.value))}),(0,b.jsxs)("div",{className:"ledger-selects",children:[(0,b.jsxs)("label",{className:"ledger-select-label",htmlFor:r,children:["Status",(0,b.jsx)("select",{id:r,className:"exchange-select",value:o.state,onChange:a=>p(b=>({...b,state:a.target.value})),children:f.STATE_FILTER_OPTIONS.map(a=>(0,b.jsx)("option",{value:a.value,children:a.label},a.value))})]}),(0,b.jsxs)("label",{className:"ledger-select-label",htmlFor:s,children:["Agent",(0,b.jsxs)("select",{id:s,className:"exchange-select",value:o.agentId,onChange:a=>p(b=>({...b,agentId:a.target.value})),children:[(0,b.jsx)("option",{value:"",children:"Any Agent"}),z.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]})]})]}),(0,b.jsx)("p",{className:"manage-count ledger-count",role:"status",children:a?`${x.length} of ${a.length} shown`:""})]}),"loading"===y?(0,b.jsx)("p",{className:"ledger-state",role:"status","data-ledger-state":"loading",children:"Loading exchanges…"}):null,"error"===y?(0,b.jsxs)("div",{className:"ledger-state",role:"alert","data-ledger-state":"error",children:[(0,b.jsx)("p",{className:"delete-error",children:k}),(0,b.jsx)("button",{type:"button",className:"pin-word",onClick:()=>{l(""),n(a=>a+1)},children:"Retry"})]}):null,"empty"===y?(0,b.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"===y?(0,b.jsxs)("div",{className:"ledger-state","data-ledger-state":"filtered-out",children:[(0,b.jsx)("p",{children:"No exchanges match these filters."}),(0,b.jsx)("button",{type:"button",className:"pin-word",onClick:()=>p(f.DEFAULT_LEDGER_FILTER),children:"Clear filters"})]}):null,"rows"===y?(0,b.jsx)("ol",{className:"ledger-list","aria-label":"Exchanges, newest activity first",children:x.map(a=>(0,b.jsx)("li",{className:"ledger-row-item",children:(0,b.jsxs)("button",{type:"button",className:`ledger-row is-${(0,f.stateTone)(a.state)}`,"data-exchange-id":a.id,"aria-current":q===a.id?"true":void 0,onClick:()=>w(a.id),children:[(0,b.jsxs)("span",{className:"ledger-row-line",children:[(0,b.jsx)("span",{className:"exchange-card-mode",children:(0,f.modeLabel)(a.mode)}),(0,b.jsx)("span",{className:"ledger-row-who",children:(0,f.participantsLabel)(a)}),(0,b.jsx)("span",{className:"ledger-row-state",children:(0,f.liveStateLabel)(a)})]}),(0,b.jsx)("span",{className:"ledger-row-session",children:a.source.session_title}),(0,b.jsxs)("span",{className:"ledger-row-meta",children:["From ",a.origin?.label??"an unknown thread"," · Started ",(0,f.formatExchangeTime)(a.created_at)," · Updated ",(0,f.formatExchangeTime)(a.updated_at)]})]})},a.id))}):null]}),(0,b.jsx)("section",{className:"ledger-detail-pane","aria-label":"Exchange detail",children:q?(0,b.jsx)(j,{id:q,onBack:()=>w(null),onChanged:()=>n(a=>a+1)},q):(0,b.jsx)("p",{className:"ledger-state ledger-placeholder",children:"Choose an exchange to see its timeline and linked threads."})})]})]})}])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=app_exchanges_page_tsx_0j-n2a1._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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 can’t launch yet. Choose its runtime connection and session scope in Config.";case"idempotency_conflict":return"This request changed while it was being sent. Send again.";case"session_missing":return"The runtime no longer has this session. Its history stays here; choose another session.";case"approval_required":return"Resume work here needs your approval of edits. Tick the approval, then send again.";case"authority_not_allowed":return t||"This Agent’s policy doesn’t allow edits in a resumed session. Change it in Config.";case"action_unavailable":return t||"This runtime can’t do that in this session. Choose another action.";case"provider_failed":return"The runtime failed this turn. Nothing moved to another session; try again later.";default:return t||"The exchange could not be started. Your draft is kept; try again."}},"threadHref",0,function(e,t){let n=new URLSearchParams;if(e.thread_agent_id)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})}}]);
|
|
@@ -1 +0,0 @@
|
|
|
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 can’t launch yet. Choose its runtime connection and session scope in Config.";case"idempotency_conflict":return"This request changed while it was being sent. Send again.";case"session_missing":return"The runtime no longer has this session. Its history stays here; choose another session.";case"approval_required":return"Resume work here needs your approval of edits. Tick the approval, then send again.";case"authority_not_allowed":return t||"This Agent’s policy doesn’t allow edits in a resumed session. Change it in Config.";case"action_unavailable":return t||"This runtime can’t do that in this session. Choose another action.";case"provider_failed":return"The runtime failed this turn. Nothing moved to another session; try again later.";default:return t||"The exchange could not be started. Your draft is kept; try again."}},"threadHref",0,function(e,t){let n=new URLSearchParams;if(e.thread_agent_id)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)}]);
|