@aitne/dashboard 0.1.10 → 0.1.11
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/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +6 -9
- package/.next/build-manifest.json +3 -3
- package/.next/diagnostics/route-bundle-stats.json +592 -614
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-manifest.json +54 -126
- package/.next/routes-manifest.json +27 -45
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page/next-font-manifest.json +4 -2
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +15 -15
- package/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
- package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/activity/page/next-font-manifest.json +4 -2
- package/.next/server/app/activity/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/activity/page.js.nft.json +1 -1
- package/.next/server/app/activity/page_client-reference-manifest.js +1 -1
- package/.next/server/app/activity.html +1 -1
- package/.next/server/app/activity.rsc +27 -25
- package/.next/server/app/activity.segments/_full.segment.rsc +27 -25
- package/.next/server/app/activity.segments/_head.segment.rsc +4 -4
- package/.next/server/app/activity.segments/_index.segment.rsc +10 -10
- package/.next/server/app/activity.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/activity.segments/activity/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/activity.segments/activity.segment.rsc +4 -4
- package/.next/server/app/agents/[slug]/executions/page/next-font-manifest.json +4 -2
- package/.next/server/app/agents/[slug]/executions/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/agents/[slug]/executions/page.js.nft.json +1 -1
- package/.next/server/app/agents/[slug]/executions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/agents/[slug]/page/next-font-manifest.json +4 -2
- package/.next/server/app/agents/[slug]/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/agents/[slug]/page.js.nft.json +1 -1
- package/.next/server/app/agents/[slug]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/agents/page/next-font-manifest.json +4 -2
- package/.next/server/app/agents/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/agents/page.js.nft.json +1 -1
- package/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/.next/server/app/agents.html +1 -1
- package/.next/server/app/agents.rsc +18 -17
- package/.next/server/app/agents.segments/_full.segment.rsc +18 -17
- package/.next/server/app/agents.segments/_head.segment.rsc +4 -4
- package/.next/server/app/agents.segments/_index.segment.rsc +10 -10
- package/.next/server/app/agents.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/agents.segments/agents.segment.rsc +3 -3
- package/.next/server/app/analytics/page/next-font-manifest.json +4 -2
- package/.next/server/app/analytics/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/analytics/page.js.nft.json +1 -1
- package/.next/server/app/analytics/page_client-reference-manifest.js +1 -1
- package/.next/server/app/analytics.html +1 -1
- package/.next/server/app/analytics.rsc +25 -23
- package/.next/server/app/analytics.segments/_full.segment.rsc +25 -23
- package/.next/server/app/analytics.segments/_head.segment.rsc +4 -4
- package/.next/server/app/analytics.segments/_index.segment.rsc +10 -10
- package/.next/server/app/analytics.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/analytics.segments/analytics/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/analytics.segments/analytics.segment.rsc +4 -4
- package/.next/server/app/browser/page/app-paths-manifest.json +3 -0
- package/.next/server/app/browser/page/next-font-manifest.json +8 -0
- package/.next/server/app/{settings/advanced → browser}/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/browser/page.js +15 -0
- package/.next/server/app/browser/page.js.nft.json +1 -0
- package/.next/server/app/browser/page_client-reference-manifest.js +3 -0
- package/.next/server/app/browser-tasks/[id]/page/next-font-manifest.json +4 -2
- package/.next/server/app/browser-tasks/[id]/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/browser-tasks/[id]/page.js.nft.json +1 -1
- package/.next/server/app/browser-tasks/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/browser-tasks/page/next-font-manifest.json +4 -2
- package/.next/server/app/browser-tasks/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/browser-tasks/page.js.nft.json +1 -1
- package/.next/server/app/browser-tasks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/browser-tasks.html +1 -1
- package/.next/server/app/browser-tasks.rsc +18 -17
- package/.next/server/app/browser-tasks.segments/_full.segment.rsc +18 -17
- package/.next/server/app/browser-tasks.segments/_head.segment.rsc +4 -4
- package/.next/server/app/browser-tasks.segments/_index.segment.rsc +10 -10
- package/.next/server/app/browser-tasks.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/browser-tasks.segments/browser-tasks/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/browser-tasks.segments/browser-tasks.segment.rsc +3 -3
- package/.next/server/app/browser.html +1 -0
- package/.next/server/app/browser.meta +15 -0
- package/.next/server/app/browser.rsc +27 -0
- package/.next/server/app/browser.segments/_full.segment.rsc +27 -0
- package/.next/server/app/browser.segments/_head.segment.rsc +6 -0
- package/.next/server/app/browser.segments/_index.segment.rsc +11 -0
- package/.next/server/app/browser.segments/_tree.segment.rsc +3 -0
- package/.next/server/app/browser.segments/browser/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/browser.segments/browser.segment.rsc +5 -0
- package/.next/server/app/chat/page/next-font-manifest.json +4 -2
- package/.next/server/app/chat/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/chat/page.js.nft.json +1 -1
- package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/chat.html +1 -1
- package/.next/server/app/chat.rsc +18 -17
- package/.next/server/app/chat.segments/_full.segment.rsc +18 -17
- package/.next/server/app/chat.segments/_head.segment.rsc +4 -4
- package/.next/server/app/chat.segments/_index.segment.rsc +10 -10
- package/.next/server/app/chat.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/chat.segments/chat.segment.rsc +3 -3
- package/.next/server/app/connections/calendar/page/next-font-manifest.json +4 -2
- package/.next/server/app/connections/calendar/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/connections/calendar/page.js.nft.json +1 -1
- package/.next/server/app/connections/calendar/page_client-reference-manifest.js +1 -1
- package/.next/server/app/connections/calendar.html +1 -1
- package/.next/server/app/connections/calendar.rsc +19 -18
- package/.next/server/app/connections/calendar.segments/_full.segment.rsc +19 -18
- package/.next/server/app/connections/calendar.segments/_head.segment.rsc +4 -4
- package/.next/server/app/connections/calendar.segments/_index.segment.rsc +10 -10
- package/.next/server/app/connections/calendar.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/connections/calendar.segments/connections/calendar/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/connections/calendar.segments/connections/calendar.segment.rsc +3 -3
- package/.next/server/app/connections/calendar.segments/connections.segment.rsc +4 -4
- package/.next/server/app/connections/journal/page/next-font-manifest.json +4 -2
- package/.next/server/app/connections/journal/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/connections/journal/page.js.nft.json +1 -1
- package/.next/server/app/connections/journal/page_client-reference-manifest.js +1 -1
- package/.next/server/app/connections/journal.html +1 -1
- package/.next/server/app/connections/journal.rsc +18 -17
- package/.next/server/app/connections/journal.segments/_full.segment.rsc +18 -17
- package/.next/server/app/connections/journal.segments/_head.segment.rsc +4 -4
- package/.next/server/app/connections/journal.segments/_index.segment.rsc +10 -10
- package/.next/server/app/connections/journal.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/connections/journal.segments/connections/journal/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/connections/journal.segments/connections/journal.segment.rsc +3 -3
- package/.next/server/app/connections/journal.segments/connections.segment.rsc +4 -4
- package/.next/server/app/connections/mail/page/next-font-manifest.json +4 -2
- package/.next/server/app/connections/mail/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/connections/mail/page.js.nft.json +1 -1
- package/.next/server/app/connections/mail/page_client-reference-manifest.js +1 -1
- package/.next/server/app/connections/mail.html +1 -1
- package/.next/server/app/connections/mail.rsc +19 -18
- package/.next/server/app/connections/mail.segments/_full.segment.rsc +19 -18
- package/.next/server/app/connections/mail.segments/_head.segment.rsc +4 -4
- package/.next/server/app/connections/mail.segments/_index.segment.rsc +10 -10
- package/.next/server/app/connections/mail.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/connections/mail.segments/connections/mail/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/connections/mail.segments/connections/mail.segment.rsc +3 -3
- package/.next/server/app/connections/mail.segments/connections.segment.rsc +4 -4
- package/.next/server/app/connections/mcp/page/next-font-manifest.json +4 -2
- package/.next/server/app/connections/mcp/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/connections/mcp/page.js.nft.json +1 -1
- package/.next/server/app/connections/mcp/page_client-reference-manifest.js +1 -1
- package/.next/server/app/connections/mcp.html +1 -1
- package/.next/server/app/connections/mcp.rsc +19 -18
- package/.next/server/app/connections/mcp.segments/_full.segment.rsc +19 -18
- package/.next/server/app/connections/mcp.segments/_head.segment.rsc +4 -4
- package/.next/server/app/connections/mcp.segments/_index.segment.rsc +10 -10
- package/.next/server/app/connections/mcp.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/connections/mcp.segments/connections/mcp/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/connections/mcp.segments/connections/mcp.segment.rsc +3 -3
- package/.next/server/app/connections/mcp.segments/connections.segment.rsc +4 -4
- package/.next/server/app/connections/messaging/page/next-font-manifest.json +4 -2
- package/.next/server/app/connections/messaging/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/connections/messaging/page.js.nft.json +1 -1
- package/.next/server/app/connections/messaging/page_client-reference-manifest.js +1 -1
- package/.next/server/app/connections/messaging.html +1 -1
- package/.next/server/app/connections/messaging.rsc +19 -18
- package/.next/server/app/connections/messaging.segments/_full.segment.rsc +19 -18
- package/.next/server/app/connections/messaging.segments/_head.segment.rsc +4 -4
- package/.next/server/app/connections/messaging.segments/_index.segment.rsc +10 -10
- package/.next/server/app/connections/messaging.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/connections/messaging.segments/connections/messaging/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/connections/messaging.segments/connections/messaging.segment.rsc +3 -3
- package/.next/server/app/connections/messaging.segments/connections.segment.rsc +4 -4
- package/.next/server/app/connections/notes/page/app-paths-manifest.json +3 -0
- package/.next/server/app/connections/notes/page/next-font-manifest.json +8 -0
- package/.next/server/app/{settings/backends → connections/notes}/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/connections/{knowledge → notes}/page.js +6 -6
- package/.next/server/app/{settings/schedule → connections/notes}/page.js.nft.json +1 -1
- package/.next/server/app/connections/notes/page_client-reference-manifest.js +3 -0
- package/.next/server/app/connections/notes.html +1 -0
- package/.next/server/app/connections/{knowledge.meta → notes.meta} +3 -3
- package/.next/server/app/connections/notes.rsc +28 -0
- package/.next/server/app/connections/notes.segments/_full.segment.rsc +28 -0
- package/.next/server/app/connections/notes.segments/_head.segment.rsc +6 -0
- package/.next/server/app/connections/notes.segments/_index.segment.rsc +11 -0
- package/.next/server/app/connections/notes.segments/_tree.segment.rsc +3 -0
- package/.next/server/app/connections/notes.segments/connections/notes/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/connections/notes.segments/connections/notes.segment.rsc +5 -0
- package/.next/server/app/connections/notes.segments/connections.segment.rsc +5 -0
- package/.next/server/app/connections/page/next-font-manifest.json +4 -2
- package/.next/server/app/connections/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/connections/page.js.nft.json +1 -1
- package/.next/server/app/connections/page_client-reference-manifest.js +1 -1
- package/.next/server/app/connections/repositories/page/next-font-manifest.json +4 -2
- package/.next/server/app/connections/repositories/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/connections/repositories/page.js.nft.json +1 -1
- package/.next/server/app/connections/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/connections/repositories.html +1 -1
- package/.next/server/app/connections/repositories.rsc +23 -21
- package/.next/server/app/connections/repositories.segments/_full.segment.rsc +23 -21
- package/.next/server/app/connections/repositories.segments/_head.segment.rsc +4 -4
- package/.next/server/app/connections/repositories.segments/_index.segment.rsc +10 -10
- package/.next/server/app/connections/repositories.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/connections/repositories.segments/connections/repositories/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/connections/repositories.segments/connections/repositories.segment.rsc +3 -3
- package/.next/server/app/connections/repositories.segments/connections.segment.rsc +4 -4
- package/.next/server/app/connections/routines/page/next-font-manifest.json +4 -2
- package/.next/server/app/connections/routines/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/connections/routines/page.js.nft.json +1 -1
- package/.next/server/app/connections/routines/page_client-reference-manifest.js +1 -1
- package/.next/server/app/connections/routines.html +1 -1
- package/.next/server/app/connections/routines.rsc +18 -17
- package/.next/server/app/connections/routines.segments/_full.segment.rsc +18 -17
- package/.next/server/app/connections/routines.segments/_head.segment.rsc +4 -4
- package/.next/server/app/connections/routines.segments/_index.segment.rsc +10 -10
- package/.next/server/app/connections/routines.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/connections/routines.segments/connections/routines/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/connections/routines.segments/connections/routines.segment.rsc +3 -3
- package/.next/server/app/connections/routines.segments/connections.segment.rsc +4 -4
- package/.next/server/app/connections.html +1 -1
- package/.next/server/app/connections.rsc +17 -16
- package/.next/server/app/connections.segments/_full.segment.rsc +17 -16
- package/.next/server/app/connections.segments/_head.segment.rsc +4 -4
- package/.next/server/app/connections.segments/_index.segment.rsc +10 -10
- package/.next/server/app/connections.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/connections.segments/connections/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/connections.segments/connections.segment.rsc +4 -4
- package/.next/server/app/conversations/[id]/page/next-font-manifest.json +4 -2
- package/.next/server/app/conversations/[id]/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/conversations/[id]/page.js.nft.json +1 -1
- package/.next/server/app/conversations/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/conversations/page/next-font-manifest.json +4 -2
- package/.next/server/app/conversations/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/conversations/page.js.nft.json +1 -1
- package/.next/server/app/conversations/page_client-reference-manifest.js +1 -1
- package/.next/server/app/conversations.html +1 -1
- package/.next/server/app/conversations.rsc +16 -15
- package/.next/server/app/conversations.segments/_full.segment.rsc +16 -15
- package/.next/server/app/conversations.segments/_head.segment.rsc +4 -4
- package/.next/server/app/conversations.segments/_index.segment.rsc +10 -10
- package/.next/server/app/conversations.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/conversations.segments/conversations/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/conversations.segments/conversations.segment.rsc +3 -3
- package/.next/server/app/docs/[[...slug]]/page/next-font-manifest.json +4 -2
- package/.next/server/app/docs/[[...slug]]/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/docs/[[...slug]]/page.js.nft.json +1 -1
- package/.next/server/app/docs/[[...slug]]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/finance/page/next-font-manifest.json +4 -2
- package/.next/server/app/finance/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/finance/page.js.nft.json +1 -1
- package/.next/server/app/finance/page_client-reference-manifest.js +1 -1
- package/.next/server/app/finance.html +1 -1
- package/.next/server/app/finance.rsc +18 -17
- package/.next/server/app/finance.segments/_full.segment.rsc +18 -17
- package/.next/server/app/finance.segments/_head.segment.rsc +4 -4
- package/.next/server/app/finance.segments/_index.segment.rsc +10 -10
- package/.next/server/app/finance.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/finance.segments/finance/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/finance.segments/finance.segment.rsc +3 -3
- package/.next/server/app/git/page/next-font-manifest.json +4 -2
- package/.next/server/app/git/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/git/page.js.nft.json +1 -1
- package/.next/server/app/git/page_client-reference-manifest.js +1 -1
- package/.next/server/app/git.html +1 -1
- package/.next/server/app/git.rsc +18 -17
- package/.next/server/app/git.segments/_full.segment.rsc +18 -17
- package/.next/server/app/git.segments/_head.segment.rsc +4 -4
- package/.next/server/app/git.segments/_index.segment.rsc +10 -10
- package/.next/server/app/git.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/git.segments/git/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/git.segments/git.segment.rsc +3 -3
- package/.next/server/app/health/page/next-font-manifest.json +4 -2
- package/.next/server/app/health/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/health/page.js.nft.json +1 -1
- package/.next/server/app/health/page_client-reference-manifest.js +1 -1
- package/.next/server/app/health.html +1 -1
- package/.next/server/app/health.rsc +18 -17
- package/.next/server/app/health.segments/_full.segment.rsc +18 -17
- package/.next/server/app/health.segments/_head.segment.rsc +4 -4
- package/.next/server/app/health.segments/_index.segment.rsc +10 -10
- package/.next/server/app/health.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/health.segments/health/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/health.segments/health.segment.rsc +3 -3
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +18 -17
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/index.segments/_full.segment.rsc +18 -17
- package/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/server/app/index.segments/_index.segment.rsc +10 -10
- package/.next/server/app/index.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/knowledge/page/next-font-manifest.json +4 -2
- package/.next/server/app/knowledge/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/knowledge/page.js.nft.json +1 -1
- package/.next/server/app/knowledge/page_client-reference-manifest.js +1 -1
- package/.next/server/app/knowledge.html +1 -1
- package/.next/server/app/knowledge.rsc +19 -18
- package/.next/server/app/knowledge.segments/_full.segment.rsc +19 -18
- package/.next/server/app/knowledge.segments/_head.segment.rsc +4 -4
- package/.next/server/app/knowledge.segments/_index.segment.rsc +10 -10
- package/.next/server/app/knowledge.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/knowledge.segments/knowledge/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/knowledge.segments/knowledge.segment.rsc +4 -4
- package/.next/server/app/page/next-font-manifest.json +4 -2
- package/.next/server/app/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/reading/page/next-font-manifest.json +4 -2
- package/.next/server/app/reading/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/reading/page.js.nft.json +1 -1
- package/.next/server/app/reading/page_client-reference-manifest.js +1 -1
- package/.next/server/app/reading.html +1 -1
- package/.next/server/app/reading.rsc +18 -17
- package/.next/server/app/reading.segments/_full.segment.rsc +18 -17
- package/.next/server/app/reading.segments/_head.segment.rsc +4 -4
- package/.next/server/app/reading.segments/_index.segment.rsc +10 -10
- package/.next/server/app/reading.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/reading.segments/reading/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/reading.segments/reading.segment.rsc +3 -3
- package/.next/server/app/schedule/page/next-font-manifest.json +4 -2
- package/.next/server/app/schedule/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/schedule/page.js.nft.json +1 -1
- package/.next/server/app/schedule/page_client-reference-manifest.js +1 -1
- package/.next/server/app/schedule.html +1 -1
- package/.next/server/app/schedule.rsc +18 -17
- package/.next/server/app/schedule.segments/_full.segment.rsc +18 -17
- package/.next/server/app/schedule.segments/_head.segment.rsc +4 -4
- package/.next/server/app/schedule.segments/_index.segment.rsc +10 -10
- package/.next/server/app/schedule.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/schedule.segments/schedule/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/schedule.segments/schedule.segment.rsc +3 -3
- package/.next/server/app/settings/commands/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/commands/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/commands/page.js.nft.json +1 -1
- package/.next/server/app/settings/commands/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/commands.html +1 -1
- package/.next/server/app/settings/commands.rsc +19 -18
- package/.next/server/app/settings/commands.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings/commands.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/commands.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/commands.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/commands.segments/settings/commands/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/commands.segments/settings/commands.segment.rsc +3 -3
- package/.next/server/app/settings/commands.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/danger-zone/page/app-paths-manifest.json +3 -0
- package/.next/server/app/settings/danger-zone/page/next-font-manifest.json +8 -0
- package/.next/server/app/{connections/knowledge → settings/danger-zone}/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/{advanced → danger-zone}/page.js +6 -6
- package/.next/server/app/settings/{connections → danger-zone}/page.js.nft.json +1 -1
- package/.next/server/app/settings/danger-zone/page_client-reference-manifest.js +3 -0
- package/.next/server/app/settings/danger-zone.html +1 -0
- package/.next/server/app/settings/{advanced.meta → danger-zone.meta} +3 -3
- package/.next/server/app/settings/danger-zone.rsc +28 -0
- package/.next/server/app/settings/danger-zone.segments/_full.segment.rsc +28 -0
- package/.next/server/app/settings/danger-zone.segments/_head.segment.rsc +6 -0
- package/.next/server/app/settings/danger-zone.segments/_index.segment.rsc +11 -0
- package/.next/server/app/settings/danger-zone.segments/_tree.segment.rsc +3 -0
- package/.next/server/app/settings/danger-zone.segments/settings/danger-zone/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/settings/danger-zone.segments/settings/danger-zone.segment.rsc +5 -0
- package/.next/server/app/settings/danger-zone.segments/settings.segment.rsc +5 -0
- package/.next/server/app/settings/hours/page/app-paths-manifest.json +3 -0
- package/.next/server/app/settings/hours/page/next-font-manifest.json +8 -0
- package/.next/server/app/settings/{connections → hours}/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/{routines → hours}/page.js +6 -6
- package/.next/server/app/settings/{journal → hours}/page.js.nft.json +1 -1
- package/.next/server/app/settings/hours/page_client-reference-manifest.js +3 -0
- package/.next/server/app/settings/hours.html +1 -0
- package/.next/server/app/settings/{journal.meta → hours.meta} +3 -3
- package/.next/server/app/settings/hours.rsc +28 -0
- package/.next/server/app/settings/hours.segments/_full.segment.rsc +28 -0
- package/.next/server/app/settings/hours.segments/_head.segment.rsc +6 -0
- package/.next/server/app/settings/hours.segments/_index.segment.rsc +11 -0
- package/.next/server/app/settings/hours.segments/_tree.segment.rsc +3 -0
- package/.next/server/app/settings/hours.segments/settings/hours/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/settings/hours.segments/settings/hours.segment.rsc +5 -0
- package/.next/server/app/settings/hours.segments/settings.segment.rsc +5 -0
- package/.next/server/app/settings/infrastructure/page/app-paths-manifest.json +3 -0
- package/.next/server/app/settings/infrastructure/page/next-font-manifest.json +8 -0
- package/.next/server/app/settings/infrastructure/page/react-loadable-manifest.json +8 -0
- package/.next/server/app/settings/{schedule → infrastructure}/page.js +6 -6
- package/.next/server/app/settings/{backends → infrastructure}/page.js.nft.json +1 -1
- package/.next/server/app/settings/infrastructure/page_client-reference-manifest.js +3 -0
- package/.next/server/app/settings/infrastructure.html +1 -0
- package/.next/server/app/settings/{connections.meta → infrastructure.meta} +3 -3
- package/.next/server/app/settings/infrastructure.rsc +28 -0
- package/.next/server/app/settings/infrastructure.segments/_full.segment.rsc +28 -0
- package/.next/server/app/settings/infrastructure.segments/_head.segment.rsc +6 -0
- package/.next/server/app/settings/infrastructure.segments/_index.segment.rsc +11 -0
- package/.next/server/app/settings/infrastructure.segments/_tree.segment.rsc +3 -0
- package/.next/server/app/settings/infrastructure.segments/settings/infrastructure/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/settings/infrastructure.segments/settings/infrastructure.segment.rsc +5 -0
- package/.next/server/app/settings/infrastructure.segments/settings.segment.rsc +5 -0
- package/.next/server/app/settings/integrations/browser-history/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/integrations/browser-history/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/integrations/browser-history/page.js.nft.json +1 -1
- package/.next/server/app/settings/integrations/browser-history/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/integrations/browser-history-managed/b4/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/integrations/browser-history-managed/b4/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/integrations/browser-history-managed/b4/page.js.nft.json +1 -1
- package/.next/server/app/settings/integrations/browser-history-managed/b4/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/integrations/browser-history-managed/b4.html +1 -1
- package/.next/server/app/settings/integrations/browser-history-managed/b4.rsc +19 -18
- package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/settings/integrations/browser-history-managed/b4/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/settings/integrations/browser-history-managed/b4.segment.rsc +3 -3
- package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/settings/integrations/browser-history-managed.segment.rsc +3 -3
- package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/settings/integrations.segment.rsc +3 -3
- package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/integrations/browser-history-managed/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/integrations/browser-history-managed/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/integrations/browser-history-managed/page.js.nft.json +1 -1
- package/.next/server/app/settings/integrations/browser-history-managed/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/integrations/browser-history-managed.html +1 -1
- package/.next/server/app/settings/integrations/browser-history-managed.rsc +19 -18
- package/.next/server/app/settings/integrations/browser-history-managed.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings/integrations/browser-history-managed.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/integrations/browser-history-managed.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/integrations/browser-history-managed.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/integrations/browser-history-managed.segments/settings/integrations/browser-history-managed/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/integrations/browser-history-managed.segments/settings/integrations/browser-history-managed.segment.rsc +3 -3
- package/.next/server/app/settings/integrations/browser-history-managed.segments/settings/integrations.segment.rsc +3 -3
- package/.next/server/app/settings/integrations/browser-history-managed.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/integrations/browser-history.html +1 -1
- package/.next/server/app/settings/integrations/browser-history.rsc +19 -18
- package/.next/server/app/settings/integrations/browser-history.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings/integrations/browser-history.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/integrations/browser-history.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/integrations/browser-history.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/integrations/browser-history.segments/settings/integrations/browser-history/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/integrations/browser-history.segments/settings/integrations/browser-history.segment.rsc +3 -3
- package/.next/server/app/settings/integrations/browser-history.segments/settings/integrations.segment.rsc +3 -3
- package/.next/server/app/settings/integrations/browser-history.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/lessons/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/lessons/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/lessons/page.js.nft.json +1 -1
- package/.next/server/app/settings/lessons/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/lessons.html +1 -1
- package/.next/server/app/settings/lessons.rsc +19 -18
- package/.next/server/app/settings/lessons.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings/lessons.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/lessons.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/lessons.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/lessons.segments/settings/lessons/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/lessons.segments/settings/lessons.segment.rsc +3 -3
- package/.next/server/app/settings/lessons.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/management/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/management/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/management/page.js.nft.json +1 -1
- package/.next/server/app/settings/management/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/management.html +1 -1
- package/.next/server/app/settings/management.rsc +19 -18
- package/.next/server/app/settings/management.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings/management.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/management.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/management.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/management.segments/settings/management/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/management.segments/settings/management.segment.rsc +3 -3
- package/.next/server/app/settings/management.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/models/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/models/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/models/page.js.nft.json +1 -1
- package/.next/server/app/settings/models/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/models.html +1 -1
- package/.next/server/app/settings/models.rsc +19 -18
- package/.next/server/app/settings/models.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings/models.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/models.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/models.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/models.segments/settings/models/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/models.segments/settings/models.segment.rsc +3 -3
- package/.next/server/app/settings/models.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/safety/page/app-paths-manifest.json +3 -0
- package/.next/server/app/settings/safety/page/next-font-manifest.json +8 -0
- package/.next/server/app/settings/safety/page/react-loadable-manifest.json +8 -0
- package/.next/server/app/settings/{journal → safety}/page.js +6 -6
- package/.next/server/app/settings/{processes → safety}/page.js.nft.json +1 -1
- package/.next/server/app/settings/safety/page_client-reference-manifest.js +3 -0
- package/.next/server/app/settings/safety.html +1 -0
- package/.next/server/app/settings/{backends.meta → safety.meta} +3 -3
- package/.next/server/app/settings/safety.rsc +28 -0
- package/.next/server/app/settings/safety.segments/_full.segment.rsc +28 -0
- package/.next/server/app/settings/safety.segments/_head.segment.rsc +6 -0
- package/.next/server/app/settings/safety.segments/_index.segment.rsc +11 -0
- package/.next/server/app/settings/safety.segments/_tree.segment.rsc +3 -0
- package/.next/server/app/settings/safety.segments/settings/safety/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/settings/safety.segments/settings/safety.segment.rsc +5 -0
- package/.next/server/app/settings/safety.segments/settings.segment.rsc +5 -0
- package/.next/server/app/settings/self-learning/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/self-learning/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/self-learning/page.js.nft.json +1 -1
- package/.next/server/app/settings/self-learning/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/self-learning.html +1 -1
- package/.next/server/app/settings/self-learning.rsc +19 -18
- package/.next/server/app/settings/self-learning.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings/self-learning.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/self-learning.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/self-learning.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/self-learning.segments/settings/self-learning/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/self-learning.segments/settings/self-learning.segment.rsc +3 -3
- package/.next/server/app/settings/self-learning.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/wiki/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/wiki/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/wiki/page.js.nft.json +1 -1
- package/.next/server/app/settings/wiki/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/wiki/timeline/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/wiki/timeline/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/wiki/timeline/page.js.nft.json +1 -1
- package/.next/server/app/settings/wiki/timeline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/wiki/timeline.html +1 -1
- package/.next/server/app/settings/wiki/timeline.rsc +17 -16
- package/.next/server/app/settings/wiki/timeline.segments/_full.segment.rsc +17 -16
- package/.next/server/app/settings/wiki/timeline.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/wiki/timeline.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/wiki/timeline.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/wiki/timeline.segments/settings/wiki/timeline/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings/wiki/timeline.segments/settings/wiki/timeline.segment.rsc +3 -3
- package/.next/server/app/settings/wiki/timeline.segments/settings/wiki.segment.rsc +3 -3
- package/.next/server/app/settings/wiki/timeline.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/wiki.html +1 -1
- package/.next/server/app/settings/wiki.rsc +19 -18
- package/.next/server/app/settings/wiki.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings/wiki.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/wiki.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/wiki.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/wiki.segments/settings/wiki/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/wiki.segments/settings/wiki.segment.rsc +3 -3
- package/.next/server/app/settings/wiki.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +19 -18
- package/.next/server/app/settings.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings.segments/settings.segment.rsc +4 -4
- package/.next/server/app/setup/page/next-font-manifest.json +4 -2
- package/.next/server/app/setup/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/setup/page.js.nft.json +1 -1
- package/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/.next/server/app/setup.html +1 -1
- package/.next/server/app/setup.rsc +18 -17
- package/.next/server/app/setup.segments/_full.segment.rsc +18 -17
- package/.next/server/app/setup.segments/_head.segment.rsc +4 -4
- package/.next/server/app/setup.segments/_index.segment.rsc +10 -10
- package/.next/server/app/setup.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/setup.segments/setup.segment.rsc +3 -3
- package/.next/server/app/trip/page/next-font-manifest.json +4 -2
- package/.next/server/app/trip/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/trip/page.js.nft.json +1 -1
- package/.next/server/app/trip/page_client-reference-manifest.js +1 -1
- package/.next/server/app/trip.html +1 -1
- package/.next/server/app/trip.rsc +18 -17
- package/.next/server/app/trip.segments/_full.segment.rsc +18 -17
- package/.next/server/app/trip.segments/_head.segment.rsc +4 -4
- package/.next/server/app/trip.segments/_index.segment.rsc +10 -10
- package/.next/server/app/trip.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/trip.segments/trip/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/trip.segments/trip.segment.rsc +3 -3
- package/.next/server/app/wiki/page/next-font-manifest.json +4 -2
- package/.next/server/app/wiki/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/wiki/page.js.nft.json +1 -1
- package/.next/server/app/wiki/page_client-reference-manifest.js +1 -1
- package/.next/server/app/wiki/timeline/page/next-font-manifest.json +4 -2
- package/.next/server/app/wiki/timeline/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/wiki/timeline/page.js.nft.json +1 -1
- package/.next/server/app/wiki/timeline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/wiki/timeline.html +1 -1
- package/.next/server/app/wiki/timeline.rsc +18 -17
- package/.next/server/app/wiki/timeline.segments/_full.segment.rsc +18 -17
- package/.next/server/app/wiki/timeline.segments/_head.segment.rsc +4 -4
- package/.next/server/app/wiki/timeline.segments/_index.segment.rsc +10 -10
- package/.next/server/app/wiki/timeline.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/wiki/timeline.segments/wiki/timeline/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/wiki/timeline.segments/wiki/timeline.segment.rsc +3 -3
- package/.next/server/app/wiki/timeline.segments/wiki.segment.rsc +3 -3
- package/.next/server/app/wiki.html +1 -1
- package/.next/server/app/wiki.rsc +18 -17
- package/.next/server/app/wiki.segments/_full.segment.rsc +18 -17
- package/.next/server/app/wiki.segments/_head.segment.rsc +4 -4
- package/.next/server/app/wiki.segments/_index.segment.rsc +10 -10
- package/.next/server/app/wiki.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/wiki.segments/wiki/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/wiki.segments/wiki.segment.rsc +3 -3
- package/.next/server/app-paths-manifest.json +6 -9
- package/.next/server/chunks/0z~i_next_dist_esm_build_templates_app-route_0o_o_hp.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__02gp4s0._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0gckkni._.js +1 -1
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_connections_notes_page_actions_04zn1-i.js +3 -0
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_danger-zone_page_actions_0mp3gc-.js +3 -0
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_safety_page_actions_05rsfax.js +3 -0
- package/.next/server/chunks/ssr/0juq_dashboard_src_app_settings_integrations_browser-history_page_tsx_0.30t~j._.js +1 -1
- package/.next/server/chunks/ssr/0x9-__next-internal_server_app_settings_infrastructure_page_actions_0u8fwic.js +3 -0
- package/.next/server/chunks/ssr/0x9-_src_app_settings_integrations_browser-history-managed_b4_page_tsx_03zkdyv._.js +1 -1
- package/.next/server/chunks/ssr/0x9-_src_app_settings_integrations_browser-history-managed_page_tsx_0q.v5ph._.js +1 -1
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0-xf3nq.js +1 -1
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_05t.o5v.js +4 -0
- package/.next/server/chunks/ssr/{0z~i_next_dist_esm_build_templates_app-page_0rzk_wb.js → 0z~i_next_dist_esm_build_templates_app-page_07tjgqy.js} +3 -3
- package/.next/server/chunks/ssr/{0z~i_next_dist_esm_build_templates_app-page_0dgjd77.js → 0z~i_next_dist_esm_build_templates_app-page_08-8pml.js} +3 -3
- package/.next/server/chunks/ssr/{0z~i_next_dist_esm_build_templates_app-page_0~l1-oo.js → 0z~i_next_dist_esm_build_templates_app-page_0_hw.~x.js} +3 -3
- package/.next/server/chunks/ssr/{0z~i_next_dist_esm_build_templates_app-page_0i5nfg6.js → 0z~i_next_dist_esm_build_templates_app-page_0gja0sp.js} +3 -3
- package/.next/server/chunks/ssr/{0z~i_next_dist_esm_build_templates_app-page_0i3pbzc.js → 0z~i_next_dist_esm_build_templates_app-page_0xk7dvj.js} +3 -3
- package/.next/server/chunks/ssr/{[root-of-the-server]__0.oq_nd._.js → [root-of-the-server]__064iw-m._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0bcu47h._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0hxae6t._.js → [root-of-the-server]__0dz8grn._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0e3togs._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0own5qk._.js +7 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0k4~6v4._.js → [root-of-the-server]__0p.rqkz._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0twuzim._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0v.2-w_._.js +9 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0ku1mlh._.js → [root-of-the-server]__0x90fri._.js} +2 -2
- package/.next/server/chunks/ssr/{[root-of-the-server]__138v34b._.js → [root-of-the-server]__12ocbb6._.js} +2 -2
- package/.next/server/chunks/ssr/_0-fa0e6._.js +3 -0
- package/.next/server/chunks/ssr/_0-fv_sr._.js +1 -1
- package/.next/server/chunks/ssr/_0.83~vc._.js +3 -0
- package/.next/server/chunks/ssr/_0.buz~z._.js +3 -0
- package/.next/server/chunks/ssr/_00m~lu3._.js +3 -0
- package/.next/server/chunks/ssr/_00yd82b._.js +3 -0
- package/.next/server/chunks/ssr/_01u8_20._.js +1 -1
- package/.next/server/chunks/ssr/_02-~4_x._.js +3 -0
- package/.next/server/chunks/ssr/_03ylkmo._.js +1 -1
- package/.next/server/chunks/ssr/_042qll3._.js +3 -0
- package/.next/server/chunks/ssr/_05-nasq._.js +3 -0
- package/.next/server/chunks/ssr/_052c-d8._.js +1 -1
- package/.next/server/chunks/ssr/_05etcnw._.js +3 -0
- package/.next/server/chunks/ssr/_06pfh8i._.js +3 -0
- package/.next/server/chunks/ssr/_07y8~wo._.js +3 -0
- package/.next/server/chunks/ssr/_0837jo1._.js +1 -1
- package/.next/server/chunks/ssr/_095g5nv._.js +3 -0
- package/.next/server/chunks/ssr/_0_59iz5._.js +3 -0
- package/.next/server/chunks/ssr/_0_mohhy._.js +3 -0
- package/.next/server/chunks/ssr/_0_qa7ix._.js +3 -0
- package/.next/server/chunks/ssr/_0a0gitj._.js +3 -0
- package/.next/server/chunks/ssr/_0bbgll1._.js +3 -0
- package/.next/server/chunks/ssr/_0bsns8f._.js +3 -0
- package/.next/server/chunks/ssr/_0cus~q3._.js +3 -0
- package/.next/server/chunks/ssr/_0cwcz17._.js +1 -1
- package/.next/server/chunks/ssr/_0do3r93._.js +3 -0
- package/.next/server/chunks/ssr/_0eoqkp.._.js +3 -0
- package/.next/server/chunks/ssr/_0fse1qi._.js +3 -0
- package/.next/server/chunks/ssr/_0g7_r5i._.js +1 -1
- package/.next/server/chunks/ssr/_0h-mq6i._.js +3 -0
- package/.next/server/chunks/ssr/_0h7l~qt._.js +3 -0
- package/.next/server/chunks/ssr/_0hojxqy._.js +1 -1
- package/.next/server/chunks/ssr/_0jlpcde._.js +3 -0
- package/.next/server/chunks/ssr/_0kn1u4v._.js +3 -0
- package/.next/server/chunks/ssr/_0l7uzol._.js +3 -0
- package/.next/server/chunks/ssr/_0m~vcd.._.js +3 -0
- package/.next/server/chunks/ssr/_0n2_n8d._.js +3 -0
- package/.next/server/chunks/ssr/_0p4ugyq._.js +3 -0
- package/.next/server/chunks/ssr/_0pbcc~c._.js +3 -0
- package/.next/server/chunks/ssr/_0q6ga5s._.js +3 -0
- package/.next/server/chunks/ssr/_0rcvmzk._.js +3 -0
- package/.next/server/chunks/ssr/_0tl98en._.js +1 -1
- package/.next/server/chunks/ssr/_0vtof91._.js +3 -0
- package/.next/server/chunks/ssr/_0wj-xi-._.js +1 -1
- package/.next/server/chunks/ssr/_0y-w3is._.js +1 -1
- package/.next/server/chunks/ssr/_0ys19k1._.js +3 -0
- package/.next/server/chunks/ssr/_0zegd8c._.js +3 -0
- package/.next/server/chunks/ssr/_0zskdhg._.js +3 -0
- package/.next/server/chunks/ssr/_0~5jogr._.js +3 -0
- package/.next/server/chunks/ssr/_10t~mm1._.js +5 -0
- package/.next/server/chunks/ssr/_12yrbbd._.js +3 -0
- package/.next/server/chunks/ssr/_12~voz0._.js +3 -0
- package/.next/server/chunks/ssr/_13x8vt3._.js +3 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_0hiwu9~._.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_browser_page_actions_09ozuw5.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_settings_hours_page_actions_090o.uf.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_08ni3k2._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_0dzu4m3._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_0l-df62._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_0somi_b._.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_0uxs9-.._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_0wg3sud._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_0yi7124._.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_0zhdaa4._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_13g~g03._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_activity_loading_tsx_0rzsqef._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_activity_page_tsx_08yep46._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_agents_[slug]_page_tsx_038yph.._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_agents_page_tsx_0simg3k._.js +2 -2
- package/.next/server/chunks/ssr/packages_dashboard_src_app_analytics_page_tsx_0tb_amd._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_browser-tasks_[id]_page_tsx_0.80q8e._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_chat_page_tsx_0i0_8pw._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_connections_mcp_page_tsx_0lc.low._.js +2 -2
- package/.next/server/chunks/ssr/packages_dashboard_src_app_connections_repositories_page_tsx_08y6paq._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_git_page_tsx_0ah19-6._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_knowledge_page_tsx_0uf4..4._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_page_tsx_0.p6n1a._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_schedule_page_tsx_0znc404._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_commands_page_tsx_0nacqrh._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_hours_page_tsx_0shgzxo._.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_infrastructure_page_tsx_0c9oi1c._.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_management_page_tsx_09mnin5._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_models_page_tsx_0djsx88._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_page_tsx_13_rdav._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_self-learning_page_tsx_0noj6fo._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_wiki_page_tsx_0..1tkb._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_setup_page_tsx_06k3via._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_components_0c08h~y._.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_components_agents_AgentEditor_tsx_1379k-6._.js +2 -2
- package/.next/server/chunks/ssr/packages_dashboard_src_components_connections_integration-card_tsx_0yh1a-~._.js +2 -2
- package/.next/server/chunks/ssr/packages_dashboard_src_components_connections_slack-card_tsx_0mahejj._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_components_logs_event-row_tsx_0gwfgqo._.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_components_mail_gmail-card_tsx_0kpway8._.js +1 -1
- package/.next/server/chunks/ssr/packages_shared_dist_index_0kuvow-.js +1 -1
- package/.next/server/edge/chunks/[root-of-the-server]__0iap10r._.js +1 -1
- package/.next/server/middleware/middleware-manifest.json +29 -5
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/middleware-manifest.json +29 -5
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +51 -2
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/{i_QR0WWkZFeICcOMbfuUs → 4Wu33OvzutxPxXUu1PWPC}/_clientMiddlewareManifest.js +24 -0
- package/.next/static/chunks/0-sq9td.e1huw.js +1 -0
- package/.next/static/chunks/0-~s5n1hsw0xz.css +1 -0
- package/.next/static/chunks/0.1mo3ft90qg_.js +1 -0
- package/.next/static/chunks/0.eu.rxoo07x6.js +1 -0
- package/.next/static/chunks/0147tjztlthxv.js +1 -0
- package/.next/static/chunks/01~5c-.ttg~hv.js +1 -0
- package/.next/static/chunks/02jrxwgg0c4jp.js +1 -0
- package/.next/static/chunks/02tb-nh0a2y6t.js +1 -0
- package/.next/static/chunks/03ndokpk6o0.5.js +1 -0
- package/.next/static/chunks/03qz~hx5zgr~d.js +1 -0
- package/.next/static/chunks/042u~0qpgty0o.js +10 -0
- package/.next/static/chunks/050-z9-4lo_4l.js +1 -0
- package/.next/static/chunks/051m0t~qz1jvu.js +1 -0
- package/.next/static/chunks/0755mii5h~0jr.js +1 -0
- package/.next/static/chunks/07_-k85izz7.j.js +1 -0
- package/.next/static/chunks/07qdiaq4h1bev.js +1 -0
- package/.next/static/chunks/07w_f8nwejvtm.js +1 -0
- package/.next/static/chunks/087m534nojkn2.js +1 -0
- package/.next/static/chunks/08tuvmjn9p090.js +1 -0
- package/.next/static/chunks/09k746-3cizz1.js +19 -0
- package/.next/static/chunks/09sekcnc01we8.js +1 -0
- package/.next/static/chunks/0_-a6t77lnxg4.js +1 -0
- package/.next/static/chunks/0_b4esx30vjxq.js +1 -0
- package/.next/static/chunks/0_r~att41ue.r.js +1 -0
- package/.next/static/chunks/0cj6iorqj7he_.js +1 -0
- package/.next/static/chunks/0c~_onh_gv7zj.js +1 -0
- package/.next/static/chunks/0d13hqow~d37h.js +1 -0
- package/.next/static/chunks/0drk956_8nbwg.js +1 -0
- package/.next/static/chunks/0e-txs97b3.x9.js +1 -0
- package/.next/static/chunks/0ezl44_wv~csn.js +1 -0
- package/.next/static/chunks/0g-eqp3qwkojl.js +1 -0
- package/.next/static/chunks/0h5rf~pu59~hu.js +1 -0
- package/.next/static/chunks/0i8.oj~1w~u~..js +1 -0
- package/.next/static/chunks/0iichp621kqto.js +1 -0
- package/.next/static/chunks/{0afrwc5vvwfx4.js → 0iscxmienbk2m.js} +1 -1
- package/.next/static/chunks/0iv9k-z7~xtww.js +1 -0
- package/.next/static/chunks/0k6jf41ge3u~8.js +1 -0
- package/.next/static/chunks/0k9-e5pear~t4.js +3 -0
- package/.next/static/chunks/0kib-9vm23r0j.js +1 -0
- package/.next/static/chunks/0kj.5xdofdrz7.js +1 -0
- package/.next/static/chunks/0lbnukk03a8nv.js +1 -0
- package/.next/static/chunks/0m8e4hy-r8y-4.js +1 -0
- package/.next/static/chunks/{02k085x_j4_bz.js → 0mkryl3ctt_xh.js} +1 -1
- package/.next/static/chunks/0mxp..4l7j1dn.js +1 -0
- package/.next/static/chunks/0o61x2xdye~o2.js +1 -0
- package/.next/static/chunks/0os-c6-aqwq4d.js +1 -0
- package/.next/static/chunks/0pxjn_pm269cw.js +1 -0
- package/.next/static/chunks/0qyxjj5z_is.d.js +1 -0
- package/.next/static/chunks/0s.cyrhyscm8x.js +1 -0
- package/.next/static/chunks/0wvyy~m_e1q5c.js +3 -0
- package/.next/static/chunks/0x96~upcinv2_.js +1 -0
- package/.next/static/chunks/0zo_ws6shrfnh.js +1 -0
- package/.next/static/chunks/0~kj3qxs7kx58.js +1 -0
- package/.next/static/chunks/10rtk-h9y-705.js +2 -0
- package/.next/static/chunks/115_4xjsk0jzh.js +1 -0
- package/.next/static/chunks/12zmqqk8p-b.~.js +1 -0
- package/.next/static/chunks/135nkfxk7so9p.js +1 -0
- package/.next/static/chunks/153z3m3.a2ubk.js +5 -0
- package/.next/static/chunks/15fpord4hyosp.js +1 -0
- package/.next/static/chunks/15~h2wegwdbf4.js +1 -0
- package/.next/static/chunks/16-i4p1ipmpts.js +1 -0
- package/.next/static/chunks/171j55n_9gyxb.js +1 -0
- package/.next/static/chunks/17c6~kld51ls5.js +11 -0
- package/.next/static/chunks/17tv5jbg2hiup.js +1 -0
- package/.next/static/chunks/187a-majiuj8r.js +1 -0
- package/.next/static/media/fraunces-latin-ext-wght-normal.08-a-oz-atsnn.woff2 +0 -0
- package/.next/static/media/fraunces-latin-wght-normal.0l9v6sgnyeoq8.woff2 +0 -0
- package/.next/static/media/fraunces-vietnamese-wght-normal.05ntv1..6v~z7.woff2 +0 -0
- package/.next/static/media/instrument-sans-latin-ext-wght-normal.0td0--1m0lec9.woff2 +0 -0
- package/.next/static/media/instrument-sans-latin-wght-normal.10bj0-z630vnn.woff2 +0 -0
- package/.next/types/routes.d.ts +7 -10
- package/.next/types/validator.ts +33 -60
- package/package.json +4 -2
- package/.next/server/app/connections/knowledge/page/app-paths-manifest.json +0 -3
- package/.next/server/app/connections/knowledge/page/next-font-manifest.json +0 -6
- package/.next/server/app/connections/knowledge/page.js.nft.json +0 -1
- package/.next/server/app/connections/knowledge/page_client-reference-manifest.js +0 -3
- package/.next/server/app/connections/knowledge.html +0 -1
- package/.next/server/app/connections/knowledge.rsc +0 -27
- package/.next/server/app/connections/knowledge.segments/_full.segment.rsc +0 -27
- package/.next/server/app/connections/knowledge.segments/_head.segment.rsc +0 -6
- package/.next/server/app/connections/knowledge.segments/_index.segment.rsc +0 -11
- package/.next/server/app/connections/knowledge.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/connections/knowledge.segments/connections/knowledge/__PAGE__.segment.rsc +0 -9
- package/.next/server/app/connections/knowledge.segments/connections/knowledge.segment.rsc +0 -5
- package/.next/server/app/connections/knowledge.segments/connections.segment.rsc +0 -5
- package/.next/server/app/settings/advanced/page/app-paths-manifest.json +0 -3
- package/.next/server/app/settings/advanced/page/next-font-manifest.json +0 -6
- package/.next/server/app/settings/advanced/page.js.nft.json +0 -1
- package/.next/server/app/settings/advanced/page_client-reference-manifest.js +0 -3
- package/.next/server/app/settings/advanced.html +0 -1
- package/.next/server/app/settings/advanced.rsc +0 -27
- package/.next/server/app/settings/advanced.segments/_full.segment.rsc +0 -27
- package/.next/server/app/settings/advanced.segments/_head.segment.rsc +0 -6
- package/.next/server/app/settings/advanced.segments/_index.segment.rsc +0 -11
- package/.next/server/app/settings/advanced.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/settings/advanced.segments/settings/advanced/__PAGE__.segment.rsc +0 -9
- package/.next/server/app/settings/advanced.segments/settings/advanced.segment.rsc +0 -5
- package/.next/server/app/settings/advanced.segments/settings.segment.rsc +0 -5
- package/.next/server/app/settings/backends/page/app-paths-manifest.json +0 -3
- package/.next/server/app/settings/backends/page/next-font-manifest.json +0 -6
- package/.next/server/app/settings/backends/page.js +0 -17
- package/.next/server/app/settings/backends/page_client-reference-manifest.js +0 -3
- package/.next/server/app/settings/backends.html +0 -1
- package/.next/server/app/settings/backends.rsc +0 -24
- package/.next/server/app/settings/backends.segments/_full.segment.rsc +0 -24
- package/.next/server/app/settings/backends.segments/_head.segment.rsc +0 -6
- package/.next/server/app/settings/backends.segments/_index.segment.rsc +0 -11
- package/.next/server/app/settings/backends.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/settings/backends.segments/settings/backends/__PAGE__.segment.rsc +0 -6
- package/.next/server/app/settings/backends.segments/settings/backends.segment.rsc +0 -5
- package/.next/server/app/settings/backends.segments/settings.segment.rsc +0 -5
- package/.next/server/app/settings/connections/page/app-paths-manifest.json +0 -3
- package/.next/server/app/settings/connections/page/next-font-manifest.json +0 -6
- package/.next/server/app/settings/connections/page.js +0 -17
- package/.next/server/app/settings/connections/page_client-reference-manifest.js +0 -3
- package/.next/server/app/settings/connections.html +0 -1
- package/.next/server/app/settings/connections.rsc +0 -24
- package/.next/server/app/settings/connections.segments/_full.segment.rsc +0 -24
- package/.next/server/app/settings/connections.segments/_head.segment.rsc +0 -6
- package/.next/server/app/settings/connections.segments/_index.segment.rsc +0 -11
- package/.next/server/app/settings/connections.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/settings/connections.segments/settings/connections/__PAGE__.segment.rsc +0 -6
- package/.next/server/app/settings/connections.segments/settings/connections.segment.rsc +0 -5
- package/.next/server/app/settings/connections.segments/settings.segment.rsc +0 -5
- package/.next/server/app/settings/journal/page/app-paths-manifest.json +0 -3
- package/.next/server/app/settings/journal/page/next-font-manifest.json +0 -6
- package/.next/server/app/settings/journal/page/react-loadable-manifest.json +0 -8
- package/.next/server/app/settings/journal/page_client-reference-manifest.js +0 -3
- package/.next/server/app/settings/journal.html +0 -1
- package/.next/server/app/settings/journal.rsc +0 -27
- package/.next/server/app/settings/journal.segments/_full.segment.rsc +0 -27
- package/.next/server/app/settings/journal.segments/_head.segment.rsc +0 -6
- package/.next/server/app/settings/journal.segments/_index.segment.rsc +0 -11
- package/.next/server/app/settings/journal.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/settings/journal.segments/settings/journal/__PAGE__.segment.rsc +0 -9
- package/.next/server/app/settings/journal.segments/settings/journal.segment.rsc +0 -5
- package/.next/server/app/settings/journal.segments/settings.segment.rsc +0 -5
- package/.next/server/app/settings/messaging/page/app-paths-manifest.json +0 -3
- package/.next/server/app/settings/messaging/page/next-font-manifest.json +0 -6
- package/.next/server/app/settings/messaging/page/react-loadable-manifest.json +0 -8
- package/.next/server/app/settings/messaging/page.js +0 -17
- package/.next/server/app/settings/messaging/page.js.nft.json +0 -1
- package/.next/server/app/settings/messaging/page_client-reference-manifest.js +0 -3
- package/.next/server/app/settings/messaging.html +0 -1
- package/.next/server/app/settings/messaging.meta +0 -16
- package/.next/server/app/settings/messaging.rsc +0 -24
- package/.next/server/app/settings/messaging.segments/_full.segment.rsc +0 -24
- package/.next/server/app/settings/messaging.segments/_head.segment.rsc +0 -6
- package/.next/server/app/settings/messaging.segments/_index.segment.rsc +0 -11
- package/.next/server/app/settings/messaging.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/settings/messaging.segments/settings/messaging/__PAGE__.segment.rsc +0 -6
- package/.next/server/app/settings/messaging.segments/settings/messaging.segment.rsc +0 -5
- package/.next/server/app/settings/messaging.segments/settings.segment.rsc +0 -5
- package/.next/server/app/settings/processes/page/app-paths-manifest.json +0 -3
- package/.next/server/app/settings/processes/page/build-manifest.json +0 -18
- package/.next/server/app/settings/processes/page/next-font-manifest.json +0 -6
- package/.next/server/app/settings/processes/page/react-loadable-manifest.json +0 -8
- package/.next/server/app/settings/processes/page/server-reference-manifest.json +0 -4
- package/.next/server/app/settings/processes/page.js +0 -17
- package/.next/server/app/settings/processes/page_client-reference-manifest.js +0 -3
- package/.next/server/app/settings/processes.html +0 -1
- package/.next/server/app/settings/processes.meta +0 -16
- package/.next/server/app/settings/processes.rsc +0 -24
- package/.next/server/app/settings/processes.segments/_full.segment.rsc +0 -24
- package/.next/server/app/settings/processes.segments/_head.segment.rsc +0 -6
- package/.next/server/app/settings/processes.segments/_index.segment.rsc +0 -11
- package/.next/server/app/settings/processes.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/settings/processes.segments/settings/processes/__PAGE__.segment.rsc +0 -6
- package/.next/server/app/settings/processes.segments/settings/processes.segment.rsc +0 -5
- package/.next/server/app/settings/processes.segments/settings.segment.rsc +0 -5
- package/.next/server/app/settings/routines/page/app-paths-manifest.json +0 -3
- package/.next/server/app/settings/routines/page/build-manifest.json +0 -18
- package/.next/server/app/settings/routines/page/next-font-manifest.json +0 -6
- package/.next/server/app/settings/routines/page/react-loadable-manifest.json +0 -8
- package/.next/server/app/settings/routines/page/server-reference-manifest.json +0 -4
- package/.next/server/app/settings/routines/page.js.nft.json +0 -1
- package/.next/server/app/settings/routines/page_client-reference-manifest.js +0 -3
- package/.next/server/app/settings/routines.html +0 -1
- package/.next/server/app/settings/routines.meta +0 -16
- package/.next/server/app/settings/routines.rsc +0 -27
- package/.next/server/app/settings/routines.segments/_full.segment.rsc +0 -27
- package/.next/server/app/settings/routines.segments/_head.segment.rsc +0 -6
- package/.next/server/app/settings/routines.segments/_index.segment.rsc +0 -11
- package/.next/server/app/settings/routines.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/settings/routines.segments/settings/routines/__PAGE__.segment.rsc +0 -9
- package/.next/server/app/settings/routines.segments/settings/routines.segment.rsc +0 -5
- package/.next/server/app/settings/routines.segments/settings.segment.rsc +0 -5
- package/.next/server/app/settings/schedule/page/app-paths-manifest.json +0 -3
- package/.next/server/app/settings/schedule/page/build-manifest.json +0 -18
- package/.next/server/app/settings/schedule/page/next-font-manifest.json +0 -6
- package/.next/server/app/settings/schedule/page/react-loadable-manifest.json +0 -8
- package/.next/server/app/settings/schedule/page/server-reference-manifest.json +0 -4
- package/.next/server/app/settings/schedule/page_client-reference-manifest.js +0 -3
- package/.next/server/app/settings/schedule.html +0 -1
- package/.next/server/app/settings/schedule.meta +0 -16
- package/.next/server/app/settings/schedule.rsc +0 -27
- package/.next/server/app/settings/schedule.segments/_full.segment.rsc +0 -27
- package/.next/server/app/settings/schedule.segments/_head.segment.rsc +0 -6
- package/.next/server/app/settings/schedule.segments/_index.segment.rsc +0 -11
- package/.next/server/app/settings/schedule.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/settings/schedule.segments/settings/schedule/__PAGE__.segment.rsc +0 -9
- package/.next/server/app/settings/schedule.segments/settings/schedule.segment.rsc +0 -5
- package/.next/server/app/settings/schedule.segments/settings.segment.rsc +0 -5
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_connections_knowledge_page_actions_06w7ski.js +0 -3
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_advanced_page_actions_0x06bjx.js +0 -3
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_backends_page_actions_0z3vipu.js +0 -3
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_connections_page_actions_0n0b1rb.js +0 -3
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_journal_page_actions_0_.h.-y.js +0 -3
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_messaging_page_actions_0czehcp.js +0 -3
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_processes_page_actions_0zbumx3.js +0 -3
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_routines_page_actions_0-37ia4.js +0 -3
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_schedule_page_actions_045j4zv.js +0 -3
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0s6jb_7.js +0 -4
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0wu80v6.js +0 -4
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0~yic40.js +0 -4
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_113c8xj.js +0 -4
- package/.next/server/chunks/ssr/[root-of-the-server]__00ch_ms._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__00s5z4o._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__03yuq_v._.js +0 -7
- package/.next/server/chunks/ssr/[root-of-the-server]__0kcivrd._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0kvyeu1._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0t-9jvt._.js +0 -3
- package/.next/server/chunks/ssr/_0-3uzu1._.js +0 -3
- package/.next/server/chunks/ssr/_0.yhrky._.js +0 -3
- package/.next/server/chunks/ssr/_0.zct4p._.js +0 -3
- package/.next/server/chunks/ssr/_00_--i0._.js +0 -3
- package/.next/server/chunks/ssr/_00ej8j9._.js +0 -3
- package/.next/server/chunks/ssr/_03bq.de._.js +0 -3
- package/.next/server/chunks/ssr/_04jkn8c._.js +0 -3
- package/.next/server/chunks/ssr/_04kt9.8._.js +0 -3
- package/.next/server/chunks/ssr/_05jfize._.js +0 -3
- package/.next/server/chunks/ssr/_06_m-vp._.js +0 -3
- package/.next/server/chunks/ssr/_09-o1vq._.js +0 -3
- package/.next/server/chunks/ssr/_095u19_._.js +0 -3
- package/.next/server/chunks/ssr/_0_qwmiz._.js +0 -3
- package/.next/server/chunks/ssr/_0bzj8lx._.js +0 -3
- package/.next/server/chunks/ssr/_0cccma-._.js +0 -3
- package/.next/server/chunks/ssr/_0da0k2u._.js +0 -3
- package/.next/server/chunks/ssr/_0evcd7w._.js +0 -3
- package/.next/server/chunks/ssr/_0e~4oah._.js +0 -3
- package/.next/server/chunks/ssr/_0ibeuw6._.js +0 -3
- package/.next/server/chunks/ssr/_0ixicrb._.js +0 -3
- package/.next/server/chunks/ssr/_0jg6hy0._.js +0 -3
- package/.next/server/chunks/ssr/_0jrxrig._.js +0 -3
- package/.next/server/chunks/ssr/_0mbbas-._.js +0 -3
- package/.next/server/chunks/ssr/_0n5nlcq._.js +0 -3
- package/.next/server/chunks/ssr/_0nvpv18._.js +0 -3
- package/.next/server/chunks/ssr/_0o~hk.m._.js +0 -3
- package/.next/server/chunks/ssr/_0pdbiu.._.js +0 -9
- package/.next/server/chunks/ssr/_0pg6_56._.js +0 -3
- package/.next/server/chunks/ssr/_0q8o~q1._.js +0 -3
- package/.next/server/chunks/ssr/_0r1lb0f._.js +0 -3
- package/.next/server/chunks/ssr/_0r25vcp._.js +0 -3
- package/.next/server/chunks/ssr/_0r9.4nv._.js +0 -3
- package/.next/server/chunks/ssr/_0tf7hjz._.js +0 -3
- package/.next/server/chunks/ssr/_0xmdrbq._.js +0 -3
- package/.next/server/chunks/ssr/_0zz58.-._.js +0 -5
- package/.next/server/chunks/ssr/_0~62r4-._.js +0 -3
- package/.next/server/chunks/ssr/_0~fi8o-._.js +0 -3
- package/.next/server/chunks/ssr/_10s6iy.._.js +0 -3
- package/.next/server/chunks/ssr/_11pdc0s._.js +0 -3
- package/.next/server/chunks/ssr/_12u1eq4._.js +0 -3
- package/.next/server/chunks/ssr/_12~0n.1._.js +0 -3
- package/.next/server/chunks/ssr/_139rl~~._.js +0 -3
- package/.next/server/chunks/ssr/node_modules__pnpm_0ehnn5t._.js +0 -3
- package/.next/server/chunks/ssr/packages_dashboard_src_0ylj~og._.js +0 -3
- package/.next/server/chunks/ssr/packages_dashboard_src_0z~3g5n._.js +0 -3
- package/.next/server/chunks/ssr/packages_dashboard_src_app_connections_knowledge_page_tsx_027jwd3._.js +0 -3
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_advanced_page_tsx_0o~_885._.js +0 -3
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_routines_page_tsx_0wcgtqz._.js +0 -27
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_schedule_page_tsx_0b8zr2l._.js +0 -3
- package/.next/static/chunks/0-7buty0ytvtv.js +0 -1
- package/.next/static/chunks/0-dw-4a8vg9m8.js +0 -1
- package/.next/static/chunks/0.42rv-zt_0x9.js +0 -1
- package/.next/static/chunks/0.za~0o8~5n1~.css +0 -1
- package/.next/static/chunks/0.~7m9beb0bmp.js +0 -11
- package/.next/static/chunks/00bnu7r6428v0.js +0 -5
- package/.next/static/chunks/00w3emoohg-8r.js +0 -1
- package/.next/static/chunks/01v7jn283j2tm.js +0 -1
- package/.next/static/chunks/04l41qp5lpt_e.js +0 -1
- package/.next/static/chunks/04ufv2_7i_b6..js +0 -1
- package/.next/static/chunks/053f~_moi~csx.js +0 -2
- package/.next/static/chunks/05xugzf8sfrxt.js +0 -1
- package/.next/static/chunks/05z4egti~pj9t.js +0 -1
- package/.next/static/chunks/073hnld9_qq5g.js +0 -1
- package/.next/static/chunks/08ql4siwtlgpn.js +0 -1
- package/.next/static/chunks/08wmxlql_xq.d.js +0 -1
- package/.next/static/chunks/0e3ds9mkx7.~v.js +0 -1
- package/.next/static/chunks/0eaf903zc7v~5.js +0 -1
- package/.next/static/chunks/0fri59ogcsfbl.js +0 -1
- package/.next/static/chunks/0gj-lf~wlbr8e.js +0 -1
- package/.next/static/chunks/0gurc-kqffso6.js +0 -1
- package/.next/static/chunks/0gyst06ap~-n~.js +0 -19
- package/.next/static/chunks/0g~py-0sje~1m.js +0 -1
- package/.next/static/chunks/0hk8v-849puw8.js +0 -1
- package/.next/static/chunks/0hlvfkk1o66wf.js +0 -1
- package/.next/static/chunks/0hog4tqr3.skm.js +0 -10
- package/.next/static/chunks/0igwe6jdxslbt.js +0 -1
- package/.next/static/chunks/0ikm~jl5uiw6-.js +0 -1
- package/.next/static/chunks/0j15hn~z~i56..js +0 -1
- package/.next/static/chunks/0jffu_yb.90.i.js +0 -1
- package/.next/static/chunks/0mfem_s.3s4r-.js +0 -1
- package/.next/static/chunks/0n3b0fpsgml2x.js +0 -1
- package/.next/static/chunks/0p.w04inifyq..js +0 -1
- package/.next/static/chunks/0qqty6t-yyty4.js +0 -3
- package/.next/static/chunks/0q~dvm61tpf3~.js +0 -1
- package/.next/static/chunks/0rt76ki54i~hm.js +0 -1
- package/.next/static/chunks/0scggusqhhid7.js +0 -1
- package/.next/static/chunks/0t.xvj-t_vtrp.js +0 -25
- package/.next/static/chunks/0t9rda60_m-vk.js +0 -1
- package/.next/static/chunks/0u9qsqnsm-skj.js +0 -1
- package/.next/static/chunks/0urw8_v9f97en.js +0 -1
- package/.next/static/chunks/0vcwfsuf878wc.js +0 -1
- package/.next/static/chunks/0vivqt8njmkpv.js +0 -1
- package/.next/static/chunks/0vktbjh2e4xpg.js +0 -1
- package/.next/static/chunks/0v~gg~hn-8_k2.js +0 -1
- package/.next/static/chunks/0ws8mq3rp~572.js +0 -1
- package/.next/static/chunks/0x..-zi0av524.js +0 -1
- package/.next/static/chunks/0xsb_r_t_1r-u.js +0 -1
- package/.next/static/chunks/0zaa6zhrjsaik.js +0 -1
- package/.next/static/chunks/0zimhqr6r4xlz.js +0 -1
- package/.next/static/chunks/0~7d6m~du_b.d.js +0 -1
- package/.next/static/chunks/0~nct--xt2~bi.js +0 -1
- package/.next/static/chunks/1121be2-kv8g~.js +0 -1
- package/.next/static/chunks/1257_06cutyq_.js +0 -1
- package/.next/static/chunks/12ee4r9-orwi8.js +0 -1
- package/.next/static/chunks/13kdqs0pmjqy5.js +0 -1
- package/.next/static/chunks/13tf0oa.w743m.js +0 -1
- package/.next/static/chunks/16s5r16k361sd.js +0 -1
- package/.next/static/chunks/16tqshshex~qk.js +0 -1
- package/.next/static/chunks/17846-azlpszq.js +0 -1
- package/.next/static/chunks/17b2~cmid8qeu.js +0 -3
- package/.next/static/chunks/17rcecfesskxn.js +0 -1
- /package/.next/server/app/{connections/knowledge → browser}/page/build-manifest.json +0 -0
- /package/.next/server/app/{connections/knowledge → browser}/page/server-reference-manifest.json +0 -0
- /package/.next/server/app/{settings/advanced → connections/notes}/page/build-manifest.json +0 -0
- /package/.next/server/app/{settings/advanced → connections/notes}/page/server-reference-manifest.json +0 -0
- /package/.next/server/app/settings/{backends → danger-zone}/page/build-manifest.json +0 -0
- /package/.next/server/app/settings/{backends → danger-zone}/page/server-reference-manifest.json +0 -0
- /package/.next/server/app/settings/{connections → hours}/page/build-manifest.json +0 -0
- /package/.next/server/app/settings/{connections → hours}/page/server-reference-manifest.json +0 -0
- /package/.next/server/app/settings/{journal → infrastructure}/page/build-manifest.json +0 -0
- /package/.next/server/app/settings/{journal → infrastructure}/page/server-reference-manifest.json +0 -0
- /package/.next/server/app/settings/{messaging → safety}/page/build-manifest.json +0 -0
- /package/.next/server/app/settings/{messaging → safety}/page/server-reference-manifest.json +0 -0
- /package/.next/static/{i_QR0WWkZFeICcOMbfuUs → 4Wu33OvzutxPxXUu1PWPC}/_buildManifest.js +0 -0
- /package/.next/static/{i_QR0WWkZFeICcOMbfuUs → 4Wu33OvzutxPxXUu1PWPC}/_ssgManifest.js +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
module.exports=[20472,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(62988),e=a.i(82508),f=a.i(80196),g=a.i(43179),h=a.i(32307);let i=(0,a.i(5423).default)("ArrowUpDown",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);var j=a.i(26577),k=a.i(87206),l=a.i(21218),m=a.i(7384),n=a.i(29629),o=a.i(23780),p=a.i(27727),q=a.i(41010),r=a.i(6943),s=a.i(8212),t=a.i(28627),u=a.i(70300),v=a.i(48558),w=a.i(70379);a.i(70010);var x=a.i(63415),y=a.i(58906);let z=["hourly","daily","weekly","monthly"],A=["",...y.RUNTIME_AVAILABLE_BACKEND_IDS],B=["",...x.AGENT_TIERS],C={name:"",slug:"",description:"",enabled:!0,frequency:"daily",time:"09:00",intervalHours:1,minuteOfHour:0,daysOfWeek:[],daysOfMonth:[],backendId:"",tier:"",maxTurns:20,maxBudgetUsd:.25,timeoutMinutes:10,prompt:""},D=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],E=Array.from({length:31},(a,b)=>b+1),F={hourly:"Hourly",daily:"Daily",weekly:"Weekly",monthly:"Monthly"};function G({saving:a,saveError:d,existingSlugs:e,onSave:f,onCancel:g}){let[h,i]=(0,c.useState)(C),[j,k]=(0,c.useState)(!1),[m,o]=(0,c.useState)(!1),p=(0,c.useMemo)(()=>(function(a,b=[]){let c={};0===a.name.trim().length&&(c.name="Name is required.");let d=a.slug.trim();return 0===d.length?c.slug="ID is required.":x.AGENT_SLUG_PATTERN.test(d)?b.includes(d)&&(c.slug=`An agent with the ID "${d}" already exists — choose a different ID.`):c.slug="ID must be lowercase letters, numbers and hyphens, and start with a letter (e.g. daily-digest).",0===a.description.trim().length&&(c.description="Description is required."),0===a.prompt.trim().length&&(c.prompt="Task prompt is required — it is what the agent does each time it runs."),"hourly"===a.frequency?((!Number.isInteger(a.intervalHours)||a.intervalHours<1||a.intervalHours>23)&&(c.intervalHours="Every N hours must be a whole number from 1 to 23."),(!Number.isInteger(a.minuteOfHour)||a.minuteOfHour<0||a.minuteOfHour>59)&&(c.minuteOfHour="Minute must be a whole number from 0 to 59.")):/^\d{2}:\d{2}$/.test(a.time)||(c.time="Time must be HH:MM."),"weekly"===a.frequency&&0===a.daysOfWeek.length&&(c.daysOfWeek="Select at least one day of the week."),"monthly"===a.frequency&&0===a.daysOfMonth.length&&(c.daysOfMonth="Select at least one day of the month."),(!Number.isInteger(a.maxTurns)||a.maxTurns<1)&&(c.maxTurns="Must be a whole number of 1 or more."),(Number.isNaN(a.maxBudgetUsd)||a.maxBudgetUsd<0)&&(c.maxBudgetUsd="Must be 0 or more."),(!Number.isInteger(a.timeoutMinutes)||a.timeoutMinutes<1)&&(c.timeoutMinutes="Must be a whole number of 1 or more."),0===Object.keys(c).length?null:c})(h,e),[h,e]),q=(a,b)=>i(c=>({...c,[a]:b})),r=a=>m?p?.[a]:void 0;return(0,b.jsxs)("div",{className:"space-y-5",children:[(0,b.jsx)(u.FormField,{htmlFor:"agent-name",label:"Name",description:"A human label shown in the agents list. e.g. “Daily Digest”.",error:r("name"),children:(0,b.jsx)(s.Input,{id:"agent-name",value:h.name,onChange:a=>{let b;return b=a.target.value,i(a=>({...a,name:b,slug:j?a.slug:b.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}))},placeholder:"Daily Digest"})}),(0,b.jsx)(u.FormField,{htmlFor:"agent-slug",label:"ID",description:"URL and folder name, auto-filled from the name. Lowercase letters, numbers and hyphens; cannot be changed later.",error:r("slug"),children:(0,b.jsx)(s.Input,{id:"agent-slug",value:h.slug,onChange:a=>{var b;return b=a.target.value,void(k(!0),q("slug",b))},placeholder:"daily-digest",className:"font-mono"})}),(0,b.jsx)(u.FormField,{htmlFor:"agent-description",label:"Description",description:"One line on what this agent is for. Shown in the list and its detail page.",error:r("description"),children:(0,b.jsx)(s.Input,{id:"agent-description",value:h.description,onChange:a=>q("description",a.target.value),placeholder:"Summarise the day and surface what needs attention."})}),(0,b.jsx)(u.FormField,{label:"Enabled",description:"When on, the agent runs automatically on its schedule. Turn off to keep the definition without firing it.",children:(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",checked:h.enabled,onChange:a=>q("enabled",a.target.checked),className:"h-4 w-4 rounded border-input"}),(0,b.jsx)("span",{className:"text-muted-foreground",children:h.enabled?"On — will run on schedule":"Off — paused"})]})}),(0,b.jsxs)("div",{className:"space-y-3 rounded-lg border border-border bg-muted/20 p-3",children:[(0,b.jsx)(u.FormField,{label:"Schedule",description:"How often the agent runs. Pick a cadence, then set when.",error:r("daysOfWeek")??r("daysOfMonth"),children:(0,b.jsx)("div",{className:"flex flex-wrap gap-1",role:"radiogroup","aria-label":"Schedule frequency",children:z.map(a=>(0,b.jsx)(l.Button,{type:"button",size:"sm",variant:h.frequency===a?"default":"outline",onClick:()=>q("frequency",a),"aria-pressed":h.frequency===a,children:F[a]},a))})}),"hourly"===h.frequency&&(0,b.jsxs)("div",{className:"flex flex-wrap gap-3",children:[(0,b.jsx)(u.FormField,{htmlFor:"agent-interval-hours",label:"Every N hours",description:"1–23.",error:r("intervalHours"),children:(0,b.jsx)(s.Input,{id:"agent-interval-hours",type:"number",min:1,max:23,value:Number.isNaN(h.intervalHours)?"":h.intervalHours,onChange:a=>q("intervalHours",a.target.valueAsNumber),className:"w-24"})}),(0,b.jsx)(u.FormField,{htmlFor:"agent-minute-of-hour",label:"At minute",description:"0–59 past the hour.",error:r("minuteOfHour"),children:(0,b.jsx)(s.Input,{id:"agent-minute-of-hour",type:"number",min:0,max:59,value:Number.isNaN(h.minuteOfHour)?"":h.minuteOfHour,onChange:a=>q("minuteOfHour",a.target.valueAsNumber),className:"w-24"})})]}),"weekly"===h.frequency&&(0,b.jsx)(u.FormField,{label:"Days of week",description:"Select one or more days.",children:(0,b.jsx)("div",{className:"flex flex-wrap gap-1",children:D.map((a,c)=>{let d=h.daysOfWeek.includes(c);return(0,b.jsx)(l.Button,{type:"button",size:"sm",variant:d?"default":"outline",onClick:()=>q("daysOfWeek",h.daysOfWeek.includes(c)?h.daysOfWeek.filter(a=>a!==c):[...h.daysOfWeek,c]),"aria-pressed":d,children:a},a)})})}),"monthly"===h.frequency&&(0,b.jsx)(u.FormField,{label:"Days of month",description:"Select one or more days (1–31).",children:(0,b.jsx)("div",{className:"grid grid-cols-7 gap-1 sm:grid-cols-10",children:E.map(a=>{let c=h.daysOfMonth.includes(a);return(0,b.jsx)("button",{type:"button",onClick:()=>q("daysOfMonth",h.daysOfMonth.includes(a)?h.daysOfMonth.filter(b=>b!==a):[...h.daysOfMonth,a]),"aria-pressed":c,className:(0,v.cn)("h-7 rounded-md border text-xs tabular-nums transition-colors",c?"border-primary bg-primary text-primary-foreground":"border-input bg-background hover:bg-muted"),children:a},a)})})}),"hourly"!==h.frequency&&(0,b.jsx)(u.FormField,{htmlFor:"agent-time",label:"Time of day",description:"Interpreted in the daemon's configured timezone.",error:r("time"),children:(0,b.jsx)(s.Input,{id:"agent-time",type:"time",value:h.time,onChange:a=>q("time",a.target.value),className:"w-auto"})})]}),(0,b.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,b.jsx)(u.FormField,{htmlFor:"agent-backend",label:"Backend engine",description:"Which CLI runs the agent. Default uses your configured routing.",children:(0,b.jsx)(t.NativeSelect,{id:"agent-backend",value:h.backendId,onChange:a=>q("backendId",a.target.value),children:A.map(a=>(0,b.jsx)("option",{value:a,children:""===a?"Default":a},a||"default"))})}),(0,b.jsx)(u.FormField,{htmlFor:"agent-tier",label:"Model tier",description:"Lite is cheapest, high is most capable. Default uses the routing tier.",children:(0,b.jsx)(t.NativeSelect,{id:"agent-tier",value:h.tier,onChange:a=>q("tier",a.target.value),children:B.map(a=>(0,b.jsx)("option",{value:a,children:""===a?"Default":a},a||"default"))})})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"Limits (per run)"}),(0,b.jsxs)("div",{className:"grid gap-3 sm:grid-cols-3",children:[(0,b.jsx)(u.FormField,{htmlFor:"agent-max-turns",label:"Max turns",description:"Agent ↔ tool round-trips.",error:r("maxTurns"),children:(0,b.jsx)(s.Input,{id:"agent-max-turns",type:"number",min:1,step:1,value:Number.isNaN(h.maxTurns)?"":h.maxTurns,onChange:a=>q("maxTurns",a.target.valueAsNumber)})}),(0,b.jsx)(u.FormField,{htmlFor:"agent-max-budget",label:"Max budget (USD)",description:"Soft spend cap per run.",error:r("maxBudgetUsd"),children:(0,b.jsx)(s.Input,{id:"agent-max-budget",type:"number",min:0,step:.05,value:Number.isNaN(h.maxBudgetUsd)?"":h.maxBudgetUsd,onChange:a=>q("maxBudgetUsd",a.target.valueAsNumber)})}),(0,b.jsx)(u.FormField,{htmlFor:"agent-timeout",label:"Timeout (min)",description:"Hard stop after this long.",error:r("timeoutMinutes"),children:(0,b.jsx)(s.Input,{id:"agent-timeout",type:"number",min:1,step:1,value:Number.isNaN(h.timeoutMinutes)?"":h.timeoutMinutes,onChange:a=>q("timeoutMinutes",a.target.valueAsNumber)})})]})]}),(0,b.jsx)(u.FormField,{htmlFor:"agent-prompt",label:"Task prompt",description:"The instructions the agent follows each time it runs. Be specific about what to read, do, and produce.",error:r("prompt"),children:(0,b.jsx)("textarea",{id:"agent-prompt",value:h.prompt,onChange:a=>q("prompt",a.target.value),rows:6,placeholder:"Read today's notes, summarise what changed, and DM me the three things that need attention.",className:"w-full resize-y rounded-md border border-input bg-background p-2 text-sm focus:outline-none focus:ring-2 focus:ring-ring"})}),d&&(0,b.jsx)(n.Alert,{variant:"error",children:d}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(l.Button,{onClick:()=>{if(o(!0),!p){let a,b,c,d;f((c=w.default.dump((a={process_key:"agent.task"},h.tier&&(a.tier=h.tier),h.backendId&&(a.backend_id=h.backendId),b={kind:"cron",expression:function(a){if("hourly"===a.frequency){let b=a.intervalHours;return`${a.minuteOfHour} ${1===b?"*":`*/${b}`} * * *`}let[b,c]=a.time.split(":"),d=Number.parseInt(b,10),e=Number.parseInt(c,10),f=Number.isFinite(d)?d:0,g=Number.isFinite(e)?e:0;if("weekly"===a.frequency){let b=a.daysOfWeek.length>0?[...a.daysOfWeek].sort((a,b)=>a-b).join(","):"*";return`${g} ${f} * * ${b}`}if("monthly"===a.frequency){let b=a.daysOfMonth.length>0?[...a.daysOfMonth].sort((a,b)=>a-b).join(","):"*";return`${g} ${f} ${b} * *`}return`${g} ${f} * * *`}(h)},{slug:h.slug.trim(),name:h.name.trim(),description:h.description.trim(),kind:"user",enabled:h.enabled,schedule:b,backend:a,limits:{max_turns:h.maxTurns,max_budget_usd:h.maxBudgetUsd,timeout_minutes:h.timeoutMinutes}}),{lineWidth:-1,noRefs:!0,sortKeys:!1}),d=h.prompt.trim(),`---
|
|
1
|
+
module.exports=[20472,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(62988),e=a.i(6236),f=a.i(32307),g=a.i(80196),h=a.i(5423);let i=(0,h.default)("CalendarDays",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]]);var j=a.i(51962),k=a.i(3504);let l=(0,h.default)("ListTree",[["path",{d:"M21 12h-8",key:"1bmf0i"}],["path",{d:"M21 6H8",key:"1pqkrb"}],["path",{d:"M21 18h-8",key:"1tm79t"}],["path",{d:"M3 6v4c0 1.1.9 2 2 2h3",key:"1ywdgy"}],["path",{d:"M3 10v6c0 1.1.9 2 2 2h3",key:"2wc746"}]]),m=(0,h.default)("Map",[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]]);var n=a.i(43179),o=a.i(83997);let p=(0,h.default)("Sunrise",[["path",{d:"M12 2v8",key:"1q4o3n"}],["path",{d:"m4.93 10.93 1.41 1.41",key:"2a7f42"}],["path",{d:"M2 18h2",key:"j10viu"}],["path",{d:"M20 18h2",key:"wocana"}],["path",{d:"m19.07 10.93-1.41 1.41",key:"15zs5n"}],["path",{d:"M22 22H2",key:"19qnx5"}],["path",{d:"m8 6 4-4 4 4",key:"ybng9g"}],["path",{d:"M16 18a4 4 0 0 0-8 0",key:"1lzouq"}]]),q=(0,h.default)("Sunset",[["path",{d:"M12 10V2",key:"16sf7g"}],["path",{d:"m4.93 10.93 1.41 1.41",key:"2a7f42"}],["path",{d:"M2 18h2",key:"j10viu"}],["path",{d:"M20 18h2",key:"wocana"}],["path",{d:"m19.07 10.93-1.41 1.41",key:"15zs5n"}],["path",{d:"M22 22H2",key:"19qnx5"}],["path",{d:"m16 6-4 4-4-4",key:"6wukr"}],["path",{d:"M16 18a4 4 0 0 0-8 0",key:"1lzouq"}]]),r=(0,h.default)("UserCog",[["circle",{cx:"18",cy:"15",r:"3",key:"gjjjvw"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M10 15H6a4 4 0 0 0-4 4v2",key:"1nfge6"}],["path",{d:"m21.7 16.4-.9-.3",key:"12j9ji"}],["path",{d:"m15.2 13.9-.9-.3",key:"1fdjdi"}],["path",{d:"m16.6 18.7.3-.9",key:"heedtr"}],["path",{d:"m19.1 12.2.3-.9",key:"1af3ki"}],["path",{d:"m19.6 18.7-.4-1",key:"1x9vze"}],["path",{d:"m16.8 12.3-.4-1",key:"vqeiwj"}],["path",{d:"m14.3 16.6 1-.4",key:"1qlj63"}],["path",{d:"m20.7 13.8 1-.4",key:"1v5t8k"}]]);var s=a.i(87206),t=a.i(21218),u=a.i(7384),v=a.i(29629),w=a.i(23780),x=a.i(27727),y=a.i(41010),z=a.i(82508),A=a.i(6943),B=a.i(8212),C=a.i(28627),D=a.i(48558);let E="text-xs font-medium text-muted-foreground",F="text-xs text-muted-foreground",G="text-xs text-destructive";function H({label:a,description:c,error:d,htmlFor:e,className:f,children:g}){return e?(0,b.jsxs)("div",{className:(0,D.cn)("flex flex-col gap-1 text-sm",f),children:[a&&(0,b.jsx)("label",{htmlFor:e,className:E,children:a}),g,c&&!d&&(0,b.jsx)("p",{className:F,children:c}),d&&(0,b.jsx)("p",{className:G,children:d})]}):(0,b.jsxs)("label",{className:(0,D.cn)("flex flex-col gap-1 text-sm",f),children:[a&&(0,b.jsx)("span",{className:E,children:a}),g,c&&!d&&(0,b.jsx)("span",{className:F,children:c}),d&&(0,b.jsx)("span",{className:G,children:d})]})}var I=a.i(70379);a.i(70010);var J=a.i(63415),K=a.i(58906);let L=["hourly","daily","weekly","monthly"],M=["",...K.RUNTIME_AVAILABLE_BACKEND_IDS],N=["",...J.AGENT_TIERS],O={name:"",slug:"",description:"",enabled:!0,frequency:"daily",time:"09:00",intervalHours:1,minuteOfHour:0,daysOfWeek:[],daysOfMonth:[],deferInQuietHours:!1,backendId:"",tier:"",maxTurns:20,maxBudgetUsd:.25,timeoutMinutes:10,prompt:""},P=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],Q=Array.from({length:31},(a,b)=>b+1),R={hourly:"Hourly",daily:"Daily",weekly:"Weekly",monthly:"Monthly"};function S({saving:a,saveError:d,existingSlugs:e,onSave:f,onCancel:g}){let[h,i]=(0,c.useState)(O),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(!1),n=(0,c.useMemo)(()=>(function(a,b=[]){let c={};0===a.name.trim().length&&(c.name="Name is required.");let d=a.slug.trim();return 0===d.length?c.slug="ID is required.":J.AGENT_SLUG_PATTERN.test(d)?b.includes(d)&&(c.slug=`An agent with the ID "${d}" already exists — choose a different ID.`):c.slug="ID must be lowercase letters, numbers and hyphens, and start with a letter (e.g. daily-digest).",0===a.description.trim().length&&(c.description="Description is required."),0===a.prompt.trim().length&&(c.prompt="Task prompt is required — it is what the agent does each time it runs."),"hourly"===a.frequency?((!Number.isInteger(a.intervalHours)||a.intervalHours<1||a.intervalHours>23)&&(c.intervalHours="Every N hours must be a whole number from 1 to 23."),(!Number.isInteger(a.minuteOfHour)||a.minuteOfHour<0||a.minuteOfHour>59)&&(c.minuteOfHour="Minute must be a whole number from 0 to 59.")):/^\d{2}:\d{2}$/.test(a.time)||(c.time="Time must be HH:MM."),"weekly"===a.frequency&&0===a.daysOfWeek.length&&(c.daysOfWeek="Select at least one day of the week."),"monthly"===a.frequency&&0===a.daysOfMonth.length&&(c.daysOfMonth="Select at least one day of the month."),(!Number.isInteger(a.maxTurns)||a.maxTurns<1)&&(c.maxTurns="Must be a whole number of 1 or more."),(Number.isNaN(a.maxBudgetUsd)||a.maxBudgetUsd<0)&&(c.maxBudgetUsd="Must be 0 or more."),(!Number.isInteger(a.timeoutMinutes)||a.timeoutMinutes<1)&&(c.timeoutMinutes="Must be a whole number of 1 or more."),0===Object.keys(c).length?null:c})(h,e),[h,e]),o=(a,b)=>i(c=>({...c,[a]:b})),p=a=>l?n?.[a]:void 0;return(0,b.jsxs)("div",{className:"space-y-5",children:[(0,b.jsx)(H,{htmlFor:"agent-name",label:"Name",description:"A human label shown in the agents list. e.g. “Daily Digest”.",error:p("name"),children:(0,b.jsx)(B.Input,{id:"agent-name",value:h.name,onChange:a=>{let b;return b=a.target.value,i(a=>({...a,name:b,slug:j?a.slug:b.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}))},placeholder:"Daily Digest"})}),(0,b.jsx)(H,{htmlFor:"agent-slug",label:"ID",description:"URL and folder name, auto-filled from the name. Lowercase letters, numbers and hyphens; cannot be changed later.",error:p("slug"),children:(0,b.jsx)(B.Input,{id:"agent-slug",value:h.slug,onChange:a=>{var b;return b=a.target.value,void(k(!0),o("slug",b))},placeholder:"daily-digest",className:"font-mono"})}),(0,b.jsx)(H,{htmlFor:"agent-description",label:"Description",description:"One line on what this agent is for. Shown in the list and its detail page.",error:p("description"),children:(0,b.jsx)(B.Input,{id:"agent-description",value:h.description,onChange:a=>o("description",a.target.value),placeholder:"Summarise the day and surface what needs attention."})}),(0,b.jsx)(H,{label:"Enabled",description:"When on, the agent runs automatically on its schedule. Turn off to keep the definition without firing it.",children:(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",checked:h.enabled,onChange:a=>o("enabled",a.target.checked),className:"h-4 w-4 rounded border-input"}),(0,b.jsx)("span",{className:"text-muted-foreground",children:h.enabled?"On — will run on schedule":"Off — paused"})]})}),(0,b.jsxs)("div",{className:"space-y-3 rounded-lg border border-border bg-muted/20 p-3",children:[(0,b.jsx)(H,{label:"Schedule",description:"How often the agent runs. Pick a cadence, then set when.",error:p("daysOfWeek")??p("daysOfMonth"),children:(0,b.jsx)("div",{className:"flex flex-wrap gap-1",role:"radiogroup","aria-label":"Schedule frequency",children:L.map(a=>(0,b.jsx)(t.Button,{type:"button",size:"sm",variant:h.frequency===a?"default":"outline",onClick:()=>o("frequency",a),"aria-pressed":h.frequency===a,children:R[a]},a))})}),"hourly"===h.frequency&&(0,b.jsxs)("div",{className:"flex flex-wrap gap-3",children:[(0,b.jsx)(H,{htmlFor:"agent-interval-hours",label:"Every N hours",description:"1–23.",error:p("intervalHours"),children:(0,b.jsx)(B.Input,{id:"agent-interval-hours",type:"number",min:1,max:23,value:Number.isNaN(h.intervalHours)?"":h.intervalHours,onChange:a=>o("intervalHours",a.target.valueAsNumber),className:"w-24"})}),(0,b.jsx)(H,{htmlFor:"agent-minute-of-hour",label:"At minute",description:"0–59 past the hour.",error:p("minuteOfHour"),children:(0,b.jsx)(B.Input,{id:"agent-minute-of-hour",type:"number",min:0,max:59,value:Number.isNaN(h.minuteOfHour)?"":h.minuteOfHour,onChange:a=>o("minuteOfHour",a.target.valueAsNumber),className:"w-24"})})]}),"weekly"===h.frequency&&(0,b.jsx)(H,{label:"Days of week",description:"Select one or more days.",children:(0,b.jsx)("div",{className:"flex flex-wrap gap-1",children:P.map((a,c)=>{let d=h.daysOfWeek.includes(c);return(0,b.jsx)(t.Button,{type:"button",size:"sm",variant:d?"default":"outline",onClick:()=>o("daysOfWeek",h.daysOfWeek.includes(c)?h.daysOfWeek.filter(a=>a!==c):[...h.daysOfWeek,c]),"aria-pressed":d,children:a},a)})})}),"monthly"===h.frequency&&(0,b.jsx)(H,{label:"Days of month",description:"Select one or more days (1–31).",children:(0,b.jsx)("div",{className:"grid grid-cols-7 gap-1 sm:grid-cols-10",children:Q.map(a=>{let c=h.daysOfMonth.includes(a);return(0,b.jsx)("button",{type:"button",onClick:()=>o("daysOfMonth",h.daysOfMonth.includes(a)?h.daysOfMonth.filter(b=>b!==a):[...h.daysOfMonth,a]),"aria-pressed":c,className:(0,D.cn)("h-7 rounded-md border text-xs tabular-nums transition-colors",c?"border-primary bg-primary text-primary-foreground":"border-input bg-background hover:bg-muted"),children:a},a)})})}),"hourly"!==h.frequency&&(0,b.jsx)(H,{htmlFor:"agent-time",label:"Time of day",description:"Interpreted in the daemon's configured timezone.",error:p("time"),children:(0,b.jsx)(B.Input,{id:"agent-time",type:"time",value:h.time,onChange:a=>o("time",a.target.value),className:"w-auto"})}),(0,b.jsx)(H,{label:"Respect quiet hours",description:"When a run lands inside your quiet hours, wait and run at the end of the window instead. Turn this on whenever the agent messages you; leave it off for silent overnight work.",children:(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)("input",{type:"checkbox",checked:h.deferInQuietHours,onChange:a=>o("deferInQuietHours",a.target.checked),className:"h-4 w-4 rounded border-input"}),(0,b.jsx)("span",{className:"text-muted-foreground",children:h.deferInQuietHours?"On — runs move past quiet hours":"Off — runs at the scheduled time"})]})})]}),(0,b.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,b.jsx)(H,{htmlFor:"agent-backend",label:"Backend engine",description:"Which CLI runs the agent. Default uses your configured routing.",children:(0,b.jsx)(C.NativeSelect,{id:"agent-backend",value:h.backendId,onChange:a=>o("backendId",a.target.value),children:M.map(a=>(0,b.jsx)("option",{value:a,children:""===a?"Default":a},a||"default"))})}),(0,b.jsx)(H,{htmlFor:"agent-tier",label:"Model tier",description:"Lite is cheapest, high is most capable. Default uses the routing tier.",children:(0,b.jsx)(C.NativeSelect,{id:"agent-tier",value:h.tier,onChange:a=>o("tier",a.target.value),children:N.map(a=>(0,b.jsx)("option",{value:a,children:""===a?"Default":a},a||"default"))})})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"Limits (per run)"}),(0,b.jsxs)("div",{className:"grid gap-3 sm:grid-cols-3",children:[(0,b.jsx)(H,{htmlFor:"agent-max-turns",label:"Max turns",description:"Agent ↔ tool round-trips.",error:p("maxTurns"),children:(0,b.jsx)(B.Input,{id:"agent-max-turns",type:"number",min:1,step:1,value:Number.isNaN(h.maxTurns)?"":h.maxTurns,onChange:a=>o("maxTurns",a.target.valueAsNumber)})}),(0,b.jsx)(H,{htmlFor:"agent-max-budget",label:"Max budget (USD)",description:"Soft spend cap per run.",error:p("maxBudgetUsd"),children:(0,b.jsx)(B.Input,{id:"agent-max-budget",type:"number",min:0,step:.05,value:Number.isNaN(h.maxBudgetUsd)?"":h.maxBudgetUsd,onChange:a=>o("maxBudgetUsd",a.target.valueAsNumber)})}),(0,b.jsx)(H,{htmlFor:"agent-timeout",label:"Timeout (min)",description:"Hard stop after this long.",error:p("timeoutMinutes"),children:(0,b.jsx)(B.Input,{id:"agent-timeout",type:"number",min:1,step:1,value:Number.isNaN(h.timeoutMinutes)?"":h.timeoutMinutes,onChange:a=>o("timeoutMinutes",a.target.valueAsNumber)})})]})]}),(0,b.jsx)(H,{htmlFor:"agent-prompt",label:"Task prompt",description:"The instructions the agent follows each time it runs. Be specific about what to read, do, and produce.",error:p("prompt"),children:(0,b.jsx)("textarea",{id:"agent-prompt",value:h.prompt,onChange:a=>o("prompt",a.target.value),rows:6,placeholder:"Read today's notes, summarise what changed, and DM me the three things that need attention.",className:"w-full resize-y rounded-md border border-input bg-background p-2 text-sm focus:outline-none focus:ring-2 focus:ring-ring"})}),d&&(0,b.jsx)(v.Alert,{variant:"error",children:d}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(t.Button,{onClick:()=>{if(m(!0),!n){let a,b,c,d;f((c=I.default.dump((a={process_key:"agent.task"},h.tier&&(a.tier=h.tier),h.backendId&&(a.backend_id=h.backendId),b={kind:"cron",expression:function(a){if("hourly"===a.frequency){let b=a.intervalHours;return`${a.minuteOfHour} ${1===b?"*":`*/${b}`} * * *`}let[b,c]=a.time.split(":"),d=Number.parseInt(b,10),e=Number.parseInt(c,10),f=Number.isFinite(d)?d:0,g=Number.isFinite(e)?e:0;if("weekly"===a.frequency){let b=a.daysOfWeek.length>0?[...a.daysOfWeek].sort((a,b)=>a-b).join(","):"*";return`${g} ${f} * * ${b}`}if("monthly"===a.frequency){let b=a.daysOfMonth.length>0?[...a.daysOfMonth].sort((a,b)=>a-b).join(","):"*";return`${g} ${f} ${b} * *`}return`${g} ${f} * * *`}(h)},h.deferInQuietHours&&(b.defer_in_quiet_hours=!0),{slug:h.slug.trim(),name:h.name.trim(),description:h.description.trim(),kind:"user",enabled:h.enabled,schedule:b,backend:a,limits:{max_turns:h.maxTurns,max_budget_usd:h.maxBudgetUsd,timeout_minutes:h.timeoutMinutes}}),{lineWidth:-1,noRefs:!0,sortKeys:!1}),d=h.prompt.trim(),`---
|
|
2
2
|
${c}---
|
|
3
3
|
|
|
4
4
|
${d}
|
|
5
|
-
`),h.slug.trim())}},disabled:a,children:a?"Creating…":"Create agent"}),(0,b.jsx)(l.Button,{variant:"outline",onClick:g,disabled:a,children:"Cancel"})]})]})}var H=a.i(94695),I=a.i(11200),J=a.i(3031);function K({trigger:a}){let[d,f]=(0,c.useState)(!1),[g,h]=(0,c.useState)("form"),i=(0,I.useSaveUserAgent)(),j=(0,e.useRouter)(),[k,m]=(0,c.useState)(null),{data:n}=(0,I.useAgents)({include_invalid:!0}),o=(0,c.useMemo)(()=>(n?.agents??[]).map(a=>a.slug),[n?.agents]),p=(a,b)=>{m(null),i.mutate({slug:b,content:a},{onSuccess:()=>{f(!1),j.push(`/agents/${b}`)}})};return(0,b.jsxs)(r.Dialog,{open:d,onOpenChange:a=>{f(a),a||(m(null),h("form"))},children:[(0,b.jsx)(r.DialogTrigger,{asChild:!0,children:a}),(0,b.jsxs)(r.DialogContent,{className:"max-h-[88vh] max-w-2xl overflow-y-auto",children:[(0,b.jsxs)(r.DialogHeader,{children:[(0,b.jsx)(r.DialogTitle,{children:"New Agent"}),(0,b.jsx)(r.DialogDescription,{children:"form"===g?(0,b.jsxs)(b.Fragment,{children:["Fill in the fields below to create a User Agent. Saving writes"," ",(0,b.jsx)("code",{children:"policies/agents/<id>/agent.md"})," through the context vault."]}):(0,b.jsxs)(b.Fragment,{children:["Define a user Agent in YAML. The ",(0,b.jsx)("code",{children:"slug"})," becomes its URL and directory name. Saving writes ",(0,b.jsx)("code",{children:"policies/agents/<slug>/agent.md"})," through the context vault."]})})]}),(0,b.jsxs)("div",{className:"mb-3 flex gap-1",children:[(0,b.jsx)(l.Button,{type:"button",size:"sm",variant:"form"===g?"default":"outline",onClick:()=>h("form"),"aria-pressed":"form"===g,children:"Form"}),(0,b.jsx)(l.Button,{type:"button",size:"sm",variant:"yaml"===g?"default":"outline",onClick:()=>h("yaml"),"aria-pressed":"yaml"===g,children:"Advanced (YAML)"})]}),"form"===g?(0,b.jsx)(G,{saving:i.isPending,saveError:k??(i.isError?i.error.message:null),existingSlugs:o,onSave:p,onCancel:()=>f(!1)}):(0,b.jsx)(H.UserAgentYamlEditor,{initialContent:(0,J.scaffoldUserAgentMarkdown)("my-agent"),saving:i.isPending,saveError:k??(i.isError?i.error.message:null),onSave:a=>{m(null);let b=(0,J.slugFromMarkdown)(a);b?p(a,b):m("The definition must declare a `slug:` field.")},onCancel:()=>f(!1),allowUnchanged:!0})]})]})}var L=a.i(39259);let M={search:"",kind:"all",status:"all",cadence:"all"};function N(a,b){switch(b){case"name":return a.name.toLowerCase();case"kind":return a.kind;case"schedule":return(a.schedule.expression??a.schedule.kind).toLowerCase();case"status":return+!a.enabled;case"last":let c=a.last_execution?.started_at;if(!c)return-1/0;let d=Date.parse(c);return Number.isFinite(d)?d:-1/0;case"errorRate":return a.metrics_7d.error_rate??-1;case"cost":return a.metrics_7d.avg_cost_usd??-1}}let O=[{value:"all",label:"All"},{value:"builtin",label:"System"},{value:"user",label:"User"}],P=[{value:"all",label:"All"},{value:"enabled",label:"Enabled"},{value:"disabled",label:"Disabled"}],Q=[{value:"all",label:"All"},{value:"interval",label:"Interval"},{value:"scheduled",label:"Scheduled"}],R=[{key:"name",label:"Name"},{key:"kind",label:"Kind"},{key:"schedule",label:"Schedule"},{key:"status",label:"Status"},{key:"last",label:"Last run"},{key:"errorRate",label:"Err%"},{key:"cost",label:"$/exec"}];function S({agent:a,running:c,onClick:d}){return(0,b.jsxs)("tr",{className:"cursor-pointer border-b border-border hover:bg-muted/30",onClick:d,children:[(0,b.jsx)("td",{className:"px-3 py-2 text-sm",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-medium text-foreground",children:a.name}),(0,b.jsx)("code",{className:"text-xs text-muted-foreground",children:a.slug})]})}),(0,b.jsx)("td",{className:"px-3 py-2",children:"builtin"===a.kind?(0,b.jsxs)(m.Badge,{variant:"blue",children:[(0,b.jsx)(j.Settings2,{className:"mr-1 h-3 w-3"})," System"]}):(0,b.jsx)(m.Badge,{variant:"gray",children:"User"})}),(0,b.jsx)("td",{className:"px-3 py-2 text-xs text-muted-foreground",children:a.schedule.interval?(0,b.jsxs)("span",{className:"flex flex-col leading-tight",children:[(0,b.jsx)("span",{className:"text-foreground",children:(0,L.formatIntervalEvery)(a.schedule.interval)}),(0,L.formatActiveHours)(a.schedule.interval)&&(0,b.jsx)("span",{children:(0,L.formatActiveHours)(a.schedule.interval)})]}):(0,L.describeSchedule)(a.schedule)}),(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsxs)("span",{className:"flex items-center gap-1.5 text-sm",children:[c&&(0,b.jsx)("span",{className:"h-1.5 w-1.5 animate-pulse rounded-full bg-emerald-500","aria-label":"executing"}),(0,b.jsx)(m.Badge,{variant:a.enabled?"green":"gray",children:a.enabled?"ON":"OFF"})]})}),(0,b.jsx)("td",{className:"px-3 py-2 text-xs text-muted-foreground",children:a.last_execution?.started_at?new Date(a.last_execution.started_at).toLocaleString():"—"}),(0,b.jsx)("td",{className:"px-3 py-2 text-sm tabular-nums",children:(0,L.formatPercent)(a.metrics_7d.error_rate)}),(0,b.jsx)("td",{className:"px-3 py-2 text-sm tabular-nums",children:(0,L.formatCostUsd)(a.metrics_7d.avg_cost_usd)})]})}a.s(["default",0,function(){(0,I.useAgentLiveRefresh)();let a=(0,I.useRunningAgents)(),j=(0,e.useRouter)(),{data:r,isLoading:s,isError:t,error:u,refetch:w}=(0,I.useAgents)({include_invalid:!0}),[x,y]=(0,c.useState)(M),[z,A]=(0,c.useState)("last"),[B,C]=(0,c.useState)("desc"),{invalid:D,visible:E}=(0,c.useMemo)(()=>{var a;let b,c,{invalid:d,valid:e}=function(a){let b=[],c=[];for(let d of a)(d.invalid?b:c).push(d);return{invalid:b,valid:c}}(r?.agents??[]);return{invalid:d,visible:(b=x.search.trim().toLowerCase(),a=e.filter(a=>{if("all"!==x.kind&&a.kind!==x.kind||"enabled"===x.status&&!a.enabled||"disabled"===x.status&&a.enabled)return!1;if("all"!==x.cadence){let b=(0,L.isIntervalSchedule)(a.schedule);if("interval"===x.cadence&&!b||"scheduled"===x.cadence&&b)return!1}return(!(b.length>0)||!![a.slug,a.name,a.description,...a.tags].join(" ").toLowerCase().includes(b))&&!0}),c="asc"===B?1:-1,[...a].map((a,b)=>({item:a,index:b})).sort((a,b)=>{let d,e=N(a.item,z),f=N(b.item,z);return 0===(d="number"==typeof e&&"number"==typeof f?e<f?-1:+(e>f):String(e).localeCompare(String(f)))?a.index-b.index:d*c}).map(({item:a})=>a))}},[r?.agents,x,z,B]);return(0,b.jsxs)("div",{className:"space-y-6 p-6",children:[(0,b.jsx)(k.PageHeader,{title:"Agents",description:(0,b.jsxs)(b.Fragment,{children:["Every Agent that exists — shipped ",(0,b.jsx)("strong",{children:"System"})," routines (morning routine, reviews, hourly check, …) and your own ",(0,b.jsx)("strong",{children:"User"})," Agents — with its schedule, status, and recent health. This is the identity view; the"," ",(0,b.jsx)(d.default,{href:"/schedule",className:"underline underline-offset-2 hover:text-foreground",children:"queue view"})," ","shows what is about to fire."]}),actions:(0,b.jsx)(K,{trigger:(0,b.jsxs)(l.Button,{children:[(0,b.jsx)(g.Plus,{className:"mr-1 h-4 w-4"}),"New Agent"]})})}),D.length>0&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("h2",{className:"flex items-center gap-2 text-sm font-semibold text-foreground",children:[(0,b.jsx)(h.AlertTriangle,{className:"h-4 w-4 text-amber-500"}),"Needs attention"]}),D.map(a=>(0,b.jsx)(d.default,{href:`/agents/${a.slug}`,className:"block",children:(0,b.jsx)(n.Alert,{variant:"warning",className:"hover:bg-amber-100/60 dark:hover:bg-amber-950/60",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-medium",children:a.slug}),(0,b.jsx)(m.Badge,{variant:"builtin"===a.kind?"blue":"gray",children:(0,L.kindLabel)(a.kind)}),(0,b.jsx)("span",{className:"text-muted-foreground",children:a.last_error??"Definition failed to load"})]})})},a.slug))]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3",role:"toolbar","aria-label":"Agent filters",children:[(0,b.jsx)("div",{className:"flex flex-wrap gap-1",children:O.map(a=>(0,b.jsx)(l.Button,{variant:x.kind===a.value?"default":"outline",size:"sm",onClick:()=>y(b=>({...b,kind:a.value})),"aria-pressed":x.kind===a.value,children:a.label},a.value))}),(0,b.jsx)(o.Separator,{orientation:"vertical",className:"h-6"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1",children:P.map(a=>(0,b.jsx)(l.Button,{variant:x.status===a.value?"default":"outline",size:"sm",onClick:()=>y(b=>({...b,status:a.value})),"aria-pressed":x.status===a.value,children:a.label},a.value))}),(0,b.jsx)(o.Separator,{orientation:"vertical",className:"h-6"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1",role:"group","aria-label":"Filter by cadence",children:Q.map(a=>(0,b.jsx)(l.Button,{variant:x.cadence===a.value?"default":"outline",size:"sm",onClick:()=>y(b=>({...b,cadence:a.value})),"aria-pressed":x.cadence===a.value,title:"interval"===a.value?"Agents that fire every N minutes/hours (e.g. hourly check)":"scheduled"===a.value?"Agents that fire at a fixed daily/weekly time":void 0,children:a.label},a.value))}),(0,b.jsx)("input",{type:"search",value:x.search,onChange:a=>y(b=>({...b,search:a.target.value})),placeholder:"Search agents…","aria-label":"Search agents",className:"ml-auto h-8 w-56 rounded-md border border-border bg-background px-2 text-sm"})]}),(0,b.jsxs)(q.QueryResult,{isLoading:s,isError:t,error:u,onRetry:()=>w(),skeleton:(0,b.jsx)(q.TableSkeleton,{rows:6}),children:[(0,b.jsx)("div",{className:"overflow-x-auto rounded-xl border border-border",children:(0,b.jsxs)("table",{className:"w-full text-left","aria-label":"Agents",children:[(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{className:"border-b border-border bg-muted/50",children:R.map(a=>(0,b.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:(0,b.jsxs)("button",{type:"button",onClick:()=>{var b;(b=a.key)===z?C(a=>"asc"===a?"desc":"asc"):(A(b),C("last"===b?"desc":"asc"))},className:"inline-flex items-center gap-1 hover:text-foreground","aria-label":`Sort by ${a.label}`,children:[a.label,(0,b.jsx)(i,{className:(0,v.cn)("h-3 w-3",z===a.key?"text-foreground":"text-muted-foreground/40")})]})},a.key))})}),(0,b.jsx)("tbody",{children:E.map(c=>(0,b.jsx)(S,{agent:c,running:a.has(c.slug),onClick:()=>j.push(`/agents/${c.slug}`)},c.slug))})]})}),0===E.length&&(0,b.jsx)(p.EmptyState,{icon:f.Bot,title:"No agents match",description:"Adjust the filters, or create a new Agent."})]})]})}],20472)}];
|
|
5
|
+
`),h.slug.trim())}},disabled:a,children:a?"Creating…":"Create agent"}),(0,b.jsx)(t.Button,{variant:"outline",onClick:g,disabled:a,children:"Cancel"})]})]})}var T=a.i(94695),U=a.i(11200),V=a.i(3031);function W({trigger:a}){let[d,e]=(0,c.useState)(!1),[f,g]=(0,c.useState)("form"),h=(0,U.useSaveUserAgent)(),i=(0,z.useRouter)(),[j,k]=(0,c.useState)(null),{data:l}=(0,U.useAgents)({include_invalid:!0}),m=(0,c.useMemo)(()=>(l?.agents??[]).map(a=>a.slug),[l?.agents]),n=(a,b)=>{k(null),h.mutate({slug:b,content:a},{onSuccess:()=>{e(!1),i.push(`/agents/${b}`)}})};return(0,b.jsxs)(A.Dialog,{open:d,onOpenChange:a=>{e(a),a||(k(null),g("form"))},children:[(0,b.jsx)(A.DialogTrigger,{asChild:!0,children:a}),(0,b.jsxs)(A.DialogContent,{className:"max-h-[88vh] max-w-2xl overflow-y-auto",children:[(0,b.jsxs)(A.DialogHeader,{children:[(0,b.jsx)(A.DialogTitle,{children:"New Agent"}),(0,b.jsx)(A.DialogDescription,{children:"form"===f?(0,b.jsxs)(b.Fragment,{children:["Fill in the fields below to create a User Agent. Saving writes"," ",(0,b.jsx)("code",{children:"policies/agents/<id>/agent.md"})," through the context vault."]}):(0,b.jsxs)(b.Fragment,{children:["Define a user Agent in YAML. The ",(0,b.jsx)("code",{children:"slug"})," becomes its URL and directory name. Saving writes ",(0,b.jsx)("code",{children:"policies/agents/<slug>/agent.md"})," through the context vault."]})})]}),(0,b.jsxs)("div",{className:"mb-3 flex gap-1",children:[(0,b.jsx)(t.Button,{type:"button",size:"sm",variant:"form"===f?"default":"outline",onClick:()=>g("form"),"aria-pressed":"form"===f,children:"Form"}),(0,b.jsx)(t.Button,{type:"button",size:"sm",variant:"yaml"===f?"default":"outline",onClick:()=>g("yaml"),"aria-pressed":"yaml"===f,children:"Advanced (YAML)"})]}),"form"===f?(0,b.jsx)(S,{saving:h.isPending,saveError:j??(h.isError?h.error.message:null),existingSlugs:m,onSave:n,onCancel:()=>e(!1)}):(0,b.jsx)(T.UserAgentYamlEditor,{initialContent:(0,V.scaffoldUserAgentMarkdown)("my-agent"),saving:h.isPending,saveError:j??(h.isError?h.error.message:null),onSave:a=>{k(null);let b=(0,V.slugFromMarkdown)(a);b?n(a,b):k("The definition must declare a `slug:` field.")},onCancel:()=>e(!1),allowUnchanged:!0})]})]})}var X=a.i(39259);let Y={search:"",kind:"all",status:"all",cadence:"all"};var Z=a.i(7621);let $=[{value:"all",label:"All"},{value:"builtin",label:"System"},{value:"user",label:"User"}],_=[{value:"all",label:"All"},{value:"enabled",label:"Enabled"},{value:"disabled",label:"Disabled"}],aa=[{value:"all",label:"All"},{value:"interval",label:"Interval"},{value:"scheduled",label:"Scheduled"}],ab={"morning-routine":p,"evening-review":q,"weekly-review":j.CalendarRange,"monthly-review":i,"activity-scan":e.Activity,"user-profile-sweep-morning":r,"user-profile-sweep-evening":r,"roadmap-maintenance":m,"context-index-reconcile":l,"skill-curation":o.Sparkles};function ac({group:a,running:c}){return(0,b.jsxs)("section",{"aria-label":a.meta.label,className:"space-y-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:a.meta.label}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a.meta.description})]}),(0,b.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:a.items.map(a=>(0,b.jsx)(ad,{agent:a,running:c.has(a.slug)},a.slug))})]})}function ad({agent:a,running:c}){let e=ab[a.slug]??g.Bot,f=a.schedule.interval?`${(0,X.formatIntervalEvery)(a.schedule.interval)}${(0,X.formatActiveHours)(a.schedule.interval)?`, ${(0,X.formatActiveHours)(a.schedule.interval)}`:""}`:(0,X.describeSchedule)(a.schedule),h=a.last_execution,i=a.metrics_7d.executions>0;return(0,b.jsxs)(d.default,{href:`/agents/${a.slug}`,className:(0,D.cn)("group flex flex-col gap-3 rounded-xl border border-border bg-card p-4 transition-colors","hover:border-primary/40 hover:bg-muted/30",!a.enabled&&"opacity-70"),"aria-label":`${a.name} — ${a.enabled?"enabled":"disabled"}`,children:[(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("span",{className:(0,D.cn)("mt-0.5 flex h-9 w-9 shrink-0 items-center justify-center rounded-lg",a.enabled?"bg-primary/10 text-primary":"bg-muted text-muted-foreground"),children:(0,b.jsx)(e,{className:"h-4.5 w-4.5","aria-hidden":!0})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"truncate font-medium text-foreground",children:a.name}),c&&(0,b.jsx)("span",{className:"h-1.5 w-1.5 shrink-0 animate-pulse rounded-full bg-success","aria-label":"executing"})]}),(0,b.jsx)("p",{className:"mt-0.5 line-clamp-2 text-xs leading-relaxed text-muted-foreground",children:a.description||a.slug})]}),(0,b.jsx)(u.Badge,{variant:a.enabled?"green":"gray",className:"shrink-0",children:a.enabled?"ON":"OFF"})]}),(0,b.jsxs)("div",{className:"mt-auto flex items-center justify-between gap-2 text-xs text-muted-foreground",children:[(0,b.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-1.5",children:[(0,b.jsx)(k.Clock,{className:"h-3 w-3 shrink-0","aria-hidden":!0}),(0,b.jsx)("span",{className:"truncate",children:f})]}),(0,b.jsxs)("span",{className:"flex shrink-0 items-center gap-3 tabular-nums",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",title:"Last run",children:[(0,b.jsx)("span",{className:(0,D.cn)("h-1.5 w-1.5 rounded-full",function(a){switch(a){case"success":return"bg-success";case"error":case"timeout":return"bg-destructive";case"skipped":return"bg-muted-foreground/50";default:return"bg-muted-foreground/30"}}(h?.result)),"aria-hidden":!0}),h?.started_at?(0,D.formatRelativeTime)(h.started_at):"never"]}),i&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{title:"7-day error rate",children:(0,X.formatPercent)(a.metrics_7d.error_rate)}),(0,b.jsx)("span",{title:"Average cost per execution (7d)",children:(0,X.formatCostUsd)(a.metrics_7d.avg_cost_usd)})]})]})]})]})}a.s(["default",0,function(){(0,U.useAgentLiveRefresh)();let a=(0,U.useRunningAgents)(),{data:e,isLoading:h,isError:i,error:j,refetch:k}=(0,U.useAgents)({include_invalid:!0}),[l,m]=(0,c.useState)(Y),{invalid:o,groups:p}=(0,c.useMemo)(()=>{let a,{invalid:b,valid:c}=function(a){let b=[],c=[];for(let d of a)(d.invalid?b:c).push(d);return{invalid:b,valid:c}}(e?.agents??[]),d=(a=l.search.trim().toLowerCase(),c.filter(b=>{if("all"!==l.kind&&b.kind!==l.kind||"enabled"===l.status&&!b.enabled||"disabled"===l.status&&b.enabled)return!1;if("all"!==l.cadence){let a=(0,X.isIntervalSchedule)(b.schedule);if("interval"===l.cadence&&!a||"scheduled"===l.cadence&&a)return!1}return(!(a.length>0)||!![b.slug,b.name,b.description,...b.tags].join(" ").toLowerCase().includes(a))&&!0}));return{invalid:b,groups:(0,Z.groupByCategory)(d)}},[e?.agents,l]),q=p.reduce((a,b)=>a+b.items.length,0);return(0,b.jsxs)("div",{className:"space-y-6 p-6",children:[(0,b.jsx)(s.PageHeader,{title:"Agents",description:(0,b.jsxs)(b.Fragment,{children:["Everything that runs on your behalf lives here — the shipped"," ",(0,b.jsx)("strong",{children:"System"})," routines (synthesis, monitoring, maintenance) and your own"," ",(0,b.jsx)("strong",{children:"User"})," Agents, each with its schedule, rulebook, limits, and recent health. The"," ",(0,b.jsx)(d.default,{href:"/schedule",className:"underline underline-offset-2 hover:text-foreground",children:"queue view"})," ","shows what is about to fire."]}),actions:(0,b.jsx)(W,{trigger:(0,b.jsxs)(t.Button,{children:[(0,b.jsx)(n.Plus,{className:"mr-1 h-4 w-4"}),"New Agent"]})})}),o.length>0&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("h2",{className:"flex items-center gap-2 text-sm font-semibold text-foreground",children:[(0,b.jsx)(f.AlertTriangle,{className:"h-4 w-4 text-warning"}),"Needs attention"]}),o.map(a=>(0,b.jsx)(d.default,{href:`/agents/${a.slug}`,className:"block",children:(0,b.jsx)(v.Alert,{variant:"warning",className:"hover:bg-warning/15",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-medium",children:a.slug}),(0,b.jsx)(u.Badge,{variant:"builtin"===a.kind?"blue":"gray",children:(0,X.kindLabel)(a.kind)}),(0,b.jsx)("span",{className:"text-muted-foreground",children:a.last_error??"Definition failed to load"})]})})},a.slug))]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3",role:"toolbar","aria-label":"Agent filters",children:[(0,b.jsx)("div",{className:"flex flex-wrap gap-1",children:$.map(a=>(0,b.jsx)(t.Button,{variant:l.kind===a.value?"default":"outline",size:"sm",onClick:()=>m(b=>({...b,kind:a.value})),"aria-pressed":l.kind===a.value,children:a.label},a.value))}),(0,b.jsx)(w.Separator,{orientation:"vertical",className:"h-6"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1",children:_.map(a=>(0,b.jsx)(t.Button,{variant:l.status===a.value?"default":"outline",size:"sm",onClick:()=>m(b=>({...b,status:a.value})),"aria-pressed":l.status===a.value,children:a.label},a.value))}),(0,b.jsx)(w.Separator,{orientation:"vertical",className:"h-6"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1",role:"group","aria-label":"Filter by cadence",children:aa.map(a=>(0,b.jsx)(t.Button,{variant:l.cadence===a.value?"default":"outline",size:"sm",onClick:()=>m(b=>({...b,cadence:a.value})),"aria-pressed":l.cadence===a.value,title:"interval"===a.value?"Agents that fire every N minutes/hours (e.g. activity scan)":"scheduled"===a.value?"Agents that fire at a fixed daily/weekly time":void 0,children:a.label},a.value))}),(0,b.jsx)("input",{type:"search",value:l.search,onChange:a=>m(b=>({...b,search:a.target.value})),placeholder:"Search agents…","aria-label":"Search agents",className:"ml-auto h-8 w-56 rounded-md border border-border bg-background px-2 text-sm"})]}),(0,b.jsxs)(y.QueryResult,{isLoading:h,isError:i,error:j,onRetry:()=>k(),skeleton:(0,b.jsx)(y.TableSkeleton,{rows:6}),children:[(0,b.jsx)("div",{className:"space-y-8",children:p.map(c=>(0,b.jsx)(ac,{group:c,running:a},c.category))}),0===q&&(0,b.jsx)(x.EmptyState,{icon:g.Bot,title:"No agents match",description:"Adjust the filters, or create a new Agent."})]})]})}],20472)}];
|
|
6
6
|
|
|
7
7
|
//# sourceMappingURL=packages_dashboard_src_app_agents_page_tsx_0simg3k._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[73741,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(82508),e=a.i(9306),f=a.i(87206),g=a.i(126);a.i(70010);var h=a.i(58906),i=a.i(55522),j=a.i(45663),k=a.i(41010),l=a.i(30400),m=a.i(21218),n=a.i(7384),o=a.i(48558),p=a.i(40091);let q=()=>(0,b.jsx)("div",{className:"h-[300px] animate-pulse rounded-lg bg-muted/20"}),r=(0,g.default)(async()=>{},{loadableGenerated:{modules:[67754]},ssr:!1,loading:q}),s=(0,g.default)(async()=>{},{loadableGenerated:{modules:[56592]},ssr:!1,loading:q}),t=(0,g.default)(async()=>{},{loadableGenerated:{modules:[89481]},ssr:!1,loading:q}),u=(0,g.default)(async()=>{},{loadableGenerated:{modules:[96241]},ssr:!1,loading:q}),v=[{value:"daily",label:"Daily"},{value:"weekly",label:"Weekly"},{value:"monthly",label:"Monthly"}];function w({enabled:a=!0}){let[d,f]=(0,c.useState)("daily"),[g,q]=(0,c.useState)("overview"),{data:y,isLoading:z,isError:A,error:B,refetch:C}=(0,i.useCost)(d,{enabled:a}),{data:D}=(0,j.useMetrics)({enabled:a}),E=[{label:"Today",value:y?.today.costUsd??0,sub:`${y?.today.sessions??0} sessions`},{label:"Last 7 Days",value:D?.cost.last7dUsd??0},{label:"Last 30 Days",value:D?.cost.last30dUsd??0}],F=(0,h.getBackendIds)().map(a=>{let b=y?.byBackend.find(b=>b.backend===a);return{backendId:a,totalCost:b?.total_cost??0,sessions:b?.session_count??0}}),G=F.reduce((a,b)=>a+b.totalCost,0);return(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)(k.QueryResult,{isLoading:z&&!y,isError:!1,skeleton:(0,b.jsx)(k.CardSkeleton,{count:3}),children:(0,b.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-3",children:E.map(a=>(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardStatLabel,{children:a.label})}),(0,b.jsx)(l.CardValue,{children:(0,o.formatCurrency)(a.value)}),a.sub&&(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:a.sub})]},a.label))})}),(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-3",children:(0,b.jsx)("div",{className:"flex gap-1",children:v.map(a=>(0,b.jsx)(m.Button,{variant:d===a.value?"default":"outline",size:"sm",onClick:()=>f(a.value),children:a.label},a.value))})}),(0,b.jsx)(k.QueryResult,{isLoading:z,isError:A,error:B,onRetry:()=>C(),skeleton:(0,b.jsx)(k.CardSkeleton,{count:3}),children:(0,b.jsxs)(e.Tabs,{value:g,onValueChange:q,children:[(0,b.jsxs)(e.TabsList,{children:[(0,b.jsx)(e.TabsTrigger,{value:"overview",children:"Overview"}),(0,b.jsx)(e.TabsTrigger,{value:"backend",children:"By Backend"})]}),(0,b.jsxs)(e.TabsContent,{value:"overview",children:[(0,b.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,b.jsxs)(l.Card,{className:"lg:col-span-2",children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:"Cost Trend"})}),(0,b.jsx)(r,{data:y?.byPeriod??[]})]}),(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:"Model Breakdown"})}),(0,b.jsx)(s,{data:y?.byModel??[]})]}),(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:"By Event Type"})}),(0,b.jsx)(t,{data:y?.byEventType??[]})]})]}),(0,b.jsx)(x,{})]}),(0,b.jsx)(e.TabsContent,{value:"backend",children:(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-3",children:F.map(a=>(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(l.CardStatLabel,{children:(0,p.getBackendShortLabel)(a.backendId)}),(0,b.jsxs)(n.Badge,{variant:p.BACKEND_BADGE_VARIANTS[a.backendId],children:[a.sessions," sessions"]})]})}),(0,b.jsx)(l.CardValue,{children:(0,o.formatCurrency)(a.totalCost)}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:G>0?`${(a.totalCost/G*100).toFixed(1)}% of selected window`:"No spend in selected window"})]},a.backendId))}),(0,b.jsxs)("div",{className:"grid gap-6 lg:grid-cols-[2fr,1fr]",children:[(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:"Backend Cost Trend"})}),(0,b.jsx)(u,{data:y?.byBackendPeriod??[]})]}),(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:"Backend Totals"})}),(0,b.jsx)("div",{className:"space-y-3",children:F.map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between rounded-lg border border-border/70 px-3 py-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"flex items-center gap-2",children:(0,b.jsx)(n.Badge,{variant:p.BACKEND_BADGE_VARIANTS[a.backendId],children:(0,p.getBackendShortLabel)(a.backendId)})}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[a.sessions," runs"]})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsx)("p",{className:"text-sm font-semibold text-foreground",children:(0,o.formatCurrency)(a.totalCost)}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Avg ",(0,o.formatCurrency)(a.sessions>0?a.totalCost/a.sessions:0)]})]})]},a.backendId))}),(0,b.jsx)("p",{className:"mt-4 text-xs text-muted-foreground",children:"Backend analytics reflect the backend that actually executed each run, not just the configured preferred backend."}),(0,b.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:"Gemini may auto-route to a different runtime model than the configured preferred model. The totals here reflect the model and backend that actually ran."})]})]})]})})]})})]})}function x(){return(0,b.jsxs)("p",{className:"mt-4 text-xs text-muted-foreground",children:["Only ",(0,b.jsx)("strong",{children:"cross-backend"}),"delegated calls show up under per-tool delegated-proxy telemetry — calls where your DM session runs on a different backend than the connector's owner. Same-backend delegated calls (for example, a Codex DM session using Codex's own Gmail connector) skip the proxy and roll up under the parent session's totals. Per-tool cost isn't measurable in those cases."]})}var y=a.i(62588),z=a.i(59974),A=a.i(5260);let B={good:"Good",warn:"Warning",crit:"Critical"},C={good:"#10b981",warn:"#f59e0b",crit:"#ef4444",neutral:"#94a3b8"};function D({level:a}){return"neutral"===a?null:(0,b.jsxs)("span",{className:"flex items-center gap-1.5 text-xs",children:[(0,b.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${"good"===a?"bg-emerald-500":"warn"===a?"bg-amber-500":"bg-red-500"}`}),(0,b.jsx)("span",{className:"good"===a?"text-emerald-500":"warn"===a?"text-amber-500":"text-red-500",children:B[a]})]})}function E({daily:a,days:c,snapshot:d}){let e,f,g,h,i,j,k,m,n,p,q,r,s,t,u,v=(e=0===c?"today":`${c}d`,f=0===c?"today":`${c}-day`,g=a.reduce((a,b)=>a+b.executions,0),h=a.reduce((a,b)=>a+b.failures,0),i=g>0?(g-h)/g:null,j=a.map(a=>a.executions>0?(a.executions-a.failures)/a.executions:null),k=a.map(a=>a.executions>0?a.failures:null),m=d?.responseTime.p50??null,n=d?.responseTime.p95??null,p=null!==m&&null!==n?`${(0,o.formatDuration)(m)} / ${(0,o.formatDuration)(n)}`:"—",r=null!==(q=d?.notificationConfirmRate??null)?`${Math.round(100*q)}%`:"—",s=d?.notificationCounts.delivered??0,t=d?.notificationCounts.reacted??0,u=a.map(a=>a.notificationsDelivered>0?a.notificationsReacted/a.notificationsDelivered:null),[{title:"Success Rate",value:null!==i?`${(100*i).toFixed(1)}%`:"—",subtitle:null!==i?`${g-h} / ${g} ok`:"no data",level:null===i?"neutral":i>=.95?"good":i>=.8?"warn":"crit",sparkline:j},{title:`Errors (${e})`,value:String(h),subtitle:0===h?"no failures":0===c?"today total":`${f} total`,level:0===h?"good":h<=5?"warn":"crit",sparkline:k},{title:"Response P50 / P95",value:p,subtitle:"rolling 30d",level:"neutral",sparkline:null},{title:"Reaction Rate",value:r,subtitle:void 0!==d?`${t} of ${s} in 30d`:"rolling 30d",level:"neutral",sparkline:u}]);return(0,b.jsx)("div",{className:"grid grid-cols-2 gap-4 md:grid-cols-4",children:v.map(a=>(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardStatLabel,{children:a.title})}),(0,b.jsx)(l.CardValue,{className:"text-2xl",children:a.value}),(0,b.jsx)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:a.subtitle}),(0,b.jsxs)("div",{className:"mt-2 flex items-end justify-between",children:[null!==a.sparkline?(0,b.jsx)(A.Sparkline,{values:a.sparkline,color:C[a.level],ariaLabel:`${a.title} trend`}):(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsx)(D,{level:a.level})]})]},a.title))})}var F=a.i(869);let G=["Mon","","Wed","","Fri","",""];function H({data:a}){let{days:c,numWeeks:d}=function(a){let b=new Map(a.map(a=>[a.date,a.count])),c=new Date,d=new Date(c);d.setDate(c.getDate()-83);let e=d.getDay();d.setDate(d.getDate()+(0===e?-6:1-e));let f=[],g=new Date(d),h=0,i=-1;for(;g<=c;){let a=g.toISOString().slice(0,10),c=0===g.getDay()?6:g.getDay()-1,e=Math.floor((g.getTime()-d.getTime())/6048e5);e!==i&&(h=e,i=e),f.push({date:a,count:b.get(a)??0,dow:c,week:h}),g.setDate(g.getDate()+1)}return{days:f,numWeeks:h+1}}(a),e=Math.max(...c.map(a=>a.count),1);return(0,b.jsxs)(l.Card,{children:[(0,b.jsxs)(l.CardHeader,{children:[(0,b.jsx)(l.CardTitle,{children:"Activity"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"Last 12 weeks · fixed range (does not follow period selector)"})]}),(0,b.jsxs)("div",{className:"flex gap-2 overflow-x-auto pb-2",children:[(0,b.jsx)("div",{className:"flex flex-col gap-[3px] pt-0",children:G.map((a,c)=>(0,b.jsx)("div",{className:"flex h-[13px] w-6 items-center text-[10px] text-muted-foreground",children:a},c))}),(0,b.jsx)("div",{className:"grid gap-[3px]",style:{gridTemplateColumns:`repeat(${d}, 13px)`,gridTemplateRows:"repeat(7, 13px)",gridAutoFlow:"column"},children:c.map(a=>(0,b.jsxs)(F.Tooltip,{delayDuration:0,children:[(0,b.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("div",{className:`h-[13px] w-[13px] rounded-[2px] ${function(a,b){if(0===a)return"bg-muted/40";let c=a/b;return c<=.25?"bg-emerald-200 dark:bg-emerald-900/60":c<=.5?"bg-emerald-400 dark:bg-emerald-700/80":c<=.75?"bg-emerald-500 dark:bg-emerald-600":"bg-emerald-600 dark:bg-emerald-500"}(a.count,e)}`})}),(0,b.jsxs)(F.TooltipContent,{side:"top",className:"text-xs",children:[(0,b.jsx)("span",{className:"font-medium",children:a.count})," execution",1!==a.count?"s":""," on ",a.date]})]},a.date))})]}),(0,b.jsxs)("div",{className:"mt-2 flex items-center gap-1.5 text-[10px] text-muted-foreground",children:[(0,b.jsx)("span",{children:"Less"}),(0,b.jsx)("div",{className:"h-[10px] w-[10px] rounded-[2px] bg-muted/40"}),(0,b.jsx)("div",{className:"h-[10px] w-[10px] rounded-[2px] bg-emerald-200 dark:bg-emerald-900/60"}),(0,b.jsx)("div",{className:"h-[10px] w-[10px] rounded-[2px] bg-emerald-400 dark:bg-emerald-700/80"}),(0,b.jsx)("div",{className:"h-[10px] w-[10px] rounded-[2px] bg-emerald-500 dark:bg-emerald-600"}),(0,b.jsx)("div",{className:"h-[10px] w-[10px] rounded-[2px] bg-emerald-600 dark:bg-emerald-500"}),(0,b.jsx)("span",{children:"More"})]})]})}function I({daily:a}){let c=a.reduce((a,b)=>a+b.executionsAutonomous,0),d=a.reduce((a,b)=>a+b.contextUpdatesAutonomous,0),e=a.reduce((a,b)=>a+b.executionsReactive,0),f=a.reduce((a,b)=>a+b.contextUpdatesReactive,0),g=a=>null!==a?`${(100*a).toFixed(0)}%`:"—";return(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:"Context Update Rate"})}),(0,b.jsx)("p",{className:"mb-3 text-xs text-muted-foreground",children:"Share of executions that wrote to context MD files."}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Autonomous"}),(0,b.jsx)(l.CardValue,{className:"text-2xl",children:g(c>0?d/c:null)}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:[d," / ",c]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Reactive"}),(0,b.jsx)(l.CardValue,{className:"text-2xl",children:g(e>0?f/e:null)}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:[f," / ",e]})]})]})]})}var J=a.i(62988),K=a.i(82687),L=a.i(3504),M=a.i(55140),N=a.i(5423);let O=(0,N.default)("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);var P=a.i(52938),Q=a.i(13808);let R={quota:{label:"Rate Limit / Quota",icon:L.Clock,badgeVariant:"amber",docId:"troubleshooting/quota-exhausted"},timeout:{label:"Timeout",icon:L.Clock,badgeVariant:"amber"},auth:{label:"Authentication",icon:M.KeyRound,badgeVariant:"red",docId:"troubleshooting/auth-failed"},network:{label:"Network",icon:O,badgeVariant:"amber"},other:{label:"Other",icon:P.HelpCircle,badgeVariant:"gray"}};function S({errors:a,days:c}){let d=a.reduce((a,b)=>a+b.count,0);return(0,b.jsxs)(l.Card,{children:[(0,b.jsxs)(l.CardHeader,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(l.CardTitle,{children:"Errors"}),d>0&&(0,b.jsx)(n.Badge,{variant:"red",className:"text-xs",children:d})]}),(0,b.jsx)(J.default,{href:"/activity",className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"View all →"})]}),0===a.length?(0,b.jsxs)("div",{className:"flex items-center gap-2 py-4 text-sm text-muted-foreground",children:[(0,b.jsx)(K.CheckCircle2,{className:"h-4 w-4 text-emerald-500"}),"No errors in the last ",c," days"]}):(0,b.jsx)("div",{className:"space-y-2",children:a.map(a=>{let c=R[a.category]??R.other,d=c.icon;return(0,b.jsxs)("div",{className:"flex items-start gap-3 rounded-lg border border-border/70 px-3 py-2.5",children:[(0,b.jsx)(d,{className:"mt-0.5 h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:c.label}),(0,b.jsxs)(n.Badge,{variant:c.badgeVariant,className:"text-[10px]",children:[a.count,"×"]}),a.backend&&(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:a.backend})]}),(0,b.jsx)("p",{className:"mt-0.5 truncate text-xs text-muted-foreground",children:a.sampleMessage}),(0,b.jsxs)("div",{className:"mt-0.5 flex items-center justify-between gap-2",children:[(0,b.jsxs)("p",{className:"text-[10px] font-mono tabular-nums text-muted-foreground",children:["Last:"," ",(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{children:(0,o.formatShortDateTime)(a.lastSeen)})}),(0,b.jsxs)(F.TooltipContent,{children:[(0,o.formatAbsoluteTime)(a.lastSeen)," (",(0,o.formatRelativeTime)(a.lastSeen),")"]})]})]}),c.docId&&(0,b.jsx)(Q.DocsLearnMore,{docId:c.docId,label:"Learn more →"})]})]})]},a.category)})})]})}function T({snapshot:a}){let c=a?.advisorCallRate??null,d=void 0!==a?a.modelCounts.sonnetSessions+a.modelCounts.opusSessions:0,e=null!==c?`${c.toFixed(2)} calls / session`:"—";return(0,b.jsxs)(l.Card,{children:[(0,b.jsxs)(l.CardHeader,{children:[(0,b.jsx)(l.CardTitle,{className:"text-base",children:"Advisor Usage"}),(0,b.jsx)("span",{className:"text-[11px] text-muted-foreground",children:"Claude runs only"})]}),(0,b.jsxs)("div",{className:"flex items-baseline gap-3",children:[(0,b.jsx)("span",{className:"text-2xl font-bold text-foreground",children:e}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:["Based on ",d," Claude run",1===d?"":"s"," in last 30d"]})]})]})}var U=a.i(32307);let V=(0,N.default)("MessageSquareReply",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}],["path",{d:"m10 7-3 3 3 3",key:"1eugdv"}],["path",{d:"M17 13v-1a2 2 0 0 0-2-2H7",key:"ernfh3"}]]);function W({snapshot:a}){let c=a?.proactiveForwardResume,d=c?.ratio??null,e=null===d?null:Math.round(1e3*d)/10,f=Math.round((c?.threshold??.05)*100),g=null!==d&&void 0!==c&&d>=c.threshold,h=g?U.AlertTriangle:K.CheckCircle2;return(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(V,{className:"h-4 w-4 text-muted-foreground"}),(0,b.jsx)(l.CardTitle,{children:"Forwarded DM Context"}),g&&(0,b.jsx)(n.Badge,{variant:"amber",className:"text-[10px]",children:"Watch"})]})}),c&&0!==c.injected?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3 rounded-lg border border-border/70 px-3 py-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h,{className:g?"h-4 w-4 text-amber-500":"h-4 w-4 text-emerald-500"}),(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Disavowal ratio"})]}),(0,b.jsxs)("span",{className:"font-mono text-lg tabular-nums text-foreground",children:[e,"%"]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-2 text-xs text-muted-foreground",children:[(0,b.jsxs)("div",{className:"rounded-md border border-border/70 px-3 py-2",children:[(0,b.jsx)("div",{className:"font-mono text-sm tabular-nums text-foreground",children:c.injected}),(0,b.jsx)("div",{children:"Injected"})]}),(0,b.jsxs)("div",{className:"rounded-md border border-border/70 px-3 py-2",children:[(0,b.jsx)("div",{className:"font-mono text-sm tabular-nums text-foreground",children:c.disavowed}),(0,b.jsx)("div",{children:"Disavowed"})]})]}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Fresh-session fallback threshold: ",f,"%"]})]}):(0,b.jsxs)("div",{className:"flex items-center gap-2 py-4 text-sm text-muted-foreground",children:[(0,b.jsx)(K.CheckCircle2,{className:"h-4 w-4 text-emerald-500"}),"No forwarded notifications injected in the last 30 days"]})]})}let X=(0,g.default)(async()=>{},{loadableGenerated:{modules:[15616]},ssr:!1,loading:()=>(0,b.jsx)("div",{className:"h-[280px] animate-pulse rounded-lg bg-muted/20"})}),Y=[{value:0,label:"Today"},{value:7,label:"7d"},{value:30,label:"30d"}];function Z({enabled:a=!0}){let[d,e]=(0,c.useState)(7),{data:f,isLoading:g,isError:h,error:i,refetch:n}=function(a=30,b){return(0,y.useQuery)({queryKey:["metrics-timeseries",a],queryFn:()=>z.api.get("/metrics/timeseries",{days:a}),refetchInterval:6e4,enabled:b?.enabled??!0})}(d,{enabled:a}),{data:o}=(0,j.useMetrics)({enabled:a});return(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)("div",{className:"flex items-center justify-end",children:(0,b.jsx)("div",{className:"flex gap-1",children:Y.map(a=>(0,b.jsx)(m.Button,{variant:d===a.value?"default":"outline",size:"sm",onClick:()=>e(a.value),children:a.label},a.value))})}),(0,b.jsx)(k.QueryResult,{isLoading:g,isError:h,error:i,onRetry:()=>n(),skeleton:(0,b.jsx)(k.CardSkeleton,{count:4}),children:f&&(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)(E,{daily:f.daily,days:d,snapshot:o}),(0,b.jsx)(H,{data:f.heatmap}),(0,b.jsxs)("div",{className:"grid gap-6 lg:grid-cols-[2fr,1fr]",children:[(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:"Execution Breakdown"})}),(0,b.jsx)("p",{className:"-mt-2 mb-3 text-xs text-muted-foreground",children:"Reactive failures break owner dialogue; autonomous failures break background work."}),(0,b.jsx)(X,{data:f.daily})]}),(0,b.jsx)(I,{daily:f.daily})]}),(0,b.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,b.jsx)(S,{errors:f.recentErrors,days:d}),(0,b.jsx)(W,{snapshot:o})]}),(0,b.jsx)(T,{snapshot:o})]})})]})}function $(){let a=(0,d.useSearchParams)(),c=(0,d.useRouter)(),g=a.get("tab")??"cost";return(0,b.jsxs)("div",{className:"flex min-h-full flex-col p-6 pb-8",children:[(0,b.jsx)(f.PageHeader,{className:"mb-4",title:"Analytics",description:(0,b.jsxs)(b.Fragment,{children:["Usage and spend trends for the agent. ",(0,b.jsx)("strong",{children:"Cost"})," aggregates per-run USD spend (computed from token counts × backend pricing) across days, weeks, and months, broken down by backend and process. ",(0,b.jsx)("strong",{children:"Metrics"}),"shows operational health — activity volume, execution breakdown, error rates, notification throughput. Data is derived from the daemon’s local SQLite database, not sent anywhere external."]})}),(0,b.jsxs)(e.Tabs,{value:g,onValueChange:a=>{c.replace(`/analytics?tab=${a}`,{scroll:!1})},className:"flex flex-col",children:[(0,b.jsxs)(e.TabsList,{className:"w-fit",children:[(0,b.jsx)(e.TabsTrigger,{value:"cost",children:"Cost"}),(0,b.jsx)(e.TabsTrigger,{value:"metrics",children:"Metrics"})]}),(0,b.jsx)(e.TabsContent,{value:"cost",className:"mt-4",children:(0,b.jsx)(w,{enabled:"cost"===g})}),(0,b.jsx)(e.TabsContent,{value:"metrics",className:"mt-4",children:(0,b.jsx)(Z,{enabled:"metrics"===g})})]})]})}a.s(["default",0,function(){return(0,b.jsx)(c.Suspense,{children:(0,b.jsx)($,{})})}],73741)}];
|
|
1
|
+
module.exports=[73741,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(82508),e=a.i(9306),f=a.i(87206),g=a.i(126);a.i(70010);var h=a.i(58906),i=a.i(55522),j=a.i(45663),k=a.i(41010),l=a.i(30400),m=a.i(21218),n=a.i(7384),o=a.i(48558),p=a.i(40091),q=a.i(869),r=a.i(77836),s=a.i(56611);function t(a){return null==a?"—":`${Math.round(100*a)}%`}function u({breakdown:a,todayCostUsd:d,todaySessions:e}){var f,g;let h,[i,j]=(0,c.useState)(null),k=(f=a.byEventType,f.map(a=>({eventType:a.event_type,totalCost:a.total_cost,sessionCount:a.session_count,avgCost:a.session_count>0?a.total_cost/a.session_count:0,pct:d>0?Math.min(100,Math.max(0,a.total_cost/d*100)):0}))),m=(h=(g=a.tokens).input+g.cacheCreation+g.cacheRead)<=0?null:g.cacheRead/h,n=function(a){let b=0,c=0;for(let d of a)b+=d.total_cost,"autonomous"===d.trigger&&(c+=d.total_cost);return b<=0?null:Math.min(1,Math.max(0,c/b))}(a.byTrigger),p=e<=0?null:d/e;return(0,b.jsxs)("div",{className:"grid gap-6 lg:grid-cols-[2fr,1fr]",children:[(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:"Most Expensive Runs Today"})}),(0,b.jsx)("p",{className:"-mt-2 mb-3 text-xs text-muted-foreground",children:"The most expensive runs this agent day (top 15 shown — the panel on the right covers aggregate share). Click a row for the full detail."}),0===a.topActions.length?(0,b.jsx)("p",{className:"py-8 text-center text-sm text-muted-foreground",children:"No spend recorded today yet."}):(0,b.jsx)("div",{className:"overflow-x-auto rounded-xl border border-border",children:(0,b.jsxs)("table",{className:"w-full text-left","aria-label":"Most expensive runs today",children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{className:"border-b border-border bg-muted/50",children:[(0,b.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Time"}),(0,b.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Type"}),(0,b.jsx)("th",{className:"hidden xl:table-cell px-3 py-2 text-xs font-medium text-muted-foreground",children:"Trigger"}),(0,b.jsx)("th",{className:"hidden lg:table-cell px-3 py-2 text-xs font-medium text-muted-foreground",children:"Model"}),(0,b.jsx)("th",{className:"hidden xl:table-cell px-3 py-2 text-xs font-medium text-muted-foreground",children:"In / Out"}),(0,b.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Cost"}),(0,b.jsx)("th",{className:"hidden lg:table-cell px-3 py-2 text-xs font-medium text-muted-foreground",children:"Duration"}),(0,b.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Result"})]})}),(0,b.jsx)("tbody",{children:a.topActions.map(a=>(0,b.jsx)(r.EventRow,{event:a,onClick:()=>j(a)},a.id))})]})}),(0,b.jsx)(s.EventDetailSheet,{event:i,onClose:()=>j(null)})]}),(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:"By Process Today"})}),0===k.length?(0,b.jsx)("p",{className:"py-4 text-center text-sm text-muted-foreground",children:"No spend recorded today yet."}):(0,b.jsx)("div",{className:"space-y-3",children:k.map(a=>(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,b.jsx)("span",{className:"truncate font-mono text-xs text-foreground",children:a.eventType}),(0,b.jsx)("span",{className:"shrink-0 text-xs font-semibold tabular-nums text-foreground",children:(0,o.formatCurrency)(a.totalCost)})]}),(0,b.jsx)("div",{className:"mt-1 h-1.5 overflow-hidden rounded-full bg-muted",children:(0,b.jsx)("div",{className:"h-full rounded-full bg-primary",style:{width:`${a.pct}%`}})}),(0,b.jsxs)("p",{className:"mt-0.5 text-[11px] text-muted-foreground",children:[a.pct.toFixed(0),"% of today · ",a.sessionCount," ",1===a.sessionCount?"run":"runs"," · avg"," ",(0,o.formatCurrency)(a.avgCost)]})]},a.eventType))})]}),(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:"Today at a Glance"})}),(0,b.jsxs)("dl",{className:"space-y-3",children:[(0,b.jsx)(v,{label:"Cache hit rate",value:t(m),hint:"Cache-read share of all input-side tokens. Cache reads bill at a fraction of fresh input — a falling rate makes the same workload cost more."}),(0,b.jsx)(v,{label:"Autonomous spend share",value:t(n),hint:"Share of today's cost from background runs (routines, scans, scheduled tasks) rather than your own messages."}),(0,b.jsx)(v,{label:"Failed-run spend",value:(0,o.formatCurrency)(a.failed.costUsd),valueClassName:a.failed.costUsd>0?"text-destructive":void 0,hint:"Money spent on runs that ended in failure — paid for but produced no result.",sub:a.failed.sessions>0?`${a.failed.sessions} failed ${1===a.failed.sessions?"run":"runs"}`:void 0}),(0,b.jsx)(v,{label:"Avg cost per run",value:null!=p?(0,o.formatCurrency)(p):"—",hint:"Today's total divided by the number of costed runs."}),(0,b.jsx)(v,{label:"Tokens today",value:`${(0,o.formatTokenCount)(a.tokens.input+a.tokens.cacheCreation+a.tokens.cacheRead)} in / ${(0,o.formatTokenCount)(a.tokens.output)} out`,hint:"Total input-side tokens (fresh + cache write + cache read) and output tokens across today's costed runs."})]})]})]})]})}function v({label:a,value:c,hint:d,sub:e,valueClassName:f}){return(0,b.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,b.jsx)("dt",{className:"text-xs text-muted-foreground",children:(0,b.jsxs)(q.Tooltip,{children:[(0,b.jsx)(q.TooltipTrigger,{className:"cursor-default underline decoration-dotted underline-offset-2",children:a}),(0,b.jsx)(q.TooltipContent,{className:"max-w-64",children:d})]})}),(0,b.jsxs)("dd",{className:"text-right",children:[(0,b.jsx)("span",{className:(0,o.cn)("text-sm font-semibold tabular-nums text-foreground",f),children:c}),e&&(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:e})]})]})}let w=()=>(0,b.jsx)("div",{className:"h-[300px] animate-pulse rounded-lg bg-muted/20"}),x=(0,g.default)(async()=>{},{loadableGenerated:{modules:[67754]},ssr:!1,loading:w}),y=(0,g.default)(async()=>{},{loadableGenerated:{modules:[56592]},ssr:!1,loading:w}),z=(0,g.default)(async()=>{},{loadableGenerated:{modules:[89481]},ssr:!1,loading:w}),A=(0,g.default)(async()=>{},{loadableGenerated:{modules:[96241]},ssr:!1,loading:w}),B=[{value:"daily",label:"Daily"},{value:"weekly",label:"Weekly"},{value:"monthly",label:"Monthly"}];function C({enabled:a=!0}){let[d,f]=(0,c.useState)("daily"),[g,q]=(0,c.useState)("overview"),{data:r,isLoading:s,isError:t,error:v,refetch:w}=(0,i.useCost)(d,{enabled:a}),{data:E}=(0,j.useMetrics)({enabled:a}),F=[{label:"Today",value:r?.today.costUsd??0,sub:`${r?.today.sessions??0} sessions`},{label:"Last 7 Days",value:E?.cost.last7dUsd??0},{label:"Last 30 Days",value:E?.cost.last30dUsd??0}],G=(0,h.getBackendIds)().map(a=>{let b=r?.byBackend.find(b=>b.backend===a);return{backendId:a,totalCost:b?.total_cost??0,sessions:b?.session_count??0}}),H=G.reduce((a,b)=>a+b.totalCost,0);return(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)(k.QueryResult,{isLoading:s&&!r,isError:!1,skeleton:(0,b.jsx)(k.CardSkeleton,{count:3}),children:(0,b.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-3",children:F.map(a=>(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardStatLabel,{children:a.label})}),(0,b.jsx)(l.CardValue,{children:(0,o.formatCurrency)(a.value)}),a.sub&&(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:a.sub})]},a.label))})}),r?.todayBreakdown&&(0,b.jsx)(u,{breakdown:r.todayBreakdown,todayCostUsd:r.today.costUsd,todaySessions:r.today.sessions}),(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-3",children:(0,b.jsx)("div",{className:"flex gap-1",children:B.map(a=>(0,b.jsx)(m.Button,{variant:d===a.value?"default":"outline",size:"sm",onClick:()=>f(a.value),children:a.label},a.value))})}),(0,b.jsx)(k.QueryResult,{isLoading:s,isError:t,error:v,onRetry:()=>w(),skeleton:(0,b.jsx)(k.CardSkeleton,{count:3}),children:(0,b.jsxs)(e.Tabs,{value:g,onValueChange:q,children:[(0,b.jsxs)(e.TabsList,{children:[(0,b.jsx)(e.TabsTrigger,{value:"overview",children:"Overview"}),(0,b.jsx)(e.TabsTrigger,{value:"backend",children:"By Backend"})]}),(0,b.jsxs)(e.TabsContent,{value:"overview",children:[(0,b.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,b.jsxs)(l.Card,{className:"lg:col-span-2",children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:"Cost Trend"})}),(0,b.jsx)(x,{data:r?.byPeriod??[]})]}),(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:"Model Breakdown"})}),(0,b.jsx)(y,{data:r?.byModel??[]})]}),(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:"By Event Type"})}),(0,b.jsx)(z,{data:r?.byEventType??[]})]})]}),(0,b.jsx)(D,{})]}),(0,b.jsx)(e.TabsContent,{value:"backend",children:(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-3",children:G.map(a=>(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(l.CardStatLabel,{children:(0,p.getBackendShortLabel)(a.backendId)}),(0,b.jsxs)(n.Badge,{variant:p.BACKEND_BADGE_VARIANTS[a.backendId],children:[a.sessions," sessions"]})]})}),(0,b.jsx)(l.CardValue,{children:(0,o.formatCurrency)(a.totalCost)}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:H>0?`${(a.totalCost/H*100).toFixed(1)}% of selected window`:"No spend in selected window"})]},a.backendId))}),(0,b.jsxs)("div",{className:"grid gap-6 lg:grid-cols-[2fr,1fr]",children:[(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:"Backend Cost Trend"})}),(0,b.jsx)(A,{data:r?.byBackendPeriod??[]})]}),(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:"Backend Totals"})}),(0,b.jsx)("div",{className:"space-y-3",children:G.map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between rounded-lg border border-border/70 px-3 py-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"flex items-center gap-2",children:(0,b.jsx)(n.Badge,{variant:p.BACKEND_BADGE_VARIANTS[a.backendId],children:(0,p.getBackendShortLabel)(a.backendId)})}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[a.sessions," runs"]})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsx)("p",{className:"text-sm font-semibold text-foreground",children:(0,o.formatCurrency)(a.totalCost)}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Avg ",(0,o.formatCurrency)(a.sessions>0?a.totalCost/a.sessions:0)]})]})]},a.backendId))}),(0,b.jsx)("p",{className:"mt-4 text-xs text-muted-foreground",children:"Backend analytics reflect the backend that actually executed each run, not just the configured preferred backend."}),(0,b.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:"Gemini may auto-route to a different runtime model than the configured preferred model. The totals here reflect the model and backend that actually ran."})]})]})]})})]})})]})}function D(){return(0,b.jsxs)("p",{className:"mt-4 text-xs text-muted-foreground",children:["Only ",(0,b.jsx)("strong",{children:"cross-backend"}),"delegated calls show up under per-tool delegated-proxy telemetry — calls where your DM session runs on a different backend than the connector's owner. Same-backend delegated calls (for example, a Codex DM session using Codex's own Gmail connector) skip the proxy and roll up under the parent session's totals. Per-tool cost isn't measurable in those cases."]})}var E=a.i(87648),F=a.i(62588),G=a.i(59974),H=a.i(5260);let I={good:"Good",warn:"Warning",crit:"Critical"},J={good:"#10b981",warn:"#f59e0b",crit:"#ef4444",neutral:"#94a3b8"};function K({level:a}){return"neutral"===a?null:(0,b.jsxs)("span",{className:"flex items-center gap-1.5 text-xs",children:[(0,b.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${"good"===a?"bg-success":"warn"===a?"bg-warning":"bg-destructive"}`}),(0,b.jsx)("span",{className:"good"===a?"text-success":"warn"===a?"text-warning":"text-destructive",children:I[a]})]})}function L({daily:a,days:c,snapshot:d}){let e,f,g,h,i,j,k,m,n,p,q,r,s,t,u,v=(e=0===c?"today":`${c}d`,f=0===c?"today":`${c}-day`,g=a.reduce((a,b)=>a+b.executions,0),h=a.reduce((a,b)=>a+b.failures,0),i=g>0?(g-h)/g:null,j=a.map(a=>a.executions>0?(a.executions-a.failures)/a.executions:null),k=a.map(a=>a.executions>0?a.failures:null),m=d?.responseTime.p50??null,n=d?.responseTime.p95??null,p=null!==m&&null!==n?`${(0,o.formatDuration)(m)} / ${(0,o.formatDuration)(n)}`:"—",r=null!==(q=d?.notificationConfirmRate??null)?`${Math.round(100*q)}%`:"—",s=d?.notificationCounts.delivered??0,t=d?.notificationCounts.reacted??0,u=a.map(a=>a.notificationsDelivered>0?a.notificationsReacted/a.notificationsDelivered:null),[{title:"Success Rate",value:null!==i?`${(100*i).toFixed(1)}%`:"—",subtitle:null!==i?`${g-h} / ${g} ok`:"no data",level:null===i?"neutral":i>=.95?"good":i>=.8?"warn":"crit",sparkline:j},{title:`Errors (${e})`,value:String(h),subtitle:0===h?"no failures":0===c?"today total":`${f} total`,level:0===h?"good":h<=5?"warn":"crit",sparkline:k},{title:"Response P50 / P95",value:p,subtitle:"rolling 30d",level:"neutral",sparkline:null},{title:"Reaction Rate",value:r,subtitle:void 0!==d?`${t} of ${s} in 30d`:"rolling 30d",level:"neutral",sparkline:u}]);return(0,b.jsx)("div",{className:"grid grid-cols-2 gap-4 md:grid-cols-4",children:v.map(a=>(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardStatLabel,{children:a.title})}),(0,b.jsx)(l.CardValue,{className:"text-2xl",children:a.value}),(0,b.jsx)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:a.subtitle}),(0,b.jsxs)("div",{className:"mt-2 flex items-end justify-between",children:[null!==a.sparkline?(0,b.jsx)(H.Sparkline,{values:a.sparkline,color:J[a.level],ariaLabel:`${a.title} trend`}):(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsx)(K,{level:a.level})]})]},a.title))})}let M=["Mon","","Wed","","Fri","",""];function N({data:a}){let{days:c,numWeeks:d}=function(a){let b=new Map(a.map(a=>[a.date,a.count])),c=new Date,d=new Date(c);d.setDate(c.getDate()-83);let e=d.getDay();d.setDate(d.getDate()+(0===e?-6:1-e));let f=[],g=new Date(d),h=0,i=-1;for(;g<=c;){let a=g.toISOString().slice(0,10),c=0===g.getDay()?6:g.getDay()-1,e=Math.floor((g.getTime()-d.getTime())/6048e5);e!==i&&(h=e,i=e),f.push({date:a,count:b.get(a)??0,dow:c,week:h}),g.setDate(g.getDate()+1)}return{days:f,numWeeks:h+1}}(a),e=Math.max(...c.map(a=>a.count),1);return(0,b.jsxs)(l.Card,{children:[(0,b.jsxs)(l.CardHeader,{children:[(0,b.jsx)(l.CardTitle,{children:"Activity"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"Last 12 weeks · fixed range (does not follow period selector)"})]}),(0,b.jsxs)("div",{className:"flex gap-2 overflow-x-auto pb-2",children:[(0,b.jsx)("div",{className:"flex flex-col gap-[3px] pt-0",children:M.map((a,c)=>(0,b.jsx)("div",{className:"flex h-[13px] w-6 items-center text-[10px] text-muted-foreground",children:a},c))}),(0,b.jsx)("div",{className:"grid gap-[3px]",style:{gridTemplateColumns:`repeat(${d}, 13px)`,gridTemplateRows:"repeat(7, 13px)",gridAutoFlow:"column"},children:c.map(a=>(0,b.jsxs)(q.Tooltip,{delayDuration:0,children:[(0,b.jsx)(q.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("div",{className:`h-[13px] w-[13px] rounded-[2px] ${function(a,b){if(0===a)return"bg-muted/40";let c=a/b;return c<=.25?"bg-success/25":c<=.5?"bg-success/50":c<=.75?"bg-success/75":"bg-success"}(a.count,e)}`})}),(0,b.jsxs)(q.TooltipContent,{side:"top",className:"text-xs",children:[(0,b.jsx)("span",{className:"font-medium",children:a.count})," execution",1!==a.count?"s":""," on ",a.date]})]},a.date))})]}),(0,b.jsxs)("div",{className:"mt-2 flex items-center gap-1.5 text-[10px] text-muted-foreground",children:[(0,b.jsx)("span",{children:"Less"}),(0,b.jsx)("div",{className:"h-[10px] w-[10px] rounded-[2px] bg-muted/40"}),(0,b.jsx)("div",{className:"h-[10px] w-[10px] rounded-[2px] bg-success/25"}),(0,b.jsx)("div",{className:"h-[10px] w-[10px] rounded-[2px] bg-success/50"}),(0,b.jsx)("div",{className:"h-[10px] w-[10px] rounded-[2px] bg-success/75"}),(0,b.jsx)("div",{className:"h-[10px] w-[10px] rounded-[2px] bg-success"}),(0,b.jsx)("span",{children:"More"})]})]})}function O({daily:a}){let c=a.reduce((a,b)=>a+b.executionsAutonomous,0),d=a.reduce((a,b)=>a+b.contextUpdatesAutonomous,0),e=a.reduce((a,b)=>a+b.executionsReactive,0),f=a.reduce((a,b)=>a+b.contextUpdatesReactive,0),g=a=>null!==a?`${(100*a).toFixed(0)}%`:"—";return(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:"Context Update Rate"})}),(0,b.jsx)("p",{className:"mb-3 text-xs text-muted-foreground",children:"Share of executions that wrote to context MD files."}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Autonomous"}),(0,b.jsx)(l.CardValue,{className:"text-2xl",children:g(c>0?d/c:null)}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:[d," / ",c]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Reactive"}),(0,b.jsx)(l.CardValue,{className:"text-2xl",children:g(e>0?f/e:null)}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:[f," / ",e]})]})]})]})}var P=a.i(62988),Q=a.i(82687),R=a.i(3504),S=a.i(55140),T=a.i(5423);let U=(0,T.default)("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);var V=a.i(52938),W=a.i(13808);let X={quota:{label:"Rate Limit / Quota",icon:R.Clock,badgeVariant:"amber",docId:"troubleshooting/quota-exhausted"},timeout:{label:"Timeout",icon:R.Clock,badgeVariant:"amber"},auth:{label:"Authentication",icon:S.KeyRound,badgeVariant:"red",docId:"troubleshooting/auth-failed"},network:{label:"Network",icon:U,badgeVariant:"amber"},other:{label:"Other",icon:V.HelpCircle,badgeVariant:"gray"}};function Y({errors:a,days:c}){let d=a.reduce((a,b)=>a+b.count,0);return(0,b.jsxs)(l.Card,{children:[(0,b.jsxs)(l.CardHeader,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(l.CardTitle,{children:"Errors"}),d>0&&(0,b.jsx)(n.Badge,{variant:"red",className:"text-xs",children:d})]}),(0,b.jsx)(P.default,{href:"/activity",className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"View all →"})]}),0===a.length?(0,b.jsxs)("div",{className:"flex items-center gap-2 py-4 text-sm text-muted-foreground",children:[(0,b.jsx)(Q.CheckCircle2,{className:"h-4 w-4 text-success"}),"No errors in the last ",c," days"]}):(0,b.jsx)("div",{className:"space-y-2",children:a.map(a=>{let c=X[a.category]??X.other,d=c.icon;return(0,b.jsxs)("div",{className:"flex items-start gap-3 rounded-lg border border-border/70 px-3 py-2.5",children:[(0,b.jsx)(d,{className:"mt-0.5 h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:c.label}),(0,b.jsxs)(n.Badge,{variant:c.badgeVariant,className:"text-[10px]",children:[a.count,"×"]}),a.backend&&(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:a.backend})]}),(0,b.jsx)("p",{className:"mt-0.5 truncate text-xs text-muted-foreground",children:a.sampleMessage}),(0,b.jsxs)("div",{className:"mt-0.5 flex items-center justify-between gap-2",children:[(0,b.jsxs)("p",{className:"text-[10px] font-mono tabular-nums text-muted-foreground",children:["Last:"," ",(0,b.jsxs)(q.Tooltip,{children:[(0,b.jsx)(q.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{children:(0,o.formatShortDateTime)(a.lastSeen)})}),(0,b.jsxs)(q.TooltipContent,{children:[(0,o.formatAbsoluteTime)(a.lastSeen)," (",(0,o.formatRelativeTime)(a.lastSeen),")"]})]})]}),c.docId&&(0,b.jsx)(W.DocsLearnMore,{docId:c.docId,label:"Learn more →"})]})]})]},a.category)})})]})}function Z({snapshot:a}){let c=a?.advisorCallRate??null,d=void 0!==a?a.modelCounts.sonnetSessions+a.modelCounts.opusSessions:0,e=null!==c?`${c.toFixed(2)} calls / session`:"—";return(0,b.jsxs)(l.Card,{children:[(0,b.jsxs)(l.CardHeader,{children:[(0,b.jsx)(l.CardTitle,{className:"text-base",children:"Advisor Usage"}),(0,b.jsx)("span",{className:"text-[11px] text-muted-foreground",children:"Claude runs only"})]}),(0,b.jsxs)("div",{className:"flex items-baseline gap-3",children:[(0,b.jsx)("span",{className:"text-2xl font-bold text-foreground",children:e}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:["Based on ",d," Claude run",1===d?"":"s"," in last 30d"]})]})]})}var $=a.i(32307);let _=(0,T.default)("MessageSquareReply",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}],["path",{d:"m10 7-3 3 3 3",key:"1eugdv"}],["path",{d:"M17 13v-1a2 2 0 0 0-2-2H7",key:"ernfh3"}]]);function aa({snapshot:a}){let c=a?.proactiveForwardResume,d=c?.ratio??null,e=null===d?null:Math.round(1e3*d)/10,f=Math.round((c?.threshold??.05)*100),g=null!==d&&void 0!==c&&d>=c.threshold,h=g?$.AlertTriangle:Q.CheckCircle2;return(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(_,{className:"h-4 w-4 text-muted-foreground"}),(0,b.jsx)(l.CardTitle,{children:"Forwarded DM Context"}),g&&(0,b.jsx)(n.Badge,{variant:"amber",className:"text-[10px]",children:"Watch"})]})}),c&&0!==c.injected?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3 rounded-lg border border-border/70 px-3 py-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h,{className:g?"h-4 w-4 text-warning":"h-4 w-4 text-success"}),(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Disavowal ratio"})]}),(0,b.jsxs)("span",{className:"font-mono text-lg tabular-nums text-foreground",children:[e,"%"]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-2 text-xs text-muted-foreground",children:[(0,b.jsxs)("div",{className:"rounded-md border border-border/70 px-3 py-2",children:[(0,b.jsx)("div",{className:"font-mono text-sm tabular-nums text-foreground",children:c.injected}),(0,b.jsx)("div",{children:"Injected"})]}),(0,b.jsxs)("div",{className:"rounded-md border border-border/70 px-3 py-2",children:[(0,b.jsx)("div",{className:"font-mono text-sm tabular-nums text-foreground",children:c.disavowed}),(0,b.jsx)("div",{children:"Disavowed"})]})]}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Fresh-session fallback threshold: ",f,"%"]})]}):(0,b.jsxs)("div",{className:"flex items-center gap-2 py-4 text-sm text-muted-foreground",children:[(0,b.jsx)(Q.CheckCircle2,{className:"h-4 w-4 text-success"}),"No forwarded notifications injected in the last 30 days"]})]})}let ab=(0,g.default)(async()=>{},{loadableGenerated:{modules:[15616]},ssr:!1,loading:()=>(0,b.jsx)("div",{className:"h-[280px] animate-pulse rounded-lg bg-muted/20"})}),ac=[{value:0,label:"Today"},{value:7,label:"7d"},{value:30,label:"30d"}];function ad({enabled:a=!0}){let[d,e]=(0,c.useState)(7),{data:f,isLoading:g,isError:h,error:i,refetch:n}=function(a=30,b){return(0,F.useQuery)({queryKey:["metrics-timeseries",a],queryFn:()=>G.api.get("/metrics/timeseries",{days:a}),refetchInterval:6e4,enabled:b?.enabled??!0,placeholderData:E.keepPreviousData})}(d,{enabled:a}),{data:o}=(0,j.useMetrics)({enabled:a});return(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)("div",{className:"flex items-center justify-end",children:(0,b.jsx)("div",{className:"flex gap-1",children:ac.map(a=>(0,b.jsx)(m.Button,{variant:d===a.value?"default":"outline",size:"sm",onClick:()=>e(a.value),children:a.label},a.value))})}),(0,b.jsx)(k.QueryResult,{isLoading:g,isError:h,error:i,onRetry:()=>n(),skeleton:(0,b.jsx)(k.CardSkeleton,{count:4}),children:f&&(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)(L,{daily:f.daily,days:d,snapshot:o}),(0,b.jsx)(N,{data:f.heatmap}),(0,b.jsxs)("div",{className:"grid gap-6 lg:grid-cols-[2fr,1fr]",children:[(0,b.jsxs)(l.Card,{children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:"Execution Breakdown"})}),(0,b.jsx)("p",{className:"-mt-2 mb-3 text-xs text-muted-foreground",children:"Reactive failures break owner dialogue; autonomous failures break background work."}),(0,b.jsx)(ab,{data:f.daily})]}),(0,b.jsx)(O,{daily:f.daily})]}),(0,b.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,b.jsx)(Y,{errors:f.recentErrors,days:d}),(0,b.jsx)(aa,{snapshot:o})]}),(0,b.jsx)(Z,{snapshot:o})]})})]})}function ae(){let a=(0,d.useSearchParams)(),c=(0,d.useRouter)(),g=a.get("tab")??"cost";return(0,b.jsxs)("div",{className:"flex min-h-full flex-col p-6 pb-8",children:[(0,b.jsx)(f.PageHeader,{className:"mb-4",title:"Analytics",description:(0,b.jsxs)(b.Fragment,{children:["Usage and spend trends for the agent. ",(0,b.jsx)("strong",{children:"Cost"})," aggregates per-run USD spend (computed from token counts × backend pricing) across days, weeks, and months, broken down by backend and process. ",(0,b.jsx)("strong",{children:"Metrics"}),"shows operational health — activity volume, execution breakdown, error rates, notification throughput. Data is derived from the daemon’s local SQLite database, not sent anywhere external."]})}),(0,b.jsxs)(e.Tabs,{value:g,onValueChange:a=>{c.replace(`/analytics?tab=${a}`,{scroll:!1})},className:"flex flex-col",children:[(0,b.jsxs)(e.TabsList,{className:"w-fit",children:[(0,b.jsx)(e.TabsTrigger,{value:"cost",children:"Cost"}),(0,b.jsx)(e.TabsTrigger,{value:"metrics",children:"Metrics"})]}),(0,b.jsx)(e.TabsContent,{value:"cost",className:"mt-4",children:(0,b.jsx)(C,{enabled:"cost"===g})}),(0,b.jsx)(e.TabsContent,{value:"metrics",className:"mt-4",children:(0,b.jsx)(ad,{enabled:"metrics"===g})})]})]})}a.s(["default",0,function(){return(0,b.jsx)(c.Suspense,{children:(0,b.jsx)(ae,{})})}],73741)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_dashboard_src_app_analytics_page_tsx_0tb_amd._.js.map
|
package/.next/server/chunks/ssr/packages_dashboard_src_app_browser-tasks_[id]_page_tsx_0.80q8e._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[59233,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(62988),e=a.i(82508),f=a.i(57988),g=a.i(63242),h=a.i(78019),i=a.i(42732),j=a.i(57252),k=a.i(82740),l=a.i(39293),m=a.i(76878),n=a.i(7384),o=a.i(21218),p=a.i(30400),q=a.i(29629),r=a.i(41010),s=a.i(21150),t=a.i(48558);function u({data:a,taskId:c}){let f=(0,m.useCancelBrowserTask)(),h=(0,m.useReRunBrowserTask)(),i=(0,e.useRouter)(),k=m.BROWSER_TASK_NON_TERMINAL_STATES.includes(a.state),n=m.BROWSER_TASK_TERMINAL_STATES.includes(a.state),p="daemon_restarted"===a.outcomeDetail,r="site_unregistered"===a.outcomeDetail,t=async()=>{try{let b=await h.mutateAsync({description:a.description,requireFinalConfirm:a.requireFinalConfirm});i.push(`/browser-tasks/${b.taskId}`)}catch(a){window.alert(`Re-run failed: ${a instanceof Error?a.message:String(a)}`)}};return(0,b.jsxs)("div",{className:"space-y-6",children:[p&&(0,b.jsx)(q.Alert,{variant:"warning",children:(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"font-medium",children:"This task was interrupted by a daemon restart"}),(0,b.jsx)("p",{children:"The browser context could not be resumed across the restart (BROWSER_TASK_REDESIGN_PLAN.md §6.5). Re-run as a new task to try again."}),(0,b.jsx)("div",{className:"mt-2",children:(0,b.jsxs)(o.Button,{size:"sm",onClick:t,disabled:h.isPending,children:[(0,b.jsx)(l.RefreshCw,{className:"mr-1 h-3 w-3"})," Run again"]})})]})}),r&&(0,b.jsx)(q.Alert,{variant:"warning",children:(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"font-medium",children:"The task's site is no longer registered"}),(0,b.jsxs)("p",{children:["The site registry changed between schedule time and fire time. Re-register the site under"," ",(0,b.jsx)(d.default,{href:"/settings/integrations/browser-history-managed",className:"underline",children:"Browser Automation"})," ","and re-run the task."]})]})}),(0,b.jsxs)("header",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:"Browser task"}),(0,b.jsx)(s.BrowserTaskStateBadge,{state:a.state}),(0,b.jsx)("code",{className:"rounded-md bg-muted px-2 py-0.5 text-xs",children:a.id.slice(0,8)})]}),(0,b.jsx)("p",{className:"max-w-prose text-sm text-foreground",children:a.description})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[k&&(0,b.jsxs)(o.Button,{variant:"outline",size:"sm",onClick:()=>{window.confirm(`Cancel task ${a.id.slice(0,8)}? The browser context will be released.`)&&f.mutate({taskId:c,reason:"user_cancel_from_dashboard"})},disabled:f.isPending,children:[(0,b.jsx)(g.Ban,{className:"mr-1 h-3 w-3"})," Cancel"]}),n&&(0,b.jsxs)(o.Button,{variant:"outline",size:"sm",onClick:t,disabled:h.isPending,children:[(0,b.jsx)(l.RefreshCw,{className:"mr-1 h-3 w-3"})," Re-run as new task"]}),(0,b.jsxs)(o.Button,{variant:"outline",size:"sm",onClick:()=>{navigator.clipboard.writeText(JSON.stringify({description:a.description,siteKey:a.siteKey,extraAllowedHosts:a.extraAllowedHosts,requireFinalConfirm:a.requireFinalConfirm},null,2))},children:[(0,b.jsx)(j.ClipboardCopy,{className:"mr-1 h-3 w-3"})," Copy as JSON"]})]})]}),(0,b.jsx)(v,{data:a}),(0,b.jsx)(w,{data:a}),(0,b.jsx)(x,{data:a}),(0,b.jsx)(y,{taskId:a.id,entries:a.actionLog}),(0,b.jsx)(C,{rows:a.clarifications,state:a.state}),"final_confirm"===a.state&&(0,b.jsx)(E,{taskId:a.id}),"completed"===a.state&&a.report&&(0,b.jsx)(F,{report:a.report})]})}function v({data:a}){let c=[{label:"Created",at:a.createdAt,actor:"user"},{label:"Started",at:a.startedAt,actor:"scheduler"},{label:"completed"===a.state?"Completed":m.BROWSER_TASK_TERMINAL_STATES.includes(a.state)?a.state.replace(/_/g," "):"In progress",at:a.finishedAt,actor:"daemon_restarted"===a.outcomeDetail?"daemon-boot":"user_cancel"===a.outcomeDetail||a.outcomeDetail?.startsWith("cancelled_in_queue")?"user":"agent"}];return(0,b.jsxs)(p.Card,{children:[(0,b.jsx)(p.CardHeader,{children:(0,b.jsx)(p.CardTitle,{className:"text-base",children:"Timeline"})}),(0,b.jsx)("ol",{className:"space-y-3",children:c.map((a,c)=>(0,b.jsxs)("li",{className:"flex items-start gap-3 text-sm",children:[(0,b.jsx)("span",{"aria-hidden":!0,className:`mt-1.5 h-2 w-2 shrink-0 rounded-full ${a.at?"bg-primary":"border border-border bg-transparent"}`}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("div",{className:"font-medium text-foreground",children:a.label}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:a.at?`${(0,t.formatAbsoluteTime)(new Date(a.at))} — by ${a.actor}`:"—"})]})]},c))})]})}function w({data:a}){let c=a.queueState;return c&&(c.waitingForSlot||c.sitePos>0||c.globalPos>0||c.blockedBy)?(0,b.jsxs)(p.Card,{tone:"warning",children:[(0,b.jsx)(p.CardHeader,{children:(0,b.jsx)(p.CardTitle,{className:"text-base",children:"Queue position"})}),(0,b.jsxs)("dl",{className:"space-y-2 text-sm",children:[c.waitingForSlot&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Waiting for a slot — the runner will start this task as soon as its siteKey slot and the global concurrency slot are both free (BROWSER_TASK_REDESIGN_PLAN.md §5.1)."}),(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("dt",{className:"w-32 text-xs uppercase tracking-wide text-muted-foreground",children:"Per-site queue"}),(0,b.jsxs)("dd",{className:"text-sm",children:["#",c.sitePos+1]})]}),(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("dt",{className:"w-32 text-xs uppercase tracking-wide text-muted-foreground",children:"Global queue"}),(0,b.jsxs)("dd",{className:"text-sm",children:["#",c.globalPos+1]})]}),c.blockedBy&&(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("dt",{className:"w-32 text-xs uppercase tracking-wide text-muted-foreground",children:"Blocked by"}),(0,b.jsxs)("dd",{className:"text-xs",children:[(0,b.jsx)(d.default,{href:`/browser-tasks/${c.blockedBy}`,className:"font-mono underline-offset-4 hover:underline",children:c.blockedBy.slice(0,8)}),c.blockedByPhase&&(0,b.jsxs)("span",{className:"ml-2 text-muted-foreground",children:["(",c.blockedByPhase,")"]})]})]})]})]}):null}function x({data:a}){return(0,b.jsxs)(p.Card,{children:[(0,b.jsx)(p.CardHeader,{children:(0,b.jsx)(p.CardTitle,{className:"text-base",children:"Allowlist"})}),(0,b.jsxs)("dl",{className:"space-y-2 text-sm",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("dt",{className:"w-32 text-xs uppercase tracking-wide text-muted-foreground",children:"Site key"}),(0,b.jsx)("dd",{children:a.siteKey?(0,b.jsx)(n.Badge,{variant:"gray",children:a.siteKey}):(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"none (anon — deferred)"})})]}),a.extraAllowedHosts.length>0&&(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("dt",{className:"w-32 text-xs uppercase tracking-wide text-muted-foreground",children:"Extra hosts"}),(0,b.jsx)("dd",{className:"flex flex-wrap gap-1",children:a.extraAllowedHosts.map(a=>(0,b.jsx)(n.Badge,{variant:"gray",children:a},a))})]}),(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("dt",{className:"w-32 text-xs uppercase tracking-wide text-muted-foreground",children:"Composed regex"}),(0,b.jsx)("dd",{className:"flex-1 break-all font-mono text-xs text-muted-foreground",children:a.effectiveAllowlistRegex??"—"})]}),(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("dt",{className:"w-32 text-xs uppercase tracking-wide text-muted-foreground",children:"Blocked"}),(0,b.jsxs)("dd",{className:"text-xs text-muted-foreground",children:[a.blockedRequestsCount," requests blocked by CDP layer ·"," ",a.extractCharsTotal.toLocaleString()," extract chars"]})]})]})]})}function y({taskId:a,entries:c}){return(0,b.jsxs)(p.Card,{children:[(0,b.jsx)(p.CardHeader,{children:(0,b.jsxs)(p.CardTitle,{className:"text-base",children:["Action log (",c.length," step",1===c.length?"":"s",")"]})}),0===c.length?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"No actions yet. The sub-agent will populate this as it works."}):(0,b.jsx)("ul",{className:"space-y-2",children:c.map(c=>(0,b.jsx)(z,{taskId:a,entry:c},c.id))})]})}function z({taskId:a,entry:d}){var e;let[f,g]=(0,c.useState)(!1),j=d.args,k=function(a,b){if(!b||"object"!=typeof b)return"";if("navigate"===a&&"string"==typeof b.url)return`navigate → ${A(b.url,80)}`;if("type"===a&&"string"==typeof b.text)return`type ${A(b.text,60)}`;if("extract"===a&&"string"==typeof b.queryHint)return`extract ${A(b.queryHint,60)}`;if("wait_for"===a){let a=b.selector??b.urlPattern??"";return`wait_for ${A(a,60)}`}return"click for args"}(d.toolName,j);return(0,b.jsx)("li",{className:"rounded-lg border border-border p-3",children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("span",{className:"w-6 shrink-0 text-right font-mono text-xs text-muted-foreground",children:d.stepIndex}),(0,b.jsxs)("div",{className:"flex-1 space-y-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-baseline gap-2 text-sm",children:[(0,b.jsx)("code",{className:"font-mono text-foreground",children:d.toolName}),(0,b.jsx)(n.Badge,{variant:"ok"===(e=d.outcome)?"green":"denied"===e||"error"===e?"red":e.includes("block")||"timeout"===e||e.startsWith("popup")||e.startsWith("dialog")?"amber":"gray",children:d.outcome}),d.blockedReason&&(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:["— ",d.blockedReason]}),(0,b.jsx)("span",{className:"ml-auto font-mono text-xs text-muted-foreground",children:(0,t.formatDuration)(d.durationMs)})]}),k&&(0,b.jsxs)("button",{type:"button",onClick:()=>g(a=>!a),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",children:[f?(0,b.jsx)(h.ChevronDown,{className:"h-3 w-3"}):(0,b.jsx)(i.ChevronRight,{className:"h-3 w-3"}),(0,b.jsx)("span",{className:"font-mono",children:k})]}),f&&(0,b.jsx)("pre",{className:"overflow-x-auto rounded-md bg-muted p-2 font-mono text-[11px] leading-tight",children:JSON.stringify(j,null,2)}),d.screenshotKey&&(0,b.jsx)(B,{taskId:a,fileName:d.screenshotKey})]})]})})}function A(a,b){return a.length>b?`${a.slice(0,b)}…`:a}function B({taskId:a,fileName:d}){let[e,f]=(0,c.useState)(!1),g=`/api/browser-task/${a}/screenshots/${encodeURIComponent(d)}`;return(0,b.jsxs)("div",{className:"mt-2",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>f(a=>!a),className:"inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",children:[(0,b.jsx)(k.ExternalLink,{className:"h-3 w-3"}),e?"Hide screenshot":"Show screenshot"," ",(0,b.jsx)("span",{className:"font-mono",children:d})]}),e&&(0,b.jsx)("img",{loading:"lazy",src:g,alt:`Screenshot ${d}`,className:"mt-2 max-h-96 max-w-full rounded-md border border-border"})]})}function C({rows:a,state:c}){if(0===a.length&&"awaiting_user"!==c)return null;let d=a.find(a=>!a.resolved);return(0,b.jsxs)(p.Card,{tone:d?"warning":"default",children:[(0,b.jsx)(p.CardHeader,{children:(0,b.jsx)(p.CardTitle,{className:"text-base",children:"Clarifications"})}),d&&(0,b.jsx)(q.Alert,{variant:"warning",className:"mb-3",children:(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"font-medium",children:"This task is waiting on you in DM"}),(0,b.jsx)("p",{children:"Reply to the agent's question in the originating DM channel — the dashboard is read-only for clarification answers so the resume path stays single-source."})]})}),0===a.length?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"No clarification has been recorded yet."}):(0,b.jsx)("ol",{className:"space-y-3",children:a.map(a=>(0,b.jsx)(D,{row:a},a.id))})]})}function D({row:a}){let d=!a.resolved,[e]=(0,c.useState)(()=>Date.now()),f=a.deadlineAt-e,g=f>0?`${(0,t.formatDuration)(f)} remaining`:`${(0,t.formatDuration)(-f)} past deadline`;return(0,b.jsxs)("li",{className:"rounded-lg border border-border p-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-2 text-sm",children:[(0,b.jsxs)("span",{className:"font-medium",children:["Q: ",a.question]}),(0,b.jsx)(n.Badge,{variant:d?"amber":"green",children:d?"Awaiting reply":"Resolved"})]}),a.contextSummary&&(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:a.contextSummary}),(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3 text-[11px] text-muted-foreground",children:[(0,b.jsxs)("span",{children:["Asked ",(0,t.formatAbsoluteTime)(new Date(a.askedAt))]}),d?(0,b.jsx)("span",{children:g}):a.answer?(0,b.jsxs)("span",{className:"text-foreground",children:["A: ",a.answer]}):null]})]})}function E({taskId:a}){return(0,b.jsxs)(p.Card,{tone:"warning",children:[(0,b.jsx)(p.CardHeader,{children:(0,b.jsx)(p.CardTitle,{className:"text-base",children:"Final-confirm token issued"})}),(0,b.jsx)(q.Alert,{variant:"warning",className:"mb-3",children:(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"font-medium",children:"The agent is waiting for your token in DM"}),(0,b.jsxs)("p",{children:["A pre-confirm screenshot + a single-use"," ",(0,b.jsx)("code",{className:"font-mono",children:"!~xxxxxxxx"})," token was DMed to your originating channel. Reply with the token to let the activation proceed, or cancel the task below to abort it. The token has a 5-min TTL."]})]})}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"The token itself is not shown here — DM is the second factor by design (BROWSER_TASK_REDESIGN_PLAN.md §9a.3 #6)."}),(0,b.jsx)("div",{className:"mt-3",children:(0,b.jsx)(d.default,{href:`/browser-tasks/${a}`,className:"text-xs underline-offset-4 hover:underline",children:"Refresh"})})]})}function F({report:a}){return(0,b.jsxs)(p.Card,{tone:"success",children:[(0,b.jsx)(p.CardHeader,{children:(0,b.jsx)(p.CardTitle,{className:"text-base",children:"Final report"})}),(0,b.jsx)("div",{className:"prose prose-sm dark:prose-invert max-w-none whitespace-pre-wrap break-words",children:a})]})}a.s(["default",0,function(a){let{id:e}=(0,c.use)(a.params),{data:g,isLoading:h,isError:i,error:j,refetch:k}=(0,m.useBrowserTask)(e);return(0,b.jsxs)("div",{className:"space-y-6 p-6",children:[(0,b.jsx)("div",{children:(0,b.jsxs)(d.default,{href:"/browser-tasks",className:"inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",children:[(0,b.jsx)(f.ArrowLeft,{className:"h-3 w-3"})," All browser tasks"]})}),(0,b.jsx)(r.QueryResult,{isLoading:h,isError:i,error:j,onRetry:()=>k(),children:g&&(0,b.jsx)(u,{data:g,taskId:e})})]})}])}];
|
|
1
|
+
module.exports=[59233,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(62988),e=a.i(82508),f=a.i(57988),g=a.i(63242),h=a.i(78019),i=a.i(42732),j=a.i(57252),k=a.i(82740),l=a.i(39293),m=a.i(76878),n=a.i(7384),o=a.i(21218),p=a.i(30400),q=a.i(29629),r=a.i(41010),s=a.i(21150),t=a.i(48558);function u({data:a,taskId:c}){let f=(0,m.useCancelBrowserTask)(),h=(0,m.useReRunBrowserTask)(),i=(0,e.useRouter)(),k=m.BROWSER_TASK_NON_TERMINAL_STATES.includes(a.state),n=m.BROWSER_TASK_TERMINAL_STATES.includes(a.state),p="daemon_restarted"===a.outcomeDetail,r="site_unregistered"===a.outcomeDetail,t=async()=>{try{let b=await h.mutateAsync({description:a.description,requireFinalConfirm:a.requireFinalConfirm});i.push(`/browser-tasks/${b.taskId}`)}catch(a){window.alert(`Re-run failed: ${a instanceof Error?a.message:String(a)}`)}};return(0,b.jsxs)("div",{className:"space-y-6",children:[p&&(0,b.jsx)(q.Alert,{variant:"warning",children:(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"font-medium",children:"This task was interrupted by a daemon restart"}),(0,b.jsx)("p",{children:"The browser context could not be resumed across the restart (BROWSER_TASK_REDESIGN_PLAN.md §6.5). Re-run as a new task to try again."}),(0,b.jsx)("div",{className:"mt-2",children:(0,b.jsxs)(o.Button,{size:"sm",onClick:t,disabled:h.isPending,children:[(0,b.jsx)(l.RefreshCw,{className:"mr-1 h-3 w-3"})," Run again"]})})]})}),r&&(0,b.jsx)(q.Alert,{variant:"warning",children:(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"font-medium",children:"The task's site is no longer registered"}),(0,b.jsxs)("p",{children:["The site registry changed between schedule time and fire time. Re-register the site under"," ",(0,b.jsx)(d.default,{href:"/settings/integrations/browser-history-managed",className:"underline",children:"Browser Automation"})," ","and re-run the task."]})]})}),(0,b.jsxs)("header",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:"Browser task"}),(0,b.jsx)(s.BrowserTaskStateBadge,{state:a.state}),(0,b.jsx)("code",{className:"rounded-md bg-muted px-2 py-0.5 text-xs",children:a.id.slice(0,8)})]}),(0,b.jsx)("p",{className:"max-w-prose text-sm text-foreground",children:a.description})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[k&&(0,b.jsxs)(o.Button,{variant:"outline",size:"sm",onClick:()=>{window.confirm(`Cancel task ${a.id.slice(0,8)}? The browser context will be released.`)&&f.mutate({taskId:c,reason:"user_cancel_from_dashboard"})},disabled:f.isPending,children:[(0,b.jsx)(g.Ban,{className:"mr-1 h-3 w-3"})," Cancel"]}),n&&(0,b.jsxs)(o.Button,{variant:"outline",size:"sm",onClick:t,disabled:h.isPending,children:[(0,b.jsx)(l.RefreshCw,{className:"mr-1 h-3 w-3"})," Re-run as new task"]}),(0,b.jsxs)(o.Button,{variant:"outline",size:"sm",onClick:()=>{navigator.clipboard.writeText(JSON.stringify({description:a.description,siteKey:a.siteKey,extraAllowedHosts:a.extraAllowedHosts,requireFinalConfirm:a.requireFinalConfirm},null,2))},children:[(0,b.jsx)(j.ClipboardCopy,{className:"mr-1 h-3 w-3"})," Copy as JSON"]})]})]}),(0,b.jsx)(v,{data:a}),(0,b.jsx)(w,{data:a}),(0,b.jsx)(x,{data:a}),(0,b.jsx)(y,{taskId:a.id,entries:a.actionLog}),(0,b.jsx)(B,{rows:a.clarifications,state:a.state}),"final_confirm"===a.state&&(0,b.jsx)(D,{taskId:a.id}),"completed"===a.state&&a.report&&(0,b.jsx)(E,{report:a.report})]})}function v({data:a}){let c=[{label:"Created",at:a.createdAt,actor:"user"},{label:"Started",at:a.startedAt,actor:"scheduler"},{label:"completed"===a.state?"Completed":m.BROWSER_TASK_TERMINAL_STATES.includes(a.state)?a.state.replace(/_/g," "):"In progress",at:a.finishedAt,actor:"daemon_restarted"===a.outcomeDetail?"daemon-boot":"user_cancel"===a.outcomeDetail||a.outcomeDetail?.startsWith("cancelled_in_queue")?"user":"agent"}];return(0,b.jsxs)(p.Card,{children:[(0,b.jsx)(p.CardHeader,{children:(0,b.jsx)(p.CardTitle,{className:"text-base",children:"Timeline"})}),(0,b.jsx)("ol",{className:"space-y-3",children:c.map((a,c)=>(0,b.jsxs)("li",{className:"flex items-start gap-3 text-sm",children:[(0,b.jsx)("span",{"aria-hidden":!0,className:`mt-1.5 h-2 w-2 shrink-0 rounded-full ${a.at?"bg-primary":"border border-border bg-transparent"}`}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("div",{className:"font-medium text-foreground",children:a.label}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:a.at?`${(0,t.formatAbsoluteTime)(new Date(a.at))} — by ${a.actor}`:"—"})]})]},c))})]})}function w({data:a}){let c=a.queueState;return c&&(c.waitingForSlot||c.sitePos>0||c.globalPos>0||c.blockedBy)?(0,b.jsxs)(p.Card,{tone:"warning",children:[(0,b.jsx)(p.CardHeader,{children:(0,b.jsx)(p.CardTitle,{className:"text-base",children:"Queue position"})}),(0,b.jsxs)("dl",{className:"space-y-2 text-sm",children:[c.waitingForSlot&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Waiting for a slot — the runner will start this task as soon as its siteKey slot and the global concurrency slot are both free (BROWSER_TASK_REDESIGN_PLAN.md §5.1)."}),(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("dt",{className:"w-32 text-xs uppercase tracking-wide text-muted-foreground",children:"Per-site queue"}),(0,b.jsxs)("dd",{className:"text-sm",children:["#",c.sitePos+1]})]}),(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("dt",{className:"w-32 text-xs uppercase tracking-wide text-muted-foreground",children:"Global queue"}),(0,b.jsxs)("dd",{className:"text-sm",children:["#",c.globalPos+1]})]}),c.blockedBy&&(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("dt",{className:"w-32 text-xs uppercase tracking-wide text-muted-foreground",children:"Blocked by"}),(0,b.jsxs)("dd",{className:"text-xs",children:[(0,b.jsx)(d.default,{href:`/browser-tasks/${c.blockedBy}`,className:"font-mono underline-offset-4 hover:underline",children:c.blockedBy.slice(0,8)}),c.blockedByPhase&&(0,b.jsxs)("span",{className:"ml-2 text-muted-foreground",children:["(",c.blockedByPhase,")"]})]})]})]})]}):null}function x({data:a}){return(0,b.jsxs)(p.Card,{children:[(0,b.jsx)(p.CardHeader,{children:(0,b.jsx)(p.CardTitle,{className:"text-base",children:"Allowlist"})}),(0,b.jsxs)("dl",{className:"space-y-2 text-sm",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("dt",{className:"w-32 text-xs uppercase tracking-wide text-muted-foreground",children:"Site key"}),(0,b.jsx)("dd",{children:a.siteKey?(0,b.jsx)(n.Badge,{variant:"gray",children:a.siteKey}):(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"none (anon — deferred)"})})]}),a.extraAllowedHosts.length>0&&(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("dt",{className:"w-32 text-xs uppercase tracking-wide text-muted-foreground",children:"Extra hosts"}),(0,b.jsx)("dd",{className:"flex flex-wrap gap-1",children:a.extraAllowedHosts.map(a=>(0,b.jsx)(n.Badge,{variant:"gray",children:a},a))})]}),(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("dt",{className:"w-32 text-xs uppercase tracking-wide text-muted-foreground",children:"Composed regex"}),(0,b.jsx)("dd",{className:"flex-1 break-all font-mono text-xs text-muted-foreground",children:a.effectiveAllowlistRegex??"—"})]}),(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("dt",{className:"w-32 text-xs uppercase tracking-wide text-muted-foreground",children:"Blocked"}),(0,b.jsxs)("dd",{className:"text-xs text-muted-foreground",children:[a.blockedRequestsCount," requests blocked by CDP layer ·"," ",a.extractCharsTotal.toLocaleString()," extract chars"]})]})]})]})}function y({taskId:a,entries:c}){return(0,b.jsxs)(p.Card,{children:[(0,b.jsx)(p.CardHeader,{children:(0,b.jsxs)(p.CardTitle,{className:"text-base",children:["Action log (",c.length," step",1===c.length?"":"s",")"]})}),0===c.length?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"No actions yet. The sub-agent will populate this as it works."}):(0,b.jsx)("ul",{className:"space-y-2",children:c.map(c=>(0,b.jsx)(z,{taskId:a,entry:c},c.id))})]})}function z({taskId:a,entry:d}){var e;let[f,g]=(0,c.useState)(!1),j=d.args,k=function(a,b){if(!b||"object"!=typeof b)return"";if("navigate"===a&&"string"==typeof b.url)return`navigate → ${(0,t.truncate)(b.url,80)}`;if("type"===a&&"string"==typeof b.text)return`type ${(0,t.truncate)(b.text,60)}`;if("extract"===a&&"string"==typeof b.queryHint)return`extract ${(0,t.truncate)(b.queryHint,60)}`;if("wait_for"===a){let a=b.selector??b.urlPattern??"";return`wait_for ${(0,t.truncate)(a,60)}`}return"click for args"}(d.toolName,j);return(0,b.jsx)("li",{className:"rounded-lg border border-border p-3",children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("span",{className:"w-6 shrink-0 text-right font-mono text-xs text-muted-foreground",children:d.stepIndex}),(0,b.jsxs)("div",{className:"flex-1 space-y-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-baseline gap-2 text-sm",children:[(0,b.jsx)("code",{className:"font-mono text-foreground",children:d.toolName}),(0,b.jsx)(n.Badge,{variant:"ok"===(e=d.outcome)?"green":"denied"===e||"error"===e?"red":e.includes("block")||"timeout"===e||e.startsWith("popup")||e.startsWith("dialog")?"amber":"gray",children:d.outcome}),d.blockedReason&&(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:["— ",d.blockedReason]}),(0,b.jsx)("span",{className:"ml-auto font-mono text-xs text-muted-foreground",children:(0,t.formatDuration)(d.durationMs)})]}),k&&(0,b.jsxs)("button",{type:"button",onClick:()=>g(a=>!a),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",children:[f?(0,b.jsx)(h.ChevronDown,{className:"h-3 w-3"}):(0,b.jsx)(i.ChevronRight,{className:"h-3 w-3"}),(0,b.jsx)("span",{className:"font-mono",children:k})]}),f&&(0,b.jsx)("pre",{className:"overflow-x-auto rounded-md bg-muted p-2 font-mono text-[11px] leading-tight",children:JSON.stringify(j,null,2)}),d.screenshotKey&&(0,b.jsx)(A,{taskId:a,fileName:d.screenshotKey})]})]})})}function A({taskId:a,fileName:d}){let[e,f]=(0,c.useState)(!1),g=`/api/browser-task/${a}/screenshots/${encodeURIComponent(d)}`;return(0,b.jsxs)("div",{className:"mt-2",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>f(a=>!a),className:"inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",children:[(0,b.jsx)(k.ExternalLink,{className:"h-3 w-3"}),e?"Hide screenshot":"Show screenshot"," ",(0,b.jsx)("span",{className:"font-mono",children:d})]}),e&&(0,b.jsx)("img",{loading:"lazy",src:g,alt:`Screenshot ${d}`,className:"mt-2 max-h-96 max-w-full rounded-md border border-border"})]})}function B({rows:a,state:c}){if(0===a.length&&"awaiting_user"!==c)return null;let d=a.find(a=>!a.resolved);return(0,b.jsxs)(p.Card,{tone:d?"warning":"default",children:[(0,b.jsx)(p.CardHeader,{children:(0,b.jsx)(p.CardTitle,{className:"text-base",children:"Clarifications"})}),d&&(0,b.jsx)(q.Alert,{variant:"warning",className:"mb-3",children:(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"font-medium",children:"This task is waiting on you in DM"}),(0,b.jsx)("p",{children:"Reply to the agent's question in the originating DM channel — the dashboard is read-only for clarification answers so the resume path stays single-source."})]})}),0===a.length?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"No clarification has been recorded yet."}):(0,b.jsx)("ol",{className:"space-y-3",children:a.map(a=>(0,b.jsx)(C,{row:a},a.id))})]})}function C({row:a}){let d=!a.resolved,[e]=(0,c.useState)(()=>Date.now()),f=a.deadlineAt-e,g=f>0?`${(0,t.formatDuration)(f)} remaining`:`${(0,t.formatDuration)(-f)} past deadline`;return(0,b.jsxs)("li",{className:"rounded-lg border border-border p-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-2 text-sm",children:[(0,b.jsxs)("span",{className:"font-medium",children:["Q: ",a.question]}),(0,b.jsx)(n.Badge,{variant:d?"amber":"green",children:d?"Awaiting reply":"Resolved"})]}),a.contextSummary&&(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:a.contextSummary}),(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3 text-[11px] text-muted-foreground",children:[(0,b.jsxs)("span",{children:["Asked ",(0,t.formatAbsoluteTime)(new Date(a.askedAt))]}),d?(0,b.jsx)("span",{children:g}):a.answer?(0,b.jsxs)("span",{className:"text-foreground",children:["A: ",a.answer]}):null]})]})}function D({taskId:a}){return(0,b.jsxs)(p.Card,{tone:"warning",children:[(0,b.jsx)(p.CardHeader,{children:(0,b.jsx)(p.CardTitle,{className:"text-base",children:"Final-confirm token issued"})}),(0,b.jsx)(q.Alert,{variant:"warning",className:"mb-3",children:(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"font-medium",children:"The agent is waiting for your token in DM"}),(0,b.jsxs)("p",{children:["A pre-confirm screenshot + a single-use"," ",(0,b.jsx)("code",{className:"font-mono",children:"!~xxxxxxxx"})," token was DMed to your originating channel. Reply with the token to let the activation proceed, or cancel the task below to abort it. The token has a 5-min TTL."]})]})}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"The token itself is not shown here — DM is the second factor by design (BROWSER_TASK_REDESIGN_PLAN.md §9a.3 #6)."}),(0,b.jsx)("div",{className:"mt-3",children:(0,b.jsx)(d.default,{href:`/browser-tasks/${a}`,className:"text-xs underline-offset-4 hover:underline",children:"Refresh"})})]})}function E({report:a}){return(0,b.jsxs)(p.Card,{tone:"success",children:[(0,b.jsx)(p.CardHeader,{children:(0,b.jsx)(p.CardTitle,{className:"text-base",children:"Final report"})}),(0,b.jsx)("div",{className:"prose prose-sm dark:prose-invert max-w-none whitespace-pre-wrap break-words",children:a})]})}a.s(["default",0,function(a){let{id:e}=(0,c.use)(a.params),{data:g,isLoading:h,isError:i,error:j,refetch:k}=(0,m.useBrowserTask)(e);return(0,b.jsxs)("div",{className:"space-y-6 p-6",children:[(0,b.jsx)("div",{children:(0,b.jsxs)(d.default,{href:"/browser-tasks",className:"inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",children:[(0,b.jsx)(f.ArrowLeft,{className:"h-3 w-3"})," All browser tasks"]})}),(0,b.jsx)(r.QueryResult,{isLoading:h,isError:i,error:j,onRetry:()=>k(),children:g&&(0,b.jsx)(u,{data:g,taskId:e})})]})}])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_dashboard_src_app_browser-tasks_%5Bid%5D_page_tsx_0.80q8e._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[37289,a=>{"use strict";var b=a.i(39752),c=a.i(34542);a.i(70010);var d=a.i(57658),e=a.i(85476),f=a.i(8753),g=a.i(81130),h=a.i(99201),i=a.i(91092),j=a.i(81623),k=a.i(83997),l=a.i(47696),m=a.i(74794),n=a.i(40091);let o="__auto__",p=new Set(["expired","missing"]);function q({value:a,onChange:d,disabled:e}){let f=(0,m.useBackends)(),g=(0,c.useMemo)(()=>(f.data?.backends??[]).filter(a=>a.enabled&&a.models.length>0).map(a=>({backendId:a.id,label:(0,n.getBackendShortLabel)(a.id),authBlocked:p.has(a.authStatus),authStatus:a.authStatus,models:[...a.models].sort((a,b)=>{if(a.tier!==b.tier)return"high"===a.tier?-1:1;let c=+(!0===a.deprecated),d=+(!0===b.deprecated);return c!==d?c-d:a.label.localeCompare(b.label)})})),[f.data]),h=a?`${a.backendId}::${a.modelId}`:o,r=function(a,b){if(!a)return null;let c=b.find(b=>b.backendId===a.backendId),d=c?.models.find(b=>b.modelId===a.modelId);return d&&"high"===d.tier?{backendId:a.backendId,modelLabel:d.label}:null}(a,g),s=e||f.isLoading;return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(k.Sparkles,{className:"h-3.5 w-3.5 text-muted-foreground","aria-hidden":"true"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"Model"}),(0,b.jsxs)(l.Select,{value:h,onValueChange:function(a){d(function(a){if(a===o)return null;let b=a.indexOf("::");return b<0?null:{backendId:a.slice(0,b),modelId:a.slice(b+2)}}(a))},disabled:s,children:[(0,b.jsx)(l.SelectTrigger,{className:"h-7 w-auto min-w-[10rem] px-2 py-0 text-xs",children:(0,b.jsx)(l.SelectValue,{placeholder:"Auto"})}),(0,b.jsxs)(l.SelectContent,{children:[(0,b.jsx)(l.SelectItem,{value:o,children:"Auto (default)"}),g.map(a=>{let c=(0,n.isUiPreviewOnlyBackend)(a.backendId);return(0,b.jsxs)(l.SelectGroup,{children:[(0,b.jsxs)(l.SelectLabel,{className:"flex items-center gap-1.5 text-[10px] uppercase tracking-wide",children:[(0,b.jsx)("span",{children:a.label}),c&&(0,b.jsx)("span",{className:"rounded bg-muted px-1 py-0 text-[9px] font-medium text-muted-foreground",children:"coming soon"}),a.authBlocked&&!c&&(0,b.jsxs)("span",{className:"rounded bg-destructive/15 px-1 py-0 text-[9px] font-medium text-destructive",children:["auth ",a.authStatus]})]}),a.models.map(d=>{let e=!d.available||a.authBlocked||c;return(0,b.jsxs)(l.SelectItem,{value:`${a.backendId}::${d.modelId}`,disabled:e,children:[d.label,c?n.UI_PREVIEW_ONLY_BADGE_SUFFIX:""]},`${a.backendId}::${d.modelId}`)})]},a.backendId)})]})]})]}),f.isError&&(0,b.jsxs)("div",{role:"alert",className:"flex items-center gap-1.5 text-[11px] text-destructive",children:[(0,b.jsx)(i.AlertCircle,{className:"h-3 w-3 flex-shrink-0","aria-hidden":"true"}),(0,b.jsx)("span",{children:"Couldn't load backend list — falling back to process default."})]}),r&&(0,b.jsxs)("div",{role:"status",className:"flex items-center gap-1.5 text-[11px] text-muted-foreground",children:[(0,b.jsx)(j.Info,{className:"h-3 w-3 flex-shrink-0","aria-hidden":"true"}),(0,b.jsxs)("span",{children:["Heavy-tier model (",r.modelLabel,") — higher cost & rate limits than Auto. Switch to Auto when not needed."]})]})]})}var r=a.i(52597),s=a.i(7384),t=a.i(21218),u=a.i(48558);function v({sessionInfo:a,binding:c,sessionSourceLabel:d,readOnly:e=!1,messageCount:f,onEndSession:g,showEndSession:h=!0}){let i=a?.model||a?.modelLabel?{backend:a.backend,label:a.modelLabel??a.model??null}:c?{backend:c.activeBackend,label:c.activeModelLabel??c.activeModel}:null,j=i?.label?i.backend?`${i.backend} / ${i.label}`:i.label:null;return(0,b.jsx)("div",{className:"border-b border-border bg-background px-4 py-2",children:(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[j&&(0,b.jsx)(s.Badge,{variant:i?.backend?n.BACKEND_BADGE_VARIANTS[i.backend]:"gray",children:j}),c?.fallbackActive&&(0,b.jsxs)(s.Badge,{variant:"amber",children:["Fallback: ",c.fallbackBackend," / ",c.fallbackModel]}),d&&(0,b.jsx)(s.Badge,{variant:"gray",children:d}),e&&(0,b.jsx)(s.Badge,{variant:"gray",children:"Read-only"}),"number"==typeof a?.costUsd&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:(0,u.formatCurrency)(a.costUsd)}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:[f," messages"]})]}),h&&(0,b.jsx)(t.Button,{variant:"outline",size:"sm",className:"border-green-400 text-green-600 hover:bg-green-50 hover:text-green-700 dark:border-green-600 dark:text-green-400 dark:hover:bg-green-950 dark:hover:text-green-300",onClick:g,children:"New Chat"})]})})}var w=a.i(29629),x=a.i(1041),y=a.i(23780),z=a.i(869);let A={dashboard:0,whatsapp:1,telegram:2,slack:3,discord:4},B={dashboard:"Browser",whatsapp:"WhatsApp",telegram:"Telegram",slack:"Slack",discord:"Discord"};function C(a){return B[a]??a}var D=a.i(58906),E=a.i(24100),F=a.i(43179);let G=(0,a.i(5423).default)("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);var H=a.i(96336),I=a.i(85857);function J({pastSessions:a,currentSessionInfo:c,currentMessageCount:d,activePastId:e,onSelectPast:f,onContinuePast:g,onSelectCurrent:h,onEndSession:i,onDeletePast:j,onCleanAll:k,deleteInFlight:l,deleteError:m,onDismissDeleteError:o}){var p;let q=null===e,r=a=>{!a.readOnlyFromDashboard&&a.continueAvailable?g({id:a.id}):f({id:a.id})};return(0,b.jsxs)("div",{className:"flex h-full w-64 shrink-0 flex-col border-r border-border bg-sidebar",children:[(0,b.jsxs)("div",{className:"flex h-12 items-center justify-between px-3",children:[(0,b.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:"Sessions"}),null!==e&&(0,b.jsx)(t.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:h,title:"Back to current session",children:(0,b.jsx)(F.Plus,{className:"h-3.5 w-3.5"})})]}),(0,b.jsx)(y.Separator,{}),(0,b.jsxs)("div",{className:"p-2",children:[(0,b.jsxs)("button",{onClick:h,className:(0,u.cn)("flex w-full flex-col gap-1.5 rounded-lg p-2.5 text-left transition-colors",q?"bg-primary/10 ring-1 ring-primary/20":"hover:bg-accent"),children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:(0,u.cn)("h-2 w-2 shrink-0 rounded-full",c?"bg-emerald-500 animate-pulse":"bg-gray-400")}),(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Current Session"})]}),c?(0,b.jsxs)("div",{className:"flex items-center gap-2 text-[11px] text-muted-foreground",children:[(c.modelLabel||c.model)&&(0,b.jsx)(s.Badge,{variant:(p=c.backend)&&(0,D.isBackendId)(p)?n.BACKEND_BADGE_VARIANTS[p]:"gray",className:"h-4 text-[10px] px-1.5 py-0",children:c.modelLabel??c.model}),(0,b.jsx)("span",{children:(0,u.formatCurrency)(c.costUsd??0)}),(0,b.jsxs)("span",{children:[d," msgs"]})]}):(0,b.jsx)("span",{className:"text-[11px] text-muted-foreground",children:"Connecting..."})]}),c&&q&&(0,b.jsxs)(t.Button,{variant:"outline",size:"sm",className:"mt-1.5 w-full text-xs border-green-400 text-green-600 hover:bg-green-50 hover:text-green-700 dark:border-green-600 dark:text-green-400 dark:hover:bg-green-950 dark:hover:text-green-300",onClick:i,children:[(0,b.jsx)(G,{className:"mr-1.5 h-3 w-3"}),"New Chat"]})]}),(0,b.jsx)(y.Separator,{}),m&&(0,b.jsx)("div",{className:"px-2 pt-2",children:(0,b.jsxs)(w.Alert,{variant:"error",className:"items-center",children:[(0,b.jsx)("span",{className:"flex-1",children:m}),(0,b.jsx)("button",{type:"button",onClick:o,className:"ml-2 rounded p-0.5 text-red-600 hover:bg-red-100 dark:text-red-300 dark:hover:bg-red-900","aria-label":"Dismiss error",children:(0,b.jsx)(I.X,{className:"h-3 w-3"})})]})}),(0,b.jsxs)("div",{className:"flex items-center justify-between px-3 py-2",children:[(0,b.jsx)("span",{className:"text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:"History"}),a.length>0&&(0,b.jsxs)(t.Button,{variant:"ghost",size:"sm",className:"h-6 px-2 text-[10px] text-muted-foreground hover:bg-red-50 hover:text-red-700 dark:hover:bg-red-950 dark:hover:text-red-300",onClick:k,disabled:l,title:"Delete all past sessions",children:[(0,b.jsx)(H.Trash2,{className:"mr-1 h-3 w-3"}),"Clean all"]})]}),(0,b.jsx)(x.ScrollArea,{className:"flex-1",children:(0,b.jsxs)("div",{className:"space-y-0.5 px-2 pb-2",children:[0===a.length&&(0,b.jsx)("p",{className:"px-2 py-4 text-center text-xs text-muted-foreground",children:"Chat with the agent to see session history here"}),a.map(a=>{let c=e===a.id;return(0,b.jsxs)("div",{role:"button",tabIndex:0,className:(0,u.cn)("flex w-full cursor-pointer flex-col gap-1 rounded-lg p-2.5 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",c?"bg-primary/10 ring-1 ring-primary/20":"hover:bg-accent"),onClick:()=>r(a),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),r(a))},title:a.readOnlyFromDashboard?"View this session":a.continueAvailable?"Resume this browser session":"View this archived session",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(E.MessageSquare,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,b.jsxs)("span",{className:"text-sm text-foreground truncate",children:["Session #",a.id]}),a.readOnlyFromDashboard&&(0,b.jsx)(s.Badge,{variant:"gray",className:"px-1.5 py-0 text-[10px]",children:"Read-only"})]}),(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-1",children:a.sourcePlatforms.map(c=>(0,b.jsx)(s.Badge,{variant:"dashboard"===c?"blue":"purple",className:"px-1.5 py-0 text-[10px]",children:C(c)},`${a.id}-${c}`))}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-[11px] text-muted-foreground",children:[(0,b.jsxs)("span",{children:[a.message_count," msgs"]}),(0,b.jsx)("span",{children:"·"}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:"font-mono tabular-nums",children:(0,u.formatShortDateTime)(a.last_message_at)})}),(0,b.jsxs)(z.TooltipContent,{children:[(0,u.formatAbsoluteTime)(a.last_message_at)," (",(0,u.formatRelativeTime)(a.last_message_at),")"]})]})]}),a.summary&&(0,b.jsx)("p",{className:"line-clamp-1 text-[11px] text-muted-foreground/70",children:a.summary}),(0,b.jsx)("div",{className:"mt-1 flex items-center justify-end",children:(0,b.jsx)(t.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground hover:bg-red-50 hover:text-red-700 dark:hover:bg-red-950 dark:hover:text-red-300",disabled:l,onClick:b=>{b.stopPropagation(),j({id:a.id})},title:"Delete this session","aria-label":`Delete session ${a.id}`,children:(0,b.jsx)(H.Trash2,{className:"h-3.5 w-3.5"})})})]},a.id)})]})})]})}var K=a.i(70642),L=a.i(27727),M=a.i(28314),N=a.i(59974),O=a.i(62588),P=a.i(303),Q=a.i(54150),R=a.i(58230),S=a.i(8025);a.s(["default",0,function(){var a,i;let[j,k]=(0,c.useState)(null),l=(0,M.useConfirm)(),m=(0,g.useQueryClient)(),{data:o}=(0,Q.useConfig)(),{data:p}=(0,O.useQuery)({queryKey:["chat-current-binding"],queryFn:()=>N.api.get("/chat/current-binding"),refetchInterval:15e3}),{data:s}=(0,S.useConversations)({scope:d.CHAT_SIDEBAR_SCOPE_PARAM}),{messages:t,restoredMessages:w,streaming:y,busy:z,toolProgress:B,sessionInfo:D,sendMessage:F,endSession:G,continueSession:H,connected:I,ready:T}=(0,P.useChat)(),[U,V]=(0,c.useState)(null),W=(0,c.useRef)(null),X=(0,c.useRef)(!0),Y=(0,c.useMemo)(()=>(s?.pages.flatMap(a=>a.conversations)??[]).filter(a=>"active"!==a.status).map(a=>{var b;let c,d=(0===(c=new Set(((b=a).source_platforms??[]).filter(a=>"string"==typeof a&&a.length>0))).size&&"owner"!==b.platform&&c.add(b.platform),[...c].sort((a,b)=>{let c=A[a]??Number.MAX_SAFE_INTEGER,d=A[b]??Number.MAX_SAFE_INTEGER;return c!==d?c-d:a.localeCompare(b)})),e=d.length>0&&d.every(a=>"dashboard"===a);return{...a,sourcePlatforms:d,sourceSummary:d.length>0?d.map(C).join(" + "):"Unknown",readOnlyFromDashboard:!e,continueAvailable:e&&a.continue_available}}),[s]),Z=(0,c.useCallback)(()=>{let a=W.current;a&&(X.current=a.scrollHeight-a.scrollTop-a.clientHeight<100)},[]);(0,c.useEffect)(()=>{let a=W.current;if(a)return a.addEventListener("scroll",Z,{passive:!0}),()=>a.removeEventListener("scroll",Z)},[Z]);let{data:$,isError:_}=(a=j?.id??0,i={enabled:null!==j},(0,O.useQuery)({queryKey:["conversation-history",a],queryFn:({signal:b})=>(0,R.fetchConversationHistory)(a,{signal:b}),enabled:(i?.enabled??!0)&&a>0,staleTime:6e4,refetchOnWindowFocus:!1})),aa=(0,c.useMemo)(()=>j?($??[]).map(a=>({id:`past-${a.id}`,role:a.role,content:a.content,timestamp:(0,u.parseUtcDate)(a.timestamp),...a.attachments&&a.attachments.length>0?{attachments:a.attachments.map(a=>({id:a.id,originalFilename:a.originalFilename,mimeType:a.mimeType,sizeBytes:a.sizeBytes,direction:a.direction,...a.caption?{caption:a.caption}:{}}))}:{}})):[],[j,$]),ab=(0,c.useMemo)(()=>(function({manualPastSessionId:a,pastMessagesError:b,pastMessages:c,restoredMessages:d,liveMessages:e,busy:f}){let g=a&&!b?a:null,h=null!==g,i=[...d,...e];return{activePastId:g,currentSessionMessageCount:i.length,displayMessages:h?c:i,inputDisabled:f||h,inputDisabledMessage:h?"Viewing history — switch to Current Session to continue chatting":void 0,inputPlaceholder:h?"Viewing history...":void 0,isViewingPastSession:h,showCurrentSessionControls:!h,showLiveSessionActivity:!h}})({manualPastSessionId:j?.id??null,pastMessagesError:_,pastMessages:aa,restoredMessages:w,liveMessages:t,busy:z}),[z,t,j,aa,_,w]),ac=ab.activePastId?Y.find(a=>a.id===ab.activePastId):null,ad=o?.agentDisplayName??e.DEFAULT_AGENT_DISPLAY_NAME,ae=(0,c.useMemo)(()=>ac?{channelId:D?.channelId??"",model:ac.model,modelLabel:(0,n.formatShortModelName)(ac.model),backend:(0,n.detectBackendFromModel)(ac.model)??void 0}:U?{...D??{channelId:""},channelId:D?.channelId??"",model:U.modelId,modelLabel:(0,n.formatShortModelName)(U.modelId),backend:U.backendId}:D,[ac,U,D]),af=(0,c.useMemo)(()=>ab.isViewingPastSession||U?null:p??null,[p,ab.isViewingPastSession,U]);(0,c.useEffect)(()=>{let a=W.current;a&&X.current&&(a.scrollTop=a.scrollHeight)},[ab.displayMessages.length,B]);let ag=(0,c.useCallback)((a,b)=>{X.current=!0,F(a,{...U?{requestedBackendId:U.backendId,requestedModelId:U.modelId}:{},...b.length>0?{attachments:b}:{}})},[U,F]),ah=(0,c.useCallback)(async()=>{k(null),V(null),await G()},[G]),[ai,aj]=(0,c.useState)(null);(0,c.useEffect)(()=>{if(!ai)return;let a=window.setTimeout(()=>aj(null),5e3);return()=>window.clearTimeout(a)},[ai]);let ak=()=>m.getQueriesData({queryKey:["conversations"]}),al=a=>{for(let[b,c]of a)m.setQueryData(b,c)},am=(0,f.useMutation)({mutationFn:a=>N.api.delete(`/conversations/${a}`),onMutate:async a=>{await m.cancelQueries({queryKey:["conversations"]});let b=ak();return m.setQueriesData({queryKey:["conversations"]},b=>b&&{...b,pages:b.pages.map(b=>{let c=b.conversations.filter(b=>b.id!==a),d=b.conversations.length-c.length;return{...b,conversations:c,pagination:{...b.pagination,total:Math.max(0,b.pagination.total-d)}}})}),{previous:b}},onError:(a,b,c)=>{c&&al(c.previous)},onSettled:()=>m.invalidateQueries({queryKey:["conversations"]})}),an=(0,f.useMutation)({mutationFn:()=>N.api.delete("/conversations"),onMutate:async()=>{await m.cancelQueries({queryKey:["conversations"]});let a=ak();return m.setQueriesData({queryKey:["conversations"]},a=>a&&{...a,pages:a.pages.map(a=>({...a,conversations:[],pagination:{...a.pagination,total:0,totalPages:0}}))}),{previous:a}},onError:(a,b,c)=>{c&&al(c.previous)},onSettled:()=>m.invalidateQueries({queryKey:["conversations"]})}),ao=am.isPending||an.isPending,ap=(0,c.useCallback)(async a=>{if(await l({title:`Delete session #${a.id}?`,description:"The transcript and any cached workdir will be removed. This cannot be undone.",confirmLabel:"Delete",variant:"destructive"})){aj(null);try{await am.mutateAsync(a.id)}catch(a){aj(a instanceof N.ApiError?a.message:"Failed to delete session");return}k(b=>b?.id===a.id?null:b)}},[l,am]),aq=(0,c.useCallback)(async()=>{let a=Y.length;if(await l({title:a>0?`Delete all ${a} past session${1===a?"":"s"}?`:"Delete all past sessions?",description:"This removes every past dashboard chat AND every owner DM transcript (Telegram/Slack/Discord/WhatsApp) stored on this device. The current active session is kept. If the sidebar has more pages than are loaded, those are deleted too. This cannot be undone.",confirmLabel:"Delete all",variant:"destructive"})){aj(null);try{await an.mutateAsync()}catch(a){aj(a instanceof N.ApiError?a.message:"Failed to delete sessions");return}k(null)}},[l,an,Y.length]),ar=(0,c.useCallback)(async a=>{await H(a.id)&&(k(null),V(null))},[H]),as=ab.inputDisabled||!T,at=ab.inputDisabled?ac?ac.readOnlyFromDashboard?`Viewing ${ac.sourceSummary} history — read-only`:ac.continueAvailable?"Viewing browser history — use Continue to resume this session":"Viewing browser history — this session can no longer be resumed":ab.inputDisabledMessage:"Connecting — please wait a moment",au=T?ac?`Viewing ${ac.sourceSummary} history...`:ab.inputPlaceholder:"Connecting...";return(0,b.jsxs)("div",{className:"flex h-full",children:[(0,b.jsx)(J,{pastSessions:Y,currentSessionInfo:I?D:null,currentMessageCount:ab.currentSessionMessageCount,activePastId:ab.activePastId,onSelectPast:a=>{k(a),V(null)},onContinuePast:ar,onSelectCurrent:()=>{k(null),V(null)},onEndSession:ah,onDeletePast:ap,onCleanAll:aq,deleteInFlight:ao,deleteError:ai,onDismissDeleteError:()=>aj(null)}),(0,b.jsxs)("div",{className:"flex flex-1 flex-col",children:[(0,b.jsx)(v,{sessionInfo:ae,binding:af,sessionSourceLabel:ac?`${ac.sourceSummary} history`:null,readOnly:ac?.readOnlyFromDashboard??!1,messageCount:ab.displayMessages.length,onEndSession:ah,showEndSession:ab.showCurrentSessionControls&&T}),(0,b.jsx)(x.ScrollArea,{ref:W,className:"flex-1 p-4",children:(0,b.jsxs)("div",{className:"mx-auto max-w-4xl space-y-4",children:[ab.displayMessages.map(a=>(0,b.jsx)(r.MessageBubble,{message:a,assistantLabel:ad},a.id)),ab.showLiveSessionActivity&&(0,b.jsx)(K.ToolProgress,{items:B}),ab.showLiveSessionActivity&&z&&!y&&0===B.length&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1",children:[(0,b.jsxs)("span",{className:"flex gap-1",children:[(0,b.jsx)("span",{className:"h-2 w-2 animate-bounce rounded-full bg-muted-foreground [animation-delay:0ms]"}),(0,b.jsx)("span",{className:"h-2 w-2 animate-bounce rounded-full bg-muted-foreground [animation-delay:150ms]"}),(0,b.jsx)("span",{className:"h-2 w-2 animate-bounce rounded-full bg-muted-foreground [animation-delay:300ms]"})]}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"Agent is processing…"})]}),ab.showLiveSessionActivity&&y&&(0,b.jsx)("div",{className:"flex justify-start",children:(0,b.jsx)("span",{className:"inline-block h-5 w-1 animate-pulse rounded-full bg-foreground"})}),0===ab.displayMessages.length&&(0,b.jsx)("div",{className:"flex min-h-[60vh] items-center justify-center",children:(0,b.jsx)(L.EmptyState,{icon:E.MessageSquare,title:ab.isViewingPastSession?"No saved messages in this session":"Send a message to start chatting",description:ab.isViewingPastSession?"This saved session has no persisted messages.":"Direct chat with the agent — uses the same backend, context files, and memory as DMs from messaging apps. Long tasks (file edits, tool chains) can take tens of seconds; you'll see live tool progress above. Use the sidebar to open past sessions or end the current one (clears in-memory context but keeps the transcript in Activity → Conversations)."})})]})}),(0,b.jsxs)("div",{className:"border-t border-border bg-background",children:[(0,b.jsx)("div",{className:"px-4 pt-3",children:(0,b.jsx)(q,{value:U,onChange:V,disabled:as})}),(0,b.jsx)(h.ChatInput,{onSend:ag,disabled:as,className:"border-t-0",disabledMessage:at,placeholder:au})]})]})]})}],37289)}];
|
|
1
|
+
module.exports=[37289,a=>{"use strict";var b=a.i(39752),c=a.i(34542);a.i(70010);var d=a.i(57658),e=a.i(85476),f=a.i(8753),g=a.i(81130),h=a.i(99201),i=a.i(91092),j=a.i(81623),k=a.i(83997),l=a.i(47696),m=a.i(74794),n=a.i(40091),o=a.i(18513);function p({value:a,onChange:d,disabled:e}){let f=(0,m.useBackends)(),g=(0,c.useMemo)(()=>(0,o.buildPickerGroups)(f.data?.backends??[]),[f.data]),h=a?(0,o.encodeSelection)(a):o.AUTO_VALUE,q=(0,o.heavyTierHint)(a,g),r=e||f.isLoading;return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(k.Sparkles,{className:"h-3.5 w-3.5 text-muted-foreground","aria-hidden":"true"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"Model"}),(0,b.jsxs)(l.Select,{value:h,onValueChange:function(a){d((0,o.decodeSelection)(a))},disabled:r,children:[(0,b.jsx)(l.SelectTrigger,{className:"h-7 w-auto min-w-[10rem] px-2 py-0 text-xs",children:(0,b.jsx)(l.SelectValue,{placeholder:"Auto"})}),(0,b.jsxs)(l.SelectContent,{children:[(0,b.jsx)(l.SelectItem,{value:o.AUTO_VALUE,children:"Auto (default)"}),g.map(a=>{let c=(0,n.isUiPreviewOnlyBackend)(a.backendId);return(0,b.jsxs)(l.SelectGroup,{children:[(0,b.jsxs)(l.SelectLabel,{className:"flex items-center gap-1.5 text-[10px] uppercase tracking-wide",children:[(0,b.jsx)("span",{children:a.label}),c&&(0,b.jsx)("span",{className:"rounded bg-muted px-1 py-0 text-[9px] font-medium text-muted-foreground",children:"coming soon"}),a.authBlocked&&!c&&(0,b.jsxs)("span",{className:"rounded bg-destructive/15 px-1 py-0 text-[9px] font-medium text-destructive",children:["auth ",a.authStatus]})]}),a.models.map(d=>{let e=!d.available||a.authBlocked||c;return(0,b.jsxs)(l.SelectItem,{value:`${a.backendId}${o.SEPARATOR}${d.modelId}`,disabled:e,children:[d.label,c?n.UI_PREVIEW_ONLY_BADGE_SUFFIX:""]},`${a.backendId}${o.SEPARATOR}${d.modelId}`)})]},a.backendId)})]})]})]}),f.isError&&(0,b.jsxs)("div",{role:"alert",className:"flex items-center gap-1.5 text-[11px] text-destructive",children:[(0,b.jsx)(i.AlertCircle,{className:"h-3 w-3 flex-shrink-0","aria-hidden":"true"}),(0,b.jsx)("span",{children:"Couldn't load backend list — falling back to process default."})]}),q&&(0,b.jsxs)("div",{role:"status",className:"flex items-center gap-1.5 text-[11px] text-muted-foreground",children:[(0,b.jsx)(j.Info,{className:"h-3 w-3 flex-shrink-0","aria-hidden":"true"}),(0,b.jsxs)("span",{children:["Heavy-tier model (",q.modelLabel,") — higher cost & rate limits than Auto. Switch to Auto when not needed."]})]})]})}var q=a.i(52597),r=a.i(7384),s=a.i(21218),t=a.i(48558);function u({sessionInfo:a,binding:c,sessionSourceLabel:d,readOnly:e=!1,messageCount:f,onEndSession:g,showEndSession:h=!0}){let i=a?.model||a?.modelLabel?{backend:a.backend,label:a.modelLabel??a.model??null}:c?{backend:c.activeBackend,label:c.activeModelLabel??c.activeModel}:null,j=i?.label?i.backend?`${i.backend} / ${i.label}`:i.label:null;return(0,b.jsx)("div",{className:"border-b border-border bg-background px-4 py-2",children:(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[j&&(0,b.jsx)(r.Badge,{variant:i?.backend?n.BACKEND_BADGE_VARIANTS[i.backend]:"gray",children:j}),c?.fallbackActive&&(0,b.jsxs)(r.Badge,{variant:"amber",children:["Fallback: ",c.fallbackBackend," / ",c.fallbackModel]}),d&&(0,b.jsx)(r.Badge,{variant:"gray",children:d}),e&&(0,b.jsx)(r.Badge,{variant:"gray",children:"Read-only"}),"number"==typeof a?.costUsd&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:(0,t.formatCurrency)(a.costUsd)}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:[f," messages"]})]}),h&&(0,b.jsx)(s.Button,{variant:"outline",size:"sm",className:"border-success/40 text-success hover:bg-success/10 hover:text-success",onClick:g,children:"New Chat"})]})})}var v=a.i(29629),w=a.i(1041),x=a.i(23780),y=a.i(869);let z={dashboard:0,whatsapp:1,telegram:2,slack:3,discord:4},A={dashboard:"Browser",whatsapp:"WhatsApp",telegram:"Telegram",slack:"Slack",discord:"Discord"};function B(a){return A[a]??a}var C=a.i(58906),D=a.i(24100),E=a.i(43179);let F=(0,a.i(5423).default)("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);var G=a.i(96336),H=a.i(85857);function I({pastSessions:a,currentSessionInfo:c,currentMessageCount:d,activePastId:e,onSelectPast:f,onContinuePast:g,onSelectCurrent:h,onEndSession:i,onDeletePast:j,onCleanAll:k,deleteInFlight:l,deleteError:m,onDismissDeleteError:o}){var p;let q=null===e,u=a=>{!a.readOnlyFromDashboard&&a.continueAvailable?g({id:a.id}):f({id:a.id})};return(0,b.jsxs)("div",{className:"flex h-full w-64 shrink-0 flex-col border-r border-border bg-sidebar",children:[(0,b.jsxs)("div",{className:"flex h-12 items-center justify-between px-3",children:[(0,b.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:"Sessions"}),null!==e&&(0,b.jsx)(s.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:h,title:"Back to current session",children:(0,b.jsx)(E.Plus,{className:"h-3.5 w-3.5"})})]}),(0,b.jsx)(x.Separator,{}),(0,b.jsxs)("div",{className:"p-2",children:[(0,b.jsxs)("button",{onClick:h,className:(0,t.cn)("flex w-full flex-col gap-1.5 rounded-lg p-2.5 text-left transition-colors",q?"bg-primary/10 ring-1 ring-primary/20":"hover:bg-accent"),children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:(0,t.cn)("h-2 w-2 shrink-0 rounded-full",c?"bg-success animate-pulse":"bg-gray-400")}),(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Current Session"})]}),c?(0,b.jsxs)("div",{className:"flex items-center gap-2 text-[11px] text-muted-foreground",children:[(c.modelLabel||c.model)&&(0,b.jsx)(r.Badge,{variant:(p=c.backend)&&(0,C.isBackendId)(p)?n.BACKEND_BADGE_VARIANTS[p]:"gray",className:"h-4 text-[10px] px-1.5 py-0",children:c.modelLabel??c.model}),(0,b.jsx)("span",{children:(0,t.formatCurrency)(c.costUsd??0)}),(0,b.jsxs)("span",{children:[d," msgs"]})]}):(0,b.jsx)("span",{className:"text-[11px] text-muted-foreground",children:"Connecting..."})]}),c&&q&&(0,b.jsxs)(s.Button,{variant:"outline",size:"sm",className:"mt-1.5 w-full text-xs border-success/40 text-success hover:bg-success/10 hover:text-success",onClick:i,children:[(0,b.jsx)(F,{className:"mr-1.5 h-3 w-3"}),"New Chat"]})]}),(0,b.jsx)(x.Separator,{}),m&&(0,b.jsx)("div",{className:"px-2 pt-2",children:(0,b.jsxs)(v.Alert,{variant:"error",className:"items-center",children:[(0,b.jsx)("span",{className:"flex-1",children:m}),(0,b.jsx)("button",{type:"button",onClick:o,className:"ml-2 rounded p-0.5 text-destructive hover:bg-destructive/10","aria-label":"Dismiss error",children:(0,b.jsx)(H.X,{className:"h-3 w-3"})})]})}),(0,b.jsxs)("div",{className:"flex items-center justify-between px-3 py-2",children:[(0,b.jsx)("span",{className:"text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:"History"}),a.length>0&&(0,b.jsxs)(s.Button,{variant:"ghost",size:"sm",className:"h-6 px-2 text-[10px] text-muted-foreground hover:bg-destructive/10 hover:text-destructive",onClick:k,disabled:l,title:"Delete all past sessions",children:[(0,b.jsx)(G.Trash2,{className:"mr-1 h-3 w-3"}),"Clean all"]})]}),(0,b.jsx)(w.ScrollArea,{className:"flex-1",children:(0,b.jsxs)("div",{className:"space-y-0.5 px-2 pb-2",children:[0===a.length&&(0,b.jsx)("p",{className:"px-2 py-4 text-center text-xs text-muted-foreground",children:"Chat with the agent to see session history here"}),a.map(a=>{let c=e===a.id;return(0,b.jsxs)("div",{role:"button",tabIndex:0,className:(0,t.cn)("flex w-full cursor-pointer flex-col gap-1 rounded-lg p-2.5 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",c?"bg-primary/10 ring-1 ring-primary/20":"hover:bg-accent"),onClick:()=>u(a),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),u(a))},title:a.readOnlyFromDashboard?"View this session":a.continueAvailable?"Resume this browser session":"View this archived session",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(D.MessageSquare,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,b.jsxs)("span",{className:"text-sm text-foreground truncate",children:["Session #",a.id]}),a.readOnlyFromDashboard&&(0,b.jsx)(r.Badge,{variant:"gray",className:"px-1.5 py-0 text-[10px]",children:"Read-only"})]}),(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-1",children:a.sourcePlatforms.map(c=>(0,b.jsx)(r.Badge,{variant:"dashboard"===c?"blue":"purple",className:"px-1.5 py-0 text-[10px]",children:B(c)},`${a.id}-${c}`))}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-[11px] text-muted-foreground",children:[(0,b.jsxs)("span",{children:[a.message_count," msgs"]}),(0,b.jsx)("span",{children:"·"}),(0,b.jsxs)(y.Tooltip,{children:[(0,b.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:"font-mono tabular-nums",children:(0,t.formatShortDateTime)(a.last_message_at)})}),(0,b.jsxs)(y.TooltipContent,{children:[(0,t.formatAbsoluteTime)(a.last_message_at)," (",(0,t.formatRelativeTime)(a.last_message_at),")"]})]})]}),a.summary&&(0,b.jsx)("p",{className:"line-clamp-1 text-[11px] text-muted-foreground/70",children:a.summary}),(0,b.jsx)("div",{className:"mt-1 flex items-center justify-end",children:(0,b.jsx)(s.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground hover:bg-destructive/10 hover:text-destructive",disabled:l,onClick:b=>{b.stopPropagation(),j({id:a.id})},title:"Delete this session","aria-label":`Delete session ${a.id}`,children:(0,b.jsx)(G.Trash2,{className:"h-3.5 w-3.5"})})})]},a.id)})]})})]})}var J=a.i(70642),K=a.i(27727),L=a.i(28314),M=a.i(59974),N=a.i(62588),O=a.i(303),P=a.i(54150),Q=a.i(58230),R=a.i(8025);a.s(["default",0,function(){var a,i;let[j,k]=(0,c.useState)(null),l=(0,L.useConfirm)(),m=(0,g.useQueryClient)(),{data:o}=(0,P.useConfig)(),{data:r}=(0,N.useQuery)({queryKey:["chat-current-binding"],queryFn:()=>M.api.get("/chat/current-binding"),refetchInterval:15e3}),{data:s}=(0,R.useConversations)({scope:d.CHAT_SIDEBAR_SCOPE_PARAM}),{messages:v,restoredMessages:x,streaming:y,busy:A,toolProgress:C,sessionInfo:E,sendMessage:F,endSession:G,continueSession:H,connected:S,ready:T}=(0,O.useChat)(),[U,V]=(0,c.useState)(null),W=(0,c.useRef)(null),X=(0,c.useRef)(!0),Y=(0,c.useMemo)(()=>(s?.pages.flatMap(a=>a.conversations)??[]).filter(a=>"active"!==a.status).map(a=>{var b;let c,d=(0===(c=new Set(((b=a).source_platforms??[]).filter(a=>"string"==typeof a&&a.length>0))).size&&"owner"!==b.platform&&c.add(b.platform),[...c].sort((a,b)=>{let c=z[a]??Number.MAX_SAFE_INTEGER,d=z[b]??Number.MAX_SAFE_INTEGER;return c!==d?c-d:a.localeCompare(b)})),e=d.length>0&&d.every(a=>"dashboard"===a);return{...a,sourcePlatforms:d,sourceSummary:d.length>0?d.map(B).join(" + "):"Unknown",readOnlyFromDashboard:!e,continueAvailable:e&&a.continue_available}}),[s]),Z=(0,c.useCallback)(()=>{let a=W.current;a&&(X.current=a.scrollHeight-a.scrollTop-a.clientHeight<100)},[]);(0,c.useEffect)(()=>{let a=W.current;if(a)return a.addEventListener("scroll",Z,{passive:!0}),()=>a.removeEventListener("scroll",Z)},[Z]);let{data:$,isError:_}=(a=j?.id??0,i={enabled:null!==j},(0,N.useQuery)({queryKey:["conversation-history",a],queryFn:({signal:b})=>(0,Q.fetchConversationHistory)(a,{signal:b}),enabled:(i?.enabled??!0)&&a>0,staleTime:6e4,refetchOnWindowFocus:!1})),aa=(0,c.useMemo)(()=>j?($??[]).map(a=>({id:`past-${a.id}`,role:a.role,content:a.content,timestamp:(0,t.parseUtcDate)(a.timestamp),...a.attachments&&a.attachments.length>0?{attachments:a.attachments.map(a=>({id:a.id,originalFilename:a.originalFilename,mimeType:a.mimeType,sizeBytes:a.sizeBytes,direction:a.direction,...a.caption?{caption:a.caption}:{}}))}:{}})):[],[j,$]),ab=(0,c.useMemo)(()=>(function({manualPastSessionId:a,pastMessagesError:b,pastMessages:c,restoredMessages:d,liveMessages:e,busy:f}){let g=a&&!b?a:null,h=null!==g,i=[...d,...e];return{activePastId:g,currentSessionMessageCount:i.length,displayMessages:h?c:i,inputDisabled:f||h,inputDisabledMessage:h?"Viewing history — switch to Current Session to continue chatting":void 0,inputPlaceholder:h?"Viewing history...":void 0,isViewingPastSession:h,showCurrentSessionControls:!h,showLiveSessionActivity:!h}})({manualPastSessionId:j?.id??null,pastMessagesError:_,pastMessages:aa,restoredMessages:x,liveMessages:v,busy:A}),[A,v,j,aa,_,x]),ac=ab.activePastId?Y.find(a=>a.id===ab.activePastId):null,ad=o?.agentDisplayName??e.DEFAULT_AGENT_DISPLAY_NAME,ae=(0,c.useMemo)(()=>ac?{channelId:E?.channelId??"",model:ac.model,modelLabel:(0,n.formatShortModelName)(ac.model),backend:(0,n.detectBackendFromModel)(ac.model)??void 0}:U?{...E??{channelId:""},channelId:E?.channelId??"",model:U.modelId,modelLabel:(0,n.formatShortModelName)(U.modelId),backend:U.backendId}:E,[ac,U,E]),af=(0,c.useMemo)(()=>ab.isViewingPastSession||U?null:r??null,[r,ab.isViewingPastSession,U]);(0,c.useEffect)(()=>{let a=W.current;a&&X.current&&(a.scrollTop=a.scrollHeight)},[ab.displayMessages.length,C]);let ag=(0,c.useCallback)((a,b)=>{X.current=!0,F(a,{...U?{requestedBackendId:U.backendId,requestedModelId:U.modelId}:{},...b.length>0?{attachments:b}:{}})},[U,F]),ah=(0,c.useCallback)(async()=>{k(null),V(null),await G()},[G]),[ai,aj]=(0,c.useState)(null);(0,c.useEffect)(()=>{if(!ai)return;let a=window.setTimeout(()=>aj(null),5e3);return()=>window.clearTimeout(a)},[ai]);let ak=()=>m.getQueriesData({queryKey:["conversations"]}),al=a=>{for(let[b,c]of a)m.setQueryData(b,c)},am=(0,f.useMutation)({mutationFn:a=>M.api.delete(`/conversations/${a}`),onMutate:async a=>{await m.cancelQueries({queryKey:["conversations"]});let b=ak();return m.setQueriesData({queryKey:["conversations"]},b=>b&&{...b,pages:b.pages.map(b=>{let c=b.conversations.filter(b=>b.id!==a),d=b.conversations.length-c.length;return{...b,conversations:c,pagination:{...b.pagination,total:Math.max(0,b.pagination.total-d)}}})}),{previous:b}},onError:(a,b,c)=>{c&&al(c.previous)},onSettled:()=>m.invalidateQueries({queryKey:["conversations"]})}),an=(0,f.useMutation)({mutationFn:()=>M.api.delete("/conversations"),onMutate:async()=>{await m.cancelQueries({queryKey:["conversations"]});let a=ak();return m.setQueriesData({queryKey:["conversations"]},a=>a&&{...a,pages:a.pages.map(a=>({...a,conversations:[],pagination:{...a.pagination,total:0,totalPages:0}}))}),{previous:a}},onError:(a,b,c)=>{c&&al(c.previous)},onSettled:()=>m.invalidateQueries({queryKey:["conversations"]})}),ao=am.isPending||an.isPending,ap=(0,c.useCallback)(async a=>{if(await l({title:`Delete session #${a.id}?`,description:"The transcript and any cached workdir will be removed. This cannot be undone.",confirmLabel:"Delete",variant:"destructive"})){aj(null);try{await am.mutateAsync(a.id)}catch(a){aj(a instanceof M.ApiError?a.message:"Failed to delete session");return}k(b=>b?.id===a.id?null:b)}},[l,am]),aq=(0,c.useCallback)(async()=>{let a=Y.length;if(await l({title:a>0?`Delete all ${a} past session${1===a?"":"s"}?`:"Delete all past sessions?",description:"This removes every past dashboard chat AND every owner DM transcript (Telegram/Slack/Discord/WhatsApp) stored on this device. The current active session is kept. If the sidebar has more pages than are loaded, those are deleted too. This cannot be undone.",confirmLabel:"Delete all",variant:"destructive"})){aj(null);try{await an.mutateAsync()}catch(a){aj(a instanceof M.ApiError?a.message:"Failed to delete sessions");return}k(null)}},[l,an,Y.length]),ar=(0,c.useCallback)(async a=>{await H(a.id)&&(k(null),V(null))},[H]),as=ab.inputDisabled||!T,at=ab.inputDisabled?ac?ac.readOnlyFromDashboard?`Viewing ${ac.sourceSummary} history — read-only`:ac.continueAvailable?"Viewing browser history — use Continue to resume this session":"Viewing browser history — this session can no longer be resumed":ab.inputDisabledMessage:"Connecting — please wait a moment",au=T?ac?`Viewing ${ac.sourceSummary} history...`:ab.inputPlaceholder:"Connecting...";return(0,b.jsxs)("div",{className:"flex h-full",children:[(0,b.jsx)(I,{pastSessions:Y,currentSessionInfo:S?E:null,currentMessageCount:ab.currentSessionMessageCount,activePastId:ab.activePastId,onSelectPast:a=>{k(a),V(null)},onContinuePast:ar,onSelectCurrent:()=>{k(null),V(null)},onEndSession:ah,onDeletePast:ap,onCleanAll:aq,deleteInFlight:ao,deleteError:ai,onDismissDeleteError:()=>aj(null)}),(0,b.jsxs)("div",{className:"flex flex-1 flex-col",children:[(0,b.jsx)(u,{sessionInfo:ae,binding:af,sessionSourceLabel:ac?`${ac.sourceSummary} history`:null,readOnly:ac?.readOnlyFromDashboard??!1,messageCount:ab.displayMessages.length,onEndSession:ah,showEndSession:ab.showCurrentSessionControls&&T}),(0,b.jsx)(w.ScrollArea,{ref:W,className:"flex-1 p-4",children:(0,b.jsxs)("div",{className:"mx-auto max-w-4xl space-y-4",children:[ab.displayMessages.map(a=>(0,b.jsx)(q.MessageBubble,{message:a,assistantLabel:ad},a.id)),ab.showLiveSessionActivity&&(0,b.jsx)(J.ToolProgress,{items:C}),ab.showLiveSessionActivity&&A&&!y&&0===C.length&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1",children:[(0,b.jsxs)("span",{className:"flex gap-1",children:[(0,b.jsx)("span",{className:"h-2 w-2 animate-bounce rounded-full bg-muted-foreground [animation-delay:0ms]"}),(0,b.jsx)("span",{className:"h-2 w-2 animate-bounce rounded-full bg-muted-foreground [animation-delay:150ms]"}),(0,b.jsx)("span",{className:"h-2 w-2 animate-bounce rounded-full bg-muted-foreground [animation-delay:300ms]"})]}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"Agent is processing…"})]}),ab.showLiveSessionActivity&&y&&(0,b.jsx)("div",{className:"flex justify-start",children:(0,b.jsx)("span",{className:"inline-block h-5 w-1 animate-pulse rounded-full bg-foreground"})}),0===ab.displayMessages.length&&(0,b.jsx)("div",{className:"flex min-h-[60vh] items-center justify-center",children:(0,b.jsx)(K.EmptyState,{icon:D.MessageSquare,title:ab.isViewingPastSession?"No saved messages in this session":"Send a message to start chatting",description:ab.isViewingPastSession?"This saved session has no persisted messages.":"Direct chat with the agent — uses the same backend, context files, and memory as DMs from messaging apps. Long tasks (file edits, tool chains) can take tens of seconds; you'll see live tool progress above. Use the sidebar to open past sessions or end the current one (clears in-memory context but keeps the transcript in Activity → Conversations)."})})]})}),(0,b.jsxs)("div",{className:"border-t border-border bg-background",children:[(0,b.jsx)("div",{className:"px-4 pt-3",children:(0,b.jsx)(p,{value:U,onChange:V,disabled:as})}),(0,b.jsx)(h.ChatInput,{onSend:ag,disabled:as,className:"border-t-0",disabledMessage:at,placeholder:au})]})]})]})}],37289)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_dashboard_src_app_chat_page_tsx_0i0_8pw._.js.map
|