@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 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74490,e=>{"use strict";var t=e.i(54710),r=e.i(81471);let n=(0,e.i(94237).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}});e.s(["Card",0,function({className:e,tone:o,interactive:l,...i}){return(0,t.jsx)("div",{className:(0,r.cn)(n({tone:o,interactive:l}),e),...i})},"CardHeader",0,function({className:e,...n}){return(0,t.jsx)("div",{className:(0,r.cn)("mb-3 flex items-center justify-between",e),...n})},"CardStatLabel",0,function({className:e,...n}){return(0,t.jsx)("h3",{className:(0,r.cn)("text-xs font-semibold uppercase tracking-[0.08em] text-muted-foreground",e),...n})},"CardTitle",0,function({className:e,...n}){return(0,t.jsx)("h3",{className:(0,r.cn)("text-base font-semibold tracking-tight text-foreground",e),...n})},"CardValue",0,function({className:e,...n}){return(0,t.jsx)("div",{className:(0,r.cn)("font-display text-3xl font-semibold tracking-tight text-foreground",e),...n})}])},75649,e=>{"use strict";var t=e.i(34416);e.i(54710);var r=t.createContext(void 0);e.s(["useDirection",0,function(e){let n=t.useContext(r);return e||n||"ltr"}])},87099,e=>{"use strict";var t=e.i(34416),r=e.i(9413),n=e.i(22353),o=e.i(60310),l=e.i(54710),i=new WeakMap;function s(e,t){var r,n;let o,l,i;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let s=(r=e,n=t,o=r.length,(i=(l=a(n))>=0?l:o+l)<0||i>=o?-1:i);return -1===s?void 0:e[s]}function a(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],i.set(this,!0)}set(e,t){return i.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let n,o=this.has(t),l=this.#e.length,i=a(e),s=i>=0?i:l+i,u=s<0||s>=l?-1:s;if(u===this.size||o&&u===this.size-1||-1===u)return this.set(t,r),this;let c=this.size+ +!o;i<0&&s++;let d=[...this.#e],p=!1;for(let e=s;e<c;e++)if(s===e){let l=d[e];d[e]===t&&(l=d[e+1]),o&&this.delete(t),n=this.get(l),this.set(t,r)}else{p||d[e-1]!==t||(p=!0);let r=d[p?e:e-1],o=n;n=this.get(r),this.delete(r),this.set(r,o)}return this}with(t,r,n){let o=new e(this);return o.insert(t,r,n),o}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=s(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=s(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return s(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.at(n)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.keyAt(n)}find(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return n;r++}}findIndex(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return r;r++}return -1}filter(t,r){let n=[],o=0;for(let e of this)Reflect.apply(t,r,[e,o,this])&&n.push(e),o++;return new e(n)}map(t,r){let n=[],o=0;for(let e of this)n.push([e[0],Reflect.apply(t,r,[e,o,this])]),o++;return new e(n)}reduce(...e){let[t,r]=e,n=0,o=r??this.at(0);for(let r of this)o=0===n&&1===e.length?r:Reflect.apply(t,this,[o,r,n,this]),n++;return o}reduceRight(...e){let[t,r]=e,n=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let o=this.at(r);n=r===this.size-1&&1===e.length?o:Reflect.apply(t,this,[n,o,r,this])}return n}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),n=this.get(r);t.set(r,n)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let n=new e,o=this.size-1;if(void 0===t)return n;t<0&&(t+=this.size),void 0!==r&&r>0&&(o=r-1);for(let e=t;e<=o;e++){let t=this.keyAt(e),r=this.get(t);n.set(t,r)}return n}every(e,t){let r=0;for(let n of this){if(!Reflect.apply(e,t,[n,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return!0;r++}return!1}}),e.s(["createCollection",0,function(e){let i=e+"CollectionProvider",[s,a]=(0,r.createContextScope)(i),[u,c]=s(i,{collectionRef:{current:null},itemMap:new Map}),d=e=>{let{scope:r,children:n}=e,o=t.default.useRef(null),i=t.default.useRef(new Map).current;return(0,l.jsx)(u,{scope:r,itemMap:i,collectionRef:o,children:n})};d.displayName=i;let p=e+"CollectionSlot",f=(0,o.createSlot)(p),h=t.default.forwardRef((e,t)=>{let{scope:r,children:o}=e,i=c(p,r),s=(0,n.useComposedRefs)(t,i.collectionRef);return(0,l.jsx)(f,{ref:s,children:o})});h.displayName=p;let m=e+"CollectionItemSlot",v="data-radix-collection-item",x=(0,o.createSlot)(m),g=t.default.forwardRef((e,r)=>{let{scope:o,children:i,...s}=e,a=t.default.useRef(null),u=(0,n.useComposedRefs)(r,a),d=c(m,o);return t.default.useEffect(()=>(d.itemMap.set(a,{ref:a,...s}),()=>void d.itemMap.delete(a))),(0,l.jsx)(x,{...{[v]:""},ref:u,children:i})});return g.displayName=m,[{Provider:d,Slot:h,ItemSlot:g},function(r){let n=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${v}]`));return Array.from(n.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[n.collectionRef,n.itemMap])},a]}])},27069,e=>{"use strict";e.s(["clamp",0,function(e,[t,r]){return Math.min(r,Math.max(t,e))}])},10427,e=>{"use strict";var t=e.i(54710),r=e.i(34416),n=e.i(47869),o=e.i(27069),l=e.i(91967),i=e.i(87099),s=e.i(22353),a=e.i(9413),u=e.i(75649),c=e.i(3659),d=e.i(87656),p=e.i(62854),f=e.i(11207),h=e.i(45311),m=e.i(76903),v=e.i(85565),x=e.i(60310),g=e.i(88248),y=e.i(36567),w=e.i(18731),b=e.i(87312),S=e.i(73772),C=e.i(69759),R=[" ","Enter","ArrowUp","ArrowDown"],k=[" ","Enter"],j="Select",[E,P,T]=(0,i.createCollection)(j),[I,N]=(0,a.createContextScope)(j,[T,h.createPopperScope]),A=(0,h.createPopperScope)(),[H,L]=I(j),[M,D]=I(j),_=e=>{let{__scopeSelect:n,children:o,open:l,defaultOpen:i,onOpenChange:s,value:a,defaultValue:c,onValueChange:d,dir:p,name:m,autoComplete:v,disabled:x,required:g,form:w}=e,b=A(n),[S,C]=r.useState(null),[R,k]=r.useState(null),[P,T]=r.useState(!1),I=(0,u.useDirection)(p),[N,L]=(0,y.useControllableState)({prop:l,defaultProp:i??!1,onChange:s,caller:j}),[D,_]=(0,y.useControllableState)({prop:a,defaultProp:c,onChange:d,caller:j}),O=r.useRef(null),z=!S||w||!!S.closest("form"),[B,V]=r.useState(new Set),F=Array.from(B).map(e=>e.props.value).join(";");return(0,t.jsx)(h.Root,{...b,children:(0,t.jsxs)(H,{required:g,scope:n,trigger:S,onTriggerChange:C,valueNode:R,onValueNodeChange:k,valueNodeHasChildren:P,onValueNodeHasChildrenChange:T,contentId:(0,f.useId)(),value:D,onValueChange:_,open:N,onOpenChange:L,dir:I,triggerPointerDownPosRef:O,disabled:x,children:[(0,t.jsx)(E.Provider,{scope:n,children:(0,t.jsx)(M,{scope:e.__scopeSelect,onNativeOptionAdd:r.useCallback(e=>{V(t=>new Set(t).add(e))},[]),onNativeOptionRemove:r.useCallback(e=>{V(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:o})}),z?(0,t.jsxs)(ey,{"aria-hidden":!0,required:g,tabIndex:-1,name:m,autoComplete:v,value:D,onChange:e=>_(e.target.value),disabled:x,form:w,children:[void 0===D?(0,t.jsx)("option",{value:""}):null,Array.from(B)]},F):null]})})};_.displayName=j;var O="SelectTrigger",z=r.forwardRef((e,n)=>{let{__scopeSelect:o,disabled:i=!1,...a}=e,u=A(o),c=L(O,o),d=c.disabled||i,p=(0,s.useComposedRefs)(n,c.onTriggerChange),f=P(o),m=r.useRef("touch"),[x,g,y]=eb(e=>{let t=f().filter(e=>!e.disabled),r=t.find(e=>e.value===c.value),n=eS(t,e,r);void 0!==n&&c.onValueChange(n.value)}),w=e=>{d||(c.onOpenChange(!0),y()),e&&(c.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,t.jsx)(h.Anchor,{asChild:!0,...u,children:(0,t.jsx)(v.Primitive.button,{type:"button",role:"combobox","aria-controls":c.contentId,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":"none",dir:c.dir,"data-state":c.open?"open":"closed",disabled:d,"data-disabled":d?"":void 0,"data-placeholder":ew(c.value)?"":void 0,...a,ref:p,onClick:(0,l.composeEventHandlers)(a.onClick,e=>{e.currentTarget.focus(),"mouse"!==m.current&&w(e)}),onPointerDown:(0,l.composeEventHandlers)(a.onPointerDown,e=>{m.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(w(e),e.preventDefault())}),onKeyDown:(0,l.composeEventHandlers)(a.onKeyDown,e=>{let t=""!==x.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||g(e.key),(!t||" "!==e.key)&&R.includes(e.key)&&(w(),e.preventDefault())})})})});z.displayName=O;var B="SelectValue",V=r.forwardRef((e,r)=>{let{__scopeSelect:n,className:o,style:l,children:i,placeholder:a="",...u}=e,c=L(B,n),{onValueNodeHasChildrenChange:d}=c,p=void 0!==i,f=(0,s.useComposedRefs)(r,c.onValueNodeChange);return(0,w.useLayoutEffect)(()=>{d(p)},[d,p]),(0,t.jsx)(v.Primitive.span,{...u,ref:f,style:{pointerEvents:"none"},children:ew(c.value)?(0,t.jsx)(t.Fragment,{children:a}):i})});V.displayName=B;var F=r.forwardRef((e,r)=>{let{__scopeSelect:n,children:o,...l}=e;return(0,t.jsx)(v.Primitive.span,{"aria-hidden":!0,...l,ref:r,children:o||"▼"})});F.displayName="SelectIcon";var K=e=>(0,t.jsx)(m.Portal,{asChild:!0,...e});K.displayName="SelectPortal";var U="SelectContent",W=r.forwardRef((e,o)=>{let l=L(U,e.__scopeSelect),[i,s]=r.useState();return((0,w.useLayoutEffect)(()=>{s(new DocumentFragment)},[]),l.open)?(0,t.jsx)(X,{...e,ref:o}):i?n.createPortal((0,t.jsx)(q,{scope:e.__scopeSelect,children:(0,t.jsx)(E.Slot,{scope:e.__scopeSelect,children:(0,t.jsx)("div",{children:e.children})})}),i):null});W.displayName=U;var[q,Y]=I(U),G=(0,x.createSlot)("SelectContent.RemoveScroll"),X=r.forwardRef((e,n)=>{let{__scopeSelect:o,position:i="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:u,onPointerDownOutside:f,side:h,sideOffset:m,align:v,alignOffset:x,arrowPadding:g,collisionBoundary:y,collisionPadding:w,sticky:b,hideWhenDetached:R,avoidCollisions:k,...j}=e,E=L(U,o),[T,I]=r.useState(null),[N,A]=r.useState(null),H=(0,s.useComposedRefs)(n,e=>I(e)),[M,D]=r.useState(null),[_,O]=r.useState(null),z=P(o),[B,V]=r.useState(!1),F=r.useRef(!1);r.useEffect(()=>{if(T)return(0,S.hideOthers)(T)},[T]),(0,d.useFocusGuards)();let K=r.useCallback(e=>{let[t,...r]=z().map(e=>e.ref.current),[n]=r.slice(-1),o=document.activeElement;for(let r of e)if(r===o||(r?.scrollIntoView({block:"nearest"}),r===t&&N&&(N.scrollTop=0),r===n&&N&&(N.scrollTop=N.scrollHeight),r?.focus(),document.activeElement!==o))return},[z,N]),W=r.useCallback(()=>K([M,T]),[K,M,T]);r.useEffect(()=>{B&&W()},[B,W]);let{onOpenChange:Y,triggerPointerDownPosRef:X}=E;r.useEffect(()=>{if(T){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(X.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(X.current?.y??0))}},r=r=>{e.x<=10&&e.y<=10?r.preventDefault():T.contains(r.target)||Y(!1),document.removeEventListener("pointermove",t),X.current=null};return null!==X.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[T,Y,X]),r.useEffect(()=>{let e=()=>Y(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[Y]);let[J,Q]=eb(e=>{let t=z().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),n=eS(t,e,r);n&&setTimeout(()=>n.ref.current.focus())}),ee=r.useCallback((e,t,r)=>{let n=!F.current&&!r;(void 0!==E.value&&E.value===t||n)&&(D(e),n&&(F.current=!0))},[E.value]),et=r.useCallback(()=>T?.focus(),[T]),er=r.useCallback((e,t,r)=>{let n=!F.current&&!r;(void 0!==E.value&&E.value===t||n)&&O(e)},[E.value]),en="popper"===i?$:Z,eo=en===$?{side:h,sideOffset:m,align:v,alignOffset:x,arrowPadding:g,collisionBoundary:y,collisionPadding:w,sticky:b,hideWhenDetached:R,avoidCollisions:k}:{};return(0,t.jsx)(q,{scope:o,content:T,viewport:N,onViewportChange:A,itemRefCallback:ee,selectedItem:M,onItemLeave:et,itemTextRefCallback:er,focusSelectedItem:W,selectedItemText:_,position:i,isPositioned:B,searchRef:J,children:(0,t.jsx)(C.RemoveScroll,{as:G,allowPinchZoom:!0,children:(0,t.jsx)(p.FocusScope,{asChild:!0,trapped:E.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,l.composeEventHandlers)(a,e=>{E.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,t.jsx)(c.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>E.onOpenChange(!1),children:(0,t.jsx)(en,{role:"listbox",id:E.contentId,"data-state":E.open?"open":"closed",dir:E.dir,onContextMenu:e=>e.preventDefault(),...j,...eo,onPlaced:()=>V(!0),ref:H,style:{display:"flex",flexDirection:"column",outline:"none",...j.style},onKeyDown:(0,l.composeEventHandlers)(j.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||Q(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=z().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,n=t.indexOf(r);t=t.slice(n+1)}setTimeout(()=>K(t)),e.preventDefault()}})})})})})})});X.displayName="SelectContentImpl";var Z=r.forwardRef((e,n)=>{let{__scopeSelect:l,onPlaced:i,...a}=e,u=L(U,l),c=Y(U,l),[d,p]=r.useState(null),[f,h]=r.useState(null),m=(0,s.useComposedRefs)(n,e=>h(e)),x=P(l),g=r.useRef(!1),y=r.useRef(!0),{viewport:b,selectedItem:S,selectedItemText:C,focusSelectedItem:R}=c,k=r.useCallback(()=>{if(u.trigger&&u.valueNode&&d&&f&&b&&S&&C){let e=u.trigger.getBoundingClientRect(),t=f.getBoundingClientRect(),r=u.valueNode.getBoundingClientRect(),n=C.getBoundingClientRect();if("rtl"!==u.dir){let l=n.left-t.left,i=r.left-l,s=e.left-i,a=e.width+s,u=Math.max(a,t.width),c=window.innerWidth-10,p=(0,o.clamp)(i,[10,Math.max(10,c-u)]);d.style.minWidth=a+"px",d.style.left=p+"px"}else{let l=t.right-n.right,i=window.innerWidth-r.right-l,s=window.innerWidth-e.right-i,a=e.width+s,u=Math.max(a,t.width),c=window.innerWidth-10,p=(0,o.clamp)(i,[10,Math.max(10,c-u)]);d.style.minWidth=a+"px",d.style.right=p+"px"}let l=x(),s=window.innerHeight-20,a=b.scrollHeight,c=window.getComputedStyle(f),p=parseInt(c.borderTopWidth,10),h=parseInt(c.paddingTop,10),m=parseInt(c.borderBottomWidth,10),v=p+h+a+parseInt(c.paddingBottom,10)+m,y=Math.min(5*S.offsetHeight,v),w=window.getComputedStyle(b),R=parseInt(w.paddingTop,10),k=parseInt(w.paddingBottom,10),j=e.top+e.height/2-10,E=S.offsetHeight/2,P=p+h+(S.offsetTop+E);if(P<=j){let e=l.length>0&&S===l[l.length-1].ref.current;d.style.bottom="0px";let t=Math.max(s-j,E+(e?k:0)+(f.clientHeight-b.offsetTop-b.offsetHeight)+m);d.style.height=P+t+"px"}else{let e=l.length>0&&S===l[0].ref.current;d.style.top="0px";let t=Math.max(j,p+b.offsetTop+(e?R:0)+E);d.style.height=t+(v-P)+"px",b.scrollTop=P-j+b.offsetTop}d.style.margin="10px 0",d.style.minHeight=y+"px",d.style.maxHeight=s+"px",i?.(),requestAnimationFrame(()=>g.current=!0)}},[x,u.trigger,u.valueNode,d,f,b,S,C,u.dir,i]);(0,w.useLayoutEffect)(()=>k(),[k]);let[j,E]=r.useState();(0,w.useLayoutEffect)(()=>{f&&E(window.getComputedStyle(f).zIndex)},[f]);let T=r.useCallback(e=>{e&&!0===y.current&&(k(),R?.(),y.current=!1)},[k,R]);return(0,t.jsx)(J,{scope:l,contentWrapper:d,shouldExpandOnScrollRef:g,onScrollButtonChange:T,children:(0,t.jsx)("div",{ref:p,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:j},children:(0,t.jsx)(v.Primitive.div,{...a,ref:m,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});Z.displayName="SelectItemAlignedPosition";var $=r.forwardRef((e,r)=>{let{__scopeSelect:n,align:o="start",collisionPadding:l=10,...i}=e,s=A(n);return(0,t.jsx)(h.Content,{...s,...i,ref:r,align:o,collisionPadding:l,style:{boxSizing:"border-box",...i.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});$.displayName="SelectPopperPosition";var[J,Q]=I(U,{}),ee="SelectViewport",et=r.forwardRef((e,n)=>{let{__scopeSelect:o,nonce:i,...a}=e,u=Y(ee,o),c=Q(ee,o),d=(0,s.useComposedRefs)(n,u.onViewportChange),p=r.useRef(0);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),(0,t.jsx)(E.Slot,{scope:o,children:(0,t.jsx)(v.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:d,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:(0,l.composeEventHandlers)(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:n}=c;if(n?.current&&r){let e=Math.abs(p.current-t.scrollTop);if(e>0){let n=window.innerHeight-20,o=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(o<n){let l=o+e,i=Math.min(n,l),s=l-i;r.style.height=i+"px","0px"===r.style.bottom&&(t.scrollTop=s>0?s:0,r.style.justifyContent="flex-end")}}}p.current=t.scrollTop})})})]})});et.displayName=ee;var er="SelectGroup",[en,eo]=I(er),el=r.forwardRef((e,r)=>{let{__scopeSelect:n,...o}=e,l=(0,f.useId)();return(0,t.jsx)(en,{scope:n,id:l,children:(0,t.jsx)(v.Primitive.div,{role:"group","aria-labelledby":l,...o,ref:r})})});el.displayName=er;var ei="SelectLabel",es=r.forwardRef((e,r)=>{let{__scopeSelect:n,...o}=e,l=eo(ei,n);return(0,t.jsx)(v.Primitive.div,{id:l.id,...o,ref:r})});es.displayName=ei;var ea="SelectItem",[eu,ec]=I(ea),ed=r.forwardRef((e,n)=>{let{__scopeSelect:o,value:i,disabled:a=!1,textValue:u,...c}=e,d=L(ea,o),p=Y(ea,o),h=d.value===i,[m,x]=r.useState(u??""),[g,y]=r.useState(!1),w=(0,s.useComposedRefs)(n,e=>p.itemRefCallback?.(e,i,a)),b=(0,f.useId)(),S=r.useRef("touch"),C=()=>{a||(d.onValueChange(i),d.onOpenChange(!1))};if(""===i)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,t.jsx)(eu,{scope:o,value:i,disabled:a,textId:b,isSelected:h,onItemTextChange:r.useCallback(e=>{x(t=>t||(e?.textContent??"").trim())},[]),children:(0,t.jsx)(E.ItemSlot,{scope:o,value:i,disabled:a,textValue:m,children:(0,t.jsx)(v.Primitive.div,{role:"option","aria-labelledby":b,"data-highlighted":g?"":void 0,"aria-selected":h&&g,"data-state":h?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...c,ref:w,onFocus:(0,l.composeEventHandlers)(c.onFocus,()=>y(!0)),onBlur:(0,l.composeEventHandlers)(c.onBlur,()=>y(!1)),onClick:(0,l.composeEventHandlers)(c.onClick,()=>{"mouse"!==S.current&&C()}),onPointerUp:(0,l.composeEventHandlers)(c.onPointerUp,()=>{"mouse"===S.current&&C()}),onPointerDown:(0,l.composeEventHandlers)(c.onPointerDown,e=>{S.current=e.pointerType}),onPointerMove:(0,l.composeEventHandlers)(c.onPointerMove,e=>{S.current=e.pointerType,a?p.onItemLeave?.():"mouse"===S.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,l.composeEventHandlers)(c.onPointerLeave,e=>{e.currentTarget===document.activeElement&&p.onItemLeave?.()}),onKeyDown:(0,l.composeEventHandlers)(c.onKeyDown,e=>{(p.searchRef?.current===""||" "!==e.key)&&(k.includes(e.key)&&C()," "===e.key&&e.preventDefault())})})})})});ed.displayName=ea;var ep="SelectItemText",ef=r.forwardRef((e,o)=>{let{__scopeSelect:l,className:i,style:a,...u}=e,c=L(ep,l),d=Y(ep,l),p=ec(ep,l),f=D(ep,l),[h,m]=r.useState(null),x=(0,s.useComposedRefs)(o,e=>m(e),p.onItemTextChange,e=>d.itemTextRefCallback?.(e,p.value,p.disabled)),g=h?.textContent,y=r.useMemo(()=>(0,t.jsx)("option",{value:p.value,disabled:p.disabled,children:g},p.value),[p.disabled,p.value,g]),{onNativeOptionAdd:b,onNativeOptionRemove:S}=f;return(0,w.useLayoutEffect)(()=>(b(y),()=>S(y)),[b,S,y]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(v.Primitive.span,{id:p.textId,...u,ref:x}),p.isSelected&&c.valueNode&&!c.valueNodeHasChildren?n.createPortal(u.children,c.valueNode):null]})});ef.displayName=ep;var eh="SelectItemIndicator";r.forwardRef((e,r)=>{let{__scopeSelect:n,...o}=e;return ec(eh,n).isSelected?(0,t.jsx)(v.Primitive.span,{"aria-hidden":!0,...o,ref:r}):null}).displayName=eh;var em="SelectScrollUpButton";r.forwardRef((e,n)=>{let o=Y(em,e.__scopeSelect),l=Q(em,e.__scopeSelect),[i,a]=r.useState(!1),u=(0,s.useComposedRefs)(n,l.onScrollButtonChange);return(0,w.useLayoutEffect)(()=>{if(o.viewport&&o.isPositioned){let e=function(){a(t.scrollTop>0)},t=o.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[o.viewport,o.isPositioned]),i?(0,t.jsx)(ex,{...e,ref:u,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=o;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null}).displayName=em;var ev="SelectScrollDownButton";r.forwardRef((e,n)=>{let o=Y(ev,e.__scopeSelect),l=Q(ev,e.__scopeSelect),[i,a]=r.useState(!1),u=(0,s.useComposedRefs)(n,l.onScrollButtonChange);return(0,w.useLayoutEffect)(()=>{if(o.viewport&&o.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;a(Math.ceil(t.scrollTop)<e)},t=o.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[o.viewport,o.isPositioned]),i?(0,t.jsx)(ex,{...e,ref:u,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=o;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null}).displayName=ev;var ex=r.forwardRef((e,n)=>{let{__scopeSelect:o,onAutoScroll:i,...s}=e,a=Y("SelectScrollButton",o),u=r.useRef(null),c=P(o),d=r.useCallback(()=>{null!==u.current&&(window.clearInterval(u.current),u.current=null)},[]);return r.useEffect(()=>()=>d(),[d]),(0,w.useLayoutEffect)(()=>{let e=c().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[c]),(0,t.jsx)(v.Primitive.div,{"aria-hidden":!0,...s,ref:n,style:{flexShrink:0,...s.style},onPointerDown:(0,l.composeEventHandlers)(s.onPointerDown,()=>{null===u.current&&(u.current=window.setInterval(i,50))}),onPointerMove:(0,l.composeEventHandlers)(s.onPointerMove,()=>{a.onItemLeave?.(),null===u.current&&(u.current=window.setInterval(i,50))}),onPointerLeave:(0,l.composeEventHandlers)(s.onPointerLeave,()=>{d()})})});r.forwardRef((e,r)=>{let{__scopeSelect:n,...o}=e;return(0,t.jsx)(v.Primitive.div,{"aria-hidden":!0,...o,ref:r})}).displayName="SelectSeparator";var eg="SelectArrow";r.forwardRef((e,r)=>{let{__scopeSelect:n,...o}=e,l=A(n),i=L(eg,n),s=Y(eg,n);return i.open&&"popper"===s.position?(0,t.jsx)(h.Arrow,{...l,...o,ref:r}):null}).displayName=eg;var ey=r.forwardRef(({__scopeSelect:e,value:n,...o},l)=>{let i,a=r.useRef(null),u=(0,s.useComposedRefs)(l,a),c=(i=r.useRef({value:n,previous:n}),r.useMemo(()=>(i.current.value!==n&&(i.current.previous=i.current.value,i.current.value=n),i.current.previous),[n]));return r.useEffect(()=>{let e=a.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(c!==n&&t){let r=new Event("change",{bubbles:!0});t.call(e,n),e.dispatchEvent(r)}},[c,n]),(0,t.jsx)(v.Primitive.select,{...o,style:{...b.VISUALLY_HIDDEN_STYLES,...o.style},ref:u,defaultValue:n})});function ew(e){return""===e||void 0===e}function eb(e){let t=(0,g.useCallbackRef)(e),n=r.useRef(""),o=r.useRef(0),l=r.useCallback(e=>{let r=n.current+e;t(r),function e(t){n.current=t,window.clearTimeout(o.current),""!==t&&(o.current=window.setTimeout(()=>e(""),1e3))}(r)},[t]),i=r.useCallback(()=>{n.current="",window.clearTimeout(o.current)},[]);return r.useEffect(()=>()=>window.clearTimeout(o.current),[]),[n,l,i]}function eS(e,t,r){var n,o;let l=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=r?e.indexOf(r):-1,s=(n=e,o=Math.max(i,0),n.map((e,t)=>n[(o+t)%n.length]));1===l.length&&(s=s.filter(e=>e!==r));let a=s.find(e=>e.textValue.toLowerCase().startsWith(l.toLowerCase()));return a!==r?a:void 0}ey.displayName="SelectBubbleInput";var eC=e.i(16047),eR=e.i(81471);e.s(["Select",0,_,"SelectContent",0,function({className:e,children:r,position:n="popper",...o}){return(0,t.jsx)(K,{children:(0,t.jsx)(W,{className:(0,eR.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95","popper"===n&&"translate-y-1",e),position:n,...o,children:(0,t.jsx)(et,{className:(0,eR.cn)("p-1","popper"===n&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:r})})})},"SelectGroup",0,el,"SelectItem",0,function({className:e,children:r,...n}){return(0,t.jsx)(ed,{className:(0,eR.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:(0,t.jsx)(ef,{children:r})})},"SelectLabel",0,function({className:e,...r}){return(0,t.jsx)(es,{className:(0,eR.cn)("px-2 py-1.5 text-xs text-muted-foreground",e),...r})},"SelectTrigger",0,function({className:e,children:r,...n}){return(0,t.jsxs)(z,{className:(0,eR.cn)("flex h-9 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),...n,children:[r,(0,t.jsx)(F,{asChild:!0,children:(0,t.jsx)(eC.ChevronDown,{className:"h-4 w-4 opacity-50"})})]})},"SelectValue",0,V],10427)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74490,e=>{"use strict";var t=e.i(54710),s=e.i(81471);let n=(0,e.i(94237).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}});e.s(["Card",0,function({className:e,tone:a,interactive:i,...r}){return(0,t.jsx)("div",{className:(0,s.cn)(n({tone:a,interactive:i}),e),...r})},"CardHeader",0,function({className:e,...n}){return(0,t.jsx)("div",{className:(0,s.cn)("mb-3 flex items-center justify-between",e),...n})},"CardStatLabel",0,function({className:e,...n}){return(0,t.jsx)("h3",{className:(0,s.cn)("text-xs font-semibold uppercase tracking-[0.08em] text-muted-foreground",e),...n})},"CardTitle",0,function({className:e,...n}){return(0,t.jsx)("h3",{className:(0,s.cn)("text-base font-semibold tracking-tight text-foreground",e),...n})},"CardValue",0,function({className:e,...n}){return(0,t.jsx)("div",{className:(0,s.cn)("font-display text-3xl font-semibold tracking-tight text-foreground",e),...n})}])},39982,e=>{"use strict";var t=e.i(54710),s=e.i(81471);e.s(["PageHeader",0,function({title:e,description:n,icon:a,badge:i,actions:r,children:l,className:o}){return(0,t.jsxs)("header",{className:(0,s.cn)("flex flex-col gap-1.5",o),children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5",children:[a&&(0,t.jsx)(a,{className:"h-5 w-5 text-muted-foreground"}),(0,t.jsx)("h1",{className:"font-display text-[1.75rem] font-semibold leading-tight tracking-tight text-foreground",children:e}),i]}),r&&(0,t.jsx)("div",{className:"flex items-center gap-2",children:r})]}),n&&(0,t.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-muted-foreground",children:n}),l]})}])},21682,e=>{"use strict";let t=(0,e.i(77379).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"}]]);e.s(["Pencil",0,t],21682)},99758,e=>{"use strict";let t=(0,e.i(77379).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",0,t],99758)},90925,e=>{"use strict";let t=(0,e.i(77379).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"}]]);e.s(["Trash2",0,t],90925)},60168,e=>{"use strict";let t=(0,e.i(77379).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],60168)},55575,e=>{"use strict";let t=(0,e.i(77379).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"}]]);e.s(["FolderOpen",0,t],55575)},66127,e=>{"use strict";var t=e.i(65268);async function s({title:e,defaultPath:n}){let a=await t.api.post("/system/pick-directory",{title:e,...n?{defaultPath:n}:{}});if("selected"===a.status&&a.path)return a.path;if("cancelled"===a.status)return null;throw Error(a.message??"Folder picker is unavailable.")}e.s(["pickDirectoryFromDesktop",0,s])},25795,e=>{"use strict";let t=(0,e.i(77379).default)("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",0,t],25795)},82239,e=>{"use strict";var t=e.i(54710),s=e.i(25795),n=e.i(10628);e.s(["RestartRequiredBadge",0,function(){return(0,t.jsxs)(n.Tooltip,{children:[(0,t.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-0.5 rounded-sm bg-warning/15 px-1 py-0.5 text-[10px] font-medium text-warning",children:[(0,t.jsx)(s.RotateCcw,{className:"h-2.5 w-2.5"}),"restart"]})}),(0,t.jsx)(n.TooltipContent,{side:"top",className:"max-w-[220px] text-xs",children:"Changing this value requires a daemon restart to take effect."})]})}])},49681,e=>{"use strict";var t=e.i(54710),s=e.i(7771),n=e.i(95486),a=e.i(8011),i=e.i(10628),r=e.i(81471);e.s(["DocsHelpInline",0,function({docId:e,anchor:l=null,label:o,className:d}){let c=(0,n.useQueryClient)(),u=o??"Help";return(0,t.jsx)(i.TooltipProvider,{delayDuration:300,children:(0,t.jsxs)(i.Tooltip,{children:[(0,t.jsx)(i.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:t=>{t.preventDefault(),t.stopPropagation(),(0,a.openDocsHelpSlideover)(c,{docId:e,anchor:l,autoFocusComposer:!1})},className:(0,r.cn)("inline-flex h-5 w-5 items-center justify-center rounded-full text-muted-foreground/70 transition hover:bg-accent hover:text-foreground",d),"aria-label":`Open help — ${u}`,"data-testid":"docs-help-inline",children:(0,t.jsx)(s.HelpCircle,{className:"h-3.5 w-3.5","aria-hidden":"true"})})}),(0,t.jsx)(i.TooltipContent,{side:"top",children:(0,t.jsx)("span",{children:u})})]})})}])},88,e=>{"use strict";var t=e.i(54710),s=e.i(34416),n=e.i(99758),a=e.i(55575),i=e.i(21682),r=e.i(60168),l=e.i(25795),o=e.i(90925),d=e.i(36451);e.i(18446);var c=e.i(28444),u=e.i(48467),x=e.i(20014),m=e.i(74490),f=e.i(8652),h=e.i(82239),p=e.i(49681),g=e.i(66127),b=e.i(36413);let y=new Set(c.RESTART_REQUIRED_KEY_TUPLE);function v(e){return null===e?"":String(e)}e.s(["ConfigSection",0,function({title:e,children:s,helpDocId:n,helpAnchor:a}){return(0,t.jsxs)(m.Card,{children:[(0,t.jsx)(m.CardHeader,{children:(0,t.jsxs)(m.CardTitle,{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{children:e}),n&&(0,t.jsx)(p.DocsHelpInline,{docId:n,anchor:a??null,label:e})]})}),(0,t.jsx)("div",{className:"space-y-0.5 [&>p]:max-w-prose",children:s})]})},"EditableArrayField",0,function({label:e,values:n,configKey:i,variant:l="gray",placeholder:o="Add item...",directoryPicker:c,modified:m,onSave:p}){let b=y.has(i),[v,j]=(0,s.useState)(""),[w,k]=(0,s.useState)(!1),[N,C]=(0,s.useState)(null),S=async()=>{let e=v.trim();if(!(!e||n.includes(e))){k(!0),C(null);try{await p(i,[...n,e]),j("")}catch{}finally{k(!1)}}},E=async e=>{k(!0);try{await p(i,n.filter(t=>t!==e))}finally{k(!1)}},B=async()=>{if(c){k(!0),C(null);try{let e=await (0,g.pickDirectoryFromDesktop)({title:c.title,defaultPath:v.trim()||c.defaultPath});if(!e)return;if(n.includes(e)){j(e),C("That directory is already in the list.");return}await p(i,[...n,e]),j("")}catch(e){C(e instanceof Error?e.message:"Folder picker is unavailable.")}finally{k(!1)}}};return(0,t.jsxs)("div",{className:`py-2${m?" border-l-2 border-primary pl-2 -ml-1 rounded":""}`,"data-config-key":i,children:[(0,t.jsxs)("p",{className:"text-sm text-muted-foreground mb-2 inline-flex items-center gap-1.5",children:[e,b&&(0,t.jsx)(h.RestartRequiredBadge,{}),m&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-primary",children:"modified"})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-1.5 mb-2",children:[n.map(e=>(0,t.jsxs)(u.Badge,{variant:l,className:"gap-1 pr-1",children:[e,(0,t.jsx)("button",{onClick:()=>E(e),disabled:w,className:"ml-0.5 rounded-sm hover:bg-black/10 dark:hover:bg-white/10 p-0.5 transition-colors",children:(0,t.jsx)(d.X,{className:"h-3 w-3"})})]},e)),0===n.length&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground italic",children:"No items"})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(f.Input,{value:v,onChange:e=>j(e.target.value),onKeyDown:e=>{"Enter"===e.key&&S()},placeholder:o,className:"max-w-[320px]",disabled:w}),c&&(0,t.jsxs)(x.Button,{size:"sm",variant:"outline",onClick:B,disabled:w,children:[(0,t.jsx)(a.FolderOpen,{className:"h-3.5 w-3.5 mr-1"}),c.buttonLabel??"Choose"]}),(0,t.jsxs)(x.Button,{size:"sm",variant:"outline",onClick:S,disabled:!v.trim()||w,children:[(0,t.jsx)(r.Plus,{className:"h-3.5 w-3.5 mr-1"}),"Add"]})]}),N&&(0,t.jsx)("p",{className:"mt-1 text-xs text-destructive",children:N})]})},"EditableBooleanField",0,function({label:e,value:n,configKey:a,description:i,modified:r,defaultValue:o,onSave:d}){let[c,u]=(0,s.useState)(!1),m=y.has(a),f=void 0!==o&&n===o,p=async()=>{u(!0);try{await d(a,!n)}finally{u(!1)}},g=async()=>{if(void 0!==o){u(!0);try{await d(a,o)}finally{u(!1)}}};return(0,t.jsx)("div",{className:`py-1.5 group${r?" border-l-2 border-primary pl-2 -ml-1 rounded":""}`,"data-config-key":a,children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("p",{className:"text-sm text-muted-foreground inline-flex items-center gap-1.5",children:[e,m&&(0,t.jsx)(h.RestartRequiredBadge,{}),r&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-primary",children:"modified"}),void 0!==o&&!f&&!r&&(0,t.jsxs)("button",{type:"button",onClick:g,className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors inline-flex items-center gap-0.5 opacity-0 group-hover:opacity-100",children:[(0,t.jsx)(l.RotateCcw,{className:"h-2.5 w-2.5"}),"reset"]})]}),i&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:i})]}),(0,t.jsx)(x.Button,{variant:n?"default":"outline",size:"sm",onClick:p,disabled:c,children:n?"Enabled":"Disabled"})]})})},"EditableField",0,function({label:e,value:a,configKey:r,type:c="text",suffix:u,description:m,min:p,max:g,nullable:j=!1,emptyLabel:w="Not set",modified:k,defaultValue:N,onSave:C}){let S=y.has(r),[E,B]=(0,s.useState)(!1),[L,T]=(0,s.useState)(v(a)),[F,M]=(0,s.useState)(!1),[P,D]=(0,s.useState)(null),R=(0,s.useRef)(null),A=(0,b.useDiscardGeneration)(),$=(0,s.useRef)(A);(0,s.useEffect)(()=>{A!==$.current&&($.current=A,B(!1),D(null))},[A]),(0,s.useEffect)(()=>{E&&R.current?.focus()},[E]),(0,s.useEffect)(()=>{E||T(v(a))},[a,E]);let K=void 0!==N&&a===N,_=async e=>{if(e.stopPropagation(),void 0!==N){M(!0);try{await C(r,N)}finally{M(!1)}}},H=async e=>{e.stopPropagation(),M(!0);try{await C(r,null)}finally{M(!1)}},q=async()=>{let e=L.trim(),t=j&&""===e?null:"number"===c?Number(L):L;if(t===a)return void B(!1);if(null!==t&&"number"===c&&(void 0!==p||void 0!==g)&&(void 0!==p&&t<p||void 0!==g&&t>g))return void D(`Must be ${p??""}–${g??""}`);D(null),M(!0);try{await C(r,t),B(!1)}catch{}finally{M(!1)}};return E?(0,t.jsxs)("div",{className:"py-1.5","data-config-key":r,children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("span",{className:"text-sm text-muted-foreground shrink-0 min-w-[140px] inline-flex items-center gap-1.5",children:[e,S&&(0,t.jsx)(h.RestartRequiredBadge,{})]}),(0,t.jsx)(f.Input,{ref:R,type:c,value:L,onChange:e=>{T(e.target.value),D(null)},onKeyDown:e=>{"Enter"===e.key&&q(),"Escape"===e.key&&(T(v(a)),B(!1))},className:"max-w-[240px]",disabled:F,min:p,max:g}),u&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:u}),(0,t.jsx)(x.Button,{size:"sm",variant:"ghost",onClick:q,disabled:F,className:"h-7 w-7 p-0",children:(0,t.jsx)(n.Check,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(x.Button,{size:"sm",variant:"ghost",onClick:()=>{T(v(a)),D(null),B(!1)},className:"h-7 w-7 p-0",children:(0,t.jsx)(d.X,{className:"h-3.5 w-3.5"})})]}),P&&(0,t.jsx)("p",{className:"text-xs text-destructive mt-1 ml-[148px]",children:P}),m&&!P&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1 ml-[148px]",children:m})]}):(0,t.jsxs)("div",{className:`py-1.5 group cursor-pointer rounded px-1 -mx-1 hover:bg-muted/50 transition-colors${k?" border-l-2 border-primary pl-2":""}`,"data-config-key":r,onClick:()=>B(!0),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("span",{className:"text-sm text-muted-foreground inline-flex items-center gap-1.5",children:[e,S&&(0,t.jsx)(h.RestartRequiredBadge,{})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[k&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-primary",children:"modified"}),void 0!==N&&!K&&!k&&(0,t.jsxs)("button",{type:"button",onClick:_,className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors inline-flex items-center gap-0.5 opacity-0 group-hover:opacity-100",children:[(0,t.jsx)(l.RotateCcw,{className:"h-2.5 w-2.5"}),"reset"]}),j&&null!==a&&!k&&(0,t.jsxs)("button",{type:"button",onClick:H,title:`Clear — sets ${e} to ${w}`,className:"text-[10px] text-muted-foreground hover:text-destructive transition-colors inline-flex items-center gap-0.5 opacity-0 group-hover:opacity-100",children:[(0,t.jsx)(o.Trash2,{className:"h-2.5 w-2.5"}),"clear"]}),(0,t.jsx)("span",{className:"text-sm font-medium text-foreground",children:null===a?w:"$"===u?`$${a}`:u?`${a} ${u}`:String(a)}),(0,t.jsx)(i.Pencil,{className:"h-3 w-3 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity"})]})]}),m&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:m})]})}])},44178,40893,e=>{"use strict";var t=e.i(57415),s=e.i(14260),n=e.i(95486),a=e.i(65268);class i extends Error{conflict;constructor(e){super("context_conflict"),this.conflict=e,this.name="ContextConflictError"}}e.s(["ContextConflictError",0,i,"useContextFile",0,function(e,t){return(0,s.useQuery)({queryKey:["context",e],queryFn:()=>a.api.get(`/context/${e}`),enabled:!!e&&t?.enabled!==!1,refetchOnWindowFocus:t?.enabled!==!1})},"useContextList",0,function(e){return(0,s.useQuery)({queryKey:["context-list",e],queryFn:()=>a.api.get(`/context/list/${e}`)})},"useUpdateContextFile",0,function(){let e=(0,n.useQueryClient)();return(0,t.useMutation)({mutationFn:async({path:e,content:t,expectedMtime:s})=>{try{return await a.api.put(`/context/${e}`,{content:t,...void 0!==s?{expectedMtime:s}:{}})}catch(e){if(e instanceof a.ApiError&&409===e.status&&e.body?.error==="conflict"){let t=e.body;throw new i({currentMtime:t.currentMtime??"",currentContent:t.currentContent??""})}throw e}},onSuccess:(t,{path:s,content:n})=>{e.setQueryData(["context",s],e=>e?{...e,content:n,lastModified:t.lastModified}:{content:n,lastModified:t.lastModified,editable:!0}),e.invalidateQueries({queryKey:["snapshots",s]});let a=s.includes("/")?s.split("/")[0]:null;a&&e.invalidateQueries({queryKey:["context-list",a]})}})}],44178);var r=e.i(54710),l=e.i(81187),o=e.i(20014),d=e.i(81471);e.s(["FileConflictBanner",0,function({onReload:e,onOverwrite:t,isPending:s=!1,reloadLabel:n="Reload latest",className:a}){return(0,r.jsxs)("div",{role:"alert","aria-live":"assertive",className:(0,d.cn)("rounded-md border border-warning/50 bg-warning/10 p-3 text-xs",a),children:[(0,r.jsxs)("div",{className:"mb-2 flex items-center gap-2 font-semibold text-warning",children:[(0,r.jsx)(l.AlertTriangle,{className:"h-3.5 w-3.5"}),"File was modified by another process"]}),(0,r.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,r.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,r.jsx)(o.Button,{size:"sm",variant:"outline",onClick:e,disabled:s,className:"h-7",children:n}),(0,r.jsx)(o.Button,{size:"sm",variant:"destructive",onClick:t,disabled:s,className:"h-7",children:s?"Overwriting…":"Overwrite with my edits"})]})]})}],40893)},28309,e=>{"use strict";var t=e.i(54710),s=e.i(34416),n=e.i(65268),a=e.i(88423),i=e.i(36413),r=e.i(14260),l=e.i(44178),o=e.i(79634),d=e.i(48467),c=e.i(20014),u=e.i(74490),x=e.i(39982),m=e.i(88),f=e.i(40893),h=e.i(81471);function p(e,t){return t<=0?0:Math.min(100,Math.max(0,Math.round(e/t*100)))}function g(e){return e>=100?"full":e>=80?"warn":"ok"}function b(){let{data:e}=(0,a.useConfig)(),{df:s}=(0,a.useConfigDefaults)(),{deferSaveFor:n,dv:r,dirtyFields:l}=(0,i.useDirtyFields)();if(!e)return(0,t.jsx)(u.Card,{className:"p-4",children:(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading…"})});let o=n(e),d=r("feedbackLearningEnabled",e.feedbackLearningEnabled);return(0,t.jsxs)(m.ConfigSection,{title:"Feedback learning",children:[(0,t.jsx)(m.EditableBooleanField,{label:"Enable feedback learning",value:d,configKey:"feedbackLearningEnabled",description:"Master switch. While off, no signals are consolidated and no lessons are injected — capture continues but nothing new takes effect.",modified:l.has("feedbackLearningEnabled"),defaultValue:s("feedbackLearningEnabled"),onSave:o}),(0,t.jsx)(m.EditableField,{label:"Promotion threshold",value:r("feedbackPromotionThreshold",e.feedbackPromotionThreshold),configKey:"feedbackPromotionThreshold",type:"number",min:1,max:10,description:"Weighted evidence a behavioral/self-critique signal must reach before it becomes an injectable lesson. An explicit owner directive promotes on the first occurrence regardless. Higher = slower to learn, fewer false lessons.",modified:l.has("feedbackPromotionThreshold"),defaultValue:s("feedbackPromotionThreshold"),onSave:o}),(0,t.jsx)(m.EditableField,{label:"Global lessons byte cap",value:r("feedbackLessonMaxBytesGlobal",e.feedbackLessonMaxBytesGlobal),configKey:"feedbackLessonMaxBytesGlobal",type:"number",suffix:"B",min:1024,max:32768,description:"Hard size cap for policies/agent-lessons.md. Over cap, the lowest-signal lessons are evicted during consolidation.",modified:l.has("feedbackLessonMaxBytesGlobal"),defaultValue:s("feedbackLessonMaxBytesGlobal"),onSave:o}),(0,t.jsx)(m.EditableField,{label:"Per-agent lessons byte cap",value:r("feedbackLessonMaxBytesPerAgent",e.feedbackLessonMaxBytesPerAgent),configKey:"feedbackLessonMaxBytesPerAgent",type:"number",suffix:"B",min:512,max:16384,description:"Hard size cap for each policies/agents/<slug>/lessons.md store.",modified:l.has("feedbackLessonMaxBytesPerAgent"),defaultValue:s("feedbackLessonMaxBytesPerAgent"),onSave:o}),(0,t.jsx)(m.EditableField,{label:"Lesson staleness horizon",value:r("feedbackLessonStaleDays",e.feedbackLessonStaleDays),configKey:"feedbackLessonStaleDays",type:"number",suffix:"days",min:7,max:365,description:"A lesson not reinforced within this window is pruned at the next consolidation — unless it is a durable constraint, which never expires.",modified:l.has("feedbackLessonStaleDays"),defaultValue:s("feedbackLessonStaleDays"),onSave:o}),(0,t.jsx)(m.EditableField,{label:"Signal retention",value:r("feedbackSignalRetentionDays",e.feedbackSignalRetentionDays),configKey:"feedbackSignalRetentionDays",type:"number",suffix:"days",min:30,max:365,description:"How long consumed raw feedback signals are kept before the nightly retention sweep drops them. Unconsolidated signals are never swept.",modified:l.has("feedbackSignalRetentionDays"),defaultValue:s("feedbackSignalRetentionDays"),onSave:o})]})}function y(){let{data:e,isLoading:a,error:i}=(0,r.useQuery)({queryKey:["feedback-lessons"],queryFn:()=>n.api.get("/feedback/lessons"),staleTime:3e4}),[l,d]=(0,s.useState)(null);return(0,t.jsxs)(u.Card,{className:"flex flex-col gap-3 p-4",children:[(0,t.jsx)(u.CardHeader,{className:"p-0",children:(0,t.jsx)(u.CardTitle,{className:"text-sm font-semibold",children:"Lesson stores"})}),a&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading lesson stores…"}),i&&(0,t.jsxs)(o.Alert,{variant:"error",children:["Failed to load lesson stores:"," ",i?.message??"unknown error"]}),e&&(0,t.jsxs)(t.Fragment,{children:[!e.enabled&&(0,t.jsx)(o.Alert,{variant:"warning",children:"Feedback learning is turned off — existing lessons are not being injected and no new ones are forming. Toggle it on above to resume."}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:[e.pendingSignals," signal",1===e.pendingSignals?"":"s"," ","awaiting the next nightly consolidation · promotion threshold"," ",e.promotionThreshold]}),(0,t.jsx)("ul",{className:"flex flex-col divide-y",children:e.stores.map(e=>(0,t.jsx)(j,{store:e,open:l===e.path,onToggle:()=>d(t=>t===e.path?null:e.path)},e.path))})]})]})}let v={ok:"bg-primary",warn:"bg-warning",full:"bg-destructive"};function j({store:e,open:s,onToggle:n}){var a;let i,r,l,o=(i={ok:0,warn:1,full:2},r=g(p(e.bytes,e.capBytes)),l=g(p(e.entries,e.maxEntries)),e.overCap?"full":i[r]>=i[l]?r:l),d=Math.max(p(e.bytes,e.capBytes),p(e.entries,e.maxEntries));return(0,t.jsxs)("li",{className:"py-3 first:pt-0",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:"agent"===(a=e.scope)?"Global — all agents & routines":a.startsWith("agent:")?a.slice(6):a}),(0,t.jsx)("p",{className:"truncate font-mono text-[11px] text-muted-foreground",children:e.path}),(0,t.jsx)("p",{className:"pt-0.5 text-xs text-muted-foreground",children:function(e){if(!e.exists)return"Not created yet — no lessons consolidated";let t=[`${e.active} active`];return e.provisional>0&&t.push(`${e.provisional} provisional`),t.push(`${e.bytes}/${e.capBytes} B`),e.overCap&&t.push("over cap"),t.join(" · ")}(e)}),e.exists&&(0,t.jsx)("div",{className:"mt-1.5 h-1.5 w-full max-w-xs overflow-hidden rounded-full bg-muted",children:(0,t.jsx)("div",{className:(0,h.cn)("h-full rounded-full transition-all",v[o]),style:{width:`${d}%`}})})]}),(0,t.jsx)(c.Button,{type:"button",size:"sm",variant:s?"secondary":"outline",disabled:!e.exists,onClick:n,children:e.exists?s?"Close":"Edit":"Empty"})]}),s&&e.exists&&(0,t.jsx)("div",{className:"pt-3",children:(0,t.jsx)(w,{path:e.path})})]})}function w({path:e}){let s=(0,l.useContextFile)(e);return s.isLoading?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading…"}):s.error||!s.data?(0,t.jsxs)("p",{className:"text-sm text-destructive",children:["Failed to load ",e,":"," ",s.error?.message??"unknown error"]}):(0,t.jsx)(k,{path:e,initial:s.data,editable:!1!==s.data.editable},e)}function k({path:e,initial:a,editable:i}){let[r,o]=(0,s.useState)(a.content),[d,u]=(0,s.useState)({content:a.content,mtime:a.lastModified}),[x,m]=(0,s.useState)(null),[p,g]=(0,s.useState)(null),[b,y]=(0,s.useState)(null),v=(0,l.useUpdateContextFile)(),j=r!==d.content;(0,s.useEffect)(()=>{if(!j)return;let e=e=>{e.preventDefault(),e.returnValue=""};return window.addEventListener("beforeunload",e),()=>window.removeEventListener("beforeunload",e)},[j]);let w=async t=>{g(null);try{let s=await v.mutateAsync({path:e,content:r,expectedMtime:t});u({content:r,mtime:s.lastModified}),y(null),m("Saved."),window.setTimeout(()=>m(null),2500)}catch(e){e instanceof l.ContextConflictError?y({mtime:e.conflict.currentMtime,content:e.conflict.currentContent}):(n.ApiError,g(e.message))}},N=()=>w(d.mtime);return(0,t.jsxs)("div",{className:"flex flex-col gap-2 rounded-md border border-border bg-muted/20 p-3",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:["Last modified: ",(0,h.formatAbsoluteTime)(d.mtime)]}),(0,t.jsx)(c.Button,{type:"button",size:"sm",onClick:N,disabled:!j||!i||v.isPending||null!==b,children:v.isPending?"Saving…":"Save"})]}),b&&(0,t.jsx)(f.FileConflictBanner,{onReload:()=>{b&&(o(b.content),u({content:b.content,mtime:b.mtime}),y(null),g(null))},onOverwrite:()=>{b&&w(b.mtime)},isPending:v.isPending}),(0,t.jsx)("textarea",{value:r,onChange:e=>o(e.target.value),onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&"s"===e.key.toLowerCase()&&(e.preventDefault(),j&&i&&!v.isPending&&N())},disabled:!i,spellCheck:!1,className:"min-h-[320px] w-full resize-y rounded-md border border-border bg-background p-3 font-mono text-xs leading-relaxed focus:outline-none focus:ring-2 focus:ring-ring"}),(0,t.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:["Edits go through the same context write path the nightly consolidation uses. Keep the ",(0,t.jsx)("code",{children:"## Lessons"})," bullets and their"," ",(0,t.jsx)("code",{children:"<!-- ev=… -->"})," trailers intact so the consolidator can keep merging them."]}),x&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:x}),p&&(0,t.jsx)("p",{className:"text-xs text-destructive",children:p})]})}e.s(["default",0,function(){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.PageHeader,{title:"Lessons",badge:(0,t.jsx)(d.Badge,{variant:"amber",children:"Preview"}),description:(0,t.jsx)(t.Fragment,{children:"The agent calibrates its own behaviour from your feedback: when you correct it, state a preference, or its weekly self-critique flags a pattern, the signal is captured, consolidated each night into a scoped “lesson”, and injected back into exactly the agents that can act on it. Global lessons steer notification discipline and operating style; a per-agent lesson is injected only into that one Agent's runs. Tune how aggressively lessons form and review or hand-edit the stores below."})}),(0,t.jsx)(b,{}),(0,t.jsx)(y,{})]})}],28309)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,44791,66665,45764,49578,2126,e=>{"use strict";var a=e.i(54710),i=e.i(34416),t=e.i(95486),s=e.i(88423),n=e.i(75187),l=e.i(65268);function r(e,a,s=2e3){let n=(0,t.useQueryClient)(),o=(0,i.useRef)(null),d=(0,i.useRef)(a),[c,m]=(0,i.useState)(null),[u,p]=(0,i.useState)(!1);(0,i.useEffect)(()=>{d.current=a});let h=(0,i.useCallback)(()=>{o.current&&(clearInterval(o.current),o.current=null),p(!1)},[]),g=(0,i.useCallback)(()=>{o.current||(p(!0),o.current=setInterval(async()=>{try{let a=await l.api.get(e);m(a),d.current(a)&&(o.current&&(clearInterval(o.current),o.current=null),p(!1),await n.invalidateQueries({queryKey:["config"]}),await n.invalidateQueries({queryKey:["health"]}))}catch{}},s))},[e,s,n]),x=(0,i.useCallback)(()=>{h(),m(null)},[h]);return(0,i.useEffect)(()=>()=>{o.current&&(clearInterval(o.current),o.current=null)},[]),{status:c,active:u,start:g,stop:h,reset:x}}var o=e.i(20014),d=e.i(8652),c=e.i(79634),m=e.i(81471);let u={none:"",sm:"space-y-2",md:"space-y-3"};function p({className:e,heading:i,spacing:t="none",children:s,...n}){return(0,a.jsxs)("div",{className:(0,m.cn)("rounded-lg border border-dashed border-input bg-background/50 p-3",u[t],e),...n,children:[null!=i&&(0,a.jsx)("p",{className:"text-xs font-medium",children:i}),s]})}var h=e.i(73550),g=e.i(20870);e.s(["SlackCard",0,function(){let{data:e}=(0,s.useConfig)(),{data:m}=(0,n.useHealth)(),u=(0,t.useQueryClient)(),x=m?.messaging?.slack,[f,v]=(0,i.useState)(""),[y,j]=(0,i.useState)(""),[w,S]=(0,i.useState)(!1),[C,b]=(0,i.useState)(null),[k,N]=(0,i.useState)(null),[A,B]=(0,i.useState)(null),[M,E]=(0,i.useState)(null),[T,R]=(0,i.useState)(null),[P,D]=(0,i.useState)(null),U=r("/messaging/slack/pairing-status",e=>e.paired||!e.pairingActive);if(U.status?.paired&&P&&D(null),U.status&&!U.status.pairingActive&&P&&D(null),!e||!m)return null;let G=async()=>{S(!0),b(null),N(null);try{await l.api.put("/secrets/slack",{...f?{botToken:f}:{},...y?{appToken:y}:{}}),await u.invalidateQueries({queryKey:["config"]}),await u.invalidateQueries({queryKey:["health"]}),N("Updated."),v(""),j("")}catch(e){b(e instanceof Error?e.message:"Failed to save")}finally{S(!1)}},I=async()=>{R("test"),b(null);try{let e=f||void 0,a=await l.api.post("/messaging/slack/test-token",e?{token:e}:void 0);E(a),N(`Token OK — bot: ${a.botName??"(unknown)"}${a.team?` @ ${a.team}`:""}`)}catch(e){b(e instanceof Error?e.message:"Token test failed")}finally{R(null)}},K=async()=>{R("pair"),b(null);try{let e=await l.api.post("/messaging/slack/start-pairing");D(e),U.start()}catch(e){b(e instanceof Error?e.message:"Failed to start pairing")}finally{R(null)}},L=async()=>{U.reset(),D(null);try{await l.api.post("/messaging/slack/cancel-pairing")}catch{}};return(0,a.jsx)(g.ConnectionCard,{name:"Slack",icon:(0,a.jsx)(h.Hash,{className:"h-4 w-4"}),status:(0,g.deriveMessagingStatus)(x),error:x?.error,metadata:(0,g.messagingMetadata)(x),children:(0,a.jsxs)("div",{className:"space-y-4 mt-2",children:[C&&(0,a.jsx)(c.Alert,{variant:"error",children:C}),k&&(0,a.jsx)(c.Alert,{variant:"success",children:k}),(0,a.jsxs)(p,{heading:"Step 1 — Create the Slack app",children:[(0,a.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"We'll pre-fill the manifest with the right scopes and Socket Mode enabled."}),(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[(0,a.jsx)(o.Button,{size:"sm",variant:"outline",disabled:"manifest"===T,onClick:async()=>{R("manifest"),b(null);try{let e=await l.api.get("/messaging/slack/manifest");B(e),window.open(e.createAppUrl,"_blank","noopener")}catch(e){b(e instanceof Error?e.message:"Failed to load manifest")}finally{R(null)}},children:"manifest"===T?"Loading...":"Open Slack app builder"}),A&&(0,a.jsx)(o.Button,{size:"sm",variant:"ghost",onClick:()=>{navigator.clipboard?.writeText(A.manifestJson),N("Manifest copied.")},children:"Copy manifest JSON"})]}),A&&(0,a.jsx)("ol",{className:"mt-3 list-inside list-decimal space-y-1 text-xs text-muted-foreground",children:A.instructions.map(e=>(0,a.jsx)("li",{children:e.replace(/^\d+\.\s*/,"")},e))})]}),(0,a.jsxs)(p,{heading:"Step 2 — Paste tokens",spacing:"md",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("label",{className:"text-xs text-muted-foreground",children:"Bot token"}),(0,a.jsx)(d.Input,{type:"password",value:f,placeholder:e.slackConfigured?"Configured. Enter a new token to replace it.":"xoxb-...",onChange:e=>v(e.target.value)})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("label",{className:"text-xs text-muted-foreground",children:"App token"}),(0,a.jsx)(d.Input,{type:"password",value:y,placeholder:e.slackConfigured?"Configured. Enter a new token to replace it.":"xapp-...",onChange:e=>j(e.target.value)})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)(o.Button,{size:"sm",variant:"outline",disabled:w,onClick:G,children:w?"Saving...":"Save"}),(0,a.jsx)(o.Button,{size:"sm",variant:"outline",disabled:"test"===T,onClick:I,children:"test"===T?"Testing...":"Test token"})]}),M&&(0,a.jsxs)("p",{className:"text-xs text-success",children:["✓ Bot: ",(0,a.jsx)("code",{className:"font-mono",children:M.botName}),M.team&&(0,a.jsxs)(a.Fragment,{children:[" · workspace: ",(0,a.jsx)("code",{className:"font-mono",children:M.team})]}),M.botUserId&&(0,a.jsxs)(a.Fragment,{children:[" · id: ",(0,a.jsx)("code",{className:"font-mono",children:M.botUserId})]})]})]}),(0,a.jsxs)(p,{heading:"Step 3 — Pair with magic phrase",spacing:"sm",children:[(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Click below to generate a one-time phrase. Send your bot a DM in Slack containing that exact phrase — only that DM will capture your user ID."}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)(o.Button,{size:"sm",variant:"outline",disabled:!e.slackConfigured||"pair"===T,title:e.slackConfigured?void 0:"Save your tokens first",onClick:K,children:"pair"===T?"Generating...":"Generate pairing phrase"}),U.active&&(0,a.jsx)(o.Button,{size:"sm",variant:"ghost",onClick:L,children:"Cancel"})]}),P&&(0,a.jsxs)("div",{className:"rounded-md bg-muted p-3 text-center",children:[(0,a.jsx)("p",{className:"text-xs text-muted-foreground mb-1",children:"Send this phrase to your bot in Slack:"}),(0,a.jsx)("code",{className:"font-mono text-base font-semibold tracking-wide",children:P.phrase}),(0,a.jsxs)("p",{className:"mt-2 text-[11px] text-muted-foreground",children:["Expires ",new Date(P.expiresAt).toLocaleTimeString()," · punctuation and case are ignored."]})]}),U.status&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:U.status.paired?(0,a.jsxs)(a.Fragment,{children:["✓ Owner paired: ",(0,a.jsx)("code",{className:"font-mono",children:U.status.ownerUserId})]}):U.active?"Waiting for the phrase...":null})]})]})})}],44791);var x=e.i(77379);let f=(0,x.default)("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);e.s(["TelegramCard",0,function(){let{data:e}=(0,s.useConfig)(),{data:m}=(0,n.useHealth)(),u=(0,t.useQueryClient)(),h=m?.messaging?.telegram,[x,v]=(0,i.useState)(""),[y,j]=(0,i.useState)(!1),[w,S]=(0,i.useState)(null),[C,b]=(0,i.useState)(null),[k,N]=(0,i.useState)(null),[A,B]=(0,i.useState)(null),[M,E]=(0,i.useState)(null),T=r("/messaging/telegram/pairing-status",e=>e.paired);if(!e||!m)return null;let R=async()=>{j(!0),S(null),b(null);try{await l.api.put("/secrets/telegram",{...x?{botToken:x}:{}}),await u.invalidateQueries({queryKey:["config"]}),await u.invalidateQueries({queryKey:["health"]}),b("Updated."),v("")}catch(e){S(e instanceof Error?e.message:"Failed to save")}finally{j(!1)}},P=async()=>{B("test"),S(null);try{let e=x||void 0,a=await l.api.post("/messaging/telegram/test-token",e?{token:e}:void 0);N(a),b(`Token OK — bot: ${a.firstName??a.username??a.id}`)}catch(e){S(e instanceof Error?e.message:"Token test failed")}finally{B(null)}},D=async()=>{B("pair"),S(null);try{let e=await l.api.post("/messaging/telegram/start-pairing");E(e),T.start()}catch(e){S(e instanceof Error?e.message:"Failed to start pairing")}finally{B(null)}},U=async()=>{T.reset(),E(null);try{await l.api.post("/messaging/telegram/cancel-pairing")}catch{}};return(0,a.jsx)(g.ConnectionCard,{name:"Telegram",icon:(0,a.jsx)(f,{className:"h-4 w-4"}),status:(0,g.deriveMessagingStatus)(h),error:h?.error,metadata:(0,g.messagingMetadata)(h),children:(0,a.jsxs)("div",{className:"space-y-4 mt-2",children:[w&&(0,a.jsx)(c.Alert,{variant:"error",children:w}),C&&(0,a.jsx)(c.Alert,{variant:"success",children:C}),(0,a.jsx)(p,{heading:"Step 1 — Create the bot",spacing:"sm",children:(0,a.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Open ",(0,a.jsx)("a",{className:"underline",href:"https://t.me/botfather",target:"_blank",rel:"noopener noreferrer",children:"@BotFather"}),", send ",(0,a.jsx)("code",{className:"font-mono",children:"/newbot"}),", give it a name and username, then copy the token."]})}),(0,a.jsxs)(p,{heading:"Step 2 — Paste token",spacing:"md",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("label",{className:"text-xs text-muted-foreground",children:"Bot token"}),(0,a.jsx)(d.Input,{type:"password",value:x,placeholder:e.telegramConfigured?"Configured. Enter a new token to replace it.":"123456:ABC-DEF…",onChange:e=>v(e.target.value)})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)(o.Button,{size:"sm",variant:"outline",disabled:y,onClick:R,children:y?"Saving...":"Save"}),(0,a.jsx)(o.Button,{size:"sm",variant:"outline",disabled:"test"===A,onClick:P,children:"test"===A?"Testing...":"Test token"})]}),k&&(0,a.jsxs)("p",{className:"text-xs text-success",children:["✓ Bot: ",(0,a.jsxs)("code",{className:"font-mono",children:["@",k.username??k.id]})]})]}),(0,a.jsxs)(p,{heading:"Step 3 — Pair with QR",spacing:"sm",children:[(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Generate a QR code that opens your bot in Telegram and sends a one-shot pairing token."}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)(o.Button,{size:"sm",variant:"outline",disabled:!e.telegramConfigured||"pair"===A,title:e.telegramConfigured?void 0:"Save your token first",onClick:D,children:"pair"===A?"Generating...":"Pair with QR"}),M&&(0,a.jsx)(o.Button,{size:"sm",variant:"ghost",onClick:U,children:"Cancel"})]}),M&&(0,a.jsxs)("div",{className:"flex flex-col items-center gap-2 rounded-lg bg-muted p-4",children:[(0,a.jsx)("img",{src:M.qrDataUrl,alt:"Telegram pairing QR",width:320,height:320,className:"rounded bg-white p-2"}),(0,a.jsxs)("p",{className:"text-xs text-muted-foreground text-center",children:["Scan with your phone — Telegram will open ",(0,a.jsxs)("code",{className:"font-mono",children:["@",M.botUsername]})," and send the pairing token automatically."]}),(0,a.jsx)("a",{className:"text-xs underline",href:M.deepLink,target:"_blank",rel:"noopener noreferrer",children:"Or open the link directly"})]}),T.status?.paired&&(0,a.jsxs)("p",{className:"text-xs text-success",children:["✓ Paired with chat ID ",(0,a.jsx)("code",{className:"font-mono",children:T.status.ownerChatId})]})]})]})})}],66665);let v=(0,x.default)("Gamepad2",[["line",{x1:"6",x2:"10",y1:"11",y2:"11",key:"1gktln"}],["line",{x1:"8",x2:"8",y1:"9",y2:"13",key:"qnk9ow"}],["line",{x1:"15",x2:"15.01",y1:"12",y2:"12",key:"krot7o"}],["line",{x1:"18",x2:"18.01",y1:"10",y2:"10",key:"1lcuu1"}],["path",{d:"M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z",key:"mfqc10"}]]);e.s(["DiscordCard",0,function(){let{data:e}=(0,s.useConfig)(),{data:m}=(0,n.useHealth)(),u=(0,t.useQueryClient)(),h=m?.messaging?.discord,[x,f]=(0,i.useState)(""),[y,j]=(0,i.useState)(!1),[w,S]=(0,i.useState)(null),[C,b]=(0,i.useState)(null),[k,N]=(0,i.useState)(null),[A,B]=(0,i.useState)(null),[M,E]=(0,i.useState)(null),T=r("/messaging/discord/pairing-status",e=>e.paired||!e.pairingActive);if(T.status?.paired&&M&&E(null),T.status&&!T.status.pairingActive&&M&&E(null),!e||!m)return null;let R=async()=>{j(!0),S(null),b(null);try{await l.api.put("/secrets/discord",{...x?{botToken:x}:{}}),await u.invalidateQueries({queryKey:["config"]}),await u.invalidateQueries({queryKey:["health"]}),b("Updated."),f("")}catch(e){S(e instanceof Error?e.message:"Failed to save")}finally{j(!1)}},P=async()=>{B("test"),S(null);try{let e=x||void 0,a=await l.api.post("/messaging/discord/test-token",e?{token:e}:void 0);N(a),b(`Token OK — bot: ${a.username}`)}catch(e){S(e instanceof Error?e.message:"Token test failed")}finally{B(null)}},D=async()=>{B("pair"),S(null);try{let e=await l.api.post("/messaging/discord/start-pairing");E(e),T.start()}catch(e){S(e instanceof Error?e.message:"Failed to start pairing")}finally{B(null)}},U=async()=>{T.reset(),E(null);try{await l.api.post("/messaging/discord/cancel-pairing")}catch{}};return(0,a.jsx)(g.ConnectionCard,{name:"Discord",icon:(0,a.jsx)(v,{className:"h-4 w-4"}),status:(0,g.deriveMessagingStatus)(h),error:h?.error,metadata:(0,g.messagingMetadata)(h),children:(0,a.jsxs)("div",{className:"space-y-4 mt-2",children:[w&&(0,a.jsx)(c.Alert,{variant:"error",children:w}),C&&(0,a.jsx)(c.Alert,{variant:"success",children:C}),(0,a.jsx)(p,{heading:"Step 1 — Create the bot",spacing:"sm",children:(0,a.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Open the ",(0,a.jsx)("a",{className:"underline",href:"https://discord.com/developers/applications",target:"_blank",rel:"noopener noreferrer",children:"Discord Developer Portal"}),', create an application, add a Bot, enable "Message Content Intent", and copy the token.']})}),(0,a.jsxs)(p,{heading:"Step 2 — Paste token",spacing:"md",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("label",{className:"text-xs text-muted-foreground",children:"Bot token"}),(0,a.jsx)(d.Input,{type:"password",value:x,placeholder:e.discordConfigured?"Configured. Enter a new token to replace it.":"Discord bot token",onChange:e=>f(e.target.value)})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)(o.Button,{size:"sm",variant:"outline",disabled:y,onClick:R,children:y?"Saving...":"Save"}),(0,a.jsx)(o.Button,{size:"sm",variant:"outline",disabled:"test"===A,onClick:P,children:"test"===A?"Testing...":"Test token"})]}),k&&(0,a.jsxs)("p",{className:"text-xs text-success flex items-center gap-2",children:["✓ Bot: ",(0,a.jsx)("code",{className:"font-mono",children:k.username}),k.avatarUrl&&(0,a.jsx)("img",{src:k.avatarUrl,alt:"",width:16,height:16,className:"rounded-full"})]})]}),(0,a.jsxs)(p,{heading:"Step 3 — Pair with magic phrase",spacing:"sm",children:[(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Add the bot to a server, then click below to generate a one-time phrase. DM the bot with that phrase — only that DM captures your user ID."}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)(o.Button,{size:"sm",variant:"outline",disabled:!e.discordConfigured||"pair"===A,title:e.discordConfigured?void 0:"Save your token first",onClick:D,children:"pair"===A?"Generating...":"Generate pairing phrase"}),T.active&&(0,a.jsx)(o.Button,{size:"sm",variant:"ghost",onClick:U,children:"Cancel"})]}),M&&(0,a.jsxs)("div",{className:"rounded-md bg-muted p-3 text-center",children:[(0,a.jsx)("p",{className:"text-xs text-muted-foreground mb-1",children:"Send this phrase to your bot in Discord:"}),(0,a.jsx)("code",{className:"font-mono text-base font-semibold tracking-wide",children:M.phrase}),(0,a.jsxs)("p",{className:"mt-2 text-[11px] text-muted-foreground",children:["Expires ",new Date(M.expiresAt).toLocaleTimeString()," · punctuation and case are ignored."]})]}),T.status&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:T.status.paired?(0,a.jsxs)(a.Fragment,{children:["✓ Owner paired: ",(0,a.jsx)("code",{className:"font-mono",children:T.status.ownerUserId})]}):T.active?"Waiting for the phrase...":null})]})]})})}],45764);var y=e.i(58436),j=e.i(57628),w=e.i(10427);let S=[{iso2:"AF",name:"Afghanistan",dial:"93"},{iso2:"AL",name:"Albania",dial:"355"},{iso2:"DZ",name:"Algeria",dial:"213"},{iso2:"AD",name:"Andorra",dial:"376"},{iso2:"AO",name:"Angola",dial:"244"},{iso2:"AR",name:"Argentina",dial:"54"},{iso2:"AM",name:"Armenia",dial:"374"},{iso2:"AU",name:"Australia",dial:"61"},{iso2:"AT",name:"Austria",dial:"43"},{iso2:"AZ",name:"Azerbaijan",dial:"994"},{iso2:"BS",name:"Bahamas",dial:"1242"},{iso2:"BH",name:"Bahrain",dial:"973"},{iso2:"BD",name:"Bangladesh",dial:"880"},{iso2:"BB",name:"Barbados",dial:"1246"},{iso2:"BY",name:"Belarus",dial:"375"},{iso2:"BE",name:"Belgium",dial:"32"},{iso2:"BZ",name:"Belize",dial:"501"},{iso2:"BJ",name:"Benin",dial:"229"},{iso2:"BT",name:"Bhutan",dial:"975"},{iso2:"BO",name:"Bolivia",dial:"591"},{iso2:"BA",name:"Bosnia and Herzegovina",dial:"387"},{iso2:"BW",name:"Botswana",dial:"267"},{iso2:"BR",name:"Brazil",dial:"55"},{iso2:"BN",name:"Brunei",dial:"673"},{iso2:"BG",name:"Bulgaria",dial:"359"},{iso2:"BF",name:"Burkina Faso",dial:"226"},{iso2:"BI",name:"Burundi",dial:"257"},{iso2:"KH",name:"Cambodia",dial:"855"},{iso2:"CM",name:"Cameroon",dial:"237"},{iso2:"CA",name:"Canada",dial:"1"},{iso2:"CV",name:"Cape Verde",dial:"238"},{iso2:"CF",name:"Central African Republic",dial:"236"},{iso2:"TD",name:"Chad",dial:"235"},{iso2:"CL",name:"Chile",dial:"56"},{iso2:"CN",name:"China",dial:"86"},{iso2:"CO",name:"Colombia",dial:"57"},{iso2:"KM",name:"Comoros",dial:"269"},{iso2:"CG",name:"Congo",dial:"242"},{iso2:"CD",name:"Congo (DRC)",dial:"243"},{iso2:"CR",name:"Costa Rica",dial:"506"},{iso2:"CI",name:"Côte d'Ivoire",dial:"225"},{iso2:"HR",name:"Croatia",dial:"385"},{iso2:"CU",name:"Cuba",dial:"53"},{iso2:"CY",name:"Cyprus",dial:"357"},{iso2:"CZ",name:"Czech Republic",dial:"420"},{iso2:"DK",name:"Denmark",dial:"45"},{iso2:"DJ",name:"Djibouti",dial:"253"},{iso2:"DM",name:"Dominica",dial:"1767"},{iso2:"DO",name:"Dominican Republic",dial:"1809"},{iso2:"EC",name:"Ecuador",dial:"593"},{iso2:"EG",name:"Egypt",dial:"20"},{iso2:"SV",name:"El Salvador",dial:"503"},{iso2:"GQ",name:"Equatorial Guinea",dial:"240"},{iso2:"ER",name:"Eritrea",dial:"291"},{iso2:"EE",name:"Estonia",dial:"372"},{iso2:"SZ",name:"Eswatini",dial:"268"},{iso2:"ET",name:"Ethiopia",dial:"251"},{iso2:"FJ",name:"Fiji",dial:"679"},{iso2:"FI",name:"Finland",dial:"358"},{iso2:"FR",name:"France",dial:"33"},{iso2:"GA",name:"Gabon",dial:"241"},{iso2:"GM",name:"Gambia",dial:"220"},{iso2:"GE",name:"Georgia",dial:"995"},{iso2:"DE",name:"Germany",dial:"49"},{iso2:"GH",name:"Ghana",dial:"233"},{iso2:"GR",name:"Greece",dial:"30"},{iso2:"GL",name:"Greenland",dial:"299"},{iso2:"GD",name:"Grenada",dial:"1473"},{iso2:"GT",name:"Guatemala",dial:"502"},{iso2:"GN",name:"Guinea",dial:"224"},{iso2:"GW",name:"Guinea-Bissau",dial:"245"},{iso2:"GY",name:"Guyana",dial:"592"},{iso2:"HT",name:"Haiti",dial:"509"},{iso2:"HN",name:"Honduras",dial:"504"},{iso2:"HK",name:"Hong Kong",dial:"852"},{iso2:"HU",name:"Hungary",dial:"36"},{iso2:"IS",name:"Iceland",dial:"354"},{iso2:"IN",name:"India",dial:"91"},{iso2:"ID",name:"Indonesia",dial:"62"},{iso2:"IR",name:"Iran",dial:"98"},{iso2:"IQ",name:"Iraq",dial:"964"},{iso2:"IE",name:"Ireland",dial:"353"},{iso2:"IL",name:"Israel",dial:"972"},{iso2:"IT",name:"Italy",dial:"39"},{iso2:"JM",name:"Jamaica",dial:"1876"},{iso2:"JP",name:"Japan",dial:"81"},{iso2:"JO",name:"Jordan",dial:"962"},{iso2:"KZ",name:"Kazakhstan",dial:"7"},{iso2:"KE",name:"Kenya",dial:"254"},{iso2:"KI",name:"Kiribati",dial:"686"},{iso2:"KW",name:"Kuwait",dial:"965"},{iso2:"KG",name:"Kyrgyzstan",dial:"996"},{iso2:"LA",name:"Laos",dial:"856"},{iso2:"LV",name:"Latvia",dial:"371"},{iso2:"LB",name:"Lebanon",dial:"961"},{iso2:"LS",name:"Lesotho",dial:"266"},{iso2:"LR",name:"Liberia",dial:"231"},{iso2:"LY",name:"Libya",dial:"218"},{iso2:"LI",name:"Liechtenstein",dial:"423"},{iso2:"LT",name:"Lithuania",dial:"370"},{iso2:"LU",name:"Luxembourg",dial:"352"},{iso2:"MO",name:"Macau",dial:"853"},{iso2:"MG",name:"Madagascar",dial:"261"},{iso2:"MW",name:"Malawi",dial:"265"},{iso2:"MY",name:"Malaysia",dial:"60"},{iso2:"MV",name:"Maldives",dial:"960"},{iso2:"ML",name:"Mali",dial:"223"},{iso2:"MT",name:"Malta",dial:"356"},{iso2:"MR",name:"Mauritania",dial:"222"},{iso2:"MU",name:"Mauritius",dial:"230"},{iso2:"MX",name:"Mexico",dial:"52"},{iso2:"FM",name:"Micronesia",dial:"691"},{iso2:"MD",name:"Moldova",dial:"373"},{iso2:"MC",name:"Monaco",dial:"377"},{iso2:"MN",name:"Mongolia",dial:"976"},{iso2:"ME",name:"Montenegro",dial:"382"},{iso2:"MA",name:"Morocco",dial:"212"},{iso2:"MZ",name:"Mozambique",dial:"258"},{iso2:"MM",name:"Myanmar",dial:"95"},{iso2:"NA",name:"Namibia",dial:"264"},{iso2:"NR",name:"Nauru",dial:"674"},{iso2:"NP",name:"Nepal",dial:"977"},{iso2:"NL",name:"Netherlands",dial:"31"},{iso2:"NZ",name:"New Zealand",dial:"64"},{iso2:"NI",name:"Nicaragua",dial:"505"},{iso2:"NE",name:"Niger",dial:"227"},{iso2:"NG",name:"Nigeria",dial:"234"},{iso2:"KP",name:"North Korea",dial:"850"},{iso2:"MK",name:"North Macedonia",dial:"389"},{iso2:"NO",name:"Norway",dial:"47"},{iso2:"OM",name:"Oman",dial:"968"},{iso2:"PK",name:"Pakistan",dial:"92"},{iso2:"PW",name:"Palau",dial:"680"},{iso2:"PS",name:"Palestine",dial:"970"},{iso2:"PA",name:"Panama",dial:"507"},{iso2:"PG",name:"Papua New Guinea",dial:"675"},{iso2:"PY",name:"Paraguay",dial:"595"},{iso2:"PE",name:"Peru",dial:"51"},{iso2:"PH",name:"Philippines",dial:"63"},{iso2:"PL",name:"Poland",dial:"48"},{iso2:"PT",name:"Portugal",dial:"351"},{iso2:"PR",name:"Puerto Rico",dial:"1787"},{iso2:"QA",name:"Qatar",dial:"974"},{iso2:"RO",name:"Romania",dial:"40"},{iso2:"RU",name:"Russia",dial:"7"},{iso2:"RW",name:"Rwanda",dial:"250"},{iso2:"WS",name:"Samoa",dial:"685"},{iso2:"SM",name:"San Marino",dial:"378"},{iso2:"ST",name:"São Tomé and Príncipe",dial:"239"},{iso2:"SA",name:"Saudi Arabia",dial:"966"},{iso2:"SN",name:"Senegal",dial:"221"},{iso2:"RS",name:"Serbia",dial:"381"},{iso2:"SC",name:"Seychelles",dial:"248"},{iso2:"SL",name:"Sierra Leone",dial:"232"},{iso2:"SG",name:"Singapore",dial:"65"},{iso2:"SK",name:"Slovakia",dial:"421"},{iso2:"SI",name:"Slovenia",dial:"386"},{iso2:"SB",name:"Solomon Islands",dial:"677"},{iso2:"SO",name:"Somalia",dial:"252"},{iso2:"ZA",name:"South Africa",dial:"27"},{iso2:"KR",name:"South Korea",dial:"82"},{iso2:"SS",name:"South Sudan",dial:"211"},{iso2:"ES",name:"Spain",dial:"34"},{iso2:"LK",name:"Sri Lanka",dial:"94"},{iso2:"SD",name:"Sudan",dial:"249"},{iso2:"SR",name:"Suriname",dial:"597"},{iso2:"SE",name:"Sweden",dial:"46"},{iso2:"CH",name:"Switzerland",dial:"41"},{iso2:"SY",name:"Syria",dial:"963"},{iso2:"TW",name:"Taiwan",dial:"886"},{iso2:"TJ",name:"Tajikistan",dial:"992"},{iso2:"TZ",name:"Tanzania",dial:"255"},{iso2:"TH",name:"Thailand",dial:"66"},{iso2:"TL",name:"Timor-Leste",dial:"670"},{iso2:"TG",name:"Togo",dial:"228"},{iso2:"TO",name:"Tonga",dial:"676"},{iso2:"TT",name:"Trinidad and Tobago",dial:"1868"},{iso2:"TN",name:"Tunisia",dial:"216"},{iso2:"TR",name:"Turkey",dial:"90"},{iso2:"TM",name:"Turkmenistan",dial:"993"},{iso2:"TV",name:"Tuvalu",dial:"688"},{iso2:"UG",name:"Uganda",dial:"256"},{iso2:"UA",name:"Ukraine",dial:"380"},{iso2:"AE",name:"United Arab Emirates",dial:"971"},{iso2:"GB",name:"United Kingdom",dial:"44"},{iso2:"US",name:"United States",dial:"1"},{iso2:"UY",name:"Uruguay",dial:"598"},{iso2:"UZ",name:"Uzbekistan",dial:"998"},{iso2:"VU",name:"Vanuatu",dial:"678"},{iso2:"VA",name:"Vatican City",dial:"379"},{iso2:"VE",name:"Venezuela",dial:"58"},{iso2:"VN",name:"Vietnam",dial:"84"},{iso2:"YE",name:"Yemen",dial:"967"},{iso2:"ZM",name:"Zambia",dial:"260"},{iso2:"ZW",name:"Zimbabwe",dial:"263"}].map(e=>{var a;return{...e,flag:2!==(a=e.iso2).length?"🏳":String.fromCodePoint(...a.toUpperCase().split("").map(e=>127462+(e.charCodeAt(0)-65)))}}).sort((e,a)=>e.name.localeCompare(a.name)),C=new Map(S.map(e=>[e.iso2,e]));function b(e){return C.get(e.toUpperCase())}let k={1:"US",7:"RU"},N=[...S].sort((e,a)=>{if(a.dial.length!==e.dial.length)return a.dial.length-e.dial.length;let i=k[e.dial];if(i){if(e.iso2===i&&a.iso2!==i)return -1;if(a.iso2===i&&e.iso2!==i)return 1}return e.name.localeCompare(a.name)});function A(e){if(!e)return null;let a=e.replace(/^\+/,"").replace(/\D/g,"");for(let e of N)if(a.startsWith(e.dial))return e;return null}function B(e,a){let i=e.replace(/^\+/,"").replace(/\D/g,"");return i.startsWith(a.dial)?i.slice(a.dial.length):i}function M(e,a){let i=a.replace(/\D/g,"");return`+${e.dial}${i}`}function E({value:e,onChange:t,placeholder:s="Subscriber number",defaultCountryIso2:n="US",disabled:l,id:r}){let o=(0,i.useMemo)(()=>A(e)??b(n)??S[0],[e,n]),[c,m]=(0,i.useState)(o);(0,i.useEffect)(()=>{let a=A(e);a&&a.iso2!==c.iso2&&m(a)},[e]);let u=B(e,c);return(0,a.jsxs)("div",{className:"flex items-stretch gap-2",children:[(0,a.jsxs)(w.Select,{value:c.iso2,onValueChange:e=>{let a=b(e);a&&(m(a),t(M(a,u)))},disabled:l,children:[(0,a.jsx)(w.SelectTrigger,{className:"w-[140px] flex-shrink-0","aria-label":"Country code",children:(0,a.jsx)(w.SelectValue,{children:(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-base leading-none",children:c.flag}),(0,a.jsxs)("span",{className:"text-xs text-muted-foreground",children:["+",c.dial]})]})})}),(0,a.jsx)(w.SelectContent,{className:"max-h-[320px]",children:S.map(e=>(0,a.jsx)(w.SelectItem,{value:e.iso2,children:(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-base leading-none",children:e.flag}),(0,a.jsx)("span",{className:"text-sm",children:e.name}),(0,a.jsxs)("span",{className:"text-xs text-muted-foreground",children:["+",e.dial]})]})},e.iso2))})]}),(0,a.jsx)(d.Input,{id:r,type:"tel",inputMode:"tel",placeholder:s,value:u,onChange:e=>(e=>{if(e.startsWith("+")){let a=A(e);if(a){m(a),t(M(a,B(e,a)));return}}t(M(c,e))})(e.target.value),disabled:l,className:"flex-1"})]})}let T=(0,x.default)("Phone",[["path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",key:"foiqr5"}]]);e.s(["WhatsAppCard",0,function(){let{data:e}=(0,s.useConfig)(),{data:d}=(0,n.useHealth)(),m=(0,t.useQueryClient)(),u=d?.messaging?.whatsapp,[p,h]=(0,i.useState)(""),[x,f]=(0,i.useState)(""),[v,w]=(0,i.useState)(null),[S,C]=(0,i.useState)(null),[b,k]=(0,i.useState)(null),N=r("/messaging/whatsapp/qr",e=>"ok"===e.state||"logged_out"===e.state,3e3);if(!e||!d)return null;let A=async e=>{C(null),k(null);let a=await l.api.patch("/config",e);await m.invalidateQueries({queryKey:["config"]}),await m.invalidateQueries({queryKey:["health"]}),a.requiresRestart.length>0?k(`Updated. Restart daemon for: ${a.requiresRestart.join(", ")}`):k("Updated.")},B=async()=>{w("toggle"),C(null),k(null);try{let a=e.whatsappEnabled,i=await l.api.patch("/config",{whatsappEnabled:!a,...p?{whatsappOwnerPhone:p}:{},...x?{whatsappAuthDir:x}:{}});if(a)N.reset();else try{let e=await l.api.post("/messaging/whatsapp/pair");"ok"!==e.state&&N.start()}catch(e){C(e instanceof Error?e.message:"Failed to start pairing")}await m.invalidateQueries({queryKey:["config"]}),await m.invalidateQueries({queryKey:["health"]}),i.requiresRestart.length>0?k(`Updated. Restart daemon for: ${i.requiresRestart.join(", ")}`):k("Updated.")}catch(e){C(e instanceof Error?e.message:"Failed to toggle WhatsApp")}finally{w(null)}},M=async()=>{w("config");try{await A({...p?{whatsappOwnerPhone:p}:{},...x?{whatsappAuthDir:x}:{}})}catch(e){C(e instanceof Error?e.message:"Failed to save")}finally{w(null)}},R=async()=>{C(null);try{let e=await l.api.post("/messaging/whatsapp/pair");"ok"!==e.state&&N.start(),await m.invalidateQueries({queryKey:["health"]})}catch(e){C(e instanceof Error?e.message:"Failed to request pairing")}},P=async()=>{try{await l.api.get("/messaging/whatsapp/qr"),N.start()}catch(e){C(e instanceof Error?e.message:"Failed to fetch QR")}},D=async()=>{if(window.confirm("Reset WhatsApp connection?\n\nThis wipes the cached pairing data so you can scan a fresh QR from scratch. Use this if WhatsApp says the device is unlinked or pairing keeps failing.")){w("reset"),C(null),k(null);try{let e=await l.api.post("/messaging/whatsapp/reset");await m.invalidateQueries({queryKey:["health"]}),"ok"===e.state?(k("Reset complete. WhatsApp reconnected."),N.reset()):"not_initialized"===e.state?(k("Reset complete. Enable WhatsApp to start a fresh pairing flow."),N.reset()):(k("Reset complete. Scan the new QR to pair the device."),N.start())}catch(e){C(e instanceof Error?e.message:"Failed to reset WhatsApp")}finally{w(null)}}},U=N.status;return(0,a.jsx)(g.ConnectionCard,{name:"WhatsApp",icon:(0,a.jsx)(T,{className:"h-4 w-4"}),status:(0,g.deriveMessagingStatus)(u),error:u?.error,metadata:(0,g.messagingMetadata)(u),children:(0,a.jsxs)("div",{className:"space-y-4 mt-2",children:[S&&(0,a.jsx)(c.Alert,{variant:"error",children:S}),b&&(0,a.jsx)(c.Alert,{variant:"warning",children:b}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(o.Button,{size:"sm",variant:e.whatsappEnabled?"default":"outline",disabled:"toggle"===v||!e.whatsappEnabled&&!e.whatsappOwnerPhoneConfigured&&!p,onClick:B,children:e.whatsappEnabled?"Disable WhatsApp":"Enable WhatsApp"}),(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:e.whatsappEnabled?"Adapter hot-reloads on save — no daemon restart needed.":"Set the owner phone first, then click Enable to start pairing."})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("label",{className:"text-xs text-muted-foreground",htmlFor:"whatsapp-owner-phone",children:"Owner phone"}),(0,a.jsx)(E,{id:"whatsapp-owner-phone",value:p,onChange:h,placeholder:e.whatsappOwnerPhoneConfigured?"Configured — type to replace":"Subscriber number",defaultCountryIso2:"US"})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("label",{className:"text-xs text-muted-foreground",children:"Auth dir"}),(0,a.jsx)(y.DirectoryPickerField,{value:x,onChange:f,title:"Choose WhatsApp auth directory",placeholder:e.whatsappAuthDir||"~/.personal-agent/whatsapp/auth",defaultPath:e.whatsappAuthDir||void 0})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)(o.Button,{size:"sm",variant:"outline",disabled:"config"===v,onClick:M,children:"config"===v?"Saving...":"Save Config"}),(0,a.jsx)(o.Button,{size:"sm",variant:"outline",disabled:!e.whatsappEnabled||N.active,title:e.whatsappEnabled?void 0:"Enable WhatsApp first",onClick:R,children:N.active?"Pairing...":"Pair device"}),(0,a.jsx)(o.Button,{size:"sm",variant:"outline",disabled:!e.whatsappEnabled,onClick:P,children:"Refresh QR"}),(0,a.jsx)(o.Button,{size:"sm",variant:"destructive",disabled:"reset"===v,title:"Wipe cached pairing data and start over (use after unlinking from the phone)",onClick:D,children:"reset"===v?"Resetting...":"Reset connection"}),N.active&&(0,a.jsx)(o.Button,{size:"sm",variant:"ghost",onClick:()=>N.reset(),children:"Stop polling"})]}),U&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(j.Separator,{}),(0,a.jsxs)("div",{className:"space-y-3",children:[U.dataUrl?(0,a.jsxs)("div",{className:"flex flex-col items-center gap-2 rounded-lg bg-muted p-4",children:[(0,a.jsx)("img",{src:U.dataUrl,alt:"WhatsApp pairing QR",width:320,height:320,className:"rounded bg-white p-2"}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Open WhatsApp → Settings → Linked Devices → Link a device, and scan this code."})]}):(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"ok"===U.state?"WhatsApp is paired and connected.":"connecting"===U.state?"Connecting to WhatsApp...":"awaiting_qr"===U.state?"Generating QR code...":"logged_out"===U.state?"Session logged out — click Pair device to start over.":"Waiting for QR code..."}),U.error&&(0,a.jsx)(c.Alert,{variant:"error",children:U.error})]})]})]})})}],49578);var R=e.i(74490);e.s(["DestinationSelector",0,function(){let{data:e}=(0,s.useConfig)(),{data:r}=(0,n.useHealth)(),d=(0,t.useQueryClient)(),c=Object.entries(r?.messaging??{}).filter(([e,a])=>"dashboard"!==e&&a.configured&&a.ownerConfigured).map(([e])=>e),m=e?.defaultNotificationPlatforms??[],[u,p]=(0,i.useState)(m),[h,g]=(0,i.useState)(!1),[x,f]=(0,i.useState)(null),v=m.join(",");if((0,i.useEffect)(()=>{p(m)},[v]),!e||!r)return null;let y=u.length!==m.length||u.some(e=>!m.includes(e)),j=async()=>{g(!0),f(null);try{let e=await l.api.patch("/config",{defaultNotificationPlatforms:u});await Promise.all([d.invalidateQueries({queryKey:["config"]}),d.invalidateQueries({queryKey:["health"]})]),e.requiresRestart.length>0&&f(`Updated. Restart daemon for: ${e.requiresRestart.join(", ")}`)}finally{g(!1)}};return(0,a.jsxs)(R.Card,{children:[(0,a.jsx)(R.CardHeader,{children:(0,a.jsx)(R.CardTitle,{className:"text-base",children:"Default Reminder Destinations"})}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[c.map(e=>(0,a.jsx)(o.Button,{size:"sm",variant:u.includes(e)?"default":"outline",onClick:()=>{p(a=>a.includes(e)?a.filter(a=>a!==e):[...a,e])},className:"capitalize",disabled:h,children:e},e)),0===c.length&&(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:"No eligible messaging app is configured yet."})]}),(0,a.jsx)("p",{className:"max-w-prose text-xs text-muted-foreground",children:"Every selected destination receives the same reminder. Replies still go back to the app where the conversation happened, and you can override the destination for a single request without changing this default."}),x&&(0,a.jsx)("p",{className:"text-xs text-warning",children:x}),(0,a.jsx)(o.Button,{size:"sm",variant:"outline",disabled:!y||h,onClick:j,children:h?"Saving...":"Save Reminder Destinations"})]})]})}],2126)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,52387,e=>{"use strict";let t=(0,e.i(77379).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"}]]);e.s(["ExternalLink",0,t],52387)},13451,e=>{"use strict";var t=e.i(34416),a=e.i(95486),s=e.i(65268);e.s(["useSaveConfig",0,function(){let e=(0,a.useQueryClient)(),[n,i]=(0,t.useState)(null),r=(0,t.useCallback)((e,t)=>{i({type:e,message:t}),setTimeout(()=>i(null),4e3)},[]),l=(0,t.useCallback)((e,t)=>{let a=Object.values(e.errors??{});a.length>0?r("warning",a.join(" ")):e.requiresRestart?.length>0?r("warning",`Updated. Restart daemon for: ${e.requiresRestart.join(", ")}`):r("success",t)},[r]),o=(0,t.useCallback)(async(t,a)=>{try{let n=await s.api.patch("/config",{[t]:a});e.invalidateQueries({queryKey:["config"]}),l(n,"Setting updated")}catch(e){throw r("error",`Failed to save: ${e instanceof Error?e.message:"Unknown error"}`),e}},[e,l,r]),c=(0,t.useCallback)(async t=>{try{let a=await s.api.patch("/config",t);e.invalidateQueries({queryKey:["config"]}),l(a,"Settings updated")}catch(e){throw r("error",`Failed to save: ${e instanceof Error?e.message:"Unknown error"}`),e}},[e,l,r]);return{toast:n,showToast:r,saveField:o,saveMultipleFields:c,patchConfig:(0,t.useCallback)(async t=>{let a=await s.api.patch("/config",t);return e.invalidateQueries({queryKey:["config"]}),a},[e])}}])},36413,e=>{"use strict";var t=e.i(34416);let a=(0,t.createContext)(null);e.s(["DirtyFieldsProvider",0,function({children:e}){let[s,n]=(0,t.useState)(()=>new Map),[i,r]=(0,t.useState)(0),l=(0,t.useCallback)((e,t,a)=>{n(s=>{if(void 0!==a&&(t===a||Array.isArray(t)&&Array.isArray(a)&&t.length===a.length&&t.every((e,t)=>e===a[t]))){if(!s.has(e))return s;let t=new Map(s);return t.delete(e),t}let n=new Map(s);return n.set(e,t),n})},[]),o=(0,t.useCallback)(e=>{n(t=>{if(!t.has(e))return t;let a=new Map(t);return a.delete(e),a})},[]),c=(0,t.useCallback)(e=>{0!==e.length&&n(t=>{if(!e.some(e=>t.has(e)))return t;let a=new Map(t);for(let t of e)a.delete(t);return a})},[]),d=(0,t.useCallback)(()=>{n(new Map),r(e=>e+1)},[]),u=s.size>0,m=s.size,p=(0,t.useMemo)(()=>({dirtyFields:s,setDirty:l,clearDirty:o,clearDirtyKeys:c,discardAll:d,discardGeneration:i,isDirty:u,dirtyCount:m}),[s,l,o,c,d,i,u,m]);return(0,t.createElement)(a.Provider,{value:p},e)},"useDirtyFields",0,function(){let e=(0,t.useContext)(a);if(!e)throw Error("useDirtyFields must be used inside DirtyFieldsProvider");let{setDirty:s,dirtyFields:n}=e,i=(0,t.useCallback)(e=>async(t,a)=>{let n=e[t];s(t,a,n)},[s]),r=(0,t.useCallback)((e,t)=>n.has(e)?n.get(e):t,[n]);return{...e,deferSaveFor:i,dv:r}},"useDiscardGeneration",0,function(){let e=(0,t.useContext)(a);return e?.discardGeneration??0}])},28444,e=>{"use strict";e.s(["RESTART_REQUIRED_KEY_TUPLE",0,["apiPort","externalObsidianVaultName","externalObsidianVaultPath","externalObsidianWatch","primaryVaultPath","primaryVaultName","slackOwnerUserId","telegramOwnerChatId","discordOwnerUserId","whatsappEnabled","whatsappOwnerPhone","whatsappAuthDir","notionDatabaseIds","gmailPollIntervalSeconds","preventSleepMode","delegatedProbeIntervalMinutes","gitPollIntervalSeconds","githubPollIntervalSeconds","voiceTranscriptionEnabled","observationSummarizerEnabled","observationSummarizerConcurrency","observationSummarizerMaxCallsPerMinute","observationSummarizerQueueLimit","observationSummarizerTimeoutMs"]])},74490,e=>{"use strict";var t=e.i(54710),a=e.i(81471);let s=(0,e.i(94237).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}});e.s(["Card",0,function({className:e,tone:n,interactive:i,...r}){return(0,t.jsx)("div",{className:(0,a.cn)(s({tone:n,interactive:i}),e),...r})},"CardHeader",0,function({className:e,...s}){return(0,t.jsx)("div",{className:(0,a.cn)("mb-3 flex items-center justify-between",e),...s})},"CardStatLabel",0,function({className:e,...s}){return(0,t.jsx)("h3",{className:(0,a.cn)("text-xs font-semibold uppercase tracking-[0.08em] text-muted-foreground",e),...s})},"CardTitle",0,function({className:e,...s}){return(0,t.jsx)("h3",{className:(0,a.cn)("text-base font-semibold tracking-tight text-foreground",e),...s})},"CardValue",0,function({className:e,...s}){return(0,t.jsx)("div",{className:(0,a.cn)("font-display text-3xl font-semibold tracking-tight text-foreground",e),...s})}])},90925,e=>{"use strict";let t=(0,e.i(77379).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"}]]);e.s(["Trash2",0,t],90925)},21682,e=>{"use strict";let t=(0,e.i(77379).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"}]]);e.s(["Pencil",0,t],21682)},60168,e=>{"use strict";let t=(0,e.i(77379).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],60168)},99758,e=>{"use strict";let t=(0,e.i(77379).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",0,t],99758)},55575,e=>{"use strict";let t=(0,e.i(77379).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"}]]);e.s(["FolderOpen",0,t],55575)},66127,e=>{"use strict";var t=e.i(65268);async function a({title:e,defaultPath:s}){let n=await t.api.post("/system/pick-directory",{title:e,...s?{defaultPath:s}:{}});if("selected"===n.status&&n.path)return n.path;if("cancelled"===n.status)return null;throw Error(n.message??"Folder picker is unavailable.")}e.s(["pickDirectoryFromDesktop",0,a])},25795,e=>{"use strict";let t=(0,e.i(77379).default)("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",0,t],25795)},82239,e=>{"use strict";var t=e.i(54710),a=e.i(25795),s=e.i(10628);e.s(["RestartRequiredBadge",0,function(){return(0,t.jsxs)(s.Tooltip,{children:[(0,t.jsx)(s.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-0.5 rounded-sm bg-warning/15 px-1 py-0.5 text-[10px] font-medium text-warning",children:[(0,t.jsx)(a.RotateCcw,{className:"h-2.5 w-2.5"}),"restart"]})}),(0,t.jsx)(s.TooltipContent,{side:"top",className:"max-w-[220px] text-xs",children:"Changing this value requires a daemon restart to take effect."})]})}])},49681,e=>{"use strict";var t=e.i(54710),a=e.i(7771),s=e.i(95486),n=e.i(8011),i=e.i(10628),r=e.i(81471);e.s(["DocsHelpInline",0,function({docId:e,anchor:l=null,label:o,className:c}){let d=(0,s.useQueryClient)(),u=o??"Help";return(0,t.jsx)(i.TooltipProvider,{delayDuration:300,children:(0,t.jsxs)(i.Tooltip,{children:[(0,t.jsx)(i.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:t=>{t.preventDefault(),t.stopPropagation(),(0,n.openDocsHelpSlideover)(d,{docId:e,anchor:l,autoFocusComposer:!1})},className:(0,r.cn)("inline-flex h-5 w-5 items-center justify-center rounded-full text-muted-foreground/70 transition hover:bg-accent hover:text-foreground",c),"aria-label":`Open help — ${u}`,"data-testid":"docs-help-inline",children:(0,t.jsx)(a.HelpCircle,{className:"h-3.5 w-3.5","aria-hidden":"true"})})}),(0,t.jsx)(i.TooltipContent,{side:"top",children:(0,t.jsx)("span",{children:u})})]})})}])},88,e=>{"use strict";var t=e.i(54710),a=e.i(34416),s=e.i(99758),n=e.i(55575),i=e.i(21682),r=e.i(60168),l=e.i(25795),o=e.i(90925),c=e.i(36451);e.i(18446);var d=e.i(28444),u=e.i(48467),m=e.i(20014),p=e.i(74490),x=e.i(8652),h=e.i(82239),g=e.i(49681),f=e.i(66127),y=e.i(36413);let b=new Set(d.RESTART_REQUIRED_KEY_TUPLE);function v(e){return null===e?"":String(e)}e.s(["ConfigSection",0,function({title:e,children:a,helpDocId:s,helpAnchor:n}){return(0,t.jsxs)(p.Card,{children:[(0,t.jsx)(p.CardHeader,{children:(0,t.jsxs)(p.CardTitle,{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{children:e}),s&&(0,t.jsx)(g.DocsHelpInline,{docId:s,anchor:n??null,label:e})]})}),(0,t.jsx)("div",{className:"space-y-0.5 [&>p]:max-w-prose",children:a})]})},"EditableArrayField",0,function({label:e,values:s,configKey:i,variant:l="gray",placeholder:o="Add item...",directoryPicker:d,modified:p,onSave:g}){let y=b.has(i),[v,j]=(0,a.useState)(""),[C,w]=(0,a.useState)(!1),[N,k]=(0,a.useState)(null),S=async()=>{let e=v.trim();if(!(!e||s.includes(e))){w(!0),k(null);try{await g(i,[...s,e]),j("")}catch{}finally{w(!1)}}},A=async e=>{w(!0);try{await g(i,s.filter(t=>t!==e))}finally{w(!1)}},E=async()=>{if(d){w(!0),k(null);try{let e=await (0,f.pickDirectoryFromDesktop)({title:d.title,defaultPath:v.trim()||d.defaultPath});if(!e)return;if(s.includes(e)){j(e),k("That directory is already in the list.");return}await g(i,[...s,e]),j("")}catch(e){k(e instanceof Error?e.message:"Folder picker is unavailable.")}finally{w(!1)}}};return(0,t.jsxs)("div",{className:`py-2${p?" border-l-2 border-primary pl-2 -ml-1 rounded":""}`,"data-config-key":i,children:[(0,t.jsxs)("p",{className:"text-sm text-muted-foreground mb-2 inline-flex items-center gap-1.5",children:[e,y&&(0,t.jsx)(h.RestartRequiredBadge,{}),p&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-primary",children:"modified"})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-1.5 mb-2",children:[s.map(e=>(0,t.jsxs)(u.Badge,{variant:l,className:"gap-1 pr-1",children:[e,(0,t.jsx)("button",{onClick:()=>A(e),disabled:C,className:"ml-0.5 rounded-sm hover:bg-black/10 dark:hover:bg-white/10 p-0.5 transition-colors",children:(0,t.jsx)(c.X,{className:"h-3 w-3"})})]},e)),0===s.length&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground italic",children:"No items"})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(x.Input,{value:v,onChange:e=>j(e.target.value),onKeyDown:e=>{"Enter"===e.key&&S()},placeholder:o,className:"max-w-[320px]",disabled:C}),d&&(0,t.jsxs)(m.Button,{size:"sm",variant:"outline",onClick:E,disabled:C,children:[(0,t.jsx)(n.FolderOpen,{className:"h-3.5 w-3.5 mr-1"}),d.buttonLabel??"Choose"]}),(0,t.jsxs)(m.Button,{size:"sm",variant:"outline",onClick:S,disabled:!v.trim()||C,children:[(0,t.jsx)(r.Plus,{className:"h-3.5 w-3.5 mr-1"}),"Add"]})]}),N&&(0,t.jsx)("p",{className:"mt-1 text-xs text-destructive",children:N})]})},"EditableBooleanField",0,function({label:e,value:s,configKey:n,description:i,modified:r,defaultValue:o,onSave:c}){let[d,u]=(0,a.useState)(!1),p=b.has(n),x=void 0!==o&&s===o,g=async()=>{u(!0);try{await c(n,!s)}finally{u(!1)}},f=async()=>{if(void 0!==o){u(!0);try{await c(n,o)}finally{u(!1)}}};return(0,t.jsx)("div",{className:`py-1.5 group${r?" border-l-2 border-primary pl-2 -ml-1 rounded":""}`,"data-config-key":n,children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("p",{className:"text-sm text-muted-foreground inline-flex items-center gap-1.5",children:[e,p&&(0,t.jsx)(h.RestartRequiredBadge,{}),r&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-primary",children:"modified"}),void 0!==o&&!x&&!r&&(0,t.jsxs)("button",{type:"button",onClick:f,className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors inline-flex items-center gap-0.5 opacity-0 group-hover:opacity-100",children:[(0,t.jsx)(l.RotateCcw,{className:"h-2.5 w-2.5"}),"reset"]})]}),i&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:i})]}),(0,t.jsx)(m.Button,{variant:s?"default":"outline",size:"sm",onClick:g,disabled:d,children:s?"Enabled":"Disabled"})]})})},"EditableField",0,function({label:e,value:n,configKey:r,type:d="text",suffix:u,description:p,min:g,max:f,nullable:j=!1,emptyLabel:C="Not set",modified:w,defaultValue:N,onSave:k}){let S=b.has(r),[A,E]=(0,a.useState)(!1),[B,R]=(0,a.useState)(v(n)),[D,I]=(0,a.useState)(!1),[M,_]=(0,a.useState)(null),T=(0,a.useRef)(null),F=(0,y.useDiscardGeneration)(),P=(0,a.useRef)(F);(0,a.useEffect)(()=>{F!==P.current&&(P.current=F,E(!1),_(null))},[F]),(0,a.useEffect)(()=>{A&&T.current?.focus()},[A]),(0,a.useEffect)(()=>{A||R(v(n))},[n,A]);let O=void 0!==N&&n===N,L=async e=>{if(e.stopPropagation(),void 0!==N){I(!0);try{await k(r,N)}finally{I(!1)}}},q=async e=>{e.stopPropagation(),I(!0);try{await k(r,null)}finally{I(!1)}},G=async()=>{let e=B.trim(),t=j&&""===e?null:"number"===d?Number(B):B;if(t===n)return void E(!1);if(null!==t&&"number"===d&&(void 0!==g||void 0!==f)&&(void 0!==g&&t<g||void 0!==f&&t>f))return void _(`Must be ${g??""}–${f??""}`);_(null),I(!0);try{await k(r,t),E(!1)}catch{}finally{I(!1)}};return A?(0,t.jsxs)("div",{className:"py-1.5","data-config-key":r,children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("span",{className:"text-sm text-muted-foreground shrink-0 min-w-[140px] inline-flex items-center gap-1.5",children:[e,S&&(0,t.jsx)(h.RestartRequiredBadge,{})]}),(0,t.jsx)(x.Input,{ref:T,type:d,value:B,onChange:e=>{R(e.target.value),_(null)},onKeyDown:e=>{"Enter"===e.key&&G(),"Escape"===e.key&&(R(v(n)),E(!1))},className:"max-w-[240px]",disabled:D,min:g,max:f}),u&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:u}),(0,t.jsx)(m.Button,{size:"sm",variant:"ghost",onClick:G,disabled:D,className:"h-7 w-7 p-0",children:(0,t.jsx)(s.Check,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(m.Button,{size:"sm",variant:"ghost",onClick:()=>{R(v(n)),_(null),E(!1)},className:"h-7 w-7 p-0",children:(0,t.jsx)(c.X,{className:"h-3.5 w-3.5"})})]}),M&&(0,t.jsx)("p",{className:"text-xs text-destructive mt-1 ml-[148px]",children:M}),p&&!M&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1 ml-[148px]",children:p})]}):(0,t.jsxs)("div",{className:`py-1.5 group cursor-pointer rounded px-1 -mx-1 hover:bg-muted/50 transition-colors${w?" border-l-2 border-primary pl-2":""}`,"data-config-key":r,onClick:()=>E(!0),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("span",{className:"text-sm text-muted-foreground inline-flex items-center gap-1.5",children:[e,S&&(0,t.jsx)(h.RestartRequiredBadge,{})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[w&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-primary",children:"modified"}),void 0!==N&&!O&&!w&&(0,t.jsxs)("button",{type:"button",onClick:L,className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors inline-flex items-center gap-0.5 opacity-0 group-hover:opacity-100",children:[(0,t.jsx)(l.RotateCcw,{className:"h-2.5 w-2.5"}),"reset"]}),j&&null!==n&&!w&&(0,t.jsxs)("button",{type:"button",onClick:q,title:`Clear — sets ${e} to ${C}`,className:"text-[10px] text-muted-foreground hover:text-destructive transition-colors inline-flex items-center gap-0.5 opacity-0 group-hover:opacity-100",children:[(0,t.jsx)(o.Trash2,{className:"h-2.5 w-2.5"}),"clear"]}),(0,t.jsx)("span",{className:"text-sm font-medium text-foreground",children:null===n?C:"$"===u?`$${n}`:u?`${n} ${u}`:String(n)}),(0,t.jsx)(i.Pencil,{className:"h-3 w-3 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity"})]})]}),p&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:p})]})}])},85631,e=>{"use strict";var t=e.i(54710),a=e.i(81471);e.s(["ConnectionsSectionHeader",0,function({title:e,description:s,healthy:n,total:i,attention:r,actions:l}){let o=i>0&&n===i,c=i>0&&0===n;return(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,t.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:e}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[i>0&&(0,t.jsxs)("span",{className:(0,a.cn)("text-xs font-medium tabular-nums",o?"text-success":c?"text-muted-foreground":"text-warning"),children:[n,"/",i," connected"]}),l]})]}),s&&(0,t.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:s}),r&&(0,t.jsx)("p",{className:"text-xs text-warning",children:r})]})}])},20870,e=>{"use strict";var t=e.i(54710),a=e.i(48467),s=e.i(74490),n=e.i(81471);let i={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"}};e.s(["ConnectionCard",0,function({name:e,icon:r,status:l,error:o,metadata:c,children:d,className:u}){let m=i[l];return(0,t.jsxs)(s.Card,{tone:"connected"===l?"success":"error"===l?"error":"default",className:(0,n.cn)("relative",u),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:r}),(0,t.jsx)("h3",{className:"text-sm font-medium text-foreground",children:e})]}),(0,t.jsx)(a.Badge,{variant:m.variant,children:m.label})]}),o&&"connecting"!==l&&(0,t.jsx)("p",{className:"mb-2 text-xs text-destructive",children:o}),c&&c.length>0&&(0,t.jsx)("div",{className:"mb-3 space-y-0.5",children:c.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:e.label}),(0,t.jsx)("span",{className:"text-foreground",children:e.value})]},e.label))}),d]})},"deriveConfiguredStatus",0,function(e){return e?"configured":"needs-setup"},"deriveIntegrationStatus",0,function(e){return e&&e.configured?e.error?"error":e.connected?"connected":"configured":"needs-setup"},"deriveMessagingStatus",0,function(e){return e&&"not_configured"!==e.runtimeState?"connecting"===e.runtimeState?"connecting":"error"===e.runtimeState?"error":"ok"===e.runtimeState?"connected":"configured":"needs-setup"},"messagingMetadata",0,function(e){if(e)return[{label:"Owner configured",value:e.ownerConfigured?"yes":"no"},{label:"Owner channel known",value:e.ownerChannelKnown?"yes":"no"},{label:"Reminder eligible",value:e.notificationEligible?"yes":"no"},{label:"Last inbound",value:e.lastInboundAt??"—"}]}])},78927,e=>{"use strict";let t=(0,e.i(77379).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"}]]);e.s(["Upload",0,t],78927)},87040,e=>{"use strict";var t=e.i(14260),a=e.i(65268);e.s(["useProcessConfig",0,function(e){return(0,t.useQuery)({queryKey:["process-config"],queryFn:()=>a.api.get("/process-config"),enabled:e?.enabled??!0,staleTime:6e4})}])},75750,e=>{"use strict";let t=(0,e.i(77379).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"}]]);e.s(["XCircle",0,t],75750)},76176,e=>{"use strict";e.i(18446);var t=e.i(38082);let a={claude:"Claude Code",codex:"OpenAI Codex",gemini:"Gemini CLI",opencode:"OpenCode"},s=new Set(["opencode"]);function n(e){return s.has(e)}let i={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."}},r={claude:"Claude",codex:"Codex",gemini:"Gemini",opencode:"OpenCode"},l={claude:["#7C2D12","#B54B2D","#E15B40","#F97316","#FDBA74"],codex:["#86198F","#A21CAF","#D946EF","#E879F9","#F5D0FE"],gemini:["#1E3A8A","#1D4ED8","#1C69FF","#60A5FA","#93C5FD"],opencode:["#7C2D12","#C2410C","#FF7300","#F59E0B","#FCD34D"]},o=["#6b7280","#9ca3af","#4b5563","#374151"],c={claude:"orange",codex:"pink",gemini:"blue",opencode:"orange"},d={"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 u(e){let t;if(!e)return[];try{t=JSON.parse(e)}catch{return[]}if(!t||"object"!=typeof t)return[];let a=[];for(let[e,s]of Object.entries(t))s&&"object"==typeof s&&a.push({modelId:e,inputTokens:"number"==typeof s.inputTokens?s.inputTokens:0,outputTokens:"number"==typeof s.outputTokens?s.outputTokens:0,costUsd:"number"==typeof s.costUsd?s.costUsd:0});return a.sort((e,t)=>t.costUsd-e.costUsd)}function m(e){if(!e)return null;let t=e.toLowerCase();return/^[a-z0-9_.-]+\/[a-z0-9_.-]+/.test(t)?"opencode":t.includes("claude")||t.includes("sonnet")||t.includes("opus")||t.includes("haiku")?"claude":t.includes("gemini")?"gemini":t.includes("gpt")||t.includes("codex")||t.includes("o3")||t.includes("o4")?"codex":null}e.s(["BACKEND_BADGE_VARIANTS",0,c,"BACKEND_COLORS",0,{claude:"#E15B40",codex:"#D946EF",gemini:"#1C69FF",opencode:"#FF7300"},"BACKEND_LABELS",0,a,"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."},"CHART_CATEGORY_PALETTE",0,["#3b82f6","#10b981","#f59e0b","#8b5cf6","#ec4899","#14b8a6","#f97316","#6366f1","#ef4444","#22c55e"],"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.","assignModelColors",0,function(e){let t=new Map;for(let a of e){if(!a)continue;let e=m(a)??"other",s=t.get(e)??[];s.push(a),t.set(e,s)}let a={};for(let[e,s]of t){s.sort((e,t)=>e.localeCompare(t));let t="other"===e?o:l[e],n=s.length;s.forEach((e,s)=>{let i;i=n>=t.length?s%t.length:1===n?Math.floor(t.length/2):Math.floor((s+.5)*t.length/n),a[e]=t[i]})}return a},"detectBackendFromModel",0,m,"formatModelName",0,function(e){return e?e.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(e){if(!e)return"unknown";if("opus"===e)return"Opus";if("sonnet"===e)return"Sonnet";let t=e.replace(/^[a-z0-9_.-]+\//i,""),a=t.replace(/-\d{8,}$/,"").replace(/^claude-/,"").replace(/(\d+)-(\d+)(?![-\d])/g,"$1.$2").replace(/-/g," ");return t.startsWith("gpt-")&&(a=`GPT-${a.replace(/^gpt\s*/i,"")}`),t.startsWith("gemini-")&&(a=a.replace(/^gemini\s*/i,"Gemini ")),a.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(e){return i[e]??null},"getBackendLabel",0,function(e){return a[e]},"getBackendShortLabel",0,function(e){return r[e]},"getProcessGroup",0,function(e){return e.startsWith("wiki.")?"Wiki":e.startsWith("message.")||e.startsWith("dashboard.")?"Conversation":e.startsWith("routine.")?"Routines":e.startsWith("git.")||e.startsWith("github.")?"Git & GitHub":e.startsWith("calendar.")||"gmail_classify"===e?"Integrations":"Tasks"},"getProcessLabel",0,function(e){return d[e]??e},"isBackendSelectionDisabled",0,function(e){return!(0,t.isRuntimeAvailableBackendId)(e)||n(e)},"isUiPreviewOnlyBackend",0,n,"modelBadgeVariant",0,function(e){if(!e)return"gray";let t=m(e);return t?c[t]:"gray"},"parseModelUsage",0,u,"pickDisplayModel",0,function(e,t){let a=u(t);return a.length>0&&a[0]?a[0].modelId:e??null}])},24756,e=>{"use strict";var t=e.i(14260),a=e.i(65268);e.s(["useBackends",0,function(e){return(0,t.useQuery)({queryKey:["backends"],queryFn:()=>a.api.get("/backends"),enabled:e?.enabled??!0,staleTime:6e4})}])},7663,e=>{"use strict";let t=(0,e.i(77379).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"}]]);e.s(["Save",0,t],7663)},59134,e=>{"use strict";let t=(0,e.i(77379).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"}]]);e.s(["RefreshCw",0,t],59134)},70986,e=>{"use strict";var t=e.i(34416),a=e.i(91967),s=e.i(9413),n=e.i(36567),i=e.i(18731),r=e.i(22353),l=e.i(85565),o=e.i(90816),c=e.i(11207),d=e.i(54710),u="Collapsible",[m,p]=(0,s.createContextScope)(u),[x,h]=m(u),g=t.forwardRef((e,a)=>{let{__scopeCollapsible:s,open:i,defaultOpen:r,disabled:o,onOpenChange:m,...p}=e,[h,g]=(0,n.useControllableState)({prop:i,defaultProp:r??!1,onChange:m,caller:u});return(0,d.jsx)(x,{scope:s,disabled:o,contentId:(0,c.useId)(),open:h,onOpenToggle:t.useCallback(()=>g(e=>!e),[g]),children:(0,d.jsx)(l.Primitive.div,{"data-state":C(h),"data-disabled":o?"":void 0,...p,ref:a})})});g.displayName=u;var f="CollapsibleTrigger",y=t.forwardRef((e,t)=>{let{__scopeCollapsible:s,...n}=e,i=h(f,s);return(0,d.jsx)(l.Primitive.button,{type:"button","aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":C(i.open),"data-disabled":i.disabled?"":void 0,disabled:i.disabled,...n,ref:t,onClick:(0,a.composeEventHandlers)(e.onClick,i.onOpenToggle)})});y.displayName=f;var b="CollapsibleContent",v=t.forwardRef((e,t)=>{let{forceMount:a,...s}=e,n=h(b,e.__scopeCollapsible);return(0,d.jsx)(o.Presence,{present:a||n.open,children:({present:e})=>(0,d.jsx)(j,{...s,ref:t,present:e})})});v.displayName=b;var j=t.forwardRef((e,a)=>{let{__scopeCollapsible:s,present:n,children:o,...c}=e,u=h(b,s),[m,p]=t.useState(n),x=t.useRef(null),g=(0,r.useComposedRefs)(a,x),f=t.useRef(0),y=f.current,v=t.useRef(0),j=v.current,w=u.open||m,N=t.useRef(w),k=t.useRef(void 0);return t.useEffect(()=>{let e=requestAnimationFrame(()=>N.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,i.useLayoutEffect)(()=>{let e=x.current;if(e){k.current=k.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();f.current=t.height,v.current=t.width,N.current||(e.style.transitionDuration=k.current.transitionDuration,e.style.animationName=k.current.animationName),p(n)}},[u.open,n]),(0,d.jsx)(l.Primitive.div,{"data-state":C(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!w,...c,ref:g,style:{"--radix-collapsible-content-height":y?`${y}px`:void 0,"--radix-collapsible-content-width":j?`${j}px`:void 0,...e.style},children:w&&o})});function C(e){return e?"open":"closed"}e.s(["Collapsible",0,g,"CollapsibleContent",0,v,"CollapsibleTrigger",0,y],70986)},40974,e=>{"use strict";let t=(0,e.i(77379).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"}]]);e.s(["Lock",0,t],40974)},67490,e=>{"use strict";var t=e.i(14260),a=e.i(57415),s=e.i(95486),n=e.i(65268);e.s(["useIntegrationProbeLive",0,function(){let e=(0,s.useQueryClient)();return(0,a.useMutation)({mutationFn:e=>{let{key:t}=e,a={};return"liveProbe"in e?(a.liveProbe=!0,e.backend&&(a.backend=e.backend)):(a.backend=e.backend,a.tools=e.tools),n.api.post(`/integrations/${t}/probe`,a)},onSuccess:(t,a)=>{e.invalidateQueries({queryKey:["integration-probe",a.key]}),e.invalidateQueries({queryKey:["health"]})}})},"useIntegrations",0,function(){return(0,t.useQuery)({queryKey:["integrations"],queryFn:()=>n.api.get("/integrations"),staleTime:3e4})},"useNativeUnboundActions",0,function(e={}){let a=e.sinceHours??168;return(0,t.useQuery)({queryKey:["agent-actions","native_unbound",a],queryFn:async()=>{let e=new URLSearchParams({since:new Date(Date.now()-60*a*6e4).toISOString(),limit:"50"});e.append("kind","integration.native_unbound");let t=await n.api.get(`/agent/actions?${e.toString()}`),s=[];for(let e of t.actions)if(e.detail)try{let t=JSON.parse(e.detail);if("string"!=typeof t.key)continue;s.push({id:e.id,key:t.key,priorNativeBackend:t.priorNativeBackend??null,newMainBackend:t.newMainBackend??null,priorDeniedTools:t.priorDeniedTools??[],startedAt:e.startedAt})}catch{continue}return s},staleTime:6e4})},"usePatchIntegration",0,function(){let e=(0,s.useQueryClient)();return(0,a.useMutation)({mutationFn:({key:e,body:t})=>n.api.patch(`/integrations/${e}`,t),onSuccess:()=>{e.invalidateQueries({queryKey:["integrations"]}),e.invalidateQueries({queryKey:["health"]})}})},"useProxyModels",0,function(e){return(0,t.useQuery)({queryKey:["proxy-models",e??null],queryFn:()=>n.api.get(`/integrations/proxy-models/${e}`),enabled:null!=e,staleTime:6e4})},"useRecentProxyCalls",0,function(e,a={}){let{limit:s,enabled:i=!0}=a;return(0,t.useQuery)({queryKey:["recent-proxy-calls",e,s??null],queryFn:()=>{let t=void 0!==s?`?limit=${s}`:"";return n.api.get(`/integrations/${e}/recent-proxy-calls${t}`)},enabled:i&&null!==e,staleTime:1e4})}])},32220,e=>{"use strict";var t=e.i(54710),a=e.i(34416),s=e.i(95486),n=e.i(19660),i=e.i(72740),r=e.i(21682),l=e.i(7663),o=e.i(75750),c=e.i(74490),d=e.i(20014),u=e.i(48467),m=e.i(79634),p=e.i(10427),x=e.i(65268),h=e.i(24756),g=e.i(87040),f=e.i(76176);e.s(["ProcessModelCard",0,function({processKey:e,title:y="AI Model",description:b}){let v=(0,s.useQueryClient)(),{data:j}=(0,h.useBackends)(),{data:C}=(0,g.useProcessConfig)(),[w,N]=(0,a.useState)(!1),[k,S]=(0,a.useState)(null),[A,E]=(0,a.useState)(null),[B,R]=(0,a.useState)(!1),[D,I]=(0,a.useState)(null),M=C?.configs.find(t=>t.processKey===e),_=new Map((j?.backends??[]).map(e=>[e.id,e])),T=(j?.backends??[]).filter(e=>e.enabled);if(!j||!C||!M)return null;let F=_.get(M.mainBackend),P=F?.models.find(e=>e.modelId===M.mainModel)?.label??(0,f.formatModelName)(M.mainModel),O=k?_.get(k):null,L=O?.models??[];async function q(){if(k&&A){R(!0),I(null);try{await x.api.put(`/process-config/${e}`,{mainBackend:k,mainModel:A,fallbackBackend:M.fallbackBackend,fallbackModel:M.fallbackModel,maxTurns:M.maxTurns,maxBudgetUsd:M.maxBudgetUsd}),await v.invalidateQueries({queryKey:["process-config"]}),I({type:"success",message:"Saved"}),N(!1)}catch(t){let e=t instanceof x.ApiError?t.body:null;I({type:"error",message:"string"==typeof e?.error?e.error:t instanceof Error?t.message:"Save failed"})}finally{R(!1)}}}return(0,t.jsxs)(c.Card,{children:[(0,t.jsxs)(c.CardHeader,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(n.Bot,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)(c.CardTitle,{className:"text-base",children:y}),"user"===M.updatedBy&&(0,t.jsx)(u.Badge,{variant:"blue",className:"text-xs",children:"Custom"})]}),!w&&(0,t.jsxs)(d.Button,{variant:"ghost",size:"sm",onClick:function(){S(M.mainBackend),E(M.mainModel),I(null),N(!0)},className:"h-8",children:[(0,t.jsx)(r.Pencil,{className:"h-3.5 w-3.5"}),"Edit"]})]}),!w&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,t.jsx)(u.Badge,{variant:f.BACKEND_BADGE_VARIANTS[M.mainBackend],children:(0,f.getBackendLabel)(M.mainBackend)}),(0,t.jsx)("span",{className:"text-muted-foreground",children:P}),(0,t.jsx)(u.Badge,{variant:"high"===M.defaultTier?"purple":"medium"===M.defaultTier?"blue":"default",className:"text-xs",children:M.defaultTier})]}),b&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:b})]}),w&&(0,t.jsxs)("div",{className:"mt-1 space-y-3",children:[(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"Backend"}),(0,t.jsxs)(p.Select,{value:k??"",onValueChange:e=>(function(e){var t,a;let s,n=_.get(e);if(!n)return;S(e);let i=(t=n.models,a=M.defaultTier,(s=t.filter(e=>e.tier===a)).length>0?s:t);E(i[0]?.modelId??n.models[0]?.modelId??"")})(e),children:[(0,t.jsx)(p.SelectTrigger,{children:(0,t.jsx)(p.SelectValue,{})}),(0,t.jsx)(p.SelectContent,{children:T.map(e=>{let a=(0,f.isUiPreviewOnlyBackend)(e.id);return(0,t.jsxs)(p.SelectItem,{value:e.id,disabled:a,children:[(0,f.getBackendLabel)(e.id),a?f.UI_PREVIEW_ONLY_BADGE_SUFFIX:""]},e.id)})})]})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"Model"}),(0,t.jsxs)(p.Select,{value:A??"",onValueChange:e=>E(e),children:[(0,t.jsx)(p.SelectTrigger,{children:(0,t.jsx)(p.SelectValue,{})}),(0,t.jsx)(p.SelectContent,{children:L.map(e=>(0,t.jsx)(p.SelectItem,{value:e.modelId,children:e.label},e.modelId))})]})]})]}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsxs)(d.Button,{variant:"outline",size:"sm",onClick:function(){N(!1),S(null),E(null)},disabled:B,children:[(0,t.jsx)(o.XCircle,{className:"h-3.5 w-3.5"}),"Cancel"]}),(0,t.jsxs)(d.Button,{size:"sm",onClick:()=>{q()},disabled:B||!A,children:[B?(0,t.jsx)(i.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(l.Save,{className:"h-3.5 w-3.5"}),"Save"]})]})]}),D&&(0,t.jsx)(m.Alert,{variant:"success"===D.type?"success":"error",className:"mt-3",children:D.message})]})}])},85090,e=>{"use strict";var t=e.i(54710),a=e.i(34416),s=e.i(95486),n=e.i(88423),i=e.i(75187),r=e.i(13451),l=e.i(65268),o=e.i(20014),c=e.i(79634),d=e.i(70986),u=e.i(16047),m=e.i(78927),p=e.i(59546),x=e.i(52387),h=e.i(81471),g=e.i(88),f=e.i(20870);function y({label:e,accept:s,onUpload:n,configured:i}){let[r,l]=(0,a.useState)(!1),[d,u]=(0,a.useState)(null),x=(0,a.useRef)(null),h=(0,a.useCallback)(async e=>{l(!0),u(null);try{await n(e),u({type:"success",fileName:e.name})}catch(e){u({type:"error",message:e instanceof Error?e.message:"Upload failed"})}finally{l(!1)}},[n]);return(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{ref:x,type:"file",accept:s,className:"hidden",onChange:e=>{let t=e.target.files?.[0];t&&h(t),e.target.value=""}}),(0,t.jsxs)(o.Button,{size:"sm",variant:i?"outline":"default",onClick:()=>x.current?.click(),disabled:r,className:"text-xs",children:[(0,t.jsx)(m.Upload,{className:"h-3.5 w-3.5 mr-1"}),r?"Uploading...":e]}),i&&(0,t.jsx)(p.CheckCircle2,{className:"h-4 w-4 text-success"})]}),d&&(0,t.jsx)(c.Alert,{variant:"success"===d.type?"success":"error",children:"success"===d.type?(0,t.jsxs)("span",{className:"block break-all",title:d.fileName,children:[function(e,t=36){if(e.length<=t)return e;let a=Math.floor((t-1)/2);return`${e.slice(0,t-1-a)}…${e.slice(-a)}`}(d.fileName)," uploaded"]}):(0,t.jsx)("span",{className:"block break-all",children:d.message})})]})}function b(){return(0,t.jsxs)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.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,t.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,t.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,t.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"})]})}e.s(["GoogleCard",0,function(){let{data:e}=(0,n.useConfig)(),{data:m}=(0,i.useHealth)(),{toast:v,saveField:j}=(0,r.useSaveConfig)(),C=(0,s.useQueryClient)(),w=m?.integrations?.google,[N,k]=(0,a.useState)(!1),[S,A]=(0,a.useState)(null),E=(0,a.useRef)(null),B=e?.googleCalendarCredentialsConfigured??!1,R=e?.googleCalendarTokenConfigured??!1,D=e?.googleCredentialType==="service_account",I=async e=>{await l.api.upload("/config/upload/google-credentials",e),C.invalidateQueries({queryKey:["config"]}),C.invalidateQueries({queryKey:["health"]})};(0,a.useEffect)(()=>()=>{E.current&&clearInterval(E.current)},[]),(0,a.useEffect)(()=>{let e=e=>{e.origin.startsWith("http://localhost")&&e.data?.type==="google-auth-success"&&(E.current&&(clearInterval(E.current),E.current=null),k(!1),C.invalidateQueries({queryKey:["config"]}),C.invalidateQueries({queryKey:["health"]}))};return window.addEventListener("message",e),()=>window.removeEventListener("message",e)},[C]);let M=async()=>{k(!0),A(null);try{let e=await l.api.post("/config/google-auth/start"),t=window.open(e.authUrl,"google-auth","width=600,height=700");if(!t){A("Popup blocked. Allow popups for this site and try again."),k(!1);return}E.current=setInterval(()=>{t.closed&&(E.current&&(clearInterval(E.current),E.current=null),k(!1),C.invalidateQueries({queryKey:["config"]}),C.invalidateQueries({queryKey:["health"]}))},1e3)}catch(e){A(e instanceof Error?e.message:"Failed to start authorization"),k(!1)}};if(!e||!m)return null;let _=w?.services?.calendar,T=w?.services?.gmail,F=N?"connecting":(0,f.deriveIntegrationStatus)(w);return(0,t.jsxs)(f.ConnectionCard,{name:"Google",icon:(0,t.jsx)(b,{}),status:F,error:w?.error,children:[w?.configured&&(0,t.jsxs)("div",{className:"flex gap-4 mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,t.jsx)("span",{className:(0,h.cn)("inline-block h-2 w-2 rounded-full",_?.connected?"bg-success":"bg-gray-300 dark:bg-gray-600")}),(0,t.jsx)("span",{className:"text-muted-foreground",children:"Calendar"}),(0,t.jsx)("span",{className:_?.connected?"text-success":"text-muted-foreground",children:_?.connected?"Active":"Inactive"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,t.jsx)("span",{className:(0,h.cn)("inline-block h-2 w-2 rounded-full",T?.connected?"bg-success":"bg-gray-300 dark:bg-gray-600")}),(0,t.jsx)("span",{className:"text-muted-foreground",children:"Gmail"}),(0,t.jsx)("span",{className:T?.connected?"text-success":"text-muted-foreground",children:T?.connected?"Active":"Not yet implemented"})]})]}),(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"1. Upload credentials"}),(0,t.jsx)(y,{label:"Credentials JSON",accept:".json,application/json",onUpload:I,configured:B})]}),!D&&(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"2. Authorize"}),(0,t.jsxs)(o.Button,{size:"sm",variant:R?"outline":"default",onClick:M,disabled:!B||N,className:"text-xs",children:[(0,t.jsx)(x.ExternalLink,{className:"h-3.5 w-3.5 mr-1"}),N?"Waiting...":R?"Re-authorize":"Authorize with Google"]}),R&&(0,t.jsx)(p.CheckCircle2,{className:"inline-block ml-2 h-4 w-4 text-success"}),S&&(0,t.jsx)(c.Alert,{variant:"error",className:"mt-1",children:S}),!B&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Upload credentials first"})]})]}),!w?.connected&&B&&(D||R)&&(0,t.jsxs)(c.Alert,{variant:"warning",className:"mt-3",children:[D?"Service account configured.":"Authorized."," Restart the daemon to connect."]}),(0,t.jsxs)(d.Collapsible,{children:[(0,t.jsxs)(d.CollapsibleTrigger,{className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground mt-3",children:["Advanced setup notes ",(0,t.jsx)(u.ChevronDown,{className:"h-3 w-3"})]}),(0,t.jsx)(d.CollapsibleContent,{children:(0,t.jsxs)("div",{className:"mt-2 rounded bg-muted/50 p-2 space-y-1 text-xs",children:[(0,t.jsx)("p",{className:"font-medium text-muted-foreground",children:"Secrets are stored in the macOS Keychain."}),(0,t.jsx)("p",{className:"text-muted-foreground",children:"Use the upload button above for credentials JSON, then complete OAuth in the browser."}),(0,t.jsx)("p",{className:"text-muted-foreground mt-1",children:"Same credentials are used for Calendar and Gmail (scopes: calendar, gmail.modify, gmail.send)."}),(0,t.jsx)("p",{className:"text-muted-foreground",children:'Calendar ID defaults to "primary" and can be changed below.'})]})})]}),w?.configured&&(0,t.jsxs)("div",{className:"mt-3 pt-3 border-t border-border",children:[v&&(0,t.jsx)(c.Alert,{variant:v.type,className:"mb-2",children:v.message}),(0,t.jsx)(g.EditableField,{label:"Calendar ID",value:e.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:j})]})]})}])},1026,e=>{"use strict";var t=e.i(54710),a=e.i(88423),s=e.i(75187),n=e.i(34416),i=e.i(25239),r=e.i(52387),l=e.i(65268),o=e.i(90826),c=e.i(79634),d=e.i(48467),u=e.i(20014),m=e.i(74490),p=e.i(8652),x=e.i(57628);function h(){let e=(0,o.useConfirm)(),[a,s]=(0,n.useState)(null),[h,g]=(0,n.useState)([]),[f,y]=(0,n.useState)(null),[b,v]=(0,n.useState)(""),[j,C]=(0,n.useState)(""),[w,N]=(0,n.useState)(!1),[k,S]=(0,n.useState)(null),[A,E]=(0,n.useState)(null),B=(0,n.useCallback)(async()=>{try{let e=await l.api.get("/apple-calendar/status");if(s(e),e.available)try{let e=await l.api.get("/apple-calendar/calendars");g(e.calendars),y(null)}catch(e){g([]),y(e instanceof Error?e.message:"Failed to load calendars")}else g([]),y(null)}catch{s(null)}},[]);(0,n.useEffect)(()=>{B()},[B]);let R=async()=>{N(!0),S(null),E(null);try{let e=await l.api.post("/apple-calendar/credentials",{email:b.trim(),appPassword:j.trim()});E(`Connected as ${e.email}. ${e.calendars.length} calendar${1===e.calendars.length?"":"s"} discovered.`),v(""),C(""),await B()}catch(e){S(e instanceof l.ApiError||e instanceof Error?e.message:"Failed to connect")}finally{N(!1)}},D=async()=>{if(await e({title:"Disconnect Apple Calendar?",description:"The app-specific password will be removed from the OS keychain. The agent will no longer be able to read or write your iCloud calendar until you reconnect.",confirmLabel:"Disconnect"})){N(!0),S(null),E(null);try{await l.api.delete("/apple-calendar/credentials"),E("Apple Calendar disconnected."),await B()}catch(e){S(e instanceof Error?e.message:"Failed to disconnect")}finally{N(!1)}}},I=async e=>{N(!0),S(null);try{let t=await l.api.post("/apple-calendar/default-calendar",{calendarUrl:e});g(t.calendars)}catch(e){S(e instanceof Error?e.message:"Failed to set primary")}finally{N(!1)}},M=a?.available?"success":a?.configured?"warning":"default",_=a?.available?"Connected":a?.configured?"Auth issue":"Not connected",T=a?.available?"green":a?.configured?"amber":"gray";return(0,t.jsxs)(m.Card,{tone:M,children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,t.jsx)(i.Calendar,{className:"h-4 w-4 text-muted-foreground shrink-0"}),(0,t.jsx)("h3",{className:"text-base font-semibold text-foreground truncate",children:"Apple Calendar (iCloud)"})]}),(0,t.jsx)(d.Badge,{variant:T,children:_})]}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Read and write events on your iCloud calendar over CalDAV. The daemon authenticates with an Apple ID app-specific password — the same kind used by iCloud Mail — and stores it in the OS keychain."}),(0,t.jsx)(x.Separator,{className:"my-4"}),!a?.available&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"rounded-md border border-dashed border-border p-3 text-xs space-y-2",children:[(0,t.jsx)("p",{className:"text-foreground font-medium",children:"Step 1: Generate an app-specific password"}),(0,t.jsxs)("p",{className:"text-muted-foreground",children:["Apple only allows app-specific passwords on Apple IDs that have two-factor authentication turned on."," ",(0,t.jsxs)("a",{href:"https://account.apple.com",target:"_blank",rel:"noreferrer",className:"underline inline-flex items-center gap-0.5",children:["Open Apple Account ",(0,t.jsx)(r.ExternalLink,{className:"h-3 w-3"})]}),", then go to ",(0,t.jsx)("strong",{children:"Sign-In and Security"})," →"," ",(0,t.jsx)("strong",{children:"App-Specific Passwords"})," →"," ",(0,t.jsx)("strong",{children:"Generate an app-specific password"}),"."]}),(0,t.jsxs)("p",{className:"text-muted-foreground",children:["Apple shows a 19-character password in the form"," ",(0,t.jsx)("code",{children:"xxxx-xxxx-xxxx-xxxx"}),". Copy it exactly — the dashes are required."]})]}),(0,t.jsxs)("div",{className:"rounded-md border border-border p-3 space-y-2",children:[(0,t.jsx)("p",{className:"text-xs font-semibold text-foreground",children:"Step 2: Authenticate"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-xs text-muted-foreground mb-1",htmlFor:"apple-cal-email",children:"Apple ID email"}),(0,t.jsx)(p.Input,{id:"apple-cal-email",value:b,onChange:e=>v(e.target.value),placeholder:"you@icloud.com",className:"h-8 text-xs",autoComplete:"username"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-xs text-muted-foreground mb-1",htmlFor:"apple-cal-password",children:"App-specific password"}),(0,t.jsx)(p.Input,{id:"apple-cal-password",type:"password",value:j,onChange:e=>C(e.target.value),placeholder:"xxxx-xxxx-xxxx-xxxx",className:"h-8 text-xs",autoComplete:"current-password"}),(0,t.jsx)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:"Format: xxxx-xxxx-xxxx-xxxx. Dashes are required — paste, don't retype."})]}),(0,t.jsx)(u.Button,{size:"sm",onClick:()=>void R(),disabled:w||0===b.trim().length||0===j.trim().length,className:"h-7 text-xs px-3",children:w?"Authenticating…":"Authenticate"})]})]}),a?.available&&0===h.length&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(c.Alert,{variant:"warning",children:f?`Could not load the calendar list — ${f}. Try refreshing the page; if the error persists, disconnect and re-authenticate.`:"Connected, but no calendars are visible. iCloud may still be syncing — refresh in a moment."}),(0,t.jsx)(u.Button,{size:"sm",variant:"ghost",onClick:()=>void D(),disabled:w,className:"h-7 text-xs px-3 text-destructive",children:"Disconnect"})]}),a?.available&&h.length>0&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-foreground",children:"Calendars"}),(0,t.jsx)("ul",{className:"rounded-md border border-border divide-y divide-border",children:h.map(e=>(0,t.jsxs)("li",{className:"flex items-center justify-between px-3 py-2 text-xs",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"font-medium truncate",children:e.summary}),e.description&&(0,t.jsx)("div",{className:"text-muted-foreground truncate",children:e.description})]}),e.primary?(0,t.jsx)(d.Badge,{variant:"green",children:"Primary"}):(0,t.jsx)(u.Button,{size:"sm",variant:"ghost",className:"h-6 text-[11px] px-2",disabled:w,onClick:()=>void I(e.id),children:"Set primary"})]},e.id))}),(0,t.jsx)(u.Button,{size:"sm",variant:"ghost",onClick:()=>void D(),disabled:w,className:"h-7 text-xs px-3 text-destructive",children:"Disconnect"})]}),A&&(0,t.jsx)(c.Alert,{variant:"success",className:"mt-3",children:A}),k&&(0,t.jsx)(c.Alert,{variant:"error",className:"mt-3",children:k})]})}var g=e.i(85090),f=e.i(32077);function y(){let{data:e}=(0,a.useConfig)(),{data:n}=(0,s.useHealth)();return e&&n?(0,t.jsx)(f.IntegrationCard,{integrationKey:"outlook_calendar"}):null}var b=e.i(32220),v=e.i(85631);e.s(["default",0,function(){let{data:e,isLoading:n}=(0,a.useConfig)(),{data:i,isLoading:r}=(0,s.useHealth)(),l=n||r,o=!l&&(!e||!i),c=i?.integrations?.google?.services?.calendar?.connected??!1,d=i?.integrationModes?.google_calendar?.mode==="delegated";return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(v.ConnectionsSectionHeader,{title:"Calendar",description:"Google, Outlook, and Apple calendars. Google and Outlook reuse the OAuth from their matching Mail account — manage those accounts on the Mail page. Apple Calendar uses a separate CalDAV credential set up here.",healthy:+!!c,total:1}),o&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Daemon not connected. Start the daemon to configure calendar access."}),!l&&(0,t.jsxs)("div",{id:"google",className:"space-y-4",children:[(0,t.jsx)(f.IntegrationCard,{integrationKey:"google_calendar"}),(0,t.jsx)(g.GoogleCard,{}),!d&&(0,t.jsx)(b.ProcessModelCard,{processKey:"calendar.change",title:"Calendar Event Model",description:"Runs when the daemon-side poller detects a calendar change. Light-tier (Haiku 4.5 / gpt-5.4-mini) handles event classification at low cost."})]}),!l&&(0,t.jsx)("div",{id:"outlook",className:"space-y-4",children:(0,t.jsx)(y,{})}),!l&&(0,t.jsx)("div",{id:"apple",className:"space-y-4",children:(0,t.jsx)(h,{})})]})}],1026)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,29855,e=>{"use strict";var t=e.i(54710),s=e.i(34416),a=e.i(71060),n=e.i(26406),l=e.i(39982),r=e.i(97),i=e.i(95486),o=e.i(65268),d=e.i(44178),c=e.i(14260);function m(e,t){return`${e}/${t.replace(/\.md$/,"")}`}function u(e){return(0,c.useQuery)({queryKey:["snapshots",e],queryFn:()=>o.api.get(`/snapshots/${e}`),enabled:!!e})}var x=e.i(71816),h=e.i(49214),p=e.i(90826),f=e.i(40893),g=e.i(13707),j=e.i(48467),b=e.i(20014),y=e.i(70986),v=e.i(10628),N=e.i(81471),w=e.i(1718),k=e.i(77379);let S=(0,k.default)("File",[["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"}]]);var C=e.i(55575),T=e.i(96263),A=e.i(31501),M=e.i(21682),F=e.i(81187),P=e.i(59546);let B=(0,r.default)(()=>e.A(93823).then(e=>e.RenderedMarkdown),{loadableGenerated:{modules:[37023]},ssr:!1,loading:()=>(0,t.jsx)("div",{className:"max-w-3xl space-y-2 py-2","aria-hidden":"true",children:Array.from({length:5}).map((e,s)=>(0,t.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${65+11*s%30}%`}},s))})});function R({html:e}){let s=e.split(/(<mark>|<\/mark>)/),a=!1,n=[];for(let e=0;e<s.length;e++){if("<mark>"===s[e]){a=!0;continue}if("</mark>"===s[e]){a=!1;continue}let l=s[e].replace(/<[^>]*>/g,"");l&&n.push(a?(0,t.jsx)("mark",{className:"bg-warning/15 rounded-sm px-0.5",children:l},e):l)}return(0,t.jsx)(t.Fragment,{children:n})}let L=["_index","identity/profile","identity/_index","today","yesterday","roadmap","policies/management","policies/mcp","policies/journal-format","policies/journal-export","policies/redaction","journal/agent","context-index"],E=["identity","state/inbox","plans/projects","journal/daily","journal/weekly","journal/monthly","knowledge/repos","knowledge/dossiers","policies","policies/routines","policies/management-captures"],$=new Set(["today","roadmap"]),z={"policies/management":{filename:"policies/management.md",description:"defines the agent's behavioral contract. Edits here can change how the agent acts."},"journal/agent":{filename:"journal/agent.md",description:"is the agent's internal reflection journal — append-only from the Weekly Review routine. Manual edits can remove the agent's own improvement history and break the append-only contract. Prefer leaving it alone unless you are deliberately pruning noise."}};function D(e){return e.endsWith(".base")?e:`${e}.md`}function I({node:e,topDir:a,selectedPath:n,onSelect:l}){let r=`${a}/${e.relPath}`,i=n?.startsWith(`${r}/`)??!1,[o,d]=(0,s.useState)(i),[c,u]=(0,s.useState)(n);return n!==c&&(u(n),i&&d(!0)),(0,t.jsxs)(y.Collapsible,{open:o,onOpenChange:d,children:[(0,t.jsxs)(y.CollapsibleTrigger,{className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm text-muted-foreground hover:bg-accent hover:text-foreground",children:[(0,t.jsx)(T.ChevronRight,{className:(0,N.cn)("h-3 w-3 transition-transform",o&&"rotate-90")}),(0,t.jsx)(C.FolderOpen,{className:"h-3.5 w-3.5"}),e.name,"/"]}),(0,t.jsx)(y.CollapsibleContent,{children:(0,t.jsx)("div",{className:"ml-5 space-y-0.5",children:e.children.map(e=>"dir"===e.kind?(0,t.jsx)(I,{node:e,topDir:a,selectedPath:n,onSelect:l},e.relPath):(0,t.jsx)(K,{name:e.name,active:n===m(a,e.relPath),onClick:()=>l(m(a,e.relPath))},e.relPath))})})]})}function q({dir:e,selectedPath:a,onSelect:n}){let{data:l}=(0,d.useContextList)(e),r=a?.startsWith(`${e}/`)??!1,[i,o]=(0,s.useState)(r),[c,u]=(0,s.useState)(a);a!==c&&(u(a),r&&o(!0));let x=(0,s.useMemo)(()=>{let t=new Set(["identity","policies","policies/routines","policies/management-captures","plans/projects","knowledge/dossiers"]);return function(e){let t=[];for(let s of e){let e=s.name.split("/"),a=t,n="";for(let t=0;t<e.length;t++){let s=e[t],l=t===e.length-1;if(n=n?`${n}/${s}`:s,l)a.push({kind:"file",name:s,relPath:n});else{let e=a.find(e=>"dir"===e.kind&&e.name===s);e||(e={kind:"dir",name:s,relPath:n,children:[]},a.push(e)),a=e.children}}}let s=e=>{for(let t of(e.sort((e,t)=>e.kind!==t.kind?"dir"===e.kind?-1:1:e.name.localeCompare(t.name)),e))"dir"===t.kind&&s(t.children)};return s(t),t}(l?.files.filter(s=>!(t.has(e)&&"_index.md"===s.name))??[])},[l?.files,e]);return(0,t.jsxs)(y.Collapsible,{open:i,onOpenChange:o,children:[(0,t.jsxs)(y.CollapsibleTrigger,{className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm text-muted-foreground hover:bg-accent hover:text-foreground",children:[(0,t.jsx)(T.ChevronRight,{className:(0,N.cn)("h-3 w-3 transition-transform",i&&"rotate-90")}),(0,t.jsx)(C.FolderOpen,{className:"h-3.5 w-3.5"}),e,"/"]}),(0,t.jsx)(y.CollapsibleContent,{children:(0,t.jsx)("div",{className:"ml-5 space-y-0.5",children:x.map(s=>"dir"===s.kind?(0,t.jsx)(I,{node:s,topDir:e,selectedPath:a,onSelect:n},s.relPath):(0,t.jsx)(K,{name:s.name,active:a===m(e,s.relPath),onClick:()=>n(m(e,s.relPath))},s.relPath))})})]})}function K({name:e,active:s,onClick:a}){return(0,t.jsxs)("button",{onClick:a,className:(0,N.cn)("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors",s?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,t.jsx)(S,{className:"h-3.5 w-3.5"}),e]})}let _=(0,s.forwardRef)(function(e,n){var l;let r,m=(0,a.useSearchParams)(),k=(r=m?.get("path"))?r.replace(/\.(md|base)$/i,""):null,[S,C]=(0,s.useState)(k??"identity/profile"),[I,_]=(0,s.useState)(k);k!==I&&(_(k),k&&C(k));let[U,Q]=(0,s.useState)(""),[O,V]=(0,s.useState)(!1),[H,W]=(0,s.useState)(null),[G,Y]=(0,s.useState)(!1),[Z,X]=(0,s.useState)(""),[J,ee]=(0,s.useState)(""),[et,es]=(0,s.useState)(""),[ea,en]=(0,s.useState)(null),[el,er]=(0,s.useState)(null),[ei,eo]=(0,s.useState)(!1),ed=(0,s.useRef)(null),{data:ec}=(0,d.useContextFile)(S,{enabled:!G}),{data:em}=(l=O?U:"",(0,c.useQuery)({queryKey:["search",l],queryFn:()=>o.api.get("/search",{q:l}),enabled:l.length>=2})),{data:eu}=u(S),{data:ex}=(0,c.useQuery)({queryKey:["snapshot-content",H],queryFn:()=>o.api.get(`/snapshots/content/${H}`),enabled:null!==H}),{regenerate:eh,target:ep,status:ef,error:eg,dismiss:ej}=(0,x.useRegenerate)(),eb=(0,d.useUpdateContextFile)(),ey=(0,i.useQueryClient)(),ev=(0,p.useConfirm)(),eN=G&&Z!==J;(0,s.useImperativeHandle)(n,()=>({isDirty:()=>eN,confirmDiscard:async()=>!eN||ev({title:"Discard unsaved changes?",description:"Your edits will be lost if you switch tabs.",confirmLabel:"Discard",variant:"destructive"})}));let ew=()=>{V(!1),Q("")},ek=async()=>!eN||ev({title:"Discard unsaved changes?",description:"Your edits will be lost.",confirmLabel:"Discard",variant:"destructive"}),eS=async e=>{await ek()&&(C(e),W(null),Y(!1),X(""),ee(""),es(""),en(null),er(null),ew())},eC=async()=>{await ek()&&(Y(!1),en(null),er(null),X(""),ee(""),es(""))},eT=()=>{eo(!0),window.setTimeout(()=>eo(!1),2e3)},eA=async(e,t)=>{if(!S)return!1;en(null);try{return await eb.mutateAsync({path:S,content:e,expectedMtime:t}),Y(!1),X(""),ee(""),es(""),er(null),eT(),!0}catch(e){if(e instanceof d.ContextConflictError)return er(e.conflict),!1;if(e instanceof o.ApiError){let t=e.body,s="string"==typeof t?.error?t.error:null;en("forbidden"===s?"This file is read-only — it's not in the daemon's write whitelist.":"morning_routine_lock_held"===s?"state/today.md is locked by the morning routine. Please try again shortly.":"validation_error"===s?"Content failed validation.":`Save failed: ${e.message}`)}else en(e instanceof Error?e.message:"Save failed");return!1}},eM=()=>eA(Z,et),eF=async()=>{el&&await eA(Z,el.currentMtime)},eP=async e=>{(!G||await ek())&&(G&&(Y(!1),X(""),ee(""),es(""),en(null),er(null)),W(e))};(0,s.useEffect)(()=>{if(!eN)return;let e=e=>{e.preventDefault(),e.returnValue=""};return window.addEventListener("beforeunload",e),()=>window.removeEventListener("beforeunload",e)},[eN]),(0,s.useEffect)(()=>{G&&ed.current?.focus()},[G]);let eB=null!==H,eR=!!S&&!eB&&ec?.editable===!0,eL=!!S&&eB&&!!ex&&ec?.editable===!0,eE=H&&ex?ex.content:ec?.content,e$=async()=>{if(S&&ex&&null!==H&&await ev({title:"Restore this snapshot?",description:`This will overwrite ${D(S)} with the snapshot from ${(0,N.formatAbsoluteTime)(ex.created_at)}. The current on-disk version will be backed up as a new snapshot first.`,confirmLabel:"Restore snapshot",variant:"destructive"})){en(null);try{let e=await o.api.post(`/context/restore-snapshot/${H}`);ey.setQueryData(["context",S],t=>t?{...t,content:ex.content,lastModified:e.lastModified}:{content:ex.content,lastModified:e.lastModified,editable:!0}),ey.invalidateQueries({queryKey:["snapshots",S]}),W(null),er(null),eT()}catch(e){if(e instanceof o.ApiError){let t=e.body,s="string"==typeof t?.error?t.error:null;en("morning_routine_lock_held"===s?"state/today.md is locked by the morning routine. Please try again shortly.":"forbidden"===s?"This snapshot cannot be restored because the file is not writable.":"validation_error"===s?"Snapshot restore was rejected because the stored content no longer passes validation.":`Restore failed: ${e.message}`)}else en(e instanceof Error?e.message:"Restore failed")}}};return(0,t.jsxs)("div",{className:"flex h-full min-h-0",children:[(0,t.jsxs)("div",{className:"flex w-64 shrink-0 flex-col border-r border-border min-h-0",children:[(0,t.jsxs)("div",{className:"border-b border-border p-4",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:"Context Files"}),(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Have a file to bring in?"," ",(0,t.jsx)("a",{href:"/knowledge?tab=upload",className:"underline",children:"Upload"})]})]}),(0,t.jsx)(g.ScrollArea,{className:"flex-1 min-h-0",children:(0,t.jsxs)("div",{className:"space-y-0.5 p-2",children:[L.map(e=>(0,t.jsx)(K,{name:D(e),active:S===e,onClick:()=>eS(e)},e)),(0,t.jsx)("div",{className:"my-2 h-px bg-border"}),E.map(e=>(0,t.jsx)(q,{dir:e,selectedPath:S,onSelect:eS},e))]})})]}),(0,t.jsxs)("div",{className:"flex flex-1 flex-col",children:[(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),U.length>=2&&V(!0)},className:"flex items-center gap-2 border-b border-border px-4 py-2",children:[(0,t.jsx)(w.Search,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("input",{type:"text",value:U,onChange:e=>{Q(e.target.value),e.target.value.length<2&&V(!1)},placeholder:"Search actions and messages...",className:"flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground"}),O&&(0,t.jsx)(b.Button,{variant:"ghost",size:"sm",onClick:ew,children:"Clear"})]}),(0,t.jsx)(g.ScrollArea,{className:"flex-1",children:O&&em?(0,t.jsxs)("div",{className:"space-y-4 p-4",children:[(0,t.jsxs)("h3",{className:"text-sm font-semibold text-foreground",children:["Search Results for “",U,"”"]}),em.actions.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"mb-2 text-xs font-medium text-muted-foreground",children:"Actions"}),em.actions.map(e=>(0,t.jsxs)("div",{className:"rounded-md border border-border p-2 mb-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(j.Badge,{variant:"blue",children:e.action_type}),(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-xs font-mono tabular-nums text-muted-foreground",children:(0,N.formatShortDateTime)(e.started_at)})}),(0,t.jsxs)(v.TooltipContent,{children:[(0,N.formatAbsoluteTime)(e.started_at)," (",(0,N.formatRelativeTime)(e.started_at),")"]})]})]}),(0,t.jsx)("p",{className:"mt-1 text-sm",children:(0,t.jsx)(R,{html:e.snippet})})]},e.id))]}),em.messages.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"mb-2 text-xs font-medium text-muted-foreground",children:"Messages"}),em.messages.map(e=>(0,t.jsxs)("div",{className:"rounded-md border border-border p-2 mb-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(j.Badge,{variant:"user"===e.role?"blue":"gray",children:e.role}),(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-xs font-mono tabular-nums text-muted-foreground",children:(0,N.formatShortDateTime)(e.timestamp)})}),(0,t.jsxs)(v.TooltipContent,{children:[(0,N.formatAbsoluteTime)(e.timestamp)," (",(0,N.formatRelativeTime)(e.timestamp),")"]})]})]}),(0,t.jsx)("p",{className:"mt-1 text-sm",children:(0,t.jsx)(R,{html:e.snippet})})]},e.id))]}),0===em.actions.length&&0===em.messages.length&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"No results found"})]}):(0,t.jsxs)("div",{className:"p-4",children:[S&&ec&&(0,t.jsxs)("div",{className:"mb-4 flex flex-wrap items-center gap-3 text-xs text-muted-foreground",children:[(0,t.jsx)("span",{className:"font-mono",children:D(S)}),(0,t.jsxs)("span",{children:["Last modified:"," ",(0,N.formatAbsoluteTime)(G?et:ec.lastModified)]}),ei&&(0,t.jsxs)("span",{className:"flex items-center gap-1 font-medium text-success",children:[(0,t.jsx)(P.CheckCircle2,{className:"h-3 w-3"}),"Saved"]}),eN&&!el&&(0,t.jsx)(j.Badge,{variant:"gray",className:"text-[10px]",children:"Unsaved"}),eB&&(0,t.jsx)(b.Button,{variant:"ghost",size:"sm",onClick:()=>W(null),children:"Back to current"}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[eL&&(0,t.jsxs)(b.Button,{variant:"outline",size:"sm",onClick:()=>void e$(),className:"h-7 gap-1 text-xs",children:[(0,t.jsx)(A.Clock,{className:"h-3 w-3"}),"Restore snapshot"]}),$.has(S)&&!eB&&!G&&(0,t.jsx)(h.RegenerateButton,{target:S,label:"Regenerate",currentTarget:ep,status:ef,error:eg,onRegenerate:eh,onDismiss:ej,className:"text-xs"}),eR&&!G&&(0,t.jsxs)(b.Button,{variant:"outline",size:"sm",onClick:()=>{ec&&(X(ec.content),ee(ec.content),es(ec.lastModified),en(null),er(null),Y(!0))},className:"h-7 gap-1 text-xs",children:[(0,t.jsx)(M.Pencil,{className:"h-3 w-3"}),"Edit"]}),G&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b.Button,{variant:"ghost",size:"sm",onClick:eC,disabled:eb.isPending,className:"h-7 text-xs",children:"Cancel"}),(0,t.jsx)(b.Button,{size:"sm",onClick:eM,disabled:eb.isPending||!eN||null!==el,className:"h-7 text-xs",children:eb.isPending?"Saving...":"Save"})]})]})]}),G&&S&&z[S]&&(0,t.jsxs)("div",{className:"mb-3 flex items-start gap-2 rounded-md border border-warning/40 bg-warning/10 px-3 py-2 text-xs text-warning",children:[(0,t.jsx)(F.AlertTriangle,{className:"mt-0.5 h-3.5 w-3.5 flex-shrink-0"}),(0,t.jsxs)("span",{children:["This file (",(0,t.jsx)("code",{className:"font-mono",children:z[S].filename}),") ",z[S].description]})]}),ea&&(0,t.jsx)("div",{className:"mb-3 rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:ea}),el&&(0,t.jsx)(f.FileConflictBanner,{className:"mb-3",onReload:()=>{el&&(X(el.currentContent),ee(el.currentContent),es(el.currentMtime),er(null),en(null))},onOverwrite:eF,isPending:eb.isPending,reloadLabel:"Reload latest and re-edit"}),G?(0,t.jsx)("textarea",{ref:ed,value:Z,onChange:e=>X(e.target.value),onKeyDown:e=>{if((e.metaKey||e.ctrlKey)&&"s"===e.key.toLowerCase()){e.preventDefault(),Z===J||eb.isPending||eM();return}"Escape"===e.key&&(e.preventDefault(),eC())},spellCheck:!1,className:"min-h-[60vh] w-full max-w-3xl resize-y rounded-md border border-input bg-background p-3 font-mono text-xs leading-relaxed text-foreground focus:outline-none focus:ring-2 focus:ring-ring"}):eE?(0,t.jsx)(B,{content:eE}):(0,t.jsx)("p",{className:"text-muted-foreground",children:"Select a file to view"})]})}),S&&eu&&eu.snapshots.length>0&&!O&&(0,t.jsxs)(y.Collapsible,{children:[(0,t.jsxs)(y.CollapsibleTrigger,{className:"flex w-full items-center justify-between border-t border-border px-4 py-2 text-xs text-muted-foreground hover:bg-accent",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)(A.Clock,{className:"h-3 w-3"}),"Snapshots (",eu.snapshots.length,")"]}),(0,t.jsx)(T.ChevronRight,{className:"h-3 w-3"})]}),(0,t.jsx)(y.CollapsibleContent,{children:(0,t.jsx)("div",{className:"max-h-40 overflow-y-auto border-t border-border",children:eu.snapshots.map(e=>(0,t.jsxs)("button",{onClick:()=>eP(e.id),className:(0,N.cn)("flex w-full items-center gap-3 px-4 py-1.5 text-xs hover:bg-accent",H===e.id&&"bg-primary/10"),children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:(0,N.formatAbsoluteTime)(e.created_at)}),(0,t.jsx)(j.Badge,{variant:"gray",children:e.trigger}),e.session_id&&(0,t.jsx)("span",{className:"font-mono text-muted-foreground",children:String(e.session_id).slice(0,8)})]},e.id))})})]})]})]})});var U=e.i(57415),Q=e.i(79634),O=e.i(8652),V=e.i(57628);let H=(0,k.default)("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]);var W=e.i(40974),G=e.i(60168),Y=e.i(7663),Z=e.i(90925),X=e.i(78927),J=e.i(36451);function ee(){var e;let a,n,l,r,{data:d,isLoading:m}=(0,c.useQuery)({queryKey:["skills"],queryFn:()=>o.api.get("/skills")}),[u,x]=(0,s.useState)(null),[h,f]=(0,s.useState)("view"),[j,y]=(0,s.useState)({name:"",description:"",content:"",allowedTools:""}),[v,N]=(0,s.useState)(null),w=(0,s.useRef)(null),{data:k}=(e="view"===h||"edit"===h?u:null,(0,c.useQuery)({queryKey:["skill",e],queryFn:()=>o.api.get(`/skills/${e}`),enabled:!!e})),S=(a=(0,i.useQueryClient)(),(0,U.useMutation)({mutationFn:e=>o.api.post("/skills",e),onSuccess:(e,t)=>{a.invalidateQueries({queryKey:["skills"]}),a.invalidateQueries({queryKey:["skill",t.name]})}})),C=(n=(0,i.useQueryClient)(),(0,U.useMutation)({mutationFn:({name:e,...t})=>o.api.put(`/skills/${e}`,t),onSuccess:(e,t)=>{n.invalidateQueries({queryKey:["skills"]}),n.invalidateQueries({queryKey:["skill",t.name]})}})),T=(l=(0,i.useQueryClient)(),(0,U.useMutation)({mutationFn:e=>o.api.delete(`/skills/${e}`),onSuccess:(e,t)=>{l.invalidateQueries({queryKey:["skills"]}),l.removeQueries({queryKey:["skill",t]})}})),A=(r=(0,i.useQueryClient)(),(0,U.useMutation)({mutationFn:({file:e,name:t})=>{let s=new FormData;return s.append("file",e),t&&s.append("name",t),fetch("/api/skills/upload",{method:"POST",body:s}).then(async e=>{if(!e.ok){let t=await e.json().catch(()=>null);throw Error(t?.error??`Upload failed (${e.status})`)}return e.json()})},onSuccess:()=>{r.invalidateQueries({queryKey:["skills"]})}}));(0,s.useEffect)(()=>{"view"===h&&k&&y({name:k.name,description:k.description,content:k.content,allowedTools:k.allowedTools.join("\n")})},[k,h]);let M=(0,s.useMemo)(()=>d?.skills.filter(e=>!e.builtin)??[],[d]),F=(0,s.useMemo)(()=>d?.skills.filter(e=>e.builtin)??[],[d]),P=k?.builtin??!1,B=e=>{if(e&&"body"in e&&e.body){let t=e.body;return t.message||t.error||e.message}return e.message||"Unknown error"},R=e=>{x(e),f("view"),N(null)},L=async()=>{N(null);try{let e=j.allowedTools.split("\n").map(e=>e.trim()).filter(e=>e.length>0);"new"===h?(await S.mutateAsync({name:j.name.trim(),description:j.description.trim(),content:j.content,allowedTools:e.length>0?e:void 0}),x(j.name.trim()),f("view")):"edit"===h&&u&&(await C.mutateAsync({name:u,description:j.description.trim(),content:j.content,allowedTools:e}),f("view"))}catch(e){N(B(e))}},E=(0,p.useConfirm)(),$=async()=>{if(u&&!P&&await E({title:`Delete skill "${u}"?`,description:"This cannot be undone.",confirmLabel:"Delete",variant:"destructive"})){N(null);try{await T.mutateAsync(u),x(null),f("view")}catch(e){N(B(e))}}},z=async e=>{N(null);try{let t=await A.mutateAsync({file:e});x(t.name),f("view")}catch(e){N(B(e))}finally{w.current&&(w.current.value="")}},D="new"===h?j.name.trim().length>0&&j.description.trim().length>0&&j.content.trim().length>0:j.description.trim().length>0&&j.content.trim().length>0;return(0,t.jsx)("div",{className:"flex h-full flex-col",children:(0,t.jsxs)("div",{className:"flex min-h-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex w-64 shrink-0 flex-col border-r border-border",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:"Skills"}),(0,t.jsxs)("div",{className:"flex gap-1",children:[(0,t.jsx)(b.Button,{variant:"ghost",size:"icon",onClick:()=>w.current?.click(),title:"Upload .md file",children:(0,t.jsx)(X.Upload,{className:"h-4 w-4"})}),(0,t.jsx)(b.Button,{variant:"ghost",size:"icon",onClick:()=>{x(null),f("new"),y({name:"",description:"",content:"# My Skill\n\nUse when ...\n",allowedTools:""}),N(null)},title:"New skill",children:(0,t.jsx)(G.Plus,{className:"h-4 w-4"})})]}),(0,t.jsx)("input",{ref:w,type:"file",accept:".md,text/markdown",className:"hidden",onChange:e=>{let t=e.target.files?.[0];t&&z(t)}})]}),(0,t.jsx)(g.ScrollArea,{className:"flex-1",children:(0,t.jsxs)("div",{className:"space-y-0.5 p-2",children:[(0,t.jsxs)("div",{className:"px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:["User (",M.length,")"]}),0===M.length&&!m&&(0,t.jsx)("p",{className:"px-2 py-1 text-xs text-muted-foreground",children:"No user skills yet — click + to create one."}),M.map(e=>(0,t.jsx)(et,{name:e.name,description:e.description,active:u===e.name&&"new"!==h,onClick:()=>R(e.name)},e.name)),(0,t.jsx)(V.Separator,{className:"my-2"}),(0,t.jsxs)("div",{className:"flex items-center gap-1 px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:[(0,t.jsx)(W.Lock,{className:"h-2.5 w-2.5"}),"Built-in (",F.length,")"]}),F.map(e=>(0,t.jsx)(et,{name:e.name,description:e.description,builtin:!0,active:u===e.name&&"new"!==h,onClick:()=>R(e.name)},e.name))]})})]}),(0,t.jsx)("div",{className:"flex flex-1 flex-col overflow-hidden",children:"new"===h?(0,t.jsx)(el,{title:"New skill",draft:j,setDraft:y,showName:!0,onCancel:()=>{f("view"),x(null),N(null)},onSave:L,saving:S.isPending,canSave:D,errorMsg:v}):u&&k?"edit"===h?(0,t.jsx)(el,{title:`Edit: ${k.name}`,draft:j,setDraft:y,showName:!1,onCancel:()=>{f("view"),N(null),k&&y({name:k.name,description:k.description,content:k.content,allowedTools:k.allowedTools.join("\n")})},onSave:L,saving:C.isPending,canSave:D,errorMsg:v}):(0,t.jsx)(en,{detail:k,onEdit:()=>{k&&!k.builtin&&(f("edit"),N(null))},onDelete:$,deleting:T.isPending,errorMsg:v}):(0,t.jsx)(es,{})})]})})}function et({name:e,description:s,active:a,builtin:n,onClick:l}){return(0,t.jsxs)("button",{onClick:l,className:(0,N.cn)("flex w-full flex-col gap-0.5 rounded-md px-2 py-1.5 text-left transition-colors",a?"bg-primary/10 text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[n?(0,t.jsx)(W.Lock,{className:"h-3 w-3 shrink-0"}):(0,t.jsx)(H,{className:"h-3 w-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate text-xs font-medium",children:e})]}),s&&(0,t.jsx)("span",{className:"line-clamp-2 pl-4 text-[10px] leading-tight opacity-70",children:s})]})}function es(){return(0,t.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:"Select a skill or create a new one."})}function ea({message:e}){return(0,t.jsx)(Q.Alert,{variant:"error",children:e})}function en({detail:e,onEdit:s,onDelete:a,deleting:n,errorMsg:l}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 border-b border-border px-6 py-3",children:[(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("h1",{className:"text-base font-semibold text-foreground",children:e.name}),e.builtin?(0,t.jsxs)(j.Badge,{variant:"gray",children:[(0,t.jsx)(W.Lock,{className:"mr-1 h-2.5 w-2.5"})," built-in"]}):(0,t.jsx)(j.Badge,{variant:"blue",children:"user"})]}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Updated ",(0,N.formatAbsoluteTime)(e.updatedAt)]})]}),(0,t.jsx)("div",{className:"ml-auto flex gap-2",children:!e.builtin&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b.Button,{variant:"outline",size:"sm",onClick:s,children:"Edit"}),(0,t.jsxs)(b.Button,{variant:"destructive",size:"sm",onClick:a,disabled:n,children:[(0,t.jsx)(Z.Trash2,{className:"h-3.5 w-3.5"})," Delete"]})]})})]}),(0,t.jsx)(g.ScrollArea,{className:"flex-1",children:(0,t.jsxs)("div",{className:"space-y-4 p-6",children:[l&&(0,t.jsx)(ea,{message:l}),e.description&&(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Description"}),(0,t.jsx)("p",{className:"text-sm text-foreground",children:e.description})]}),e.allowedTools.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Allowed tools"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:e.allowedTools.map(e=>(0,t.jsx)(j.Badge,{variant:"gray",className:"font-mono text-[10px]",children:e},e))})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"SKILL.md body"}),(0,t.jsx)("pre",{className:"whitespace-pre-wrap rounded-md border border-border bg-muted/30 p-3 font-mono text-xs text-foreground",children:e.content})]})]})})]})}function el({title:e,draft:s,setDraft:a,showName:n,onCancel:l,onSave:r,saving:i,canSave:o,errorMsg:d}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 border-b border-border px-6 py-3",children:[(0,t.jsx)("h1",{className:"text-base font-semibold text-foreground",children:e}),(0,t.jsxs)("div",{className:"ml-auto flex gap-2",children:[(0,t.jsxs)(b.Button,{variant:"outline",size:"sm",onClick:l,children:[(0,t.jsx)(J.X,{className:"h-3.5 w-3.5"})," Cancel"]}),(0,t.jsxs)(b.Button,{size:"sm",onClick:r,disabled:!o||i,children:[(0,t.jsx)(Y.Save,{className:"h-3.5 w-3.5"})," ",i?"Saving...":"Save"]})]})]}),(0,t.jsx)(g.ScrollArea,{className:"flex-1",children:(0,t.jsxs)("div",{className:"space-y-4 p-6",children:[d&&(0,t.jsx)(ea,{message:d}),n&&(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Name (kebab-case)"}),(0,t.jsx)(O.Input,{value:s.name,onChange:e=>a({...s,name:e.target.value}),placeholder:"my-new-skill"}),(0,t.jsx)("p",{className:"mt-1 text-[10px] text-muted-foreground",children:"Lowercase letters, digits, and hyphens only. 1-64 characters."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Description"}),(0,t.jsx)(O.Input,{value:s.description,onChange:e=>a({...s,description:e.target.value}),placeholder:"One-line description the agent reads to decide when to load this skill"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Allowed tools (optional)"}),(0,t.jsx)("textarea",{value:s.allowedTools,onChange:e=>a({...s,allowedTools:e.target.value}),className:"min-h-[80px] w-full rounded-md border border-input bg-background p-3 font-mono text-xs text-foreground focus:outline-none focus:ring-2 focus:ring-ring",placeholder:"One per line, e.g.\nBash(curl *)\nRead"}),(0,t.jsx)("p",{className:"mt-1 text-[10px] text-muted-foreground",children:"Tool matchers in Claude Code format. Leave blank to inherit the agent's defaults."})]}),(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)("label",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"SKILL.md body"}),(0,t.jsx)("textarea",{value:s.content,onChange:e=>a({...s,content:e.target.value}),className:"min-h-[400px] w-full rounded-md border border-input bg-background p-3 font-mono text-xs text-foreground focus:outline-none focus:ring-2 focus:ring-ring",placeholder:"# Skill body Markdown content here. Frontmatter is injected automatically."})]})]})})]})}var er=e.i(29086),ei=e.i(72740),eo=e.i(10427),ed=e.i(24756),ec=e.i(17532),em=e.i(76176);let eu=[{value:"self-written",label:"Wrote it myself"},{value:"obsidian-export",label:"Exported from Obsidian"},{value:"notion-export",label:"Exported from Notion"},{value:"other",label:"Other"}],ex="__auto__";function eh(){let e=(0,s.useRef)(null),[a,n]=(0,s.useState)(null),[l,r]=(0,s.useState)("self-written"),[i,d]=(0,s.useState)(ex),[c,m]=(0,s.useState)(!1),[u,x]=(0,s.useState)(null),[h,p]=(0,s.useState)(null),{data:f}=(0,ed.useBackends)(),{data:g}=(0,ec.useSetupStatus)(),j=g?.needsSetup===!0,y=(0,s.useMemo)(()=>(f?.backends??[]).filter(e=>e.enabled&&e.cliInstalled&&e.models.length>0).filter(e=>"expired"!==e.authStatus&&"missing"!==e.authStatus),[f]),v=0===y.length,N=async()=>{if(a){m(!0),p(null),x(null);try{let t=new FormData;if(t.append("file",a),t.append("source",l),i!==ex){let e=i.indexOf("::");e>0&&(t.append("requestedBackendId",i.slice(0,e)),t.append("requestedModelId",i.slice(e+2)))}let s=await fetch("/api/knowledge/import",{method:"POST",body:t});if(!s.ok){let e=await s.json().catch(()=>null);throw new o.ApiError(s.status,e)}let r=await s.json();x({traceId:r.traceId,filename:a.name,source:l}),n(null),e.current&&(e.current.value="")}catch(e){if(e instanceof o.ApiError){let t=e.body;p(t?.message??t?.error??`HTTP ${e.status}`)}else p(e instanceof Error?e.message:"Upload failed.")}finally{m(!1)}}};if(j)return(0,t.jsxs)("div",{className:"max-w-2xl space-y-3",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Import a file into Context Files"}),(0,t.jsxs)(Q.Alert,{variant:"warning",children:["Complete the initial setup wizard first. The"," ",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:"user/*.md"})," files the import targets are seeded only after you finish setup —"," ",(0,t.jsx)("a",{href:"/setup",className:"underline",children:"open setup"}),"."]})]});let w=c||v;return(0,t.jsxs)("div",{className:"max-w-2xl space-y-6",children:[(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Import a file into Context Files"}),(0,t.jsxs)("p",{className:"text-sm text-muted-foreground",children:["Bring a personal-info file you wrote elsewhere (an Obsidian export, a Notion export, a hand-written profile). The agent reads it once and folds its facts into the right ",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:"user/*.md"})," Context Files — appending bullets verbatim, never overwriting, never paraphrasing."]}),(0,t.jsxs)("div",{className:"rounded-md border bg-card p-3 text-sm",children:[(0,t.jsx)("p",{className:"font-medium text-foreground",children:"Recommended formats"}),(0,t.jsxs)("ul",{className:"mt-1 space-y-0.5 text-muted-foreground",children:[(0,t.jsxs)("li",{children:[(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:".md"})," /"," ",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:".markdown"})," — Markdown. Preferred — bullets, headings, and front-matter all carry through."]}),(0,t.jsxs)("li",{children:[(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:".txt"})," — plain text. Use when the source is unstructured prose."]})]}),(0,t.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:"These are the file types every supported execution agent — Claude Code, Codex CLI, and Gemini CLI — reads natively, so the import runs the same way no matter which backend you pick. Other formats (PDF, DOCX, HTML) are not accepted: convert to Markdown or plain text first so the agent reads exactly the bytes you intend."})]}),(0,t.jsxs)("div",{className:"rounded-md border bg-card p-3 text-sm",children:[(0,t.jsx)("p",{className:"font-medium text-foreground",children:"Where facts land"}),(0,t.jsxs)("ul",{className:"mt-1 space-y-0.5 text-muted-foreground",children:[(0,t.jsx)("li",{children:"Identity (name, timezone, language, DOB) → flagged for your confirmation, not auto-written."}),(0,t.jsxs)("li",{children:["Relationships (family, partners, close friends) → ",(0,t.jsx)("code",{children:"identity/people.md"})]}),(0,t.jsxs)("li",{children:["Work, employer, role, colleagues → ",(0,t.jsx)("code",{children:"identity/work.md"})]}),(0,t.jsxs)("li",{children:["Skills, expertise, languages spoken → ",(0,t.jsx)("code",{children:"identity/expertise.md"})]}),(0,t.jsxs)("li",{children:["Lifestyle, hobbies, preferences, health → ",(0,t.jsx)("code",{children:"identity/personal.md"})]}),(0,t.jsxs)("li",{children:["Goals, aspirations, current focus → ",(0,t.jsx)("code",{children:"identity/goals.md"})]}),(0,t.jsxs)("li",{children:["Anything else → ",(0,t.jsx)("code",{children:"identity/profile.md"})," under a Misc section."]})]})]}),(0,t.jsxs)("div",{className:"rounded-md border bg-card p-3 text-sm",children:[(0,t.jsx)("p",{className:"font-medium text-foreground",children:"Strict-fidelity guarantee"}),(0,t.jsxs)("p",{className:"mt-1 text-muted-foreground",children:["The session runs under a dedicated agent profile (",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:"profile-importer"}),") materialized into ",(0,t.jsx)("code",{children:"CLAUDE.md"})," / ",(0,t.jsx)("code",{children:"AGENTS.md"})," /"," ",(0,t.jsx)("code",{children:"GEMINI.md"})," for the chosen backend. Its top-level rule:"]}),(0,t.jsxs)("ul",{className:"mt-1 space-y-0.5 text-muted-foreground",children:[(0,t.jsxs)("li",{children:["Copy bullets ",(0,t.jsx)("strong",{children:"verbatim"})," — no paraphrase, no summary, no inference beyond the literal text."]}),(0,t.jsxs)("li",{children:["Existing bullets are never overwritten. Contradictions land in a ",(0,t.jsx)("code",{children:"## Pending Conflicts"})," section for you to resolve."]}),(0,t.jsx)("li",{children:"If a sentence is ambiguous, the agent skips it and notes the skip in its journal."})]})]}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Limits: max file size ",64,"KB (split larger files and import in pieces — strict fidelity does not scale beyond this). Files that contain private keys, API tokens, or credentials are rejected at upload time and never written to disk inside the agent’s vault."]})]}),(0,t.jsxs)("div",{className:"space-y-3 rounded-lg border bg-card p-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1.5 block text-sm font-medium",children:"File"}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("input",{ref:e,type:"file",accept:".md,.markdown,.txt",className:"hidden",onChange:e=>{let t=e.target.files?.[0]??null;if(p(null),x(null),t&&t.size>65536){p(`File is ${(t.size/1024).toFixed(1)} KB. Maximum is 64 KB — split the file and import in pieces.`),n(null),e.target.value="";return}n(t)}}),(0,t.jsxs)(b.Button,{type:"button",variant:"outline",onClick:()=>e.current?.click(),disabled:w,children:[(0,t.jsx)(X.Upload,{className:"mr-1.5 h-4 w-4"}),"Choose file"]}),a&&(0,t.jsxs)("span",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[(0,t.jsx)(er.FileText,{className:"h-3.5 w-3.5"}),a.name," (",(a.size/1024).toFixed(1)," KB)"]})]}),(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Accepts ",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:".md"}),","," ",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:".markdown"}),", or"," ",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:".txt"}),". Up to ",64," KB after UTF-8 encoding (Japanese / non-ASCII characters take 3 bytes each)."]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1.5 block text-sm font-medium",children:"Source"}),(0,t.jsxs)(eo.Select,{value:l,onValueChange:r,disabled:c,children:[(0,t.jsx)(eo.SelectTrigger,{className:"w-full",children:(0,t.jsx)(eo.SelectValue,{})}),(0,t.jsx)(eo.SelectContent,{children:eu.map(e=>(0,t.jsx)(eo.SelectItem,{value:e.value,children:e.label},e.value))})]}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Recorded in the journal entry the import session writes when it finishes."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1.5 block text-sm font-medium",children:"Execution agent"}),(0,t.jsxs)(eo.Select,{value:i,onValueChange:d,disabled:c||v,children:[(0,t.jsx)(eo.SelectTrigger,{className:"w-full",children:(0,t.jsx)(eo.SelectValue,{})}),(0,t.jsxs)(eo.SelectContent,{children:[(0,t.jsx)(eo.SelectItem,{value:ex,children:"Use default routing"}),y.map(e=>(0,t.jsxs)(eo.SelectGroup,{children:[(0,t.jsx)(eo.SelectLabel,{children:(0,em.getBackendShortLabel)(e.id)}),e.models.map(s=>(0,t.jsx)(eo.SelectItem,{value:`${e.id}::${s.modelId}`,children:s.label},`${e.id}::${s.modelId}`))]},e.id))]})]}),v?(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["No authenticated backends — set one up under"," ",(0,t.jsx)("a",{href:"/connections/backends",className:"underline",children:"Connections → Backends"}),"."]}):(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Choose which backend runs this import. Only backends you’ve authenticated and whose CLI binary is on PATH are listed. “Use default routing” falls back to the daemon’s configured main backend."})]}),(0,t.jsx)("div",{className:"flex items-center gap-3 pt-1",children:(0,t.jsx)(b.Button,{onClick:N,disabled:!a||c||v,children:c?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ei.Loader2,{className:"mr-1.5 h-4 w-4 animate-spin"}),"Uploading…"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(X.Upload,{className:"mr-1.5 h-4 w-4"}),"Import"]})})}),h&&(0,t.jsx)(Q.Alert,{variant:"error",children:h}),u&&(0,t.jsxs)(Q.Alert,{variant:"success",children:["Import accepted — the agent is processing"," ",(0,t.jsx)("strong",{children:u.filename}),". Watch progress in"," ",(0,t.jsxs)("a",{href:`/activity?correlationId=${encodeURIComponent(u.traceId)}`,className:"underline",children:["Activity (trace ",u.traceId.slice(0,8),")"]})," ","and review the resulting bullets in"," ",(0,t.jsx)("a",{href:"/knowledge?tab=context-files",className:"underline",children:"Context Files"})," ","once the run finishes."]})]})]})}var ep=e.i(84603),ef=e.i(26928);e.i(18446);var eg=e.i(54530);function ej(e){if(!e)return[];let t=new Map;for(let s of e){let e=(0,eg.normalizeAppLabel)(s.app),a=t.get(e);a?a.count+=1:t.set(e,{normalized:e,label:s.app,count:1,status:"active"})}return Array.from(t.values()).sort((e,t)=>e.label.localeCompare(t.label))}var eb=e.i(74490),ey=e.i(50862),ev=e.i(49785);let eN=(0,r.default)(()=>e.A(93823).then(e=>e.RenderedMarkdown),{loadableGenerated:{modules:[37023]},ssr:!1,loading:()=>(0,t.jsx)("div",{className:"space-y-2 py-2",children:Array.from({length:5}).map((e,s)=>(0,t.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${65+11*s%30}%`}},s))})});function ew(){let e=(0,ef.useManagedTasks)(),a=(0,c.useQuery)({queryKey:["activity-sources"],queryFn:()=>o.api.get("/activity-sources"),staleTime:6e4}),n=(0,s.useMemo)(()=>(function(e,t){if(!t||0===t.length)return e;let s=new Map;for(let t of e)s.set(t.normalized,t);for(let e of t)s.has(e.normalized)||s.set(e.normalized,{normalized:e.normalized,label:e.label,count:0,status:e.status});return Array.from(s.values()).sort((e,t)=>e.label.localeCompare(t.label))})(ej(e.data?.items),a.data?.items),[e.data,a.data]),[l,r]=(0,s.useState)(null),i=l??n.find(e=>"active"===e.status)?.normalized??n[0]?.normalized??null;return(0,t.jsxs)("div",{className:"grid h-full grid-cols-1 gap-4 md:grid-cols-[16rem_1fr]",children:[(0,t.jsxs)(eb.Card,{className:"flex h-full min-h-0 flex-col p-3",children:[(0,t.jsx)("h3",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Sources"}),(0,t.jsx)(ev.QueryResult,{isLoading:e.isLoading,isError:e.isError,error:e.error,onRetry:()=>e.refetch(),children:0===n.length?(0,t.jsx)(ey.EmptyState,{icon:ep.Activity,title:"No sources",description:"Active managed tasks define which sources have an activity view."}):(0,t.jsx)(g.ScrollArea,{className:"min-h-0 flex-1",children:(0,t.jsx)("ul",{className:"space-y-0.5",children:n.map(e=>{let s=e.normalized===i,a="stopped"===e.status;return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>r(e.normalized),className:(0,N.cn)("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm transition-colors",s?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-accent hover:text-foreground",a&&!s&&"opacity-70"),title:a?"Stopped — kept for the 90-day activity window.":void 0,children:[(0,t.jsx)(er.FileText,{className:"h-3.5 w-3.5 shrink-0"}),(0,t.jsx)("span",{className:"flex-1 truncate",children:e.label}),a?(0,t.jsx)(j.Badge,{variant:"amber",className:"shrink-0 text-[10px]",children:"stopped"}):(0,t.jsx)(j.Badge,{variant:"gray",className:"shrink-0",children:e.count})]})},e.normalized)})})})})]}),(0,t.jsx)(eb.Card,{className:"flex h-full min-h-0 flex-col p-4",children:i?(0,t.jsx)(ek,{source:i}):(0,t.jsx)(ey.EmptyState,{icon:ep.Activity,title:"No source selected",description:"Pick a source on the left to view its activity log."})})]})}function ek({source:e}){let a=`state/activity/${e}.md`,n=(0,d.useContextFile)(a),l=u(a),[r,i]=(0,s.useState)(!1);return n.isLoading?(0,t.jsx)("div",{className:"space-y-2 py-2",children:Array.from({length:5}).map((e,s)=>(0,t.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${50+11*s%30}%`}},s))}):n.error?404===n.error?.status?(0,t.jsx)(ey.EmptyState,{icon:A.Clock,title:"No activity recorded yet",description:"The activity-view reconciler will produce "+a+" after the next scheduled run."}):(0,t.jsxs)("p",{className:"text-sm text-destructive",children:["Failed to load: ",n.error.message]}):n.data?(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,t.jsxs)("div",{className:"mb-3 flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:(0,t.jsx)("code",{className:"font-mono text-xs",children:a})}),(0,t.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:["Auto-generated · last modified"," ",(0,N.formatRelativeTime)(n.data.lastModified)]})]}),l.data&&l.data.snapshots.length>0&&(0,t.jsx)(b.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>i(e=>!e),children:r?"Hide history":`Show history (${l.data.snapshots.length})`})]}),r&&l.data&&(0,t.jsx)(eS,{snapshots:l.data.snapshots}),(0,t.jsx)(g.ScrollArea,{className:"min-h-0 flex-1",children:(0,t.jsx)(eN,{content:n.data.content})})]}):null}function eS({snapshots:e}){return(0,t.jsx)("ul",{className:"mb-3 space-y-1 rounded-md border border-border/40 bg-muted/30 p-2 text-[11px]",children:e.slice(0,10).map(e=>(0,t.jsxs)("li",{className:"flex items-center justify-between gap-2 px-1 py-0.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:(0,N.formatRelativeTime)(e.created_at)}),(0,t.jsx)("span",{className:"text-muted-foreground/70",children:e.trigger})]},e.id))})}let eC=(0,k.default)("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);var eT=e.i(77901),eA=e.i(86954);let eM=(0,r.default)(()=>e.A(93823).then(e=>e.RenderedMarkdown),{loadableGenerated:{modules:[37023]},ssr:!1,loading:()=>(0,t.jsx)("div",{className:"space-y-2 py-2",children:Array.from({length:5}).map((e,s)=>(0,t.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${65+11*s%30}%`}},s))})});function eF(){let[e,a]=(0,s.useState)("source");return(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col gap-4",children:[(0,t.jsx)(eb.Card,{className:"p-3",children:(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(eT.Filter,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,t.jsxs)("div",{className:"flex items-center gap-1 rounded-md border border-border bg-background p-0.5",children:[(0,t.jsx)("button",{type:"button",onClick:()=>a("source"),className:(0,N.cn)("rounded px-2.5 py-1 text-xs transition-colors","source"===e?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:"By source"}),(0,t.jsx)("button",{type:"button",onClick:()=>a("domain"),className:(0,N.cn)("rounded px-2.5 py-1 text-xs transition-colors","domain"===e?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:"By domain"})]})]})}),"source"===e?(0,t.jsx)(eP,{}):(0,t.jsx)(eB,{})]})}function eP(){let e=(0,ef.useManagedTasks)(),a=(0,s.useMemo)(()=>ej(e.data?.items),[e.data]),[n,l]=(0,s.useState)(null),r=n??a[0]?.normalized??null,i=function(e,t=100){return(0,c.useQuery)({queryKey:["entities-by-source",e,t],queryFn:()=>o.api.get("/entities",{source:e,limit:t}),enabled:!!e,staleTime:3e4,placeholderData:eA.keepPreviousData})}(r,200);return(0,t.jsx)(eR,{sidebar:(0,t.jsxs)(eb.Card,{className:"flex h-full min-h-0 flex-col p-3",children:[(0,t.jsx)("h3",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Sources"}),(0,t.jsx)(ev.QueryResult,{isLoading:e.isLoading,isError:e.isError,error:e.error,onRetry:()=>e.refetch(),children:0===a.length?(0,t.jsx)(ey.EmptyState,{icon:eC,title:"No sources",description:"Register a managed task first."}):(0,t.jsx)(g.ScrollArea,{className:"min-h-0 flex-1",children:(0,t.jsx)("ul",{className:"space-y-0.5",children:a.map(e=>{let s=e.normalized===r;return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>l(e.normalized),className:(0,N.cn)("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm transition-colors",s?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,t.jsx)("span",{className:"flex-1 truncate",children:e.label}),(0,t.jsx)(j.Badge,{variant:"gray",className:"shrink-0",children:e.count})]})},e.normalized)})})})})]}),content:(0,t.jsx)(eL,{query:i,emptyTitle:"No entities tagged yet",emptyDescription:"Once the scheduled-managed-task skill runs, entity files appear here."})})}function eB(){let e=(0,s.useMemo)(()=>new Date().toISOString().slice(0,10),[]),[a,n]=(0,s.useState)("work"),[l,r]=(0,s.useState)("meeting"),[i,d]=(0,s.useState)(e),[m,u]=(0,s.useState)(""),x=function(e){let{domain:t,type:s,date:a,q:n,limit:l}=e,r=!!t&&!!s&&!!a;return(0,c.useQuery)({queryKey:["entities-by-domain-type-date",t,s,a,n,l],queryFn:()=>o.api.get("/entities",{domain:t,type:s,date:a,...n?{q:n}:{},...l?{limit:l}:{}}),enabled:r,staleTime:3e4,placeholderData:eA.keepPreviousData})}({domain:a,type:l,date:i,q:m.trim()?m.trim():void 0,limit:100});return(0,t.jsx)(eR,{sidebar:(0,t.jsxs)(eb.Card,{className:"flex h-full min-h-0 flex-col gap-3 p-3",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"text-xs font-medium",htmlFor:"filter-domain",children:"Domain"}),(0,t.jsxs)(eo.Select,{value:a,onValueChange:e=>n(e),children:[(0,t.jsx)(eo.SelectTrigger,{id:"filter-domain",className:"h-8 text-xs",children:(0,t.jsx)(eo.SelectValue,{})}),(0,t.jsx)(eo.SelectContent,{children:eg.DOMAINS.map(e=>(0,t.jsx)(eo.SelectItem,{value:e,children:e},e))})]})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"text-xs font-medium",htmlFor:"filter-type",children:"Type"}),(0,t.jsxs)(eo.Select,{value:l,onValueChange:e=>r(e),children:[(0,t.jsx)(eo.SelectTrigger,{id:"filter-type",className:"h-8 text-xs",children:(0,t.jsx)(eo.SelectValue,{})}),(0,t.jsx)(eo.SelectContent,{children:eg.ENTITY_TYPES.map(e=>(0,t.jsx)(eo.SelectItem,{value:e,children:eg.TYPE_PLURALS[e]},e))})]})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"text-xs font-medium",htmlFor:"filter-date",children:"Date"}),(0,t.jsx)(O.Input,{id:"filter-date",type:"date",value:i,onChange:e=>d(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"text-xs font-medium",htmlFor:"filter-q",children:"Title contains"}),(0,t.jsx)(O.Input,{id:"filter-q",type:"search",value:m,onChange:e=>u(e.target.value),placeholder:"optional"})]})]}),content:(0,t.jsx)(eL,{query:x,emptyTitle:"No matches",emptyDescription:`No entities under ${a}/${eg.TYPE_PLURALS[l]} on ${i}.`})})}function eR({sidebar:e,content:s}){return(0,t.jsxs)("div",{className:"grid min-h-0 flex-1 grid-cols-1 gap-4 md:grid-cols-[18rem_1fr]",children:[e,s]})}function eL({query:e,emptyTitle:a,emptyDescription:n}){let[l,r]=(0,s.useState)(null);return(0,t.jsx)(eb.Card,{className:"flex h-full min-h-0 flex-col p-0",children:(0,t.jsxs)("div",{className:"grid min-h-0 flex-1 grid-cols-1 md:grid-cols-2",children:[(0,t.jsxs)("div",{className:"flex min-h-0 flex-col border-b border-border md:border-b-0 md:border-r",children:[(0,t.jsxs)("div",{className:"border-b border-border px-3 py-2 text-[11px] uppercase tracking-wide text-muted-foreground",children:["Results ",e.data?`(${e.data.items.length})`:""]}),(0,t.jsx)("div",{className:"min-h-0 flex-1",children:(0,t.jsx)(ev.QueryResult,{isLoading:e.isLoading,isError:e.isError,error:e.error,onRetry:()=>e.refetch(),children:e.data&&0!==e.data.items.length?(0,t.jsx)(g.ScrollArea,{className:"h-full",children:(0,t.jsx)("ul",{className:"divide-y divide-border/40",children:e.data.items.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>r(e.path),className:(0,N.cn)("flex w-full flex-col gap-0.5 px-3 py-2 text-left text-sm transition-colors",l===e.path?"bg-primary/10 text-primary":"hover:bg-accent"),children:[(0,t.jsxs)("span",{className:"flex items-start gap-2",children:[(0,t.jsx)(er.FileText,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"flex-1 truncate font-medium",children:e.title}),e.status&&(0,t.jsx)(j.Badge,{variant:"gray",className:"shrink-0",children:e.status})]}),(0,t.jsx)("span",{className:"ml-5 truncate text-[11px] text-muted-foreground",children:(0,t.jsx)("code",{children:e.path})}),Object.keys(e.sources).length>0&&(0,t.jsx)("span",{className:"ml-5 flex flex-wrap gap-1",children:Object.keys(e.sources).map(e=>(0,t.jsx)(j.Badge,{variant:"blue",className:"text-[10px]",children:e},e))})]})},e.path))})}):(0,t.jsx)(ey.EmptyState,{icon:eC,title:a,description:n})})})]}),(0,t.jsx)("div",{className:"flex min-h-0 flex-col",children:l?(0,t.jsx)(eE,{path:l}):(0,t.jsx)(ey.EmptyState,{icon:er.FileText,title:"No entity selected",description:"Pick a result on the left to view the underlying MD file.",className:"py-8"})})]})})}function eE({path:e}){let s=e.endsWith(".md")?e.slice(0,-3):e,a=(0,d.useContextFile)(s);return a.isLoading?(0,t.jsx)("div",{className:"space-y-2 p-4",children:Array.from({length:5}).map((e,s)=>(0,t.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${50+11*s%30}%`}},s))}):a.error?404===a.error?.status?(0,t.jsx)(ey.EmptyState,{icon:er.FileText,title:"Mirror is stale",description:`The entity file at ${e} was deleted but the mirror still has the row. The watcher should reconcile shortly.`}):(0,t.jsxs)("p",{className:"p-4 text-sm text-destructive",children:["Failed to load: ",a.error.message]}):a.data?(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,t.jsxs)("div",{className:"border-b border-border px-3 py-2",children:[(0,t.jsx)("code",{className:"font-mono text-[11px] text-muted-foreground",children:e}),(0,t.jsxs)("p",{className:"text-[11px] text-muted-foreground/70",children:["Last modified ",(0,N.formatRelativeTime)(a.data.lastModified)]})]}),(0,t.jsx)(g.ScrollArea,{className:"min-h-0 flex-1",children:(0,t.jsx)("div",{className:"p-4",children:(0,t.jsx)(eM,{content:a.data.content})})})]}):null}let e$={"context-files":"Markdown notes the agent loads on each run — its long-term memory.",skills:"Per-event-type behavioral guides materialized into the session workdir.",activity:"Per-source aggregates written by the management registry.",entities:"Structured records (people, organizations, projects) filterable by source, domain, type, or date.",upload:"Ingest a Markdown or text file; facts are folded into the right Context Files by topic."};function ez(){let e=(0,a.useSearchParams)(),r=(0,a.useRouter)(),i=e.get("tab")??"context-files",o=(0,s.useRef)(null),d=async e=>{("context-files"!==i||"context-files"===e||await o.current?.confirmDiscard())&&r.replace(`/knowledge?tab=${e}`,{scroll:!1})};return(0,t.jsxs)("div",{className:"flex h-full flex-col p-6",children:[(0,t.jsx)(l.PageHeader,{className:"mb-3",title:"Knowledge",description:e$[i]}),(0,t.jsxs)(n.Tabs,{value:i,onValueChange:d,className:"flex min-h-0 flex-1 flex-col",children:[(0,t.jsxs)(n.TabsList,{className:"w-fit",children:[(0,t.jsx)(n.TabsTrigger,{value:"context-files",children:"Context Files"}),(0,t.jsx)(n.TabsTrigger,{value:"skills",children:"Skills"}),(0,t.jsx)(n.TabsTrigger,{value:"activity",children:"Activity"}),(0,t.jsx)(n.TabsTrigger,{value:"entities",children:"Entities"}),(0,t.jsx)(n.TabsTrigger,{value:"upload",children:"Upload"})]}),(0,t.jsx)(n.TabsContent,{value:"context-files",className:"mt-4 min-h-0 flex-1",children:(0,t.jsx)(_,{ref:o})}),(0,t.jsx)(n.TabsContent,{value:"skills",className:"mt-4 min-h-0 flex-1",children:(0,t.jsx)(ee,{})}),(0,t.jsx)(n.TabsContent,{value:"activity",className:"mt-4 min-h-0 flex-1",children:(0,t.jsx)(ew,{})}),(0,t.jsx)(n.TabsContent,{value:"entities",className:"mt-4 min-h-0 flex-1",children:(0,t.jsx)(eF,{})}),(0,t.jsx)(n.TabsContent,{value:"upload",className:"mt-4 min-h-0 flex-1 overflow-y-auto",children:(0,t.jsx)(eh,{})})]})]})}e.s(["default",0,function(){return(0,t.jsx)(s.Suspense,{children:(0,t.jsx)(ez,{})})}],29855)}]);
|