@aitne/dashboard 0.1.4 → 0.1.6
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 +5 -1
- package/.next/build-manifest.json +3 -3
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/diagnostics/route-bundle-stats.json +450 -356
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-manifest.json +96 -0
- package/.next/routes-manifest.json +24 -0
- 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.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.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 +19 -19
- package/.next/server/app/activity.segments/_full.segment.rsc +19 -19
- 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 +2 -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/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 +19 -19
- package/.next/server/app/analytics.segments/_full.segment.rsc +19 -19
- 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 +2 -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/api/[...path]/route.js +1 -1
- package/.next/server/app/api/[...path]/route.js.nft.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 +17 -17
- package/.next/server/app/chat.segments/_full.segment.rsc +17 -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 +2 -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.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 +18 -18
- package/.next/server/app/connections/calendar.segments/_full.segment.rsc +18 -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 +2 -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.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 +16 -16
- package/.next/server/app/connections/journal.segments/_full.segment.rsc +16 -16
- 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 +2 -2
- package/.next/server/app/connections/journal.segments/connections/journal/__PAGE__.segment.rsc +2 -2
- 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/knowledge/page.js.nft.json +1 -1
- package/.next/server/app/connections/knowledge/page_client-reference-manifest.js +1 -1
- package/.next/server/app/connections/knowledge.html +1 -1
- package/.next/server/app/connections/knowledge.rsc +18 -18
- package/.next/server/app/connections/knowledge.segments/_full.segment.rsc +18 -18
- package/.next/server/app/connections/knowledge.segments/_head.segment.rsc +4 -4
- package/.next/server/app/connections/knowledge.segments/_index.segment.rsc +10 -10
- package/.next/server/app/connections/knowledge.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/connections/knowledge.segments/connections/knowledge/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/connections/knowledge.segments/connections/knowledge.segment.rsc +3 -3
- package/.next/server/app/connections/knowledge.segments/connections.segment.rsc +4 -4
- 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 +18 -18
- package/.next/server/app/connections/mail.segments/_full.segment.rsc +18 -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 +2 -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.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 +18 -18
- package/.next/server/app/connections/mcp.segments/_full.segment.rsc +18 -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 +2 -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.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 +18 -18
- package/.next/server/app/connections/messaging.segments/_full.segment.rsc +18 -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 +2 -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/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.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 +18 -18
- package/.next/server/app/connections/repositories.segments/_full.segment.rsc +18 -18
- 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 +2 -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.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 +16 -16
- package/.next/server/app/connections/routines.segments/_full.segment.rsc +16 -16
- 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 +2 -2
- package/.next/server/app/connections/routines.segments/connections/routines/__PAGE__.segment.rsc +2 -2
- 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 +16 -16
- package/.next/server/app/connections.segments/_full.segment.rsc +16 -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 +2 -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.js.nft.json +1 -1
- package/.next/server/app/conversations/[id]/page_client-reference-manifest.js +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 +15 -15
- package/.next/server/app/conversations.segments/_full.segment.rsc +15 -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 +2 -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.js.nft.json +1 -1
- package/.next/server/app/docs/[[...slug]]/page_client-reference-manifest.js +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 +17 -17
- package/.next/server/app/finance.segments/_full.segment.rsc +17 -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 +2 -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.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 +17 -17
- package/.next/server/app/git.segments/_full.segment.rsc +17 -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 +2 -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.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 +17 -17
- package/.next/server/app/health.segments/_full.segment.rsc +17 -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 +2 -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 +17 -17
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/index.segments/_full.segment.rsc +17 -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 +2 -2
- 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 +18 -18
- package/.next/server/app/knowledge.segments/_full.segment.rsc +18 -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 +2 -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.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +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 +17 -17
- package/.next/server/app/reading.segments/_full.segment.rsc +17 -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 +2 -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.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 +17 -17
- package/.next/server/app/schedule.segments/_full.segment.rsc +17 -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 +2 -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/advanced/page.js.nft.json +1 -1
- package/.next/server/app/settings/advanced/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/advanced.html +1 -1
- package/.next/server/app/settings/advanced.rsc +18 -18
- package/.next/server/app/settings/advanced.segments/_full.segment.rsc +18 -18
- package/.next/server/app/settings/advanced.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/advanced.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/advanced.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/advanced.segments/settings/advanced/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/advanced.segments/settings/advanced.segment.rsc +3 -3
- package/.next/server/app/settings/advanced.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/backends/page.js.nft.json +1 -1
- package/.next/server/app/settings/backends/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/backends.html +1 -1
- package/.next/server/app/settings/backends.rsc +16 -16
- package/.next/server/app/settings/backends.segments/_full.segment.rsc +16 -16
- package/.next/server/app/settings/backends.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/backends.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/backends.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/backends.segments/settings/backends/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings/backends.segments/settings/backends.segment.rsc +3 -3
- package/.next/server/app/settings/backends.segments/settings.segment.rsc +4 -4
- 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 +18 -18
- package/.next/server/app/settings/commands.segments/_full.segment.rsc +18 -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 +2 -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/connections/page.js.nft.json +1 -1
- package/.next/server/app/settings/connections/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/connections.html +1 -1
- package/.next/server/app/settings/connections.rsc +16 -16
- package/.next/server/app/settings/connections.segments/_full.segment.rsc +16 -16
- package/.next/server/app/settings/connections.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/connections.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/connections.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/connections.segments/settings/connections/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings/connections.segments/settings/connections.segment.rsc +3 -3
- package/.next/server/app/settings/connections.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/journal/page.js.nft.json +1 -1
- package/.next/server/app/settings/journal/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/journal.html +1 -1
- package/.next/server/app/settings/journal.rsc +18 -18
- package/.next/server/app/settings/journal.segments/_full.segment.rsc +18 -18
- package/.next/server/app/settings/journal.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/journal.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/journal.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/journal.segments/settings/journal/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/journal.segments/settings/journal.segment.rsc +3 -3
- package/.next/server/app/settings/journal.segments/settings.segment.rsc +4 -4
- 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 +18 -18
- package/.next/server/app/settings/management.segments/_full.segment.rsc +18 -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 +2 -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/messaging/page.js.nft.json +1 -1
- package/.next/server/app/settings/messaging/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/messaging.html +1 -1
- package/.next/server/app/settings/messaging.rsc +16 -16
- package/.next/server/app/settings/messaging.segments/_full.segment.rsc +16 -16
- package/.next/server/app/settings/messaging.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/messaging.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/messaging.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/messaging.segments/settings/messaging/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings/messaging.segments/settings/messaging.segment.rsc +3 -3
- package/.next/server/app/settings/messaging.segments/settings.segment.rsc +4 -4
- 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 +18 -18
- package/.next/server/app/settings/models.segments/_full.segment.rsc +18 -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 +2 -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.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/processes/page.js.nft.json +1 -1
- package/.next/server/app/settings/processes/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/processes.html +1 -1
- package/.next/server/app/settings/processes.rsc +16 -16
- package/.next/server/app/settings/processes.segments/_full.segment.rsc +16 -16
- package/.next/server/app/settings/processes.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/processes.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/processes.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/processes.segments/settings/processes/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings/processes.segments/settings/processes.segment.rsc +3 -3
- package/.next/server/app/settings/processes.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/routines/page.js.nft.json +1 -1
- package/.next/server/app/settings/routines/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/routines.html +1 -1
- package/.next/server/app/settings/routines.rsc +18 -18
- package/.next/server/app/settings/routines.segments/_full.segment.rsc +18 -18
- package/.next/server/app/settings/routines.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/routines.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/routines.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/routines.segments/settings/routines/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/routines.segments/settings/routines.segment.rsc +3 -3
- package/.next/server/app/settings/routines.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/schedule/page.js.nft.json +1 -1
- package/.next/server/app/settings/schedule/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/schedule.html +1 -1
- package/.next/server/app/settings/schedule.rsc +18 -18
- package/.next/server/app/settings/schedule.segments/_full.segment.rsc +18 -18
- package/.next/server/app/settings/schedule.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/schedule.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/schedule.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/schedule.segments/settings/schedule/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/schedule.segments/settings/schedule.segment.rsc +3 -3
- package/.next/server/app/settings/schedule.segments/settings.segment.rsc +4 -4
- 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 +18 -18
- package/.next/server/app/settings/self-learning.segments/_full.segment.rsc +18 -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 +2 -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/app-paths-manifest.json +3 -0
- package/.next/server/app/settings/wiki/page/build-manifest.json +18 -0
- package/.next/server/app/settings/wiki/page/next-font-manifest.json +6 -0
- package/.next/server/app/settings/wiki/page/react-loadable-manifest.json +8 -0
- package/.next/server/app/settings/wiki/page/server-reference-manifest.json +4 -0
- package/.next/server/app/settings/wiki/page.js +16 -0
- package/.next/server/app/settings/wiki/page.js.map +5 -0
- package/.next/server/app/settings/wiki/page.js.nft.json +1 -0
- package/.next/server/app/settings/wiki/page_client-reference-manifest.js +3 -0
- package/.next/server/app/settings/wiki/timeline/page/app-paths-manifest.json +3 -0
- package/.next/server/app/settings/wiki/timeline/page/build-manifest.json +18 -0
- package/.next/server/app/settings/wiki/timeline/page/next-font-manifest.json +6 -0
- package/.next/server/app/settings/wiki/timeline/page/react-loadable-manifest.json +8 -0
- package/.next/server/app/settings/wiki/timeline/page/server-reference-manifest.json +4 -0
- package/.next/server/app/settings/wiki/timeline/page.js +17 -0
- package/.next/server/app/settings/wiki/timeline/page.js.map +5 -0
- package/.next/server/app/settings/wiki/timeline/page.js.nft.json +1 -0
- package/.next/server/app/settings/wiki/timeline/page_client-reference-manifest.js +3 -0
- package/.next/server/app/settings/wiki/timeline.html +1 -0
- package/.next/server/app/settings/wiki/timeline.meta +17 -0
- package/.next/server/app/settings/wiki/timeline.rsc +24 -0
- package/.next/server/app/settings/wiki/timeline.segments/_full.segment.rsc +24 -0
- package/.next/server/app/settings/wiki/timeline.segments/_head.segment.rsc +6 -0
- package/.next/server/app/settings/wiki/timeline.segments/_index.segment.rsc +11 -0
- package/.next/server/app/settings/wiki/timeline.segments/_tree.segment.rsc +2 -0
- package/.next/server/app/settings/wiki/timeline.segments/settings/wiki/timeline/__PAGE__.segment.rsc +6 -0
- package/.next/server/app/settings/wiki/timeline.segments/settings/wiki/timeline.segment.rsc +5 -0
- package/.next/server/app/settings/wiki/timeline.segments/settings/wiki.segment.rsc +5 -0
- package/.next/server/app/settings/wiki/timeline.segments/settings.segment.rsc +5 -0
- package/.next/server/app/settings/wiki.html +1 -0
- package/.next/server/app/settings/wiki.meta +16 -0
- package/.next/server/app/settings/wiki.rsc +27 -0
- package/.next/server/app/settings/wiki.segments/_full.segment.rsc +27 -0
- package/.next/server/app/settings/wiki.segments/_head.segment.rsc +6 -0
- package/.next/server/app/settings/wiki.segments/_index.segment.rsc +11 -0
- package/.next/server/app/settings/wiki.segments/_tree.segment.rsc +2 -0
- package/.next/server/app/settings/wiki.segments/settings/wiki/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/settings/wiki.segments/settings/wiki.segment.rsc +5 -0
- package/.next/server/app/settings/wiki.segments/settings.segment.rsc +5 -0
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +18 -18
- package/.next/server/app/settings.segments/_full.segment.rsc +18 -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 +2 -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.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 +17 -17
- package/.next/server/app/setup.segments/_full.segment.rsc +17 -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 +2 -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.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 +17 -17
- package/.next/server/app/trip.segments/_full.segment.rsc +17 -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 +2 -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/app-paths-manifest.json +3 -0
- package/.next/server/app/wiki/page/build-manifest.json +18 -0
- package/.next/server/app/wiki/page/next-font-manifest.json +6 -0
- package/.next/server/app/wiki/page/react-loadable-manifest.json +8 -0
- package/.next/server/app/wiki/page/server-reference-manifest.json +4 -0
- package/.next/server/app/wiki/page.js +15 -0
- package/.next/server/app/wiki/page.js.map +5 -0
- package/.next/server/app/wiki/page.js.nft.json +1 -0
- package/.next/server/app/wiki/page_client-reference-manifest.js +3 -0
- package/.next/server/app/wiki/timeline/page/app-paths-manifest.json +3 -0
- package/.next/server/app/wiki/timeline/page/build-manifest.json +18 -0
- package/.next/server/app/wiki/timeline/page/next-font-manifest.json +6 -0
- package/.next/server/app/wiki/timeline/page/react-loadable-manifest.json +8 -0
- package/.next/server/app/wiki/timeline/page/server-reference-manifest.json +4 -0
- package/.next/server/app/wiki/timeline/page.js +15 -0
- package/.next/server/app/wiki/timeline/page.js.map +5 -0
- package/.next/server/app/wiki/timeline/page.js.nft.json +1 -0
- package/.next/server/app/wiki/timeline/page_client-reference-manifest.js +3 -0
- package/.next/server/app/wiki/timeline.html +1 -0
- package/.next/server/app/wiki/timeline.meta +16 -0
- package/.next/server/app/wiki/timeline.rsc +26 -0
- package/.next/server/app/wiki/timeline.segments/_full.segment.rsc +26 -0
- package/.next/server/app/wiki/timeline.segments/_head.segment.rsc +6 -0
- package/.next/server/app/wiki/timeline.segments/_index.segment.rsc +11 -0
- package/.next/server/app/wiki/timeline.segments/_tree.segment.rsc +2 -0
- package/.next/server/app/wiki/timeline.segments/wiki/timeline/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/wiki/timeline.segments/wiki/timeline.segment.rsc +5 -0
- package/.next/server/app/wiki/timeline.segments/wiki.segment.rsc +5 -0
- package/.next/server/app/wiki.html +1 -0
- package/.next/server/app/wiki.meta +15 -0
- package/.next/server/app/wiki.rsc +26 -0
- package/.next/server/app/wiki.segments/_full.segment.rsc +26 -0
- package/.next/server/app/wiki.segments/_head.segment.rsc +6 -0
- package/.next/server/app/wiki.segments/_index.segment.rsc +11 -0
- package/.next/server/app/wiki.segments/_tree.segment.rsc +2 -0
- package/.next/server/app/wiki.segments/wiki/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/wiki.segments/wiki.segment.rsc +5 -0
- package/.next/server/app-paths-manifest.json +5 -1
- package/.next/server/chunks/0z~i_next_dist_esm_build_templates_app-route_0o_o_hp.js +1 -1
- package/.next/server/chunks/0z~i_next_dist_esm_build_templates_app-route_0o_o_hp.js.map +1 -1
- package/.next/server/chunks/{[root-of-the-server]__00gp8gz._.js → [root-of-the-server]__01knfi.._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__0-0wgko._.js → [root-of-the-server]__08_s4yo._.js} +2 -2
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_wiki_timeline_page_actions_0czqn6z.js +3 -0
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_wiki_timeline_page_actions_0czqn6z.js.map +1 -0
- package/.next/server/chunks/ssr/0mzu_lucide-react_dist_esm_icons_zap_115-27i.js +3 -0
- package/.next/server/chunks/ssr/0mzu_lucide-react_dist_esm_icons_zap_115-27i.js.map +1 -0
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0k3x-na.js +4 -0
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0k3x-na.js.map +1 -0
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0km22.v.js +4 -0
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0km22.v.js.map +1 -0
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0vui1gx.js +4 -0
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0vui1gx.js.map +1 -0
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_11h319t.js +4 -0
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_11h319t.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__007ymqm._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__007ymqm._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__00vjce2._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__00vjce2._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__07pkvm3._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__07pkvm3._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0dfuz7_._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0dfuz7_._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__117dw_l._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__117dw_l._.js.map +1 -0
- package/.next/server/chunks/ssr/_0-3uzu1._.js +3 -0
- package/.next/server/chunks/ssr/_0-3uzu1._.js.map +1 -0
- package/.next/server/chunks/ssr/_0-6jgyg._.js +3 -0
- package/.next/server/chunks/ssr/_0-6jgyg._.js.map +1 -0
- package/.next/server/chunks/ssr/_0-fv_sr._.js +1 -1
- package/.next/server/chunks/ssr/_0-fv_sr._.js.map +1 -1
- package/.next/server/chunks/ssr/_0.7pki~._.js +3 -0
- package/.next/server/chunks/ssr/_0.7pki~._.js.map +1 -0
- package/.next/server/chunks/ssr/_02s86rg._.js +3 -0
- package/.next/server/chunks/ssr/_02s86rg._.js.map +1 -0
- package/.next/server/chunks/ssr/_03bq.de._.js +3 -0
- package/.next/server/chunks/ssr/_03bq.de._.js.map +1 -0
- package/.next/server/chunks/ssr/_03u6ja0._.js +3 -0
- package/.next/server/chunks/ssr/_03u6ja0._.js.map +1 -0
- package/.next/server/chunks/ssr/_04-.z69._.js +3 -0
- package/.next/server/chunks/ssr/_04-.z69._.js.map +1 -0
- package/.next/server/chunks/ssr/_05rlac0._.js +3 -0
- package/.next/server/chunks/ssr/_05rlac0._.js.map +1 -0
- package/.next/server/chunks/ssr/_05xysbw._.js +3 -0
- package/.next/server/chunks/ssr/_05xysbw._.js.map +1 -0
- package/.next/server/chunks/ssr/_09e_66m._.js +3 -0
- package/.next/server/chunks/ssr/_09e_66m._.js.map +1 -0
- package/.next/server/chunks/ssr/_0_bnan9._.js +3 -0
- package/.next/server/chunks/ssr/_0_bnan9._.js.map +1 -0
- package/.next/server/chunks/ssr/_0b00io4._.js +3 -0
- package/.next/server/chunks/ssr/_0b00io4._.js.map +1 -0
- package/.next/server/chunks/ssr/_0es_2i2._.js +3 -0
- package/.next/server/chunks/ssr/_0es_2i2._.js.map +1 -0
- package/.next/server/chunks/ssr/_0g7_r5i._.js +3 -0
- package/.next/server/chunks/ssr/_0g7_r5i._.js.map +1 -0
- package/.next/server/chunks/ssr/_0hojxqy._.js +1 -1
- package/.next/server/chunks/ssr/_0hojxqy._.js.map +1 -1
- package/.next/server/chunks/ssr/_0ifb9jm._.js +3 -0
- package/.next/server/chunks/ssr/_0ifb9jm._.js.map +1 -0
- package/.next/server/chunks/ssr/_0jl_-u5._.js +3 -0
- package/.next/server/chunks/ssr/_0jl_-u5._.js.map +1 -0
- package/.next/server/chunks/ssr/_0lfuvjg._.js +3 -0
- package/.next/server/chunks/ssr/_0lfuvjg._.js.map +1 -0
- package/.next/server/chunks/ssr/{_0jm~wn-._.js → _0mp7n5i._.js} +2 -2
- package/.next/server/chunks/ssr/{_0jm~wn-._.js.map → _0mp7n5i._.js.map} +1 -1
- package/.next/server/chunks/ssr/_0powsoh._.js +3 -0
- package/.next/server/chunks/ssr/_0powsoh._.js.map +1 -0
- package/.next/server/chunks/ssr/_0q34y9l._.js +3 -0
- package/.next/server/chunks/ssr/_0q34y9l._.js.map +1 -0
- package/.next/server/chunks/ssr/_0q4rpi-._.js +5 -0
- package/.next/server/chunks/ssr/_0q4rpi-._.js.map +1 -0
- package/.next/server/chunks/ssr/_0rc-7d4._.js +3 -0
- package/.next/server/chunks/ssr/_0rc-7d4._.js.map +1 -0
- package/.next/server/chunks/ssr/_0tjsh16._.js +3 -0
- package/.next/server/chunks/ssr/_0tjsh16._.js.map +1 -0
- package/.next/server/chunks/ssr/_0tl98en._.js +1 -1
- package/.next/server/chunks/ssr/_0tl98en._.js.map +1 -1
- package/.next/server/chunks/ssr/{_0._ysx3._.js → _0v_6ros._.js} +2 -2
- package/.next/server/chunks/ssr/_0v_6ros._.js.map +1 -0
- package/.next/server/chunks/ssr/_0vncjim._.js +3 -0
- package/.next/server/chunks/ssr/_0vncjim._.js.map +1 -0
- package/.next/server/chunks/ssr/_0vx-jgf._.js +3 -0
- package/.next/server/chunks/ssr/_0vx-jgf._.js.map +1 -0
- package/.next/server/chunks/ssr/_0w1ez1p._.js +3 -0
- package/.next/server/chunks/ssr/_0w1ez1p._.js.map +1 -0
- package/.next/server/chunks/ssr/_0yl49yk._.js +3 -0
- package/.next/server/chunks/ssr/_0yl49yk._.js.map +1 -0
- package/.next/server/chunks/ssr/_0z1ah9x._.js +1 -1
- package/.next/server/chunks/ssr/_0z1ah9x._.js.map +1 -1
- package/.next/server/chunks/ssr/_0z9ikwn._.js +3 -0
- package/.next/server/chunks/ssr/_0z9ikwn._.js.map +1 -0
- package/.next/server/chunks/ssr/_0z_cp12._.js +3 -0
- package/.next/server/chunks/ssr/_0z_cp12._.js.map +1 -0
- package/.next/server/chunks/ssr/_10hvwg5._.js +3 -0
- package/.next/server/chunks/ssr/_10hvwg5._.js.map +1 -0
- package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_settings_wiki_page_actions_12d~w9l.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_settings_wiki_page_actions_12d~w9l.js.map +1 -0
- package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_wiki_page_actions_026bi.d.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_wiki_page_actions_026bi.d.js.map +1 -0
- package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_wiki_timeline_page_actions_06jb4gg.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_wiki_timeline_page_actions_06jb4gg.js.map +1 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_0bx940s._.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_0bx940s._.js.map +1 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_0fo7nqq._.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_0fo7nqq._.js.map +1 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_0uxs9-.._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_0uxs9-.._.js.map +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_activity_page_tsx_08yep46._.js.map +1 -1
- 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_connections_repositories_page_tsx_08y6paq._.js.map +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_git_page_tsx_0ah19-6._.js.map +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_schedule_page_tsx_0znc404._.js.map +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_models_page_tsx_0djsx88._.js.map +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_schedule_page_tsx_0b8zr2l._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_schedule_page_tsx_0b8zr2l._.js.map +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_wiki_page_tsx_0..1tkb._.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_wiki_page_tsx_0..1tkb._.js.map +1 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_app_setup_page_tsx_06k3via._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_setup_page_tsx_06k3via._.js.map +1 -1
- 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_connections_slack-card_tsx_0mahejj._.js.map +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_components_settings_backend-settings_tsx_0i-tp_u._.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_components_settings_backend-settings_tsx_0i-tp_u._.js.map +1 -0
- package/.next/server/chunks/ssr/packages_shared_dist_index_0kuvow-.js +1 -1
- package/.next/server/chunks/ssr/packages_shared_dist_index_0kuvow-.js.map +1 -1
- package/.next/server/middleware/middleware-manifest.json +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/middleware-manifest.json +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/01yix41q.0970.js +1 -0
- package/.next/static/chunks/02qjylw4yp63l.js +1 -0
- package/.next/static/chunks/06y2ddf5x9x_4.js +1 -0
- package/.next/static/chunks/{0ztl~44vjnpe1.js → 08ie9t4zn6n4-.js} +1 -1
- package/.next/static/chunks/091khs5zza4_4.js +1 -0
- package/.next/static/chunks/{0~_56pt8wsmeo.js → 0abhg-m1-acdb.js} +1 -1
- package/.next/static/chunks/0ae.1upy09t--.js +1 -0
- package/.next/static/chunks/0bvcd~k.vfro8.js +1 -0
- package/.next/static/chunks/{0g6.0r0i-wyeg.js → 0eqm47_oikj36.js} +1 -1
- package/.next/static/chunks/0fqugh~hv4my1.js +1 -0
- package/.next/static/chunks/0has04tc4mrik.js +1 -0
- package/.next/static/chunks/0huynm-qbj26k.js +1 -0
- package/.next/static/chunks/0ibq4zul6305p.js +1 -0
- package/.next/static/chunks/0jm_e6e6n~rdn.js +1 -0
- package/.next/static/chunks/0k0.4cksmybb2.js +1 -0
- package/.next/static/chunks/0l07yrtw3fxp5.js +1 -0
- package/.next/static/chunks/0nhqu-sq045x7.js +1 -0
- package/.next/static/chunks/0op3oc-if6n5-.js +3 -0
- package/.next/static/chunks/0p34n6.st3s~1.js +1 -0
- package/.next/static/chunks/0r8nosw42e2m9.js +1 -0
- package/.next/static/chunks/0shx3_mxukfhr.js +1 -0
- package/.next/static/chunks/0thm~t5g5adz1.js +1 -0
- package/.next/static/chunks/0thyr1cngc-j..css +1 -0
- package/.next/static/chunks/0ttdb_354lh4t.js +1 -0
- package/.next/static/chunks/0v..ut2v38yep.js +1 -0
- package/.next/static/chunks/{17npklzvg8-~3.js → 0vhj0k-zy6jhh.js} +1 -1
- package/.next/static/chunks/0wdx410~0~gmn.js +1 -0
- package/.next/static/chunks/0y3ptqa0bbi-h.js +1 -0
- package/.next/static/chunks/{0zbxi2grjtx.c.js → 0zx_~u_zxg_7e.js} +1 -1
- package/.next/static/chunks/{0f3kjzb~5zhc~.js → 10pq~97vgkzro.js} +1 -1
- package/.next/static/chunks/11hlk6.h1of0y.js +1 -0
- package/.next/static/chunks/13w_6v~nprp8j.js +11 -0
- package/.next/static/chunks/14-kkni6ecqaw.js +1 -0
- package/.next/static/chunks/{148a9fv~bo0gq.js → 1555iv~_t.1lp.js} +1 -1
- package/.next/static/chunks/{04bbme2th8s1_.js → 15ec5~pa1pv_z.js} +1 -1
- package/.next/static/chunks/15vc-857cdedi.js +1 -0
- package/.next/static/chunks/16zgco6hwlr-n.js +1 -0
- package/.next/types/routes.d.ts +5 -1
- package/.next/types/validator.ts +36 -0
- package/package.json +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__02idks~._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__02idks~._.js.map +0 -1
- package/.next/server/chunks/ssr/_0-8__9s._.js +0 -3
- package/.next/server/chunks/ssr/_0-8__9s._.js.map +0 -1
- package/.next/server/chunks/ssr/_0._ysx3._.js.map +0 -1
- package/.next/server/chunks/ssr/_0.h-tj4._.js +0 -3
- package/.next/server/chunks/ssr/_0.h-tj4._.js.map +0 -1
- package/.next/server/chunks/ssr/_02g4o18._.js +0 -3
- package/.next/server/chunks/ssr/_02g4o18._.js.map +0 -1
- package/.next/server/chunks/ssr/_0463dg_._.js +0 -3
- package/.next/server/chunks/ssr/_0463dg_._.js.map +0 -1
- package/.next/server/chunks/ssr/_04a42pa._.js +0 -3
- package/.next/server/chunks/ssr/_04a42pa._.js.map +0 -1
- package/.next/server/chunks/ssr/_04kt9.8._.js +0 -3
- package/.next/server/chunks/ssr/_04kt9.8._.js.map +0 -1
- package/.next/server/chunks/ssr/_052zlig._.js +0 -3
- package/.next/server/chunks/ssr/_052zlig._.js.map +0 -1
- package/.next/server/chunks/ssr/_060itkv._.js +0 -3
- package/.next/server/chunks/ssr/_060itkv._.js.map +0 -1
- package/.next/server/chunks/ssr/_07p0n9g._.js +0 -3
- package/.next/server/chunks/ssr/_07p0n9g._.js.map +0 -1
- package/.next/server/chunks/ssr/_08mbdt1._.js +0 -3
- package/.next/server/chunks/ssr/_08mbdt1._.js.map +0 -1
- package/.next/server/chunks/ssr/_08r_qwd._.js +0 -3
- package/.next/server/chunks/ssr/_08r_qwd._.js.map +0 -1
- package/.next/server/chunks/ssr/_08xk3kp._.js +0 -3
- package/.next/server/chunks/ssr/_08xk3kp._.js.map +0 -1
- package/.next/server/chunks/ssr/_0938p.1._.js +0 -3
- package/.next/server/chunks/ssr/_0938p.1._.js.map +0 -1
- package/.next/server/chunks/ssr/_0afdsbz._.js +0 -3
- package/.next/server/chunks/ssr/_0afdsbz._.js.map +0 -1
- package/.next/server/chunks/ssr/_0ff5qav._.js +0 -3
- package/.next/server/chunks/ssr/_0ff5qav._.js.map +0 -1
- package/.next/server/chunks/ssr/_0gp8d.p._.js +0 -3
- package/.next/server/chunks/ssr/_0gp8d.p._.js.map +0 -1
- package/.next/server/chunks/ssr/_0k2j6-t._.js +0 -3
- package/.next/server/chunks/ssr/_0k2j6-t._.js.map +0 -1
- package/.next/server/chunks/ssr/_0mix09j._.js +0 -3
- package/.next/server/chunks/ssr/_0mix09j._.js.map +0 -1
- package/.next/server/chunks/ssr/_0mk7dqt._.js +0 -3
- package/.next/server/chunks/ssr/_0mk7dqt._.js.map +0 -1
- package/.next/server/chunks/ssr/_0n168uk._.js +0 -3
- package/.next/server/chunks/ssr/_0n168uk._.js.map +0 -1
- package/.next/server/chunks/ssr/_0nwg6lo._.js +0 -3
- package/.next/server/chunks/ssr/_0nwg6lo._.js.map +0 -1
- package/.next/server/chunks/ssr/_0pwd-nz._.js +0 -3
- package/.next/server/chunks/ssr/_0pwd-nz._.js.map +0 -1
- package/.next/server/chunks/ssr/_0rspzax._.js +0 -3
- package/.next/server/chunks/ssr/_0rspzax._.js.map +0 -1
- package/.next/server/chunks/ssr/_0t-2u_i._.js +0 -3
- package/.next/server/chunks/ssr/_0t-2u_i._.js.map +0 -1
- package/.next/server/chunks/ssr/_0vn5_62._.js +0 -5
- package/.next/server/chunks/ssr/_0vn5_62._.js.map +0 -1
- package/.next/server/chunks/ssr/_0yiz~s5._.js +0 -3
- package/.next/server/chunks/ssr/_0yiz~s5._.js.map +0 -1
- package/.next/server/chunks/ssr/_0~4ta0s._.js +0 -3
- package/.next/server/chunks/ssr/_0~4ta0s._.js.map +0 -1
- package/.next/server/chunks/ssr/_0~5r_8s._.js +0 -3
- package/.next/server/chunks/ssr/_0~5r_8s._.js.map +0 -1
- package/.next/server/chunks/ssr/_115_o9h._.js +0 -3
- package/.next/server/chunks/ssr/_115_o9h._.js.map +0 -1
- package/.next/server/chunks/ssr/_13mk_9n._.js +0 -3
- package/.next/server/chunks/ssr/_13mk_9n._.js.map +0 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_07.4ogy._.js +0 -3
- package/.next/server/chunks/ssr/packages_dashboard_src_07.4ogy._.js.map +0 -1
- package/.next/static/chunks/00p2fat~wl7uz.js +0 -1
- package/.next/static/chunks/07aksg8x5r0d9.js +0 -1
- package/.next/static/chunks/082cjr-p4ubw7.js +0 -1
- package/.next/static/chunks/09hewwcw-ts34.js +0 -1
- package/.next/static/chunks/09j~fmfefj03i.js +0 -1
- package/.next/static/chunks/0adfy5uyh_8c8.js +0 -1
- package/.next/static/chunks/0agoryx~xvt31.js +0 -1
- package/.next/static/chunks/0aoci_z-c0ele.css +0 -1
- package/.next/static/chunks/0atsym5j2dgzw.js +0 -1
- package/.next/static/chunks/0b3tta7tnnbur.js +0 -1
- package/.next/static/chunks/0d02.lqlwe9a_.js +0 -1
- package/.next/static/chunks/0eqyosc.qae5n.js +0 -1
- package/.next/static/chunks/0kkrrex6qm68-.js +0 -1
- package/.next/static/chunks/0lfxqap3b6sar.js +0 -11
- package/.next/static/chunks/0ord2b6oqi.3g.js +0 -1
- package/.next/static/chunks/0rh-ee9ky1ybq.js +0 -1
- package/.next/static/chunks/0t5v~o90gn66f.js +0 -1
- package/.next/static/chunks/0vaymprggmdwi.js +0 -3
- package/.next/static/chunks/0x2vder5-rzy3.js +0 -1
- package/.next/static/chunks/0yk64vsbmwqd8.js +0 -1
- package/.next/static/chunks/0yvzj34_7s6kb.js +0 -1
- package/.next/static/chunks/104za._t2qmr8.js +0 -1
- package/.next/static/chunks/13pe2-ed6nel..js +0 -1
- package/.next/static/chunks/13zn61okwjlyn.js +0 -1
- package/.next/static/chunks/153hm0-366-at.js +0 -1
- package/.next/static/chunks/16k3_-6f7kx97.js +0 -1
- package/.next/static/chunks/18904zqns5ncn.js +0 -1
- package/.next/trace +0 -2
- package/.next/trace-build +0 -1
- /package/.next/server/chunks/{[root-of-the-server]__00gp8gz._.js.map → [root-of-the-server]__01knfi.._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0-0wgko._.js.map → [root-of-the-server]__08_s4yo._.js.map} +0 -0
- /package/.next/static/{CDXVH-99b-ZdHz0Rd9pr_ → lsV2FU1YUtwJPmeiim7tk}/_buildManifest.js +0 -0
- /package/.next/static/{CDXVH-99b-ZdHz0Rd9pr_ → lsV2FU1YUtwJPmeiim7tk}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{CDXVH-99b-ZdHz0Rd9pr_ → lsV2FU1YUtwJPmeiim7tk}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../node_modules/.pnpm/next-themes%400.4.6_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next-themes/dist/index.mjs","../../../../../../packages/dashboard/src/providers/theme-provider.tsx","../../../../../../node_modules/.pnpm/%40tanstack%2Bquery-core%405.96.2/node_modules/%40tanstack/query-core/build/modern/queryClient.js","../../../../../../packages/dashboard/src/providers/query-provider.tsx","../../../../../../node_modules/.pnpm/%40tanstack%2Bquery-core%405.96.2/node_modules/%40tanstack/query-core/build/modern/queryCache.js","../../../../../../node_modules/.pnpm/%40tanstack%2Bquery-core%405.96.2/node_modules/%40tanstack/query-core/build/modern/mutationCache.js","../../../../../../node_modules/.pnpm/cmdk%401.1.1_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.14__%40types%2Breact%4019.2.14_react-dom_774a6dff9510bebce6a2343405a1ca59/node_modules/cmdk/dist/chunk-NZJY6EH4.mjs","../../../../../../packages/dashboard/src/components/layout/degraded-banner.tsx","../../../../../../packages/dashboard/src/components/layout/app-sidebar.tsx","../../../../../../node_modules/.pnpm/cmdk%401.1.1_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.14__%40types%2Breact%4019.2.14_react-dom_774a6dff9510bebce6a2343405a1ca59/node_modules/cmdk/dist/index.mjs","../../../../../../packages/dashboard/src/components/layout/connection-status.tsx","../../../../../../packages/dashboard/src/components/layout/layout-shell.tsx","../../../../../../packages/dashboard/src/components/settings/cmdk-palette.tsx","../../../../../../packages/dashboard/src/components/docs/docs-help-button.tsx","../../../../../../packages/dashboard/src/components/docs/docs-help-keybinding.tsx","../../../../../../packages/dashboard/src/components/docs/docs-help-slideover.tsx","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/file-question.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/panel-left-close.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/plug.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/monitor.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/settings.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-left.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/chart-column.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/notebook-text.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/panel-left-open.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/sun.ts","../../../../../../packages/dashboard/src/lib/docs/page-doc-map.ts"],"sourcesContent":["\"use client\";import*as t from\"react\";var M=(e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=[\"light\",\"dark\"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y===\"class\",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n===\"system\"?c():n;p(y)}catch(n){}};var b=[\"light\",\"dark\"],I=\"(prefers-color-scheme: dark)\",O=typeof window==\"undefined\",x=t.createContext(void 0),U={setTheme:e=>{},themes:[]},z=()=>{var e;return(e=t.useContext(x))!=null?e:U},J=e=>t.useContext(x)?t.createElement(t.Fragment,null,e.children):t.createElement(V,{...e}),N=[\"light\",\"dark\"],V=({forcedTheme:e,disableTransitionOnChange:i=!1,enableSystem:s=!0,enableColorScheme:u=!0,storageKey:m=\"theme\",themes:a=N,defaultTheme:l=s?\"system\":\"light\",attribute:h=\"data-theme\",value:d,children:w,nonce:p,scriptProps:R})=>{let[c,n]=t.useState(()=>H(m,l)),[T,y]=t.useState(()=>c===\"system\"?E():c),k=d?Object.values(d):a,S=t.useCallback(o=>{let r=o;if(!r)return;o===\"system\"&&s&&(r=E());let v=d?d[r]:r,C=i?W(p):null,P=document.documentElement,L=g=>{g===\"class\"?(P.classList.remove(...k),v&&P.classList.add(v)):g.startsWith(\"data-\")&&(v?P.setAttribute(g,v):P.removeAttribute(g))};if(Array.isArray(h)?h.forEach(L):L(h),u){let g=b.includes(l)?l:null,D=b.includes(r)?r:g;P.style.colorScheme=D}C==null||C()},[p]),f=t.useCallback(o=>{let r=typeof o==\"function\"?o(c):o;n(r);try{localStorage.setItem(m,r)}catch(v){}},[c]),A=t.useCallback(o=>{let r=E(o);y(r),c===\"system\"&&s&&!e&&S(\"system\")},[c,e]);t.useEffect(()=>{let o=window.matchMedia(I);return o.addListener(A),A(o),()=>o.removeListener(A)},[A]),t.useEffect(()=>{let o=r=>{r.key===m&&(r.newValue?n(r.newValue):f(l))};return window.addEventListener(\"storage\",o),()=>window.removeEventListener(\"storage\",o)},[f]),t.useEffect(()=>{S(e!=null?e:c)},[e,c]);let Q=t.useMemo(()=>({theme:c,setTheme:f,forcedTheme:e,resolvedTheme:c===\"system\"?T:c,themes:s?[...a,\"system\"]:a,systemTheme:s?T:void 0}),[c,f,e,T,s,a]);return t.createElement(x.Provider,{value:Q},t.createElement(_,{forcedTheme:e,storageKey:m,attribute:h,enableSystem:s,enableColorScheme:u,defaultTheme:l,value:d,themes:a,nonce:p,scriptProps:R}),w)},_=t.memo(({forcedTheme:e,storageKey:i,attribute:s,enableSystem:u,enableColorScheme:m,defaultTheme:a,value:l,themes:h,nonce:d,scriptProps:w})=>{let p=JSON.stringify([s,i,a,e,h,l,u,m]).slice(1,-1);return t.createElement(\"script\",{...w,suppressHydrationWarning:!0,nonce:typeof window==\"undefined\"?d:\"\",dangerouslySetInnerHTML:{__html:`(${M.toString()})(${p})`}})}),H=(e,i)=>{if(O)return;let s;try{s=localStorage.getItem(e)||void 0}catch(u){}return s||i},W=e=>{let i=document.createElement(\"style\");return e&&i.setAttribute(\"nonce\",e),i.appendChild(document.createTextNode(\"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\")),document.head.appendChild(i),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(i)},1)}},E=e=>(e||(e=window.matchMedia(I)),e.matches?\"dark\":\"light\");export{J as ThemeProvider,z as useTheme};\n","\"use client\";\n\nimport { ThemeProvider as NextThemesProvider } from \"next-themes\";\nimport type { ReactNode } from \"react\";\n\nexport function ThemeProvider({ children }: { children: ReactNode }) {\n return (\n <NextThemesProvider attribute=\"class\" defaultTheme=\"system\" enableSystem>\n {children}\n </NextThemesProvider>\n );\n}\n","// src/queryClient.ts\nimport {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken\n} from \"./utils.js\";\nimport { QueryCache } from \"./queryCache.js\";\nimport { MutationCache } from \"./mutationCache.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar QueryClient = class {\n #queryCache;\n #mutationCache;\n #defaultOptions;\n #queryDefaults;\n #mutationDefaults;\n #mountCount;\n #unsubscribeFocus;\n #unsubscribeOnline;\n constructor(config = {}) {\n this.#queryCache = config.queryCache || new QueryCache();\n this.#mutationCache = config.mutationCache || new MutationCache();\n this.#defaultOptions = config.defaultOptions || {};\n this.#queryDefaults = /* @__PURE__ */ new Map();\n this.#mutationDefaults = /* @__PURE__ */ new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1) return;\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0) return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = void 0;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = void 0;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n }\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state.data;\n }\n ensureQueryData(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n const query = this.#queryCache.build(this, defaultedOptions);\n const cachedData = query.state.data;\n if (cachedData === void 0) {\n return this.fetchQuery(options);\n }\n if (options.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) {\n void this.prefetchQuery(defaultedOptions);\n }\n return Promise.resolve(cachedData);\n }\n getQueriesData(filters) {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const defaultedOptions = this.defaultQueryOptions({ queryKey });\n const query = this.#queryCache.get(\n defaultedOptions.queryHash\n );\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (data === void 0) {\n return void 0;\n }\n return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });\n }\n setQueriesData(filters, updater, options) {\n return notifyManager.batch(\n () => this.#queryCache.findAll(filters).map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options)\n ])\n );\n }\n getQueryState(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(\n options.queryHash\n )?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options) {\n const queryCache = this.#queryCache;\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset();\n });\n return this.refetchQueries(\n {\n type: \"active\",\n ...filters\n },\n options\n );\n });\n }\n cancelQueries(filters, cancelOptions = {}) {\n const defaultedCancelOptions = { revert: true, ...cancelOptions };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n );\n return Promise.all(promises).then(noop).catch(noop);\n }\n invalidateQueries(filters, options = {}) {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate();\n });\n if (filters?.refetchType === \"none\") {\n return Promise.resolve();\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? \"active\"\n },\n options\n );\n });\n }\n refetchQueries(filters, options = {}) {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true\n };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled() && !query.isStatic()).map((query) => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n })\n );\n return Promise.all(promises).then(noop);\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n if (defaultedOptions.retry === void 0) {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query)\n ) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options) {\n return this.fetchQuery(options).then(noop).catch(noop);\n }\n fetchInfiniteQuery(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n }\n ensureInfiniteQueryData(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.ensureQueryData(options);\n }\n resumePausedMutations() {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations();\n }\n return Promise.resolve();\n }\n getQueryCache() {\n return this.#queryCache;\n }\n getMutationCache() {\n return this.#mutationCache;\n }\n getDefaultOptions() {\n return this.#defaultOptions;\n }\n setDefaultOptions(options) {\n this.#defaultOptions = options;\n }\n setQueryDefaults(queryKey, options) {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...this.#queryDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options) {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...this.#mutationDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n defaultQueryOptions(options) {\n if (options._defaulted) {\n return options;\n }\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions\n );\n }\n if (defaultedOptions.refetchOnReconnect === void 0) {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (defaultedOptions.throwOnError === void 0) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false;\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n return {\n ...this.#defaultOptions.mutations,\n ...options?.mutationKey && this.getMutationDefaults(options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n clear() {\n this.#queryCache.clear();\n this.#mutationCache.clear();\n }\n};\nexport {\n QueryClient\n};\n//# sourceMappingURL=queryClient.js.map","\"use client\";\n\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { useState, type ReactNode } from \"react\";\n\nexport function QueryProvider({ children }: { children: ReactNode }) {\n const [queryClient] = useState(\n () =>\n new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 10_000,\n retry: 2,\n refetchOnWindowFocus: true,\n },\n },\n }),\n );\n\n return (\n <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>\n );\n}\n","// src/queryCache.ts\nimport { hashQueryKeyByOptions, matchQuery } from \"./utils.js\";\nimport { Query } from \"./query.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar QueryCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = /* @__PURE__ */ new Map();\n }\n #queries;\n build(client, options, state) {\n const queryKey = options.queryKey;\n const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n if (!query) {\n query = new Query({\n client,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = this.#queries.get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash);\n }\n this.notify({ type: \"removed\", query });\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return this.#queries.get(queryHash);\n }\n getAll() {\n return [...this.#queries.values()];\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (query) => matchQuery(defaultedFilters, query)\n );\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n onFocus() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline();\n });\n });\n }\n};\nexport {\n QueryCache\n};\n//# sourceMappingURL=queryCache.js.map","// src/mutationCache.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Mutation } from \"./mutation.js\";\nimport { matchMutation, noop } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = /* @__PURE__ */ new Set();\n this.#scopes = /* @__PURE__ */ new Map();\n this.#mutationId = 0;\n }\n #mutations;\n #scopes;\n #mutationId;\n build(client, options, state) {\n const mutation = new Mutation({\n client,\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n this.#mutations.add(mutation);\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n scopedMutations.push(mutation);\n } else {\n this.#scopes.set(scope, [mutation]);\n }\n }\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n if (this.#mutations.delete(mutation)) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n if (scopedMutations.length > 1) {\n const index = scopedMutations.indexOf(mutation);\n if (index !== -1) {\n scopedMutations.splice(index, 1);\n }\n } else if (scopedMutations[0] === mutation) {\n this.#scopes.delete(scope);\n }\n }\n }\n }\n this.notify({ type: \"removed\", mutation });\n }\n canRun(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const mutationsWithSameScope = this.#scopes.get(scope);\n const firstPendingMutation = mutationsWithSameScope?.find(\n (m) => m.state.status === \"pending\"\n );\n return !firstPendingMutation || firstPendingMutation === mutation;\n } else {\n return true;\n }\n }\n runNext(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const foundMutation = this.#scopes.get(scope)?.find((m) => m !== mutation && m.state.isPaused);\n return foundMutation?.continue() ?? Promise.resolve();\n } else {\n return Promise.resolve();\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.notify({ type: \"removed\", mutation });\n });\n this.#mutations.clear();\n this.#scopes.clear();\n });\n }\n getAll() {\n return Array.from(this.#mutations);\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation));\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused);\n return notifyManager.batch(\n () => Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop))\n )\n );\n }\n};\nfunction scopeFor(mutation) {\n return mutation.options.scope?.id;\n}\nexport {\n MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map","var U=1,Y=.9,H=.8,J=.17,p=.1,u=.999,$=.9999;var k=.99,m=/[\\\\\\/_+.#\"@\\[\\(\\{&]/,B=/[\\\\\\/_+.#\"@\\[\\(\\{&]/g,K=/[\\s-]/,X=/[\\s-]/g;function G(_,C,h,P,A,f,O){if(f===C.length)return A===_.length?U:k;var T=`${A},${f}`;if(O[T]!==void 0)return O[T];for(var L=P.charAt(f),c=h.indexOf(L,A),S=0,E,N,R,M;c>=0;)E=G(_,C,h,P,c+1,f+1,O),E>S&&(c===A?E*=U:m.test(_.charAt(c-1))?(E*=H,R=_.slice(A,c-1).match(B),R&&A>0&&(E*=Math.pow(u,R.length))):K.test(_.charAt(c-1))?(E*=Y,M=_.slice(A,c-1).match(X),M&&A>0&&(E*=Math.pow(u,M.length))):(E*=J,A>0&&(E*=Math.pow(u,c-A))),_.charAt(c)!==C.charAt(f)&&(E*=$)),(E<p&&h.charAt(c-1)===P.charAt(f+1)||P.charAt(f+1)===P.charAt(f)&&h.charAt(c-1)!==P.charAt(f))&&(N=G(_,C,h,P,c+1,f+2,O),N*p>E&&(E=N*p)),E>S&&(S=E),c=h.indexOf(L,c+1);return O[T]=S,S}function D(_){return _.toLowerCase().replace(X,\" \")}function W(_,C,h){return _=h&&h.length>0?`${_+\" \"+h.join(\" \")}`:_,G(_,C,D(_),D(C),0,0,{})}export{W as a};\n","\"use client\";\n\nimport Link from \"next/link\";\nimport { AlertTriangle } from \"lucide-react\";\nimport { useHealth } from \"@/lib/hooks/use-health\";\n\n/**\n * Phase 3 §section \"Banner on every dashboard page when degraded-mode\n * is active\". Rendered above `<main>` so it stays put while the page\n * scrolls — the degraded signal is safety-critical (writes are being\n * refused) and must not slide out of view.\n *\n * Reads degraded state from `/api/health` (10 s refetch + SSE cache\n * invalidation via `SSEProvider` debouncer). When `status !== \"degraded\"`\n * the component renders `null`.\n */\nexport function DegradedBanner() {\n const { data } = useHealth();\n const degraded = data?.degraded;\n if (!degraded) return null;\n\n return (\n <div\n role=\"alert\"\n className=\"flex items-center gap-2 border-b border-red-300 bg-red-50 px-4 py-2 text-sm text-red-800 dark:border-red-900 dark:bg-red-950 dark:text-red-200\"\n >\n <AlertTriangle className=\"h-4 w-4 shrink-0\" />\n <div className=\"flex-1 min-w-0\">\n <span className=\"font-medium\">{headlineFor(degraded.reason)}</span>\n {degraded.path && (\n <>\n {\" — \"}\n <code className=\"break-all font-mono text-xs\">{degraded.path}</code>\n </>\n )}\n {\". \"}\n <span className=\"text-red-700/80 dark:text-red-300/80\">\n {bodyFor(degraded.reason)}\n </span>\n </div>\n <Link\n href=\"/settings#management-mode\"\n className=\"shrink-0 rounded border border-red-300 bg-white px-2 py-1 text-xs font-medium text-red-800 hover:bg-red-100 dark:border-red-800 dark:bg-red-900 dark:text-red-100\"\n >\n Open Management Mode\n </Link>\n </div>\n );\n}\n\nfunction headlineFor(reason: string): string {\n if (reason === \"primary_vault_unreachable\") {\n return \"Primary vault unreachable\";\n }\n return `Daemon degraded: ${reason}`;\n}\n\nfunction bodyFor(reason: string): string {\n if (reason === \"primary_vault_unreachable\") {\n return \"Writes to the context API are currently blocked. Fix the path or switch modes in Settings.\";\n }\n return \"Some operations may be refused until this clears.\";\n}\n","\"use client\";\n\nimport Link from \"next/link\";\nimport { usePathname } from \"next/navigation\";\nimport { useState, useSyncExternalStore } from \"react\";\nimport { APP_NAME, DEFAULT_AGENT_DISPLAY_NAME } from \"@aitne/shared\";\nimport {\n LayoutDashboard,\n MessageSquare,\n History,\n BarChart3,\n Clock,\n Brain,\n Settings,\n PanelLeftClose,\n PanelLeftOpen,\n Sun,\n Moon,\n Monitor,\n BookOpen,\n NotebookText,\n Plug,\n GitBranch,\n Plane,\n Wallet,\n Heart,\n ChevronDown,\n type LucideIcon,\n} from \"lucide-react\";\nimport { useTheme } from \"next-themes\";\nimport { cn, formatCurrency } from \"@/lib/utils\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Tooltip, TooltipTrigger, TooltipContent } from \"@/components/ui/tooltip\";\nimport { ConnectionStatus } from \"./connection-status\";\nimport { useHealth } from \"@/lib/hooks/use-health\";\nimport { useApprovals } from \"@/lib/hooks/use-approvals\";\nimport { useConfig } from \"@/lib/hooks/use-config\";\nimport { useEventStream } from \"@/lib/hooks/use-event-stream\";\n\ntype NavItem = {\n label: string;\n href: string;\n icon: LucideIcon;\n badge?: React.ReactNode;\n};\n\ntype NavSection = {\n id: string;\n label: string;\n items: NavItem[];\n};\n\nfunction SidebarBadge({ children, className }: { children: React.ReactNode; className?: string }) {\n return (\n <span className={cn(\"ml-auto flex h-5 min-w-5 items-center justify-center rounded-full px-1.5 text-[10px] font-medium\", className)}>\n {children}\n </span>\n );\n}\n\nconst SECTION_STATE_STORAGE_KEY = \"aitne.sidebar.sections.collapsed\";\nconst sectionListeners: Set<() => void> = new Set();\nconst EMPTY_SECTIONS: ReadonlySet<string> = new Set();\nlet cachedSections: ReadonlySet<string> | null = null;\n\nfunction readCollapsedSections(): ReadonlySet<string> {\n if (typeof window === \"undefined\") return EMPTY_SECTIONS;\n if (cachedSections) return cachedSections;\n try {\n const raw = window.localStorage.getItem(SECTION_STATE_STORAGE_KEY);\n if (!raw) {\n cachedSections = EMPTY_SECTIONS;\n return cachedSections;\n }\n const parsed = JSON.parse(raw) as unknown;\n cachedSections = Array.isArray(parsed)\n ? new Set(parsed.filter((id): id is string => typeof id === \"string\"))\n : EMPTY_SECTIONS;\n } catch {\n cachedSections = EMPTY_SECTIONS;\n }\n return cachedSections;\n}\n\nfunction getServerSections(): ReadonlySet<string> {\n return EMPTY_SECTIONS;\n}\n\nfunction writeCollapsedSections(next: ReadonlySet<string>): void {\n cachedSections = next;\n if (typeof window !== \"undefined\") {\n try {\n window.localStorage.setItem(SECTION_STATE_STORAGE_KEY, JSON.stringify([...next]));\n } catch {\n // localStorage blocked (private mode, quota). State still applies in-session.\n }\n }\n for (const l of sectionListeners) l();\n}\n\nfunction subscribeSections(cb: () => void): () => void {\n sectionListeners.add(cb);\n const onStorage = (e: StorageEvent) => {\n if (e.key === SECTION_STATE_STORAGE_KEY || e.key === null) {\n cachedSections = null;\n cb();\n }\n };\n if (typeof window !== \"undefined\") window.addEventListener(\"storage\", onStorage);\n return () => {\n sectionListeners.delete(cb);\n if (typeof window !== \"undefined\") window.removeEventListener(\"storage\", onStorage);\n };\n}\n\nfunction useCollapsedSections(): ReadonlySet<string> {\n return useSyncExternalStore(subscribeSections, readCollapsedSections, getServerSections);\n}\n\nexport function AppSidebar() {\n const pathname = usePathname();\n const [collapsed, setCollapsed] = useState(false);\n const collapsedSections = useCollapsedSections();\n const { theme, setTheme } = useTheme();\n const { data: config } = useConfig();\n\n const toggleSection = (id: string) => {\n const next = new Set(collapsedSections);\n if (next.has(id)) next.delete(id);\n else next.add(id);\n writeCollapsedSections(next);\n };\n\n // Data for badges\n const { data: health } = useHealth();\n const { data: approvals } = useApprovals();\n const streamEvents = useEventStream(100);\n\n const isActive = (href: string) => {\n if (href === \"/\") return pathname === \"/\";\n if (href === \"/activity\") {\n // Conversation detail pages (/conversations/[id]) are children of Agent Log\n return pathname.startsWith(\"/activity\") || pathname.startsWith(\"/conversations/\");\n }\n return pathname === href || pathname.startsWith(`${href}/`);\n };\n\n const nextTheme = () => {\n if (theme === \"light\") setTheme(\"dark\");\n else if (theme === \"dark\") setTheme(\"system\");\n else setTheme(\"light\");\n };\n\n const ThemeIcon = theme === \"dark\" ? Moon : theme === \"light\" ? Sun : Monitor;\n\n const pendingApprovals = approvals?.approvals.length ?? 0;\n const newEventCount = streamEvents.length;\n const agentDisplayName = config?.agentDisplayName ?? DEFAULT_AGENT_DISPLAY_NAME;\n\n const sections: NavSection[] = [\n {\n id: \"agent\",\n label: \"Agent\",\n items: [\n {\n label: \"Overview\", href: \"/\", icon: LayoutDashboard,\n badge: (() => {\n if (collapsed) return undefined;\n if (pendingApprovals > 0) {\n return <span className=\"ml-auto h-2 w-2 rounded-full bg-red-500\" />;\n }\n if (health?.status === \"ok\") {\n return <span className=\"ml-auto h-2 w-2 rounded-full bg-emerald-500\" />;\n }\n return undefined;\n })(),\n },\n { label: \"Chat\", href: \"/chat\", icon: MessageSquare },\n {\n label: \"Agent Log\", href: \"/activity\", icon: History,\n badge: newEventCount > 0 && !collapsed ? (\n <SidebarBadge className=\"bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300\">{newEventCount}</SidebarBadge>\n ) : undefined,\n },\n { label: \"Wake-ups\", href: \"/schedule\", icon: Clock },\n {\n label: \"Analytics\", href: \"/analytics\", icon: BarChart3,\n badge: health && !collapsed ? (\n <span className=\"ml-auto text-[10px] text-muted-foreground\">{formatCurrency(health.todayCostUsd)}</span>\n ) : undefined,\n },\n ],\n },\n {\n id: \"my-life\",\n label: \"My Life\",\n items: [\n { label: \"Knowledge\", href: \"/knowledge\", icon: Brain },\n { label: \"Reading\", href: \"/reading\", icon: BookOpen },\n { label: \"Git\", href: \"/git\", icon: GitBranch },\n { label: \"Trip\", href: \"/trip\", icon: Plane },\n { label: \"Finance\", href: \"/finance\", icon: Wallet },\n { label: \"Health\", href: \"/health\", icon: Heart },\n ],\n },\n {\n id: \"setup\",\n label: \"Setup\",\n items: [\n { label: \"Docs\", href: \"/docs\", icon: NotebookText },\n { label: \"Connections\", href: \"/connections\", icon: Plug },\n { label: \"Settings\", href: \"/settings\", icon: Settings },\n ],\n },\n ];\n\n const renderNavItem = (item: NavItem) => {\n const active = isActive(item.href);\n const link = (\n <Link\n key={item.href}\n href={item.href}\n className={cn(\n \"flex items-center gap-3 rounded-lg px-3 py-2 text-sm transition-colors\",\n active\n ? \"bg-primary/10 text-primary font-medium\"\n : \"text-muted-foreground hover:bg-accent hover:text-foreground\",\n collapsed && \"justify-center px-0\",\n )}\n >\n <item.icon className=\"h-4 w-4 shrink-0\" />\n {!collapsed && <span>{item.label}</span>}\n {item.badge}\n </Link>\n );\n\n if (collapsed) {\n return (\n <Tooltip key={item.href} delayDuration={0}>\n <TooltipTrigger asChild>{link}</TooltipTrigger>\n <TooltipContent side=\"right\">{item.label}</TooltipContent>\n </Tooltip>\n );\n }\n return link;\n };\n\n const renderSection = (section: NavSection, isFirst: boolean) => {\n // Section collapse only applies when the sidebar itself is expanded (icon-only mode shows everything).\n const sectionCollapsed = !collapsed && collapsedSections.has(section.id);\n const showItems = collapsed || !sectionCollapsed;\n const sectionHasActive = section.items.some((item) => isActive(item.href));\n // Surface a hint when the active route lives inside a section the user has collapsed,\n // so the user is not silently disoriented when arriving via a deep link.\n const showActiveHint = sectionCollapsed && sectionHasActive;\n\n return (\n <div\n key={section.id}\n className={cn(\n !isFirst && \"mt-2 pt-2 border-t border-border/60\",\n !isFirst && collapsed && \"mx-1\",\n )}\n >\n {!collapsed && (\n <button\n type=\"button\"\n onClick={() => toggleSection(section.id)}\n aria-expanded={!sectionCollapsed}\n aria-controls={`sidebar-section-${section.id}`}\n className=\"flex w-full items-center gap-1.5 px-3 py-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/70 hover:text-foreground transition-colors\"\n >\n <ChevronDown\n className={cn(\n \"h-3 w-3 shrink-0 transition-transform duration-150\",\n sectionCollapsed && \"-rotate-90\",\n )}\n />\n <span>{section.label}</span>\n {showActiveHint && (\n <>\n <span className=\"sr-only\"> (current page is in this section)</span>\n <span aria-hidden className=\"ml-auto h-1.5 w-1.5 rounded-full bg-primary\" />\n </>\n )}\n </button>\n )}\n {showItems && (\n <div id={`sidebar-section-${section.id}`} className=\"space-y-0.5\">\n {section.items.map(renderNavItem)}\n </div>\n )}\n </div>\n );\n };\n\n return (\n <aside\n className={cn(\n \"flex h-screen flex-col border-r border-border bg-sidebar text-sidebar-foreground transition-[width] duration-200\",\n collapsed ? \"w-16\" : \"w-56\",\n )}\n >\n {/* Header */}\n <div className=\"flex h-14 items-center justify-between px-3\">\n {!collapsed && (\n <div className=\"min-w-0\">\n <span className=\"block text-sm font-semibold tracking-tight\">{APP_NAME}</span>\n <span className=\"block truncate text-[11px] text-muted-foreground\">\n {agentDisplayName}\n </span>\n </div>\n )}\n <button\n onClick={() => setCollapsed(!collapsed)}\n className=\"rounded-md p-1.5 text-muted-foreground hover:bg-accent hover:text-foreground\"\n >\n {collapsed ? <PanelLeftOpen className=\"h-4 w-4\" /> : <PanelLeftClose className=\"h-4 w-4\" />}\n </button>\n </div>\n\n <Separator />\n\n {/* Sectioned nav */}\n <nav aria-label=\"Main navigation\" className=\"flex-1 overflow-y-auto p-2\">\n {sections.map((section, idx) => renderSection(section, idx === 0))}\n </nav>\n\n <Separator />\n\n {/* Footer: connection status + theme */}\n <div className=\"p-2 space-y-2\">\n <ConnectionStatus collapsed={collapsed} />\n <button\n onClick={nextTheme}\n className={cn(\n \"flex items-center gap-3 rounded-lg px-3 py-2 text-xs text-muted-foreground hover:bg-accent hover:text-foreground w-full transition-colors\",\n collapsed && \"justify-center px-0\",\n )}\n >\n <ThemeIcon className=\"h-4 w-4 shrink-0\" />\n {!collapsed && <span className=\"capitalize\">{theme ?? \"system\"}</span>}\n </button>\n </div>\n </aside>\n );\n}\n","\"use client\";import{a as ae}from\"./chunk-NZJY6EH4.mjs\";import*as w from\"@radix-ui/react-dialog\";import*as t from\"react\";import{Primitive as D}from\"@radix-ui/react-primitive\";import{useId as H}from\"@radix-ui/react-id\";import{composeRefs as G}from\"@radix-ui/react-compose-refs\";var N='[cmdk-group=\"\"]',Y='[cmdk-group-items=\"\"]',be='[cmdk-group-heading=\"\"]',le='[cmdk-item=\"\"]',ce=`${le}:not([aria-disabled=\"true\"])`,Z=\"cmdk-item-select\",T=\"data-value\",Re=(r,o,n)=>ae(r,o,n),ue=t.createContext(void 0),K=()=>t.useContext(ue),de=t.createContext(void 0),ee=()=>t.useContext(de),fe=t.createContext(void 0),me=t.forwardRef((r,o)=>{let n=L(()=>{var e,a;return{search:\"\",value:(a=(e=r.value)!=null?e:r.defaultValue)!=null?a:\"\",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),u=L(()=>new Set),c=L(()=>new Map),d=L(()=>new Map),f=L(()=>new Set),p=pe(r),{label:b,children:m,value:R,onValueChange:x,filter:C,shouldFilter:S,loop:A,disablePointerSelection:ge=!1,vimBindings:j=!0,...O}=r,$=H(),q=H(),_=H(),I=t.useRef(null),v=ke();k(()=>{if(R!==void 0){let e=R.trim();n.current.value=e,E.emit()}},[R]),k(()=>{v(6,ne)},[]);let E=t.useMemo(()=>({subscribe:e=>(f.current.add(e),()=>f.current.delete(e)),snapshot:()=>n.current,setState:(e,a,s)=>{var i,l,g,y;if(!Object.is(n.current[e],a)){if(n.current[e]=a,e===\"search\")J(),z(),v(1,W);else if(e===\"value\"){if(document.activeElement.hasAttribute(\"cmdk-input\")||document.activeElement.hasAttribute(\"cmdk-root\")){let h=document.getElementById(_);h?h.focus():(i=document.getElementById($))==null||i.focus()}if(v(7,()=>{var h;n.current.selectedItemId=(h=M())==null?void 0:h.id,E.emit()}),s||v(5,ne),((l=p.current)==null?void 0:l.value)!==void 0){let h=a!=null?a:\"\";(y=(g=p.current).onValueChange)==null||y.call(g,h);return}}E.emit()}},emit:()=>{f.current.forEach(e=>e())}}),[]),U=t.useMemo(()=>({value:(e,a,s)=>{var i;a!==((i=d.current.get(e))==null?void 0:i.value)&&(d.current.set(e,{value:a,keywords:s}),n.current.filtered.items.set(e,te(a,s)),v(2,()=>{z(),E.emit()}))},item:(e,a)=>(u.current.add(e),a&&(c.current.has(a)?c.current.get(a).add(e):c.current.set(a,new Set([e]))),v(3,()=>{J(),z(),n.current.value||W(),E.emit()}),()=>{d.current.delete(e),u.current.delete(e),n.current.filtered.items.delete(e);let s=M();v(4,()=>{J(),(s==null?void 0:s.getAttribute(\"id\"))===e&&W(),E.emit()})}),group:e=>(c.current.has(e)||c.current.set(e,new Set),()=>{d.current.delete(e),c.current.delete(e)}),filter:()=>p.current.shouldFilter,label:b||r[\"aria-label\"],getDisablePointerSelection:()=>p.current.disablePointerSelection,listId:$,inputId:_,labelId:q,listInnerRef:I}),[]);function te(e,a){var i,l;let s=(l=(i=p.current)==null?void 0:i.filter)!=null?l:Re;return e?s(e,n.current.search,a):0}function z(){if(!n.current.search||p.current.shouldFilter===!1)return;let e=n.current.filtered.items,a=[];n.current.filtered.groups.forEach(i=>{let l=c.current.get(i),g=0;l.forEach(y=>{let h=e.get(y);g=Math.max(h,g)}),a.push([i,g])});let s=I.current;V().sort((i,l)=>{var h,F;let g=i.getAttribute(\"id\"),y=l.getAttribute(\"id\");return((h=e.get(y))!=null?h:0)-((F=e.get(g))!=null?F:0)}).forEach(i=>{let l=i.closest(Y);l?l.appendChild(i.parentElement===l?i:i.closest(`${Y} > *`)):s.appendChild(i.parentElement===s?i:i.closest(`${Y} > *`))}),a.sort((i,l)=>l[1]-i[1]).forEach(i=>{var g;let l=(g=I.current)==null?void 0:g.querySelector(`${N}[${T}=\"${encodeURIComponent(i[0])}\"]`);l==null||l.parentElement.appendChild(l)})}function W(){let e=V().find(s=>s.getAttribute(\"aria-disabled\")!==\"true\"),a=e==null?void 0:e.getAttribute(T);E.setState(\"value\",a||void 0)}function J(){var a,s,i,l;if(!n.current.search||p.current.shouldFilter===!1){n.current.filtered.count=u.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let g of u.current){let y=(s=(a=d.current.get(g))==null?void 0:a.value)!=null?s:\"\",h=(l=(i=d.current.get(g))==null?void 0:i.keywords)!=null?l:[],F=te(y,h);n.current.filtered.items.set(g,F),F>0&&e++}for(let[g,y]of c.current)for(let h of y)if(n.current.filtered.items.get(h)>0){n.current.filtered.groups.add(g);break}n.current.filtered.count=e}function ne(){var a,s,i;let e=M();e&&(((a=e.parentElement)==null?void 0:a.firstChild)===e&&((i=(s=e.closest(N))==null?void 0:s.querySelector(be))==null||i.scrollIntoView({block:\"nearest\"})),e.scrollIntoView({block:\"nearest\"}))}function M(){var e;return(e=I.current)==null?void 0:e.querySelector(`${le}[aria-selected=\"true\"]`)}function V(){var e;return Array.from(((e=I.current)==null?void 0:e.querySelectorAll(ce))||[])}function X(e){let s=V()[e];s&&E.setState(\"value\",s.getAttribute(T))}function Q(e){var g;let a=M(),s=V(),i=s.findIndex(y=>y===a),l=s[i+e];(g=p.current)!=null&&g.loop&&(l=i+e<0?s[s.length-1]:i+e===s.length?s[0]:s[i+e]),l&&E.setState(\"value\",l.getAttribute(T))}function re(e){let a=M(),s=a==null?void 0:a.closest(N),i;for(;s&&!i;)s=e>0?we(s,N):De(s,N),i=s==null?void 0:s.querySelector(ce);i?E.setState(\"value\",i.getAttribute(T)):Q(e)}let oe=()=>X(V().length-1),ie=e=>{e.preventDefault(),e.metaKey?oe():e.altKey?re(1):Q(1)},se=e=>{e.preventDefault(),e.metaKey?X(0):e.altKey?re(-1):Q(-1)};return t.createElement(D.div,{ref:o,tabIndex:-1,...O,\"cmdk-root\":\"\",onKeyDown:e=>{var s;(s=O.onKeyDown)==null||s.call(O,e);let a=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||a))switch(e.key){case\"n\":case\"j\":{j&&e.ctrlKey&&ie(e);break}case\"ArrowDown\":{ie(e);break}case\"p\":case\"k\":{j&&e.ctrlKey&&se(e);break}case\"ArrowUp\":{se(e);break}case\"Home\":{e.preventDefault(),X(0);break}case\"End\":{e.preventDefault(),oe();break}case\"Enter\":{e.preventDefault();let i=M();if(i){let l=new Event(Z);i.dispatchEvent(l)}}}}},t.createElement(\"label\",{\"cmdk-label\":\"\",htmlFor:U.inputId,id:U.labelId,style:Te},b),B(r,e=>t.createElement(de.Provider,{value:E},t.createElement(ue.Provider,{value:U},e))))}),he=t.forwardRef((r,o)=>{var _,I;let n=H(),u=t.useRef(null),c=t.useContext(fe),d=K(),f=pe(r),p=(I=(_=f.current)==null?void 0:_.forceMount)!=null?I:c==null?void 0:c.forceMount;k(()=>{if(!p)return d.item(n,c==null?void 0:c.id)},[p]);let b=ve(n,u,[r.value,r.children,u],r.keywords),m=ee(),R=P(v=>v.value&&v.value===b.current),x=P(v=>p||d.filter()===!1?!0:v.search?v.filtered.items.get(n)>0:!0);t.useEffect(()=>{let v=u.current;if(!(!v||r.disabled))return v.addEventListener(Z,C),()=>v.removeEventListener(Z,C)},[x,r.onSelect,r.disabled]);function C(){var v,E;S(),(E=(v=f.current).onSelect)==null||E.call(v,b.current)}function S(){m.setState(\"value\",b.current,!0)}if(!x)return null;let{disabled:A,value:ge,onSelect:j,forceMount:O,keywords:$,...q}=r;return t.createElement(D.div,{ref:G(u,o),...q,id:n,\"cmdk-item\":\"\",role:\"option\",\"aria-disabled\":!!A,\"aria-selected\":!!R,\"data-disabled\":!!A,\"data-selected\":!!R,onPointerMove:A||d.getDisablePointerSelection()?void 0:S,onClick:A?void 0:C},r.children)}),Ee=t.forwardRef((r,o)=>{let{heading:n,children:u,forceMount:c,...d}=r,f=H(),p=t.useRef(null),b=t.useRef(null),m=H(),R=K(),x=P(S=>c||R.filter()===!1?!0:S.search?S.filtered.groups.has(f):!0);k(()=>R.group(f),[]),ve(f,p,[r.value,r.heading,b]);let C=t.useMemo(()=>({id:f,forceMount:c}),[c]);return t.createElement(D.div,{ref:G(p,o),...d,\"cmdk-group\":\"\",role:\"presentation\",hidden:x?void 0:!0},n&&t.createElement(\"div\",{ref:b,\"cmdk-group-heading\":\"\",\"aria-hidden\":!0,id:m},n),B(r,S=>t.createElement(\"div\",{\"cmdk-group-items\":\"\",role:\"group\",\"aria-labelledby\":n?m:void 0},t.createElement(fe.Provider,{value:C},S))))}),ye=t.forwardRef((r,o)=>{let{alwaysRender:n,...u}=r,c=t.useRef(null),d=P(f=>!f.search);return!n&&!d?null:t.createElement(D.div,{ref:G(c,o),...u,\"cmdk-separator\":\"\",role:\"separator\"})}),Se=t.forwardRef((r,o)=>{let{onValueChange:n,...u}=r,c=r.value!=null,d=ee(),f=P(m=>m.search),p=P(m=>m.selectedItemId),b=K();return t.useEffect(()=>{r.value!=null&&d.setState(\"search\",r.value)},[r.value]),t.createElement(D.input,{ref:o,...u,\"cmdk-input\":\"\",autoComplete:\"off\",autoCorrect:\"off\",spellCheck:!1,\"aria-autocomplete\":\"list\",role:\"combobox\",\"aria-expanded\":!0,\"aria-controls\":b.listId,\"aria-labelledby\":b.labelId,\"aria-activedescendant\":p,id:b.inputId,type:\"text\",value:c?r.value:f,onChange:m=>{c||d.setState(\"search\",m.target.value),n==null||n(m.target.value)}})}),Ce=t.forwardRef((r,o)=>{let{children:n,label:u=\"Suggestions\",...c}=r,d=t.useRef(null),f=t.useRef(null),p=P(m=>m.selectedItemId),b=K();return t.useEffect(()=>{if(f.current&&d.current){let m=f.current,R=d.current,x,C=new ResizeObserver(()=>{x=requestAnimationFrame(()=>{let S=m.offsetHeight;R.style.setProperty(\"--cmdk-list-height\",S.toFixed(1)+\"px\")})});return C.observe(m),()=>{cancelAnimationFrame(x),C.unobserve(m)}}},[]),t.createElement(D.div,{ref:G(d,o),...c,\"cmdk-list\":\"\",role:\"listbox\",tabIndex:-1,\"aria-activedescendant\":p,\"aria-label\":u,id:b.listId},B(r,m=>t.createElement(\"div\",{ref:G(f,b.listInnerRef),\"cmdk-list-sizer\":\"\"},m)))}),xe=t.forwardRef((r,o)=>{let{open:n,onOpenChange:u,overlayClassName:c,contentClassName:d,container:f,...p}=r;return t.createElement(w.Root,{open:n,onOpenChange:u},t.createElement(w.Portal,{container:f},t.createElement(w.Overlay,{\"cmdk-overlay\":\"\",className:c}),t.createElement(w.Content,{\"aria-label\":r.label,\"cmdk-dialog\":\"\",className:d},t.createElement(me,{ref:o,...p}))))}),Ie=t.forwardRef((r,o)=>P(u=>u.filtered.count===0)?t.createElement(D.div,{ref:o,...r,\"cmdk-empty\":\"\",role:\"presentation\"}):null),Pe=t.forwardRef((r,o)=>{let{progress:n,children:u,label:c=\"Loading...\",...d}=r;return t.createElement(D.div,{ref:o,...d,\"cmdk-loading\":\"\",role:\"progressbar\",\"aria-valuenow\":n,\"aria-valuemin\":0,\"aria-valuemax\":100,\"aria-label\":c},B(r,f=>t.createElement(\"div\",{\"aria-hidden\":!0},f)))}),_e=Object.assign(me,{List:Ce,Item:he,Input:Se,Group:Ee,Separator:ye,Dialog:xe,Empty:Ie,Loading:Pe});function we(r,o){let n=r.nextElementSibling;for(;n;){if(n.matches(o))return n;n=n.nextElementSibling}}function De(r,o){let n=r.previousElementSibling;for(;n;){if(n.matches(o))return n;n=n.previousElementSibling}}function pe(r){let o=t.useRef(r);return k(()=>{o.current=r}),o}var k=typeof window==\"undefined\"?t.useEffect:t.useLayoutEffect;function L(r){let o=t.useRef();return o.current===void 0&&(o.current=r()),o}function P(r){let o=ee(),n=()=>r(o.snapshot());return t.useSyncExternalStore(o.subscribe,n,n)}function ve(r,o,n,u=[]){let c=t.useRef(),d=K();return k(()=>{var b;let f=(()=>{var m;for(let R of n){if(typeof R==\"string\")return R.trim();if(typeof R==\"object\"&&\"current\"in R)return R.current?(m=R.current.textContent)==null?void 0:m.trim():c.current}})(),p=u.map(m=>m.trim());d.value(r,f,p),(b=o.current)==null||b.setAttribute(T,f),c.current=f}),c}var ke=()=>{let[r,o]=t.useState(),n=L(()=>new Map);return k(()=>{n.current.forEach(u=>u()),n.current=new Map},[r]),(u,c)=>{n.current.set(u,c),o({})}};function Me(r){let o=r.type;return typeof o==\"function\"?o(r.props):\"render\"in o?o.render(r.props):r}function B({asChild:r,children:o},n){return r&&t.isValidElement(o)?t.cloneElement(Me(o),{ref:o.ref},n(o.props.children)):n(o)}var Te={position:\"absolute\",width:\"1px\",height:\"1px\",padding:\"0\",margin:\"-1px\",overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",borderWidth:\"0\"};export{_e as Command,xe as CommandDialog,Ie as CommandEmpty,Ee as CommandGroup,Se as CommandInput,he as CommandItem,Ce as CommandList,Pe as CommandLoading,me as CommandRoot,ye as CommandSeparator,Re as defaultFilter,P as useCommandState};\n","\"use client\";\n\nimport { cn } from \"@/lib/utils\";\nimport { useSSE } from \"@/providers/sse-provider\";\n\nexport function ConnectionStatus({ collapsed }: { collapsed: boolean }) {\n const { connected } = useSSE();\n\n return (\n <div\n className={cn(\n \"flex items-center gap-2 rounded-lg px-3 py-2 text-xs text-muted-foreground\",\n collapsed && \"justify-center px-0\",\n )}\n >\n <span\n className={cn(\n \"h-2 w-2 shrink-0 rounded-full\",\n connected ? \"bg-emerald-500 animate-pulse\" : \"bg-red-500\",\n )}\n />\n {!collapsed && <span>{connected ? \"Live Updates On\" : \"Live Updates Off\"}</span>}\n </div>\n );\n}\n","\"use client\";\n\nimport { usePathname, useSearchParams } from \"next/navigation\";\nimport { Suspense } from \"react\";\nimport { AppSidebar } from \"./app-sidebar\";\nimport { DegradedBanner } from \"./degraded-banner\";\nimport { CmdkPalette } from \"@/components/settings/cmdk-palette\";\nimport { DocsHelpButton } from \"@/components/docs/docs-help-button\";\nimport { DocsHelpKeybinding } from \"@/components/docs/docs-help-keybinding\";\nimport { DocsHelpSlideover } from \"@/components/docs/docs-help-slideover\";\nimport { docIdForPath } from \"@/lib/docs/page-doc-map\";\n\nfunction LayoutShellInner({ children }: { children: React.ReactNode }) {\n const pathname = usePathname();\n const searchParams = useSearchParams();\n\n // Hide sidebar during initial setup (fullscreen wizard)\n // Keep sidebar during update mode (user navigated from overview)\n const isInitialSetup =\n pathname === \"/setup\" && searchParams.get(\"mode\") !== \"update\";\n\n // The page → docId map drives the help button; `null` hides the\n // button (e.g. on /docs itself). docIdForPath copies search params\n // so the predicate sees a plain URLSearchParams.\n const search = new URLSearchParams(Array.from(searchParams.entries()));\n const docId = docIdForPath(pathname, search);\n\n // The DegradedBanner sits above the sidebar+main flex row so that a\n // critical \"writes are blocked\" signal stays visible even while the\n // main content scrolls. It renders null when the daemon is healthy.\n return (\n <div className=\"flex h-screen flex-col overflow-hidden\">\n {!isInitialSetup && <DegradedBanner />}\n <div className=\"flex min-h-0 flex-1\">\n {!isInitialSetup && <AppSidebar />}\n <main className=\"flex flex-1 flex-col overflow-hidden\">\n {!isInitialSetup && (\n // Thin top action strip — DOCS_QA_DASHBOARD_DESIGN.md §6.3.\n // Stays mounted on every authenticated page so the strip's\n // height is uniform; the button hides itself when docId is\n // null (e.g. /docs). During initial setup the wizard renders\n // its own help affordance (DOCS_QA_DESIGN.md §8.4 row E5),\n // so we suppress this strip to keep the wizard fullscreen.\n <div className=\"flex h-8 shrink-0 items-center justify-end gap-2 border-b border-border bg-background/80 px-3 backdrop-blur\">\n <DocsHelpButton docId={docId} />\n </div>\n )}\n <div className=\"min-h-0 flex-1 overflow-y-auto\">{children}</div>\n </main>\n </div>\n {/* Slide-over and `?`-keypress mount globally — including during\n initial setup — so the wizard's help affordance has a target\n to open. CmdkPalette stays gated because the palette is\n settings-focused and not relevant to a fresh-install wizard. */}\n <DocsHelpSlideover />\n <DocsHelpKeybinding />\n {!isInitialSetup && <CmdkPalette />}\n </div>\n );\n}\n\nexport function LayoutShell({ children }: { children: React.ReactNode }) {\n return (\n <Suspense>\n <LayoutShellInner>{children}</LayoutShellInner>\n </Suspense>\n );\n}\n","\"use client\";\n\nimport { useCallback, useEffect, useState } from \"react\";\nimport { Command } from \"cmdk\";\nimport { useRouter, usePathname, useSearchParams } from \"next/navigation\";\nimport { useQueryClient, type QueryClient } from \"@tanstack/react-query\";\nimport { HelpCircle, type LucideIcon, Search } from \"lucide-react\";\nimport { docIdForPath } from \"@/lib/docs/page-doc-map\";\nimport { openDocsHelpSlideover } from \"@/lib/docs/slideover-cache\";\n\n// ---------------------------------------------------------------------------\n// Discriminated entry shape (DOCS_QA_DASHBOARD_DESIGN.md §9 / §15-D5).\n// ---------------------------------------------------------------------------\n\ninterface SettingsEntry {\n kind: \"setting\";\n /** Human-readable field label */\n label: string;\n /** configKey — also used as the scroll target via data-config-key */\n configKey: string;\n /** Route to navigate to */\n page: string;\n /** Section heading the field lives under */\n section: string;\n /** Extra keywords to broaden search matches */\n keywords: string;\n}\n\ninterface ActionEntry {\n kind: \"action\";\n /** Stable id used for testing and React keys. */\n id: string;\n /** Human-readable label rendered in the palette. */\n label: string;\n /** Group heading this entry sits under (e.g. \"Help\"). */\n group: string;\n /** Lucide icon shown to the left of the label. */\n icon: LucideIcon;\n /** Free-form keywords for fuzzy matching. */\n keywords: string;\n /** Imperative effect when the operator selects the entry. */\n onSelect: (ctx: PaletteCtx) => void;\n}\n\ntype PaletteEntry = SettingsEntry | ActionEntry;\n\ninterface PaletteCtx {\n pathname: string;\n searchParams: URLSearchParams;\n queryClient: QueryClient;\n router: ReturnType<typeof useRouter>;\n}\n\n// ---------------------------------------------------------------------------\n// Search index — every settings field across the 5 pages\n// ---------------------------------------------------------------------------\n\nconst SETTINGS_INDEX: SettingsEntry[] = [\n // -- Profile (/settings) --\n { kind: \"setting\", label: \"Display Name\", configKey: \"agentDisplayName\", page: \"/settings\", section: \"Agent Identity\", keywords: \"name agent\" },\n { kind: \"setting\", label: \"Character\", configKey: \"character\", page: \"/settings\", section: \"Personality\", keywords: \"character persona tone style voice prompt\" },\n\n // -- Schedule (/settings/schedule) --\n { kind: \"setting\", label: \"Timezone\", configKey: \"timezone\", page: \"/settings/schedule\", section: \"Day Shape\", keywords: \"tz iana time zone\" },\n { kind: \"setting\", label: \"Day Boundary Hour\", configKey: \"dayBoundaryHour\", page: \"/settings/schedule\", section: \"Day Shape\", keywords: \"day start reset boundary\" },\n { kind: \"setting\", label: \"Hourly Check Enabled\", configKey: \"hourlyCheckEnabled\", page: \"/settings/schedule\", section: \"Hourly Check\", keywords: \"polling observation toggle\" },\n { kind: \"setting\", label: \"Check Interval\", configKey: \"hourlyCheckIntervalMinutes\", page: \"/settings/schedule\", section: \"Hourly Check\", keywords: \"poll frequency minutes\" },\n { kind: \"setting\", label: \"Active Start Hour\", configKey: \"hourlyCheckActiveStartHour\", page: \"/settings/schedule\", section: \"Hourly Check\", keywords: \"active window start\" },\n { kind: \"setting\", label: \"Active End Hour\", configKey: \"hourlyCheckActiveEndHour\", page: \"/settings/schedule\", section: \"Hourly Check\", keywords: \"active window end\" },\n { kind: \"setting\", label: \"Min Observations\", configKey: \"hourlyCheckMinObservations\", page: \"/settings/schedule\", section: \"Hourly Check\", keywords: \"threshold minimum\" },\n { kind: \"setting\", label: \"Background Sync Cadences\", configKey: \"\", page: \"/settings/schedule\", section: \"Background Sync\", keywords: \"delegated drift cadence calendar gmail notion poll interval\" },\n { kind: \"setting\", label: \"Background Sync Active Hours\", configKey: \"\", page: \"/settings/schedule\", section: \"Background Sync\", keywords: \"delegated cadence active hours quiet schedule window\" },\n { kind: \"setting\", label: \"Max Notifications Per Hour\", configKey: \"maxNotificationsPerHour\", page: \"/settings/schedule\", section: \"Notifications\", keywords: \"rate limit hourly\" },\n { kind: \"setting\", label: \"Max Notifications Per Day\", configKey: \"maxNotificationsPerDay\", page: \"/settings/schedule\", section: \"Notifications\", keywords: \"rate limit daily\" },\n { kind: \"setting\", label: \"Quiet Hours Start\", configKey: \"quietHoursStart\", page: \"/settings/schedule\", section: \"Notifications\", keywords: \"do not disturb dnd silent\" },\n { kind: \"setting\", label: \"Quiet Hours End\", configKey: \"quietHoursEnd\", page: \"/settings/schedule\", section: \"Notifications\", keywords: \"do not disturb dnd silent\" },\n { kind: \"setting\", label: \"Batch Interval\", configKey: \"batchIntervalMinutes\", page: \"/settings/schedule\", section: \"Notifications\", keywords: \"batch group delay\" },\n { kind: \"setting\", label: \"Fallback Primary Platform\", configKey: \"primaryPlatform\", page: \"/settings/schedule\", section: \"Notifications\", keywords: \"default platform channel\" },\n\n // -- Models (/settings/models) --\n { kind: \"setting\", label: \"Max Concurrent Sessions\", configKey: \"maxConcurrentSessions\", page: \"/settings/models\", section: \"Execution Limits\", keywords: \"parallel sessions concurrency\" },\n { kind: \"setting\", label: \"Max Reactive Sessions\", configKey: \"maxReactiveSessions\", page: \"/settings/models\", section: \"Execution Limits\", keywords: \"reactive sessions limit\" },\n { kind: \"setting\", label: \"Execute Timeout\", configKey: \"executeTimeoutMinutes\", page: \"/settings/models\", section: \"Execution Limits\", keywords: \"timeout minutes wall clock\" },\n { kind: \"setting\", label: \"Delegated Proxy Concurrency\", configKey: \"delegatedProxyMaxConcurrent\", page: \"/settings/models\", section: \"Execution Limits\", keywords: \"delegated proxy concurrency mail calendar gmail subprocess\" },\n { kind: \"setting\", label: \"DM Timeout\", configKey: \"sessionTimeoutDmMinutes\", page: \"/settings/models\", section: \"Session Timeouts\", keywords: \"direct message timeout\" },\n { kind: \"setting\", label: \"Channel Timeout\", configKey: \"sessionTimeoutChannelMinutes\", page: \"/settings/models\", section: \"Session Timeouts\", keywords: \"channel mention timeout\" },\n { kind: \"setting\", label: \"Dashboard Timeout\", configKey: \"sessionTimeoutDashboardMinutes\", page: \"/settings/models\", section: \"Session Timeouts\", keywords: \"dashboard chat timeout\" },\n\n // -- Advanced (/settings/advanced) --\n { kind: \"setting\", label: \"Disallowed Tools\", configKey: \"disallowedTools\", page: \"/settings/advanced\", section: \"Safety — Tool Policy\", keywords: \"blocked forbidden tools safety\" },\n { kind: \"setting\", label: \"Allowed Tools Override\", configKey: \"allowedToolsOverride\", page: \"/settings/advanced\", section: \"Safety — Tool Policy\", keywords: \"allowed exception permit\" },\n { kind: \"setting\", label: \"Obsidian Debounce\", configKey: \"obsidianDebounceSeconds\", page: \"/settings/advanced\", section: \"Polling Intervals\", keywords: \"obsidian vault debounce\" },\n { kind: \"setting\", label: \"Scheduler Poll Interval\", configKey: \"schedulePollIntervalSeconds\", page: \"/settings/advanced\", section: \"Polling Intervals\", keywords: \"scheduler recurring tasks poll\" },\n { kind: \"setting\", label: \"Git Poll Interval\", configKey: \"gitPollIntervalSeconds\", page: \"/settings/advanced\", section: \"Polling Intervals\", keywords: \"git repo poll\" },\n { kind: \"setting\", label: \"Notion Poll Interval\", configKey: \"notionPollIntervalSeconds\", page: \"/settings/advanced\", section: \"Polling Intervals\", keywords: \"notion database poll\" },\n { kind: \"setting\", label: \"Calendar Poll Interval\", configKey: \"calendarPollIntervalSeconds\", page: \"/settings/advanced\", section: \"Polling Intervals\", keywords: \"google calendar poll\" },\n { kind: \"setting\", label: \"Gmail Poll Interval\", configKey: \"gmailPollIntervalSeconds\", page: \"/settings/advanced\", section: \"Polling Intervals\", keywords: \"gmail inbox poll\" },\n { kind: \"setting\", label: \"Max Messages\", configKey: \"historyInjectionMaxMessages\", page: \"/settings/advanced\", section: \"History Injection\", keywords: \"history context messages\" },\n { kind: \"setting\", label: \"Max Tokens\", configKey: \"historyInjectionMaxTokens\", page: \"/settings/advanced\", section: \"History Injection\", keywords: \"history context tokens budget\" },\n { kind: \"setting\", label: \"Strict DM Staleness\", configKey: \"dmStalenessStrict\", page: \"/settings/advanced\", section: \"History Injection\", keywords: \"dm resume context stale invalidation strict\" },\n { kind: \"setting\", label: \"API Port\", configKey: \"apiPort\", page: \"/settings/advanced\", section: \"Infrastructure\", keywords: \"port hono daemon tcp\" },\n { kind: \"setting\", label: \"Disable Auth Probes\", configKey: \"authProbeDisabled\", page: \"/settings/advanced\", section: \"Infrastructure\", keywords: \"auth health probe disable\" },\n { kind: \"setting\", label: \"Auth Preflight Freshness\", configKey: \"authPreflightFreshnessMs\", page: \"/settings/advanced\", section: \"Infrastructure\", keywords: \"backend auth preflight cache freshness\" },\n { kind: \"setting\", label: \"Autonomous Daily Cost Cap\", configKey: \"autonomousDailyCostCapUsd\", page: \"/settings/models\", section: \"Cost Guardrails\", keywords: \"daily cost cap autonomous routines budget\" },\n { kind: \"setting\", label: \"Autonomous Monthly Cost Cap\", configKey: \"autonomousMonthlyCostCapUsd\", page: \"/settings/models\", section: \"Cost Guardrails\", keywords: \"monthly cost cap autonomous notification alert budget\" },\n\n // -- Connections (top-level /connections) — page-level navigation only --\n { kind: \"setting\", label: \"Slack\", configKey: \"\", page: \"/connections/messaging\", section: \"Messaging\", keywords: \"slack bot token channel messaging\" },\n { kind: \"setting\", label: \"Telegram\", configKey: \"\", page: \"/connections/messaging\", section: \"Messaging\", keywords: \"telegram bot chat messaging\" },\n { kind: \"setting\", label: \"Discord\", configKey: \"\", page: \"/connections/messaging\", section: \"Messaging\", keywords: \"discord bot messaging\" },\n { kind: \"setting\", label: \"WhatsApp\", configKey: \"\", page: \"/connections/messaging\", section: \"Messaging\", keywords: \"whatsapp messaging phone\" },\n { kind: \"setting\", label: \"Notification Destinations\", configKey: \"\", page: \"/connections/messaging\", section: \"Messaging\", keywords: \"default notification platform destination\" },\n { kind: \"setting\", label: \"Repositories\", configKey: \"\", page: \"/connections/repositories\", section: \"Repositories\", keywords: \"git github repository watch clone webhook\" },\n { kind: \"setting\", label: \"Notion\", configKey: \"\", page: \"/connections/knowledge\", section: \"Knowledge\", keywords: \"notion database api\" },\n { kind: \"setting\", label: \"Obsidian\", configKey: \"\", page: \"/connections/knowledge\", section: \"Knowledge\", keywords: \"obsidian vault markdown\" },\n { kind: \"setting\", label: \"Google Calendar\", configKey: \"\", page: \"/connections/calendar\", section: \"Calendar\", keywords: \"google oauth calendar\" },\n { kind: \"setting\", label: \"Mail accounts\", configKey: \"\", page: \"/connections/mail\", section: \"Mail\", keywords: \"gmail outlook imap yahoo icloud mailbox\" },\n { kind: \"setting\", label: \"MCP Servers\", configKey: \"\", page: \"/connections/mcp\", section: \"MCP\", keywords: \"mcp model context protocol\" },\n];\n\n/**\n * Exported for the §12 / §15-D5 regression test that asserts the docs\n * action exists, is keyword-searchable, and dispatches into the\n * slide-over cache. See `cmdk-palette.actions.test.ts`.\n */\nexport const ACTION_ENTRIES: ActionEntry[] = [\n {\n kind: \"action\",\n id: \"docs.ask\",\n label: \"Ask docs…\",\n group: \"Help\",\n icon: HelpCircle,\n keywords: \"docs help question how guide manual\",\n onSelect: ({ pathname, searchParams, queryClient }) => {\n openDocsHelpSlideover(queryClient, {\n docId: docIdForPath(pathname, searchParams),\n autoFocusComposer: true,\n });\n },\n },\n];\n\n// Page labels for the group headings\nconst PAGE_LABELS: Record<string, string> = {\n \"/settings\": \"Profile\",\n \"/settings/schedule\": \"Schedule\",\n \"/settings/models\": \"Models\",\n \"/settings/advanced\": \"Advanced\",\n \"/connections/messaging\": \"Connections — Messaging\",\n \"/connections/repositories\": \"Connections — Repositories\",\n \"/connections/knowledge\": \"Connections — Knowledge\",\n \"/connections/calendar\": \"Connections — Calendar\",\n \"/connections/mail\": \"Connections — Mail\",\n \"/connections/mcp\": \"Connections — MCP\",\n};\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nexport function CmdkPalette() {\n const [open, setOpen] = useState(false);\n const router = useRouter();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const queryClient = useQueryClient();\n\n // Cmd+K / Ctrl+K keyboard shortcut\n useEffect(() => {\n const handler = (e: KeyboardEvent) => {\n if ((e.metaKey || e.ctrlKey) && e.key === \"k\") {\n e.preventDefault();\n setOpen((prev) => !prev);\n }\n };\n document.addEventListener(\"keydown\", handler);\n return () => document.removeEventListener(\"keydown\", handler);\n }, []);\n\n const handleSelect = useCallback(\n (entry: PaletteEntry) => {\n setOpen(false);\n\n if (entry.kind === \"action\") {\n // Build a fresh URLSearchParams snapshot so the action sees the\n // exact shape it would see from a button click. Avoids leaking\n // the Next.js ReadonlyURLSearchParams identity into action code.\n const search = new URLSearchParams(\n Array.from(searchParams.entries()),\n );\n entry.onSelect({ pathname, searchParams: search, queryClient, router });\n return;\n }\n\n const needsNavigation = pathname !== entry.page;\n if (needsNavigation) {\n router.push(entry.page);\n }\n\n // Scroll to the field after navigation settles\n if (entry.configKey) {\n const delay = needsNavigation ? 300 : 50;\n setTimeout(() => {\n const el = document.querySelector(\n `[data-config-key=\"${entry.configKey}\"]`,\n );\n if (el) {\n el.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n // Brief highlight flash\n el.classList.add(\"cmdk-highlight\");\n setTimeout(() => el.classList.remove(\"cmdk-highlight\"), 1500);\n }\n }, delay);\n }\n },\n [pathname, queryClient, router, searchParams],\n );\n\n // Group entries by page (settings) and by group (actions).\n const settingsByPage = new Map<string, SettingsEntry[]>();\n for (const entry of SETTINGS_INDEX) {\n const list = settingsByPage.get(entry.page) ?? [];\n list.push(entry);\n settingsByPage.set(entry.page, list);\n }\n const actionsByGroup = new Map<string, ActionEntry[]>();\n for (const entry of ACTION_ENTRIES) {\n const list = actionsByGroup.get(entry.group) ?? [];\n list.push(entry);\n actionsByGroup.set(entry.group, list);\n }\n\n return (\n <Command.Dialog\n open={open}\n onOpenChange={setOpen}\n label=\"Search settings or actions\"\n className=\"cmdk-dialog\"\n >\n <div className=\"cmdk-input-wrapper\">\n <Search className=\"cmdk-input-icon\" />\n <Command.Input\n placeholder=\"Search settings or actions...\"\n className=\"cmdk-input\"\n />\n </div>\n <Command.List className=\"cmdk-list\">\n <Command.Empty className=\"cmdk-empty\">\n No matches.\n </Command.Empty>\n {[...actionsByGroup.entries()].map(([group, entries]) => (\n <Command.Group\n key={`actions:${group}`}\n heading={group}\n className=\"cmdk-group\"\n >\n {entries.map((entry) => (\n <Command.Item\n key={`action:${entry.id}`}\n value={`${entry.label} ${entry.keywords}`}\n onSelect={() => handleSelect(entry)}\n className=\"cmdk-item\"\n data-action-id={entry.id}\n >\n <entry.icon className=\"mr-2 h-4 w-4 shrink-0\" aria-hidden=\"true\" />\n <span className=\"cmdk-item-label\">{entry.label}</span>\n </Command.Item>\n ))}\n </Command.Group>\n ))}\n {[...settingsByPage.entries()].map(([page, entries]) => (\n <Command.Group\n key={page}\n heading={PAGE_LABELS[page] ?? page}\n className=\"cmdk-group\"\n >\n {entries.map((entry) => (\n <Command.Item\n key={`${entry.page}:${entry.configKey || entry.label}`}\n value={`${entry.label} ${entry.section} ${entry.keywords}`}\n onSelect={() => handleSelect(entry)}\n className=\"cmdk-item\"\n >\n <span className=\"cmdk-item-label\">{entry.label}</span>\n <span className=\"cmdk-item-section\">{entry.section}</span>\n </Command.Item>\n ))}\n </Command.Group>\n ))}\n </Command.List>\n </Command.Dialog>\n );\n}\n","\"use client\";\n\nimport { HelpCircle } from \"lucide-react\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { openDocsHelpSlideover } from \"@/lib/docs/slideover-cache\";\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"@/components/ui/tooltip\";\n\ninterface DocsHelpButtonProps {\n /**\n * Doc to load when the slide-over opens. `null` hides the button —\n * matches DOCS_QA_DASHBOARD_DESIGN.md §6.3 (\"Pages opt out by passing\n * `docId={null}` … the strip stays mounted but visually empty\").\n */\n docId: string | null;\n}\n\n/**\n * The `?` icon mounted in the global action strip on every dashboard\n * screen. Renders nothing when `docId === null` so `/docs` (where the\n * help button is redundant) keeps the strip empty rather than offering\n * an open-the-page-you-are-already-on action.\n */\nexport function DocsHelpButton({ docId }: DocsHelpButtonProps) {\n const queryClient = useQueryClient();\n if (docId === null) return null;\n\n return (\n <Tooltip delayDuration={300}>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n onClick={() =>\n openDocsHelpSlideover(queryClient, {\n docId,\n autoFocusComposer: false,\n })\n }\n className=\"inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition hover:bg-accent hover:text-foreground\"\n aria-label=\"Open contextual help for this page\"\n data-testid=\"docs-help-button\"\n >\n <HelpCircle className=\"h-4 w-4\" aria-hidden=\"true\" />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"bottom\">\n <span>Help · ?</span>\n </TooltipContent>\n </Tooltip>\n );\n}\n","\"use client\";\n\nimport { useEffect } from \"react\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { usePathname, useSearchParams } from \"next/navigation\";\nimport { docIdForPath } from \"@/lib/docs/page-doc-map\";\nimport {\n getDocsHelpSlideoverState,\n openDocsHelpSlideover,\n} from \"@/lib/docs/slideover-cache\";\n\n/**\n * Wires the global `?` keypress to open `<DocsHelpSlideover>` from any\n * dashboard screen (DOCS_QA_DASHBOARD_DESIGN.md §9 / §14 OQ#4).\n *\n * Skip rules — ALL must match before we act:\n * - the active element is NOT a text-entry surface (input, textarea,\n * contenteditable). Otherwise typing `?` in chat would open the\n * slide-over, which is hostile to the operator.\n * - no modifier keys (`meta`, `ctrl`, `alt`) — only `?` itself, which\n * on US layouts is `Shift+/`. The `e.shiftKey === true` is implicit\n * in the character `?`.\n * - the slide-over isn't already open (avoid focus-trap re-entry).\n *\n * Routing rules:\n * - on `/docs` the operator already has the inline `<DocsQAPanel>`\n * onscreen; opening a slide-over with the same qa-cache conversation\n * would render the transcript twice. Per §14 OQ#4 (\"`?` always\n * opens 'ask docs' — on `/docs` it focuses the composer\") we focus\n * the inline composer instead. If the composer textarea is not in\n * the DOM (race during route transition) we fall through to the\n * slide-over so the keystroke is never silently dropped.\n * - everywhere else, open the slide-over with `autoFocusComposer:\n * true`. Keyboard intent ⇒ type-now. The `<DocsHelpButton>` click\n * path keeps `false` — that's the click/lookup posture.\n *\n * Renders nothing — it's a hook adapter.\n */\nexport function DocsHelpKeybinding() {\n const queryClient = useQueryClient();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n\n useEffect(() => {\n const handler = (e: KeyboardEvent): void => {\n if (e.key !== \"?\") return;\n if (e.metaKey || e.ctrlKey || e.altKey) return;\n if (isTextEntryElement(document.activeElement)) return;\n if (getDocsHelpSlideoverState(queryClient).open) return;\n\n if (pathname === \"/docs\" || pathname.startsWith(\"/docs/\")) {\n const composer = document.querySelector<HTMLTextAreaElement>(\n 'textarea[aria-label=\"Question composer\"]',\n );\n if (composer) {\n e.preventDefault();\n composer.focus();\n return;\n }\n // Fall through if the inline composer isn't mounted (e.g.\n // narrow-viewport tab-switch fallback hides the QA pane).\n }\n\n e.preventDefault();\n const docId = docIdForPath(pathname, searchParams);\n openDocsHelpSlideover(queryClient, { docId, autoFocusComposer: true });\n };\n document.addEventListener(\"keydown\", handler);\n return () => document.removeEventListener(\"keydown\", handler);\n }, [pathname, queryClient, searchParams]);\n\n return null;\n}\n\nfunction isTextEntryElement(el: Element | null): boolean {\n if (!el) return false;\n const tag = el.tagName;\n if (tag === \"INPUT\" || tag === \"TEXTAREA\" || tag === \"SELECT\") return true;\n if ((el as HTMLElement).isContentEditable) return true;\n return false;\n}\n","\"use client\";\n\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport {\n ArrowRight,\n ArrowUpRight,\n ChevronLeft,\n FileQuestion,\n Sparkles,\n} from \"lucide-react\";\nimport Link from \"next/link\";\nimport { usePathname } from \"next/navigation\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { Sheet, SheetContent, SheetTitle } from \"@/components/ui/sheet\";\nimport { useDoc } from \"@/lib/hooks/use-docs\";\nimport {\n closeDocsHelpSlideover,\n useDocsHelpSlideoverState,\n} from \"@/lib/docs/slideover-cache\";\nimport { DocsContent } from \"./docs-content\";\nimport { DocsQAPanel } from \"./docs-qa-panel\";\nimport { cn } from \"@/lib/utils\";\n\ntype SlideoverView = \"docs\" | \"qa\";\n\n/**\n * The right-aligned ~520px sheet rendered globally by `<LayoutShell>`\n * (DOCS_QA_DASHBOARD_DESIGN.md §6.2). It is mounted exactly once and\n * driven by the `[\"docs-help-slideover\"]` cache cell so any caller in\n * the app — `<DocsHelpButton>`, `Cmd+K` \"Ask docs…\", the global `?`\n * keypress — can open it without prop drilling.\n *\n * Two views share the slideover frame:\n * docs : full-height `<DocsContent />` with an \"Ask a question\" CTA\n * at the bottom that switches to the QA view\n * qa : full-height `<DocsQAPanel />` with a \"Back\" affordance in\n * the header that switches back to the docs view\n *\n * Both views stay mounted (toggled with `hidden`) so scroll position\n * and the QA transcript survive a docs⇄qa toggle. The Sheet's built-in\n * top-right close button always closes the entire slideover.\n *\n * Default view: `qa` when the open call passed `autoFocusComposer:true`\n * (the Cmd+K \"Ask docs…\" path), otherwise `docs`.\n */\nexport function DocsHelpSlideover() {\n const queryClient = useQueryClient();\n const state = useDocsHelpSlideoverState();\n const pathname = usePathname();\n const composerWrapperRef = useRef<HTMLDivElement>(null);\n const ctaButtonRef = useRef<HTMLButtonElement>(null);\n\n const [view, setView] = useState<SlideoverView>(\n state.autoFocusComposer ? \"qa\" : \"docs\",\n );\n\n // Reset the view to its default each time the slideover is (re-)opened\n // while already mounted — e.g. the operator clicks `?` on a different\n // settings card after switching to QA. The Sheet unmounts content on\n // close so the from-closed path is handled by useState's lazy init.\n // adjust-state-during-render (React's blessed alternative to\n // setState-in-effect for derived state) — same pattern DocsQAPanel\n // uses for its IME composer-draft mirror.\n const [trackedOpenCount, setTrackedOpenCount] = useState(state.openCount);\n if (state.openCount !== trackedOpenCount) {\n setTrackedOpenCount(state.openCount);\n setView(state.autoFocusComposer ? \"qa\" : \"docs\");\n }\n\n const focusComposer = useCallback(() => {\n window.requestAnimationFrame(() => {\n const ta = composerWrapperRef.current?.querySelector(\"textarea\");\n ta?.focus();\n });\n }, []);\n\n const onOpenChange = (next: boolean): void => {\n if (!next) closeDocsHelpSlideover(queryClient);\n };\n\n // When the palette opened us with autoFocusComposer, drop the focus\n // into the QA composer once the sheet has mounted.\n useEffect(() => {\n if (!state.open || !state.autoFocusComposer) return;\n focusComposer();\n }, [state.open, state.autoFocusComposer, focusComposer]);\n\n const onAskCtaClick = (): void => {\n setView(\"qa\");\n focusComposer();\n };\n\n const onBackToDocs = (): void => {\n setView(\"docs\");\n window.requestAnimationFrame(() => {\n ctaButtonRef.current?.focus();\n });\n };\n\n return (\n <Sheet open={state.open} onOpenChange={onOpenChange}>\n <SheetContent\n side=\"right\"\n className=\"!p-0 flex w-full max-w-[520px] flex-col gap-0 sm:max-w-[520px]\"\n aria-describedby={undefined}\n >\n <SlideoverHeader\n docId={state.docId}\n view={view}\n onBackToDocs={onBackToDocs}\n />\n\n {/* Docs view — kept mounted while in QA so scroll position\n survives a round trip. */}\n <div\n className={cn(\n \"min-h-0 flex-1 flex-col border-t border-border\",\n view === \"docs\" ? \"flex\" : \"hidden\",\n )}\n >\n <div className=\"min-h-0 flex-1 overflow-y-auto\">\n {state.docId ? (\n <DocsContent\n slug={state.docId}\n compact\n initialAnchor={state.anchor}\n initialAnchorNonce={state.openCount}\n onAsk={onAskCtaClick}\n />\n ) : (\n <NoDocHint />\n )}\n </div>\n <div className=\"flex flex-shrink-0 flex-col items-center gap-1.5 border-t border-border bg-muted/20 px-4 py-3\">\n {/* The CTA copy follows whether a doc is in context: the\n \"about this\" framing dangles when `<NoDocHint />` is shown\n because there is no \"this\" to refer to. */}\n <p className=\"text-[11px] text-muted-foreground\">\n {state.docId\n ? \"Have a question about this?\"\n : \"Have a question?\"}\n </p>\n <button\n ref={ctaButtonRef}\n type=\"button\"\n onClick={onAskCtaClick}\n className=\"inline-flex min-w-[200px] items-center justify-center gap-2 rounded-full bg-primary px-6 py-2.5 text-sm font-medium text-primary-foreground transition hover:bg-primary/90\"\n aria-label=\"Switch to the agent chat to ask a question\"\n data-testid=\"docs-help-ask-cta\"\n >\n <Sparkles className=\"h-3.5 w-3.5\" aria-hidden=\"true\" />\n <span>Ask a question</span>\n <ArrowRight className=\"h-3.5 w-3.5\" aria-hidden=\"true\" />\n </button>\n </div>\n </div>\n\n {/* QA view — kept mounted while in docs so the transcript and\n composer draft survive a round trip. */}\n <div\n ref={composerWrapperRef}\n className={cn(\n \"min-h-0 flex-1 border-t border-border bg-muted/20\",\n view === \"qa\" ? \"block\" : \"hidden\",\n )}\n >\n <DocsQAPanel\n scope=\"all\"\n contextHint={{ slug: state.docId, dashboardPath: pathname }}\n />\n </div>\n </SheetContent>\n </Sheet>\n );\n}\n\ninterface SlideoverHeaderProps {\n docId: string | null;\n view: SlideoverView;\n onBackToDocs: () => void;\n}\n\nfunction SlideoverHeader({ docId, view, onBackToDocs }: SlideoverHeaderProps) {\n const { data } = useDoc(docId);\n const title = data?.frontmatter.title ?? \"Help\";\n const segments = docId ? docId.split(\"/\") : [];\n const breadcrumb =\n segments.length > 1\n ? segments.slice(0, -1).join(\" / \").replace(/-/g, \" \")\n : null;\n\n return (\n <header className=\"flex items-start justify-between gap-3 px-5 py-3\">\n {/* Both branches yield a single `flex-1` child so `justify-between`\n pushes \"Open in /docs\" + the close spacer to the right edge in\n either view. Without this, the QA branch (multiple intrinsic-\n width children) lets `justify-between` split the leftover gap\n evenly and \"Open in /docs\" floats toward the middle. */}\n {view === \"qa\" ? (\n <div className=\"min-w-0 flex-1\">\n <button\n type=\"button\"\n onClick={onBackToDocs}\n className={cn(\n \"inline-flex items-center gap-1 rounded-md border border-border bg-card px-2 py-1 text-xs text-muted-foreground transition\",\n \"hover:bg-accent hover:text-foreground\",\n )}\n aria-label=\"Close chat and return to the docs view\"\n data-testid=\"docs-help-back-to-docs\"\n >\n <ChevronLeft className=\"h-3 w-3\" aria-hidden=\"true\" />\n <span>Back to docs</span>\n </button>\n {/* sr-only title keeps Radix's DialogContent ↔ DialogTitle\n a11y contract intact when the visible heading is hidden\n by the back button. Exactly one SheetTitle is rendered. */}\n <SheetTitle className=\"sr-only\">{title}</SheetTitle>\n </div>\n ) : (\n <div className=\"min-w-0 flex-1\">\n {breadcrumb && (\n <p className=\"truncate text-[10px] uppercase tracking-wide text-muted-foreground\">\n {breadcrumb}\n </p>\n )}\n <SheetTitle className=\"truncate text-base font-semibold\">\n {title}\n </SheetTitle>\n </div>\n )}\n {docId && (\n <Link\n href={`/docs/${docId}`}\n className={cn(\n \"inline-flex items-center gap-1 rounded-md border border-border bg-card px-2 py-1 text-xs text-muted-foreground transition\",\n \"hover:bg-accent hover:text-foreground\",\n )}\n aria-label={`Open ${title} in the full /docs view`}\n >\n <ArrowUpRight className=\"h-3 w-3\" aria-hidden=\"true\" />\n <span>Open in /docs</span>\n </Link>\n )}\n {/* Spacer for the absolute close button (`right-4 top-4`) baked\n into SheetContent. Without it, \"Open in /docs\" would sit under\n the X. */}\n <DialogPrimitive.Close\n aria-hidden=\"true\"\n tabIndex={-1}\n className=\"invisible h-7 w-7\"\n />\n </header>\n );\n}\n\nfunction NoDocHint() {\n return (\n <div className=\"flex h-full flex-col items-center justify-center gap-2 px-6 py-8 text-center text-muted-foreground\">\n <FileQuestion className=\"h-8 w-8 opacity-60\" aria-hidden=\"true\" />\n <p className=\"text-sm font-medium\">No doc tied to this screen yet.</p>\n <p className=\"max-w-[300px] text-xs\">\n You can still ask the agent — questions go against the entire docs\n corpus by default.\n </p>\n </div>\n );\n}\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name FileQuestion\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/file-question\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst FileQuestion = createLucideIcon('FileQuestion', [\n ['path', { d: 'M12 17h.01', key: 'p32p05' }],\n ['path', { d: 'M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z', key: '1mlx9k' }],\n ['path', { d: 'M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3', key: 'mhlwft' }],\n]);\n\nexport default FileQuestion;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name PanelLeftClose\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/panel-left-close\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst PanelLeftClose = createLucideIcon('PanelLeftClose', [\n ['rect', { width: '18', height: '18', x: '3', y: '3', rx: '2', key: 'afitv7' }],\n ['path', { d: 'M9 3v18', key: 'fh3hqa' }],\n ['path', { d: 'm16 15-3-3 3-3', key: '14y99z' }],\n]);\n\nexport default PanelLeftClose;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Plug\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/plug\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Plug = createLucideIcon('Plug', [\n ['path', { d: 'M12 22v-5', key: '1ega77' }],\n ['path', { d: 'M9 8V2', key: '14iosj' }],\n ['path', { d: 'M15 8V2', key: '18g5xt' }],\n ['path', { d: 'M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z', key: 'osxo6l' }],\n]);\n\nexport default Plug;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Monitor\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/monitor\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Monitor = createLucideIcon('Monitor', [\n ['rect', { width: '20', height: '14', x: '2', y: '3', rx: '2', key: '48i651' }],\n ['line', { x1: '8', x2: '16', y1: '21', y2: '21', key: '1svkeh' }],\n ['line', { x1: '12', x2: '12', y1: '17', y2: '21', key: 'vw1qmm' }],\n]);\n\nexport default Monitor;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Settings\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/settings\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Settings = createLucideIcon('Settings', [\n [\n 'path',\n {\n d: 'M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z',\n key: '1qme2f',\n },\n ],\n ['circle', { cx: '12', cy: '12', r: '3', key: '1v7zrd' }],\n]);\n\nexport default Settings;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ChevronLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevron-left\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronLeft = createLucideIcon('ChevronLeft', [\n ['path', { d: 'm15 18-6-6 6-6', key: '1wnfg3' }],\n]);\n\nexport default ChevronLeft;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ChartColumn\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chart-column\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChartColumn = createLucideIcon('ChartColumn', [\n ['path', { d: 'M3 3v16a2 2 0 0 0 2 2h16', key: 'c24i48' }],\n ['path', { d: 'M18 17V9', key: '2bz60n' }],\n ['path', { d: 'M13 17V5', key: '1frdt8' }],\n ['path', { d: 'M8 17v-3', key: '17ska0' }],\n]);\n\nexport default ChartColumn;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name NotebookText\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/notebook-text\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst NotebookText = createLucideIcon('NotebookText', [\n ['path', { d: 'M2 6h4', key: 'aawbzj' }],\n ['path', { d: 'M2 10h4', key: 'l0bgd4' }],\n ['path', { d: 'M2 14h4', key: '1gsvsf' }],\n ['path', { d: 'M2 18h4', key: '1bu2t1' }],\n ['rect', { width: '16', height: '20', x: '4', y: '2', rx: '2', key: '1nb95v' }],\n ['path', { d: 'M9.5 8h5', key: '11mslq' }],\n ['path', { d: 'M9.5 12H16', key: 'ktog6x' }],\n ['path', { d: 'M9.5 16H14', key: 'p1seyn' }],\n]);\n\nexport default NotebookText;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name PanelLeftOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/panel-left-open\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst PanelLeftOpen = createLucideIcon('PanelLeftOpen', [\n ['rect', { width: '18', height: '18', x: '3', y: '3', rx: '2', key: 'afitv7' }],\n ['path', { d: 'M9 3v18', key: 'fh3hqa' }],\n ['path', { d: 'm14 9 3 3-3 3', key: '8010ee' }],\n]);\n\nexport default PanelLeftOpen;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Sun\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/sun\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Sun = createLucideIcon('Sun', [\n ['circle', { cx: '12', cy: '12', r: '4', key: '4exip2' }],\n ['path', { d: 'M12 2v2', key: 'tus03m' }],\n ['path', { d: 'M12 20v2', key: '1lh1kg' }],\n ['path', { d: 'm4.93 4.93 1.41 1.41', key: '149t6j' }],\n ['path', { d: 'm17.66 17.66 1.41 1.41', key: 'ptbguv' }],\n ['path', { d: 'M2 12h2', key: '1t8f8n' }],\n ['path', { d: 'M20 12h2', key: '1q8mjw' }],\n ['path', { d: 'm6.34 17.66-1.41 1.41', key: '1m8zz5' }],\n ['path', { d: 'm19.07 4.93-1.41 1.41', key: '1shlcs' }],\n]);\n\nexport default Sun;\n","/**\n * Dashboard pathname (+search) → docId map for the `?` button.\n *\n * Mirrors DOCS_QA_DESIGN.md §8.3 / DOCS_QA_DASHBOARD_DESIGN.md §6.1. Paths\n * that 302-redirect in `dashboard/src/middleware.ts` (e.g.\n * `/settings/notifications`) are intentionally absent — adding them here\n * would map a doc to a URL the operator can never actually be on.\n *\n * Iteration is top-to-bottom; first hit wins. Specifics MUST precede\n * catch-all regexes:\n * 1. Query-qualified entries above their unqualified pathname twins\n * (`/knowledge?tab=skills` before bare `/knowledge`).\n * 2. Sub-page literals above their parent catch-all\n * (`/connections/repositories` before bare `/connections`).\n * 3. Suppression entries (`docId: null`) last on their prefix\n * (`/^\\/docs/`) — they only fire when nothing more specific matches.\n */\n\nexport interface PageDocMapEntry {\n match: { path: string | RegExp; query?: Record<string, string> };\n /** `null` means \"explicitly suppress the help button on this path\". */\n docId: string | null;\n}\n\nexport const PAGE_DOC_MAP: ReadonlyArray<PageDocMapEntry> = [\n // Top-level pages\n { match: { path: \"/\" }, docId: \"features/operations/activity-and-conversations\" },\n { match: { path: \"/chat\" }, docId: \"features/messaging/dashboard-chat\" },\n { match: { path: /^\\/activity/ }, docId: \"features/operations/activity-and-conversations\" },\n { match: { path: /^\\/conversations(\\/|$)/ }, docId: \"features/operations/activity-and-conversations\" },\n { match: { path: \"/schedule\" }, docId: \"features/memory-files/schedule\" },\n { match: { path: \"/knowledge\", query: { tab: \"context-files\" } }, docId: \"concepts/memory-model\" },\n { match: { path: \"/knowledge\", query: { tab: \"skills\" } }, docId: \"concepts/skills\" },\n { match: { path: \"/knowledge\", query: { tab: \"upload\" } }, docId: \"guides/import-knowledge-file\" },\n { match: { path: \"/knowledge\" }, docId: \"concepts/memory-model\" },\n { match: { path: \"/reading\" }, docId: \"features/lifestyle/reading\" },\n { match: { path: \"/git\" }, docId: \"features/lifestyle/git\" },\n { match: { path: \"/analytics\" }, docId: \"concepts/costs-and-quotas\" },\n\n // Connections — specific sub-pages first, then catch-all\n { match: { path: \"/connections/calendar\" }, docId: \"features/integrations/calendar\" },\n { match: { path: \"/connections/repositories\" }, docId: \"features/integrations/git\" },\n { match: { path: \"/connections/journal\" }, docId: \"features/memory-files/agent-journal\" },\n { match: { path: \"/connections/knowledge\" }, docId: \"concepts/memory-model\" },\n { match: { path: \"/connections/mail\" }, docId: \"features/integrations/mail\" },\n { match: { path: \"/connections/mcp\" }, docId: \"concepts/skills\" },\n { match: { path: \"/connections/messaging\" }, docId: \"features/messaging/overview\" },\n { match: { path: \"/connections/routines\" }, docId: \"concepts/routines\" },\n { match: { path: \"/connections\" }, docId: \"features/messaging/overview\" },\n\n // Settings — specific sub-pages first, then top-level\n { match: { path: \"/settings/connections\" }, docId: \"features/messaging/overview\" },\n { match: { path: \"/settings/schedule\" }, docId: \"features/operations/quiet-hours\" },\n { match: { path: \"/settings/routines\" }, docId: \"concepts/routines\" },\n { match: { path: \"/settings/journal\" }, docId: \"features/memory-files/agent-journal\" },\n { match: { path: \"/settings/commands\" }, docId: \"features/messaging/overview\" },\n { match: { path: \"/settings/models\" }, docId: \"concepts/backends-and-tiers\" },\n { match: { path: \"/settings/advanced\" }, docId: \"concepts/safety-and-execution\" },\n { match: { path: \"/settings\" }, docId: \"concepts/agent-day\" },\n\n // Setup wizard\n { match: { path: /^\\/setup/ }, docId: \"guides/setup-wizard\" },\n\n // Suppress on /docs itself (the help button is redundant there)\n { match: { path: /^\\/docs/ }, docId: null },\n];\n\n/**\n * Resolve the doc id for a given dashboard location.\n *\n * @param pathname pathname as returned by Next.js `usePathname()`\n * (no query string, no hash)\n * @param search `URLSearchParams` (from `useSearchParams()`); only\n * inspected when an entry declares `query:`. Pass an\n * empty `URLSearchParams()` if the caller does not have\n * a search-params object.\n * @returns the doc id, `null` for explicit suppression, or `null` if no\n * entry matches.\n */\nexport function docIdForPath(\n pathname: string,\n search: URLSearchParams,\n): string | null {\n for (const e of PAGE_DOC_MAP) {\n const pathMatch =\n typeof e.match.path === \"string\"\n ? pathname === e.match.path\n : e.match.path.test(pathname);\n if (!pathMatch) continue;\n if (e.match.query) {\n const allOk = Object.entries(e.match.query).every(\n ([k, v]) => search.get(k) === v,\n );\n if (!allOk) continue;\n }\n return e.docId;\n }\n return null;\n}\n"],"names":["M","e","i","s","u","m","a","l","h","d","document","documentElement","w","p","n","Array","isArray","forEach","y","k","S","map","f","classList","remove","add","setAttribute","R","includes","style","colorScheme","c","window","matchMedia","matches","localStorage","getItem","b","I","O","x","U","setTheme","themes","z","J","children","V","N","forcedTheme","disableTransitionOnChange","enableSystem","enableColorScheme","storageKey","defaultTheme","attribute","value","nonce","scriptProps","H","T","E","Object","values","o","r","v","C","W","P","L","g","startsWith","removeAttribute","D","setItem","A","addListener","removeListener","key","newValue","addEventListener","removeEventListener","Q","theme","resolvedTheme","systemTheme","Provider","_","JSON","stringify","slice","suppressHydrationWarning","dangerouslySetInnerHTML","__html","toString","createElement","appendChild","createTextNode","head","getComputedStyle","body","setTimeout","removeChild","ThemeProvider","QueryCache","config","Map","options","build","client","state","queryKey","queryHash","query","get","defaultQueryOptions","defaultOptions","getQueryDefaults","has","set","notify","type","queryInMap","delete","destroy","clear","getAll","batch","find","filters","defaultedFilters","queries","filter","exact","findAll","keys","length","event","onFocus","listeners","listener","onOnline","ChartColumn"],"mappings":"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","ignoreList":[0,2,4,5,6,9,16,17,18,19,20,21,22,23,24,25]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../node_modules/.pnpm/next-themes%400.4.6_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next-themes/dist/index.mjs","../../../../../../packages/dashboard/src/providers/theme-provider.tsx","../../../../../../node_modules/.pnpm/%40tanstack%2Bquery-core%405.96.2/node_modules/%40tanstack/query-core/build/modern/queryClient.js","../../../../../../packages/dashboard/src/providers/query-provider.tsx","../../../../../../node_modules/.pnpm/%40tanstack%2Bquery-core%405.96.2/node_modules/%40tanstack/query-core/build/modern/queryCache.js","../../../../../../node_modules/.pnpm/%40tanstack%2Bquery-core%405.96.2/node_modules/%40tanstack/query-core/build/modern/mutationCache.js","../../../../../../node_modules/.pnpm/cmdk%401.1.1_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.14__%40types%2Breact%4019.2.14_react-dom_774a6dff9510bebce6a2343405a1ca59/node_modules/cmdk/dist/chunk-NZJY6EH4.mjs","../../../../../../packages/dashboard/src/components/layout/app-sidebar.tsx","../../../../../../packages/dashboard/src/components/layout/degraded-banner.tsx","../../../../../../node_modules/.pnpm/cmdk%401.1.1_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.14__%40types%2Breact%4019.2.14_react-dom_774a6dff9510bebce6a2343405a1ca59/node_modules/cmdk/dist/index.mjs","../../../../../../packages/dashboard/src/components/layout/connection-status.tsx","../../../../../../packages/dashboard/src/components/layout/layout-shell.tsx","../../../../../../packages/dashboard/src/components/settings/cmdk-palette.tsx","../../../../../../packages/dashboard/src/components/docs/docs-help-button.tsx","../../../../../../packages/dashboard/src/components/docs/docs-help-keybinding.tsx","../../../../../../packages/dashboard/src/components/docs/docs-help-slideover.tsx","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/panel-left-close.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/plug.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/monitor.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/file-question.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/panel-left-open.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/settings.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-left.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/chart-column.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/sun.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/notebook-text.ts","../../../../../../packages/dashboard/src/lib/docs/page-doc-map.ts"],"sourcesContent":["\"use client\";import*as t from\"react\";var M=(e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=[\"light\",\"dark\"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y===\"class\",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n===\"system\"?c():n;p(y)}catch(n){}};var b=[\"light\",\"dark\"],I=\"(prefers-color-scheme: dark)\",O=typeof window==\"undefined\",x=t.createContext(void 0),U={setTheme:e=>{},themes:[]},z=()=>{var e;return(e=t.useContext(x))!=null?e:U},J=e=>t.useContext(x)?t.createElement(t.Fragment,null,e.children):t.createElement(V,{...e}),N=[\"light\",\"dark\"],V=({forcedTheme:e,disableTransitionOnChange:i=!1,enableSystem:s=!0,enableColorScheme:u=!0,storageKey:m=\"theme\",themes:a=N,defaultTheme:l=s?\"system\":\"light\",attribute:h=\"data-theme\",value:d,children:w,nonce:p,scriptProps:R})=>{let[c,n]=t.useState(()=>H(m,l)),[T,y]=t.useState(()=>c===\"system\"?E():c),k=d?Object.values(d):a,S=t.useCallback(o=>{let r=o;if(!r)return;o===\"system\"&&s&&(r=E());let v=d?d[r]:r,C=i?W(p):null,P=document.documentElement,L=g=>{g===\"class\"?(P.classList.remove(...k),v&&P.classList.add(v)):g.startsWith(\"data-\")&&(v?P.setAttribute(g,v):P.removeAttribute(g))};if(Array.isArray(h)?h.forEach(L):L(h),u){let g=b.includes(l)?l:null,D=b.includes(r)?r:g;P.style.colorScheme=D}C==null||C()},[p]),f=t.useCallback(o=>{let r=typeof o==\"function\"?o(c):o;n(r);try{localStorage.setItem(m,r)}catch(v){}},[c]),A=t.useCallback(o=>{let r=E(o);y(r),c===\"system\"&&s&&!e&&S(\"system\")},[c,e]);t.useEffect(()=>{let o=window.matchMedia(I);return o.addListener(A),A(o),()=>o.removeListener(A)},[A]),t.useEffect(()=>{let o=r=>{r.key===m&&(r.newValue?n(r.newValue):f(l))};return window.addEventListener(\"storage\",o),()=>window.removeEventListener(\"storage\",o)},[f]),t.useEffect(()=>{S(e!=null?e:c)},[e,c]);let Q=t.useMemo(()=>({theme:c,setTheme:f,forcedTheme:e,resolvedTheme:c===\"system\"?T:c,themes:s?[...a,\"system\"]:a,systemTheme:s?T:void 0}),[c,f,e,T,s,a]);return t.createElement(x.Provider,{value:Q},t.createElement(_,{forcedTheme:e,storageKey:m,attribute:h,enableSystem:s,enableColorScheme:u,defaultTheme:l,value:d,themes:a,nonce:p,scriptProps:R}),w)},_=t.memo(({forcedTheme:e,storageKey:i,attribute:s,enableSystem:u,enableColorScheme:m,defaultTheme:a,value:l,themes:h,nonce:d,scriptProps:w})=>{let p=JSON.stringify([s,i,a,e,h,l,u,m]).slice(1,-1);return t.createElement(\"script\",{...w,suppressHydrationWarning:!0,nonce:typeof window==\"undefined\"?d:\"\",dangerouslySetInnerHTML:{__html:`(${M.toString()})(${p})`}})}),H=(e,i)=>{if(O)return;let s;try{s=localStorage.getItem(e)||void 0}catch(u){}return s||i},W=e=>{let i=document.createElement(\"style\");return e&&i.setAttribute(\"nonce\",e),i.appendChild(document.createTextNode(\"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\")),document.head.appendChild(i),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(i)},1)}},E=e=>(e||(e=window.matchMedia(I)),e.matches?\"dark\":\"light\");export{J as ThemeProvider,z as useTheme};\n","\"use client\";\n\nimport { ThemeProvider as NextThemesProvider } from \"next-themes\";\nimport type { ReactNode } from \"react\";\n\nexport function ThemeProvider({ children }: { children: ReactNode }) {\n return (\n <NextThemesProvider attribute=\"class\" defaultTheme=\"system\" enableSystem>\n {children}\n </NextThemesProvider>\n );\n}\n","// src/queryClient.ts\nimport {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken\n} from \"./utils.js\";\nimport { QueryCache } from \"./queryCache.js\";\nimport { MutationCache } from \"./mutationCache.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar QueryClient = class {\n #queryCache;\n #mutationCache;\n #defaultOptions;\n #queryDefaults;\n #mutationDefaults;\n #mountCount;\n #unsubscribeFocus;\n #unsubscribeOnline;\n constructor(config = {}) {\n this.#queryCache = config.queryCache || new QueryCache();\n this.#mutationCache = config.mutationCache || new MutationCache();\n this.#defaultOptions = config.defaultOptions || {};\n this.#queryDefaults = /* @__PURE__ */ new Map();\n this.#mutationDefaults = /* @__PURE__ */ new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1) return;\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0) return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = void 0;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = void 0;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n }\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state.data;\n }\n ensureQueryData(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n const query = this.#queryCache.build(this, defaultedOptions);\n const cachedData = query.state.data;\n if (cachedData === void 0) {\n return this.fetchQuery(options);\n }\n if (options.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) {\n void this.prefetchQuery(defaultedOptions);\n }\n return Promise.resolve(cachedData);\n }\n getQueriesData(filters) {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const defaultedOptions = this.defaultQueryOptions({ queryKey });\n const query = this.#queryCache.get(\n defaultedOptions.queryHash\n );\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (data === void 0) {\n return void 0;\n }\n return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });\n }\n setQueriesData(filters, updater, options) {\n return notifyManager.batch(\n () => this.#queryCache.findAll(filters).map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options)\n ])\n );\n }\n getQueryState(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(\n options.queryHash\n )?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options) {\n const queryCache = this.#queryCache;\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset();\n });\n return this.refetchQueries(\n {\n type: \"active\",\n ...filters\n },\n options\n );\n });\n }\n cancelQueries(filters, cancelOptions = {}) {\n const defaultedCancelOptions = { revert: true, ...cancelOptions };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n );\n return Promise.all(promises).then(noop).catch(noop);\n }\n invalidateQueries(filters, options = {}) {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate();\n });\n if (filters?.refetchType === \"none\") {\n return Promise.resolve();\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? \"active\"\n },\n options\n );\n });\n }\n refetchQueries(filters, options = {}) {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true\n };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled() && !query.isStatic()).map((query) => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n })\n );\n return Promise.all(promises).then(noop);\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n if (defaultedOptions.retry === void 0) {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query)\n ) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options) {\n return this.fetchQuery(options).then(noop).catch(noop);\n }\n fetchInfiniteQuery(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n }\n ensureInfiniteQueryData(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.ensureQueryData(options);\n }\n resumePausedMutations() {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations();\n }\n return Promise.resolve();\n }\n getQueryCache() {\n return this.#queryCache;\n }\n getMutationCache() {\n return this.#mutationCache;\n }\n getDefaultOptions() {\n return this.#defaultOptions;\n }\n setDefaultOptions(options) {\n this.#defaultOptions = options;\n }\n setQueryDefaults(queryKey, options) {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...this.#queryDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options) {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...this.#mutationDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n defaultQueryOptions(options) {\n if (options._defaulted) {\n return options;\n }\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions\n );\n }\n if (defaultedOptions.refetchOnReconnect === void 0) {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (defaultedOptions.throwOnError === void 0) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false;\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n return {\n ...this.#defaultOptions.mutations,\n ...options?.mutationKey && this.getMutationDefaults(options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n clear() {\n this.#queryCache.clear();\n this.#mutationCache.clear();\n }\n};\nexport {\n QueryClient\n};\n//# sourceMappingURL=queryClient.js.map","\"use client\";\n\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { useState, type ReactNode } from \"react\";\n\nexport function QueryProvider({ children }: { children: ReactNode }) {\n const [queryClient] = useState(\n () =>\n new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 10_000,\n retry: 2,\n refetchOnWindowFocus: true,\n },\n },\n }),\n );\n\n return (\n <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>\n );\n}\n","// src/queryCache.ts\nimport { hashQueryKeyByOptions, matchQuery } from \"./utils.js\";\nimport { Query } from \"./query.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar QueryCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = /* @__PURE__ */ new Map();\n }\n #queries;\n build(client, options, state) {\n const queryKey = options.queryKey;\n const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n if (!query) {\n query = new Query({\n client,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = this.#queries.get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash);\n }\n this.notify({ type: \"removed\", query });\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return this.#queries.get(queryHash);\n }\n getAll() {\n return [...this.#queries.values()];\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (query) => matchQuery(defaultedFilters, query)\n );\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n onFocus() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline();\n });\n });\n }\n};\nexport {\n QueryCache\n};\n//# sourceMappingURL=queryCache.js.map","// src/mutationCache.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Mutation } from \"./mutation.js\";\nimport { matchMutation, noop } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = /* @__PURE__ */ new Set();\n this.#scopes = /* @__PURE__ */ new Map();\n this.#mutationId = 0;\n }\n #mutations;\n #scopes;\n #mutationId;\n build(client, options, state) {\n const mutation = new Mutation({\n client,\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n this.#mutations.add(mutation);\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n scopedMutations.push(mutation);\n } else {\n this.#scopes.set(scope, [mutation]);\n }\n }\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n if (this.#mutations.delete(mutation)) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n if (scopedMutations.length > 1) {\n const index = scopedMutations.indexOf(mutation);\n if (index !== -1) {\n scopedMutations.splice(index, 1);\n }\n } else if (scopedMutations[0] === mutation) {\n this.#scopes.delete(scope);\n }\n }\n }\n }\n this.notify({ type: \"removed\", mutation });\n }\n canRun(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const mutationsWithSameScope = this.#scopes.get(scope);\n const firstPendingMutation = mutationsWithSameScope?.find(\n (m) => m.state.status === \"pending\"\n );\n return !firstPendingMutation || firstPendingMutation === mutation;\n } else {\n return true;\n }\n }\n runNext(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const foundMutation = this.#scopes.get(scope)?.find((m) => m !== mutation && m.state.isPaused);\n return foundMutation?.continue() ?? Promise.resolve();\n } else {\n return Promise.resolve();\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.notify({ type: \"removed\", mutation });\n });\n this.#mutations.clear();\n this.#scopes.clear();\n });\n }\n getAll() {\n return Array.from(this.#mutations);\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation));\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused);\n return notifyManager.batch(\n () => Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop))\n )\n );\n }\n};\nfunction scopeFor(mutation) {\n return mutation.options.scope?.id;\n}\nexport {\n MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map","var U=1,Y=.9,H=.8,J=.17,p=.1,u=.999,$=.9999;var k=.99,m=/[\\\\\\/_+.#\"@\\[\\(\\{&]/,B=/[\\\\\\/_+.#\"@\\[\\(\\{&]/g,K=/[\\s-]/,X=/[\\s-]/g;function G(_,C,h,P,A,f,O){if(f===C.length)return A===_.length?U:k;var T=`${A},${f}`;if(O[T]!==void 0)return O[T];for(var L=P.charAt(f),c=h.indexOf(L,A),S=0,E,N,R,M;c>=0;)E=G(_,C,h,P,c+1,f+1,O),E>S&&(c===A?E*=U:m.test(_.charAt(c-1))?(E*=H,R=_.slice(A,c-1).match(B),R&&A>0&&(E*=Math.pow(u,R.length))):K.test(_.charAt(c-1))?(E*=Y,M=_.slice(A,c-1).match(X),M&&A>0&&(E*=Math.pow(u,M.length))):(E*=J,A>0&&(E*=Math.pow(u,c-A))),_.charAt(c)!==C.charAt(f)&&(E*=$)),(E<p&&h.charAt(c-1)===P.charAt(f+1)||P.charAt(f+1)===P.charAt(f)&&h.charAt(c-1)!==P.charAt(f))&&(N=G(_,C,h,P,c+1,f+2,O),N*p>E&&(E=N*p)),E>S&&(S=E),c=h.indexOf(L,c+1);return O[T]=S,S}function D(_){return _.toLowerCase().replace(X,\" \")}function W(_,C,h){return _=h&&h.length>0?`${_+\" \"+h.join(\" \")}`:_,G(_,C,D(_),D(C),0,0,{})}export{W as a};\n","\"use client\";\n\nimport Link from \"next/link\";\nimport { usePathname } from \"next/navigation\";\nimport { useState, useSyncExternalStore } from \"react\";\nimport { APP_NAME, DEFAULT_AGENT_DISPLAY_NAME } from \"@aitne/shared\";\nimport {\n LayoutDashboard,\n MessageSquare,\n History,\n BarChart3,\n Clock,\n Brain,\n Settings,\n PanelLeftClose,\n PanelLeftOpen,\n Sun,\n Moon,\n Monitor,\n BookOpen,\n BookText,\n NotebookText,\n Plug,\n GitBranch,\n Plane,\n Wallet,\n Heart,\n ChevronDown,\n type LucideIcon,\n} from \"lucide-react\";\nimport { useTheme } from \"next-themes\";\nimport { cn, formatCurrency } from \"@/lib/utils\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Tooltip, TooltipTrigger, TooltipContent } from \"@/components/ui/tooltip\";\nimport { ConnectionStatus } from \"./connection-status\";\nimport { useHealth } from \"@/lib/hooks/use-health\";\nimport { useApprovals } from \"@/lib/hooks/use-approvals\";\nimport { useConfig } from \"@/lib/hooks/use-config\";\nimport { useEventStream } from \"@/lib/hooks/use-event-stream\";\n\ntype NavItem = {\n label: string;\n href: string;\n icon: LucideIcon;\n badge?: React.ReactNode;\n};\n\ntype NavSection = {\n id: string;\n label: string;\n items: NavItem[];\n};\n\nfunction SidebarBadge({ children, className }: { children: React.ReactNode; className?: string }) {\n return (\n <span className={cn(\"ml-auto flex h-5 min-w-5 items-center justify-center rounded-full px-1.5 text-[10px] font-medium\", className)}>\n {children}\n </span>\n );\n}\n\nconst SECTION_STATE_STORAGE_KEY = \"aitne.sidebar.sections.collapsed\";\nconst sectionListeners: Set<() => void> = new Set();\nconst EMPTY_SECTIONS: ReadonlySet<string> = new Set();\nlet cachedSections: ReadonlySet<string> | null = null;\n\nfunction readCollapsedSections(): ReadonlySet<string> {\n if (typeof window === \"undefined\") return EMPTY_SECTIONS;\n if (cachedSections) return cachedSections;\n try {\n const raw = window.localStorage.getItem(SECTION_STATE_STORAGE_KEY);\n if (!raw) {\n cachedSections = EMPTY_SECTIONS;\n return cachedSections;\n }\n const parsed = JSON.parse(raw) as unknown;\n cachedSections = Array.isArray(parsed)\n ? new Set(parsed.filter((id): id is string => typeof id === \"string\"))\n : EMPTY_SECTIONS;\n } catch {\n cachedSections = EMPTY_SECTIONS;\n }\n return cachedSections;\n}\n\nfunction getServerSections(): ReadonlySet<string> {\n return EMPTY_SECTIONS;\n}\n\nfunction writeCollapsedSections(next: ReadonlySet<string>): void {\n cachedSections = next;\n if (typeof window !== \"undefined\") {\n try {\n window.localStorage.setItem(SECTION_STATE_STORAGE_KEY, JSON.stringify([...next]));\n } catch {\n // localStorage blocked (private mode, quota). State still applies in-session.\n }\n }\n for (const l of sectionListeners) l();\n}\n\nfunction subscribeSections(cb: () => void): () => void {\n sectionListeners.add(cb);\n const onStorage = (e: StorageEvent) => {\n if (e.key === SECTION_STATE_STORAGE_KEY || e.key === null) {\n cachedSections = null;\n cb();\n }\n };\n if (typeof window !== \"undefined\") window.addEventListener(\"storage\", onStorage);\n return () => {\n sectionListeners.delete(cb);\n if (typeof window !== \"undefined\") window.removeEventListener(\"storage\", onStorage);\n };\n}\n\nfunction useCollapsedSections(): ReadonlySet<string> {\n return useSyncExternalStore(subscribeSections, readCollapsedSections, getServerSections);\n}\n\nexport function AppSidebar() {\n const pathname = usePathname();\n const [collapsed, setCollapsed] = useState(false);\n const collapsedSections = useCollapsedSections();\n const { theme, setTheme } = useTheme();\n const { data: config } = useConfig();\n\n const toggleSection = (id: string) => {\n const next = new Set(collapsedSections);\n if (next.has(id)) next.delete(id);\n else next.add(id);\n writeCollapsedSections(next);\n };\n\n // Data for badges\n const { data: health } = useHealth();\n const { data: approvals } = useApprovals();\n const streamEvents = useEventStream(100);\n\n const isActive = (href: string) => {\n if (href === \"/\") return pathname === \"/\";\n if (href === \"/activity\") {\n // Conversation detail pages (/conversations/[id]) are children of Agent Log\n return pathname.startsWith(\"/activity\") || pathname.startsWith(\"/conversations/\");\n }\n return pathname === href || pathname.startsWith(`${href}/`);\n };\n\n const nextTheme = () => {\n if (theme === \"light\") setTheme(\"dark\");\n else if (theme === \"dark\") setTheme(\"system\");\n else setTheme(\"light\");\n };\n\n const ThemeIcon = theme === \"dark\" ? Moon : theme === \"light\" ? Sun : Monitor;\n\n const pendingApprovals = approvals?.approvals.length ?? 0;\n const newEventCount = streamEvents.length;\n const agentDisplayName = config?.agentDisplayName ?? DEFAULT_AGENT_DISPLAY_NAME;\n\n const sections: NavSection[] = [\n {\n id: \"agent\",\n label: \"Agent\",\n items: [\n {\n label: \"Overview\", href: \"/\", icon: LayoutDashboard,\n badge: (() => {\n if (collapsed) return undefined;\n if (pendingApprovals > 0) {\n return <span className=\"ml-auto h-2 w-2 rounded-full bg-red-500\" />;\n }\n if (health?.status === \"ok\") {\n return <span className=\"ml-auto h-2 w-2 rounded-full bg-emerald-500\" />;\n }\n return undefined;\n })(),\n },\n { label: \"Chat\", href: \"/chat\", icon: MessageSquare },\n {\n label: \"Agent Log\", href: \"/activity\", icon: History,\n badge: newEventCount > 0 && !collapsed ? (\n <SidebarBadge className=\"bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300\">{newEventCount}</SidebarBadge>\n ) : undefined,\n },\n { label: \"Wake-ups\", href: \"/schedule\", icon: Clock },\n {\n label: \"Analytics\", href: \"/analytics\", icon: BarChart3,\n badge: health && !collapsed ? (\n <span className=\"ml-auto text-[10px] text-muted-foreground\">{formatCurrency(health.todayCostUsd)}</span>\n ) : undefined,\n },\n ],\n },\n {\n id: \"my-life\",\n label: \"My Life\",\n items: [\n { label: \"Knowledge\", href: \"/knowledge\", icon: Brain },\n // Wiki is opt-in (WIKI_BUILDER_DESIGN.md §0) but the entry is\n // always shown for parity with the other My Life pages\n // (Reading / Trip / Finance / Health are visible regardless\n // of whether the user has data). The `/wiki` page itself\n // renders an \"Enable Wiki\" CTA when no `wiki_workspaces` row\n // is active, so first-time users get the discovery path\n // without leaking implementation state into the chrome.\n { label: \"Wiki\", href: \"/wiki\", icon: BookText },\n { label: \"Reading\", href: \"/reading\", icon: BookOpen },\n { label: \"Git\", href: \"/git\", icon: GitBranch },\n { label: \"Trip\", href: \"/trip\", icon: Plane },\n { label: \"Finance\", href: \"/finance\", icon: Wallet },\n { label: \"Health\", href: \"/health\", icon: Heart },\n ],\n },\n {\n id: \"setup\",\n label: \"Setup\",\n items: [\n { label: \"Docs\", href: \"/docs\", icon: NotebookText },\n { label: \"Connections\", href: \"/connections\", icon: Plug },\n { label: \"Settings\", href: \"/settings\", icon: Settings },\n ],\n },\n ];\n\n const renderNavItem = (item: NavItem) => {\n const active = isActive(item.href);\n const link = (\n <Link\n key={item.href}\n href={item.href}\n className={cn(\n \"flex items-center gap-3 rounded-lg px-3 py-2 text-sm transition-colors\",\n active\n ? \"bg-primary/10 text-primary font-medium\"\n : \"text-muted-foreground hover:bg-accent hover:text-foreground\",\n collapsed && \"justify-center px-0\",\n )}\n >\n <item.icon className=\"h-4 w-4 shrink-0\" />\n {!collapsed && <span>{item.label}</span>}\n {item.badge}\n </Link>\n );\n\n if (collapsed) {\n return (\n <Tooltip key={item.href} delayDuration={0}>\n <TooltipTrigger asChild>{link}</TooltipTrigger>\n <TooltipContent side=\"right\">{item.label}</TooltipContent>\n </Tooltip>\n );\n }\n return link;\n };\n\n const renderSection = (section: NavSection, isFirst: boolean) => {\n // Section collapse only applies when the sidebar itself is expanded (icon-only mode shows everything).\n const sectionCollapsed = !collapsed && collapsedSections.has(section.id);\n const showItems = collapsed || !sectionCollapsed;\n const sectionHasActive = section.items.some((item) => isActive(item.href));\n // Surface a hint when the active route lives inside a section the user has collapsed,\n // so the user is not silently disoriented when arriving via a deep link.\n const showActiveHint = sectionCollapsed && sectionHasActive;\n\n return (\n <div\n key={section.id}\n className={cn(\n !isFirst && \"mt-2 pt-2 border-t border-border/60\",\n !isFirst && collapsed && \"mx-1\",\n )}\n >\n {!collapsed && (\n <button\n type=\"button\"\n onClick={() => toggleSection(section.id)}\n aria-expanded={!sectionCollapsed}\n aria-controls={`sidebar-section-${section.id}`}\n className=\"flex w-full items-center gap-1.5 px-3 py-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/70 hover:text-foreground transition-colors\"\n >\n <ChevronDown\n className={cn(\n \"h-3 w-3 shrink-0 transition-transform duration-150\",\n sectionCollapsed && \"-rotate-90\",\n )}\n />\n <span>{section.label}</span>\n {showActiveHint && (\n <>\n <span className=\"sr-only\"> (current page is in this section)</span>\n <span aria-hidden className=\"ml-auto h-1.5 w-1.5 rounded-full bg-primary\" />\n </>\n )}\n </button>\n )}\n {showItems && (\n <div id={`sidebar-section-${section.id}`} className=\"space-y-0.5\">\n {section.items.map(renderNavItem)}\n </div>\n )}\n </div>\n );\n };\n\n return (\n <aside\n className={cn(\n \"flex h-screen flex-col border-r border-border bg-sidebar text-sidebar-foreground transition-[width] duration-200\",\n collapsed ? \"w-16\" : \"w-56\",\n )}\n >\n {/* Header */}\n <div className=\"flex h-14 items-center justify-between px-3\">\n {!collapsed && (\n <div className=\"min-w-0\">\n <span className=\"block text-sm font-semibold tracking-tight\">{APP_NAME}</span>\n <span className=\"block truncate text-[11px] text-muted-foreground\">\n {agentDisplayName}\n </span>\n </div>\n )}\n <button\n onClick={() => setCollapsed(!collapsed)}\n className=\"rounded-md p-1.5 text-muted-foreground hover:bg-accent hover:text-foreground\"\n >\n {collapsed ? <PanelLeftOpen className=\"h-4 w-4\" /> : <PanelLeftClose className=\"h-4 w-4\" />}\n </button>\n </div>\n\n <Separator />\n\n {/* Sectioned nav */}\n <nav aria-label=\"Main navigation\" className=\"flex-1 overflow-y-auto p-2\">\n {sections.map((section, idx) => renderSection(section, idx === 0))}\n </nav>\n\n <Separator />\n\n {/* Footer: connection status + theme */}\n <div className=\"p-2 space-y-2\">\n <ConnectionStatus collapsed={collapsed} />\n <button\n onClick={nextTheme}\n className={cn(\n \"flex items-center gap-3 rounded-lg px-3 py-2 text-xs text-muted-foreground hover:bg-accent hover:text-foreground w-full transition-colors\",\n collapsed && \"justify-center px-0\",\n )}\n >\n <ThemeIcon className=\"h-4 w-4 shrink-0\" />\n {!collapsed && <span className=\"capitalize\">{theme ?? \"system\"}</span>}\n </button>\n </div>\n </aside>\n );\n}\n","\"use client\";\n\nimport Link from \"next/link\";\nimport { AlertTriangle } from \"lucide-react\";\nimport { useHealth } from \"@/lib/hooks/use-health\";\n\n/**\n * Phase 3 §section \"Banner on every dashboard page when degraded-mode\n * is active\". Rendered above `<main>` so it stays put while the page\n * scrolls — the degraded signal is safety-critical (writes are being\n * refused) and must not slide out of view.\n *\n * Reads degraded state from `/api/health` (10 s refetch + SSE cache\n * invalidation via `SSEProvider` debouncer). When `status !== \"degraded\"`\n * the component renders `null`.\n */\nexport function DegradedBanner() {\n const { data } = useHealth();\n const degraded = data?.degraded;\n if (!degraded) return null;\n\n return (\n <div\n role=\"alert\"\n className=\"flex items-center gap-2 border-b border-red-300 bg-red-50 px-4 py-2 text-sm text-red-800 dark:border-red-900 dark:bg-red-950 dark:text-red-200\"\n >\n <AlertTriangle className=\"h-4 w-4 shrink-0\" />\n <div className=\"flex-1 min-w-0\">\n <span className=\"font-medium\">{headlineFor(degraded.reason)}</span>\n {degraded.path && (\n <>\n {\" — \"}\n <code className=\"break-all font-mono text-xs\">{degraded.path}</code>\n </>\n )}\n {\". \"}\n <span className=\"text-red-700/80 dark:text-red-300/80\">\n {bodyFor(degraded.reason)}\n </span>\n </div>\n <Link\n href=\"/settings#management-mode\"\n className=\"shrink-0 rounded border border-red-300 bg-white px-2 py-1 text-xs font-medium text-red-800 hover:bg-red-100 dark:border-red-800 dark:bg-red-900 dark:text-red-100\"\n >\n Open Management Mode\n </Link>\n </div>\n );\n}\n\nfunction headlineFor(reason: string): string {\n if (reason === \"primary_vault_unreachable\") {\n return \"Primary vault unreachable\";\n }\n return `Daemon degraded: ${reason}`;\n}\n\nfunction bodyFor(reason: string): string {\n if (reason === \"primary_vault_unreachable\") {\n return \"Writes to the context API are currently blocked. Fix the path or switch modes in Settings.\";\n }\n return \"Some operations may be refused until this clears.\";\n}\n","\"use client\";import{a as ae}from\"./chunk-NZJY6EH4.mjs\";import*as w from\"@radix-ui/react-dialog\";import*as t from\"react\";import{Primitive as D}from\"@radix-ui/react-primitive\";import{useId as H}from\"@radix-ui/react-id\";import{composeRefs as G}from\"@radix-ui/react-compose-refs\";var N='[cmdk-group=\"\"]',Y='[cmdk-group-items=\"\"]',be='[cmdk-group-heading=\"\"]',le='[cmdk-item=\"\"]',ce=`${le}:not([aria-disabled=\"true\"])`,Z=\"cmdk-item-select\",T=\"data-value\",Re=(r,o,n)=>ae(r,o,n),ue=t.createContext(void 0),K=()=>t.useContext(ue),de=t.createContext(void 0),ee=()=>t.useContext(de),fe=t.createContext(void 0),me=t.forwardRef((r,o)=>{let n=L(()=>{var e,a;return{search:\"\",value:(a=(e=r.value)!=null?e:r.defaultValue)!=null?a:\"\",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),u=L(()=>new Set),c=L(()=>new Map),d=L(()=>new Map),f=L(()=>new Set),p=pe(r),{label:b,children:m,value:R,onValueChange:x,filter:C,shouldFilter:S,loop:A,disablePointerSelection:ge=!1,vimBindings:j=!0,...O}=r,$=H(),q=H(),_=H(),I=t.useRef(null),v=ke();k(()=>{if(R!==void 0){let e=R.trim();n.current.value=e,E.emit()}},[R]),k(()=>{v(6,ne)},[]);let E=t.useMemo(()=>({subscribe:e=>(f.current.add(e),()=>f.current.delete(e)),snapshot:()=>n.current,setState:(e,a,s)=>{var i,l,g,y;if(!Object.is(n.current[e],a)){if(n.current[e]=a,e===\"search\")J(),z(),v(1,W);else if(e===\"value\"){if(document.activeElement.hasAttribute(\"cmdk-input\")||document.activeElement.hasAttribute(\"cmdk-root\")){let h=document.getElementById(_);h?h.focus():(i=document.getElementById($))==null||i.focus()}if(v(7,()=>{var h;n.current.selectedItemId=(h=M())==null?void 0:h.id,E.emit()}),s||v(5,ne),((l=p.current)==null?void 0:l.value)!==void 0){let h=a!=null?a:\"\";(y=(g=p.current).onValueChange)==null||y.call(g,h);return}}E.emit()}},emit:()=>{f.current.forEach(e=>e())}}),[]),U=t.useMemo(()=>({value:(e,a,s)=>{var i;a!==((i=d.current.get(e))==null?void 0:i.value)&&(d.current.set(e,{value:a,keywords:s}),n.current.filtered.items.set(e,te(a,s)),v(2,()=>{z(),E.emit()}))},item:(e,a)=>(u.current.add(e),a&&(c.current.has(a)?c.current.get(a).add(e):c.current.set(a,new Set([e]))),v(3,()=>{J(),z(),n.current.value||W(),E.emit()}),()=>{d.current.delete(e),u.current.delete(e),n.current.filtered.items.delete(e);let s=M();v(4,()=>{J(),(s==null?void 0:s.getAttribute(\"id\"))===e&&W(),E.emit()})}),group:e=>(c.current.has(e)||c.current.set(e,new Set),()=>{d.current.delete(e),c.current.delete(e)}),filter:()=>p.current.shouldFilter,label:b||r[\"aria-label\"],getDisablePointerSelection:()=>p.current.disablePointerSelection,listId:$,inputId:_,labelId:q,listInnerRef:I}),[]);function te(e,a){var i,l;let s=(l=(i=p.current)==null?void 0:i.filter)!=null?l:Re;return e?s(e,n.current.search,a):0}function z(){if(!n.current.search||p.current.shouldFilter===!1)return;let e=n.current.filtered.items,a=[];n.current.filtered.groups.forEach(i=>{let l=c.current.get(i),g=0;l.forEach(y=>{let h=e.get(y);g=Math.max(h,g)}),a.push([i,g])});let s=I.current;V().sort((i,l)=>{var h,F;let g=i.getAttribute(\"id\"),y=l.getAttribute(\"id\");return((h=e.get(y))!=null?h:0)-((F=e.get(g))!=null?F:0)}).forEach(i=>{let l=i.closest(Y);l?l.appendChild(i.parentElement===l?i:i.closest(`${Y} > *`)):s.appendChild(i.parentElement===s?i:i.closest(`${Y} > *`))}),a.sort((i,l)=>l[1]-i[1]).forEach(i=>{var g;let l=(g=I.current)==null?void 0:g.querySelector(`${N}[${T}=\"${encodeURIComponent(i[0])}\"]`);l==null||l.parentElement.appendChild(l)})}function W(){let e=V().find(s=>s.getAttribute(\"aria-disabled\")!==\"true\"),a=e==null?void 0:e.getAttribute(T);E.setState(\"value\",a||void 0)}function J(){var a,s,i,l;if(!n.current.search||p.current.shouldFilter===!1){n.current.filtered.count=u.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let g of u.current){let y=(s=(a=d.current.get(g))==null?void 0:a.value)!=null?s:\"\",h=(l=(i=d.current.get(g))==null?void 0:i.keywords)!=null?l:[],F=te(y,h);n.current.filtered.items.set(g,F),F>0&&e++}for(let[g,y]of c.current)for(let h of y)if(n.current.filtered.items.get(h)>0){n.current.filtered.groups.add(g);break}n.current.filtered.count=e}function ne(){var a,s,i;let e=M();e&&(((a=e.parentElement)==null?void 0:a.firstChild)===e&&((i=(s=e.closest(N))==null?void 0:s.querySelector(be))==null||i.scrollIntoView({block:\"nearest\"})),e.scrollIntoView({block:\"nearest\"}))}function M(){var e;return(e=I.current)==null?void 0:e.querySelector(`${le}[aria-selected=\"true\"]`)}function V(){var e;return Array.from(((e=I.current)==null?void 0:e.querySelectorAll(ce))||[])}function X(e){let s=V()[e];s&&E.setState(\"value\",s.getAttribute(T))}function Q(e){var g;let a=M(),s=V(),i=s.findIndex(y=>y===a),l=s[i+e];(g=p.current)!=null&&g.loop&&(l=i+e<0?s[s.length-1]:i+e===s.length?s[0]:s[i+e]),l&&E.setState(\"value\",l.getAttribute(T))}function re(e){let a=M(),s=a==null?void 0:a.closest(N),i;for(;s&&!i;)s=e>0?we(s,N):De(s,N),i=s==null?void 0:s.querySelector(ce);i?E.setState(\"value\",i.getAttribute(T)):Q(e)}let oe=()=>X(V().length-1),ie=e=>{e.preventDefault(),e.metaKey?oe():e.altKey?re(1):Q(1)},se=e=>{e.preventDefault(),e.metaKey?X(0):e.altKey?re(-1):Q(-1)};return t.createElement(D.div,{ref:o,tabIndex:-1,...O,\"cmdk-root\":\"\",onKeyDown:e=>{var s;(s=O.onKeyDown)==null||s.call(O,e);let a=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||a))switch(e.key){case\"n\":case\"j\":{j&&e.ctrlKey&&ie(e);break}case\"ArrowDown\":{ie(e);break}case\"p\":case\"k\":{j&&e.ctrlKey&&se(e);break}case\"ArrowUp\":{se(e);break}case\"Home\":{e.preventDefault(),X(0);break}case\"End\":{e.preventDefault(),oe();break}case\"Enter\":{e.preventDefault();let i=M();if(i){let l=new Event(Z);i.dispatchEvent(l)}}}}},t.createElement(\"label\",{\"cmdk-label\":\"\",htmlFor:U.inputId,id:U.labelId,style:Te},b),B(r,e=>t.createElement(de.Provider,{value:E},t.createElement(ue.Provider,{value:U},e))))}),he=t.forwardRef((r,o)=>{var _,I;let n=H(),u=t.useRef(null),c=t.useContext(fe),d=K(),f=pe(r),p=(I=(_=f.current)==null?void 0:_.forceMount)!=null?I:c==null?void 0:c.forceMount;k(()=>{if(!p)return d.item(n,c==null?void 0:c.id)},[p]);let b=ve(n,u,[r.value,r.children,u],r.keywords),m=ee(),R=P(v=>v.value&&v.value===b.current),x=P(v=>p||d.filter()===!1?!0:v.search?v.filtered.items.get(n)>0:!0);t.useEffect(()=>{let v=u.current;if(!(!v||r.disabled))return v.addEventListener(Z,C),()=>v.removeEventListener(Z,C)},[x,r.onSelect,r.disabled]);function C(){var v,E;S(),(E=(v=f.current).onSelect)==null||E.call(v,b.current)}function S(){m.setState(\"value\",b.current,!0)}if(!x)return null;let{disabled:A,value:ge,onSelect:j,forceMount:O,keywords:$,...q}=r;return t.createElement(D.div,{ref:G(u,o),...q,id:n,\"cmdk-item\":\"\",role:\"option\",\"aria-disabled\":!!A,\"aria-selected\":!!R,\"data-disabled\":!!A,\"data-selected\":!!R,onPointerMove:A||d.getDisablePointerSelection()?void 0:S,onClick:A?void 0:C},r.children)}),Ee=t.forwardRef((r,o)=>{let{heading:n,children:u,forceMount:c,...d}=r,f=H(),p=t.useRef(null),b=t.useRef(null),m=H(),R=K(),x=P(S=>c||R.filter()===!1?!0:S.search?S.filtered.groups.has(f):!0);k(()=>R.group(f),[]),ve(f,p,[r.value,r.heading,b]);let C=t.useMemo(()=>({id:f,forceMount:c}),[c]);return t.createElement(D.div,{ref:G(p,o),...d,\"cmdk-group\":\"\",role:\"presentation\",hidden:x?void 0:!0},n&&t.createElement(\"div\",{ref:b,\"cmdk-group-heading\":\"\",\"aria-hidden\":!0,id:m},n),B(r,S=>t.createElement(\"div\",{\"cmdk-group-items\":\"\",role:\"group\",\"aria-labelledby\":n?m:void 0},t.createElement(fe.Provider,{value:C},S))))}),ye=t.forwardRef((r,o)=>{let{alwaysRender:n,...u}=r,c=t.useRef(null),d=P(f=>!f.search);return!n&&!d?null:t.createElement(D.div,{ref:G(c,o),...u,\"cmdk-separator\":\"\",role:\"separator\"})}),Se=t.forwardRef((r,o)=>{let{onValueChange:n,...u}=r,c=r.value!=null,d=ee(),f=P(m=>m.search),p=P(m=>m.selectedItemId),b=K();return t.useEffect(()=>{r.value!=null&&d.setState(\"search\",r.value)},[r.value]),t.createElement(D.input,{ref:o,...u,\"cmdk-input\":\"\",autoComplete:\"off\",autoCorrect:\"off\",spellCheck:!1,\"aria-autocomplete\":\"list\",role:\"combobox\",\"aria-expanded\":!0,\"aria-controls\":b.listId,\"aria-labelledby\":b.labelId,\"aria-activedescendant\":p,id:b.inputId,type:\"text\",value:c?r.value:f,onChange:m=>{c||d.setState(\"search\",m.target.value),n==null||n(m.target.value)}})}),Ce=t.forwardRef((r,o)=>{let{children:n,label:u=\"Suggestions\",...c}=r,d=t.useRef(null),f=t.useRef(null),p=P(m=>m.selectedItemId),b=K();return t.useEffect(()=>{if(f.current&&d.current){let m=f.current,R=d.current,x,C=new ResizeObserver(()=>{x=requestAnimationFrame(()=>{let S=m.offsetHeight;R.style.setProperty(\"--cmdk-list-height\",S.toFixed(1)+\"px\")})});return C.observe(m),()=>{cancelAnimationFrame(x),C.unobserve(m)}}},[]),t.createElement(D.div,{ref:G(d,o),...c,\"cmdk-list\":\"\",role:\"listbox\",tabIndex:-1,\"aria-activedescendant\":p,\"aria-label\":u,id:b.listId},B(r,m=>t.createElement(\"div\",{ref:G(f,b.listInnerRef),\"cmdk-list-sizer\":\"\"},m)))}),xe=t.forwardRef((r,o)=>{let{open:n,onOpenChange:u,overlayClassName:c,contentClassName:d,container:f,...p}=r;return t.createElement(w.Root,{open:n,onOpenChange:u},t.createElement(w.Portal,{container:f},t.createElement(w.Overlay,{\"cmdk-overlay\":\"\",className:c}),t.createElement(w.Content,{\"aria-label\":r.label,\"cmdk-dialog\":\"\",className:d},t.createElement(me,{ref:o,...p}))))}),Ie=t.forwardRef((r,o)=>P(u=>u.filtered.count===0)?t.createElement(D.div,{ref:o,...r,\"cmdk-empty\":\"\",role:\"presentation\"}):null),Pe=t.forwardRef((r,o)=>{let{progress:n,children:u,label:c=\"Loading...\",...d}=r;return t.createElement(D.div,{ref:o,...d,\"cmdk-loading\":\"\",role:\"progressbar\",\"aria-valuenow\":n,\"aria-valuemin\":0,\"aria-valuemax\":100,\"aria-label\":c},B(r,f=>t.createElement(\"div\",{\"aria-hidden\":!0},f)))}),_e=Object.assign(me,{List:Ce,Item:he,Input:Se,Group:Ee,Separator:ye,Dialog:xe,Empty:Ie,Loading:Pe});function we(r,o){let n=r.nextElementSibling;for(;n;){if(n.matches(o))return n;n=n.nextElementSibling}}function De(r,o){let n=r.previousElementSibling;for(;n;){if(n.matches(o))return n;n=n.previousElementSibling}}function pe(r){let o=t.useRef(r);return k(()=>{o.current=r}),o}var k=typeof window==\"undefined\"?t.useEffect:t.useLayoutEffect;function L(r){let o=t.useRef();return o.current===void 0&&(o.current=r()),o}function P(r){let o=ee(),n=()=>r(o.snapshot());return t.useSyncExternalStore(o.subscribe,n,n)}function ve(r,o,n,u=[]){let c=t.useRef(),d=K();return k(()=>{var b;let f=(()=>{var m;for(let R of n){if(typeof R==\"string\")return R.trim();if(typeof R==\"object\"&&\"current\"in R)return R.current?(m=R.current.textContent)==null?void 0:m.trim():c.current}})(),p=u.map(m=>m.trim());d.value(r,f,p),(b=o.current)==null||b.setAttribute(T,f),c.current=f}),c}var ke=()=>{let[r,o]=t.useState(),n=L(()=>new Map);return k(()=>{n.current.forEach(u=>u()),n.current=new Map},[r]),(u,c)=>{n.current.set(u,c),o({})}};function Me(r){let o=r.type;return typeof o==\"function\"?o(r.props):\"render\"in o?o.render(r.props):r}function B({asChild:r,children:o},n){return r&&t.isValidElement(o)?t.cloneElement(Me(o),{ref:o.ref},n(o.props.children)):n(o)}var Te={position:\"absolute\",width:\"1px\",height:\"1px\",padding:\"0\",margin:\"-1px\",overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",borderWidth:\"0\"};export{_e as Command,xe as CommandDialog,Ie as CommandEmpty,Ee as CommandGroup,Se as CommandInput,he as CommandItem,Ce as CommandList,Pe as CommandLoading,me as CommandRoot,ye as CommandSeparator,Re as defaultFilter,P as useCommandState};\n","\"use client\";\n\nimport { cn } from \"@/lib/utils\";\nimport { useSSE } from \"@/providers/sse-provider\";\n\nexport function ConnectionStatus({ collapsed }: { collapsed: boolean }) {\n const { connected } = useSSE();\n\n return (\n <div\n className={cn(\n \"flex items-center gap-2 rounded-lg px-3 py-2 text-xs text-muted-foreground\",\n collapsed && \"justify-center px-0\",\n )}\n >\n <span\n className={cn(\n \"h-2 w-2 shrink-0 rounded-full\",\n connected ? \"bg-emerald-500 animate-pulse\" : \"bg-red-500\",\n )}\n />\n {!collapsed && <span>{connected ? \"Live Updates On\" : \"Live Updates Off\"}</span>}\n </div>\n );\n}\n","\"use client\";\n\nimport { usePathname, useSearchParams } from \"next/navigation\";\nimport { Suspense } from \"react\";\nimport { AppSidebar } from \"./app-sidebar\";\nimport { DegradedBanner } from \"./degraded-banner\";\nimport { CmdkPalette } from \"@/components/settings/cmdk-palette\";\nimport { DocsHelpButton } from \"@/components/docs/docs-help-button\";\nimport { DocsHelpKeybinding } from \"@/components/docs/docs-help-keybinding\";\nimport { DocsHelpSlideover } from \"@/components/docs/docs-help-slideover\";\nimport { docIdForPath } from \"@/lib/docs/page-doc-map\";\n\nfunction LayoutShellInner({ children }: { children: React.ReactNode }) {\n const pathname = usePathname();\n const searchParams = useSearchParams();\n\n // Hide sidebar during initial setup (fullscreen wizard)\n // Keep sidebar during update mode (user navigated from overview)\n const isInitialSetup =\n pathname === \"/setup\" && searchParams.get(\"mode\") !== \"update\";\n\n // The page → docId map drives the help button; `null` hides the\n // button (e.g. on /docs itself). docIdForPath copies search params\n // so the predicate sees a plain URLSearchParams.\n const search = new URLSearchParams(Array.from(searchParams.entries()));\n const docId = docIdForPath(pathname, search);\n\n // The DegradedBanner sits above the sidebar+main flex row so that a\n // critical \"writes are blocked\" signal stays visible even while the\n // main content scrolls. It renders null when the daemon is healthy.\n return (\n <div className=\"flex h-screen flex-col overflow-hidden\">\n {!isInitialSetup && <DegradedBanner />}\n <div className=\"flex min-h-0 flex-1\">\n {!isInitialSetup && <AppSidebar />}\n <main className=\"flex flex-1 flex-col overflow-hidden\">\n {!isInitialSetup && (\n // Thin top action strip — DOCS_QA_DASHBOARD_DESIGN.md §6.3.\n // Stays mounted on every authenticated page so the strip's\n // height is uniform; the button hides itself when docId is\n // null (e.g. /docs). During initial setup the wizard renders\n // its own help affordance (DOCS_QA_DESIGN.md §8.4 row E5),\n // so we suppress this strip to keep the wizard fullscreen.\n <div className=\"flex h-8 shrink-0 items-center justify-end gap-2 border-b border-border bg-background/80 px-3 backdrop-blur\">\n <DocsHelpButton docId={docId} />\n </div>\n )}\n <div className=\"min-h-0 flex-1 overflow-y-auto\">{children}</div>\n </main>\n </div>\n {/* Slide-over and `?`-keypress mount globally — including during\n initial setup — so the wizard's help affordance has a target\n to open. CmdkPalette stays gated because the palette is\n settings-focused and not relevant to a fresh-install wizard. */}\n <DocsHelpSlideover />\n <DocsHelpKeybinding />\n {!isInitialSetup && <CmdkPalette />}\n </div>\n );\n}\n\nexport function LayoutShell({ children }: { children: React.ReactNode }) {\n return (\n <Suspense>\n <LayoutShellInner>{children}</LayoutShellInner>\n </Suspense>\n );\n}\n","\"use client\";\n\nimport { useCallback, useEffect, useState } from \"react\";\nimport { Command } from \"cmdk\";\nimport { useRouter, usePathname, useSearchParams } from \"next/navigation\";\nimport { useQueryClient, type QueryClient } from \"@tanstack/react-query\";\nimport { HelpCircle, type LucideIcon, Search } from \"lucide-react\";\nimport { docIdForPath } from \"@/lib/docs/page-doc-map\";\nimport { openDocsHelpSlideover } from \"@/lib/docs/slideover-cache\";\n\n// ---------------------------------------------------------------------------\n// Discriminated entry shape (DOCS_QA_DASHBOARD_DESIGN.md §9 / §15-D5).\n// ---------------------------------------------------------------------------\n\ninterface SettingsEntry {\n kind: \"setting\";\n /** Human-readable field label */\n label: string;\n /** configKey — also used as the scroll target via data-config-key */\n configKey: string;\n /** Route to navigate to */\n page: string;\n /** Section heading the field lives under */\n section: string;\n /** Extra keywords to broaden search matches */\n keywords: string;\n}\n\ninterface ActionEntry {\n kind: \"action\";\n /** Stable id used for testing and React keys. */\n id: string;\n /** Human-readable label rendered in the palette. */\n label: string;\n /** Group heading this entry sits under (e.g. \"Help\"). */\n group: string;\n /** Lucide icon shown to the left of the label. */\n icon: LucideIcon;\n /** Free-form keywords for fuzzy matching. */\n keywords: string;\n /** Imperative effect when the operator selects the entry. */\n onSelect: (ctx: PaletteCtx) => void;\n}\n\ntype PaletteEntry = SettingsEntry | ActionEntry;\n\ninterface PaletteCtx {\n pathname: string;\n searchParams: URLSearchParams;\n queryClient: QueryClient;\n router: ReturnType<typeof useRouter>;\n}\n\n// ---------------------------------------------------------------------------\n// Search index — every settings field across the 5 pages\n// ---------------------------------------------------------------------------\n\nconst SETTINGS_INDEX: SettingsEntry[] = [\n // -- Profile (/settings) --\n { kind: \"setting\", label: \"Display Name\", configKey: \"agentDisplayName\", page: \"/settings\", section: \"Agent Identity\", keywords: \"name agent\" },\n { kind: \"setting\", label: \"Character\", configKey: \"character\", page: \"/settings\", section: \"Personality\", keywords: \"character persona tone style voice prompt\" },\n\n // -- Schedule (/settings/schedule) --\n { kind: \"setting\", label: \"Timezone\", configKey: \"timezone\", page: \"/settings/schedule\", section: \"Day Shape\", keywords: \"tz iana time zone\" },\n { kind: \"setting\", label: \"Day Boundary Hour\", configKey: \"dayBoundaryHour\", page: \"/settings/schedule\", section: \"Day Shape\", keywords: \"day start reset boundary\" },\n { kind: \"setting\", label: \"Hourly Check Enabled\", configKey: \"hourlyCheckEnabled\", page: \"/settings/schedule\", section: \"Hourly Check\", keywords: \"polling observation toggle\" },\n { kind: \"setting\", label: \"Check Interval\", configKey: \"hourlyCheckIntervalMinutes\", page: \"/settings/schedule\", section: \"Hourly Check\", keywords: \"poll frequency minutes\" },\n { kind: \"setting\", label: \"Active Start Hour\", configKey: \"hourlyCheckActiveStartHour\", page: \"/settings/schedule\", section: \"Hourly Check\", keywords: \"active window start\" },\n { kind: \"setting\", label: \"Active End Hour\", configKey: \"hourlyCheckActiveEndHour\", page: \"/settings/schedule\", section: \"Hourly Check\", keywords: \"active window end\" },\n { kind: \"setting\", label: \"Min Observations\", configKey: \"hourlyCheckMinObservations\", page: \"/settings/schedule\", section: \"Hourly Check\", keywords: \"threshold minimum\" },\n { kind: \"setting\", label: \"Background Sync Cadences\", configKey: \"\", page: \"/settings/schedule\", section: \"Background Sync\", keywords: \"delegated drift cadence calendar gmail notion poll interval\" },\n { kind: \"setting\", label: \"Background Sync Active Hours\", configKey: \"\", page: \"/settings/schedule\", section: \"Background Sync\", keywords: \"delegated cadence active hours quiet schedule window\" },\n { kind: \"setting\", label: \"Max Notifications Per Hour\", configKey: \"maxNotificationsPerHour\", page: \"/settings/schedule\", section: \"Notifications\", keywords: \"rate limit hourly\" },\n { kind: \"setting\", label: \"Max Notifications Per Day\", configKey: \"maxNotificationsPerDay\", page: \"/settings/schedule\", section: \"Notifications\", keywords: \"rate limit daily\" },\n { kind: \"setting\", label: \"Quiet Hours Start\", configKey: \"quietHoursStart\", page: \"/settings/schedule\", section: \"Notifications\", keywords: \"do not disturb dnd silent\" },\n { kind: \"setting\", label: \"Quiet Hours End\", configKey: \"quietHoursEnd\", page: \"/settings/schedule\", section: \"Notifications\", keywords: \"do not disturb dnd silent\" },\n { kind: \"setting\", label: \"Batch Interval\", configKey: \"batchIntervalMinutes\", page: \"/settings/schedule\", section: \"Notifications\", keywords: \"batch group delay\" },\n { kind: \"setting\", label: \"Fallback Primary Platform\", configKey: \"primaryPlatform\", page: \"/settings/schedule\", section: \"Notifications\", keywords: \"default platform channel\" },\n\n // -- Models (/settings/models) --\n { kind: \"setting\", label: \"Max Concurrent Sessions\", configKey: \"maxConcurrentSessions\", page: \"/settings/models\", section: \"Execution Limits\", keywords: \"parallel sessions concurrency\" },\n { kind: \"setting\", label: \"Max Reactive Sessions\", configKey: \"maxReactiveSessions\", page: \"/settings/models\", section: \"Execution Limits\", keywords: \"reactive sessions limit\" },\n { kind: \"setting\", label: \"Execute Timeout\", configKey: \"executeTimeoutMinutes\", page: \"/settings/models\", section: \"Execution Limits\", keywords: \"timeout minutes wall clock\" },\n { kind: \"setting\", label: \"Delegated Proxy Concurrency\", configKey: \"delegatedProxyMaxConcurrent\", page: \"/settings/models\", section: \"Execution Limits\", keywords: \"delegated proxy concurrency mail calendar gmail subprocess\" },\n { kind: \"setting\", label: \"DM Timeout\", configKey: \"sessionTimeoutDmMinutes\", page: \"/settings/models\", section: \"Session Timeouts\", keywords: \"direct message timeout\" },\n { kind: \"setting\", label: \"Channel Timeout\", configKey: \"sessionTimeoutChannelMinutes\", page: \"/settings/models\", section: \"Session Timeouts\", keywords: \"channel mention timeout\" },\n { kind: \"setting\", label: \"Dashboard Timeout\", configKey: \"sessionTimeoutDashboardMinutes\", page: \"/settings/models\", section: \"Session Timeouts\", keywords: \"dashboard chat timeout\" },\n\n // -- Advanced (/settings/advanced) --\n { kind: \"setting\", label: \"Disallowed Tools\", configKey: \"disallowedTools\", page: \"/settings/advanced\", section: \"Safety — Tool Policy\", keywords: \"blocked forbidden tools safety\" },\n { kind: \"setting\", label: \"Allowed Tools Override\", configKey: \"allowedToolsOverride\", page: \"/settings/advanced\", section: \"Safety — Tool Policy\", keywords: \"allowed exception permit\" },\n { kind: \"setting\", label: \"Obsidian Debounce\", configKey: \"obsidianDebounceSeconds\", page: \"/settings/advanced\", section: \"Polling Intervals\", keywords: \"obsidian vault debounce\" },\n { kind: \"setting\", label: \"Scheduler Poll Interval\", configKey: \"schedulePollIntervalSeconds\", page: \"/settings/advanced\", section: \"Polling Intervals\", keywords: \"scheduler recurring tasks poll\" },\n { kind: \"setting\", label: \"Git Poll Interval\", configKey: \"gitPollIntervalSeconds\", page: \"/settings/advanced\", section: \"Polling Intervals\", keywords: \"git repo poll\" },\n { kind: \"setting\", label: \"Notion Poll Interval\", configKey: \"notionPollIntervalSeconds\", page: \"/settings/advanced\", section: \"Polling Intervals\", keywords: \"notion database poll\" },\n { kind: \"setting\", label: \"Calendar Poll Interval\", configKey: \"calendarPollIntervalSeconds\", page: \"/settings/advanced\", section: \"Polling Intervals\", keywords: \"google calendar poll\" },\n { kind: \"setting\", label: \"Gmail Poll Interval\", configKey: \"gmailPollIntervalSeconds\", page: \"/settings/advanced\", section: \"Polling Intervals\", keywords: \"gmail inbox poll\" },\n { kind: \"setting\", label: \"Max Messages\", configKey: \"historyInjectionMaxMessages\", page: \"/settings/advanced\", section: \"History Injection\", keywords: \"history context messages\" },\n { kind: \"setting\", label: \"Max Tokens\", configKey: \"historyInjectionMaxTokens\", page: \"/settings/advanced\", section: \"History Injection\", keywords: \"history context tokens budget\" },\n { kind: \"setting\", label: \"Strict DM Staleness\", configKey: \"dmStalenessStrict\", page: \"/settings/advanced\", section: \"History Injection\", keywords: \"dm resume context stale invalidation strict\" },\n { kind: \"setting\", label: \"API Port\", configKey: \"apiPort\", page: \"/settings/advanced\", section: \"Infrastructure\", keywords: \"port hono daemon tcp\" },\n { kind: \"setting\", label: \"Disable Auth Probes\", configKey: \"authProbeDisabled\", page: \"/settings/advanced\", section: \"Infrastructure\", keywords: \"auth health probe disable\" },\n { kind: \"setting\", label: \"Auth Preflight Freshness\", configKey: \"authPreflightFreshnessMs\", page: \"/settings/advanced\", section: \"Infrastructure\", keywords: \"backend auth preflight cache freshness\" },\n { kind: \"setting\", label: \"Autonomous Daily Cost Cap\", configKey: \"autonomousDailyCostCapUsd\", page: \"/settings/models\", section: \"Cost Guardrails\", keywords: \"daily cost cap autonomous routines budget\" },\n { kind: \"setting\", label: \"Autonomous Monthly Cost Cap\", configKey: \"autonomousMonthlyCostCapUsd\", page: \"/settings/models\", section: \"Cost Guardrails\", keywords: \"monthly cost cap autonomous notification alert budget\" },\n\n // -- Connections (top-level /connections) — page-level navigation only --\n { kind: \"setting\", label: \"Slack\", configKey: \"\", page: \"/connections/messaging\", section: \"Messaging\", keywords: \"slack bot token channel messaging\" },\n { kind: \"setting\", label: \"Telegram\", configKey: \"\", page: \"/connections/messaging\", section: \"Messaging\", keywords: \"telegram bot chat messaging\" },\n { kind: \"setting\", label: \"Discord\", configKey: \"\", page: \"/connections/messaging\", section: \"Messaging\", keywords: \"discord bot messaging\" },\n { kind: \"setting\", label: \"WhatsApp\", configKey: \"\", page: \"/connections/messaging\", section: \"Messaging\", keywords: \"whatsapp messaging phone\" },\n { kind: \"setting\", label: \"Notification Destinations\", configKey: \"\", page: \"/connections/messaging\", section: \"Messaging\", keywords: \"default notification platform destination\" },\n { kind: \"setting\", label: \"Repositories\", configKey: \"\", page: \"/connections/repositories\", section: \"Repositories\", keywords: \"git github repository watch clone webhook\" },\n { kind: \"setting\", label: \"Notion\", configKey: \"\", page: \"/connections/knowledge\", section: \"Knowledge\", keywords: \"notion database api\" },\n { kind: \"setting\", label: \"Obsidian\", configKey: \"\", page: \"/connections/knowledge\", section: \"Knowledge\", keywords: \"obsidian vault markdown\" },\n { kind: \"setting\", label: \"Google Calendar\", configKey: \"\", page: \"/connections/calendar\", section: \"Calendar\", keywords: \"google oauth calendar\" },\n { kind: \"setting\", label: \"Mail accounts\", configKey: \"\", page: \"/connections/mail\", section: \"Mail\", keywords: \"gmail outlook imap yahoo icloud mailbox\" },\n { kind: \"setting\", label: \"MCP Servers\", configKey: \"\", page: \"/connections/mcp\", section: \"MCP\", keywords: \"mcp model context protocol\" },\n];\n\n/**\n * Exported for the §12 / §15-D5 regression test that asserts the docs\n * action exists, is keyword-searchable, and dispatches into the\n * slide-over cache. See `cmdk-palette.actions.test.ts`.\n */\nexport const ACTION_ENTRIES: ActionEntry[] = [\n {\n kind: \"action\",\n id: \"docs.ask\",\n label: \"Ask docs…\",\n group: \"Help\",\n icon: HelpCircle,\n keywords: \"docs help question how guide manual\",\n onSelect: ({ pathname, searchParams, queryClient }) => {\n openDocsHelpSlideover(queryClient, {\n docId: docIdForPath(pathname, searchParams),\n autoFocusComposer: true,\n });\n },\n },\n];\n\n// Page labels for the group headings\nconst PAGE_LABELS: Record<string, string> = {\n \"/settings\": \"Profile\",\n \"/settings/schedule\": \"Schedule\",\n \"/settings/models\": \"Models\",\n \"/settings/advanced\": \"Advanced\",\n \"/connections/messaging\": \"Connections — Messaging\",\n \"/connections/repositories\": \"Connections — Repositories\",\n \"/connections/knowledge\": \"Connections — Knowledge\",\n \"/connections/calendar\": \"Connections — Calendar\",\n \"/connections/mail\": \"Connections — Mail\",\n \"/connections/mcp\": \"Connections — MCP\",\n};\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nexport function CmdkPalette() {\n const [open, setOpen] = useState(false);\n const router = useRouter();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const queryClient = useQueryClient();\n\n // Cmd+K / Ctrl+K keyboard shortcut\n useEffect(() => {\n const handler = (e: KeyboardEvent) => {\n if ((e.metaKey || e.ctrlKey) && e.key === \"k\") {\n e.preventDefault();\n setOpen((prev) => !prev);\n }\n };\n document.addEventListener(\"keydown\", handler);\n return () => document.removeEventListener(\"keydown\", handler);\n }, []);\n\n const handleSelect = useCallback(\n (entry: PaletteEntry) => {\n setOpen(false);\n\n if (entry.kind === \"action\") {\n // Build a fresh URLSearchParams snapshot so the action sees the\n // exact shape it would see from a button click. Avoids leaking\n // the Next.js ReadonlyURLSearchParams identity into action code.\n const search = new URLSearchParams(\n Array.from(searchParams.entries()),\n );\n entry.onSelect({ pathname, searchParams: search, queryClient, router });\n return;\n }\n\n const needsNavigation = pathname !== entry.page;\n if (needsNavigation) {\n router.push(entry.page);\n }\n\n // Scroll to the field after navigation settles\n if (entry.configKey) {\n const delay = needsNavigation ? 300 : 50;\n setTimeout(() => {\n const el = document.querySelector(\n `[data-config-key=\"${entry.configKey}\"]`,\n );\n if (el) {\n el.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n // Brief highlight flash\n el.classList.add(\"cmdk-highlight\");\n setTimeout(() => el.classList.remove(\"cmdk-highlight\"), 1500);\n }\n }, delay);\n }\n },\n [pathname, queryClient, router, searchParams],\n );\n\n // Group entries by page (settings) and by group (actions).\n const settingsByPage = new Map<string, SettingsEntry[]>();\n for (const entry of SETTINGS_INDEX) {\n const list = settingsByPage.get(entry.page) ?? [];\n list.push(entry);\n settingsByPage.set(entry.page, list);\n }\n const actionsByGroup = new Map<string, ActionEntry[]>();\n for (const entry of ACTION_ENTRIES) {\n const list = actionsByGroup.get(entry.group) ?? [];\n list.push(entry);\n actionsByGroup.set(entry.group, list);\n }\n\n return (\n <Command.Dialog\n open={open}\n onOpenChange={setOpen}\n label=\"Search settings or actions\"\n className=\"cmdk-dialog\"\n >\n <div className=\"cmdk-input-wrapper\">\n <Search className=\"cmdk-input-icon\" />\n <Command.Input\n placeholder=\"Search settings or actions...\"\n className=\"cmdk-input\"\n />\n </div>\n <Command.List className=\"cmdk-list\">\n <Command.Empty className=\"cmdk-empty\">\n No matches.\n </Command.Empty>\n {[...actionsByGroup.entries()].map(([group, entries]) => (\n <Command.Group\n key={`actions:${group}`}\n heading={group}\n className=\"cmdk-group\"\n >\n {entries.map((entry) => (\n <Command.Item\n key={`action:${entry.id}`}\n value={`${entry.label} ${entry.keywords}`}\n onSelect={() => handleSelect(entry)}\n className=\"cmdk-item\"\n data-action-id={entry.id}\n >\n <entry.icon className=\"mr-2 h-4 w-4 shrink-0\" aria-hidden=\"true\" />\n <span className=\"cmdk-item-label\">{entry.label}</span>\n </Command.Item>\n ))}\n </Command.Group>\n ))}\n {[...settingsByPage.entries()].map(([page, entries]) => (\n <Command.Group\n key={page}\n heading={PAGE_LABELS[page] ?? page}\n className=\"cmdk-group\"\n >\n {entries.map((entry) => (\n <Command.Item\n key={`${entry.page}:${entry.configKey || entry.label}`}\n value={`${entry.label} ${entry.section} ${entry.keywords}`}\n onSelect={() => handleSelect(entry)}\n className=\"cmdk-item\"\n >\n <span className=\"cmdk-item-label\">{entry.label}</span>\n <span className=\"cmdk-item-section\">{entry.section}</span>\n </Command.Item>\n ))}\n </Command.Group>\n ))}\n </Command.List>\n </Command.Dialog>\n );\n}\n","\"use client\";\n\nimport { HelpCircle } from \"lucide-react\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { openDocsHelpSlideover } from \"@/lib/docs/slideover-cache\";\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"@/components/ui/tooltip\";\n\ninterface DocsHelpButtonProps {\n /**\n * Doc to load when the slide-over opens. `null` hides the button —\n * matches DOCS_QA_DASHBOARD_DESIGN.md §6.3 (\"Pages opt out by passing\n * `docId={null}` … the strip stays mounted but visually empty\").\n */\n docId: string | null;\n}\n\n/**\n * The `?` icon mounted in the global action strip on every dashboard\n * screen. Renders nothing when `docId === null` so `/docs` (where the\n * help button is redundant) keeps the strip empty rather than offering\n * an open-the-page-you-are-already-on action.\n */\nexport function DocsHelpButton({ docId }: DocsHelpButtonProps) {\n const queryClient = useQueryClient();\n if (docId === null) return null;\n\n return (\n <Tooltip delayDuration={300}>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n onClick={() =>\n openDocsHelpSlideover(queryClient, {\n docId,\n autoFocusComposer: false,\n })\n }\n className=\"inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition hover:bg-accent hover:text-foreground\"\n aria-label=\"Open contextual help for this page\"\n data-testid=\"docs-help-button\"\n >\n <HelpCircle className=\"h-4 w-4\" aria-hidden=\"true\" />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"bottom\">\n <span>Help · ?</span>\n </TooltipContent>\n </Tooltip>\n );\n}\n","\"use client\";\n\nimport { useEffect } from \"react\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { usePathname, useSearchParams } from \"next/navigation\";\nimport { docIdForPath } from \"@/lib/docs/page-doc-map\";\nimport {\n getDocsHelpSlideoverState,\n openDocsHelpSlideover,\n} from \"@/lib/docs/slideover-cache\";\n\n/**\n * Wires the global `?` keypress to open `<DocsHelpSlideover>` from any\n * dashboard screen (DOCS_QA_DASHBOARD_DESIGN.md §9 / §14 OQ#4).\n *\n * Skip rules — ALL must match before we act:\n * - the active element is NOT a text-entry surface (input, textarea,\n * contenteditable). Otherwise typing `?` in chat would open the\n * slide-over, which is hostile to the operator.\n * - no modifier keys (`meta`, `ctrl`, `alt`) — only `?` itself, which\n * on US layouts is `Shift+/`. The `e.shiftKey === true` is implicit\n * in the character `?`.\n * - the slide-over isn't already open (avoid focus-trap re-entry).\n *\n * Routing rules:\n * - on `/docs` the operator already has the inline `<DocsQAPanel>`\n * onscreen; opening a slide-over with the same qa-cache conversation\n * would render the transcript twice. Per §14 OQ#4 (\"`?` always\n * opens 'ask docs' — on `/docs` it focuses the composer\") we focus\n * the inline composer instead. If the composer textarea is not in\n * the DOM (race during route transition) we fall through to the\n * slide-over so the keystroke is never silently dropped.\n * - everywhere else, open the slide-over with `autoFocusComposer:\n * true`. Keyboard intent ⇒ type-now. The `<DocsHelpButton>` click\n * path keeps `false` — that's the click/lookup posture.\n *\n * Renders nothing — it's a hook adapter.\n */\nexport function DocsHelpKeybinding() {\n const queryClient = useQueryClient();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n\n useEffect(() => {\n const handler = (e: KeyboardEvent): void => {\n if (e.key !== \"?\") return;\n if (e.metaKey || e.ctrlKey || e.altKey) return;\n if (isTextEntryElement(document.activeElement)) return;\n if (getDocsHelpSlideoverState(queryClient).open) return;\n\n if (pathname === \"/docs\" || pathname.startsWith(\"/docs/\")) {\n const composer = document.querySelector<HTMLTextAreaElement>(\n 'textarea[aria-label=\"Question composer\"]',\n );\n if (composer) {\n e.preventDefault();\n composer.focus();\n return;\n }\n // Fall through if the inline composer isn't mounted (e.g.\n // narrow-viewport tab-switch fallback hides the QA pane).\n }\n\n e.preventDefault();\n const docId = docIdForPath(pathname, searchParams);\n openDocsHelpSlideover(queryClient, { docId, autoFocusComposer: true });\n };\n document.addEventListener(\"keydown\", handler);\n return () => document.removeEventListener(\"keydown\", handler);\n }, [pathname, queryClient, searchParams]);\n\n return null;\n}\n\nfunction isTextEntryElement(el: Element | null): boolean {\n if (!el) return false;\n const tag = el.tagName;\n if (tag === \"INPUT\" || tag === \"TEXTAREA\" || tag === \"SELECT\") return true;\n if ((el as HTMLElement).isContentEditable) return true;\n return false;\n}\n","\"use client\";\n\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport {\n ArrowRight,\n ArrowUpRight,\n ChevronLeft,\n FileQuestion,\n Sparkles,\n} from \"lucide-react\";\nimport Link from \"next/link\";\nimport { usePathname } from \"next/navigation\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { Sheet, SheetContent, SheetTitle } from \"@/components/ui/sheet\";\nimport { useDoc } from \"@/lib/hooks/use-docs\";\nimport {\n closeDocsHelpSlideover,\n useDocsHelpSlideoverState,\n} from \"@/lib/docs/slideover-cache\";\nimport { DocsContent } from \"./docs-content\";\nimport { DocsQAPanel } from \"./docs-qa-panel\";\nimport { cn } from \"@/lib/utils\";\n\ntype SlideoverView = \"docs\" | \"qa\";\n\n/**\n * The right-aligned ~520px sheet rendered globally by `<LayoutShell>`\n * (DOCS_QA_DASHBOARD_DESIGN.md §6.2). It is mounted exactly once and\n * driven by the `[\"docs-help-slideover\"]` cache cell so any caller in\n * the app — `<DocsHelpButton>`, `Cmd+K` \"Ask docs…\", the global `?`\n * keypress — can open it without prop drilling.\n *\n * Two views share the slideover frame:\n * docs : full-height `<DocsContent />` with an \"Ask a question\" CTA\n * at the bottom that switches to the QA view\n * qa : full-height `<DocsQAPanel />` with a \"Back\" affordance in\n * the header that switches back to the docs view\n *\n * Both views stay mounted (toggled with `hidden`) so scroll position\n * and the QA transcript survive a docs⇄qa toggle. The Sheet's built-in\n * top-right close button always closes the entire slideover.\n *\n * Default view: `qa` when the open call passed `autoFocusComposer:true`\n * (the Cmd+K \"Ask docs…\" path), otherwise `docs`.\n */\nexport function DocsHelpSlideover() {\n const queryClient = useQueryClient();\n const state = useDocsHelpSlideoverState();\n const pathname = usePathname();\n const composerWrapperRef = useRef<HTMLDivElement>(null);\n const ctaButtonRef = useRef<HTMLButtonElement>(null);\n\n const [view, setView] = useState<SlideoverView>(\n state.autoFocusComposer ? \"qa\" : \"docs\",\n );\n\n // Reset the view to its default each time the slideover is (re-)opened\n // while already mounted — e.g. the operator clicks `?` on a different\n // settings card after switching to QA. The Sheet unmounts content on\n // close so the from-closed path is handled by useState's lazy init.\n // adjust-state-during-render (React's blessed alternative to\n // setState-in-effect for derived state) — same pattern DocsQAPanel\n // uses for its IME composer-draft mirror.\n const [trackedOpenCount, setTrackedOpenCount] = useState(state.openCount);\n if (state.openCount !== trackedOpenCount) {\n setTrackedOpenCount(state.openCount);\n setView(state.autoFocusComposer ? \"qa\" : \"docs\");\n }\n\n const focusComposer = useCallback(() => {\n window.requestAnimationFrame(() => {\n const ta = composerWrapperRef.current?.querySelector(\"textarea\");\n ta?.focus();\n });\n }, []);\n\n const onOpenChange = (next: boolean): void => {\n if (!next) closeDocsHelpSlideover(queryClient);\n };\n\n // When the palette opened us with autoFocusComposer, drop the focus\n // into the QA composer once the sheet has mounted.\n useEffect(() => {\n if (!state.open || !state.autoFocusComposer) return;\n focusComposer();\n }, [state.open, state.autoFocusComposer, focusComposer]);\n\n const onAskCtaClick = (): void => {\n setView(\"qa\");\n focusComposer();\n };\n\n const onBackToDocs = (): void => {\n setView(\"docs\");\n window.requestAnimationFrame(() => {\n ctaButtonRef.current?.focus();\n });\n };\n\n return (\n <Sheet open={state.open} onOpenChange={onOpenChange}>\n <SheetContent\n side=\"right\"\n className=\"!p-0 flex w-full max-w-[520px] flex-col gap-0 sm:max-w-[520px]\"\n aria-describedby={undefined}\n >\n <SlideoverHeader\n docId={state.docId}\n view={view}\n onBackToDocs={onBackToDocs}\n />\n\n {/* Docs view — kept mounted while in QA so scroll position\n survives a round trip. */}\n <div\n className={cn(\n \"min-h-0 flex-1 flex-col border-t border-border\",\n view === \"docs\" ? \"flex\" : \"hidden\",\n )}\n >\n <div className=\"min-h-0 flex-1 overflow-y-auto\">\n {state.docId ? (\n <DocsContent\n slug={state.docId}\n compact\n initialAnchor={state.anchor}\n initialAnchorNonce={state.openCount}\n onAsk={onAskCtaClick}\n />\n ) : (\n <NoDocHint />\n )}\n </div>\n <div className=\"flex flex-shrink-0 flex-col items-center gap-1.5 border-t border-border bg-muted/20 px-4 py-3\">\n {/* The CTA copy follows whether a doc is in context: the\n \"about this\" framing dangles when `<NoDocHint />` is shown\n because there is no \"this\" to refer to. */}\n <p className=\"text-[11px] text-muted-foreground\">\n {state.docId\n ? \"Have a question about this?\"\n : \"Have a question?\"}\n </p>\n <button\n ref={ctaButtonRef}\n type=\"button\"\n onClick={onAskCtaClick}\n className=\"inline-flex min-w-[200px] items-center justify-center gap-2 rounded-full bg-primary px-6 py-2.5 text-sm font-medium text-primary-foreground transition hover:bg-primary/90\"\n aria-label=\"Switch to the agent chat to ask a question\"\n data-testid=\"docs-help-ask-cta\"\n >\n <Sparkles className=\"h-3.5 w-3.5\" aria-hidden=\"true\" />\n <span>Ask a question</span>\n <ArrowRight className=\"h-3.5 w-3.5\" aria-hidden=\"true\" />\n </button>\n </div>\n </div>\n\n {/* QA view — kept mounted while in docs so the transcript and\n composer draft survive a round trip. */}\n <div\n ref={composerWrapperRef}\n className={cn(\n \"min-h-0 flex-1 border-t border-border bg-muted/20\",\n view === \"qa\" ? \"block\" : \"hidden\",\n )}\n >\n <DocsQAPanel\n scope=\"all\"\n contextHint={{ slug: state.docId, dashboardPath: pathname }}\n />\n </div>\n </SheetContent>\n </Sheet>\n );\n}\n\ninterface SlideoverHeaderProps {\n docId: string | null;\n view: SlideoverView;\n onBackToDocs: () => void;\n}\n\nfunction SlideoverHeader({ docId, view, onBackToDocs }: SlideoverHeaderProps) {\n const { data } = useDoc(docId);\n const title = data?.frontmatter.title ?? \"Help\";\n const segments = docId ? docId.split(\"/\") : [];\n const breadcrumb =\n segments.length > 1\n ? segments.slice(0, -1).join(\" / \").replace(/-/g, \" \")\n : null;\n\n return (\n <header className=\"flex items-start justify-between gap-3 px-5 py-3\">\n {/* Both branches yield a single `flex-1` child so `justify-between`\n pushes \"Open in /docs\" + the close spacer to the right edge in\n either view. Without this, the QA branch (multiple intrinsic-\n width children) lets `justify-between` split the leftover gap\n evenly and \"Open in /docs\" floats toward the middle. */}\n {view === \"qa\" ? (\n <div className=\"min-w-0 flex-1\">\n <button\n type=\"button\"\n onClick={onBackToDocs}\n className={cn(\n \"inline-flex items-center gap-1 rounded-md border border-border bg-card px-2 py-1 text-xs text-muted-foreground transition\",\n \"hover:bg-accent hover:text-foreground\",\n )}\n aria-label=\"Close chat and return to the docs view\"\n data-testid=\"docs-help-back-to-docs\"\n >\n <ChevronLeft className=\"h-3 w-3\" aria-hidden=\"true\" />\n <span>Back to docs</span>\n </button>\n {/* sr-only title keeps Radix's DialogContent ↔ DialogTitle\n a11y contract intact when the visible heading is hidden\n by the back button. Exactly one SheetTitle is rendered. */}\n <SheetTitle className=\"sr-only\">{title}</SheetTitle>\n </div>\n ) : (\n <div className=\"min-w-0 flex-1\">\n {breadcrumb && (\n <p className=\"truncate text-[10px] uppercase tracking-wide text-muted-foreground\">\n {breadcrumb}\n </p>\n )}\n <SheetTitle className=\"truncate text-base font-semibold\">\n {title}\n </SheetTitle>\n </div>\n )}\n {docId && (\n <Link\n href={`/docs/${docId}`}\n className={cn(\n \"inline-flex items-center gap-1 rounded-md border border-border bg-card px-2 py-1 text-xs text-muted-foreground transition\",\n \"hover:bg-accent hover:text-foreground\",\n )}\n aria-label={`Open ${title} in the full /docs view`}\n >\n <ArrowUpRight className=\"h-3 w-3\" aria-hidden=\"true\" />\n <span>Open in /docs</span>\n </Link>\n )}\n {/* Spacer for the absolute close button (`right-4 top-4`) baked\n into SheetContent. Without it, \"Open in /docs\" would sit under\n the X. */}\n <DialogPrimitive.Close\n aria-hidden=\"true\"\n tabIndex={-1}\n className=\"invisible h-7 w-7\"\n />\n </header>\n );\n}\n\nfunction NoDocHint() {\n return (\n <div className=\"flex h-full flex-col items-center justify-center gap-2 px-6 py-8 text-center text-muted-foreground\">\n <FileQuestion className=\"h-8 w-8 opacity-60\" aria-hidden=\"true\" />\n <p className=\"text-sm font-medium\">No doc tied to this screen yet.</p>\n <p className=\"max-w-[300px] text-xs\">\n You can still ask the agent — questions go against the entire docs\n corpus by default.\n </p>\n </div>\n );\n}\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name PanelLeftClose\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/panel-left-close\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst PanelLeftClose = createLucideIcon('PanelLeftClose', [\n ['rect', { width: '18', height: '18', x: '3', y: '3', rx: '2', key: 'afitv7' }],\n ['path', { d: 'M9 3v18', key: 'fh3hqa' }],\n ['path', { d: 'm16 15-3-3 3-3', key: '14y99z' }],\n]);\n\nexport default PanelLeftClose;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Plug\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/plug\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Plug = createLucideIcon('Plug', [\n ['path', { d: 'M12 22v-5', key: '1ega77' }],\n ['path', { d: 'M9 8V2', key: '14iosj' }],\n ['path', { d: 'M15 8V2', key: '18g5xt' }],\n ['path', { d: 'M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z', key: 'osxo6l' }],\n]);\n\nexport default Plug;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Monitor\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/monitor\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Monitor = createLucideIcon('Monitor', [\n ['rect', { width: '20', height: '14', x: '2', y: '3', rx: '2', key: '48i651' }],\n ['line', { x1: '8', x2: '16', y1: '21', y2: '21', key: '1svkeh' }],\n ['line', { x1: '12', x2: '12', y1: '17', y2: '21', key: 'vw1qmm' }],\n]);\n\nexport default Monitor;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name FileQuestion\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/file-question\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst FileQuestion = createLucideIcon('FileQuestion', [\n ['path', { d: 'M12 17h.01', key: 'p32p05' }],\n ['path', { d: 'M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z', key: '1mlx9k' }],\n ['path', { d: 'M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3', key: 'mhlwft' }],\n]);\n\nexport default FileQuestion;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name PanelLeftOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/panel-left-open\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst PanelLeftOpen = createLucideIcon('PanelLeftOpen', [\n ['rect', { width: '18', height: '18', x: '3', y: '3', rx: '2', key: 'afitv7' }],\n ['path', { d: 'M9 3v18', key: 'fh3hqa' }],\n ['path', { d: 'm14 9 3 3-3 3', key: '8010ee' }],\n]);\n\nexport default PanelLeftOpen;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Settings\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/settings\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Settings = createLucideIcon('Settings', [\n [\n 'path',\n {\n d: 'M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z',\n key: '1qme2f',\n },\n ],\n ['circle', { cx: '12', cy: '12', r: '3', key: '1v7zrd' }],\n]);\n\nexport default Settings;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ChevronLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevron-left\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronLeft = createLucideIcon('ChevronLeft', [\n ['path', { d: 'm15 18-6-6 6-6', key: '1wnfg3' }],\n]);\n\nexport default ChevronLeft;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ChartColumn\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chart-column\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChartColumn = createLucideIcon('ChartColumn', [\n ['path', { d: 'M3 3v16a2 2 0 0 0 2 2h16', key: 'c24i48' }],\n ['path', { d: 'M18 17V9', key: '2bz60n' }],\n ['path', { d: 'M13 17V5', key: '1frdt8' }],\n ['path', { d: 'M8 17v-3', key: '17ska0' }],\n]);\n\nexport default ChartColumn;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Sun\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/sun\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Sun = createLucideIcon('Sun', [\n ['circle', { cx: '12', cy: '12', r: '4', key: '4exip2' }],\n ['path', { d: 'M12 2v2', key: 'tus03m' }],\n ['path', { d: 'M12 20v2', key: '1lh1kg' }],\n ['path', { d: 'm4.93 4.93 1.41 1.41', key: '149t6j' }],\n ['path', { d: 'm17.66 17.66 1.41 1.41', key: 'ptbguv' }],\n ['path', { d: 'M2 12h2', key: '1t8f8n' }],\n ['path', { d: 'M20 12h2', key: '1q8mjw' }],\n ['path', { d: 'm6.34 17.66-1.41 1.41', key: '1m8zz5' }],\n ['path', { d: 'm19.07 4.93-1.41 1.41', key: '1shlcs' }],\n]);\n\nexport default Sun;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name NotebookText\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/notebook-text\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst NotebookText = createLucideIcon('NotebookText', [\n ['path', { d: 'M2 6h4', key: 'aawbzj' }],\n ['path', { d: 'M2 10h4', key: 'l0bgd4' }],\n ['path', { d: 'M2 14h4', key: '1gsvsf' }],\n ['path', { d: 'M2 18h4', key: '1bu2t1' }],\n ['rect', { width: '16', height: '20', x: '4', y: '2', rx: '2', key: '1nb95v' }],\n ['path', { d: 'M9.5 8h5', key: '11mslq' }],\n ['path', { d: 'M9.5 12H16', key: 'ktog6x' }],\n ['path', { d: 'M9.5 16H14', key: 'p1seyn' }],\n]);\n\nexport default NotebookText;\n","/**\n * Dashboard pathname (+search) → docId map for the `?` button.\n *\n * Mirrors DOCS_QA_DESIGN.md §8.3 / DOCS_QA_DASHBOARD_DESIGN.md §6.1. Paths\n * that 302-redirect in `dashboard/src/middleware.ts` (e.g.\n * `/settings/notifications`) are intentionally absent — adding them here\n * would map a doc to a URL the operator can never actually be on.\n *\n * Iteration is top-to-bottom; first hit wins. Specifics MUST precede\n * catch-all regexes:\n * 1. Query-qualified entries above their unqualified pathname twins\n * (`/knowledge?tab=skills` before bare `/knowledge`).\n * 2. Sub-page literals above their parent catch-all\n * (`/connections/repositories` before bare `/connections`).\n * 3. Suppression entries (`docId: null`) last on their prefix\n * (`/^\\/docs/`) — they only fire when nothing more specific matches.\n */\n\nexport interface PageDocMapEntry {\n match: { path: string | RegExp; query?: Record<string, string> };\n /** `null` means \"explicitly suppress the help button on this path\". */\n docId: string | null;\n}\n\nexport const PAGE_DOC_MAP: ReadonlyArray<PageDocMapEntry> = [\n // Top-level pages\n { match: { path: \"/\" }, docId: \"features/operations/activity-and-conversations\" },\n { match: { path: \"/chat\" }, docId: \"features/messaging/dashboard-chat\" },\n { match: { path: /^\\/activity/ }, docId: \"features/operations/activity-and-conversations\" },\n { match: { path: /^\\/conversations(\\/|$)/ }, docId: \"features/operations/activity-and-conversations\" },\n { match: { path: \"/schedule\" }, docId: \"features/memory-files/schedule\" },\n { match: { path: \"/knowledge\", query: { tab: \"context-files\" } }, docId: \"concepts/memory-model\" },\n { match: { path: \"/knowledge\", query: { tab: \"skills\" } }, docId: \"concepts/skills\" },\n { match: { path: \"/knowledge\", query: { tab: \"upload\" } }, docId: \"guides/import-knowledge-file\" },\n { match: { path: \"/knowledge\" }, docId: \"concepts/memory-model\" },\n { match: { path: \"/reading\" }, docId: \"features/lifestyle/reading\" },\n { match: { path: \"/git\" }, docId: \"features/lifestyle/git\" },\n { match: { path: \"/analytics\" }, docId: \"concepts/costs-and-quotas\" },\n\n // Connections — specific sub-pages first, then catch-all\n { match: { path: \"/connections/calendar\" }, docId: \"features/integrations/calendar\" },\n { match: { path: \"/connections/repositories\" }, docId: \"features/integrations/git\" },\n { match: { path: \"/connections/journal\" }, docId: \"features/memory-files/agent-journal\" },\n { match: { path: \"/connections/knowledge\" }, docId: \"concepts/memory-model\" },\n { match: { path: \"/connections/mail\" }, docId: \"features/integrations/mail\" },\n { match: { path: \"/connections/mcp\" }, docId: \"concepts/skills\" },\n { match: { path: \"/connections/messaging\" }, docId: \"features/messaging/overview\" },\n { match: { path: \"/connections/routines\" }, docId: \"concepts/routines\" },\n { match: { path: \"/connections\" }, docId: \"features/messaging/overview\" },\n\n // Settings — specific sub-pages first, then top-level\n { match: { path: \"/settings/connections\" }, docId: \"features/messaging/overview\" },\n { match: { path: \"/settings/schedule\" }, docId: \"features/operations/quiet-hours\" },\n { match: { path: \"/settings/routines\" }, docId: \"concepts/routines\" },\n { match: { path: \"/settings/journal\" }, docId: \"features/memory-files/agent-journal\" },\n { match: { path: \"/settings/commands\" }, docId: \"features/messaging/overview\" },\n { match: { path: \"/settings/models\" }, docId: \"concepts/backends-and-tiers\" },\n { match: { path: \"/settings/advanced\" }, docId: \"concepts/safety-and-execution\" },\n { match: { path: \"/settings\" }, docId: \"concepts/agent-day\" },\n\n // Setup wizard\n { match: { path: /^\\/setup/ }, docId: \"guides/setup-wizard\" },\n\n // Suppress on /docs itself (the help button is redundant there)\n { match: { path: /^\\/docs/ }, docId: null },\n];\n\n/**\n * Resolve the doc id for a given dashboard location.\n *\n * @param pathname pathname as returned by Next.js `usePathname()`\n * (no query string, no hash)\n * @param search `URLSearchParams` (from `useSearchParams()`); only\n * inspected when an entry declares `query:`. Pass an\n * empty `URLSearchParams()` if the caller does not have\n * a search-params object.\n * @returns the doc id, `null` for explicit suppression, or `null` if no\n * entry matches.\n */\nexport function docIdForPath(\n pathname: string,\n search: URLSearchParams,\n): string | null {\n for (const e of PAGE_DOC_MAP) {\n const pathMatch =\n typeof e.match.path === \"string\"\n ? pathname === e.match.path\n : e.match.path.test(pathname);\n if (!pathMatch) continue;\n if (e.match.query) {\n const allOk = Object.entries(e.match.query).every(\n ([k, v]) => search.get(k) === v,\n );\n if (!allOk) continue;\n }\n return e.docId;\n }\n return null;\n}\n"],"names":["M","e","i","s","u","m","a","l","h","d","document","documentElement","w","p","n","Array","isArray","forEach","y","k","S","map","f","classList","remove","add","setAttribute","R","includes","style","colorScheme","c","window","matchMedia","matches","localStorage","getItem","b","I","O","x","U","setTheme","themes","z","J","children","V","N","forcedTheme","disableTransitionOnChange","enableSystem","enableColorScheme","storageKey","defaultTheme","attribute","value","nonce","scriptProps","H","T","E","Object","values","o","r","v","C","W","P","L","g","startsWith","removeAttribute","D","setItem","A","addListener","removeListener","key","newValue","addEventListener","removeEventListener","Q","theme","resolvedTheme","systemTheme","Provider","_","JSON","stringify","slice","suppressHydrationWarning","dangerouslySetInnerHTML","__html","toString","createElement","appendChild","createTextNode","head","getComputedStyle","body","setTimeout","removeChild","ThemeProvider","QueryCache","config","Map","options","build","client","state","queryKey","queryHash","query","get","defaultQueryOptions","defaultOptions","getQueryDefaults","has","set","notify","type","queryInMap","delete","destroy","clear","getAll","batch","find","filters","defaultedFilters","queries","filter","exact","findAll","keys","length","event","onFocus","listeners","listener","onOnline","ChartColumn"],"mappings":"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","ignoreList":[0,2,4,5,6,9,16,17,18,19,20,21,22,23,24,25]}
|