@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
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[30400,a=>{"use strict";var b=a.i(39752),c=a.i(48558);let d=(0,a.i(42261).cva)("rounded-xl border p-5 shadow-[0_1px_2px_rgb(0_0_0/0.04),0_8px_24px_-16px_rgb(0_0_0/0.10)]",{variants:{tone:{default:"border-border bg-card",warning:"border-warning/40 bg-warning/5",success:"border-success/40 bg-success/5",error:"border-destructive/40 bg-destructive/5"},interactive:{true:"transition-shadow duration-150 hover:shadow-[0_4px_6px_rgb(0_0_0/0.06)]",false:""}},defaultVariants:{tone:"default",interactive:!1}});a.s(["Card",0,function({className:a,tone:e,interactive:f,...g}){return(0,b.jsx)("div",{className:(0,c.cn)(d({tone:e,interactive:f}),a),...g})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("mb-3 flex items-center justify-between",a),...d})},"CardStatLabel",0,function({className:a,...d}){return(0,b.jsx)("h3",{className:(0,c.cn)("text-xs font-semibold uppercase tracking-[0.08em] text-muted-foreground",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("h3",{className:(0,c.cn)("text-base font-semibold tracking-tight text-foreground",a),...d})},"CardValue",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("font-display text-3xl font-semibold tracking-tight text-foreground",a),...d})}])},87206,a=>{"use strict";var b=a.i(39752),c=a.i(48558);a.s(["PageHeader",0,function({title:a,description:d,icon:e,badge:f,actions:g,children:h,className:i}){return(0,b.jsxs)("header",{className:(0,c.cn)("flex flex-col gap-1.5",i),children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5",children:[e&&(0,b.jsx)(e,{className:"h-5 w-5 text-muted-foreground"}),(0,b.jsx)("h1",{className:"font-display text-[1.75rem] font-semibold leading-tight tracking-tight text-foreground",children:a}),f]}),g&&(0,b.jsx)("div",{className:"flex items-center gap-2",children:g})]}),d&&(0,b.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-muted-foreground",children:d}),h]})}])},7385,a=>{"use strict";let b=(0,a.i(5423).default)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",0,b],7385)},79159,a=>{"use strict";let b=(0,a.i(5423).default)("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);a.s(["ShieldAlert",0,b],79159)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0h7l~qt._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[89021,34549,a=>{"use strict";var b=a.i(39752),c=a.i(82687);let d=(0,a.i(5423).default)("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);var e=a.i(92241),f=a.i(81020),g=a.i(7385),h=a.i(7384),i=a.i(21218),j=a.i(48558),k=a.i(40091),l=a.i(869);let m={ok:{variant:"green",label:"OK",icon:"✅"},expiring_soon:{variant:"amber",label:"Expiring Soon",icon:"🟡"},expired:{variant:"red",label:"Expired",icon:"🔴"},missing:{variant:"gray",label:"Missing",icon:"⚫"},recovering:{variant:"blue",label:"Recovering",icon:"🔄"},unknown:{variant:"gray",label:"Unknown",icon:"❓"}};function n({status:a,detail:c,firstExpiredAt:d,lastSuccessAt:f,notificationCount:g}){let i=a in m?a:"error"===a?"expired":"unknown",k=m[i],o="expired"===i||"missing"===i,p=o&&d?` (${function(a){let b=Math.floor((Date.now()-(0,j.parseUtcDate)(a).getTime())/6e4);if(b<60)return`${b}m`;let c=Math.floor(b/60);if(c<24)return`${c}h`;let d=Math.floor(c/24);return`${d}d`}(d)})`:"",q=[];return q.push(`Status: ${k.label}`),c&&q.push(`Detail: ${c}`),d&&o&&q.push(`Failed since: ${(0,j.formatRelativeTime)(d)}`),f&&q.push(`Last success: ${(0,j.formatRelativeTime)(f)}`),g>0&&q.push(`Notifications sent: ${g}`),(0,b.jsxs)(l.Tooltip,{children:[(0,b.jsx)(l.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{children:(0,b.jsxs)(h.Badge,{variant:k.variant,className:"gap-1",children:["recovering"===i?(0,b.jsx)(e.Loader2,{className:"h-3 w-3 animate-spin"}):null,"Auth: ",k.label,p]})})}),(0,b.jsx)(l.TooltipContent,{side:"bottom",className:"max-w-xs",children:(0,b.jsx)("div",{className:"space-y-0.5 text-xs",children:q.map((a,c)=>(0,b.jsx)("p",{children:a},c))})})]})}var o=a.i(34542),p=a.i(81130),q=a.i(57252),r=a.i(60622),s=a.i(82740),t=a.i(39293),u=a.i(47696),v=a.i(59974);function w({backendId:a,cliInstalled:d,compact:h=!1,onInstalled:j}){let l=(0,p.useQueryClient)(),[m,n]=(0,o.useState)(null),[x,y]=(0,o.useState)(!1),[z,A]=(0,o.useState)(""),[B,C]=(0,o.useState)(!1),[D,E]=(0,o.useState)(null),[F,G]=(0,o.useState)(null),[H,I]=(0,o.useState)(!1),J=(0,o.useCallback)(async()=>{if(!d){y(!0);try{let b=(await v.api.get("/backends/install-methods")).backends[a];n(b);let c=b.methods.find(a=>a.available);c&&A(c.id)}catch(a){G(a instanceof Error?a.message:"Failed to fetch install methods")}finally{y(!1)}}},[a,d]);(0,o.useEffect)(()=>{d||J()},[d,J]);let K=async()=>{if(z){C(!0),E(null),G(null);try{let b=await v.api.post(`/backends/${a}/install`,{method:z});E(b),b.ok&&b.cliInstalled&&(await l.invalidateQueries({queryKey:["backends"]}),j?.())}catch(a){G(a instanceof Error?a.message:"Install failed")}finally{C(!1)}}},L=async a=>{try{await navigator.clipboard.writeText(a),I(!0),setTimeout(()=>I(!1),2e3)}catch{}},M=()=>{E(null),G(null),J(),l.invalidateQueries({queryKey:["backends"]})},N=m?.docsUrl,O=k.BACKEND_LABELS[a];if(!1!==d&&!D?.ok)return h?null:!0===d?(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-green-600 dark:text-green-400",children:[(0,b.jsx)(c.CheckCircle2,{className:"h-4 w-4"}),(0,b.jsxs)("span",{children:[O," CLI is installed and ready"]})]}):null;if(x)return(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(e.Loader2,{className:"h-4 w-4 animate-spin"}),(0,b.jsx)("span",{children:"Detecting available install methods..."})]});let P=m?.methods??[],Q=P.filter(a=>a.available),R=P.find(a=>a.id===z),S=R?.manualOnly??!1,T=Q.filter(a=>a.id!==z);return D?.ok?(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-green-600 dark:text-green-400",children:[(0,b.jsx)(c.CheckCircle2,{className:"h-4 w-4"}),(0,b.jsxs)("span",{children:[O," CLI installed successfully"]})]}),!h&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Proceed to verify authentication below to confirm your credentials are working."})]}):(0,b.jsxs)("div",{className:h?"space-y-2":"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-amber-600 dark:text-amber-400",children:[(0,b.jsx)(r.Download,{className:"h-4 w-4 shrink-0"}),(0,b.jsxs)("span",{children:[O," CLI is not installed"]})]}),!h&&(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["The ",O," CLI must be installed on this machine for the agent to use it as a backend. Choose an install method below, or install manually in your terminal."]}),Q.length>0?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:h?"flex items-center gap-2":"space-y-2",children:[(0,b.jsxs)(u.Select,{value:z,onValueChange:A,children:[(0,b.jsx)(u.SelectTrigger,{className:h?"w-[200px]":"w-full",children:(0,b.jsx)(u.SelectValue,{placeholder:"Choose install method"})}),(0,b.jsx)(u.SelectContent,{children:P.map(a=>(0,b.jsxs)(u.SelectItem,{value:a.id,disabled:!a.available,children:[a.label,!a.available&&" (not available)"]},a.id))})]}),S?(0,b.jsxs)(i.Button,{size:h?"sm":"default",variant:"outline",onClick:()=>R&&L(R.command),disabled:!z,className:"gap-2 shrink-0",children:[H?(0,b.jsx)(c.CheckCircle2,{className:"h-3.5 w-3.5 text-green-500"}):(0,b.jsx)(q.ClipboardCopy,{className:"h-3.5 w-3.5"}),H?"Copied!":"Copy Command"]}):(0,b.jsxs)(i.Button,{size:h?"sm":"default",variant:"outline",onClick:K,disabled:B||!z||!R?.available,className:"gap-2 shrink-0",children:[B?(0,b.jsx)(e.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(f.Terminal,{className:"h-3.5 w-3.5"}),B?"Installing...":"Install"]})]}),R&&!h&&(0,b.jsxs)("div",{className:"rounded-md bg-muted/50 px-3 py-2",children:[(0,b.jsx)("p",{className:"mb-1 text-[10px] font-medium uppercase tracking-wider text-muted-foreground/60",children:S?"Run this command in your terminal":"Command to run"}),(0,b.jsxs)("code",{className:"text-xs text-muted-foreground",children:["$ ",R.command]})]}),S&&!h&&(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["This method requires you to run the command in your own terminal (it may need elevated permissions). After installing, click"," ",(0,b.jsx)("strong",{children:"Retry Detection"})," to verify."]}),S&&(0,b.jsxs)(i.Button,{size:"sm",variant:"outline",onClick:M,className:"gap-1.5",children:[(0,b.jsx)(t.RefreshCw,{className:"h-3 w-3"}),"Retry Detection"]})]}):(0,b.jsxs)("div",{className:"space-y-2 rounded-md border border-amber-200 bg-amber-50/50 p-3 dark:border-amber-900 dark:bg-amber-950/30",children:[(0,b.jsx)("p",{className:"text-xs font-medium text-amber-800 dark:text-amber-200",children:"No supported package manager was detected on this system."}),(0,b.jsx)("p",{className:"text-xs text-amber-700 dark:text-amber-300",children:"Please install the CLI manually in your terminal:"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"flex-1 rounded bg-muted px-2.5 py-1.5",children:(0,b.jsxs)("code",{className:"text-xs",children:["npm install -g"," ","claude"===a?"@anthropic-ai/claude-code":"codex"===a?"@openai/codex":"@google/gemini-cli"]})}),(0,b.jsx)(i.Button,{size:"sm",variant:"ghost",onClick:()=>L(`npm install -g ${"claude"===a?"@anthropic-ai/claude-code":"codex"===a?"@openai/codex":"@google/gemini-cli"}`),className:"shrink-0",children:H?(0,b.jsx)(c.CheckCircle2,{className:"h-3.5 w-3.5 text-green-500"}):(0,b.jsx)(q.ClipboardCopy,{className:"h-3.5 w-3.5"})})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 pt-1",children:[(0,b.jsxs)(i.Button,{size:"sm",variant:"outline",onClick:M,className:"gap-1.5",children:[(0,b.jsx)(t.RefreshCw,{className:"h-3 w-3"}),"Retry Detection"]}),N&&(0,b.jsxs)("a",{href:N,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-xs text-amber-700 underline hover:text-amber-900 dark:text-amber-300 dark:hover:text-amber-100",children:[(0,b.jsx)(s.ExternalLink,{className:"h-3 w-3"}),"Official installation guide"]})]})]}),D&&!D.ok&&(0,b.jsxs)("div",{className:"space-y-2 rounded-md border border-red-200 bg-red-50/50 p-3 dark:border-red-900 dark:bg-red-950/30",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium text-red-700 dark:text-red-300",children:[(0,b.jsx)(g.XCircle,{className:"h-4 w-4 shrink-0"}),(0,b.jsx)("span",{children:D.timedOut?"Installation timed out (5 min limit)":`Installation failed (exit code ${D.exitCode})`})]}),D.stderr&&(0,b.jsx)("pre",{className:"max-h-32 overflow-auto rounded bg-red-100/50 p-2 text-xs text-red-800 dark:bg-red-950/50 dark:text-red-200",children:D.stderr.slice(-1500)}),(0,b.jsxs)("div",{className:"space-y-1 text-xs text-red-700 dark:text-red-300",children:[T.length>0&&(0,b.jsxs)("p",{children:["Try a different method: select"," ",T.map(a=>`"${a.label}"`).join(" or ")," from the dropdown above."]}),(0,b.jsxs)("p",{children:["You can also install manually in your terminal and then click"," ",(0,b.jsx)("strong",{children:"Retry Detection"})," below."]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 pt-1",children:[(0,b.jsxs)(i.Button,{size:"sm",variant:"outline",onClick:M,className:"gap-1.5",children:[(0,b.jsx)(t.RefreshCw,{className:"h-3 w-3"}),"Retry Detection"]}),N&&(0,b.jsxs)("a",{href:N,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-xs text-red-600 underline hover:text-red-800 dark:text-red-400 dark:hover:text-red-200",children:[(0,b.jsx)(s.ExternalLink,{className:"h-3 w-3"}),"Official install guide"]})]})]}),F&&(0,b.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",children:F})]})}function x(a){return"claude"===a}function y(a){return!a}function z(a){return!a}function A(a){return"wizard"===a.mode&&!a.isMain&&!a.cliInstalled}function B(a){return"allow"===a}a.s(["isAllowModeActive",0,B,"isContinueEligible",0,function(a){return null!==a.mainBackend},"isRecommended",0,x,"shouldEnableVerifyInstall",0,z,"shouldShowCliInstall",0,y,"shouldShowWizardConfigureLaterHint",0,A],34549),a.s(["BackendCard",0,function(a){let{backendId:l,mode:m,isMain:o,authStatus:p,authStatusDetail:q,authFirstExpiredAt:r,authLastSuccessAt:s,authNotificationCount:t,cliInstalled:u,enabled:v,webSearchEnabled:C,webSearchSupported:D,permissionMode:E,busy:F=!1,controlsDisabled:G=!1,disabledReason:H,installCheck:I,onCliInstalled:J,onVerifyInstall:K,onToggleEnable:L,onToggleWebSearch:M,renderExtra:N}=a,O=B(E),P=x(l),Q=(0,k.getBackendDeprecation)(l),R=!G&&y(u),S=!G&&z(F),T=u&&I?.status!=="ok"&&I?.status!=="checking",U=A({mode:m,isMain:o,cliInstalled:u});return(0,b.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,b.jsx)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:(0,b.jsx)("div",{className:"min-w-0 space-y-1.5",children:(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)(h.Badge,{variant:k.BACKEND_BADGE_VARIANTS[l],children:k.BACKEND_PROVIDER_LABELS[l]}),P&&(0,b.jsx)(h.Badge,{variant:"gray",className:"font-normal",children:"Recommended"}),o&&(0,b.jsx)(h.Badge,{variant:"amber",children:"MAIN"}),(0,b.jsx)(n,{status:p,detail:q??null,firstExpiredAt:r??null,lastSuccessAt:s??null,notificationCount:t??0}),"settings"===m&&O&&(0,b.jsx)("a",{href:"#execution-mode",className:"inline-flex",children:(0,b.jsx)(h.Badge,{variant:"red",className:"cursor-pointer",title:"Allow mode is on for this backend — click to jump to the Execution Mode card",children:"Allow"})}),"settings"===m&&(0,b.jsx)(h.Badge,{variant:v?"green":"gray",children:v?"Enabled":"Disabled"}),G&&(0,b.jsx)(h.Badge,{variant:"gray",children:"Preview"}),Q&&(0,b.jsx)(h.Badge,{variant:"amber",title:Q.reason,children:Q.badgeLabel})]})})}),(0,b.jsxs)("div",{className:"mt-4 space-y-3 border-t border-border pt-4",children:[G&&H&&(0,b.jsx)("p",{className:"rounded-md border border-border bg-muted/40 px-3 py-2 text-xs text-muted-foreground",children:H}),Q&&(0,b.jsx)("p",{className:"rounded-md border border-amber-300/60 bg-amber-50/60 px-3 py-2 text-xs text-amber-900 dark:border-amber-700/50 dark:bg-amber-950/30 dark:text-amber-100",children:Q.reason}),!G&&(0,b.jsxs)(b.Fragment,{children:[R?(0,b.jsx)(w,{backendId:l,cliInstalled:u,compact:!0,onInstalled:()=>{J?.()}}):(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-green-600 dark:text-green-400",children:[(0,b.jsx)(c.CheckCircle2,{className:"h-4 w-4"}),(0,b.jsx)("span",{children:"CLI installed"})]}),(0,b.jsxs)("div",{className:(0,j.cn)("flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",T&&"rounded-lg border border-primary/40 bg-primary/5 p-3"),children:[(0,b.jsx)("div",{className:"space-y-1",children:T?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"text-sm font-semibold text-foreground",children:"Verify the CLI runs on this machine"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Confirms the ",k.BACKEND_PROVIDER_LABELS[l]," CLI is on your"," ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:"PATH"})," and responds to"," ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:"--version"}),"."]})]}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:u?"Re-run this whenever you reinstall or update the CLI to confirm it still launches.":"Install the CLI first, then verify it runs."})}),(0,b.jsxs)(i.Button,{size:T?"default":"sm",variant:T?"default":"outline",disabled:!S,onClick:K,className:(0,j.cn)("gap-2",T&&"shrink-0 self-start ring-2 ring-primary/40 ring-offset-2 ring-offset-background sm:self-auto"),children:[I?.status==="checking"?(0,b.jsx)(e.Loader2,{className:(0,j.cn)("animate-spin",T?"h-4 w-4":"h-3.5 w-3.5")}):I?.status==="ok"?(0,b.jsx)(c.CheckCircle2,{className:(0,j.cn)("text-green-500",T?"h-4 w-4":"h-3.5 w-3.5")}):I?.status==="error"?(0,b.jsx)(g.XCircle,{className:(0,j.cn)("text-red-500",T?"h-4 w-4":"h-3.5 w-3.5")}):T?(0,b.jsx)(f.Terminal,{className:"h-4 w-4"}):null,I?.status==="checking"?"Checking…":"Verify install"]})]}),I?.status==="ok"&&I.version&&(0,b.jsxs)("p",{className:"text-xs text-green-700 dark:text-green-400",children:["CLI runs OK —"," ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:I.version})]}),I?.status==="error"&&I.error&&(0,b.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",children:I.error}),U&&(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["You can install the CLI and verify it later from"," ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:"/settings/models"}),"."]})]})]}),N&&(0,b.jsx)("div",{className:"mt-4 border-t border-border pt-4",children:N()}),"settings"===m&&(0,b.jsxs)("div",{className:"mt-4 space-y-4 border-t border-border pt-4",children:[L&&(0,b.jsx)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:(0,b.jsx)(i.Button,{size:"sm",variant:v?"outline":"default",onClick:L,disabled:G||F,children:v?"Disable backend":"Enable backend"})}),M&&(0,b.jsxs)("div",{className:"flex flex-col gap-3 rounded-lg border border-border bg-muted/30 p-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,b.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(d,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,b.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Web search"}),(0,b.jsx)(h.Badge,{variant:C?"green":"gray",className:"text-[10px]",children:D?C?"On":"Off":"Not supported"})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:D?k.BACKEND_WEB_SEARCH_DESCRIPTIONS[l]:"This backend does not expose a web-search tool."}),D&&!v&&(0,b.jsx)("p",{className:"text-xs text-amber-600 dark:text-amber-400",children:"Enable the backend first to toggle web search."})]}),(0,b.jsx)(i.Button,{size:"sm",variant:C?"outline":"default",onClick:M,disabled:G||!D||!v||F,className:"shrink-0 self-start sm:self-center",children:C?"Disable web search":"Enable web search"})]})]})]})}],89021)},74358,a=>{"use strict";var b=a.i(39752),c=a.i(82687),d=a.i(55140),e=a.i(92241),f=a.i(7385),g=a.i(34542),h=a.i(7384),i=a.i(21218),j=a.i(8212),k=a.i(47696),l=a.i(59974),m=a.i(40091),n=a.i(8753),o=a.i(62588),p=a.i(81130);let q=a=>["backend-api-key",a];a.i(70010);var r=a.i(49819);function s(a,b){switch((0,r.defaultApiKeyProvider)(a)){case"anthropic":return(0,r.isPlausibleAnthropicApiKey)(b);case"openai":return(0,r.isPlausibleOpenAiApiKey)(b);case"google":return(0,r.isPlausibleGeminiApiKey)(b);default:return!1}}function t(a){switch((0,r.defaultApiKeyProvider)(a)){case"anthropic":return"Anthropic key — starts with `sk-ant-…`.";case"openai":return"OpenAI key — starts with `sk-…` (not `sk-ant-…`).";case"google":return"Google API key — starts with `AIza…`, 39 chars total.";default:return"API key"}}let u={anthropic:"Anthropic API key",bedrock:"Amazon Bedrock",vertex:"Google Vertex AI",foundry:"Microsoft Foundry",openai:"OpenAI API key","azure-openai":"Azure OpenAI",google:"Google API key","gemini-vertex":"Google Vertex AI","opencode-server":"OpenCode server"},v={anthropic:"Direct Anthropic API key (`sk-ant-…`). Stored in the OS keychain and mirrored to `ANTHROPIC_API_KEY`.",bedrock:"Anthropic models on Amazon Bedrock. Sets `CLAUDE_CODE_USE_BEDROCK=1` plus AWS credentials. Required: `AWS_REGION`.",vertex:"Anthropic models on Google Vertex AI. Sets `CLAUDE_CODE_USE_VERTEX=1` plus GCP project / region. Auth via Application Default Credentials or a service-account key file.",foundry:"Anthropic models on Microsoft Foundry. Sets `CLAUDE_CODE_USE_FOUNDRY=1` plus the Foundry resource (or full base URL). API key optional — falls back to Azure DefaultAzureCredential (`az login`).",openai:"OpenAI API key (`sk-…`). Stored in the keychain and mirrored to `OPENAI_API_KEY`.","azure-openai":"Codex CLI on Azure OpenAI. Daemon writes a managed `config.toml` to `<dataDir>/codex-home/` and points `CODEX_HOME` there — your personal `~/.codex/` is untouched. Sets `AZURE_OPENAI_API_KEY`. **Important:** the daemon spawns codex with `--model <id>` from the model registry, which Codex treats as the deployment name on Azure. Name your Azure deployments to match the model IDs shown on the /settings/models page (e.g. `gpt-5-codex`).",google:"Direct Gemini API key (`AIza…`). Mirrored to `GEMINI_API_KEY` + `GOOGLE_API_KEY`.","gemini-vertex":"Gemini on Google Vertex AI. Sets `GOOGLE_GENAI_USE_VERTEXAI=true` plus GCP project / location. Auth via ADC, a service-account key file, or a Vertex API key.","opencode-server":"OpenCode server authentication. Stores the server URL, username, and optional password; the daemon mirrors username/password into OpenCode server env vars."};function w(a){let b=r.RECOMMENDED_PINNED_MODELS_BY_PROVIDER[a];return{defaultOpusModel:b.defaultOpusModel,defaultSonnetModel:b.defaultSonnetModel,defaultHaikuModel:b.defaultHaikuModel}}let x={useMantle:!1,mantleBaseUrl:"",skipMantleAuth:!1};function y(a){switch(a){case"anthropic":return{provider:"anthropic",apiKey:""};case"bedrock":return z("access_key");case"vertex":return{provider:"vertex",projectId:"",region:"",credentialsFile:"",vertexBaseUrl:"",...w("vertex")};case"foundry":return{provider:"foundry",endpointKind:"resource",resource:"",baseUrl:"",apiKey:"",...w("foundry")};case"openai":return{provider:"openai",apiKey:""};case"azure-openai":return{provider:"azure-openai",resource:"",apiKey:"",apiVersion:r.DEFAULT_AZURE_OPENAI_API_VERSION,deploymentName:""};case"google":return{provider:"google",apiKey:""};case"gemini-vertex":return A("adc");case"opencode-server":return{provider:"opencode-server",baseUrl:"http://127.0.0.1:4096",username:"opencode",password:""}}}function z(a){let b={awsRegion:"",bedrockBaseUrl:"",...x,...w("bedrock")};switch(a){case"access_key":return{provider:"bedrock",authMode:"access_key",awsAccessKeyId:"",awsSecretAccessKey:"",awsSessionToken:"",...b};case"bearer_token":return{provider:"bedrock",authMode:"bearer_token",awsBearerTokenBedrock:"",...b};case"profile":return{provider:"bedrock",authMode:"profile",awsProfile:"",...b}}}function A(a){let b={projectId:"",location:""};switch(a){case"adc":return{provider:"gemini-vertex",authMode:"adc",...b};case"service_account":return{provider:"gemini-vertex",authMode:"service_account",credentialsFile:"",...b};case"api_key":return{provider:"gemini-vertex",authMode:"api_key",apiKey:"",...b}}}function B(a){let b={};return a.defaultOpusModel.trim()&&(b.defaultOpusModel=a.defaultOpusModel.trim()),a.defaultSonnetModel.trim()&&(b.defaultSonnetModel=a.defaultSonnetModel.trim()),a.defaultHaikuModel.trim()&&(b.defaultHaikuModel=a.defaultHaikuModel.trim()),b}function C(a){switch(a.provider){case"anthropic":if(!a.apiKey.trim())return null;return{provider:"anthropic",apiKey:a.apiKey.trim()};case"bedrock":{let b=a.awsRegion.trim();if(!b)return null;let c=a.bedrockBaseUrl.trim(),d=c?{bedrockBaseUrl:c}:{},e={...a.useMantle?{useMantle:!0}:{},...a.mantleBaseUrl.trim()?{mantleBaseUrl:a.mantleBaseUrl.trim()}:{},...a.skipMantleAuth?{skipMantleAuth:!0}:{}},f=B(a);switch(a.authMode){case"access_key":if(!a.awsAccessKeyId.trim()||!a.awsSecretAccessKey.trim())break;return{provider:"bedrock",authMode:"access_key",awsAccessKeyId:a.awsAccessKeyId.trim(),awsSecretAccessKey:a.awsSecretAccessKey.trim(),...a.awsSessionToken.trim()?{awsSessionToken:a.awsSessionToken.trim()}:{},awsRegion:b,...d,...e,...f};case"bearer_token":if(!a.awsBearerTokenBedrock.trim())break;return{provider:"bedrock",authMode:"bearer_token",awsBearerTokenBedrock:a.awsBearerTokenBedrock.trim(),awsRegion:b,...d,...e,...f};case"profile":if(!a.awsProfile.trim())break;return{provider:"bedrock",authMode:"profile",awsProfile:a.awsProfile.trim(),awsRegion:b,...d,...e,...f}}return null}case"vertex":if(!a.projectId.trim()||!a.region.trim())return null;return{provider:"vertex",projectId:a.projectId.trim(),region:a.region.trim(),...a.credentialsFile.trim()?{credentialsFile:a.credentialsFile.trim()}:{},...a.vertexBaseUrl.trim()?{vertexBaseUrl:a.vertexBaseUrl.trim()}:{},...B(a)};case"foundry":{let b=a.resource.trim(),c=a.baseUrl.trim(),d=a.apiKey.trim(),e=B(a);if("resource"===a.endpointKind){if(!b)return null;return{provider:"foundry",resource:b,...d?{apiKey:d}:{},...e}}if(!c)return null;return{provider:"foundry",baseUrl:c,...d?{apiKey:d}:{},...e}}case"openai":if(!a.apiKey.trim())return null;return{provider:"openai",apiKey:a.apiKey.trim()};case"azure-openai":{let b=a.resource.trim(),c=a.apiKey.trim();if(!b||!c)return null;return{provider:"azure-openai",resource:b,apiKey:c,...a.apiVersion.trim()?{apiVersion:a.apiVersion.trim()}:{},...a.deploymentName.trim()?{deploymentName:a.deploymentName.trim()}:{}}}case"google":if(!a.apiKey.trim())return null;return{provider:"google",apiKey:a.apiKey.trim()};case"gemini-vertex":{let b=a.projectId.trim(),c=a.location.trim();if(!b||!c)return null;switch(a.authMode){case"adc":return{provider:"gemini-vertex",authMode:"adc",projectId:b,location:c};case"service_account":if(!a.credentialsFile.trim())break;return{provider:"gemini-vertex",authMode:"service_account",projectId:b,location:c,credentialsFile:a.credentialsFile.trim()};case"api_key":if(!a.apiKey.trim())break;return{provider:"gemini-vertex",authMode:"api_key",projectId:b,location:c,apiKey:a.apiKey.trim()}}return null}case"opencode-server":{let b=a.baseUrl.trim(),c=a.username.trim(),d=a.password.trim();if(!b||!c)return null;return{provider:"opencode-server",baseUrl:b,username:c,...d?{password:d}:{}}}}}function D(a){return"anthropic"===a||"openai"===a||"google"===a}function E({backendId:a,draft:c,onChange:d,disabled:e}){switch(c.provider){case"anthropic":case"openai":case"google":return(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)(j.Input,{type:"password",autoComplete:"off",spellCheck:!1,placeholder:t(a),value:c.apiKey,onChange:a=>d({...c,apiKey:a.target.value}),disabled:e,"aria-label":`${u[c.provider]} API key`}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:t(a)})]});case"bedrock":return(0,b.jsx)(F,{draft:c,onChange:d,disabled:e});case"opencode-server":return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(I,{label:"Server URL",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"http://127.0.0.1:4096",value:c.baseUrl,onChange:a=>d({...c,baseUrl:a.target.value}),disabled:e})}),(0,b.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,b.jsx)(I,{label:"Username",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"opencode",value:c.username,onChange:a=>d({...c,username:a.target.value}),disabled:e})}),(0,b.jsx)(I,{label:"Password (optional)",children:(0,b.jsx)(j.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:c.password,onChange:a=>d({...c,password:a.target.value}),disabled:e})})]})]});case"vertex":return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,b.jsx)(I,{label:"GCP project id",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"my-gcp-project",value:c.projectId,onChange:a=>d({...c,projectId:a.target.value}),disabled:e})}),(0,b.jsx)(I,{label:"Vertex region",hint:"`global`, a multi-region (`us`, `eu`), or a region (e.g. `us-east5`).",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"us-east5",value:c.region,onChange:a=>d({...c,region:a.target.value}),disabled:e})})]}),(0,b.jsx)(I,{label:"Service account key file path (optional)",hint:"Absolute path to a service-account JSON file. Leave blank to use Application Default Credentials (`gcloud auth application-default login`).",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"/Users/me/keys/sa.json",value:c.credentialsFile,onChange:a=>d({...c,credentialsFile:a.target.value}),disabled:e})}),(0,b.jsx)(I,{label:"Vertex base URL (optional)",hint:"Override for custom endpoints / gateways.",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"https://aiplatform.googleapis.com",value:c.vertexBaseUrl,onChange:a=>d({...c,vertexBaseUrl:a.target.value}),disabled:e})}),(0,b.jsx)(G,{draft:c,onChange:d,disabled:e})]});case"foundry":return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:"Endpoint"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(k.Select,{value:c.endpointKind,onValueChange:a=>d({...c,endpointKind:a}),children:[(0,b.jsx)(k.SelectTrigger,{className:"w-44",children:(0,b.jsx)(k.SelectValue,{})}),(0,b.jsxs)(k.SelectContent,{children:[(0,b.jsx)(k.SelectItem,{value:"resource",children:"Resource name"}),(0,b.jsx)(k.SelectItem,{value:"base_url",children:"Full base URL"})]})]}),"resource"===c.endpointKind?(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"my-foundry-resource",value:c.resource,onChange:a=>d({...c,resource:a.target.value}),disabled:e}):(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"https://my-foundry-resource.services.ai.azure.com/anthropic",value:c.baseUrl,onChange:a=>d({...c,baseUrl:a.target.value}),disabled:e})]}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Resource name is the simpler form; base URL is for custom gateways. Set exactly one."})]}),(0,b.jsx)(I,{label:"Foundry API key (optional)",hint:"Leave blank to use Azure DefaultAzureCredential (`az login`, managed identity, etc.).",children:(0,b.jsx)(j.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:c.apiKey,onChange:a=>d({...c,apiKey:a.target.value}),disabled:e})}),(0,b.jsx)(G,{draft:c,onChange:d,disabled:e})]});case"azure-openai":return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"rounded-md border border-amber-500/40 bg-amber-500/5 p-2 text-[11px] text-amber-700 dark:text-amber-400",children:[(0,b.jsx)("strong",{children:"Deployment-name alignment required."})," The daemon spawns codex with ",(0,b.jsx)("code",{children:"--model <id>"})," from the process-routing registry, which Codex treats as the Azure deployment name. Name your Azure deployments to match the model IDs configured on the ",(0,b.jsx)("code",{children:"/settings/models"})," ","page (e.g. ",(0,b.jsx)("code",{children:"gpt-5-codex"}),"). Renaming the deployment in Azure is the supported fix."]}),(0,b.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,b.jsx)(I,{label:"Azure resource name",hint:"The Foundry/Azure-OpenAI resource name (subdomain of `*.openai.azure.com`).",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"my-azure-resource",value:c.resource,onChange:a=>d({...c,resource:a.target.value}),disabled:e})}),(0,b.jsx)(I,{label:"Azure OpenAI API key",children:(0,b.jsx)(j.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:c.apiKey,onChange:a=>d({...c,apiKey:a.target.value}),disabled:e})}),(0,b.jsx)(I,{label:"API version",hint:"Azure OpenAI API version (Codex uses the `responses` wire API).",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,value:c.apiVersion,onChange:a=>d({...c,apiVersion:a.target.value}),disabled:e})}),(0,b.jsx)(I,{label:"Default deployment name (optional)",hint:"Falls back when the daemon does not pass --model. Most invocations override this via --model from the routing registry — see warning above.",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"gpt-5-codex",value:c.deploymentName,onChange:a=>d({...c,deploymentName:a.target.value}),disabled:e})})]})]});case"gemini-vertex":return(0,b.jsx)(H,{draft:c,onChange:d,disabled:e})}}function F({draft:a,onChange:c,disabled:d}){return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:"AWS authentication"}),(0,b.jsxs)(k.Select,{value:a.authMode,onValueChange:b=>{b!==a.authMode&&c(z(b))},children:[(0,b.jsx)(k.SelectTrigger,{className:"w-full",children:(0,b.jsx)(k.SelectValue,{})}),(0,b.jsxs)(k.SelectContent,{children:[(0,b.jsx)(k.SelectItem,{value:"access_key",children:"Access key id + secret"}),(0,b.jsx)(k.SelectItem,{value:"bearer_token",children:"Bedrock API key (`AWS_BEARER_TOKEN_BEDROCK`)"}),(0,b.jsx)(k.SelectItem,{value:"profile",children:"AWS profile (`~/.aws/config`)"})]})]})]}),"access_key"===a.authMode&&(0,b.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,b.jsx)(I,{label:"AWS access key id",hint:"`AKIA…` for IAM users; `ASIA…` for STS / Identity Center.",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"AKIAIOSFODNN7EXAMPLE",value:a.awsAccessKeyId,onChange:b=>c({...a,awsAccessKeyId:b.target.value}),disabled:d})}),(0,b.jsx)(I,{label:"AWS secret access key",children:(0,b.jsx)(j.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:a.awsSecretAccessKey,onChange:b=>c({...a,awsSecretAccessKey:b.target.value}),disabled:d})}),(0,b.jsx)(I,{label:"AWS session token (optional)",hint:"Required for STS / Identity Center temporary credentials.",children:(0,b.jsx)(j.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:a.awsSessionToken,onChange:b=>c({...a,awsSessionToken:b.target.value}),disabled:d})})]}),"bearer_token"===a.authMode&&(0,b.jsx)(I,{label:"Bedrock API key",hint:"See AWS docs: 'Bedrock API keys' for how to issue one.",children:(0,b.jsx)(j.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:a.awsBearerTokenBedrock,onChange:b=>c({...a,awsBearerTokenBedrock:b.target.value}),disabled:d})}),"profile"===a.authMode&&(0,b.jsx)(I,{label:"AWS profile name",hint:"Resolves credentials from `~/.aws/config` and `~/.aws/credentials`.",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"default",value:a.awsProfile,onChange:b=>c({...a,awsProfile:b.target.value}),disabled:d})}),(0,b.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,b.jsx)(I,{label:"AWS region",hint:"Required by Claude Code regardless of auth mode.",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"us-east-1",value:a.awsRegion,onChange:b=>c({...a,awsRegion:b.target.value}),disabled:d})}),(0,b.jsx)(I,{label:"Bedrock base URL (optional)",hint:"Override for VPC endpoints / gateways.",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"https://bedrock-runtime.us-east-1.amazonaws.com",value:a.bedrockBaseUrl,onChange:b=>c({...a,bedrockBaseUrl:b.target.value}),disabled:d})})]}),(0,b.jsxs)("details",{className:"rounded-md border border-border p-2 text-xs",children:[(0,b.jsx)("summary",{className:"cursor-pointer font-medium text-foreground",children:"Mantle endpoint (advanced)"}),(0,b.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Mantle is an alternate Bedrock endpoint that uses the native Anthropic API shape. Setting this alongside the standard Invoke API lets Claude Code route per model. Most operators should leave this off."}),(0,b.jsxs)("label",{className:"flex items-center gap-2 text-xs text-foreground",children:[(0,b.jsx)("input",{type:"checkbox",checked:a.useMantle,onChange:b=>c({...a,useMantle:b.target.checked}),disabled:d}),"Enable Mantle endpoint (`CLAUDE_CODE_USE_MANTLE=1`)"]}),(0,b.jsx)(I,{label:"Mantle base URL (optional)",hint:"Override the default Mantle endpoint URL.",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,value:a.mantleBaseUrl,onChange:b=>c({...a,mantleBaseUrl:b.target.value}),disabled:d||!a.useMantle})}),(0,b.jsxs)("label",{className:"flex items-center gap-2 text-xs text-foreground",children:[(0,b.jsx)("input",{type:"checkbox",checked:a.skipMantleAuth,onChange:b=>c({...a,skipMantleAuth:b.target.checked}),disabled:d||!a.useMantle}),"Skip client-side auth (gateway injects credentials)"]})]})]}),(0,b.jsx)(G,{draft:a,onChange:c,disabled:d})]})}function G({draft:a,onChange:c,disabled:d}){let e=b=>{c({...a,...b})};return(0,b.jsxs)("details",{className:"rounded-md border border-border p-2 text-xs",children:[(0,b.jsx)("summary",{className:"cursor-pointer font-medium text-foreground",children:"Pinned model IDs (recommended)"}),(0,b.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Pinning prevents the `sonnet`/`opus`/`haiku` aliases from resolving to a model not yet enabled in your cloud account. Pre-filled with Anthropic's recommended defaults — edit only if your account is on a different model tier."}),(0,b.jsx)(I,{label:"Opus model ID (`ANTHROPIC_DEFAULT_OPUS_MODEL`)",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,value:a.defaultOpusModel,onChange:a=>e({defaultOpusModel:a.target.value}),disabled:d})}),(0,b.jsx)(I,{label:"Sonnet model ID (`ANTHROPIC_DEFAULT_SONNET_MODEL`)",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,value:a.defaultSonnetModel,onChange:a=>e({defaultSonnetModel:a.target.value}),disabled:d})}),(0,b.jsx)(I,{label:"Haiku model ID (`ANTHROPIC_DEFAULT_HAIKU_MODEL`)",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,value:a.defaultHaikuModel,onChange:a=>e({defaultHaikuModel:a.target.value}),disabled:d})})]})]})}function H({draft:a,onChange:c,disabled:d}){return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,b.jsx)(I,{label:"GCP project id",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"my-gcp-project",value:a.projectId,onChange:b=>c({...a,projectId:b.target.value}),disabled:d})}),(0,b.jsx)(I,{label:"GCP location",hint:"e.g. `us-central1`",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"us-central1",value:a.location,onChange:b=>c({...a,location:b.target.value}),disabled:d})})]}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:"Authentication"}),(0,b.jsxs)(k.Select,{value:a.authMode,onValueChange:b=>{b!==a.authMode&&c(A(b))},children:[(0,b.jsx)(k.SelectTrigger,{className:"w-full",children:(0,b.jsx)(k.SelectValue,{})}),(0,b.jsxs)(k.SelectContent,{children:[(0,b.jsx)(k.SelectItem,{value:"adc",children:"Application Default Credentials (`gcloud auth`)"}),(0,b.jsx)(k.SelectItem,{value:"service_account",children:"Service-account JSON file path"}),(0,b.jsx)(k.SelectItem,{value:"api_key",children:"Vertex API key"})]})]})]}),"service_account"===a.authMode&&(0,b.jsx)(I,{label:"Service account key file path",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"/Users/me/keys/sa.json",value:a.credentialsFile,onChange:b=>c({...a,credentialsFile:b.target.value}),disabled:d})}),"api_key"===a.authMode&&(0,b.jsx)(I,{label:"Vertex API key",hint:"`AIza…`. Distinct from a direct Gemini API key — it goes to GOOGLE_API_KEY only and routes through Vertex.",children:(0,b.jsx)(j.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:a.apiKey,onChange:b=>c({...a,apiKey:b.target.value}),disabled:d})})]})}function I({label:a,hint:c,children:d}){return(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:a}),d,c&&(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:c})]})}a.s(["BackendApiKeyPanel",0,function({backendId:a,onToast:j}){let w,x,{data:z,isLoading:A,error:B}=(0,o.useQuery)({queryKey:q(a),queryFn:()=>l.api.get(`/backends/${a}/api-key`),staleTime:3e4}),F=(w=(0,p.useQueryClient)(),(0,n.useMutation)({mutationFn:b=>l.api.put(`/backends/${a}/api-key`,b),onSuccess:()=>{w.invalidateQueries({queryKey:q(a)}),w.invalidateQueries({queryKey:["backends"]})}})),G=(x=(0,p.useQueryClient)(),(0,n.useMutation)({mutationFn:()=>l.api.delete(`/backends/${a}/api-key`),onSuccess:()=>{x.invalidateQueries({queryKey:q(a)}),x.invalidateQueries({queryKey:["backends"]})}})),H=(0,g.useMemo)(()=>z?.availableProviders??function(a){switch(a){case"claude":return["anthropic","bedrock","vertex","foundry"];case"codex":return["openai","azure-openai"];case"gemini":return["google","gemini-vertex"];case"opencode":return["opencode-server"]}}(a),[z?.availableProviders,a]),I=H.length>1,[J,K]=(0,g.useState)(null),L=J??z?.provider??H[0],[M,N]=(0,g.useState)(()=>y(L)),[O,P]=(0,g.useState)(null),Q=z?.source??"none",R=z?.configured??!1,S=z?.provider??null,T=z?.envVarNames??function(a){switch(a){case"claude":return["ANTHROPIC_API_KEY"];case"codex":return["OPENAI_API_KEY"];case"gemini":return["GEMINI_API_KEY","GOOGLE_API_KEY"];case"opencode":return["OPENCODE_SERVER_PASSWORD"]}}(a),U=F.isPending,V=G.isPending,W=async()=>{let b;if(P(null),D(L)){let c="apiKey"in M?M.apiKey.trim():"";if(!s(a,c))return void P({kind:"error",message:t(a)});b={apiKey:c}}else{let a=C(M);if(!a)return void P({kind:"error",message:"Fill in all required fields for this provider."});b={config:a}}try{let c=await F.mutateAsync(b);N(y(L));let d=c.auth?.detail??null,e=c.provider?u[c.provider]:m.BACKEND_PROVIDER_LABELS[a];if(c.auth?.ok){let a=d?`Saved (${e}) — ${d}`:`Saved (${e}).`;P({kind:"success",message:a}),j?.("success",`${e} configured.`)}else{let a=d?`Saved (${e}), but the provider rejected it — ${d}`:`Saved (${e}), but the provider probe did not succeed.`;P({kind:"error",message:a}),j?.("error",a)}}catch(b){let a=b instanceof l.ApiError||b instanceof Error?b.message:"Failed to save provider config";P({kind:"error",message:a}),j?.("error",a)}},X=async()=>{P(null);try{let b=await G.mutateAsync(),c="shell"===b.source?"Cleared from keychain — falling back to the shell-set env var.":"Cleared from keychain — backend will use CLI / OAuth auth.";P({kind:"success",message:c}),j?.("success",`${m.BACKEND_PROVIDER_LABELS[a]} provider config cleared.`)}catch(b){let a=b instanceof l.ApiError||b instanceof Error?b.message:"Failed to clear provider config";P({kind:"error",message:a}),j?.("error",a)}},Y=D(L)?function(a){if(a.saving)return!1;let b=a.draftValue.trim();return!!b&&s(a.backendId,b)}({backendId:a,draftValue:"apiKey"in M?M.apiKey:"",saving:U}):function(a){if(a.saving)return!1;let b=C(a.draft);return!!b&&null===(0,r.validateBackendApiKeyConfigFormat)(a.backendId,b)}({backendId:a,draft:M,saving:U});return(0,b.jsxs)("div",{className:"space-y-3 rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(d.KeyRound,{className:"h-4 w-4 text-muted-foreground"}),(0,b.jsxs)("h3",{className:"text-sm font-semibold text-foreground",children:["Provider auth",(0,b.jsx)("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:"(optional)"})]}),R&&(0,b.jsx)(h.Badge,{variant:"keychain"===Q?"green":"gray",children:"keychain"===Q?`Saved${S?` (${u[S]})`:""}`:"From shell"})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:A?"Loading…":B?"Could not read provider config from the daemon.":function(a){switch(a){case"keychain":return"API key configured (stored in OS keychain).";case"shell":return"Using API key from shell environment. Save a key here to override.";case"none":return"No API key configured. Falling back to CLI login / OAuth."}}(Q)}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Stored in the OS keychain. Leave blank to skip — the daemon falls back to local CLI / OAuth auth or your shell-set env vars."})]}),I&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("label",{htmlFor:`${a}-provider`,className:"text-xs font-medium text-foreground",children:"Provider"}),(0,b.jsxs)(k.Select,{value:L,onValueChange:a=>{a===L||H.includes(a)&&(K(a),N(y(a)),P(null))},children:[(0,b.jsx)(k.SelectTrigger,{id:`${a}-provider`,className:"w-full",children:(0,b.jsx)(k.SelectValue,{})}),(0,b.jsx)(k.SelectContent,{children:H.map(a=>(0,b.jsx)(k.SelectItem,{value:a,children:u[a]},a))})]}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:v[L]})]}),(0,b.jsx)(E,{backendId:a,draft:M,onChange:N,disabled:U||V}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsxs)(i.Button,{size:"sm",onClick:()=>{W()},disabled:!Y,className:"gap-2",children:[U?(0,b.jsx)(e.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):null,R&&"keychain"===Q?"Update provider":"Save provider"]}),"keychain"===Q&&(0,b.jsxs)(i.Button,{size:"sm",variant:"outline",onClick:()=>{X()},disabled:U||V,className:"gap-2",children:[V?(0,b.jsx)(e.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):null,"Clear"]}),!I&&(0,b.jsxs)("span",{className:"text-[11px] text-muted-foreground",children:["Sets ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:T.join(" / ")})]})]}),O&&(0,b.jsxs)("div",{role:"status",className:`flex items-start gap-2 rounded-md border p-2 text-xs ${"success"===O.kind?"border-green-500/30 bg-green-500/5 text-green-700 dark:text-green-400":"border-red-500/30 bg-red-500/5 text-red-600 dark:text-red-400"}`,children:["success"===O.kind?(0,b.jsx)(c.CheckCircle2,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}):(0,b.jsx)(f.XCircle,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,b.jsx)("span",{children:O.message})]})]})}],74358)},81831,a=>{"use strict";var b=a.i(39752),c=a.i(29629);a.s(["SubscriptionAuthWarning",0,function(){return(0,b.jsxs)(c.Alert,{variant:"warning",children:[(0,b.jsx)("p",{className:"font-semibold",children:"API key recommended — subscription auth is not supported by all providers"}),(0,b.jsxs)("p",{className:"mt-1 leading-relaxed",children:["You can skip API key setup and the daemon will fall back to each backend’s local CLI login (subscription auth). Most providers do not officially support running automated agents on a subscription plan; ",(0,b.jsx)("strong",{children:"Anthropic currently prohibits"})," ","using the Claude Agent SDK with a Claude Pro / Max subscription. Provider policies change often — to stay clear of the gray area, register a paid API key here."]})]})}])},26206,a=>{"use strict";let b=(0,a.i(5423).default)("LockOpen",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]);a.s(["Unlock",0,b],26206)},16611,a=>{"use strict";a.i(70010);var b=a.i(58906);function c(a,c){if(null===a){if((0,b.getBackendIds)().some(a=>null==c[a]))return null;let a=function(a){let c=0,d=0;for(let e of(0,b.getBackendIds)())"safe"===a[e]?c++:"allow"===a[e]&&d++;if(c>d)return"safe";if(d>c)return"allow";for(let c of(0,b.getBackendIds)())if(null!==a[c])return a[c];return"safe"}(c),d={};for(let e of(0,b.getBackendIds)()){let b=c[e];null!==b&&b!==a&&(d[e]=b)}let e={mode:a};return Object.keys(d).length>0&&(e.perBackend=d),e}let d={};for(let e of(0,b.getBackendIds)()){let b=c[e];null!=b&&b!==a&&(d[e]=b)}let e={mode:a};return Object.keys(d).length>0&&(e.perBackend=d),e}a.s(["EMPTY_OVERRIDES",0,{claude:null,codex:null,gemini:null,opencode:null},"buildSetupModePayload",0,c,"canApply",0,function(a,b){return null!==c(a,b)},"hasDivergentOverride",0,function(a,c){return(0,b.getBackendIds)().some(b=>{let d=c[b];return null!=d&&d!==a})},"internalToUi",0,function(a){return"strict"===a?"safe":"allow"}])}];
|
|
1
|
+
module.exports=[89021,34549,a=>{"use strict";var b=a.i(39752),c=a.i(82687);let d=(0,a.i(5423).default)("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);var e=a.i(92241),f=a.i(81020),g=a.i(7385),h=a.i(7384),i=a.i(21218),j=a.i(48558),k=a.i(40091),l=a.i(869);let m={ok:{variant:"green",label:"OK",icon:"✅"},expiring_soon:{variant:"amber",label:"Expiring Soon",icon:"🟡"},expired:{variant:"red",label:"Expired",icon:"🔴"},missing:{variant:"gray",label:"Missing",icon:"⚫"},recovering:{variant:"blue",label:"Recovering",icon:"🔄"},unknown:{variant:"gray",label:"Unknown",icon:"❓"}};function n({status:a,detail:c,firstExpiredAt:d,lastSuccessAt:f,notificationCount:g}){let i=a in m?a:"error"===a?"expired":"unknown",k=m[i],o="expired"===i||"missing"===i,p=o&&d?` (${function(a){let b=Math.floor((Date.now()-(0,j.parseUtcDate)(a).getTime())/6e4);if(b<60)return`${b}m`;let c=Math.floor(b/60);if(c<24)return`${c}h`;let d=Math.floor(c/24);return`${d}d`}(d)})`:"",q=[];return q.push(`Status: ${k.label}`),c&&q.push(`Detail: ${c}`),d&&o&&q.push(`Failed since: ${(0,j.formatRelativeTime)(d)}`),f&&q.push(`Last success: ${(0,j.formatRelativeTime)(f)}`),g>0&&q.push(`Notifications sent: ${g}`),(0,b.jsxs)(l.Tooltip,{children:[(0,b.jsx)(l.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{children:(0,b.jsxs)(h.Badge,{variant:k.variant,className:"gap-1",children:["recovering"===i?(0,b.jsx)(e.Loader2,{className:"h-3 w-3 animate-spin"}):null,"Auth: ",k.label,p]})})}),(0,b.jsx)(l.TooltipContent,{side:"bottom",className:"max-w-xs",children:(0,b.jsx)("div",{className:"space-y-0.5 text-xs",children:q.map((a,c)=>(0,b.jsx)("p",{children:a},c))})})]})}var o=a.i(34542),p=a.i(81130),q=a.i(57252),r=a.i(60622),s=a.i(82740),t=a.i(39293),u=a.i(47696),v=a.i(59974);function w({backendId:a,cliInstalled:d,compact:h=!1,onInstalled:j}){let l=(0,p.useQueryClient)(),[m,n]=(0,o.useState)(null),[x,y]=(0,o.useState)(!1),[z,A]=(0,o.useState)(""),[B,C]=(0,o.useState)(!1),[D,E]=(0,o.useState)(null),[F,G]=(0,o.useState)(null),[H,I]=(0,o.useState)(!1),J=(0,o.useCallback)(async()=>{if(!d){y(!0);try{let b=(await v.api.get("/backends/install-methods")).backends[a];n(b);let c=b.methods.find(a=>a.available);c&&A(c.id)}catch(a){G(a instanceof Error?a.message:"Failed to fetch install methods")}finally{y(!1)}}},[a,d]);(0,o.useEffect)(()=>{d||J()},[d,J]);let K=async()=>{if(z){C(!0),E(null),G(null);try{let b=await v.api.post(`/backends/${a}/install`,{method:z});E(b),b.ok&&b.cliInstalled&&(await l.invalidateQueries({queryKey:["backends"]}),j?.())}catch(a){G(a instanceof Error?a.message:"Install failed")}finally{C(!1)}}},L=async a=>{try{await navigator.clipboard.writeText(a),I(!0),setTimeout(()=>I(!1),2e3)}catch{}},M=()=>{E(null),G(null),J(),l.invalidateQueries({queryKey:["backends"]})},N=m?.docsUrl,O=k.BACKEND_LABELS[a];if(!1!==d&&!D?.ok)return h?null:!0===d?(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-success",children:[(0,b.jsx)(c.CheckCircle2,{className:"h-4 w-4"}),(0,b.jsxs)("span",{children:[O," CLI is installed and ready"]})]}):null;if(x)return(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(e.Loader2,{className:"h-4 w-4 animate-spin"}),(0,b.jsx)("span",{children:"Detecting available install methods..."})]});let P=m?.methods??[],Q=P.filter(a=>a.available),R=P.find(a=>a.id===z),S=R?.manualOnly??!1,T=Q.filter(a=>a.id!==z);return D?.ok?(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-success",children:[(0,b.jsx)(c.CheckCircle2,{className:"h-4 w-4"}),(0,b.jsxs)("span",{children:[O," CLI installed successfully"]})]}),!h&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Proceed to verify authentication below to confirm your credentials are working."})]}):(0,b.jsxs)("div",{className:h?"space-y-2":"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-warning",children:[(0,b.jsx)(r.Download,{className:"h-4 w-4 shrink-0"}),(0,b.jsxs)("span",{children:[O," CLI is not installed"]})]}),!h&&(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["The ",O," CLI must be installed on this machine for the agent to use it as a backend. Choose an install method below, or install manually in your terminal."]}),Q.length>0?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:h?"flex items-center gap-2":"space-y-2",children:[(0,b.jsxs)(u.Select,{value:z,onValueChange:A,children:[(0,b.jsx)(u.SelectTrigger,{className:h?"w-[200px]":"w-full",children:(0,b.jsx)(u.SelectValue,{placeholder:"Choose install method"})}),(0,b.jsx)(u.SelectContent,{children:P.map(a=>(0,b.jsxs)(u.SelectItem,{value:a.id,disabled:!a.available,children:[a.label,!a.available&&" (not available)"]},a.id))})]}),S?(0,b.jsxs)(i.Button,{size:h?"sm":"default",variant:"outline",onClick:()=>R&&L(R.command),disabled:!z,className:"gap-2 shrink-0",children:[H?(0,b.jsx)(c.CheckCircle2,{className:"h-3.5 w-3.5 text-success"}):(0,b.jsx)(q.ClipboardCopy,{className:"h-3.5 w-3.5"}),H?"Copied!":"Copy Command"]}):(0,b.jsxs)(i.Button,{size:h?"sm":"default",variant:"outline",onClick:K,disabled:B||!z||!R?.available,className:"gap-2 shrink-0",children:[B?(0,b.jsx)(e.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(f.Terminal,{className:"h-3.5 w-3.5"}),B?"Installing...":"Install"]})]}),R&&!h&&(0,b.jsxs)("div",{className:"rounded-md bg-muted/50 px-3 py-2",children:[(0,b.jsx)("p",{className:"mb-1 text-[10px] font-medium uppercase tracking-wider text-muted-foreground/60",children:S?"Run this command in your terminal":"Command to run"}),(0,b.jsxs)("code",{className:"text-xs text-muted-foreground",children:["$ ",R.command]})]}),S&&!h&&(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["This method requires you to run the command in your own terminal (it may need elevated permissions). After installing, click"," ",(0,b.jsx)("strong",{children:"Retry Detection"})," to verify."]}),S&&(0,b.jsxs)(i.Button,{size:"sm",variant:"outline",onClick:M,className:"gap-1.5",children:[(0,b.jsx)(t.RefreshCw,{className:"h-3 w-3"}),"Retry Detection"]})]}):(0,b.jsxs)("div",{className:"space-y-2 rounded-md border border-warning/40 bg-warning/10 p-3",children:[(0,b.jsx)("p",{className:"text-xs font-medium text-warning",children:"No supported package manager was detected on this system."}),(0,b.jsx)("p",{className:"text-xs text-warning",children:"Please install the CLI manually in your terminal:"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"flex-1 rounded bg-muted px-2.5 py-1.5",children:(0,b.jsxs)("code",{className:"text-xs",children:["npm install -g"," ","claude"===a?"@anthropic-ai/claude-code":"codex"===a?"@openai/codex":"@google/gemini-cli"]})}),(0,b.jsx)(i.Button,{size:"sm",variant:"ghost",onClick:()=>L(`npm install -g ${"claude"===a?"@anthropic-ai/claude-code":"codex"===a?"@openai/codex":"@google/gemini-cli"}`),className:"shrink-0",children:H?(0,b.jsx)(c.CheckCircle2,{className:"h-3.5 w-3.5 text-success"}):(0,b.jsx)(q.ClipboardCopy,{className:"h-3.5 w-3.5"})})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 pt-1",children:[(0,b.jsxs)(i.Button,{size:"sm",variant:"outline",onClick:M,className:"gap-1.5",children:[(0,b.jsx)(t.RefreshCw,{className:"h-3 w-3"}),"Retry Detection"]}),N&&(0,b.jsxs)("a",{href:N,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-xs text-warning underline",children:[(0,b.jsx)(s.ExternalLink,{className:"h-3 w-3"}),"Official installation guide"]})]})]}),D&&!D.ok&&(0,b.jsxs)("div",{className:"space-y-2 rounded-md border border-destructive/40 bg-destructive/10 p-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium text-destructive",children:[(0,b.jsx)(g.XCircle,{className:"h-4 w-4 shrink-0"}),(0,b.jsx)("span",{children:D.timedOut?"Installation timed out (5 min limit)":`Installation failed (exit code ${D.exitCode})`})]}),D.stderr&&(0,b.jsx)("pre",{className:"max-h-32 overflow-auto rounded bg-destructive/10 p-2 text-xs text-destructive",children:D.stderr.slice(-1500)}),(0,b.jsxs)("div",{className:"space-y-1 text-xs text-destructive",children:[T.length>0&&(0,b.jsxs)("p",{children:["Try a different method: select"," ",T.map(a=>`"${a.label}"`).join(" or ")," from the dropdown above."]}),(0,b.jsxs)("p",{children:["You can also install manually in your terminal and then click"," ",(0,b.jsx)("strong",{children:"Retry Detection"})," below."]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 pt-1",children:[(0,b.jsxs)(i.Button,{size:"sm",variant:"outline",onClick:M,className:"gap-1.5",children:[(0,b.jsx)(t.RefreshCw,{className:"h-3 w-3"}),"Retry Detection"]}),N&&(0,b.jsxs)("a",{href:N,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-xs text-destructive underline",children:[(0,b.jsx)(s.ExternalLink,{className:"h-3 w-3"}),"Official install guide"]})]})]}),F&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:F})]})}function x(a){return"claude"===a}function y(a){return!a}function z(a){return!a}function A(a){return"wizard"===a.mode&&!a.isMain&&!a.cliInstalled}function B(a){return"allow"===a}a.s(["isAllowModeActive",0,B,"isContinueEligible",0,function(a){return null!==a.mainBackend},"isRecommended",0,x,"shouldEnableVerifyInstall",0,z,"shouldShowCliInstall",0,y,"shouldShowWizardConfigureLaterHint",0,A],34549),a.s(["BackendCard",0,function(a){let{backendId:l,mode:m,isMain:o,authStatus:p,authStatusDetail:q,authFirstExpiredAt:r,authLastSuccessAt:s,authNotificationCount:t,cliInstalled:u,enabled:v,webSearchEnabled:C,webSearchSupported:D,permissionMode:E,busy:F=!1,controlsDisabled:G=!1,disabledReason:H,installCheck:I,onCliInstalled:J,onVerifyInstall:K,onToggleEnable:L,onToggleWebSearch:M,renderExtra:N}=a,O=B(E),P=x(l),Q=(0,k.getBackendDeprecation)(l),R=!G&&y(u),S=!G&&z(F),T=u&&I?.status!=="ok"&&I?.status!=="checking",U=A({mode:m,isMain:o,cliInstalled:u});return(0,b.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,b.jsx)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:(0,b.jsx)("div",{className:"min-w-0 space-y-1.5",children:(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)(h.Badge,{variant:k.BACKEND_BADGE_VARIANTS[l],children:k.BACKEND_PROVIDER_LABELS[l]}),P&&(0,b.jsx)(h.Badge,{variant:"gray",className:"font-normal",children:"Recommended"}),o&&(0,b.jsx)(h.Badge,{variant:"amber",children:"MAIN"}),(0,b.jsx)(n,{status:p,detail:q??null,firstExpiredAt:r??null,lastSuccessAt:s??null,notificationCount:t??0}),"settings"===m&&O&&(0,b.jsx)("a",{href:"#execution-mode",className:"inline-flex",children:(0,b.jsx)(h.Badge,{variant:"red",className:"cursor-pointer",title:"Allow mode is on for this backend — click to jump to the Execution Mode card",children:"Allow"})}),"settings"===m&&(0,b.jsx)(h.Badge,{variant:v?"green":"gray",children:v?"Enabled":"Disabled"}),G&&(0,b.jsx)(h.Badge,{variant:"gray",children:"Preview"}),Q&&(0,b.jsx)(h.Badge,{variant:"amber",title:Q.reason,children:Q.badgeLabel})]})})}),(0,b.jsxs)("div",{className:"mt-4 space-y-3 border-t border-border pt-4",children:[G&&H&&(0,b.jsx)("p",{className:"rounded-md border border-border bg-muted/40 px-3 py-2 text-xs text-muted-foreground",children:H}),Q&&(0,b.jsx)("p",{className:"rounded-md border border-warning/40 bg-warning/10 px-3 py-2 text-xs text-warning",children:Q.reason}),!G&&(0,b.jsxs)(b.Fragment,{children:[R?(0,b.jsx)(w,{backendId:l,cliInstalled:u,compact:!0,onInstalled:()=>{J?.()}}):(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-success",children:[(0,b.jsx)(c.CheckCircle2,{className:"h-4 w-4"}),(0,b.jsx)("span",{children:"CLI installed"})]}),(0,b.jsxs)("div",{className:(0,j.cn)("flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",T&&"rounded-lg border border-primary/40 bg-primary/5 p-3"),children:[(0,b.jsx)("div",{className:"space-y-1",children:T?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"text-sm font-semibold text-foreground",children:"Verify the CLI runs on this machine"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Confirms the ",k.BACKEND_PROVIDER_LABELS[l]," CLI is on your"," ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:"PATH"})," and responds to"," ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:"--version"}),"."]})]}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:u?"Re-run this whenever you reinstall or update the CLI to confirm it still launches.":"Install the CLI first, then verify it runs."})}),(0,b.jsxs)(i.Button,{size:T?"default":"sm",variant:T?"default":"outline",disabled:!S,onClick:K,className:(0,j.cn)("gap-2",T&&"shrink-0 self-start ring-2 ring-primary/40 ring-offset-2 ring-offset-background sm:self-auto"),children:[I?.status==="checking"?(0,b.jsx)(e.Loader2,{className:(0,j.cn)("animate-spin",T?"h-4 w-4":"h-3.5 w-3.5")}):I?.status==="ok"?(0,b.jsx)(c.CheckCircle2,{className:(0,j.cn)("text-success",T?"h-4 w-4":"h-3.5 w-3.5")}):I?.status==="error"?(0,b.jsx)(g.XCircle,{className:(0,j.cn)("text-destructive",T?"h-4 w-4":"h-3.5 w-3.5")}):T?(0,b.jsx)(f.Terminal,{className:"h-4 w-4"}):null,I?.status==="checking"?"Checking…":"Verify install"]})]}),I?.status==="ok"&&I.version&&(0,b.jsxs)("p",{className:"text-xs text-success",children:["CLI runs OK —"," ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:I.version})]}),I?.status==="error"&&I.error&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:I.error}),U&&(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["You can install the CLI and verify it later from"," ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:"/settings/models"}),"."]})]})]}),N&&(0,b.jsx)("div",{className:"mt-4 border-t border-border pt-4",children:N()}),"settings"===m&&(0,b.jsxs)("div",{className:"mt-4 space-y-4 border-t border-border pt-4",children:[L&&(0,b.jsx)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:(0,b.jsx)(i.Button,{size:"sm",variant:v?"outline":"default",onClick:L,disabled:G||F,children:v?"Disable backend":"Enable backend"})}),M&&(0,b.jsxs)("div",{className:"flex flex-col gap-3 rounded-lg border border-border bg-muted/30 p-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,b.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(d,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,b.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Web search"}),(0,b.jsx)(h.Badge,{variant:C?"green":"gray",className:"text-[10px]",children:D?C?"On":"Off":"Not supported"})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:D?k.BACKEND_WEB_SEARCH_DESCRIPTIONS[l]:"This backend does not expose a web-search tool."}),D&&!v&&(0,b.jsx)("p",{className:"text-xs text-warning",children:"Enable the backend first to toggle web search."})]}),(0,b.jsx)(i.Button,{size:"sm",variant:C?"outline":"default",onClick:M,disabled:G||!D||!v||F,className:"shrink-0 self-start sm:self-center",children:C?"Disable web search":"Enable web search"})]})]})]})}],89021)},74358,a=>{"use strict";var b=a.i(39752),c=a.i(82687),d=a.i(55140),e=a.i(92241),f=a.i(7385),g=a.i(34542),h=a.i(7384),i=a.i(21218),j=a.i(8212),k=a.i(47696),l=a.i(59974),m=a.i(40091),n=a.i(8753),o=a.i(62588),p=a.i(81130);let q=a=>["backend-api-key",a];a.i(70010);var r=a.i(49819);function s(a,b){switch((0,r.defaultApiKeyProvider)(a)){case"anthropic":return(0,r.isPlausibleAnthropicApiKey)(b);case"openai":return(0,r.isPlausibleOpenAiApiKey)(b);case"google":return(0,r.isPlausibleGeminiApiKey)(b);default:return!1}}function t(a){switch((0,r.defaultApiKeyProvider)(a)){case"anthropic":return"Anthropic key — starts with `sk-ant-…`.";case"openai":return"OpenAI key — starts with `sk-…` (not `sk-ant-…`).";case"google":return"Google API key — starts with `AIza…`, 39 chars total.";default:return"API key"}}let u={anthropic:"Anthropic API key",bedrock:"Amazon Bedrock",vertex:"Google Vertex AI",foundry:"Microsoft Foundry",openai:"OpenAI API key","azure-openai":"Azure OpenAI",google:"Google API key","gemini-vertex":"Google Vertex AI","opencode-server":"OpenCode server"},v={anthropic:"Direct Anthropic API key (`sk-ant-…`). Stored in the OS keychain and mirrored to `ANTHROPIC_API_KEY`.",bedrock:"Anthropic models on Amazon Bedrock. Sets `CLAUDE_CODE_USE_BEDROCK=1` plus AWS credentials. Required: `AWS_REGION`.",vertex:"Anthropic models on Google Vertex AI. Sets `CLAUDE_CODE_USE_VERTEX=1` plus GCP project / region. Auth via Application Default Credentials or a service-account key file.",foundry:"Anthropic models on Microsoft Foundry. Sets `CLAUDE_CODE_USE_FOUNDRY=1` plus the Foundry resource (or full base URL). API key optional — falls back to Azure DefaultAzureCredential (`az login`).",openai:"OpenAI API key (`sk-…`). Stored in the keychain and mirrored to `OPENAI_API_KEY`.","azure-openai":"Codex CLI on Azure OpenAI. Daemon writes a managed `config.toml` to `<dataDir>/codex-home/` and points `CODEX_HOME` there — your personal `~/.codex/` is untouched. Sets `AZURE_OPENAI_API_KEY`. **Important:** the daemon spawns codex with `--model <id>` from the model registry, which Codex treats as the deployment name on Azure. Name your Azure deployments to match the model IDs shown on the /settings/models page (e.g. `gpt-5-codex`).",google:"Direct Gemini API key (`AIza…`). Mirrored to `GEMINI_API_KEY` + `GOOGLE_API_KEY`.","gemini-vertex":"Gemini on Google Vertex AI. Sets `GOOGLE_GENAI_USE_VERTEXAI=true` plus GCP project / location. Auth via ADC, a service-account key file, or a Vertex API key.","opencode-server":"OpenCode server authentication. Stores the server URL, username, and optional password; the daemon mirrors username/password into OpenCode server env vars."};function w(a){let b=r.RECOMMENDED_PINNED_MODELS_BY_PROVIDER[a];return{defaultOpusModel:b.defaultOpusModel,defaultSonnetModel:b.defaultSonnetModel,defaultHaikuModel:b.defaultHaikuModel}}let x={useMantle:!1,mantleBaseUrl:"",skipMantleAuth:!1};function y(a){switch(a){case"anthropic":return{provider:"anthropic",apiKey:""};case"bedrock":return z("access_key");case"vertex":return{provider:"vertex",projectId:"",region:"",credentialsFile:"",vertexBaseUrl:"",...w("vertex")};case"foundry":return{provider:"foundry",endpointKind:"resource",resource:"",baseUrl:"",apiKey:"",...w("foundry")};case"openai":return{provider:"openai",apiKey:""};case"azure-openai":return{provider:"azure-openai",resource:"",apiKey:"",apiVersion:r.DEFAULT_AZURE_OPENAI_API_VERSION,deploymentName:""};case"google":return{provider:"google",apiKey:""};case"gemini-vertex":return A("adc");case"opencode-server":return{provider:"opencode-server",baseUrl:"http://127.0.0.1:4096",username:"opencode",password:""}}}function z(a){let b={awsRegion:"",bedrockBaseUrl:"",...x,...w("bedrock")};switch(a){case"access_key":return{provider:"bedrock",authMode:"access_key",awsAccessKeyId:"",awsSecretAccessKey:"",awsSessionToken:"",...b};case"bearer_token":return{provider:"bedrock",authMode:"bearer_token",awsBearerTokenBedrock:"",...b};case"profile":return{provider:"bedrock",authMode:"profile",awsProfile:"",...b}}}function A(a){let b={projectId:"",location:""};switch(a){case"adc":return{provider:"gemini-vertex",authMode:"adc",...b};case"service_account":return{provider:"gemini-vertex",authMode:"service_account",credentialsFile:"",...b};case"api_key":return{provider:"gemini-vertex",authMode:"api_key",apiKey:"",...b}}}function B(a){let b={};return a.defaultOpusModel.trim()&&(b.defaultOpusModel=a.defaultOpusModel.trim()),a.defaultSonnetModel.trim()&&(b.defaultSonnetModel=a.defaultSonnetModel.trim()),a.defaultHaikuModel.trim()&&(b.defaultHaikuModel=a.defaultHaikuModel.trim()),b}function C(a){switch(a.provider){case"anthropic":if(!a.apiKey.trim())return null;return{provider:"anthropic",apiKey:a.apiKey.trim()};case"bedrock":{let b=a.awsRegion.trim();if(!b)return null;let c=a.bedrockBaseUrl.trim(),d=c?{bedrockBaseUrl:c}:{},e={...a.useMantle?{useMantle:!0}:{},...a.mantleBaseUrl.trim()?{mantleBaseUrl:a.mantleBaseUrl.trim()}:{},...a.skipMantleAuth?{skipMantleAuth:!0}:{}},f=B(a);switch(a.authMode){case"access_key":if(!a.awsAccessKeyId.trim()||!a.awsSecretAccessKey.trim())break;return{provider:"bedrock",authMode:"access_key",awsAccessKeyId:a.awsAccessKeyId.trim(),awsSecretAccessKey:a.awsSecretAccessKey.trim(),...a.awsSessionToken.trim()?{awsSessionToken:a.awsSessionToken.trim()}:{},awsRegion:b,...d,...e,...f};case"bearer_token":if(!a.awsBearerTokenBedrock.trim())break;return{provider:"bedrock",authMode:"bearer_token",awsBearerTokenBedrock:a.awsBearerTokenBedrock.trim(),awsRegion:b,...d,...e,...f};case"profile":if(!a.awsProfile.trim())break;return{provider:"bedrock",authMode:"profile",awsProfile:a.awsProfile.trim(),awsRegion:b,...d,...e,...f}}return null}case"vertex":if(!a.projectId.trim()||!a.region.trim())return null;return{provider:"vertex",projectId:a.projectId.trim(),region:a.region.trim(),...a.credentialsFile.trim()?{credentialsFile:a.credentialsFile.trim()}:{},...a.vertexBaseUrl.trim()?{vertexBaseUrl:a.vertexBaseUrl.trim()}:{},...B(a)};case"foundry":{let b=a.resource.trim(),c=a.baseUrl.trim(),d=a.apiKey.trim(),e=B(a);if("resource"===a.endpointKind){if(!b)return null;return{provider:"foundry",resource:b,...d?{apiKey:d}:{},...e}}if(!c)return null;return{provider:"foundry",baseUrl:c,...d?{apiKey:d}:{},...e}}case"openai":if(!a.apiKey.trim())return null;return{provider:"openai",apiKey:a.apiKey.trim()};case"azure-openai":{let b=a.resource.trim(),c=a.apiKey.trim();if(!b||!c)return null;return{provider:"azure-openai",resource:b,apiKey:c,...a.apiVersion.trim()?{apiVersion:a.apiVersion.trim()}:{},...a.deploymentName.trim()?{deploymentName:a.deploymentName.trim()}:{}}}case"google":if(!a.apiKey.trim())return null;return{provider:"google",apiKey:a.apiKey.trim()};case"gemini-vertex":{let b=a.projectId.trim(),c=a.location.trim();if(!b||!c)return null;switch(a.authMode){case"adc":return{provider:"gemini-vertex",authMode:"adc",projectId:b,location:c};case"service_account":if(!a.credentialsFile.trim())break;return{provider:"gemini-vertex",authMode:"service_account",projectId:b,location:c,credentialsFile:a.credentialsFile.trim()};case"api_key":if(!a.apiKey.trim())break;return{provider:"gemini-vertex",authMode:"api_key",projectId:b,location:c,apiKey:a.apiKey.trim()}}return null}case"opencode-server":{let b=a.baseUrl.trim(),c=a.username.trim(),d=a.password.trim();if(!b||!c)return null;return{provider:"opencode-server",baseUrl:b,username:c,...d?{password:d}:{}}}}}function D(a){return"anthropic"===a||"openai"===a||"google"===a}function E({backendId:a,draft:c,onChange:d,disabled:e}){switch(c.provider){case"anthropic":case"openai":case"google":return(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)(j.Input,{type:"password",autoComplete:"off",spellCheck:!1,placeholder:t(a),value:c.apiKey,onChange:a=>d({...c,apiKey:a.target.value}),disabled:e,"aria-label":`${u[c.provider]} API key`}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:t(a)})]});case"bedrock":return(0,b.jsx)(F,{draft:c,onChange:d,disabled:e});case"opencode-server":return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(I,{label:"Server URL",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"http://127.0.0.1:4096",value:c.baseUrl,onChange:a=>d({...c,baseUrl:a.target.value}),disabled:e})}),(0,b.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,b.jsx)(I,{label:"Username",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"opencode",value:c.username,onChange:a=>d({...c,username:a.target.value}),disabled:e})}),(0,b.jsx)(I,{label:"Password (optional)",children:(0,b.jsx)(j.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:c.password,onChange:a=>d({...c,password:a.target.value}),disabled:e})})]})]});case"vertex":return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,b.jsx)(I,{label:"GCP project id",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"my-gcp-project",value:c.projectId,onChange:a=>d({...c,projectId:a.target.value}),disabled:e})}),(0,b.jsx)(I,{label:"Vertex region",hint:"`global`, a multi-region (`us`, `eu`), or a region (e.g. `us-east5`).",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"us-east5",value:c.region,onChange:a=>d({...c,region:a.target.value}),disabled:e})})]}),(0,b.jsx)(I,{label:"Service account key file path (optional)",hint:"Absolute path to a service-account JSON file. Leave blank to use Application Default Credentials (`gcloud auth application-default login`).",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"/Users/me/keys/sa.json",value:c.credentialsFile,onChange:a=>d({...c,credentialsFile:a.target.value}),disabled:e})}),(0,b.jsx)(I,{label:"Vertex base URL (optional)",hint:"Override for custom endpoints / gateways.",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"https://aiplatform.googleapis.com",value:c.vertexBaseUrl,onChange:a=>d({...c,vertexBaseUrl:a.target.value}),disabled:e})}),(0,b.jsx)(G,{draft:c,onChange:d,disabled:e})]});case"foundry":return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:"Endpoint"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(k.Select,{value:c.endpointKind,onValueChange:a=>d({...c,endpointKind:a}),children:[(0,b.jsx)(k.SelectTrigger,{className:"w-44",children:(0,b.jsx)(k.SelectValue,{})}),(0,b.jsxs)(k.SelectContent,{children:[(0,b.jsx)(k.SelectItem,{value:"resource",children:"Resource name"}),(0,b.jsx)(k.SelectItem,{value:"base_url",children:"Full base URL"})]})]}),"resource"===c.endpointKind?(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"my-foundry-resource",value:c.resource,onChange:a=>d({...c,resource:a.target.value}),disabled:e}):(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"https://my-foundry-resource.services.ai.azure.com/anthropic",value:c.baseUrl,onChange:a=>d({...c,baseUrl:a.target.value}),disabled:e})]}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Resource name is the simpler form; base URL is for custom gateways. Set exactly one."})]}),(0,b.jsx)(I,{label:"Foundry API key (optional)",hint:"Leave blank to use Azure DefaultAzureCredential (`az login`, managed identity, etc.).",children:(0,b.jsx)(j.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:c.apiKey,onChange:a=>d({...c,apiKey:a.target.value}),disabled:e})}),(0,b.jsx)(G,{draft:c,onChange:d,disabled:e})]});case"azure-openai":return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"rounded-md border border-warning/40 bg-warning/5 p-2 text-[11px] text-warning",children:[(0,b.jsx)("strong",{children:"Deployment-name alignment required."})," The daemon spawns codex with ",(0,b.jsx)("code",{children:"--model <id>"})," from the process-routing registry, which Codex treats as the Azure deployment name. Name your Azure deployments to match the model IDs configured on the ",(0,b.jsx)("code",{children:"/settings/models"})," ","page (e.g. ",(0,b.jsx)("code",{children:"gpt-5-codex"}),"). Renaming the deployment in Azure is the supported fix."]}),(0,b.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,b.jsx)(I,{label:"Azure resource name",hint:"The Foundry/Azure-OpenAI resource name (subdomain of `*.openai.azure.com`).",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"my-azure-resource",value:c.resource,onChange:a=>d({...c,resource:a.target.value}),disabled:e})}),(0,b.jsx)(I,{label:"Azure OpenAI API key",children:(0,b.jsx)(j.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:c.apiKey,onChange:a=>d({...c,apiKey:a.target.value}),disabled:e})}),(0,b.jsx)(I,{label:"API version",hint:"Azure OpenAI API version (Codex uses the `responses` wire API).",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,value:c.apiVersion,onChange:a=>d({...c,apiVersion:a.target.value}),disabled:e})}),(0,b.jsx)(I,{label:"Default deployment name (optional)",hint:"Falls back when the daemon does not pass --model. Most invocations override this via --model from the routing registry — see warning above.",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"gpt-5-codex",value:c.deploymentName,onChange:a=>d({...c,deploymentName:a.target.value}),disabled:e})})]})]});case"gemini-vertex":return(0,b.jsx)(H,{draft:c,onChange:d,disabled:e})}}function F({draft:a,onChange:c,disabled:d}){return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:"AWS authentication"}),(0,b.jsxs)(k.Select,{value:a.authMode,onValueChange:b=>{b!==a.authMode&&c(z(b))},children:[(0,b.jsx)(k.SelectTrigger,{className:"w-full",children:(0,b.jsx)(k.SelectValue,{})}),(0,b.jsxs)(k.SelectContent,{children:[(0,b.jsx)(k.SelectItem,{value:"access_key",children:"Access key id + secret"}),(0,b.jsx)(k.SelectItem,{value:"bearer_token",children:"Bedrock API key (`AWS_BEARER_TOKEN_BEDROCK`)"}),(0,b.jsx)(k.SelectItem,{value:"profile",children:"AWS profile (`~/.aws/config`)"})]})]})]}),"access_key"===a.authMode&&(0,b.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,b.jsx)(I,{label:"AWS access key id",hint:"`AKIA…` for IAM users; `ASIA…` for STS / Identity Center.",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"AKIAIOSFODNN7EXAMPLE",value:a.awsAccessKeyId,onChange:b=>c({...a,awsAccessKeyId:b.target.value}),disabled:d})}),(0,b.jsx)(I,{label:"AWS secret access key",children:(0,b.jsx)(j.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:a.awsSecretAccessKey,onChange:b=>c({...a,awsSecretAccessKey:b.target.value}),disabled:d})}),(0,b.jsx)(I,{label:"AWS session token (optional)",hint:"Required for STS / Identity Center temporary credentials.",children:(0,b.jsx)(j.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:a.awsSessionToken,onChange:b=>c({...a,awsSessionToken:b.target.value}),disabled:d})})]}),"bearer_token"===a.authMode&&(0,b.jsx)(I,{label:"Bedrock API key",hint:"See AWS docs: 'Bedrock API keys' for how to issue one.",children:(0,b.jsx)(j.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:a.awsBearerTokenBedrock,onChange:b=>c({...a,awsBearerTokenBedrock:b.target.value}),disabled:d})}),"profile"===a.authMode&&(0,b.jsx)(I,{label:"AWS profile name",hint:"Resolves credentials from `~/.aws/config` and `~/.aws/credentials`.",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"default",value:a.awsProfile,onChange:b=>c({...a,awsProfile:b.target.value}),disabled:d})}),(0,b.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,b.jsx)(I,{label:"AWS region",hint:"Required by Claude Code regardless of auth mode.",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"us-east-1",value:a.awsRegion,onChange:b=>c({...a,awsRegion:b.target.value}),disabled:d})}),(0,b.jsx)(I,{label:"Bedrock base URL (optional)",hint:"Override for VPC endpoints / gateways.",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"https://bedrock-runtime.us-east-1.amazonaws.com",value:a.bedrockBaseUrl,onChange:b=>c({...a,bedrockBaseUrl:b.target.value}),disabled:d})})]}),(0,b.jsxs)("details",{className:"rounded-md border border-border p-2 text-xs",children:[(0,b.jsx)("summary",{className:"cursor-pointer font-medium text-foreground",children:"Mantle endpoint (advanced)"}),(0,b.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Mantle is an alternate Bedrock endpoint that uses the native Anthropic API shape. Setting this alongside the standard Invoke API lets Claude Code route per model. Most operators should leave this off."}),(0,b.jsxs)("label",{className:"flex items-center gap-2 text-xs text-foreground",children:[(0,b.jsx)("input",{type:"checkbox",checked:a.useMantle,onChange:b=>c({...a,useMantle:b.target.checked}),disabled:d}),"Enable Mantle endpoint (`CLAUDE_CODE_USE_MANTLE=1`)"]}),(0,b.jsx)(I,{label:"Mantle base URL (optional)",hint:"Override the default Mantle endpoint URL.",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,value:a.mantleBaseUrl,onChange:b=>c({...a,mantleBaseUrl:b.target.value}),disabled:d||!a.useMantle})}),(0,b.jsxs)("label",{className:"flex items-center gap-2 text-xs text-foreground",children:[(0,b.jsx)("input",{type:"checkbox",checked:a.skipMantleAuth,onChange:b=>c({...a,skipMantleAuth:b.target.checked}),disabled:d||!a.useMantle}),"Skip client-side auth (gateway injects credentials)"]})]})]}),(0,b.jsx)(G,{draft:a,onChange:c,disabled:d})]})}function G({draft:a,onChange:c,disabled:d}){let e=b=>{c({...a,...b})};return(0,b.jsxs)("details",{className:"rounded-md border border-border p-2 text-xs",children:[(0,b.jsx)("summary",{className:"cursor-pointer font-medium text-foreground",children:"Pinned model IDs (recommended)"}),(0,b.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Pinning prevents the `sonnet`/`opus`/`haiku` aliases from resolving to a model not yet enabled in your cloud account. Pre-filled with Anthropic's recommended defaults — edit only if your account is on a different model tier."}),(0,b.jsx)(I,{label:"Opus model ID (`ANTHROPIC_DEFAULT_OPUS_MODEL`)",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,value:a.defaultOpusModel,onChange:a=>e({defaultOpusModel:a.target.value}),disabled:d})}),(0,b.jsx)(I,{label:"Sonnet model ID (`ANTHROPIC_DEFAULT_SONNET_MODEL`)",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,value:a.defaultSonnetModel,onChange:a=>e({defaultSonnetModel:a.target.value}),disabled:d})}),(0,b.jsx)(I,{label:"Haiku model ID (`ANTHROPIC_DEFAULT_HAIKU_MODEL`)",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,value:a.defaultHaikuModel,onChange:a=>e({defaultHaikuModel:a.target.value}),disabled:d})})]})]})}function H({draft:a,onChange:c,disabled:d}){return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,b.jsx)(I,{label:"GCP project id",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"my-gcp-project",value:a.projectId,onChange:b=>c({...a,projectId:b.target.value}),disabled:d})}),(0,b.jsx)(I,{label:"GCP location",hint:"e.g. `us-central1`",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"us-central1",value:a.location,onChange:b=>c({...a,location:b.target.value}),disabled:d})})]}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:"Authentication"}),(0,b.jsxs)(k.Select,{value:a.authMode,onValueChange:b=>{b!==a.authMode&&c(A(b))},children:[(0,b.jsx)(k.SelectTrigger,{className:"w-full",children:(0,b.jsx)(k.SelectValue,{})}),(0,b.jsxs)(k.SelectContent,{children:[(0,b.jsx)(k.SelectItem,{value:"adc",children:"Application Default Credentials (`gcloud auth`)"}),(0,b.jsx)(k.SelectItem,{value:"service_account",children:"Service-account JSON file path"}),(0,b.jsx)(k.SelectItem,{value:"api_key",children:"Vertex API key"})]})]})]}),"service_account"===a.authMode&&(0,b.jsx)(I,{label:"Service account key file path",children:(0,b.jsx)(j.Input,{autoComplete:"off",spellCheck:!1,placeholder:"/Users/me/keys/sa.json",value:a.credentialsFile,onChange:b=>c({...a,credentialsFile:b.target.value}),disabled:d})}),"api_key"===a.authMode&&(0,b.jsx)(I,{label:"Vertex API key",hint:"`AIza…`. Distinct from a direct Gemini API key — it goes to GOOGLE_API_KEY only and routes through Vertex.",children:(0,b.jsx)(j.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:a.apiKey,onChange:b=>c({...a,apiKey:b.target.value}),disabled:d})})]})}function I({label:a,hint:c,children:d}){return(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:a}),d,c&&(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:c})]})}a.s(["BackendApiKeyPanel",0,function({backendId:a,onToast:j}){let w,x,{data:z,isLoading:A,error:B}=(0,o.useQuery)({queryKey:q(a),queryFn:()=>l.api.get(`/backends/${a}/api-key`),staleTime:3e4}),F=(w=(0,p.useQueryClient)(),(0,n.useMutation)({mutationFn:b=>l.api.put(`/backends/${a}/api-key`,b),onSuccess:()=>{w.invalidateQueries({queryKey:q(a)}),w.invalidateQueries({queryKey:["backends"]})}})),G=(x=(0,p.useQueryClient)(),(0,n.useMutation)({mutationFn:()=>l.api.delete(`/backends/${a}/api-key`),onSuccess:()=>{x.invalidateQueries({queryKey:q(a)}),x.invalidateQueries({queryKey:["backends"]})}})),H=(0,g.useMemo)(()=>z?.availableProviders??function(a){switch(a){case"claude":return["anthropic","bedrock","vertex","foundry"];case"codex":return["openai","azure-openai"];case"gemini":return["google","gemini-vertex"];case"opencode":return["opencode-server"]}}(a),[z?.availableProviders,a]),I=H.length>1,[J,K]=(0,g.useState)(null),L=J??z?.provider??H[0],[M,N]=(0,g.useState)(()=>y(L)),[O,P]=(0,g.useState)(null),Q=z?.source??"none",R=z?.configured??!1,S=z?.provider??null,T=z?.envVarNames??function(a){switch(a){case"claude":return["ANTHROPIC_API_KEY"];case"codex":return["OPENAI_API_KEY"];case"gemini":return["GEMINI_API_KEY","GOOGLE_API_KEY"];case"opencode":return["OPENCODE_SERVER_PASSWORD"]}}(a),U=F.isPending,V=G.isPending,W=async()=>{let b;if(P(null),D(L)){let c="apiKey"in M?M.apiKey.trim():"";if(!s(a,c))return void P({kind:"error",message:t(a)});b={apiKey:c}}else{let a=C(M);if(!a)return void P({kind:"error",message:"Fill in all required fields for this provider."});b={config:a}}try{let c=await F.mutateAsync(b);N(y(L));let d=c.auth?.detail??null,e=c.provider?u[c.provider]:m.BACKEND_PROVIDER_LABELS[a];if(c.auth?.ok){let a=d?`Saved (${e}) — ${d}`:`Saved (${e}).`;P({kind:"success",message:a}),j?.("success",`${e} configured.`)}else{let a=d?`Saved (${e}), but the provider rejected it — ${d}`:`Saved (${e}), but the provider probe did not succeed.`;P({kind:"error",message:a}),j?.("error",a)}}catch(b){let a=b instanceof l.ApiError||b instanceof Error?b.message:"Failed to save provider config";P({kind:"error",message:a}),j?.("error",a)}},X=async()=>{P(null);try{let b=await G.mutateAsync(),c="shell"===b.source?"Cleared from keychain — falling back to the shell-set env var.":"Cleared from keychain — backend will use CLI / OAuth auth.";P({kind:"success",message:c}),j?.("success",`${m.BACKEND_PROVIDER_LABELS[a]} provider config cleared.`)}catch(b){let a=b instanceof l.ApiError||b instanceof Error?b.message:"Failed to clear provider config";P({kind:"error",message:a}),j?.("error",a)}},Y=D(L)?function(a){if(a.saving)return!1;let b=a.draftValue.trim();return!!b&&s(a.backendId,b)}({backendId:a,draftValue:"apiKey"in M?M.apiKey:"",saving:U}):function(a){if(a.saving)return!1;let b=C(a.draft);return!!b&&null===(0,r.validateBackendApiKeyConfigFormat)(a.backendId,b)}({backendId:a,draft:M,saving:U});return(0,b.jsxs)("div",{className:"space-y-3 rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(d.KeyRound,{className:"h-4 w-4 text-muted-foreground"}),(0,b.jsxs)("h3",{className:"text-sm font-semibold text-foreground",children:["Provider auth",(0,b.jsx)("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:"(optional)"})]}),R&&(0,b.jsx)(h.Badge,{variant:"keychain"===Q?"green":"gray",children:"keychain"===Q?`Saved${S?` (${u[S]})`:""}`:"From shell"})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:A?"Loading…":B?"Could not read provider config from the daemon.":function(a){switch(a){case"keychain":return"API key configured (stored in OS keychain).";case"shell":return"Using API key from shell environment. Save a key here to override.";case"none":return"No API key configured. Falling back to CLI login / OAuth."}}(Q)}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Stored in the OS keychain. Leave blank to skip — the daemon falls back to local CLI / OAuth auth or your shell-set env vars."})]}),I&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("label",{htmlFor:`${a}-provider`,className:"text-xs font-medium text-foreground",children:"Provider"}),(0,b.jsxs)(k.Select,{value:L,onValueChange:a=>{a===L||H.includes(a)&&(K(a),N(y(a)),P(null))},children:[(0,b.jsx)(k.SelectTrigger,{id:`${a}-provider`,className:"w-full",children:(0,b.jsx)(k.SelectValue,{})}),(0,b.jsx)(k.SelectContent,{children:H.map(a=>(0,b.jsx)(k.SelectItem,{value:a,children:u[a]},a))})]}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:v[L]})]}),(0,b.jsx)(E,{backendId:a,draft:M,onChange:N,disabled:U||V}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsxs)(i.Button,{size:"sm",onClick:()=>{W()},disabled:!Y,className:"gap-2",children:[U?(0,b.jsx)(e.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):null,R&&"keychain"===Q?"Update provider":"Save provider"]}),"keychain"===Q&&(0,b.jsxs)(i.Button,{size:"sm",variant:"outline",onClick:()=>{X()},disabled:U||V,className:"gap-2",children:[V?(0,b.jsx)(e.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):null,"Clear"]}),!I&&(0,b.jsxs)("span",{className:"text-[11px] text-muted-foreground",children:["Sets ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:T.join(" / ")})]})]}),O&&(0,b.jsxs)("div",{role:"status",className:`flex items-start gap-2 rounded-md border p-2 text-xs ${"success"===O.kind?"border-success/30 bg-success/5 text-success":"border-destructive/30 bg-destructive/5 text-destructive"}`,children:["success"===O.kind?(0,b.jsx)(c.CheckCircle2,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}):(0,b.jsx)(f.XCircle,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,b.jsx)("span",{children:O.message})]})]})}],74358)},81831,a=>{"use strict";var b=a.i(39752),c=a.i(29629);a.s(["SubscriptionAuthWarning",0,function(){return(0,b.jsxs)(c.Alert,{variant:"warning",children:[(0,b.jsx)("p",{className:"font-semibold",children:"API key recommended — subscription auth is not supported by all providers"}),(0,b.jsxs)("p",{className:"mt-1 leading-relaxed",children:["You can skip API key setup and the daemon will fall back to each backend’s local CLI login (subscription auth). Most providers do not officially support running automated agents on a subscription plan; ",(0,b.jsx)("strong",{children:"Anthropic currently prohibits"})," ","using the Claude Agent SDK with a Claude Pro / Max subscription. Provider policies change often — to stay clear of the gray area, register a paid API key here."]})]})}])},26206,a=>{"use strict";let b=(0,a.i(5423).default)("LockOpen",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]);a.s(["Unlock",0,b],26206)},16611,a=>{"use strict";a.i(70010);var b=a.i(58906);function c(a,c){if(null===a){if((0,b.getBackendIds)().some(a=>null==c[a]))return null;let a=function(a){let c=0,d=0;for(let e of(0,b.getBackendIds)())"safe"===a[e]?c++:"allow"===a[e]&&d++;if(c>d)return"safe";if(d>c)return"allow";for(let c of(0,b.getBackendIds)())if(null!==a[c])return a[c];return"safe"}(c),d={};for(let e of(0,b.getBackendIds)()){let b=c[e];null!==b&&b!==a&&(d[e]=b)}let e={mode:a};return Object.keys(d).length>0&&(e.perBackend=d),e}let d={};for(let e of(0,b.getBackendIds)()){let b=c[e];null!=b&&b!==a&&(d[e]=b)}let e={mode:a};return Object.keys(d).length>0&&(e.perBackend=d),e}a.s(["EMPTY_OVERRIDES",0,{claude:null,codex:null,gemini:null,opencode:null},"buildSetupModePayload",0,c,"canApply",0,function(a,b){return null!==c(a,b)},"hasDivergentOverride",0,function(a,c){return(0,b.getBackendIds)().some(b=>{let d=c[b];return null!=d&&d!==a})},"internalToUi",0,function(a){return"strict"===a?"safe":"allow"}])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_0hojxqy._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[30400,a=>{"use strict";var b=a.i(39752),c=a.i(48558);let d=(0,a.i(42261).cva)("rounded-xl border p-5 shadow-[0_1px_2px_rgb(0_0_0/0.04),0_8px_24px_-16px_rgb(0_0_0/0.10)]",{variants:{tone:{default:"border-border bg-card",warning:"border-warning/40 bg-warning/5",success:"border-success/40 bg-success/5",error:"border-destructive/40 bg-destructive/5"},interactive:{true:"transition-shadow duration-150 hover:shadow-[0_4px_6px_rgb(0_0_0/0.06)]",false:""}},defaultVariants:{tone:"default",interactive:!1}});a.s(["Card",0,function({className:a,tone:e,interactive:f,...g}){return(0,b.jsx)("div",{className:(0,c.cn)(d({tone:e,interactive:f}),a),...g})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("mb-3 flex items-center justify-between",a),...d})},"CardStatLabel",0,function({className:a,...d}){return(0,b.jsx)("h3",{className:(0,c.cn)("text-xs font-semibold uppercase tracking-[0.08em] text-muted-foreground",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("h3",{className:(0,c.cn)("text-base font-semibold tracking-tight text-foreground",a),...d})},"CardValue",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("font-display text-3xl font-semibold tracking-tight text-foreground",a),...d})}])},87206,a=>{"use strict";var b=a.i(39752),c=a.i(48558);a.s(["PageHeader",0,function({title:a,description:d,icon:e,badge:f,actions:g,children:h,className:i}){return(0,b.jsxs)("header",{className:(0,c.cn)("flex flex-col gap-1.5",i),children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5",children:[e&&(0,b.jsx)(e,{className:"h-5 w-5 text-muted-foreground"}),(0,b.jsx)("h1",{className:"font-display text-[1.75rem] font-semibold leading-tight tracking-tight text-foreground",children:a}),f]}),g&&(0,b.jsx)("div",{className:"flex items-center gap-2",children:g})]}),d&&(0,b.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-muted-foreground",children:d}),h]})}])},27727,a=>{"use strict";var b=a.i(39752),c=a.i(48558);a.s(["EmptyState",0,function({icon:a,title:d,description:e,className:f,children:g}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex flex-col items-center justify-center py-16 text-muted-foreground",f),children:[(0,b.jsx)(a,{className:"mb-3 h-10 w-10 opacity-40"}),(0,b.jsx)("p",{className:"text-sm font-medium",children:d}),e&&(0,b.jsx)("p",{className:"mt-1 max-w-prose text-xs text-muted-foreground/70",children:e}),g]})}])},7037,a=>{"use strict";let b=(0,a.i(5423).default)("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",0,b],7037)},54506,a=>{"use strict";let b=(0,a.i(5423).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["Check",0,b],54506)},96336,a=>{"use strict";let b=(0,a.i(5423).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);a.s(["Trash2",0,b],96336)},43179,a=>{"use strict";let b=(0,a.i(5423).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",0,b],43179)},11307,a=>{"use strict";let b=(0,a.i(5423).default)("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);a.s(["FolderOpen",0,b],11307)},6236,a=>{"use strict";let b=(0,a.i(5423).default)("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);a.s(["Activity",0,b],6236)},95024,a=>{"use strict";let b=(0,a.i(5423).default)("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);a.s(["Save",0,b],95024)},48033,a=>{"use strict";let b=(0,a.i(5423).default)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);a.s(["Lock",0,b],48033)},8735,a=>{"use strict";let b=(0,a.i(5423).default)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);a.s(["Upload",0,b],8735)},7437,69481,a=>{"use strict";var b=a.i(8753),c=a.i(62588),d=a.i(81130),e=a.i(59974);class f extends Error{conflict;constructor(a){super("context_conflict"),this.conflict=a,this.name="ContextConflictError"}}a.s(["ContextConflictError",0,f,"useContextFile",0,function(a,b){return(0,c.useQuery)({queryKey:["context",a],queryFn:()=>e.api.get(`/context/${a}`),enabled:!!a&&b?.enabled!==!1,refetchOnWindowFocus:b?.enabled!==!1})},"useContextList",0,function(a){return(0,c.useQuery)({queryKey:["context-list",a],queryFn:()=>e.api.get(`/context/list/${a}`)})},"useUpdateContextFile",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:async({path:a,content:b,expectedMtime:c})=>{try{return await e.api.put(`/context/${a}`,{content:b,...void 0!==c?{expectedMtime:c}:{}})}catch(a){if(a instanceof e.ApiError&&409===a.status&&a.body?.error==="conflict"){let b=a.body;throw new f({currentMtime:b.currentMtime??"",currentContent:b.currentContent??""})}throw a}},onSuccess:(b,{path:c,content:d})=>{a.setQueryData(["context",c],a=>a?{...a,content:d,lastModified:b.lastModified}:{content:d,lastModified:b.lastModified,editable:!0}),a.invalidateQueries({queryKey:["snapshots",c]});let e=c.includes("/")?c.split("/")[0]:null;e&&a.invalidateQueries({queryKey:["context-list",e]})}})}],7437);var g=a.i(39752),h=a.i(32307),i=a.i(21218),j=a.i(48558);a.s(["FileConflictBanner",0,function({onReload:a,onOverwrite:b,isPending:c=!1,reloadLabel:d="Reload latest",className:e}){return(0,g.jsxs)("div",{role:"alert","aria-live":"assertive",className:(0,j.cn)("rounded-md border border-warning/50 bg-warning/10 p-3 text-xs",e),children:[(0,g.jsxs)("div",{className:"mb-2 flex items-center gap-2 font-semibold text-warning",children:[(0,g.jsx)(h.AlertTriangle,{className:"h-3.5 w-3.5"}),"File was modified by another process"]}),(0,g.jsx)("p",{className:"mb-3 text-warning/90",children:"The agent or another tab wrote to this file after you started editing. Your unsaved draft is preserved — choose how to proceed."}),(0,g.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,g.jsx)(i.Button,{size:"sm",variant:"outline",onClick:a,disabled:c,className:"h-7",children:d}),(0,g.jsx)(i.Button,{size:"sm",variant:"destructive",onClick:b,disabled:c,className:"h-7",children:c?"Overwriting…":"Overwrite with my edits"})]})]})}],69481)},93637,a=>{"use strict";let b=(0,a.i(5423).default)("Filter",[["polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",key:"1yg77f"}]]);a.s(["Filter",0,b],93637)},84478,a=>{"use strict";var b=a.i(13925),c=a.i(8753),d=a.i(62588),e=a.i(81130),f=a.i(59974);let g=["managed-tasks"],h=["management-history"];function i(a){a.invalidateQueries({queryKey:g}),a.invalidateQueries({queryKey:h}),a.invalidateQueries({queryKey:["managed-task"]}),a.invalidateQueries({queryKey:["recurring-schedules"]}),a.invalidateQueries({queryKey:["schedule-list"]}),a.invalidateQueries({queryKey:["schedule-next"]})}a.s(["useDeleteManagedTask",0,function(){let a=(0,e.useQueryClient)();return(0,c.useMutation)({mutationFn:a=>f.api.delete(`/managed-tasks/${a}`),onSuccess:()=>i(a)})},"useManagedTask",0,function(a){return(0,d.useQuery)({queryKey:["managed-task",a],queryFn:()=>f.api.get(`/managed-tasks/${a}`),enabled:!!a,staleTime:15e3})},"useManagedTaskRuns",0,function(a,b=25){return(0,d.useQuery)({queryKey:["managed-task-runs",a,b],queryFn:()=>f.api.get(`/managed-tasks/${a}/runs`,{limit:b}),enabled:!!a,staleTime:15e3})},"useManagedTasks",0,function(){return(0,d.useQuery)({queryKey:g,queryFn:()=>f.api.get("/managed-tasks"),staleTime:3e4})},"useManagementHistory",0,function(a=50){return(0,b.useInfiniteQuery)({queryKey:[...h,a],queryFn:({pageParam:b})=>f.api.get("/management-history",{limit:a,...b?{before_id:b}:{}}),initialPageParam:void 0,getNextPageParam:a=>a.nextCursor??void 0,staleTime:15e3})},"useRenameManagedTaskApp",0,function(){let a=(0,e.useQueryClient)();return(0,c.useMutation)({mutationFn:({id:a,newApp:b})=>f.api.post(`/managed-tasks/${a}/rename-app`,{newApp:b}),onSuccess:(b,c)=>{i(a),a.invalidateQueries({queryKey:["managed-task-runs",c.id]}),a.invalidateQueries({queryKey:["entities"]}),a.invalidateQueries({queryKey:["entities-by-source"]})}})},"useRunManagedTaskNow",0,function(){let a=(0,e.useQueryClient)();return(0,c.useMutation)({mutationFn:({id:a,reason:b})=>f.api.post(`/managed-tasks/${a}/run-now`,{reason:b}),onSuccess:(b,c)=>{a.invalidateQueries({queryKey:h}),a.invalidateQueries({queryKey:["managed-task-runs",c.id]}),a.invalidateQueries({queryKey:["schedule-list"]})}})},"useUpdateManagedTask",0,function(){let a=(0,e.useQueryClient)();return(0,c.useMutation)({mutationFn:({id:a,...b})=>f.api.patch(`/managed-tasks/${a}`,b),onSuccess:(b,c)=>{i(a),a.invalidateQueries({queryKey:["managed-task-runs",c.id]})}})}])},40294,93929,a=>{"use strict";var b=a.i(34542),c=a.i(81130),d=a.i(59974);a.s(["useRegenerate",0,function(){let[a,e]=(0,b.useState)(null),[f,g]=(0,b.useState)("idle"),[h,i]=(0,b.useState)(null),j=(0,c.useQueryClient)(),k=(0,b.useRef)(null),l=(0,b.useRef)(null),m=(0,b.useRef)(0);(0,b.useEffect)(()=>()=>{k.current&&clearInterval(k.current)},[]);let n=(0,b.useCallback)(()=>{k.current&&(clearInterval(k.current),k.current=null)},[]);return{regenerate:(0,b.useCallback)(async a=>{if("triggered"===f||"running"===f)return;e(a),g("triggered"),i(null),m.current=Date.now();let b=await d.api.get(`/context/${a}`).catch(()=>null);l.current=b?.lastModified??null;try{await d.api.post("/agent/regenerate",{target:a}),g("running"),k.current=setInterval(async()=>{if(Date.now()-m.current>3e5){n(),g("error"),i("Timeout — agent may still be processing");return}try{let b=await d.api.get(`/context/${a}`);(null===l.current||b.lastModified!==l.current)&&(n(),g("done"),j.invalidateQueries({queryKey:["context",a]}),j.invalidateQueries({queryKey:["calendar"]}),setTimeout(()=>{g("idle"),e(null)},5e3))}catch{}},3e3)}catch(a){g("error"),i(a instanceof Error?a.message:"Failed to trigger")}},[f,j,n]),target:a,status:f,error:h,dismiss:(0,b.useCallback)(()=>{n(),g("idle"),e(null),i(null)},[n])}}],40294);var e=a.i(39752),f=a.i(21218),g=a.i(48558),h=a.i(39293),i=a.i(54506),j=a.i(91092),k=a.i(92241);a.s(["RegenerateButton",0,function({target:a,label:b,currentTarget:c,status:d,error:l,onRegenerate:m,onDismiss:n,variant:o="outline",size:p="sm",className:q}){let r=c===a;return r&&"done"===d?(0,e.jsxs)(f.Button,{variant:o,size:p,className:(0,g.cn)("text-success",q),onClick:n,children:[(0,e.jsx)(i.Check,{className:"h-3.5 w-3.5 mr-1.5"}),"Updated"]}):r&&"error"===d?(0,e.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,e.jsxs)(f.Button,{variant:o,size:p,className:(0,g.cn)("text-destructive",q),onClick:n,children:[(0,e.jsx)(j.AlertCircle,{className:"h-3.5 w-3.5 mr-1.5"}),"Failed"]}),l&&(0,e.jsx)("span",{className:"text-xs text-destructive max-w-48 truncate",children:l})]}):(0,e.jsxs)(f.Button,{variant:o,size:p,onClick:()=>m(a),disabled:"triggered"===d||"running"===d,className:q,children:[r&&"idle"!==d?(0,e.jsx)(k.Loader2,{className:"h-3.5 w-3.5 mr-1.5 animate-spin"}):(0,e.jsx)(h.RefreshCw,{className:"h-3.5 w-3.5 mr-1.5"}),r&&"triggered"===d?"Triggering...":r&&"running"===d?"Running...":b]})}],93929)},96459,a=>{"use strict";var b=a.i(62588),c=a.i(59974);a.s(["useSetupStatus",0,function(){return(0,b.useQuery)({queryKey:["setup-status"],queryFn:()=>c.api.get("/setup/status"),staleTime:3e4})}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0jlpcde._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[40091,a=>{"use strict";a.i(70010);var b=a.i(58906);let c={claude:"Claude Code",codex:"OpenAI Codex",gemini:"Gemini CLI",opencode:"OpenCode"},d=new Set(["opencode"]);function e(a){return d.has(a)}let f={gemini:{badgeLabel:"Vendor deprecation",shortSuffix:" (deprecated)",reason:"Google announced Gemini CLI will stop serving free, Pro, and Ultra requests on 2026-06-18 in favor of Antigravity CLI. Standard / Enterprise licenses keep access. Avoid binding new processes to Gemini if you rely on consumer-tier auth."}},g={claude:"Claude",codex:"Codex",gemini:"Gemini",opencode:"OpenCode"},h={claude:"orange",codex:"pink",gemini:"blue",opencode:"orange"},i={"routine.morning_routine":"Morning Routine","routine.evening_review":"Evening Review","routine.weekly_review":"Weekly Review","routine.monthly_review":"Monthly Review","routine.activity_scan":"Activity Scan","routine.roadmap_refresh":"Roadmap Refresh","message.dm":"Direct Messages","message.mention":"Mentions","dashboard.chat":"Dashboard Chat","agent.task":"Scheduled Tasks","calendar.change":"Calendar Events",gmail_classify:"Gmail Classification","github.pull_request.review_requested":"GitHub Review Requests","github.assigned":"GitHub Assignments","github.security_alert":"GitHub Security Alerts","github.workflow_run.failed":"GitHub CI Failures","wiki.ingest_url":"Wiki URL Ingest","wiki.compile":"Wiki Compile","wiki.ask":"Wiki Ask"};function j(a){let b;if(!a)return[];try{b=JSON.parse(a)}catch{return[]}if(!b||"object"!=typeof b)return[];let c=[];for(let[a,d]of Object.entries(b))d&&"object"==typeof d&&c.push({modelId:a,inputTokens:"number"==typeof d.inputTokens?d.inputTokens:0,outputTokens:"number"==typeof d.outputTokens?d.outputTokens:0,costUsd:"number"==typeof d.costUsd?d.costUsd:0});return c.sort((a,b)=>b.costUsd-a.costUsd)}function k(a){if(!a)return null;let b=a.toLowerCase();return/^[a-z0-9_.-]+\/[a-z0-9_.-]+/.test(b)?"opencode":b.includes("claude")||b.includes("sonnet")||b.includes("opus")||b.includes("haiku")?"claude":b.includes("gemini")?"gemini":b.includes("gpt")||b.includes("codex")||b.includes("o3")||b.includes("o4")?"codex":null}a.s(["BACKEND_BADGE_VARIANTS",0,h,"BACKEND_LABELS",0,c,"BACKEND_PROVIDER_LABELS",0,{claude:"Claude (Anthropic)",codex:"ChatGPT (OpenAI)",gemini:"Gemini (Google)",opencode:"OpenCode (sst/opencode)"},"BACKEND_PROVIDER_SHORT",0,{claude:"Claude",codex:"ChatGPT",gemini:"Gemini",opencode:"OpenCode"},"BACKEND_WEB_SEARCH_DESCRIPTIONS",0,{claude:"Lets the agent call Anthropic's built-in WebSearch tool.",codex:"Lets the agent call OpenAI's web_search tool. Works in safe (sandbox) mode — the tool runs at OpenAI, not as a local shell command.",gemini:"Lets the agent call Gemini's google_web_search tool.",opencode:"Lets the agent call the configured OpenCode provider's web-search tool when the OpenCode runtime is enabled."},"UI_PREVIEW_ONLY_BADGE_SUFFIX",0," (coming soon)","UI_PREVIEW_ONLY_REASON",0,"Coming soon — OpenCode is wired internally but not yet ready for selection in this release. The card stays visible so you can see what is on the roadmap.","detectBackendFromModel",0,k,"formatModelName",0,function(a){return a?a.replace(/^[a-z0-9_.-]+\//i,"").replace(/^claude-/,"Claude ").replace(/^gpt-/,"GPT-").replace(/^gemini-/,"Gemini ").replace(/-/g," ").replace(/\bpreview\b/gi,"(preview)").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\bcodex\b/gi,"Codex").replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\s+/g," ").trim():"Not set"},"formatShortModelName",0,function(a){if(!a)return"unknown";if("opus"===a)return"Opus";if("sonnet"===a)return"Sonnet";let b=a.replace(/^[a-z0-9_.-]+\//i,""),c=b.replace(/-\d{8,}$/,"").replace(/^claude-/,"").replace(/(\d+)-(\d+)(?![-\d])/g,"$1.$2").replace(/-/g," ");return b.startsWith("gpt-")&&(c=`GPT-${c.replace(/^gpt\s*/i,"")}`),b.startsWith("gemini-")&&(c=c.replace(/^gemini\s*/i,"Gemini ")),c.replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\s+/g," ").trim()},"getBackendDeprecation",0,function(a){return f[a]??null},"getBackendLabel",0,function(a){return c[a]},"getBackendShortLabel",0,function(a){return g[a]},"getProcessGroup",0,function(a){return a.startsWith("wiki.")?"Wiki":a.startsWith("message.")||a.startsWith("dashboard.")?"Conversation":a.startsWith("routine.")?"Routines":a.startsWith("git.")||a.startsWith("github.")?"Git & GitHub":a.startsWith("calendar.")||"gmail_classify"===a?"Integrations":"Tasks"},"getProcessLabel",0,function(a){return i[a]??a},"isBackendSelectionDisabled",0,function(a){return!(0,b.isRuntimeAvailableBackendId)(a)||e(a)},"isUiPreviewOnlyBackend",0,e,"modelBadgeVariant",0,function(a){if(!a)return"gray";let b=k(a);return b?h[b]:"gray"},"parseModelUsage",0,j,"pickDisplayModel",0,function(a,b){let c=j(b);return c.length>0&&c[0]?c[0].modelId:a??null}])},74794,a=>{"use strict";var b=a.i(62588),c=a.i(59974);a.s(["useBackends",0,function(a){return(0,b.useQuery)({queryKey:["backends"],queryFn:()=>c.api.get("/backends"),enabled:a?.enabled??!0,staleTime:6e4})}])},60380,a=>{"use strict";var b=a.i(34542);a.i(39752);var c=b.createContext(void 0);a.s(["useDirection",0,function(a){let d=b.useContext(c);return a||d||"ltr"}])},69471,a=>{"use strict";var b=a.i(34542),c=a.i(95819),d=a.i(80303),e=a.i(92274),f=a.i(39752),g=new WeakMap;function h(a,b){var c,d;let e,f,g;if("at"in Array.prototype)return Array.prototype.at.call(a,b);let h=(c=a,d=b,e=c.length,(g=(f=i(d))>=0?f:e+f)<0||g>=e?-1:g);return -1===h?void 0:a[h]}function i(a){return a!=a||0===a?0:Math.trunc(a)}(class a extends Map{#a;constructor(a){super(a),this.#a=[...super.keys()],g.set(this,!0)}set(a,b){return g.get(this)&&(this.has(a)?this.#a[this.#a.indexOf(a)]=a:this.#a.push(a)),super.set(a,b),this}insert(a,b,c){let d,e=this.has(b),f=this.#a.length,g=i(a),h=g>=0?g:f+g,j=h<0||h>=f?-1:h;if(j===this.size||e&&j===this.size-1||-1===j)return this.set(b,c),this;let k=this.size+ +!e;g<0&&h++;let l=[...this.#a],m=!1;for(let a=h;a<k;a++)if(h===a){let f=l[a];l[a]===b&&(f=l[a+1]),e&&this.delete(b),d=this.get(f),this.set(b,c)}else{m||l[a-1]!==b||(m=!0);let c=l[m?a:a-1],e=d;d=this.get(c),this.delete(c),this.set(c,e)}return this}with(b,c,d){let e=new a(this);return e.insert(b,c,d),e}before(a){let b=this.#a.indexOf(a)-1;if(!(b<0))return this.entryAt(b)}setBefore(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d,b,c)}after(a){let b=this.#a.indexOf(a);if(-1!==(b=-1===b||b===this.size-1?-1:b+1))return this.entryAt(b)}setAfter(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d+1,b,c)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#a=[],super.clear()}delete(a){let b=super.delete(a);return b&&this.#a.splice(this.#a.indexOf(a),1),b}deleteAt(a){let b=this.keyAt(a);return void 0!==b&&this.delete(b)}at(a){let b=h(this.#a,a);if(void 0!==b)return this.get(b)}entryAt(a){let b=h(this.#a,a);if(void 0!==b)return[b,this.get(b)]}indexOf(a){return this.#a.indexOf(a)}keyAt(a){return h(this.#a,a)}from(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.at(d)}keyFrom(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.keyAt(d)}find(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return d;c++}}findIndex(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return c;c++}return -1}filter(b,c){let d=[],e=0;for(let a of this)Reflect.apply(b,c,[a,e,this])&&d.push(a),e++;return new a(d)}map(b,c){let d=[],e=0;for(let a of this)d.push([a[0],Reflect.apply(b,c,[a,e,this])]),e++;return new a(d)}reduce(...a){let[b,c]=a,d=0,e=c??this.at(0);for(let c of this)e=0===d&&1===a.length?c:Reflect.apply(b,this,[e,c,d,this]),d++;return e}reduceRight(...a){let[b,c]=a,d=c??this.at(-1);for(let c=this.size-1;c>=0;c--){let e=this.at(c);d=c===this.size-1&&1===a.length?e:Reflect.apply(b,this,[d,e,c,this])}return d}toSorted(b){return new a([...this.entries()].sort(b))}toReversed(){let b=new a;for(let a=this.size-1;a>=0;a--){let c=this.keyAt(a),d=this.get(c);b.set(c,d)}return b}toSpliced(...b){let c=[...this.entries()];return c.splice(...b),new a(c)}slice(b,c){let d=new a,e=this.size-1;if(void 0===b)return d;b<0&&(b+=this.size),void 0!==c&&c>0&&(e=c-1);for(let a=b;a<=e;a++){let b=this.keyAt(a),c=this.get(b);d.set(b,c)}return d}every(a,b){let c=0;for(let d of this){if(!Reflect.apply(a,b,[d,c,this]))return!1;c++}return!0}some(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return!0;c++}return!1}}),a.s(["createCollection",0,function(a){let g=a+"CollectionProvider",[h,i]=(0,c.createContextScope)(g),[j,k]=h(g,{collectionRef:{current:null},itemMap:new Map}),l=a=>{let{scope:c,children:d}=a,e=b.default.useRef(null),g=b.default.useRef(new Map).current;return(0,f.jsx)(j,{scope:c,itemMap:g,collectionRef:e,children:d})};l.displayName=g;let m=a+"CollectionSlot",n=(0,e.createSlot)(m),o=b.default.forwardRef((a,b)=>{let{scope:c,children:e}=a,g=k(m,c),h=(0,d.useComposedRefs)(b,g.collectionRef);return(0,f.jsx)(n,{ref:h,children:e})});o.displayName=m;let p=a+"CollectionItemSlot",q="data-radix-collection-item",r=(0,e.createSlot)(p),s=b.default.forwardRef((a,c)=>{let{scope:e,children:g,...h}=a,i=b.default.useRef(null),j=(0,d.useComposedRefs)(c,i),l=k(p,e);return b.default.useEffect(()=>(l.itemMap.set(i,{ref:i,...h}),()=>void l.itemMap.delete(i))),(0,f.jsx)(r,{...{[q]:""},ref:j,children:g})});return s.displayName=p,[{Provider:l,Slot:o,ItemSlot:s},function(c){let d=k(a+"CollectionConsumer",c);return b.default.useCallback(()=>{let a=d.collectionRef.current;if(!a)return[];let b=Array.from(a.querySelectorAll(`[${q}]`));return Array.from(d.itemMap.values()).sort((a,c)=>b.indexOf(a.ref.current)-b.indexOf(c.ref.current))},[d.collectionRef,d.itemMap])},i]}])},48972,a=>{"use strict";a.s(["clamp",0,function(a,[b,c]){return Math.min(c,Math.max(b,a))}])},39293,a=>{"use strict";let b=(0,a.i(5423).default)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",0,b],39293)},57216,a=>{"use strict";var b=a.i(34542),c=a.i(59653),d=a.i(95819),e=a.i(47427),f=a.i(18867),g=a.i(80303),h=a.i(30419),i=a.i(73490),j=a.i(55277),k=a.i(39752),l="Collapsible",[m,n]=(0,d.createContextScope)(l),[o,p]=m(l),q=b.forwardRef((a,c)=>{let{__scopeCollapsible:d,open:f,defaultOpen:g,disabled:i,onOpenChange:m,...n}=a,[p,q]=(0,e.useControllableState)({prop:f,defaultProp:g??!1,onChange:m,caller:l});return(0,k.jsx)(o,{scope:d,disabled:i,contentId:(0,j.useId)(),open:p,onOpenToggle:b.useCallback(()=>q(a=>!a),[q]),children:(0,k.jsx)(h.Primitive.div,{"data-state":w(p),"data-disabled":i?"":void 0,...n,ref:c})})});q.displayName=l;var r="CollapsibleTrigger",s=b.forwardRef((a,b)=>{let{__scopeCollapsible:d,...e}=a,f=p(r,d);return(0,k.jsx)(h.Primitive.button,{type:"button","aria-controls":f.contentId,"aria-expanded":f.open||!1,"data-state":w(f.open),"data-disabled":f.disabled?"":void 0,disabled:f.disabled,...e,ref:b,onClick:(0,c.composeEventHandlers)(a.onClick,f.onOpenToggle)})});s.displayName=r;var t="CollapsibleContent",u=b.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=p(t,a.__scopeCollapsible);return(0,k.jsx)(i.Presence,{present:c||e.open,children:({present:a})=>(0,k.jsx)(v,{...d,ref:b,present:a})})});u.displayName=t;var v=b.forwardRef((a,c)=>{let{__scopeCollapsible:d,present:e,children:i,...j}=a,l=p(t,d),[m,n]=b.useState(e),o=b.useRef(null),q=(0,g.useComposedRefs)(c,o),r=b.useRef(0),s=r.current,u=b.useRef(0),v=u.current,x=l.open||m,y=b.useRef(x),z=b.useRef(void 0);return b.useEffect(()=>{let a=requestAnimationFrame(()=>y.current=!1);return()=>cancelAnimationFrame(a)},[]),(0,f.useLayoutEffect)(()=>{let a=o.current;if(a){z.current=z.current||{transitionDuration:a.style.transitionDuration,animationName:a.style.animationName},a.style.transitionDuration="0s",a.style.animationName="none";let b=a.getBoundingClientRect();r.current=b.height,u.current=b.width,y.current||(a.style.transitionDuration=z.current.transitionDuration,a.style.animationName=z.current.animationName),n(e)}},[l.open,e]),(0,k.jsx)(h.Primitive.div,{"data-state":w(l.open),"data-disabled":l.disabled?"":void 0,id:l.contentId,hidden:!x,...j,ref:q,style:{"--radix-collapsible-content-height":s?`${s}px`:void 0,"--radix-collapsible-content-width":v?`${v}px`:void 0,...a.style},children:x&&i})});function w(a){return a?"open":"closed"}a.s(["Collapsible",0,q,"CollapsibleContent",0,u,"CollapsibleTrigger",0,s],57216)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0kn1u4v._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[87206,a=>{"use strict";var b=a.i(39752),c=a.i(48558);a.s(["PageHeader",0,function({title:a,description:d,icon:e,badge:f,actions:g,children:h,className:i}){return(0,b.jsxs)("header",{className:(0,c.cn)("flex flex-col gap-1.5",i),children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5",children:[e&&(0,b.jsx)(e,{className:"h-5 w-5 text-muted-foreground"}),(0,b.jsx)("h1",{className:"font-display text-[1.75rem] font-semibold leading-tight tracking-tight text-foreground",children:a}),f]}),g&&(0,b.jsx)("div",{className:"flex items-center gap-2",children:g})]}),d&&(0,b.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-muted-foreground",children:d}),h]})}])},27727,a=>{"use strict";var b=a.i(39752),c=a.i(48558);a.s(["EmptyState",0,function({icon:a,title:d,description:e,className:f,children:g}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex flex-col items-center justify-center py-16 text-muted-foreground",f),children:[(0,b.jsx)(a,{className:"mb-3 h-10 w-10 opacity-40"}),(0,b.jsx)("p",{className:"text-sm font-medium",children:d}),e&&(0,b.jsx)("p",{className:"mt-1 max-w-prose text-xs text-muted-foreground/70",children:e}),g]})}])},41010,a=>{"use strict";var b=a.i(39752),c=a.i(91092),d=a.i(92241),e=a.i(21218),f=a.i(48558);function g(){return(0,b.jsx)("div",{className:"flex items-center justify-center py-16",children:(0,b.jsx)(d.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})})}function h({error:a,onRetry:d}){return(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-16",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-destructive",children:[(0,b.jsx)(c.AlertCircle,{className:"h-5 w-5"}),(0,b.jsx)("p",{className:"text-sm font-medium",children:"Failed to load data"})]}),a?.message&&(0,b.jsx)("p",{className:"max-w-md text-center text-xs text-muted-foreground",children:a.message}),d&&(0,b.jsx)(e.Button,{variant:"outline",size:"sm",onClick:d,children:"Retry"})]})}a.s(["CardSkeleton",0,function({count:a=3}){return(0,b.jsx)("div",{className:(0,f.cn)("grid gap-4",a<=2?"grid-cols-1 md:grid-cols-2":4===a?"grid-cols-2 md:grid-cols-4":"grid-cols-1 md:grid-cols-3"),children:Array.from({length:a}).map((a,c)=>(0,b.jsx)("div",{className:"h-28 animate-pulse rounded-xl border border-border bg-muted/30"},c))})},"QueryResult",0,function({isLoading:a,isError:c,error:d,onRetry:e,skeleton:i,className:j,children:k}){return a?(0,b.jsx)("div",{className:(0,f.cn)(j),children:i??(0,b.jsx)(g,{})}):c?(0,b.jsx)("div",{className:(0,f.cn)(j),children:(0,b.jsx)(h,{error:d,onRetry:e})}):(0,b.jsx)(b.Fragment,{children:k})},"TableSkeleton",0,function({rows:a=5}){return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("div",{className:"h-10 animate-pulse rounded-lg bg-muted/40"}),Array.from({length:a}).map((a,c)=>(0,b.jsx)("div",{className:"h-12 animate-pulse rounded-lg bg-muted/20"},c))]})}])},13925,a=>{"use strict";var b=a.i(70981),c=a.i(76584),d=class extends b.QueryObserver{constructor(a,b){super(a,b)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(a){super.setOptions({...a,behavior:(0,c.infiniteQueryBehavior)()})}getOptimisticResult(a){return a.behavior=(0,c.infiniteQueryBehavior)(),super.getOptimisticResult(a)}fetchNextPage(a){return this.fetch({...a,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(a){return this.fetch({...a,meta:{fetchMore:{direction:"backward"}}})}createResult(a,b){let{state:d}=a,e=super.createResult(a,b),{isFetching:f,isRefetching:g,isError:h,isRefetchError:i}=e,j=d.fetchMeta?.fetchMore?.direction,k=h&&"forward"===j,l=f&&"forward"===j,m=h&&"backward"===j,n=f&&"backward"===j;return{...e,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:(0,c.hasNextPage)(b,d.data),hasPreviousPage:(0,c.hasPreviousPage)(b,d.data),isFetchNextPageError:k,isFetchingNextPage:l,isFetchPreviousPageError:m,isFetchingPreviousPage:n,isRefetchError:i&&!k&&!m,isRefetching:g&&!l&&!n}}},e=a.i(62149);a.s(["useInfiniteQuery",0,function(a,b){return(0,e.useBaseQuery)(a,d,b)}],13925)},11200,a=>{"use strict";var b=a.i(34542),c=a.i(87648),d=a.i(13925),e=a.i(8753),f=a.i(62588),g=a.i(81130),h=a.i(59974),i=a.i(34043);let j=["agents"];function k(a){return["agents","detail",a]}a.s(["useAgent",0,function(a){return(0,f.useQuery)({queryKey:k(a??""),queryFn:()=>h.api.get(`/agents/${a}`),enabled:!!a})},"useAgentExecutionsInfinite",0,function(a,b){return(0,d.useInfiniteQuery)({queryKey:["agents","executions-page",a??"",b??{}],queryFn:({pageParam:c})=>h.api.get(`/agents/${a}/executions`,{params:{limit:50,result:b?.result,before:c??void 0}}),initialPageParam:void 0,getNextPageParam:a=>{if(a.executions.length<50)return;let b=a.executions[a.executions.length-1];return b?.id},enabled:!!a,placeholderData:c.keepPreviousData})},"useAgentLiveRefresh",0,function(){let{subscribeEvent:a}=(0,i.useSSE)(),c=(0,g.useQueryClient)();(0,b.useEffect)(()=>a(a=>{let b=a.kind;if("string"!=typeof b||!b.startsWith("agent."))return;let d=a.slug;"string"==typeof d&&(c.invalidateQueries({queryKey:k(d)}),c.invalidateQueries({queryKey:["agents","executions",d,(void 0)??{}]})),c.invalidateQueries({queryKey:j})}),[a,c])},"useAgents",0,function(a){return(0,f.useQuery)({queryKey:["agents","list",a??{}],queryFn:()=>h.api.get("/agents",{params:{source:a?.source,enabled:a?.enabled===void 0?void 0:String(a.enabled),include_invalid:a?.include_invalid===void 0?void 0:String(a.include_invalid)}}),placeholderData:c.keepPreviousData})},"useDeleteAgent",0,function(){let a=(0,g.useQueryClient)();return(0,e.useMutation)({mutationFn:({slug:a,keepHistory:b})=>h.api.delete(`/agents/${a}`,{body:{keep_history:b}}),onSuccess:(b,{slug:c})=>{a.invalidateQueries({queryKey:k(c)}),a.invalidateQueries({queryKey:j})}})},"usePatchAgent",0,function(){let a=(0,g.useQueryClient)();return(0,e.useMutation)({mutationFn:({slug:a,body:b})=>h.api.patch(`/agents/${a}`,b),onSuccess:(b,{slug:c})=>{a.invalidateQueries({queryKey:k(c)}),a.invalidateQueries({queryKey:j})}})},"useRunAgentNow",0,function(){let a=(0,g.useQueryClient)();return(0,e.useMutation)({mutationFn:a=>h.api.post(`/agents/${a}/run-now`,{}),onSuccess:(b,c)=>{a.invalidateQueries({queryKey:k(c)})}})},"useRunningAgents",0,function(){let{subscribeEvent:a}=(0,i.useSSE)(),[c,d]=(0,b.useState)(new Set);return(0,b.useEffect)(()=>a(a=>{let b=a.kind,c=a.slug;"string"==typeof c&&("agent.execution.started"===b?d(a=>new Set(a).add(c)):"agent.execution.completed"===b&&d(a=>{if(!a.has(c))return a;let b=new Set(a);return b.delete(c),b}))}),[a]),c},"useSaveUserAgent",0,function(){let a=(0,g.useQueryClient)();return(0,e.useMutation)({mutationFn:({slug:a,content:b,expectedMtime:c})=>h.api.put(`/context/policies/agents/${a}/agent.md`,{content:b,...c?{expectedMtime:c}:{}}),onSuccess:(b,{slug:c})=>{a.invalidateQueries({queryKey:k(c)}),a.invalidateQueries({queryKey:j})}})}])},39259,a=>{"use strict";let b=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function c(a){return a<10?`0${a}`:String(a)}function d(a){if(!Number.isFinite(a)||a<=0)return`${a}m`;let b=Math.floor(a/60),c=a%60;return b>0&&c>0?`${b}h ${c}m`:b>0?`${b}h`:`${c}m`}function e(a){return`Every ${d(a.interval_minutes)}`}function f(a){let{active_start_hour:b,active_end_hour:d}=a;return b<=0&&d>=24?null:`${c(b)}:00–${c(d)}:00`}function g(a){let b=/^\*\/(\d+)$/.exec(a);if(!b)return null;let c=Number(b[1]);return Number.isInteger(c)&&c>0?c:null}function h(a){let b=/^(\d+)-(\d+)$/.exec(a);if(!b)return null;let c=Number(b[1]),d=Number(b[2]);return!Number.isInteger(c)||!Number.isInteger(d)||c<0||d>23||c>=d?null:{start:c,end:d}}function i(a){if(null==a||!Number.isFinite(a)||a<0)return"—";let b=Math.round(a/1e3),c=Math.floor(b/3600),d=Math.floor(b%3600/60),e=b%60;return c>0?`${c}h ${d}m`:d>0?`${d}m ${e}s`:`${e}s`}a.s(["describeSchedule",0,function(a){switch(a.kind){case"cron":if(a.interval){var i;let b,c;return b=e(i=a.interval),(c=f(i))?`${b}, ${c}`:b}return a.expression?function(a){let e=a.trim().split(/\s+/);if(5!==e.length&&6!==e.length)return a;let[f,i,j,k,l]=6===e.length?e.slice(1):e,m=function(a,b,e,f,i){if("*"!==e||"*"!==f||"*"!==i)return null;let j=g(a)??function(a){if(!a.includes(","))return null;let b=a.split(",").map(a=>Number(a));if(b.length<2||b.some(a=>!Number.isInteger(a))||0!==b[0])return null;let c=b[1]-b[0];if(c<=0)return null;for(let a=1;a<b.length;a++)if(b[a]-b[a-1]!==c)return null;return c}(a);if(null!==j){let a=`Every ${d(j)}`;if("*"===b)return a;let e=h(b);return e?`${a}, ${c(e.start)}:00–${c(e.end+1)}:00`:null}if("*"===a){if("*"===b)return"Every minute";let a=h(b);return a?`Every minute, ${c(a.start)}:00–${c(a.end+1)}:00`:null}let k=Number(a);if(!Number.isInteger(k)||k<0||k>=60)return null;let l=0===k?"":` at :${c(k)}`,m=g(b);return null!==m?`Every ${m}h${l}`:"*"===b?`Hourly${l}`:null}(f,i,j,k,l);if(m)return m;let n=Number(f),o=Number(i);if(!(Number.isInteger(n)&&Number.isInteger(o)&&n>=0&&n<60&&o>=0&&o<24))return a;let p=`${c(o)}:${c(n)}`;if("*"===j&&"*"===k&&"*"===l)return`Every day at ${p}`;if("*"===j&&"*"===k){let a=Number(l);if(Number.isInteger(a)&&a>=0&&a<=6)return`Every ${b[a]} at ${p}`}return a}(a.expression):"Recurring";case"one_shot":return"One-shot";case"event":return a.expression?`On event: ${a.expression}`:"On event";default:return a.kind}},"executionDurationMs",0,function(a){if(!a.started_at||!a.ended_at)return null;let b=Date.parse(a.started_at),c=Date.parse(a.ended_at);return Number.isFinite(b)&&Number.isFinite(c)&&!(c<b)?c-b:null},"formatActiveHours",0,f,"formatCostUsd",0,function(a){return null==a?"—":`$${a.toFixed(2)}`},"formatDurationSeconds",0,function(a){return null==a?"—":i(1e3*a)},"formatDurationShort",0,i,"formatIntervalEvery",0,e,"formatPercent",0,function(a){return null==a?"—":`${Math.round(100*a)}%`},"isIntervalSchedule",0,function(a){if(a.interval)return!0;if("cron"!==a.kind||!a.expression)return!1;let b=a.expression.trim().split(/\s+/);if(5!==b.length&&6!==b.length)return!1;let[c,d]=6===b.length?b.slice(1):b,e=a=>"*"===a||a.includes(",")||a.includes("-")||a.includes("/");return e(c)||e(d)},"kindLabel",0,function(a){return"builtin"===a?"System":"User"},"resultBadgeVariant",0,function(a){switch(a){case"success":return"green";case"error":return"red";case"timeout":return"amber";default:return"gray"}}])},30005,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(78019),h=a.i(42732),i=a.i(60133),j=a.i(87206),k=a.i(21218),l=a.i(7384),m=a.i(41010),n=a.i(27727),o=a.i(11200),p=a.i(39259);let q=[{value:"all",label:"All"},{value:"success",label:"Success"},{value:"error",label:"Error"},{value:"timeout",label:"Timeout"},{value:"skipped",label:"Skipped"}];function r({execution:a}){let[d,e]=(0,c.useState)(!1),f=a.success_criteria?Object.entries(a.success_criteria):[];return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("tr",{className:"cursor-pointer border-b border-border hover:bg-muted/30",onClick:()=>e(a=>!a),children:[(0,b.jsx)("td",{className:"px-3 py-2 text-muted-foreground",children:d?(0,b.jsx)(g.ChevronDown,{className:"h-4 w-4"}):(0,b.jsx)(h.ChevronRight,{className:"h-4 w-4"})}),(0,b.jsx)("td",{className:"whitespace-nowrap px-3 py-2 text-xs tabular-nums text-muted-foreground",children:a.started_at?new Date(a.started_at).toLocaleString():"—"}),(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)(l.Badge,{variant:(0,p.resultBadgeVariant)(a.result),children:a.result??"running"})}),(0,b.jsx)("td",{className:"px-3 py-2 tabular-nums",children:(0,p.formatDurationShort)((0,p.executionDurationMs)(a))}),(0,b.jsx)("td",{className:"px-3 py-2 text-xs text-muted-foreground",children:a.trigger??"—"}),(0,b.jsx)("td",{className:"px-3 py-2 tabular-nums",children:(0,p.formatCostUsd)(a.cost_usd)})]}),d&&(0,b.jsx)("tr",{className:"border-b border-border bg-muted/20",children:(0,b.jsxs)("td",{colSpan:6,className:"px-6 py-3",children:[(0,b.jsxs)("dl",{className:"grid gap-x-6 gap-y-1 text-xs sm:grid-cols-2",children:[(0,b.jsxs)(s,{label:"Execution id",children:["#",a.id]}),(0,b.jsx)(s,{label:"Schedule row",children:a.schedule_row_id??"—"}),(0,b.jsxs)(s,{label:"Tokens in / out",children:[a.tokens_input??"—"," / ",a.tokens_output??"—"]}),(0,b.jsx)(s,{label:"Turns",children:a.turns??"—"}),a.error_kind&&(0,b.jsx)(s,{label:"Error kind",children:a.error_kind}),a.error_message&&(0,b.jsx)(s,{label:"Error",children:a.error_message})]}),f.length>0&&(0,b.jsxs)("div",{className:"mt-2",children:[(0,b.jsx)("div",{className:"text-xs font-medium text-muted-foreground",children:"Success criteria"}),(0,b.jsx)("div",{className:"mt-1 flex flex-wrap gap-1",children:f.map(([a,c])=>(0,b.jsxs)(l.Badge,{variant:c?"green":"red",children:[c?"✓":"✗"," ",a]},a))})]}),a.output_summary&&(0,b.jsx)("p",{className:"mt-2 whitespace-pre-wrap text-xs text-muted-foreground",children:a.output_summary})]})})]})}function s({label:a,children:c}){return(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)("dt",{className:"font-medium text-muted-foreground",children:[a,":"]}),(0,b.jsx)("dd",{className:"text-foreground",children:c})]})}a.s(["default",0,function(){let a=(0,e.useParams)().slug;(0,o.useAgentLiveRefresh)();let[g,h]=(0,c.useState)("all"),l=(0,o.useAgentExecutionsInfinite)(a,{result:"all"===g?void 0:g}),p=(0,c.useMemo)(()=>l.data?.pages.flatMap(a=>a.executions)??[],[l.data]);return(0,b.jsxs)("div",{className:"space-y-6 p-6",children:[(0,b.jsxs)(d.default,{href:`/agents/${a}`,className:"inline-flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground",children:[(0,b.jsx)(f.ArrowLeft,{className:"h-4 w-4"})," Back to ",a]}),(0,b.jsx)(j.PageHeader,{title:"Execution history",description:(0,b.jsxs)(b.Fragment,{children:["Every recorded run of ",(0,b.jsx)("code",{children:a}),". Expand a row to see cost, tokens, turns, error detail, and success-criteria results."]})}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1",role:"toolbar","aria-label":"Result filter",children:q.map(a=>(0,b.jsx)(k.Button,{variant:g===a.value?"default":"outline",size:"sm",onClick:()=>h(a.value),"aria-pressed":g===a.value,children:a.label},a.value))}),(0,b.jsxs)(m.QueryResult,{isLoading:l.isLoading,isError:l.isError,error:l.error,onRetry:()=>l.refetch(),children:[0===p.length?(0,b.jsx)(n.EmptyState,{icon:i.History,title:"No executions",description:"This Agent has not run yet."}):(0,b.jsx)("div",{className:"overflow-hidden rounded-xl border border-border",children:(0,b.jsxs)("table",{className:"w-full text-left text-sm",children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{className:"border-b border-border bg-muted/50 text-xs text-muted-foreground",children:[(0,b.jsx)("th",{className:"w-8 px-3 py-2"}),(0,b.jsx)("th",{className:"px-3 py-2",children:"Started"}),(0,b.jsx)("th",{className:"px-3 py-2",children:"Result"}),(0,b.jsx)("th",{className:"px-3 py-2",children:"Duration"}),(0,b.jsx)("th",{className:"px-3 py-2",children:"Trigger"}),(0,b.jsx)("th",{className:"px-3 py-2",children:"Cost"})]})}),(0,b.jsx)("tbody",{children:p.map(a=>(0,b.jsx)(r,{execution:a},a.id))})]})}),l.hasNextPage&&(0,b.jsx)("div",{className:"flex justify-center",children:(0,b.jsx)(k.Button,{variant:"outline",onClick:()=>l.fetchNextPage(),disabled:l.isFetchingNextPage,children:l.isFetchingNextPage?"Loading…":"Load older"})})]})]})}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0l7uzol._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[30400,a=>{"use strict";var b=a.i(39752),c=a.i(48558);let d=(0,a.i(42261).cva)("rounded-xl border p-5 shadow-[0_1px_2px_rgb(0_0_0/0.04),0_8px_24px_-16px_rgb(0_0_0/0.10)]",{variants:{tone:{default:"border-border bg-card",warning:"border-warning/40 bg-warning/5",success:"border-success/40 bg-success/5",error:"border-destructive/40 bg-destructive/5"},interactive:{true:"transition-shadow duration-150 hover:shadow-[0_4px_6px_rgb(0_0_0/0.06)]",false:""}},defaultVariants:{tone:"default",interactive:!1}});a.s(["Card",0,function({className:a,tone:e,interactive:f,...g}){return(0,b.jsx)("div",{className:(0,c.cn)(d({tone:e,interactive:f}),a),...g})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("mb-3 flex items-center justify-between",a),...d})},"CardStatLabel",0,function({className:a,...d}){return(0,b.jsx)("h3",{className:(0,c.cn)("text-xs font-semibold uppercase tracking-[0.08em] text-muted-foreground",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("h3",{className:(0,c.cn)("text-base font-semibold tracking-tight text-foreground",a),...d})},"CardValue",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("font-display text-3xl font-semibold tracking-tight text-foreground",a),...d})}])},87206,a=>{"use strict";var b=a.i(39752),c=a.i(48558);a.s(["PageHeader",0,function({title:a,description:d,icon:e,badge:f,actions:g,children:h,className:i}){return(0,b.jsxs)("header",{className:(0,c.cn)("flex flex-col gap-1.5",i),children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5",children:[e&&(0,b.jsx)(e,{className:"h-5 w-5 text-muted-foreground"}),(0,b.jsx)("h1",{className:"font-display text-[1.75rem] font-semibold leading-tight tracking-tight text-foreground",children:a}),f]}),g&&(0,b.jsx)("div",{className:"flex items-center gap-2",children:g})]}),d&&(0,b.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-muted-foreground",children:d}),h]})}])},96336,a=>{"use strict";let b=(0,a.i(5423).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);a.s(["Trash2",0,b],96336)},7037,a=>{"use strict";let b=(0,a.i(5423).default)("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",0,b],7037)},74794,a=>{"use strict";var b=a.i(62588),c=a.i(59974);a.s(["useBackends",0,function(a){return(0,b.useQuery)({queryKey:["backends"],queryFn:()=>c.api.get("/backends"),enabled:a?.enabled??!0,staleTime:6e4})}])},97449,a=>{"use strict";let b=(0,a.i(5423).default)("BookOpenText",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M16 12h2",key:"7q9ll5"}],["path",{d:"M16 8h2",key:"msurwy"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}],["path",{d:"M6 12h2",key:"32wvfc"}],["path",{d:"M6 8h2",key:"30oboj"}]]);a.s(["BookOpenText",0,b],97449)},87759,a=>{"use strict";let b=(0,a.i(5423).default)("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);a.s(["Play",0,b],87759)},7437,69481,a=>{"use strict";var b=a.i(8753),c=a.i(62588),d=a.i(81130),e=a.i(59974);class f extends Error{conflict;constructor(a){super("context_conflict"),this.conflict=a,this.name="ContextConflictError"}}a.s(["ContextConflictError",0,f,"useContextFile",0,function(a,b){return(0,c.useQuery)({queryKey:["context",a],queryFn:()=>e.api.get(`/context/${a}`),enabled:!!a&&b?.enabled!==!1,refetchOnWindowFocus:b?.enabled!==!1})},"useContextList",0,function(a){return(0,c.useQuery)({queryKey:["context-list",a],queryFn:()=>e.api.get(`/context/list/${a}`)})},"useUpdateContextFile",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:async({path:a,content:b,expectedMtime:c})=>{try{return await e.api.put(`/context/${a}`,{content:b,...void 0!==c?{expectedMtime:c}:{}})}catch(a){if(a instanceof e.ApiError&&409===a.status&&a.body?.error==="conflict"){let b=a.body;throw new f({currentMtime:b.currentMtime??"",currentContent:b.currentContent??""})}throw a}},onSuccess:(b,{path:c,content:d})=>{a.setQueryData(["context",c],a=>a?{...a,content:d,lastModified:b.lastModified}:{content:d,lastModified:b.lastModified,editable:!0}),a.invalidateQueries({queryKey:["snapshots",c]});let e=c.includes("/")?c.split("/")[0]:null;e&&a.invalidateQueries({queryKey:["context-list",e]})}})}],7437);var g=a.i(39752),h=a.i(32307),i=a.i(21218),j=a.i(48558);a.s(["FileConflictBanner",0,function({onReload:a,onOverwrite:b,isPending:c=!1,reloadLabel:d="Reload latest",className:e}){return(0,g.jsxs)("div",{role:"alert","aria-live":"assertive",className:(0,j.cn)("rounded-md border border-warning/50 bg-warning/10 p-3 text-xs",e),children:[(0,g.jsxs)("div",{className:"mb-2 flex items-center gap-2 font-semibold text-warning",children:[(0,g.jsx)(h.AlertTriangle,{className:"h-3.5 w-3.5"}),"File was modified by another process"]}),(0,g.jsx)("p",{className:"mb-3 text-warning/90",children:"The agent or another tab wrote to this file after you started editing. Your unsaved draft is preserved — choose how to proceed."}),(0,g.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,g.jsx)(i.Button,{size:"sm",variant:"outline",onClick:a,disabled:c,className:"h-7",children:d}),(0,g.jsx)(i.Button,{size:"sm",variant:"destructive",onClick:b,disabled:c,className:"h-7",children:c?"Overwriting…":"Overwrite with my edits"})]})]})}],69481)},26577,a=>{"use strict";let b=(0,a.i(5423).default)("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);a.s(["Settings2",0,b],26577)},18513,a=>{"use strict";var b=a.i(40091);let c="__auto__",d=new Set(["expired","missing"]);a.s(["AUTO_VALUE",0,c,"SEPARATOR",0,"::","buildPickerGroups",0,function(a){return a.filter(a=>a.enabled&&a.models.length>0).map(a=>({backendId:a.id,label:(0,b.getBackendShortLabel)(a.id),authBlocked:d.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)})}))},"decodeSelection",0,function(a){if(a===c)return null;let b=a.indexOf("::");return b<0?null:{backendId:a.slice(0,b),modelId:a.slice(b+2)}},"encodeSelection",0,function(a){return`${a.backendId}::${a.modelId}`},"heavyTierHint",0,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}])},11200,a=>{"use strict";var b=a.i(34542),c=a.i(87648),d=a.i(13925),e=a.i(8753),f=a.i(62588),g=a.i(81130),h=a.i(59974),i=a.i(34043);let j=["agents"];function k(a){return["agents","detail",a]}a.s(["useAgent",0,function(a){return(0,f.useQuery)({queryKey:k(a??""),queryFn:()=>h.api.get(`/agents/${a}`),enabled:!!a})},"useAgentExecutionsInfinite",0,function(a,b){return(0,d.useInfiniteQuery)({queryKey:["agents","executions-page",a??"",b??{}],queryFn:({pageParam:c})=>h.api.get(`/agents/${a}/executions`,{params:{limit:50,result:b?.result,before:c??void 0}}),initialPageParam:void 0,getNextPageParam:a=>{if(a.executions.length<50)return;let b=a.executions[a.executions.length-1];return b?.id},enabled:!!a,placeholderData:c.keepPreviousData})},"useAgentLiveRefresh",0,function(){let{subscribeEvent:a}=(0,i.useSSE)(),c=(0,g.useQueryClient)();(0,b.useEffect)(()=>a(a=>{let b=a.kind;if("string"!=typeof b||!b.startsWith("agent."))return;let d=a.slug;"string"==typeof d&&(c.invalidateQueries({queryKey:k(d)}),c.invalidateQueries({queryKey:["agents","executions",d,(void 0)??{}]})),c.invalidateQueries({queryKey:j})}),[a,c])},"useAgents",0,function(a){return(0,f.useQuery)({queryKey:["agents","list",a??{}],queryFn:()=>h.api.get("/agents",{params:{source:a?.source,enabled:a?.enabled===void 0?void 0:String(a.enabled),include_invalid:a?.include_invalid===void 0?void 0:String(a.include_invalid)}}),placeholderData:c.keepPreviousData})},"useDeleteAgent",0,function(){let a=(0,g.useQueryClient)();return(0,e.useMutation)({mutationFn:({slug:a,keepHistory:b})=>h.api.delete(`/agents/${a}`,{body:{keep_history:b}}),onSuccess:(b,{slug:c})=>{a.invalidateQueries({queryKey:k(c)}),a.invalidateQueries({queryKey:j})}})},"usePatchAgent",0,function(){let a=(0,g.useQueryClient)();return(0,e.useMutation)({mutationFn:({slug:a,body:b})=>h.api.patch(`/agents/${a}`,b),onSuccess:(b,{slug:c})=>{a.invalidateQueries({queryKey:k(c)}),a.invalidateQueries({queryKey:j})}})},"useRunAgentNow",0,function(){let a=(0,g.useQueryClient)();return(0,e.useMutation)({mutationFn:a=>h.api.post(`/agents/${a}/run-now`,{}),onSuccess:(b,c)=>{a.invalidateQueries({queryKey:k(c)})}})},"useRunningAgents",0,function(){let{subscribeEvent:a}=(0,i.useSSE)(),[c,d]=(0,b.useState)(new Set);return(0,b.useEffect)(()=>a(a=>{let b=a.kind,c=a.slug;"string"==typeof c&&("agent.execution.started"===b?d(a=>new Set(a).add(c)):"agent.execution.completed"===b&&d(a=>{if(!a.has(c))return a;let b=new Set(a);return b.delete(c),b}))}),[a]),c},"useSaveUserAgent",0,function(){let a=(0,g.useQueryClient)();return(0,e.useMutation)({mutationFn:({slug:a,content:b,expectedMtime:c})=>h.api.put(`/context/policies/agents/${a}/agent.md`,{content:b,...c?{expectedMtime:c}:{}}),onSuccess:(b,{slug:c})=>{a.invalidateQueries({queryKey:k(c)}),a.invalidateQueries({queryKey:j})}})}])},39259,a=>{"use strict";let b=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function c(a){return a<10?`0${a}`:String(a)}function d(a){if(!Number.isFinite(a)||a<=0)return`${a}m`;let b=Math.floor(a/60),c=a%60;return b>0&&c>0?`${b}h ${c}m`:b>0?`${b}h`:`${c}m`}function e(a){return`Every ${d(a.interval_minutes)}`}function f(a){let{active_start_hour:b,active_end_hour:d}=a;return b<=0&&d>=24?null:`${c(b)}:00–${c(d)}:00`}function g(a){let b=/^\*\/(\d+)$/.exec(a);if(!b)return null;let c=Number(b[1]);return Number.isInteger(c)&&c>0?c:null}function h(a){let b=/^(\d+)-(\d+)$/.exec(a);if(!b)return null;let c=Number(b[1]),d=Number(b[2]);return!Number.isInteger(c)||!Number.isInteger(d)||c<0||d>23||c>=d?null:{start:c,end:d}}function i(a){if(null==a||!Number.isFinite(a)||a<0)return"—";let b=Math.round(a/1e3),c=Math.floor(b/3600),d=Math.floor(b%3600/60),e=b%60;return c>0?`${c}h ${d}m`:d>0?`${d}m ${e}s`:`${e}s`}a.s(["describeSchedule",0,function(a){switch(a.kind){case"cron":if(a.interval){var i;let b,c;return b=e(i=a.interval),(c=f(i))?`${b}, ${c}`:b}return a.expression?function(a){let e=a.trim().split(/\s+/);if(5!==e.length&&6!==e.length)return a;let[f,i,j,k,l]=6===e.length?e.slice(1):e,m=function(a,b,e,f,i){if("*"!==e||"*"!==f||"*"!==i)return null;let j=g(a)??function(a){if(!a.includes(","))return null;let b=a.split(",").map(a=>Number(a));if(b.length<2||b.some(a=>!Number.isInteger(a))||0!==b[0])return null;let c=b[1]-b[0];if(c<=0)return null;for(let a=1;a<b.length;a++)if(b[a]-b[a-1]!==c)return null;return c}(a);if(null!==j){let a=`Every ${d(j)}`;if("*"===b)return a;let e=h(b);return e?`${a}, ${c(e.start)}:00–${c(e.end+1)}:00`:null}if("*"===a){if("*"===b)return"Every minute";let a=h(b);return a?`Every minute, ${c(a.start)}:00–${c(a.end+1)}:00`:null}let k=Number(a);if(!Number.isInteger(k)||k<0||k>=60)return null;let l=0===k?"":` at :${c(k)}`,m=g(b);return null!==m?`Every ${m}h${l}`:"*"===b?`Hourly${l}`:null}(f,i,j,k,l);if(m)return m;let n=Number(f),o=Number(i);if(!(Number.isInteger(n)&&Number.isInteger(o)&&n>=0&&n<60&&o>=0&&o<24))return a;let p=`${c(o)}:${c(n)}`;if("*"===j&&"*"===k&&"*"===l)return`Every day at ${p}`;if("*"===j&&"*"===k){let a=Number(l);if(Number.isInteger(a)&&a>=0&&a<=6)return`Every ${b[a]} at ${p}`}return a}(a.expression):"Recurring";case"one_shot":return"One-shot";case"event":return a.expression?`On event: ${a.expression}`:"On event";default:return a.kind}},"executionDurationMs",0,function(a){if(!a.started_at||!a.ended_at)return null;let b=Date.parse(a.started_at),c=Date.parse(a.ended_at);return Number.isFinite(b)&&Number.isFinite(c)&&!(c<b)?c-b:null},"formatActiveHours",0,f,"formatCostUsd",0,function(a){return null==a?"—":`$${a.toFixed(2)}`},"formatDurationSeconds",0,function(a){return null==a?"—":i(1e3*a)},"formatDurationShort",0,i,"formatIntervalEvery",0,e,"formatPercent",0,function(a){return null==a?"—":`${Math.round(100*a)}%`},"isIntervalSchedule",0,function(a){if(a.interval)return!0;if("cron"!==a.kind||!a.expression)return!1;let b=a.expression.trim().split(/\s+/);if(5!==b.length&&6!==b.length)return!1;let[c,d]=6===b.length?b.slice(1):b,e=a=>"*"===a||a.includes(",")||a.includes("-")||a.includes("/");return e(c)||e(d)},"kindLabel",0,function(a){return"builtin"===a?"System":"User"},"resultBadgeVariant",0,function(a){switch(a){case"success":return"green";case"error":return"red";case"timeout":return"amber";default:return"gray"}}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0m~vcd.._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[95827,a=>{"use strict";var b=a.i(39752),c=a.i(7384),d=a.i(30400),e=a.i(48558);let f={connected:{variant:"green",label:"Connected"},configured:{variant:"amber",label:"Configured"},connecting:{variant:"amber",label:"Connecting…"},"needs-setup":{variant:"gray",label:"Not Configured"},error:{variant:"red",label:"Error"},disabled:{variant:"gray",label:"Disabled"}};a.s(["ConnectionCard",0,function({name:a,icon:g,status:h,error:i,metadata:j,children:k,className:l}){let m=f[h];return(0,b.jsxs)(d.Card,{tone:"connected"===h?"success":"error"===h?"error":"default",className:(0,e.cn)("relative",l),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:g}),(0,b.jsx)("h3",{className:"text-sm font-medium text-foreground",children:a})]}),(0,b.jsx)(c.Badge,{variant:m.variant,children:m.label})]}),i&&"connecting"!==h&&(0,b.jsx)("p",{className:"mb-2 text-xs text-destructive",children:i}),j&&j.length>0&&(0,b.jsx)("div",{className:"mb-3 space-y-0.5",children:j.map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:a.label}),(0,b.jsx)("span",{className:"text-foreground",children:a.value})]},a.label))}),k]})},"deriveConfiguredStatus",0,function(a){return a?"configured":"needs-setup"},"deriveIntegrationStatus",0,function(a){return a&&a.configured?a.error?"error":a.connected?"connected":"configured":"needs-setup"},"deriveMessagingStatus",0,function(a){return a&&"not_configured"!==a.runtimeState?"connecting"===a.runtimeState?"connecting":"error"===a.runtimeState?"error":"ok"===a.runtimeState?"connected":"configured":"needs-setup"},"messagingMetadata",0,function(a){if(a)return[{label:"Owner configured",value:a.ownerConfigured?"yes":"no"},{label:"Owner channel known",value:a.ownerChannelKnown?"yes":"no"},{label:"Reminder eligible",value:a.notificationEligible?"yes":"no"},{label:"Last inbound",value:a.lastInboundAt??"—"}]}])},40715,a=>{"use strict";let b=(0,a.i(5423).default)("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);a.s(["EyeOff",0,b],40715)},18093,a=>{"use strict";let b=(0,a.i(5423).default)("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Eye",0,b],18093)},67417,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(81130),e=a.i(54150),f=a.i(40410),g=a.i(47026),h=a.i(59974);async function i({build:a,queryClient:b,apiClient:c=h.api}){let d=(await c.get("/config")).notionDatabaseIds??{},e=a(d);try{let a=await c.patch("/config",{notionDatabaseIdsBase:d,notionDatabaseIds:e});return await Promise.all([b.invalidateQueries({queryKey:["config"]}),b.invalidateQueries({queryKey:["health"]})]),a}catch(a){throw a instanceof h.ApiError&&409===a.status&&await Promise.all([b.invalidateQueries({queryKey:["config"]}),b.invalidateQueries({queryKey:["health"]})]),a}}var j=a.i(21218),k=a.i(8212),l=a.i(29629),m=a.i(57216),n=a.i(78019),o=a.i(43179),p=a.i(96336),q=a.i(18093),r=a.i(40715),s=a.i(82687),t=a.i(33952),u=a.i(82740);a.i(70010);var v=a.i(59825);a.i(95827),a.s(["NotionDirectSettingsBody",0,function(){let{data:a}=(0,e.useConfig)(),{data:w}=(0,f.useHealth)(),x=(0,g.useIntegrations)(),y=(0,g.usePatchIntegration)(),z=(0,d.useQueryClient)(),[A,B]=(0,c.useState)(""),[C,D]=(0,c.useState)(!1),[E,F]=(0,c.useState)(!1),[G,H]=(0,c.useState)(!1),[I,J]=(0,c.useState)(null),[K,L]=(0,c.useState)(""),[M,N]=(0,c.useState)(""),[O,P]=(0,c.useState)(null),[Q,R]=(0,c.useState)(""),[S,T]=(0,c.useState)(!1),[U,V]=(0,c.useState)(null),[W,X]=(0,c.useState)(null),[Y,Z]=(0,c.useState)(""),[$,_]=(0,c.useState)(null);if(!a||!w)return null;let aa=!!a.notionConfigured,ab=a.notionDatabaseIds??{},ac=x.data?.integrations.find(a=>"notion"===a.key),ad=ac?.state.fetchTargets??[],ae=async()=>{let a=A.trim();if(a){F(!0),J(null);try{await h.api.put("/secrets/notion",{apiKey:a}),z.invalidateQueries({queryKey:["config"]}),z.invalidateQueries({queryKey:["health"]}),H(!0),B("")}catch(a){J(a instanceof Error?a.message:"Failed to save")}finally{F(!1)}}},af=async a=>{T(!0),V(null),X(null);try{let b=await i({build:a,queryClient:z});b.requiresRestart?.length>0&&X("Restart daemon to apply changes.")}catch(a){V(a instanceof Error?a.message:"Failed to save")}finally{T(!1)}},ag=async()=>{let a=K.trim(),b=M.trim();a&&b&&(await af(c=>({...c,[a]:b})),L(""),N(""))},ah=async a=>{await af(b=>{let{[a]:c,...d}=b;return d})},ai=async()=>{if(null===O)return;let a=Q.trim();a&&a!==ab[O]&&await af(b=>({...b,[O]:a})),P(null)},aj=async a=>{if(ac){_(null);try{var b,c;await y.mutateAsync({key:"notion",body:(b=ac.state,c=a,{mode:b.mode,..."delegated"===b.mode&&b.delegatedBackend?{delegatedBackend:b.delegatedBackend}:{},..."native"===b.mode&&b.nativeBackend?{nativeBackend:b.nativeBackend}:{},fetchTargets:c})})}catch(a){_(a instanceof Error?a.message:"Failed to save fetch targets")}}},ak=async()=>{let a=Y.trim();if(!a||!ac)return;let b=a.toLocaleLowerCase();ad.some(a=>a.locator.toLocaleLowerCase()===b)?_("That Notion target is already listed."):(await aj([...ad,{label:a.slice(0,200),locator:a}]),Z(""))},al=async a=>{await aj(ad.filter((b,c)=>c!==a))},am=Object.entries(ab);return(0,b.jsxs)(b.Fragment,{children:[aa&&(0,b.jsxs)("div",{className:"mt-3 rounded-md border border-border bg-muted/30 px-3 py-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(t.BookOpen,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Notion workspace"})]}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[am.length," watched database",1===am.length?"":"s"," · ",ad.length," routine fetch target",1===ad.length?"":"s"]})]}),(0,b.jsxs)("div",{className:"space-y-1.5 mt-3",children:[(0,b.jsx)("p",{className:"text-xs font-medium text-foreground",children:"API Key"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("div",{className:"relative flex-1",children:[(0,b.jsx)(k.Input,{type:C?"text":"password",value:A,onChange:a=>{B(a.target.value),H(!1)},placeholder:aa?"ntn_... (configured)":"ntn_...",className:"h-7 text-xs pr-8"}),(0,b.jsx)("button",{type:"button",onClick:()=>D(!C),className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:C?(0,b.jsx)(r.EyeOff,{className:"h-3.5 w-3.5"}):(0,b.jsx)(q.Eye,{className:"h-3.5 w-3.5"})})]}),(0,b.jsx)(j.Button,{size:"sm",variant:"outline",onClick:ae,disabled:E||!A.trim(),className:"h-7 text-xs px-2 shrink-0",children:E?"...":"Save"}),(G||aa)&&(0,b.jsx)(s.CheckCircle2,{className:"h-4 w-4 text-success shrink-0"})]}),I&&(0,b.jsx)(l.Alert,{variant:"error",children:I})]}),(0,b.jsxs)("div",{className:"space-y-2 mt-3 border-t border-border pt-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs font-medium text-foreground",children:"Watched databases"}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"The daemon polls these databases for changes (direct mode). Label them so the agent can refer to each by name."})]}),am.length>0&&(0,b.jsx)("div",{className:"space-y-1.5",children:am.map(([a,c])=>(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)("span",{className:"font-medium text-foreground min-w-[60px]",children:a}),O===a?(0,b.jsx)(k.Input,{type:"text",value:Q,onChange:a=>R(a.target.value),onBlur:()=>void ai(),onKeyDown:a=>{"Enter"===a.key&&ai(),"Escape"===a.key&&P(null)},autoFocus:!0,className:"h-6 text-xs font-mono flex-1"}):(0,b.jsx)("button",{type:"button",onClick:()=>{P(a),R(ab[a]??"")},className:"text-muted-foreground font-mono truncate flex-1 text-left hover:text-foreground transition-colors",title:"Click to edit",children:c}),(0,b.jsx)("button",{type:"button",onClick:()=>ah(a),disabled:S,className:"text-muted-foreground hover:text-destructive shrink-0",children:(0,b.jsx)(p.Trash2,{className:"h-3.5 w-3.5"})})]},a))}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(k.Input,{type:"text",value:K,onChange:a=>L(a.target.value),placeholder:"Label (e.g. tasks)",className:"h-7 text-xs flex-[1]"}),(0,b.jsx)(k.Input,{type:"text",value:M,onChange:a=>N(a.target.value),placeholder:"Database ID",className:"h-7 text-xs flex-[2] font-mono",onKeyDown:a=>{"Enter"===a.key&&ag()}}),(0,b.jsx)(j.Button,{size:"sm",variant:"outline",onClick:ag,disabled:S||!K.trim()||!M.trim(),className:"h-7 text-xs px-2 shrink-0",children:(0,b.jsx)(o.Plus,{className:"h-3.5 w-3.5"})})]}),W&&(0,b.jsx)(l.Alert,{variant:"warning",children:W}),U&&(0,b.jsx)(l.Alert,{variant:"error",children:U})]}),(0,b.jsxs)("div",{className:"space-y-2 mt-3 border-t border-border pt-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs font-medium text-foreground",children:"Routine fetch targets"}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Autonomous Notion checks are limited to these pages. Use a page URL or page ID when possible; titles are matched best-effort."})]}),ad.length>0&&(0,b.jsx)("div",{className:"space-y-1.5",children:ad.map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)("span",{className:"truncate flex-1 text-foreground",title:a.locator,children:a.label}),(0,b.jsx)("button",{type:"button",onClick:()=>void al(c),disabled:y.isPending,className:"text-muted-foreground hover:text-destructive shrink-0",children:(0,b.jsx)(p.Trash2,{className:"h-3.5 w-3.5"})})]},`${a.locator}-${c}`))}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(k.Input,{type:"text",value:Y,onChange:a=>Z(a.target.value),placeholder:"Notion page name, URL, or ID",maxLength:2e3,className:"h-7 text-xs flex-1",disabled:!ac||y.isPending,onKeyDown:a=>{"Enter"===a.key&&ak()}}),(0,b.jsx)(j.Button,{size:"sm",variant:"outline",onClick:ak,disabled:!ac||y.isPending||!Y.trim(),className:"h-7 text-xs px-2 shrink-0",children:(0,b.jsx)(o.Plus,{className:"h-3.5 w-3.5"})})]}),0===ad.length&&(0,b.jsx)(l.Alert,{variant:"warning",children:"Notion routine fetches are skipped until at least one target is listed."}),ad.length>10&&(0,b.jsx)(l.Alert,{variant:"warning",children:"Routine passes fetch at most 10 targets per window — entries beyond the first 10 are skipped each pass."}),$&&(0,b.jsx)(l.Alert,{variant:"error",children:$})]}),(0,b.jsxs)(m.Collapsible,{children:[(0,b.jsxs)(m.CollapsibleTrigger,{className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground mt-3",children:["Setup notes ",(0,b.jsx)(n.ChevronDown,{className:"h-3 w-3"})]}),(0,b.jsx)(m.CollapsibleContent,{children:(0,b.jsxs)("div",{className:"mt-2 rounded bg-muted/50 p-2 space-y-1 text-xs",children:[(0,b.jsxs)("p",{className:"text-muted-foreground",children:["Create an internal integration at"," ",(0,b.jsx)("a",{href:"https://www.notion.so/my-integrations",target:"_blank",rel:"noopener noreferrer",className:"underline hover:text-foreground",children:"notion.so/my-integrations"}),", enter the API key above, and share each target database with the integration. Then add the database mappings."]}),(0,b.jsxs)("p",{className:"text-muted-foreground",children:["The database ID is the 32-character hex string in the Notion URL (e.g. ",(0,b.jsx)("code",{className:"text-foreground",children:"notion.so/<workspace>/<database-id>"}),")."]}),v.INTEGRATION_DESCRIPTORS.notion.directSetup?.helpUrl&&(0,b.jsxs)("p",{className:"text-muted-foreground",children:["See Notion's official guide:"," ",(0,b.jsxs)("a",{href:v.INTEGRATION_DESCRIPTORS.notion.directSetup.helpUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 underline hover:text-foreground",children:["Create a Notion integration",(0,b.jsx)(u.ExternalLink,{className:"h-3 w-3"})]})]})]})})]})]})}],67417)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0n2_n8d._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[30400,a=>{"use strict";var b=a.i(39752),c=a.i(48558);let d=(0,a.i(42261).cva)("rounded-xl border p-5 shadow-[0_1px_2px_rgb(0_0_0/0.04),0_8px_24px_-16px_rgb(0_0_0/0.10)]",{variants:{tone:{default:"border-border bg-card",warning:"border-warning/40 bg-warning/5",success:"border-success/40 bg-success/5",error:"border-destructive/40 bg-destructive/5"},interactive:{true:"transition-shadow duration-150 hover:shadow-[0_4px_6px_rgb(0_0_0/0.06)]",false:""}},defaultVariants:{tone:"default",interactive:!1}});a.s(["Card",0,function({className:a,tone:e,interactive:f,...g}){return(0,b.jsx)("div",{className:(0,c.cn)(d({tone:e,interactive:f}),a),...g})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("mb-3 flex items-center justify-between",a),...d})},"CardStatLabel",0,function({className:a,...d}){return(0,b.jsx)("h3",{className:(0,c.cn)("text-xs font-semibold uppercase tracking-[0.08em] text-muted-foreground",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("h3",{className:(0,c.cn)("text-base font-semibold tracking-tight text-foreground",a),...d})},"CardValue",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("font-display text-3xl font-semibold tracking-tight text-foreground",a),...d})}])},87206,a=>{"use strict";var b=a.i(39752),c=a.i(48558);a.s(["PageHeader",0,function({title:a,description:d,icon:e,badge:f,actions:g,children:h,className:i}){return(0,b.jsxs)("header",{className:(0,c.cn)("flex flex-col gap-1.5",i),children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5",children:[e&&(0,b.jsx)(e,{className:"h-5 w-5 text-muted-foreground"}),(0,b.jsx)("h1",{className:"font-display text-[1.75rem] font-semibold leading-tight tracking-tight text-foreground",children:a}),f]}),g&&(0,b.jsx)("div",{className:"flex items-center gap-2",children:g})]}),d&&(0,b.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-muted-foreground",children:d}),h]})}])},1393,a=>{"use strict";let b=(0,a.i(5423).default)("MonitorCog",[["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"m15.2 4.9-.9-.4",key:"12wd2u"}],["path",{d:"m15.2 7.1-.9.4",key:"1r2vl7"}],["path",{d:"m16.9 3.2-.4-.9",key:"3zbo91"}],["path",{d:"m16.9 8.8-.4.9",key:"1qr2dn"}],["path",{d:"m19.5 2.3-.4.9",key:"1rjrkq"}],["path",{d:"m19.5 9.7-.4-.9",key:"heryx5"}],["path",{d:"m21.7 4.5-.9.4",key:"17fqt1"}],["path",{d:"m21.7 7.5-.9-.4",key:"14zyni"}],["path",{d:"M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7",key:"1tnzv8"}],["path",{d:"M8 21h8",key:"1ev6f3"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}]]);a.s(["MonitorCog",0,b],1393)},58382,a=>{"use strict";let b={pending:"blue",started:"blue",running:"amber",completed:"green",failed:"red",timeout:"red",skipped:"gray",cancelled:"gray",abandoned:"gray",rolled_back:"amber",awaiting_user:"orange",final_confirm:"pink",delivered:"green",batched:"blue",suppressed:"gray",reading:"blue"};a.s(["statusBadgeVariant",0,function(a){return b[a]??"gray"}])},34218,a=>{"use strict";var b=a.i(39752),c=a.i(7384),d=a.i(58382);a.s(["StatusBadge",0,function({status:a,label:e,live:f,className:g}){let h=f??"running"===a,i=e??a;return(0,b.jsx)(c.Badge,{variant:(0,d.statusBadgeVariant)(a),className:g,children:h?(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{"aria-hidden":!0,className:"h-1.5 w-1.5 animate-pulse rounded-full bg-warning"}),i]}):i})}])},21150,a=>{"use strict";var b=a.i(39752),c=a.i(34218);let d={pending:"Pending",running:"Running",awaiting_user:"Awaiting you",final_confirm:"Final confirm",completed:"Completed",failed:"Failed",timeout:"Timeout",cancelled:"Cancelled",abandoned:"Abandoned"};a.s(["BrowserTaskStateBadge",0,function({state:a,className:e}){return(0,b.jsx)(c.StatusBadge,{status:a,label:d[a],className:e})}])},63251,a=>{"use strict";var b=a.i(62588),c=a.i(59974);let d=["browser-history-managed-status"],e=["browser-automation-sites"];a.s(["AUTOMATION_SITES_QUERY_KEY",0,e,"MANAGED_STATUS_QUERY_KEY",0,d,"useAutomationSites",0,function(a){return(0,b.useQuery)({queryKey:e,queryFn:()=>c.api.get("/browser-automation/sites"),refetchInterval:!!a&&15e3,enabled:a,staleTime:5e3})},"useManagedStatus",0,function(a){return(0,b.useQuery)({queryKey:d,queryFn:()=>c.api.get("/browser-history/managed/status"),refetchInterval:a??!1,staleTime:5e3})}])},84574,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(62588),e=a.i(45787),f=a.i(13666),g=a.i(60133),h=a.i(1393);let i=(0,a.i(5423).default)("ShoppingCart",[["circle",{cx:"8",cy:"21",r:"1",key:"jimo8o"}],["circle",{cx:"19",cy:"21",r:"1",key:"13723u"}],["path",{d:"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12",key:"9zh506"}]]);var j=a.i(59974),k=a.i(63251),l=a.i(76878),m=a.i(7384),n=a.i(30400),o=a.i(87206),p=a.i(16443),q=a.i(21150),r=a.i(48558);let s={off:"Off",needs_setup:"Needs setup",missing_binary:"Missing binary",missing_sandbox:"Missing sandbox",ready:"Ready",needs_reauth:"Needs re-auth",disconnected:"Disconnected"},t={off:"gray",needs_setup:"amber",missing_binary:"amber",missing_sandbox:"amber",ready:"green",needs_reauth:"amber",disconnected:"red"};function u({icon:a,title:d,href:f,status:g,description:h}){return(0,b.jsx)(n.Card,{interactive:!0,children:(0,b.jsxs)(c.default,{href:f,className:"block",children:[(0,b.jsxs)(n.CardStatLabel,{className:"flex items-center gap-1.5",children:[a,d]}),(0,b.jsx)("div",{className:"mt-2 min-h-6",children:g}),(0,b.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:h}),(0,b.jsxs)("span",{className:"mt-3 flex items-center gap-1 text-xs text-primary",children:["Configure",(0,b.jsx)(e.ArrowRight,{className:"h-3 w-3"})]})]})})}a.s(["default",0,function(){let a=(0,k.useManagedStatus)(15e3),v=a.data?.state==="ready",w=(0,k.useAutomationSites)(v),x=(0,d.useQuery)({queryKey:["integrations"],queryFn:()=>j.api.get("/integrations"),staleTime:5e3,select:a=>a.integrations.find(a=>"browser_history"===a.key)?.state.mode??null}),y=(0,d.useQuery)({queryKey:["browser-automation-b4-enabled"],queryFn:()=>j.api.get("/browser-automation/b4/enabled"),enabled:v,staleTime:5e3}),z=(0,l.useBrowserTasks)(),A=(z.data?.tasks??[]).slice(0,5),B=w.data?.sites?.length??0,C=a.data?.state;return(0,b.jsxs)("div",{className:"space-y-6 p-6",children:[(0,b.jsx)(o.PageHeader,{title:"Browser",description:"Everything the agent does with a browser — reading your history, automating a dedicated Chromium, and the tasks it has run."}),(0,b.jsx)(p.AwaitingAttentionStrip,{}),(0,b.jsxs)("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-3",children:[(0,b.jsx)(u,{icon:(0,b.jsx)(g.History,{className:"h-4 w-4"}),title:"Browser History",href:"/settings/integrations/browser-history",status:void 0!==x.data&&null!==x.data?(0,b.jsx)(m.Badge,{variant:"disabled"===x.data?"gray":"green",children:"disabled"===x.data?"Disabled":"Enabled"}):null,description:"Read from your existing Chrome — research clusters and revisit nudges for the morning digest."}),(0,b.jsx)(u,{icon:(0,b.jsx)(h.MonitorCog,{className:"h-4 w-4"}),title:"Browser Automation",href:"/settings/integrations/browser-history-managed",status:a.data&&C?(0,b.jsxs)("span",{className:"flex items-center gap-2",children:[(0,b.jsx)(m.Badge,{variant:t[C],children:s[C]}),v&&(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:[B," authenticated site",1===B?"":"s"]})]}):null,description:"A dedicated, sandboxed Chromium the agent drives — OAuth sites, task slots, and the hostname denylist."}),v&&(0,b.jsx)(u,{icon:(0,b.jsx)(i,{className:"h-4 w-4"}),title:"Purchase Confirmations",href:"/settings/integrations/browser-history-managed/b4",status:y.data?(0,b.jsx)(m.Badge,{variant:y.data.enabled?"amber":"gray",children:y.data.enabled?"Enabled (experimental)":"Disabled"}):null,description:"Experimental B-4 flow — DM-delivered single-use tokens gate any purchase. Default off."})]}),(0,b.jsxs)(n.Card,{children:[(0,b.jsxs)(n.CardHeader,{children:[(0,b.jsxs)(n.CardTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(f.Globe2,{className:"h-4 w-4"}),"Recent tasks"]}),(0,b.jsxs)(c.default,{href:"/browser-tasks",className:"flex items-center gap-1 text-xs text-primary hover:underline",children:["View all tasks",(0,b.jsx)(e.ArrowRight,{className:"h-3 w-3"})]})]}),0===A.length?(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No browser tasks yet. Ask the agent to do something on the web — “check the price of X on Amazon” — and the run shows up here."}):(0,b.jsx)("ul",{className:"divide-y divide-border",children:A.map(a=>(0,b.jsx)("li",{children:(0,b.jsxs)(c.default,{href:`/browser-tasks/${a.id}`,className:"flex items-center gap-3 py-2 text-sm hover:bg-muted/50",children:[(0,b.jsx)(q.BrowserTaskStateBadge,{state:a.state}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a.description}),(0,b.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground",children:(0,r.formatRelativeTime)(new Date(a.createdAt))})]})},a.id))})]})]})}],84574)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0p4ugyq._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[82740,a=>{"use strict";let b=(0,a.i(5423).default)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);a.s(["ExternalLink",0,b],82740)},7385,a=>{"use strict";let b=(0,a.i(5423).default)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",0,b],7385)},50891,a=>{"use strict";let b=(0,a.i(5423).default)("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["ShieldCheck",0,b],50891)},91534,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(11307),e=a.i(92241),f=a.i(21218),g=a.i(8212),h=a.i(55406),i=a.i(48558);a.s(["DirectoryPickerField",0,function({id:a,value:j,onChange:k,title:l,placeholder:m="Choose a folder...",defaultPath:n,disabled:o=!1,className:p,inputClassName:q,buttonLabel:r="Choose"}){let[s,t]=(0,c.useState)(!1),[u,v]=(0,c.useState)(null),w=async()=>{t(!0),v(null);try{let a=await (0,h.pickDirectoryFromDesktop)({title:l,defaultPath:j.trim()||n});a&&k(a)}catch(a){v(a instanceof Error?a.message:"Folder picker is unavailable.")}finally{t(!1)}};return(0,b.jsxs)("div",{className:(0,i.cn)("space-y-1",p),children:[(0,b.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row",children:[(0,b.jsx)(g.Input,{id:a,value:j,onChange:a=>{k(a.target.value),v(null)},placeholder:m,className:(0,i.cn)("font-mono text-sm",q),disabled:o||s}),(0,b.jsxs)(f.Button,{type:"button",variant:"outline",onClick:w,disabled:o||s,className:"shrink-0 gap-2",children:[s?(0,b.jsx)(e.Loader2,{className:"h-4 w-4 animate-spin"}):(0,b.jsx)(d.FolderOpen,{className:"h-4 w-4"}),s?"Opening...":r]})]}),u&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:u})]})}])},95024,a=>{"use strict";let b=(0,a.i(5423).default)("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);a.s(["Save",0,b],95024)},48033,a=>{"use strict";let b=(0,a.i(5423).default)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);a.s(["Lock",0,b],48033)},81020,a=>{"use strict";let b=(0,a.i(5423).default)("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);a.s(["Terminal",0,b],81020)},78933,a=>{"use strict";var b=a.i(34542),c=a.i(81130),d=a.i(59974);a.s(["useSaveConfig",0,function(){let a=(0,c.useQueryClient)(),[e,f]=(0,b.useState)(null),g=(0,b.useCallback)((a,b)=>{f({type:a,message:b}),setTimeout(()=>f(null),4e3)},[]),h=(0,b.useCallback)((a,b)=>{let c=Object.values(a.errors??{});c.length>0?g("warning",c.join(" ")):a.requiresRestart?.length>0?g("warning",`Updated. Restart daemon for: ${a.requiresRestart.join(", ")}`):g("success",b)},[g]),i=(0,b.useCallback)(async(b,c)=>{try{let e=await d.api.patch("/config",{[b]:c});a.invalidateQueries({queryKey:["config"]}),h(e,"Setting updated")}catch(a){throw g("error",`Failed to save: ${a instanceof Error?a.message:"Unknown error"}`),a}},[a,h,g]),j=(0,b.useCallback)(async b=>{try{let c=await d.api.patch("/config",b);a.invalidateQueries({queryKey:["config"]}),h(c,"Settings updated")}catch(a){throw g("error",`Failed to save: ${a instanceof Error?a.message:"Unknown error"}`),a}},[a,h,g]);return{toast:e,showToast:g,saveField:i,saveMultipleFields:j,patchConfig:(0,b.useCallback)(async b=>{let c=await d.api.patch("/config",b);return a.invalidateQueries({queryKey:["config"]}),c},[a])}}])},47026,a=>{"use strict";var b=a.i(62588),c=a.i(8753),d=a.i(81130),e=a.i(59974);a.s(["useIntegrationProbeLive",0,function(){let a=(0,d.useQueryClient)();return(0,c.useMutation)({mutationFn:a=>{let{key:b}=a,c={};return"liveProbe"in a?(c.liveProbe=!0,a.backend&&(c.backend=a.backend)):(c.backend=a.backend,c.tools=a.tools),e.api.post(`/integrations/${b}/probe`,c)},onSuccess:(b,c)=>{a.invalidateQueries({queryKey:["integration-probe",c.key]}),a.invalidateQueries({queryKey:["health"]})}})},"useIntegrations",0,function(){return(0,b.useQuery)({queryKey:["integrations"],queryFn:()=>e.api.get("/integrations"),staleTime:3e4})},"useNativeUnboundActions",0,function(a={}){let c=a.sinceHours??168;return(0,b.useQuery)({queryKey:["agent-actions","native_unbound",c],queryFn:async()=>{let a=new URLSearchParams({since:new Date(Date.now()-60*c*6e4).toISOString(),limit:"50"});a.append("kind","integration.native_unbound");let b=await e.api.get(`/agent/actions?${a.toString()}`),d=[];for(let a of b.actions)if(a.detail)try{let b=JSON.parse(a.detail);if("string"!=typeof b.key)continue;d.push({id:a.id,key:b.key,priorNativeBackend:b.priorNativeBackend??null,newMainBackend:b.newMainBackend??null,priorDeniedTools:b.priorDeniedTools??[],startedAt:a.startedAt})}catch{continue}return d},staleTime:6e4})},"usePatchIntegration",0,function(){let a=(0,d.useQueryClient)();return(0,c.useMutation)({mutationFn:({key:a,body:b})=>e.api.patch(`/integrations/${a}`,b),onSuccess:()=>{a.invalidateQueries({queryKey:["integrations"]}),a.invalidateQueries({queryKey:["health"]})}})},"useProxyModels",0,function(a){return(0,b.useQuery)({queryKey:["proxy-models",a??null],queryFn:()=>e.api.get(`/integrations/proxy-models/${a}`),enabled:null!=a,staleTime:6e4})},"useRecentProxyCalls",0,function(a,c={}){let{limit:d,enabled:f=!0}=c;return(0,b.useQuery)({queryKey:["recent-proxy-calls",a,d??null],queryFn:()=>{let b=void 0!==d?`?limit=${d}`:"";return e.api.get(`/integrations/${a}/recent-proxy-calls${b}`)},enabled:f&&null!==a,staleTime:1e4})}])},8735,a=>{"use strict";let b=(0,a.i(5423).default)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);a.s(["Upload",0,b],8735)},60622,a=>{"use strict";let b=(0,a.i(5423).default)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);a.s(["Download",0,b],60622)},36608,a=>{"use strict";let b=(0,a.i(5423).default)("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);a.s(["Mail",0,b],36608)},55140,a=>{"use strict";let b=(0,a.i(5423).default)("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);a.s(["KeyRound",0,b],55140)},97055,a=>{"use strict";let b=(0,a.i(5423).default)("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);a.s(["Hash",0,b],97055)},57252,a=>{"use strict";let b=(0,a.i(5423).default)("ClipboardCopy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]);a.s(["ClipboardCopy",0,b],57252)},52597,23368,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(9261),e=a.i(16828),f=a.i(48558),g=a.i(29629),h=a.i(45952),i=a.i(5423);let j=(0,i.default)("Paperclip",[["path",{d:"M13.234 20.252 21 12.3",key:"1cbrk9"}],["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486",key:"1pkts6"}]]);a.s(["Paperclip",0,j],23368);let k=(0,i.default)("FileImage",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["circle",{cx:"10",cy:"12",r:"2",key:"737tya"}],["path",{d:"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",key:"wt3hpn"}]]),l=(0,i.default)("FileSpreadsheet",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]);var m=a.i(82740);function n({mimeType:a,className:c}){return a.startsWith("image/")?(0,b.jsx)(k,{className:c}):"application/pdf"===a?(0,b.jsx)(h.FileText,{className:c}):a.includes("spreadsheet")||"text/csv"===a||a.includes("excel")?(0,b.jsx)(l,{className:c}):(0,b.jsx)(j,{className:c})}function o({id:a,alt:d}){let[e,f]=(0,c.useState)(null),[g,h]=(0,c.useState)(!1);return((0,c.useEffect)(()=>{let b=!1,c=null;return(async()=>{try{let d=await fetch(`/api/chat/attachments/${a}`);if(!d.ok)throw Error(`status ${d.status}`);let e=await d.blob();if(b)return;c=URL.createObjectURL(e),f(c)}catch{b||h(!0)}})(),()=>{b=!0,c&&URL.revokeObjectURL(c)}},[a]),g)?null:e?(0,b.jsx)("img",{src:e,alt:d,className:"max-h-64 max-w-full rounded-md border border-border"}):(0,b.jsx)("div",{className:"flex h-32 w-full max-w-xs items-center justify-center rounded-md border border-border bg-muted/20 text-xs text-muted-foreground",children:"loading…"})}function p({attachment:a,isOwn:c}){var d;let e=`/api/chat/attachments/${a.id}`,g=a.mimeType.startsWith("image/")&&"image/svg+xml"!==a.mimeType&&a.sizeBytes<2097152;return(0,b.jsxs)("div",{className:"space-y-1",children:[g&&(0,b.jsx)(o,{id:a.id,alt:a.originalFilename}),(0,b.jsxs)("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:(0,f.cn)("inline-flex items-center gap-2 rounded-md border px-2 py-1 text-xs hover:bg-muted/40",c?"border-primary-foreground/30 bg-primary-foreground/10 text-primary-foreground":"border-border bg-muted/30 text-foreground"),title:a.caption??a.originalFilename,children:[(0,b.jsx)(n,{mimeType:a.mimeType,className:"h-3 w-3 flex-shrink-0"}),(0,b.jsx)("span",{className:"max-w-[160px] truncate",children:a.originalFilename}),(0,b.jsx)("span",{className:"text-muted-foreground",children:(d=a.sizeBytes)<1024?`${d} B`:d<1048576?`${(d/1024).toFixed(0)} KB`:`${(d/1024/1024).toFixed(1)} MB`}),(0,b.jsx)(m.ExternalLink,{className:"h-3 w-3 flex-shrink-0 opacity-60"})]}),a.caption&&(0,b.jsx)("p",{className:"px-1 text-[10px] text-muted-foreground italic",children:a.caption})]})}function q({attachments:a,isOwn:c}){return 0===a.length?null:(0,b.jsx)("div",{className:"flex flex-col gap-2",children:a.map(a=>(0,b.jsx)(p,{attachment:a,isOwn:c},a.id))})}let r=[e.default],s={a:({children:a,href:c,...d})=>(0,b.jsx)("a",{href:c,target:"_blank",rel:"noopener noreferrer",...d,children:a})},t=(0,c.memo)(function({message:a,assistantLabel:c="Assistant"}){if("error"===a.role)return(0,b.jsx)(g.Alert,{variant:"error",className:"mx-auto max-w-md rounded-lg px-4 py-2 text-sm",children:a.content});let e="user"===a.role;return(0,b.jsx)("div",{className:(0,f.cn)("flex",e?"justify-end":"justify-start"),children:(0,b.jsxs)("div",{className:"max-w-[80%] space-y-1",children:[!e&&(0,b.jsx)("p",{className:"px-1 text-[11px] font-medium text-muted-foreground",children:c}),a.content&&(0,b.jsx)("div",{className:(0,f.cn)("rounded-2xl px-4 py-2.5 text-sm",e?"whitespace-pre-wrap rounded-br-md bg-primary text-primary-foreground [overflow-wrap:anywhere]":"markdown-body markdown-bubble rounded-bl-md border border-border bg-card text-foreground"),children:e?a.content:(0,b.jsx)(d.default,{remarkPlugins:r,components:s,children:a.content})}),a.attachments&&a.attachments.length>0&&(0,b.jsx)("div",{className:"px-1",children:(0,b.jsx)(q,{attachments:a.attachments,isOwn:e})}),!e&&a.meta&&(0,b.jsx)("p",{className:"px-1 text-[10px] text-muted-foreground/60",children:[a.meta.backend&&a.meta.model?`${a.meta.backend} \xb7 ${a.meta.model}`:a.meta.backend||a.meta.model,null!=a.meta.durationMs?`${(a.meta.durationMs/1e3).toFixed(1)}s`:null,null!=a.meta.costUsd?`$${a.meta.costUsd.toFixed(4)}`:null].filter(Boolean).join(" · ")})]})})});a.s(["MessageBubble",0,t],52597)},19512,66135,6465,a=>{"use strict";let b=(0,a.i(5423).default)("FolderSymlink",[["path",{d:"M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7",key:"x1c07l"}],["path",{d:"m8 16 3-3-3-3",key:"rlqrt1"}]]);function c(a){return/^[A-Za-z]:[\\/]/.test(a)||/^\\\\/.test(a)||/^\/\/[^/]+\/[^/]+/.test(a)||a.includes("\\")}function d(a,b){let c=a.trim().replace(/[\\/]+$/g,"");return b&&(c=c.replace(/[\\/]+/g,"/").toLowerCase()),c}a.s(["FolderSymlink",0,b],19512),a.s(["hasPathTraversalSegment",0,function(a){return a.trim().split(/[\\/]+/).some(a=>".."===a)},"isClientAbsolutePath",0,function(a){let b=a.trim();return b.startsWith("/")||b.startsWith("~/")||b.startsWith("~\\")||/^[A-Za-z]:[\\/]/.test(b)||/^\\\\[^\\/]+[\\/][^\\/]+/.test(b)||/^\/\/[^/]+\/[^/]+/.test(b)},"isClientPathInsideOrEqual",0,function(a,b){if(0===a.trim().length||0===b.trim().length)return!1;let e=c(a)||c(b),f=d(a,e),g=d(b,e);return g===f||g.startsWith(`${f}/`)}],66135);var e=a.i(39752),f=a.i(48558);a.s(["CHARACTER_MAX_LENGTH",0,1e3,"CharacterEditor",0,function({value:a,onChange:b,disabled:c=!1,placeholder:d,rows:g=6}){let h=a.length,i=h>1e3,j=1e3===h;return(0,e.jsxs)("div",{className:"space-y-1",children:[(0,e.jsx)("textarea",{"data-testid":"character-editor-textarea",className:"w-full rounded border border-input bg-background p-3 text-sm font-mono resize-y focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",style:{minHeight:`${24*g}px`},value:a,onChange:a=>b(a.target.value),disabled:c,placeholder:d??"How should the agent talk to you? E.g. 'Speak casually. Tight bullets, no emoji. Use plain language for technical terms.'"}),(0,e.jsx)("div",{className:"flex justify-end",children:(0,e.jsxs)("span",{"data-testid":"character-editor-counter","aria-live":"polite",className:(0,f.cn)("text-xs tabular-nums",i?"font-semibold text-destructive":j?"text-warning":"text-muted-foreground"),children:[h,"/",1e3]})})]})},"isCharacterOverCap",0,function(a){return a.length>1e3}],6465)},3251,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(81130),e=a.i(54150),f=a.i(40410),g=a.i(78933),h=a.i(59974),i=a.i(21218),j=a.i(29629),k=a.i(57216),l=a.i(78019),m=a.i(8735),n=a.i(82687),o=a.i(82740),p=a.i(48558),q=a.i(56295),r=a.i(95827);function s({label:a,accept:d,onUpload:e,configured:f}){let[g,h]=(0,c.useState)(!1),[k,l]=(0,c.useState)(null),o=(0,c.useRef)(null),p=(0,c.useCallback)(async a=>{h(!0),l(null);try{await e(a),l({type:"success",fileName:a.name})}catch(a){l({type:"error",message:a instanceof Error?a.message:"Upload failed"})}finally{h(!1)}},[e]);return(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("input",{ref:o,type:"file",accept:d,className:"hidden",onChange:a=>{let b=a.target.files?.[0];b&&p(b),a.target.value=""}}),(0,b.jsxs)(i.Button,{size:"sm",variant:f?"outline":"default",onClick:()=>o.current?.click(),disabled:g,className:"text-xs",children:[(0,b.jsx)(m.Upload,{className:"h-3.5 w-3.5 mr-1"}),g?"Uploading...":a]}),f&&(0,b.jsx)(n.CheckCircle2,{className:"h-4 w-4 text-success"})]}),k&&(0,b.jsx)(j.Alert,{variant:"success"===k.type?"success":"error",children:"success"===k.type?(0,b.jsxs)("span",{className:"block break-all",title:k.fileName,children:[function(a,b=36){if(a.length<=b)return a;let c=Math.floor((b-1)/2);return`${a.slice(0,b-1-c)}…${a.slice(-c)}`}(k.fileName)," uploaded"]}):(0,b.jsx)("span",{className:"block break-all",children:k.message})})]})}function t(){return(0,b.jsxs)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,b.jsx)("path",{d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1Z",fill:"#4285F4"}),(0,b.jsx)("path",{d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23Z",fill:"#34A853"}),(0,b.jsx)("path",{d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18A10.96 10.96 0 0 0 1 12c0 1.77.42 3.45 1.18 4.93l3.66-2.84Z",fill:"#FBBC05"}),(0,b.jsx)("path",{d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53Z",fill:"#EA4335"})]})}a.s(["GoogleCard",0,function(){let{data:a}=(0,e.useConfig)(),{data:m}=(0,f.useHealth)(),{toast:u,saveField:v}=(0,g.useSaveConfig)(),w=(0,d.useQueryClient)(),x=m?.integrations?.google,[y,z]=(0,c.useState)(!1),[A,B]=(0,c.useState)(null),C=(0,c.useRef)(null),D=a?.googleCalendarCredentialsConfigured??!1,E=a?.googleCalendarTokenConfigured??!1,F=a?.googleCredentialType==="service_account",G=async a=>{await h.api.upload("/config/upload/google-credentials",a),w.invalidateQueries({queryKey:["config"]}),w.invalidateQueries({queryKey:["health"]})};(0,c.useEffect)(()=>()=>{C.current&&clearInterval(C.current)},[]),(0,c.useEffect)(()=>{let a=a=>{a.origin.startsWith("http://localhost")&&a.data?.type==="google-auth-success"&&(C.current&&(clearInterval(C.current),C.current=null),z(!1),w.invalidateQueries({queryKey:["config"]}),w.invalidateQueries({queryKey:["health"]}))};return window.addEventListener("message",a),()=>window.removeEventListener("message",a)},[w]);let H=async()=>{z(!0),B(null);try{let a=await h.api.post("/config/google-auth/start"),b=window.open(a.authUrl,"google-auth","width=600,height=700");if(!b){B("Popup blocked. Allow popups for this site and try again."),z(!1);return}C.current=setInterval(()=>{b.closed&&(C.current&&(clearInterval(C.current),C.current=null),z(!1),w.invalidateQueries({queryKey:["config"]}),w.invalidateQueries({queryKey:["health"]}))},1e3)}catch(a){B(a instanceof Error?a.message:"Failed to start authorization"),z(!1)}};if(!a||!m)return null;let I=x?.services?.calendar,J=x?.services?.gmail,K=y?"connecting":(0,r.deriveIntegrationStatus)(x);return(0,b.jsxs)(r.ConnectionCard,{name:"Google",icon:(0,b.jsx)(t,{}),status:K,error:x?.error,children:[x?.configured&&(0,b.jsxs)("div",{className:"flex gap-4 mb-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,b.jsx)("span",{className:(0,p.cn)("inline-block h-2 w-2 rounded-full",I?.connected?"bg-success":"bg-gray-300 dark:bg-gray-600")}),(0,b.jsx)("span",{className:"text-muted-foreground",children:"Calendar"}),(0,b.jsx)("span",{className:I?.connected?"text-success":"text-muted-foreground",children:I?.connected?"Active":"Inactive"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,b.jsx)("span",{className:(0,p.cn)("inline-block h-2 w-2 rounded-full",J?.connected?"bg-success":"bg-gray-300 dark:bg-gray-600")}),(0,b.jsx)("span",{className:"text-muted-foreground",children:"Gmail"}),(0,b.jsx)("span",{className:J?.connected?"text-success":"text-muted-foreground",children:J?.connected?"Active":"Not yet implemented"})]})]}),(0,b.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"1. Upload credentials"}),(0,b.jsx)(s,{label:"Credentials JSON",accept:".json,application/json",onUpload:G,configured:D})]}),!F&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"2. Authorize"}),(0,b.jsxs)(i.Button,{size:"sm",variant:E?"outline":"default",onClick:H,disabled:!D||y,className:"text-xs",children:[(0,b.jsx)(o.ExternalLink,{className:"h-3.5 w-3.5 mr-1"}),y?"Waiting...":E?"Re-authorize":"Authorize with Google"]}),E&&(0,b.jsx)(n.CheckCircle2,{className:"inline-block ml-2 h-4 w-4 text-success"}),A&&(0,b.jsx)(j.Alert,{variant:"error",className:"mt-1",children:A}),!D&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Upload credentials first"})]})]}),!x?.connected&&D&&(F||E)&&(0,b.jsxs)(j.Alert,{variant:"warning",className:"mt-3",children:[F?"Service account configured.":"Authorized."," Restart the daemon to connect."]}),(0,b.jsxs)(k.Collapsible,{children:[(0,b.jsxs)(k.CollapsibleTrigger,{className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground mt-3",children:["Advanced setup notes ",(0,b.jsx)(l.ChevronDown,{className:"h-3 w-3"})]}),(0,b.jsx)(k.CollapsibleContent,{children:(0,b.jsxs)("div",{className:"mt-2 rounded bg-muted/50 p-2 space-y-1 text-xs",children:[(0,b.jsx)("p",{className:"font-medium text-muted-foreground",children:"Secrets are stored in the macOS Keychain."}),(0,b.jsx)("p",{className:"text-muted-foreground",children:"Use the upload button above for credentials JSON, then complete OAuth in the browser."}),(0,b.jsx)("p",{className:"text-muted-foreground mt-1",children:"Same credentials are used for Calendar and Gmail (scopes: calendar, gmail.modify, gmail.send)."}),(0,b.jsx)("p",{className:"text-muted-foreground",children:'Calendar ID defaults to "primary" and can be changed below.'})]})})]}),x?.configured&&(0,b.jsxs)("div",{className:"mt-3 pt-3 border-t border-border",children:[u&&(0,b.jsx)(j.Alert,{variant:u.type,className:"mb-2",children:u.message}),(0,b.jsx)(q.EditableField,{label:"Calendar ID",value:a.googleCalendarId,configKey:"googleCalendarId",description:'Use "primary" for your main calendar, or paste a full calendar ID (e.g. abc123@group.calendar.google.com) for a secondary or shared calendar.',onSave:v})]})]})}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0pbcc~c._.js.map
|