@aitne/dashboard 0.1.4 → 0.1.7
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/trace +2 -2
- package/.next/trace-build +1 -1
- 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/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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/external-link.ts","../../../../../../packages/dashboard/src/components/shared/empty-state.tsx","../../../../../../node_modules/.pnpm/%40tanstack%2Bquery-core%405.96.2/node_modules/%40tanstack/query-core/build/modern/infiniteQueryObserver.js","../../../../../../node_modules/.pnpm/%40tanstack%2Breact-query%405.96.2_react%4019.2.4/node_modules/%40tanstack/react-query/build/modern/useInfiniteQuery.js","../../../../../../packages/dashboard/src/components/chat/message-attachments.tsx","../../../../../../packages/dashboard/src/components/chat/message-bubble.tsx","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/paperclip.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/file-image.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/file-spreadsheet.ts","../../../../../../packages/dashboard/src/lib/hooks/use-conversations.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ExternalLink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/external-link\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 ExternalLink = createLucideIcon('ExternalLink', [\n ['path', { d: 'M15 3h6v6', key: '1q9fwt' }],\n ['path', { d: 'M10 14 21 3', key: 'gplh6r' }],\n ['path', { d: 'M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6', key: 'a6xqqp' }],\n]);\n\nexport default ExternalLink;\n","import type { LucideIcon } from \"lucide-react\";\nimport { cn } from \"@/lib/utils\";\n\ninterface EmptyStateProps {\n icon: LucideIcon;\n title: string;\n description?: string;\n className?: string;\n children?: React.ReactNode;\n}\n\nexport function EmptyState({\n icon: Icon,\n title,\n description,\n className,\n children,\n}: EmptyStateProps) {\n return (\n <div\n className={cn(\n \"flex flex-col items-center justify-center py-16 text-muted-foreground\",\n className,\n )}\n >\n <Icon className=\"mb-3 h-10 w-10 opacity-40\" />\n <p className=\"text-sm font-medium\">{title}</p>\n {description && (\n <p className=\"mt-1 max-w-prose text-xs text-muted-foreground/70\">{description}</p>\n )}\n {children}\n </div>\n );\n}\n","// src/infiniteQueryObserver.ts\nimport { QueryObserver } from \"./queryObserver.js\";\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n} from \"./infiniteQueryBehavior.js\";\nvar InfiniteQueryObserver = class extends QueryObserver {\n constructor(client, options) {\n super(client, options);\n }\n bindMethods() {\n super.bindMethods();\n this.fetchNextPage = this.fetchNextPage.bind(this);\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this);\n }\n setOptions(options) {\n super.setOptions({\n ...options,\n behavior: infiniteQueryBehavior()\n });\n }\n getOptimisticResult(options) {\n options.behavior = infiniteQueryBehavior();\n return super.getOptimisticResult(options);\n }\n fetchNextPage(options) {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: \"forward\" }\n }\n });\n }\n fetchPreviousPage(options) {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: \"backward\" }\n }\n });\n }\n createResult(query, options) {\n const { state } = query;\n const parentResult = super.createResult(query, options);\n const { isFetching, isRefetching, isError, isRefetchError } = parentResult;\n const fetchDirection = state.fetchMeta?.fetchMore?.direction;\n const isFetchNextPageError = isError && fetchDirection === \"forward\";\n const isFetchingNextPage = isFetching && fetchDirection === \"forward\";\n const isFetchPreviousPageError = isError && fetchDirection === \"backward\";\n const isFetchingPreviousPage = isFetching && fetchDirection === \"backward\";\n const result = {\n ...parentResult,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data),\n hasPreviousPage: hasPreviousPage(options, state.data),\n isFetchNextPageError,\n isFetchingNextPage,\n isFetchPreviousPageError,\n isFetchingPreviousPage,\n isRefetchError: isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,\n isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage\n };\n return result;\n }\n};\nexport {\n InfiniteQueryObserver\n};\n//# sourceMappingURL=infiniteQueryObserver.js.map","\"use client\";\n\n// src/useInfiniteQuery.ts\nimport { InfiniteQueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useInfiniteQuery(options, queryClient) {\n return useBaseQuery(\n options,\n InfiniteQueryObserver,\n queryClient\n );\n}\nexport {\n useInfiniteQuery\n};\n//# sourceMappingURL=useInfiniteQuery.js.map","\"use client\";\n\nimport { useEffect, useState } from \"react\";\nimport { FileText, Paperclip, FileImage, FileSpreadsheet, ExternalLink } from \"lucide-react\";\nimport { cn } from \"@/lib/utils\";\nimport type { ChatAttachment } from \"@/lib/hooks/use-chat\";\n\nconst INLINE_IMAGE_MAX_BYTES = 2 * 1024 * 1024;\n\nfunction formatSize(bytes: number): string {\n if (bytes < 1024) return `${bytes} B`;\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(0)} KB`;\n return `${(bytes / 1024 / 1024).toFixed(1)} MB`;\n}\n\nfunction AttachmentIcon({ mimeType, className }: { mimeType: string; className: string }) {\n if (mimeType.startsWith(\"image/\")) return <FileImage className={className} />;\n if (mimeType === \"application/pdf\") return <FileText className={className} />;\n if (\n mimeType.includes(\"spreadsheet\")\n || mimeType === \"text/csv\"\n || mimeType.includes(\"excel\")\n ) return <FileSpreadsheet className={className} />;\n return <Paperclip className={className} />;\n}\n\nfunction InlineImage({ id, alt }: { id: string; alt: string }) {\n const [blobUrl, setBlobUrl] = useState<string | null>(null);\n const [failed, setFailed] = useState(false);\n\n useEffect(() => {\n // Fetch via the authenticated dashboard proxy (Bearer attached in the\n // Next.js [...path] route). Using a blob URL avoids leaking the token\n // into `<img src>` referrers.\n let cancelled = false;\n let currentUrl: string | null = null;\n (async () => {\n try {\n const res = await fetch(`/api/chat/attachments/${id}`);\n if (!res.ok) throw new Error(`status ${res.status}`);\n const blob = await res.blob();\n if (cancelled) return;\n currentUrl = URL.createObjectURL(blob);\n setBlobUrl(currentUrl);\n } catch {\n if (!cancelled) setFailed(true);\n }\n })();\n return () => {\n cancelled = true;\n if (currentUrl) URL.revokeObjectURL(currentUrl);\n };\n }, [id]);\n\n if (failed) return null;\n if (!blobUrl) {\n return (\n <div className=\"flex h-32 w-full max-w-xs items-center justify-center rounded-md border border-border bg-muted/20 text-xs text-muted-foreground\">\n loading…\n </div>\n );\n }\n return (\n // Using <img> intentionally — the blob URL is produced after an\n // authenticated fetch, which next/image cannot replicate without\n // a custom loader that forwards Bearer auth to the daemon.\n // eslint-disable-next-line @next/next/no-img-element\n <img\n src={blobUrl}\n alt={alt}\n className=\"max-h-64 max-w-full rounded-md border border-border\"\n />\n );\n}\n\ninterface AttachmentChipProps {\n attachment: ChatAttachment;\n isOwn: boolean;\n}\n\nfunction AttachmentChip({ attachment, isOwn }: AttachmentChipProps) {\n const href = `/api/chat/attachments/${attachment.id}`;\n const isImage = attachment.mimeType.startsWith(\"image/\") && attachment.mimeType !== \"image/svg+xml\";\n const shouldInline = isImage && attachment.sizeBytes < INLINE_IMAGE_MAX_BYTES;\n\n return (\n <div className=\"space-y-1\">\n {shouldInline && (\n <InlineImage id={attachment.id} alt={attachment.originalFilename} />\n )}\n <a\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={cn(\n \"inline-flex items-center gap-2 rounded-md border px-2 py-1 text-xs hover:bg-muted/40\",\n isOwn\n ? \"border-primary-foreground/30 bg-primary-foreground/10 text-primary-foreground\"\n : \"border-border bg-muted/30 text-foreground\",\n )}\n title={attachment.caption ?? attachment.originalFilename}\n >\n <AttachmentIcon mimeType={attachment.mimeType} className=\"h-3 w-3 flex-shrink-0\" />\n <span className=\"max-w-[160px] truncate\">{attachment.originalFilename}</span>\n <span className=\"text-muted-foreground\">{formatSize(attachment.sizeBytes)}</span>\n <ExternalLink className=\"h-3 w-3 flex-shrink-0 opacity-60\" />\n </a>\n {attachment.caption && (\n <p className=\"px-1 text-[10px] text-muted-foreground italic\">{attachment.caption}</p>\n )}\n </div>\n );\n}\n\nexport function MessageAttachments({\n attachments,\n isOwn,\n}: {\n attachments: ChatAttachment[];\n isOwn: boolean;\n}) {\n if (attachments.length === 0) return null;\n return (\n <div className=\"flex flex-col gap-2\">\n {attachments.map((att) => (\n <AttachmentChip key={att.id} attachment={att} isOwn={isOwn} />\n ))}\n </div>\n );\n}\n","\"use client\";\n\nimport { memo } from \"react\";\nimport ReactMarkdown from \"react-markdown\";\nimport remarkGfm from \"remark-gfm\";\nimport { cn } from \"@/lib/utils\";\nimport { Alert } from \"@/components/ui/alert\";\nimport type { ChatMessage } from \"@/lib/hooks/use-chat\";\nimport { MessageAttachments } from \"./message-attachments\";\n\ninterface MessageBubbleProps {\n message: ChatMessage;\n assistantLabel?: string;\n}\n\nconst remarkPlugins = [remarkGfm];\n\nconst markdownComponents: React.ComponentProps<typeof ReactMarkdown>[\"components\"] = {\n a: ({ children, href, ...props }) => (\n <a href={href} target=\"_blank\" rel=\"noopener noreferrer\" {...props}>\n {children}\n </a>\n ),\n};\n\nexport const MessageBubble = memo(function MessageBubble({\n message,\n assistantLabel = \"Assistant\",\n}: MessageBubbleProps) {\n if (message.role === \"error\") {\n return (\n <Alert variant=\"error\" className=\"mx-auto max-w-md rounded-lg px-4 py-2 text-sm\">\n {message.content}\n </Alert>\n );\n }\n\n const isUser = message.role === \"user\";\n\n return (\n <div className={cn(\"flex\", isUser ? \"justify-end\" : \"justify-start\")}>\n <div className=\"max-w-[80%] space-y-1\">\n {!isUser && (\n <p className=\"px-1 text-[11px] font-medium text-muted-foreground\">\n {assistantLabel}\n </p>\n )}\n {message.content && (\n <div\n className={cn(\n \"rounded-2xl px-4 py-2.5 text-sm\",\n isUser\n ? \"whitespace-pre-wrap rounded-br-md bg-primary text-primary-foreground [overflow-wrap:anywhere]\"\n : \"markdown-body markdown-bubble rounded-bl-md border border-border bg-card text-foreground\",\n )}\n >\n {isUser ? (\n message.content\n ) : (\n <ReactMarkdown\n remarkPlugins={remarkPlugins}\n components={markdownComponents}\n >\n {message.content}\n </ReactMarkdown>\n )}\n </div>\n )}\n {message.attachments && message.attachments.length > 0 && (\n <div className=\"px-1\">\n <MessageAttachments\n attachments={message.attachments}\n isOwn={isUser}\n />\n </div>\n )}\n {!isUser && message.meta && (\n <p className=\"px-1 text-[10px] text-muted-foreground/60\">\n {[\n message.meta.backend && message.meta.model\n ? `${message.meta.backend} · ${message.meta.model}`\n : message.meta.backend || message.meta.model,\n message.meta.durationMs != null\n ? `${(message.meta.durationMs / 1000).toFixed(1)}s`\n : null,\n message.meta.costUsd != null\n ? `$${message.meta.costUsd.toFixed(4)}`\n : null,\n ]\n .filter(Boolean)\n .join(\" · \")}\n </p>\n )}\n </div>\n </div>\n );\n});\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Paperclip\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/paperclip\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 Paperclip = createLucideIcon('Paperclip', [\n ['path', { d: 'M13.234 20.252 21 12.3', key: '1cbrk9' }],\n [\n 'path',\n {\n d: 'm16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486',\n key: '1pkts6',\n },\n ],\n]);\n\nexport default Paperclip;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name FileImage\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/file-image\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 FileImage = createLucideIcon('FileImage', [\n ['path', { d: 'M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z', key: '1rqfz7' }],\n ['path', { d: 'M14 2v4a2 2 0 0 0 2 2h4', key: 'tnqrlb' }],\n ['circle', { cx: '10', cy: '12', r: '2', key: '737tya' }],\n ['path', { d: 'm20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22', key: 'wt3hpn' }],\n]);\n\nexport default FileImage;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name FileSpreadsheet\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/file-spreadsheet\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 FileSpreadsheet = createLucideIcon('FileSpreadsheet', [\n ['path', { d: 'M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z', key: '1rqfz7' }],\n ['path', { d: 'M14 2v4a2 2 0 0 0 2 2h4', key: 'tnqrlb' }],\n ['path', { d: 'M8 13h2', key: 'yr2amv' }],\n ['path', { d: 'M14 13h2', key: 'un5t4a' }],\n ['path', { d: 'M8 17h2', key: '2yhykz' }],\n ['path', { d: 'M14 17h2', key: '10kma7' }],\n]);\n\nexport default FileSpreadsheet;\n","\"use client\";\n\nimport { useInfiniteQuery } from \"@tanstack/react-query\";\nimport { api } from \"@/lib/api-client\";\nimport type { ConversationsResponse } from \"@/lib/api-types\";\n\nexport function useConversations(\n filters?: { platform?: string; status?: string; scope?: string },\n options?: { enabled?: boolean },\n) {\n return useInfiniteQuery({\n queryKey: [\"conversations\", filters],\n queryFn: ({ pageParam = 1 }) =>\n api.get<ConversationsResponse>(\"/conversations\", {\n page: pageParam,\n limit: 20,\n platform: filters?.platform,\n status: filters?.status,\n scope: filters?.scope,\n }),\n getNextPageParam: (lastPage) =>\n lastPage.pagination.page < lastPage.pagination.totalPages\n ? lastPage.pagination.page + 1\n : undefined,\n initialPageParam: 1,\n enabled: options?.enabled ?? true,\n });\n}\n"],"names":["EmptyState","icon","Icon","title","description","className","children","InfiniteQueryObserver","client","options","bindMethods","fetchNextPage","bind","fetchPreviousPage","setOptions","behavior","getOptimisticResult","fetch","meta","fetchMore","direction","createResult","query","state","parentResult","isFetching","isRefetching","isError","isRefetchError","fetchDirection","fetchMeta","isFetchNextPageError","isFetchingNextPage","isFetchPreviousPageError","isFetchingPreviousPage","result","hasNextPage","data","hasPreviousPage","useConversations","filters","queryKey","queryFn","pageParam","get","page","limit","platform","status","scope","getNextPageParam","lastPage","pagination","totalPages","undefined","initialPageParam","enabled"],"mappings":"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zC,CDDiE,ACChE,CDDgE,ADC7D,AEAH,CDDgE,ACChE,AFAG,CCD6D,CAAA,CAAA,CAAA,CAAA,ACCxD,CDDwD,ADC1D,AEAE,AAAE,CDDsD,ADC1D,CEAO,AFAP,ACD0D,CDC1D,AEAkB,ADDwC,CDC1D,AEAkB,ADDwC,CAAA,ADC1D,AEAkB,CDDwC,ADC1D,AEAkB,CDDwC,ADC1D,AEAkB,CFAlB,AEAkB,ADDwC,CAAA,ADC1D,AEAkB,CDDwC,ACCxC,AFAlB,CAAA,AEAkB,ADDwC,CDC1D,AEAkB,ADDwC,CDC1D,AEAkB,CFAlB,AEAkB,CAAA,AFAlB,CEAuB,AAAL,AFAlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EEAiC,CFAjC,AEAiC,AACxC,CFDO,AECN,CFDM,AACH,AEAH,CFDM,AACH,AEAH,CFDM,CAAA,CAAA,CAAA,CECE,AFDF,CAAA,AACE,AEAA,AAAE,CFAF,AADF,CECO,AFAL,AADF,CAAA,AECmB,AFAjB,CADF,AACE,AEAiB,CFDnB,AACE,AEAiB,CFDnB,AECmB,CFDnB,AECmB,CFDnB,CAAA,CAAA,CAAA,CAAA,CAAA,AECmB,CFDnB,AECmB,CAAA,AFDnB,CECmB,AFDnB,CAAA,AECwB,CFDxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,AECwB,CAAU,AFDlC,CAAA,AECkC,CFDlC,AEER,CFFQ,CFfT,AEeS,CAAA,CAAA,CAAA,CAAA,AFfT,CEeS,CAAA,AFfT,CEeS,CAAA,AFfT,CEeS,AFfT,CEeS,AFfT,CEeS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,AFHT,CEGS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,AFHA,CEGA,CAAA,AFHe,CEGf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,AFHiB,CEGjB,AFHyB,CEGzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,AFH2B,CEG3B,AFHoC,CEGpC,AFH+E,CEG/E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,AFFP,AAAI,CEEG,CAAA,AFFM,CEEN,CAAA,QFFgB,CAAC,UAAkB,CAAP,AAAO,EAAA,EAAA,GAAA,EAAC,EAAA,CAAU,UAAW,IAC/C,mBAAmB,CAAhC,EAAuC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,QAAQ,CAAA,CAAC,UAAW,IAE9D,EAAS,QAAQ,CAAC,gBACF,AAAb,gBACA,EAAS,QAAQ,CAAC,SACd,CAAP,AAAO,EAAA,EAAA,GAAA,EAAC,EAAA,CAAgB,UAAW,IAC9B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAU,UAAW,GAC/B,CAEA,SAAS,EAAY,IAAE,CAAE,KAAE,CAAG,CAA+B,EAC3D,GAAM,CAAC,EAAS,EAAW,CAAG,CAAA,EAAA,EAAA,QAAQ,AAAR,EAAwB,MAChD,CAAC,EAAQ,EAAU,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,GAAC,SA0BrC,CAxBA,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,KAIR,IAAI,GAAY,EACZ,EAA4B,KAahC,MAZA,CAAC,UACC,GAAI,CACF,IAAM,EAAM,MAAM,MAAM,CAAC,sBAAsB,EAAE,EAAA,CAAI,EACrD,GAAI,CAAC,EAAI,EAAE,CAAE,MAAM,AAAI,MAAM,CAAC,OAAO,EAAE,EAAI,MAAM,CAAA,CAAE,EACnD,IAAM,EAAO,MAAM,EAAI,IAAI,GAC3B,GAAI,EAAW,OACf,EAAa,IAAI,eAAe,CAAC,GACjC,EAAW,EACb,CAAE,KAAM,CACF,AAAC,GAAW,GAAU,EAC5B,CACF,CAAC,IACM,KACL,GAAY,EACR,GAAY,IAAI,eAAe,CAAC,EACtC,CACF,EAAG,CAAC,EAAG,EAEH,GAAe,KAAP,AACP,EAYH,CAAA,EAAA,EAAA,EAZY,CAYZ,EAAC,MAAA,CACC,IAAK,EACL,IAAK,EACL,UAAU,wDAbV,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,2IAAkI,YAgBvJ,CAOA,SAAS,EAAe,YAAE,CAAU,OAAE,CAAK,CAAuB,MAvE9C,EAwElB,GAxE+B,CAwEzB,EAAO,CAAC,sBAAsB,EAAE,EAAW,EAAE,CAAA,CAAE,CAE/C,EADU,AACK,EADM,QAAQ,CAAC,UAAU,CAAC,WAAqC,kBAAxB,EAAW,QAAQ,EAC/C,EAAW,SAAS,CA5EvB,EA4E0B,EA5EtB,IA8EjC,GA9EwC,GA+EtC,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACZ,GACC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAY,GAAI,EAAW,EAAE,CAAE,IAAK,EAAW,gBAAgB,GAElE,CAAA,EAAA,EAAA,IAAA,EAAC,IAAA,CACC,KAAM,EACN,OAAO,SACP,IAAI,sBACJ,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EACX,uFACA,EACI,gFACA,6CAEN,MAAO,EAAW,OAAO,EAAI,EAAW,gBAAgB,WAExD,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAe,SAAU,EAAW,QAAQ,CAAE,UAAU,0BACzD,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,kCAA0B,EAAW,gBAAgB,GACrE,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,iCA9FtB,AAAI,CA8F2C,EAAW,EAAW,SAAS,EA9FlE,KAAa,CAAP,AAAO,EAAG,EAAM,EAAE,CAAC,CACjC,EAAQ,OAAO,CAAa,CAAA,EAAG,AAAC,EAAX,CAAmB,IAAA,CAAI,CAAE,OAAO,CAAC,GAAG,GAAG,CAAC,CAC1D,CAAA,EAAG,AAAC,GAAQ,KAAO,IAAA,CAAI,CAAE,OAAO,CAAC,GAAG,GAAG,CAAC,GA6FzC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,YAAY,CAAA,CAAC,UAAU,wCAEzB,EAAW,OAAO,EACjB,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,yDAAiD,EAAW,OAAO,KAIxF,CAEO,SAAS,EAAmB,aACjC,CAAW,OACX,CAAK,CAIN,SACC,AAA2B,GAAG,CAA1B,EAAY,MAAM,CAAe,KAEnC,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,+BACZ,EAAY,GAAG,CAAC,AAAC,GAChB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAA4B,WAAY,EAAK,MAAO,GAAhC,EAAI,EAAE,IAInC,CClHA,IAAM,EAAgB,CAAC,EAAA,OAAS,CAAC,CAE3B,EAA+E,CACnF,EAAG,CAAC,UAAE,CAAQ,MAAE,CAAI,CAAE,GAAG,EAAO,GAC9B,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,KAAM,EAAM,OAAO,SAAS,IAAI,sBAAuB,GAAG,CAAK,UAC/D,GAGP,EAEa,EAAgB,CAAA,EAAA,EAAA,IAAI,AAAJ,EAAK,SAAS,AAAc,SACvD,CAAO,gBACP,EAAiB,WAAW,CACT,EACnB,GAAqB,SAAS,CAA1B,EAAQ,IAAI,CACd,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,KAAK,CAAA,CAAC,QAAQ,QAAQ,UAAU,yDAC9B,EAAQ,OAAO,GAKtB,IAAM,EAA0B,SAAjB,EAAQ,IAAI,CAE3B,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,OAAQ,EAAS,cAAgB,0BAClD,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,kCACZ,CAAC,GACA,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,8DACV,IAGJ,EAAQ,OAAO,EACd,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CACC,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EACX,kCACA,EACI,gGACA,qGAGL,EACC,EAAQ,OAAO,CAEf,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,OAAa,CAAA,CACZ,cAAe,EACf,WAAY,WAEX,EAAQ,OAAO,KAKvB,EAAQ,WAAW,EAAI,EAAQ,WAAW,CAAC,MAAM,CAAG,GACnD,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,gBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,YAAa,EAAQ,WAAW,CAChC,MAAO,MAIZ,CAAC,GAAU,EAAQ,IAAI,EACtB,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,qDACV,CACC,EAAQ,IAAI,CAAC,OAAO,EAAI,EAAQ,IAAI,CAAC,KAAK,CACtC,CAAA,EAAG,EAAQ,IAAI,CAAC,OAAO,CAAC,MAAG,EAAE,EAAQ,IAAI,CAAC,KAAK,CAAA,CAAE,CACjD,EAAQ,IAAI,CAAC,OAAO,EAAI,EAAQ,IAAI,CAAC,KAAK,CAC9C,AAA2B,QAAnB,IAAI,CAAC,UAAU,CACnB,CAAA,EAAG,CAAC,EAAQ,IAAI,CAAC,UAAU,CAAG,GAAA,CAAI,CAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CACjD,KACoB,MAAxB,EAAQ,IAAI,CAAC,OAAO,CAChB,CAAC,CAAC,EAAE,EAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAA,CAAI,CACrC,KACL,CACE,MAAM,CAAC,SACP,IAAI,CAAC,aAMpB,2DI9FA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,iCAGO,SAASK,AACdC,CAAgE,CAChE/B,CAA+B,EAE/B,MAAO,CAAA,EAAA,EAAA,gBAAgB,AAAhB,EAAiB,CACtBgC,SAAU,CAAC,gBAAiBD,EAAQ,CACpCE,QAAS,CAAC,WAAEC,EAAY,CAAC,CAAE,GACzB,EAAA,GAAG,CAACC,GAAG,CAAwB,iBAAkB,CAC/CC,KAAMF,EACNG,MAAO,GACPC,SAAUP,GAASO,SACnBC,OAAQR,GAASQ,OACjBC,MAAOT,GAASS,KAClB,GACFC,iBAAkB,AAACC,GACjBA,EAASC,UAAU,CAACP,IAAI,CAAGM,EAASC,UAAU,CAACC,UAAU,CACrDF,EAASC,UAAU,CAACP,IAAI,CAAG,OAC3BS,EACNC,iBAAkB,EAClBC,QAAS/C,GAAS+C,UAAW,CAC/B,EACF","ignoreList":[0,2,3,6,7,8]}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[30400,a=>{"use strict";var b=a.i(39752),c=a.i(48558);let d=(0,a.i(42261).cva)("rounded-xl border p-5 shadow-[0_1px_3px_rgb(0_0_0/0.04)]",{variants:{tone:{default:"border-border bg-card",warning:"border-amber-200 bg-amber-50/50 dark:border-amber-900 dark:bg-amber-950/30",success:"border-emerald-200 bg-emerald-50/50 dark:border-emerald-900 dark:bg-emerald-950/30",error:"border-red-200 bg-red-50/50 dark:border-red-900 dark:bg-red-950/30"},interactive:{true:"transition-shadow duration-150 hover:shadow-[0_4px_6px_rgb(0_0_0/0.06)]",false:""}},defaultVariants:{tone:"default",interactive:!1}});a.s(["Card",0,function({className:a,tone:e,interactive:f,...g}){return(0,b.jsx)("div",{className:(0,c.cn)(d({tone:e,interactive:f}),a),...g})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("mb-3 flex items-center justify-between",a),...d})},"CardStatLabel",0,function({className:a,...d}){return(0,b.jsx)("h3",{className:(0,c.cn)("text-sm font-medium text-muted-foreground",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("h3",{className:(0,c.cn)("text-lg font-semibold text-foreground",a),...d})},"CardValue",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("text-3xl font-bold text-foreground",a),...d})}])},96336,a=>{"use strict";let b=(0,a.i(5423).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);a.s(["Trash2",0,b],96336)},43179,a=>{"use strict";let b=(0,a.i(5423).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",0,b],43179)},60380,a=>{"use strict";var b=a.i(34542);a.i(39752);var c=b.createContext(void 0);a.s(["useDirection",0,function(a){let d=b.useContext(c);return a||d||"ltr"}])},69471,a=>{"use strict";var b=a.i(34542),c=a.i(95819),d=a.i(80303),e=a.i(92274),f=a.i(39752),g=new WeakMap;function h(a,b){var c,d;let e,f,g;if("at"in Array.prototype)return Array.prototype.at.call(a,b);let h=(c=a,d=b,e=c.length,(g=(f=i(d))>=0?f:e+f)<0||g>=e?-1:g);return -1===h?void 0:a[h]}function i(a){return a!=a||0===a?0:Math.trunc(a)}(class a extends Map{#a;constructor(a){super(a),this.#a=[...super.keys()],g.set(this,!0)}set(a,b){return g.get(this)&&(this.has(a)?this.#a[this.#a.indexOf(a)]=a:this.#a.push(a)),super.set(a,b),this}insert(a,b,c){let d,e=this.has(b),f=this.#a.length,g=i(a),h=g>=0?g:f+g,j=h<0||h>=f?-1:h;if(j===this.size||e&&j===this.size-1||-1===j)return this.set(b,c),this;let k=this.size+ +!e;g<0&&h++;let l=[...this.#a],m=!1;for(let a=h;a<k;a++)if(h===a){let f=l[a];l[a]===b&&(f=l[a+1]),e&&this.delete(b),d=this.get(f),this.set(b,c)}else{m||l[a-1]!==b||(m=!0);let c=l[m?a:a-1],e=d;d=this.get(c),this.delete(c),this.set(c,e)}return this}with(b,c,d){let e=new a(this);return e.insert(b,c,d),e}before(a){let b=this.#a.indexOf(a)-1;if(!(b<0))return this.entryAt(b)}setBefore(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d,b,c)}after(a){let b=this.#a.indexOf(a);if(-1!==(b=-1===b||b===this.size-1?-1:b+1))return this.entryAt(b)}setAfter(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d+1,b,c)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#a=[],super.clear()}delete(a){let b=super.delete(a);return b&&this.#a.splice(this.#a.indexOf(a),1),b}deleteAt(a){let b=this.keyAt(a);return void 0!==b&&this.delete(b)}at(a){let b=h(this.#a,a);if(void 0!==b)return this.get(b)}entryAt(a){let b=h(this.#a,a);if(void 0!==b)return[b,this.get(b)]}indexOf(a){return this.#a.indexOf(a)}keyAt(a){return h(this.#a,a)}from(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.at(d)}keyFrom(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.keyAt(d)}find(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return d;c++}}findIndex(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return c;c++}return -1}filter(b,c){let d=[],e=0;for(let a of this)Reflect.apply(b,c,[a,e,this])&&d.push(a),e++;return new a(d)}map(b,c){let d=[],e=0;for(let a of this)d.push([a[0],Reflect.apply(b,c,[a,e,this])]),e++;return new a(d)}reduce(...a){let[b,c]=a,d=0,e=c??this.at(0);for(let c of this)e=0===d&&1===a.length?c:Reflect.apply(b,this,[e,c,d,this]),d++;return e}reduceRight(...a){let[b,c]=a,d=c??this.at(-1);for(let c=this.size-1;c>=0;c--){let e=this.at(c);d=c===this.size-1&&1===a.length?e:Reflect.apply(b,this,[d,e,c,this])}return d}toSorted(b){return new a([...this.entries()].sort(b))}toReversed(){let b=new a;for(let a=this.size-1;a>=0;a--){let c=this.keyAt(a),d=this.get(c);b.set(c,d)}return b}toSpliced(...b){let c=[...this.entries()];return c.splice(...b),new a(c)}slice(b,c){let d=new a,e=this.size-1;if(void 0===b)return d;b<0&&(b+=this.size),void 0!==c&&c>0&&(e=c-1);for(let a=b;a<=e;a++){let b=this.keyAt(a),c=this.get(b);d.set(b,c)}return d}every(a,b){let c=0;for(let d of this){if(!Reflect.apply(a,b,[d,c,this]))return!1;c++}return!0}some(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return!0;c++}return!1}}),a.s(["createCollection",0,function(a){let g=a+"CollectionProvider",[h,i]=(0,c.createContextScope)(g),[j,k]=h(g,{collectionRef:{current:null},itemMap:new Map}),l=a=>{let{scope:c,children:d}=a,e=b.default.useRef(null),g=b.default.useRef(new Map).current;return(0,f.jsx)(j,{scope:c,itemMap:g,collectionRef:e,children:d})};l.displayName=g;let m=a+"CollectionSlot",n=(0,e.createSlot)(m),o=b.default.forwardRef((a,b)=>{let{scope:c,children:e}=a,g=k(m,c),h=(0,d.useComposedRefs)(b,g.collectionRef);return(0,f.jsx)(n,{ref:h,children:e})});o.displayName=m;let p=a+"CollectionItemSlot",q="data-radix-collection-item",r=(0,e.createSlot)(p),s=b.default.forwardRef((a,c)=>{let{scope:e,children:g,...h}=a,i=b.default.useRef(null),j=(0,d.useComposedRefs)(c,i),l=k(p,e);return b.default.useEffect(()=>(l.itemMap.set(i,{ref:i,...h}),()=>void l.itemMap.delete(i))),(0,f.jsx)(r,{...{[q]:""},ref:j,children:g})});return s.displayName=p,[{Provider:l,Slot:o,ItemSlot:s},function(c){let d=k(a+"CollectionConsumer",c);return b.default.useCallback(()=>{let a=d.collectionRef.current;if(!a)return[];let b=Array.from(a.querySelectorAll(`[${q}]`));return Array.from(d.itemMap.values()).sort((a,c)=>b.indexOf(a.ref.current)-b.indexOf(c.ref.current))},[d.collectionRef,d.itemMap])},i]}])},48972,a=>{"use strict";a.s(["clamp",0,function(a,[b,c]){return Math.min(c,Math.max(b,a))}])},54506,a=>{"use strict";let b=(0,a.i(5423).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["Check",0,b],54506)},39293,a=>{"use strict";let b=(0,a.i(5423).default)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",0,b],39293)},40091,a=>{"use strict";let b={claude:"Claude Code",codex:"OpenAI Codex",gemini:"Gemini CLI"},c={claude:"Claude",codex:"Codex",gemini:"Gemini"},d={claude:"orange",codex:"pink",gemini:"blue"},e={"routine.morning_routine":"Morning Routine","routine.evening_review":"Evening Review","routine.weekly_review":"Weekly Review","routine.monthly_review":"Monthly Review","routine.hourly_check":"Hourly Check","message.dm":"Direct Messages","message.mention":"Mentions","dashboard.chat":"Dashboard Chat","agent.task":"Scheduled Tasks","calendar.change":"Calendar Events",gmail_classify:"Gmail Classification","github.pull_request.review_requested":"GitHub Review Requests","github.assigned":"GitHub Assignments","github.security_alert":"GitHub Security Alerts","github.workflow_run.failed":"GitHub CI Failures"};function f(a){let b;if(!a)return[];try{b=JSON.parse(a)}catch{return[]}if(!b||"object"!=typeof b)return[];let c=[];for(let[a,d]of Object.entries(b))d&&"object"==typeof d&&c.push({modelId:a,inputTokens:"number"==typeof d.inputTokens?d.inputTokens:0,outputTokens:"number"==typeof d.outputTokens?d.outputTokens:0,costUsd:"number"==typeof d.costUsd?d.costUsd:0});return c.sort((a,b)=>b.costUsd-a.costUsd)}function g(a){if(!a)return null;let b=a.toLowerCase();return b.includes("claude")||b.includes("sonnet")||b.includes("opus")||b.includes("haiku")?"claude":b.includes("gemini")?"gemini":b.includes("gpt")||b.includes("codex")||b.includes("o3")||b.includes("o4")?"codex":null}a.s(["BACKEND_BADGE_VARIANTS",0,d,"BACKEND_LABELS",0,b,"BACKEND_PROVIDER_LABELS",0,{claude:"Claude (Anthropic)",codex:"ChatGPT (OpenAI)",gemini:"Gemini (Google)"},"BACKEND_PROVIDER_SHORT",0,{claude:"Claude",codex:"ChatGPT",gemini:"Gemini"},"detectBackendFromModel",0,g,"formatModelName",0,function(a){return a?a.replace(/^claude-/,"Claude ").replace(/^gpt-/,"GPT-").replace(/^gemini-/,"Gemini ").replace(/-/g," ").replace(/\bpreview\b/gi,"(preview)").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\bcodex\b/gi,"Codex").replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\s+/g," ").trim():"Not set"},"formatShortModelName",0,function(a){if(!a)return"unknown";if("opus"===a)return"Opus";if("sonnet"===a)return"Sonnet";let b=a.replace(/-\d{8,}$/,"").replace(/^claude-/,"").replace(/(\d+)-(\d+)(?![-\d])/g,"$1.$2").replace(/-/g," ");return a.startsWith("gpt-")&&(b=`GPT-${b.replace(/^gpt\s*/i,"")}`),a.startsWith("gemini-")&&(b=b.replace(/^gemini\s*/i,"Gemini ")),b.replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\s+/g," ").trim()},"getBackendLabel",0,function(a){return b[a]},"getBackendShortLabel",0,function(a){return c[a]},"getProcessLabel",0,function(a){return e[a]??a},"modelBadgeVariant",0,function(a){if(!a)return"gray";let b=g(a);return b?d[b]:"gray"},"parseModelUsage",0,f,"pickDisplayModel",0,function(a,b){let c=f(b);return c.length>0&&c[0]?c[0].modelId:a??null}])},13925,a=>{"use strict";var b=a.i(70981),c=a.i(76584),d=class extends b.QueryObserver{constructor(a,b){super(a,b)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(a){super.setOptions({...a,behavior:(0,c.infiniteQueryBehavior)()})}getOptimisticResult(a){return a.behavior=(0,c.infiniteQueryBehavior)(),super.getOptimisticResult(a)}fetchNextPage(a){return this.fetch({...a,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(a){return this.fetch({...a,meta:{fetchMore:{direction:"backward"}}})}createResult(a,b){let{state:d}=a,e=super.createResult(a,b),{isFetching:f,isRefetching:g,isError:h,isRefetchError:i}=e,j=d.fetchMeta?.fetchMore?.direction,k=h&&"forward"===j,l=f&&"forward"===j,m=h&&"backward"===j,n=f&&"backward"===j;return{...e,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:(0,c.hasNextPage)(b,d.data),hasPreviousPage:(0,c.hasPreviousPage)(b,d.data),isFetchNextPageError:k,isFetchingNextPage:l,isFetchPreviousPageError:m,isFetchingPreviousPage:n,isRefetchError:i&&!k&&!m,isRefetching:g&&!l&&!n}}},e=a.i(62149);a.s(["useInfiniteQuery",0,function(a,b){return(0,e.useBaseQuery)(a,d,b)}],13925)},45133,a=>{"use strict";let b=(0,a.i(5423).default)("Pen",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]);a.s(["Edit2",0,b],45133)},40294,93929,a=>{"use strict";var b=a.i(34542),c=a.i(81130),d=a.i(59974);a.s(["useRegenerate",0,function(){let[a,e]=(0,b.useState)(null),[f,g]=(0,b.useState)("idle"),[h,i]=(0,b.useState)(null),j=(0,c.useQueryClient)(),k=(0,b.useRef)(null),l=(0,b.useRef)(null),m=(0,b.useRef)(0);(0,b.useEffect)(()=>()=>{k.current&&clearInterval(k.current)},[]);let n=(0,b.useCallback)(()=>{k.current&&(clearInterval(k.current),k.current=null)},[]);return{regenerate:(0,b.useCallback)(async a=>{if("triggered"===f||"running"===f)return;e(a),g("triggered"),i(null),m.current=Date.now();let b=await d.api.get(`/context/${a}`).catch(()=>null);l.current=b?.lastModified??null;try{await d.api.post("/agent/regenerate",{target:a}),g("running"),k.current=setInterval(async()=>{if(Date.now()-m.current>3e5){n(),g("error"),i("Timeout — agent may still be processing");return}try{let b=await d.api.get(`/context/${a}`);(null===l.current||b.lastModified!==l.current)&&(n(),g("done"),j.invalidateQueries({queryKey:["context",a]}),j.invalidateQueries({queryKey:["calendar"]}),setTimeout(()=>{g("idle"),e(null)},5e3))}catch{}},3e3)}catch(a){g("error"),i(a instanceof Error?a.message:"Failed to trigger")}},[f,j,n]),target:a,status:f,error:h,dismiss:(0,b.useCallback)(()=>{n(),g("idle"),e(null),i(null)},[n])}}],40294);var e=a.i(39752),f=a.i(21218),g=a.i(48558),h=a.i(39293),i=a.i(54506),j=a.i(91092),k=a.i(92241);a.s(["RegenerateButton",0,function({target:a,label:b,currentTarget:c,status:d,error:l,onRegenerate:m,onDismiss:n,variant:o="outline",size:p="sm",className:q}){let r=c===a;return r&&"done"===d?(0,e.jsxs)(f.Button,{variant:o,size:p,className:(0,g.cn)("text-emerald-600 dark:text-emerald-400",q),onClick:n,children:[(0,e.jsx)(i.Check,{className:"h-3.5 w-3.5 mr-1.5"}),"Updated"]}):r&&"error"===d?(0,e.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,e.jsxs)(f.Button,{variant:o,size:p,className:(0,g.cn)("text-red-600 dark:text-red-400",q),onClick:n,children:[(0,e.jsx)(j.AlertCircle,{className:"h-3.5 w-3.5 mr-1.5"}),"Failed"]}),l&&(0,e.jsx)("span",{className:"text-xs text-red-600 dark:text-red-400 max-w-48 truncate",children:l})]}):(0,e.jsxs)(f.Button,{variant:o,size:p,onClick:()=>m(a),disabled:"triggered"===d||"running"===d,className:q,children:[r&&"idle"!==d?(0,e.jsx)(k.Loader2,{className:"h-3.5 w-3.5 mr-1.5 animate-spin"}):(0,e.jsx)(h.RefreshCw,{className:"h-3.5 w-3.5 mr-1.5"}),r&&"triggered"===d?"Triggering...":r&&"running"===d?"Running...":b]})}],93929)},75674,a=>{"use strict";var b=a.i(62588),c=a.i(59974);a.s(["useScheduleNext",0,function(){return(0,b.useQuery)({queryKey:["schedule-next"],queryFn:()=>c.api.get("/schedule/next"),refetchInterval:3e4})}])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_060itkv._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/dashboard/src/components/ui/card.tsx","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/trash-2.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/plus.ts","../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-direction%401.1.1_%40types%2Breact%4019.2.14_react%4019.2.4/node_modules/%40radix-ui/react-direction/src/direction.tsx","../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-collection%401.1.7_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.14__%40types%2Br_161926fa2509d0b7370b60b8bb4eb8b0/node_modules/%40radix-ui/react-collection/src/collection-legacy.tsx","../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-collection%401.1.7_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.14__%40types%2Br_161926fa2509d0b7370b60b8bb4eb8b0/node_modules/%40radix-ui/react-collection/src/collection.tsx","../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-collection%401.1.7_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.14__%40types%2Br_161926fa2509d0b7370b60b8bb4eb8b0/node_modules/%40radix-ui/react-collection/src/ordered-dictionary.ts","../../../../../../node_modules/.pnpm/%40radix-ui%2Bnumber%401.1.1/node_modules/%40radix-ui/number/src/number.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/check.ts","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/refresh-cw.ts","../../../../../../packages/dashboard/src/lib/backend-ui.ts","../../../../../../node_modules/.pnpm/%40tanstack%2Bquery-core%405.96.2/node_modules/%40tanstack/query-core/build/modern/infiniteQueryObserver.js","../../../../../../node_modules/.pnpm/%40tanstack%2Breact-query%405.96.2_react%4019.2.4/node_modules/%40tanstack/react-query/build/modern/useInfiniteQuery.js","../../../../../../node_modules/.pnpm/lucide-react%400.468.0_react%4019.2.4/node_modules/lucide-react/src/icons/pen.ts","../../../../../../packages/dashboard/src/lib/hooks/use-regenerate.ts","../../../../../../packages/dashboard/src/components/regenerate-button.tsx","../../../../../../packages/dashboard/src/lib/hooks/use-schedule-next.ts"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport { type VariantProps, cva } from \"class-variance-authority\";\nimport type { HTMLAttributes } from \"react\";\n\nconst cardVariants = cva(\n \"rounded-xl border p-5 shadow-[0_1px_3px_rgb(0_0_0/0.04)]\",\n {\n variants: {\n tone: {\n default: \"border-border bg-card\",\n warning:\n \"border-amber-200 bg-amber-50/50 dark:border-amber-900 dark:bg-amber-950/30\",\n success:\n \"border-emerald-200 bg-emerald-50/50 dark:border-emerald-900 dark:bg-emerald-950/30\",\n error:\n \"border-red-200 bg-red-50/50 dark:border-red-900 dark:bg-red-950/30\",\n },\n interactive: {\n true: \"transition-shadow duration-150 hover:shadow-[0_4px_6px_rgb(0_0_0/0.06)]\",\n false: \"\",\n },\n },\n defaultVariants: { tone: \"default\", interactive: false },\n },\n);\n\nexport interface CardProps\n extends HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof cardVariants> {}\n\nexport function Card({ className, tone, interactive, ...props }: CardProps) {\n return (\n <div className={cn(cardVariants({ tone, interactive }), className)} {...props} />\n );\n}\n\nexport function CardHeader({ className, ...props }: HTMLAttributes<HTMLDivElement>) {\n return <div className={cn(\"mb-3 flex items-center justify-between\", className)} {...props} />;\n}\n\nexport function CardTitle({ className, ...props }: HTMLAttributes<HTMLHeadingElement>) {\n return (\n <h3\n className={cn(\"text-lg font-semibold text-foreground\", className)}\n {...props}\n />\n );\n}\n\nexport function CardStatLabel({\n className,\n ...props\n}: HTMLAttributes<HTMLHeadingElement>) {\n return (\n <h3\n className={cn(\"text-sm font-medium text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nexport function CardValue({ className, ...props }: HTMLAttributes<HTMLDivElement>) {\n return <div className={cn(\"text-3xl font-bold text-foreground\", className)} {...props} />;\n}\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Trash2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/trash-2\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 Trash2 = createLucideIcon('Trash2', [\n ['path', { d: 'M3 6h18', key: 'd0wm0j' }],\n ['path', { d: 'M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6', key: '4alrt4' }],\n ['path', { d: 'M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2', key: 'v07s0e' }],\n ['line', { x1: '10', x2: '10', y1: '11', y2: '17', key: '1uufr5' }],\n ['line', { x1: '14', x2: '14', y1: '11', y2: '17', key: 'xtxkd' }],\n]);\n\nexport default Trash2;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Plus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/plus\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 Plus = createLucideIcon('Plus', [\n ['path', { d: 'M5 12h14', key: '1ays0h' }],\n ['path', { d: 'M12 5v14', key: 's699le' }],\n]);\n\nexport default Plus;\n","import * as React from 'react';\n\ntype Direction = 'ltr' | 'rtl';\nconst DirectionContext = React.createContext<Direction | undefined>(undefined);\n\n/* -------------------------------------------------------------------------------------------------\n * Direction\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DirectionProviderProps {\n children?: React.ReactNode;\n dir: Direction;\n}\nconst DirectionProvider: React.FC<DirectionProviderProps> = (props) => {\n const { dir, children } = props;\n return <DirectionContext.Provider value={dir}>{children}</DirectionContext.Provider>;\n};\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction useDirection(localDir?: Direction) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || 'ltr';\n}\n\nconst Provider = DirectionProvider;\n\nexport {\n useDirection,\n //\n Provider,\n //\n DirectionProvider,\n};\n","import React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createSlot, type Slot } from '@radix-ui/react-slot';\n\ntype SlotProps = React.ComponentPropsWithoutRef<typeof Slot>;\ntype CollectionElement = HTMLElement;\ninterface CollectionProps extends SlotProps {\n scope: any;\n}\n\n// We have resorted to returning slots directly rather than exposing primitives that can then\n// be slotted like `<CollectionItem as={Slot}>\u2026</CollectionItem>`.\n// This is because we encountered issues with generic types that cannot be statically analysed\n// due to creating them dynamically via createCollection.\n\nfunction createCollection<ItemElement extends HTMLElement, ItemData = {}>(name: string) {\n /* -----------------------------------------------------------------------------------------------\n * CollectionProvider\n * ---------------------------------------------------------------------------------------------*/\n\n const PROVIDER_NAME = name + 'CollectionProvider';\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n\n type ContextValue = {\n collectionRef: React.RefObject<CollectionElement | null>;\n itemMap: Map<\n React.RefObject<ItemElement | null>,\n { ref: React.RefObject<ItemElement | null> } & ItemData\n >;\n };\n\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext<ContextValue>(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: new Map() }\n );\n\n const CollectionProvider: React.FC<{ children?: React.ReactNode; scope: any }> = (props) => {\n const { scope, children } = props;\n const ref = React.useRef<CollectionElement>(null);\n const itemMap = React.useRef<ContextValue['itemMap']>(new Map()).current;\n return (\n <CollectionProviderImpl scope={scope} itemMap={itemMap} collectionRef={ref}>\n {children}\n </CollectionProviderImpl>\n );\n };\n\n CollectionProvider.displayName = PROVIDER_NAME;\n\n /* -----------------------------------------------------------------------------------------------\n * CollectionSlot\n * ---------------------------------------------------------------------------------------------*/\n\n const COLLECTION_SLOT_NAME = name + 'CollectionSlot';\n\n const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n const CollectionSlot = React.forwardRef<CollectionElement, CollectionProps>(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return <CollectionSlotImpl ref={composedRefs}>{children}</CollectionSlotImpl>;\n }\n );\n\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n\n /* -----------------------------------------------------------------------------------------------\n * CollectionItem\n * ---------------------------------------------------------------------------------------------*/\n\n const ITEM_SLOT_NAME = name + 'CollectionItemSlot';\n const ITEM_DATA_ATTR = 'data-radix-collection-item';\n\n type CollectionItemSlotProps = ItemData & {\n children: React.ReactNode;\n scope: any;\n };\n\n const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n const CollectionItemSlot = React.forwardRef<ItemElement, CollectionItemSlotProps>(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef<ItemElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...(itemData as unknown as ItemData) });\n return () => void context.itemMap.delete(ref);\n });\n\n return (\n <CollectionItemSlotImpl {...{ [ITEM_DATA_ATTR]: '' }} ref={composedRefs}>\n {children}\n </CollectionItemSlotImpl>\n );\n }\n );\n\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n\n /* -----------------------------------------------------------------------------------------------\n * useCollection\n * ---------------------------------------------------------------------------------------------*/\n\n function useCollection(scope: any) {\n const context = useCollectionContext(name + 'CollectionConsumer', scope);\n\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current!) - orderedNodes.indexOf(b.ref.current!)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n\n return getItems;\n }\n\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope,\n ] as const;\n}\n\nexport { createCollection };\nexport type { CollectionProps };\n","import React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createSlot, type Slot } from '@radix-ui/react-slot';\nimport type { EntryOf } from './ordered-dictionary';\nimport { OrderedDict } from './ordered-dictionary';\n\ntype SlotProps = React.ComponentPropsWithoutRef<typeof Slot>;\ntype CollectionElement = HTMLElement;\ninterface CollectionProps extends SlotProps {\n scope: any;\n}\n\ninterface BaseItemData {\n id?: string;\n}\n\ntype ItemDataWithElement<\n ItemData extends BaseItemData,\n ItemElement extends HTMLElement,\n> = ItemData & {\n element: ItemElement;\n};\n\ntype ItemMap<ItemElement extends HTMLElement, ItemData extends BaseItemData> = OrderedDict<\n ItemElement,\n ItemDataWithElement<ItemData, ItemElement>\n>;\n\nfunction createCollection<\n ItemElement extends HTMLElement,\n ItemData extends BaseItemData = BaseItemData,\n>(name: string) {\n /* -----------------------------------------------------------------------------------------------\n * CollectionProvider\n * ---------------------------------------------------------------------------------------------*/\n\n const PROVIDER_NAME = name + 'CollectionProvider';\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n\n type ContextValue = {\n collectionElement: CollectionElement | null;\n collectionRef: React.Ref<CollectionElement | null>;\n collectionRefObject: React.RefObject<CollectionElement | null>;\n itemMap: ItemMap<ItemElement, ItemData>;\n setItemMap: React.Dispatch<React.SetStateAction<ItemMap<ItemElement, ItemData>>>;\n };\n\n const [CollectionContextProvider, useCollectionContext] = createCollectionContext<ContextValue>(\n PROVIDER_NAME,\n {\n collectionElement: null,\n collectionRef: { current: null },\n collectionRefObject: { current: null },\n itemMap: new OrderedDict(),\n setItemMap: () => void 0,\n }\n );\n\n type CollectionState = [\n ItemMap: ItemMap<ItemElement, ItemData>,\n SetItemMap: React.Dispatch<React.SetStateAction<ItemMap<ItemElement, ItemData>>>,\n ];\n\n const CollectionProvider: React.FC<{\n children?: React.ReactNode;\n scope: any;\n state?: CollectionState;\n }> = ({ state, ...props }) => {\n return state ? (\n <CollectionProviderImpl {...props} state={state} />\n ) : (\n <CollectionInit {...props} />\n );\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n\n const CollectionInit: React.FC<{\n children?: React.ReactNode;\n scope: any;\n }> = (props) => {\n const state = useInitCollection();\n return <CollectionProviderImpl {...props} state={state} />;\n };\n CollectionInit.displayName = PROVIDER_NAME + 'Init';\n\n const CollectionProviderImpl: React.FC<{\n children?: React.ReactNode;\n scope: any;\n state: CollectionState;\n }> = (props) => {\n const { scope, children, state } = props;\n const ref = React.useRef<CollectionElement>(null);\n const [collectionElement, setCollectionElement] = React.useState<CollectionElement | null>(\n null\n );\n const composeRefs = useComposedRefs(ref, setCollectionElement);\n const [itemMap, setItemMap] = state;\n\n React.useEffect(() => {\n if (!collectionElement) return;\n\n const observer = getChildListObserver(() => {\n // setItemMap((map) => {\n // const copy = new OrderedDict(map).toSorted(([, a], [, b]) =>\n // !a.element || !b.element ? 0 : isElementPreceding(a.element, b.element) ? -1 : 1\n // );\n // // check if the order has changed\n // let index = -1;\n // for (const entry of copy) {\n // index++;\n // const key = map.keyAt(index)!;\n // const [copyKey] = entry;\n // if (key !== copyKey) {\n // // order has changed!\n // return copy;\n // }\n // }\n // return map;\n // });\n });\n observer.observe(collectionElement, {\n childList: true,\n subtree: true,\n });\n return () => {\n observer.disconnect();\n };\n }, [collectionElement]);\n\n return (\n <CollectionContextProvider\n scope={scope}\n itemMap={itemMap}\n setItemMap={setItemMap}\n collectionRef={composeRefs}\n collectionRefObject={ref}\n collectionElement={collectionElement}\n >\n {children}\n </CollectionContextProvider>\n );\n };\n\n CollectionProviderImpl.displayName = PROVIDER_NAME + 'Impl';\n\n /* -----------------------------------------------------------------------------------------------\n * CollectionSlot\n * ---------------------------------------------------------------------------------------------*/\n\n const COLLECTION_SLOT_NAME = name + 'CollectionSlot';\n\n const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n const CollectionSlot = React.forwardRef<CollectionElement, CollectionProps>(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return <CollectionSlotImpl ref={composedRefs}>{children}</CollectionSlotImpl>;\n }\n );\n\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n\n /* -----------------------------------------------------------------------------------------------\n * CollectionItem\n * ---------------------------------------------------------------------------------------------*/\n\n const ITEM_SLOT_NAME = name + 'CollectionItemSlot';\n const ITEM_DATA_ATTR = 'data-radix-collection-item';\n\n type CollectionItemSlotProps = ItemData & {\n children: React.ReactNode;\n scope: any;\n };\n\n const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n const CollectionItemSlot = React.forwardRef<ItemElement, CollectionItemSlotProps>(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef<ItemElement>(null);\n const [element, setElement] = React.useState<ItemElement | null>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, setElement);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n\n const { setItemMap } = context;\n\n const itemDataRef = React.useRef(itemData);\n if (!shallowEqual(itemDataRef.current, itemData)) {\n itemDataRef.current = itemData;\n }\n const memoizedItemData = itemDataRef.current;\n\n React.useEffect(() => {\n const itemData = memoizedItemData;\n setItemMap((map) => {\n if (!element) {\n return map;\n }\n\n if (!map.has(element)) {\n map.set(element, { ...(itemData as unknown as ItemData), element });\n return map.toSorted(sortByDocumentPosition);\n }\n\n return map\n .set(element, { ...(itemData as unknown as ItemData), element })\n .toSorted(sortByDocumentPosition);\n });\n\n return () => {\n setItemMap((map) => {\n if (!element || !map.has(element)) {\n return map;\n }\n map.delete(element);\n return new OrderedDict(map);\n });\n };\n }, [element, memoizedItemData, setItemMap]);\n\n return (\n <CollectionItemSlotImpl {...{ [ITEM_DATA_ATTR]: '' }} ref={composedRefs as any}>\n {children}\n </CollectionItemSlotImpl>\n );\n }\n );\n\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n\n /* -----------------------------------------------------------------------------------------------\n * useInitCollection\n * ---------------------------------------------------------------------------------------------*/\n\n function useInitCollection() {\n return React.useState<ItemMap<ItemElement, ItemData>>(new OrderedDict());\n }\n\n /* -----------------------------------------------------------------------------------------------\n * useCollection\n * ---------------------------------------------------------------------------------------------*/\n\n function useCollection(scope: any) {\n const { itemMap } = useCollectionContext(name + 'CollectionConsumer', scope);\n\n return itemMap;\n }\n\n const functions = {\n createCollectionScope,\n useCollection,\n useInitCollection,\n };\n\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n functions,\n ] as const;\n}\n\nexport { createCollection };\nexport type { CollectionProps };\n\nfunction shallowEqual(a: any, b: any) {\n if (a === b) return true;\n if (typeof a !== 'object' || typeof b !== 'object') return false;\n if (a == null || b == null) return false;\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n if (keysA.length !== keysB.length) return false;\n for (const key of keysA) {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n if (a[key] !== b[key]) return false;\n }\n return true;\n}\n\nfunction isElementPreceding(a: Element, b: Element) {\n return !!(b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING);\n}\n\nfunction sortByDocumentPosition<E extends HTMLElement, T extends BaseItemData>(\n a: EntryOf<ItemMap<E, T>>,\n b: EntryOf<ItemMap<E, T>>\n) {\n return !a[1].element || !b[1].element\n ? 0\n : isElementPreceding(a[1].element, b[1].element)\n ? -1\n : 1;\n}\n\nfunction getChildListObserver(callback: () => void) {\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === 'childList') {\n callback();\n return;\n }\n }\n });\n\n return observer;\n}\n","// Not a real member because it shouldn't be accessible, but the super class\n// calls `set` which needs to read the instanciation state, so it can't be a\n// private member.\nconst __instanciated = new WeakMap<OrderedDict<any, any>, boolean>();\nexport class OrderedDict<K, V> extends Map<K, V> {\n #keys: K[];\n\n constructor(iterable?: Iterable<readonly [K, V]> | null | undefined);\n constructor(entries?: readonly (readonly [K, V])[] | null) {\n super(entries);\n this.#keys = [...super.keys()];\n __instanciated.set(this, true);\n }\n\n set(key: K, value: V) {\n if (__instanciated.get(this)) {\n if (this.has(key)) {\n this.#keys[this.#keys.indexOf(key)] = key;\n } else {\n this.#keys.push(key);\n }\n }\n super.set(key, value);\n return this;\n }\n\n insert(index: number, key: K, value: V) {\n const has = this.has(key);\n const length = this.#keys.length;\n const relativeIndex = toSafeInteger(index);\n let actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n const safeIndex = actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n\n if (safeIndex === this.size || (has && safeIndex === this.size - 1) || safeIndex === -1) {\n this.set(key, value);\n return this;\n }\n\n const size = this.size + (has ? 0 : 1);\n\n // If you insert at, say, -2, without this bit you'd replace the\n // second-to-last item and push the rest up one, which means the new item is\n // 3rd to last. This isn't very intuitive; inserting at -2 is more like\n // saying \"make this item the second to last\".\n if (relativeIndex < 0) {\n actualIndex++;\n }\n\n const keys = [...this.#keys];\n let nextValue: V | undefined;\n let shouldSkip = false;\n for (let i = actualIndex; i < size; i++) {\n if (actualIndex === i) {\n let nextKey = keys[i]!;\n if (keys[i] === key) {\n nextKey = keys[i + 1]!;\n }\n if (has) {\n // delete first to ensure that the item is moved to the end\n this.delete(key);\n }\n nextValue = this.get(nextKey);\n this.set(key, value);\n } else {\n if (!shouldSkip && keys[i - 1] === key) {\n shouldSkip = true;\n }\n const currentKey = keys[shouldSkip ? i : i - 1]!;\n const currentValue = nextValue!;\n nextValue = this.get(currentKey);\n this.delete(currentKey);\n this.set(currentKey, currentValue);\n }\n }\n return this;\n }\n\n with(index: number, key: K, value: V) {\n const copy = new OrderedDict(this);\n copy.insert(index, key, value);\n return copy;\n }\n\n before(key: K) {\n const index = this.#keys.indexOf(key) - 1;\n if (index < 0) {\n return undefined;\n }\n return this.entryAt(index);\n }\n\n /**\n * Sets a new key-value pair at the position before the given key.\n */\n setBefore(key: K, newKey: K, value: V) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index, newKey, value);\n }\n\n after(key: K) {\n let index = this.#keys.indexOf(key);\n index = index === -1 || index === this.size - 1 ? -1 : index + 1;\n if (index === -1) {\n return undefined;\n }\n return this.entryAt(index);\n }\n\n /**\n * Sets a new key-value pair at the position after the given key.\n */\n setAfter(key: K, newKey: K, value: V) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index + 1, newKey, value);\n }\n\n first() {\n return this.entryAt(0);\n }\n\n last() {\n return this.entryAt(-1);\n }\n\n clear() {\n this.#keys = [];\n return super.clear();\n }\n\n delete(key: K) {\n const deleted = super.delete(key);\n if (deleted) {\n this.#keys.splice(this.#keys.indexOf(key), 1);\n }\n return deleted;\n }\n\n deleteAt(index: number) {\n const key = this.keyAt(index);\n if (key !== undefined) {\n return this.delete(key);\n }\n return false;\n }\n\n at(index: number) {\n const key = at(this.#keys, index);\n if (key !== undefined) {\n return this.get(key);\n }\n }\n\n entryAt(index: number): [K, V] | undefined {\n const key = at(this.#keys, index);\n if (key !== undefined) {\n return [key, this.get(key)!];\n }\n }\n\n indexOf(key: K) {\n return this.#keys.indexOf(key);\n }\n\n keyAt(index: number) {\n return at(this.#keys, index);\n }\n\n from(key: K, offset: number) {\n const index = this.indexOf(key);\n if (index === -1) {\n return undefined;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.at(dest);\n }\n\n keyFrom(key: K, offset: number) {\n const index = this.indexOf(key);\n if (index === -1) {\n return undefined;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.keyAt(dest);\n }\n\n find(\n predicate: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => boolean,\n thisArg?: any\n ) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return entry;\n }\n index++;\n }\n return undefined;\n }\n\n findIndex(\n predicate: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => boolean,\n thisArg?: any\n ) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return index;\n }\n index++;\n }\n return -1;\n }\n\n filter<KK extends K, VV extends V>(\n predicate: (entry: [K, V], index: number, dict: OrderedDict<K, V>) => entry is [KK, VV],\n thisArg?: any\n ): OrderedDict<KK, VV>;\n\n filter(\n predicate: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => unknown,\n thisArg?: any\n ): OrderedDict<K, V>;\n\n filter(\n predicate: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => unknown,\n thisArg?: any\n ) {\n const entries: Array<[K, V]> = [];\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n entries.push(entry);\n }\n index++;\n }\n return new OrderedDict(entries);\n }\n\n map<U>(\n callbackfn: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => U,\n thisArg?: any\n ): OrderedDict<K, U> {\n const entries: [K, U][] = [];\n let index = 0;\n for (const entry of this) {\n entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry, index, this])]);\n index++;\n }\n return new OrderedDict(entries);\n }\n\n reduce(\n callbackfn: (\n previousValue: [K, V],\n currentEntry: [K, V],\n currentIndex: number,\n dictionary: OrderedDict<K, V>\n ) => [K, V]\n ): [K, V];\n reduce(\n callbackfn: (\n previousValue: [K, V],\n currentEntry: [K, V],\n currentIndex: number,\n dictionary: OrderedDict<K, V>\n ) => [K, V],\n initialValue: [K, V]\n ): [K, V];\n reduce<U>(\n callbackfn: (\n previousValue: U,\n currentEntry: [K, V],\n currentIndex: number,\n dictionary: OrderedDict<K, V>\n ) => U,\n initialValue: U\n ): U;\n\n reduce<U>(\n ...args: [\n (\n previousValue: U,\n currentEntry: [K, V],\n currentIndex: number,\n dictionary: OrderedDict<K, V>\n ) => U,\n U?,\n ]\n ) {\n const [callbackfn, initialValue] = args;\n let index = 0;\n let accumulator = initialValue ?? this.at(0)!;\n for (const entry of this) {\n if (index === 0 && args.length === 1) {\n accumulator = entry as any;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n index++;\n }\n return accumulator;\n }\n\n reduceRight(\n callbackfn: (\n previousValue: [K, V],\n currentEntry: [K, V],\n currentIndex: number,\n dictionary: OrderedDict<K, V>\n ) => [K, V]\n ): [K, V];\n reduceRight(\n callbackfn: (\n previousValue: [K, V],\n currentEntry: [K, V],\n currentIndex: number,\n dictionary: OrderedDict<K, V>\n ) => [K, V],\n initialValue: [K, V]\n ): [K, V];\n reduceRight<U>(\n callbackfn: (\n previousValue: [K, V],\n currentValue: U,\n currentIndex: number,\n dictionary: OrderedDict<K, V>\n ) => U,\n initialValue: U\n ): U;\n\n reduceRight<U>(\n ...args: [\n (\n previousValue: U,\n currentEntry: [K, V],\n currentIndex: number,\n dictionary: OrderedDict<K, V>\n ) => U,\n U?,\n ]\n ) {\n const [callbackfn, initialValue] = args;\n let accumulator = initialValue ?? this.at(-1)!;\n for (let index = this.size - 1; index >= 0; index--) {\n const entry = this.at(index)!;\n if (index === this.size - 1 && args.length === 1) {\n accumulator = entry as any;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n }\n return accumulator;\n }\n\n toSorted(compareFn?: (a: [K, V], b: [K, V]) => number): OrderedDict<K, V> {\n const entries = [...this.entries()].sort(compareFn);\n return new OrderedDict(entries);\n }\n\n toReversed(): OrderedDict<K, V> {\n const reversed = new OrderedDict<K, V>();\n for (let index = this.size - 1; index >= 0; index--) {\n const key = this.keyAt(index)!;\n const element = this.get(key)!;\n reversed.set(key, element);\n }\n return reversed;\n }\n\n toSpliced(start: number, deleteCount?: number): OrderedDict<K, V>;\n toSpliced(start: number, deleteCount: number, ...items: [K, V][]): OrderedDict<K, V>;\n\n toSpliced(...args: [start: number, deleteCount: number, ...items: [K, V][]]) {\n const entries = [...this.entries()];\n entries.splice(...args);\n return new OrderedDict(entries);\n }\n\n slice(start?: number, end?: number) {\n const result = new OrderedDict<K, V>();\n let stop = this.size - 1;\n\n if (start === undefined) {\n return result;\n }\n\n if (start < 0) {\n start = start + this.size;\n }\n\n if (end !== undefined && end > 0) {\n stop = end - 1;\n }\n\n for (let index = start; index <= stop; index++) {\n const key = this.keyAt(index)!;\n const element = this.get(key)!;\n result.set(key, element);\n }\n return result;\n }\n\n every(\n predicate: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => unknown,\n thisArg?: any\n ) {\n let index = 0;\n for (const entry of this) {\n if (!Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return false;\n }\n index++;\n }\n return true;\n }\n\n some(\n predicate: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => unknown,\n thisArg?: any\n ) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return true;\n }\n index++;\n }\n return false;\n }\n}\n\nexport type KeyOf<D extends OrderedDict<any, any>> =\n D extends OrderedDict<infer K, any> ? K : never;\nexport type ValueOf<D extends OrderedDict<any, any>> =\n D extends OrderedDict<any, infer V> ? V : never;\nexport type EntryOf<D extends OrderedDict<any, any>> = [KeyOf<D>, ValueOf<D>];\nexport type KeyFrom<E extends EntryOf<any>> = E[0];\nexport type ValueFrom<E extends EntryOf<any>> = E[1];\n\nfunction at<T>(array: ArrayLike<T>, index: number): T | undefined {\n if ('at' in Array.prototype) {\n return Array.prototype.at.call(array, index);\n }\n const actualIndex = toSafeIndex(array, index);\n return actualIndex === -1 ? undefined : array[actualIndex];\n}\n\nfunction toSafeIndex(array: ArrayLike<any>, index: number) {\n const length = array.length;\n const relativeIndex = toSafeInteger(index);\n const actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n return actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n}\n\nfunction toSafeInteger(number: number) {\n // eslint-disable-next-line no-self-compare\n return number !== number || number === 0 ? 0 : Math.trunc(number);\n}\n","function clamp(value: number, [min, max]: [number, number]): number {\n return Math.min(max, Math.max(min, value));\n}\n\nexport { clamp };\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Check\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/check\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 Check = createLucideIcon('Check', [['path', { d: 'M20 6 9 17l-5-5', key: '1gmf2c' }]]);\n\nexport default Check;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name RefreshCw\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/refresh-cw\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 RefreshCw = createLucideIcon('RefreshCw', [\n ['path', { d: 'M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8', key: 'v9h5vc' }],\n ['path', { d: 'M21 3v5h-5', key: '1q7to0' }],\n ['path', { d: 'M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16', key: '3uifl3' }],\n ['path', { d: 'M8 16H3v5', key: '1cv678' }],\n]);\n\nexport default RefreshCw;\n","import type { BackendId } from \"@aitne/shared\";\n\nexport const BACKEND_LABELS: Record<BackendId, string> = {\n claude: \"Claude Code\",\n codex: \"OpenAI Codex\",\n gemini: \"Gemini CLI\",\n};\n\nconst BACKEND_SHORT_LABELS: Record<BackendId, string> = {\n claude: \"Claude\",\n codex: \"Codex\",\n gemini: \"Gemini\",\n};\n\n/**\n * Provider-friendly labels for backend / API-key UIs. Users think in\n * terms of \"I have an Anthropic API key\", not \"I have a Claude Code\n * API key\" — so surfaces that name the upstream provider (setup\n * wizard backend step, /settings/models API-key panel) should prefer\n * this set over BACKEND_LABELS (which names the CLI product).\n */\nexport const BACKEND_PROVIDER_LABELS: Record<BackendId, string> = {\n claude: \"Claude (Anthropic)\",\n codex: \"ChatGPT (OpenAI)\",\n gemini: \"Gemini (Google)\",\n};\n\n/** Short provider name used in compact badges (e.g. \"ChatGPT\" not \"OpenAI Codex\"). */\nexport const BACKEND_PROVIDER_SHORT: Record<BackendId, string> = {\n claude: \"Claude\",\n codex: \"ChatGPT\",\n gemini: \"Gemini\",\n};\n\n/**\n * Primary brand color per backend, chosen to match each vendor's actual\n * app-icon hue so charts read as \"that's the Claude backend\" at a glance.\n * - Claude — the warm red-orange of the Anthropic macOS icon.\n * - Codex (ChatGPT) — ChatGPT's icon is white, so we use a bright\n * pink-leaning fuchsia (slightly purple-tinted pink).\n * - Gemini — the vivid Google Blue anchoring the Gemini spark gradient.\n */\nexport const BACKEND_COLORS: Record<BackendId, string> = {\n claude: \"#E15B40\", // Anthropic app-icon red-orange\n codex: \"#D946EF\", // bright fuchsia (pink with purple tint)\n gemini: \"#1C69FF\", // vivid Google Blue\n};\n\n/**\n * A small palette of distinct shades per backend family. Used to\n * differentiate individual models within the same backend on charts\n * like the Model Breakdown pie — the eye can still group Claude/Codex/\n * Gemini by hue family, but each model gets its own readable shade.\n *\n * Each palette is ordered dark→light and contains the primary brand\n * color in the middle, so a single-model render picks the brand color\n * and small groups (2–4 models) get colors spread across the palette\n * via `assignModelColors` for maximum contrast.\n */\nexport const BACKEND_MODEL_PALETTES: Record<BackendId, string[]> = {\n // Anthropic red-orange / coral family.\n claude: [\"#7C2D12\", \"#B54B2D\", \"#E15B40\", \"#F97316\", \"#FDBA74\"],\n // OpenAI-ish pink-purple / fuchsia family.\n codex: [\"#86198F\", \"#A21CAF\", \"#D946EF\", \"#E879F9\", \"#F5D0FE\"],\n // Google blue family.\n gemini: [\"#1E3A8A\", \"#1D4ED8\", \"#1C69FF\", \"#60A5FA\", \"#93C5FD\"],\n};\n\nconst OTHER_MODEL_PALETTE = [\"#6b7280\", \"#9ca3af\", \"#4b5563\", \"#374151\"];\n\n/**\n * Qualitative palette for categorical charts (e.g. event-type breakdown)\n * where bars have no intrinsic backend affiliation but should be visually\n * distinguishable from each other.\n */\nexport const CHART_CATEGORY_PALETTE: string[] = [\n \"#3b82f6\", // blue\n \"#10b981\", // emerald\n \"#f59e0b\", // amber\n \"#8b5cf6\", // violet\n \"#ec4899\", // pink\n \"#14b8a6\", // teal\n \"#f97316\", // orange\n \"#6366f1\", // indigo\n \"#ef4444\", // red\n \"#22c55e\", // green\n];\n\nexport const BACKEND_BADGE_VARIANTS: Record<BackendId, \"orange\" | \"pink\" | \"blue\"> = {\n claude: \"orange\",\n codex: \"pink\",\n gemini: \"blue\",\n};\n\nconst PROCESS_LABELS: Record<string, string> = {\n \"routine.morning_routine\": \"Morning Routine\",\n \"routine.evening_review\": \"Evening Review\",\n \"routine.weekly_review\": \"Weekly Review\",\n \"routine.monthly_review\": \"Monthly Review\",\n \"routine.hourly_check\": \"Hourly Check\",\n \"message.dm\": \"Direct Messages\",\n \"message.mention\": \"Mentions\",\n \"dashboard.chat\": \"Dashboard Chat\",\n \"agent.task\": \"Scheduled Tasks\",\n \"calendar.change\": \"Calendar Events\",\n \"gmail_classify\": \"Gmail Classification\",\n \"github.pull_request.review_requested\": \"GitHub Review Requests\",\n \"github.assigned\": \"GitHub Assignments\",\n \"github.security_alert\": \"GitHub Security Alerts\",\n \"github.workflow_run.failed\": \"GitHub CI Failures\",\n};\n\nexport function getBackendLabel(backendId: BackendId): string {\n return BACKEND_LABELS[backendId];\n}\n\nexport function getBackendShortLabel(backendId: BackendId): string {\n return BACKEND_SHORT_LABELS[backendId];\n}\n\nexport function getProcessLabel(processKey: string): string {\n return PROCESS_LABELS[processKey] ?? processKey;\n}\n\nexport function formatModelName(modelId: string | null | undefined): string {\n if (!modelId) return \"Not set\";\n\n return modelId\n .replace(/^claude-/, \"Claude \")\n .replace(/^gpt-/, \"GPT-\")\n .replace(/^gemini-/, \"Gemini \")\n .replace(/-/g, \" \")\n .replace(/\\bpreview\\b/gi, \"(preview)\")\n .replace(/\\bpro\\b/gi, \"Pro\")\n .replace(/\\bflash\\b/gi, \"Flash\")\n .replace(/\\blite\\b/gi, \"Lite\")\n .replace(/\\bmini\\b/gi, \"Mini\")\n .replace(/\\bcodex\\b/gi, \"Codex\")\n .replace(/\\bopus\\b/gi, \"Opus\")\n .replace(/\\bsonnet\\b/gi, \"Sonnet\")\n .replace(/\\bhaiku\\b/gi, \"Haiku\")\n .replace(/\\s+/g, \" \")\n .trim();\n}\n\n/**\n * Compact model label for badge display (e.g. \"Opus 4.7\", \"GPT-5.5\").\n * Handles both legacy short forms (\"opus\") and full IDs (\"claude-opus-4-6\").\n */\nexport function formatShortModelName(modelId: string | null | undefined): string {\n if (!modelId) return \"unknown\";\n\n // Legacy short forms from old DB rows\n if (modelId === \"opus\") return \"Opus\";\n if (modelId === \"sonnet\") return \"Sonnet\";\n\n let s = modelId\n .replace(/-\\d{8,}$/, \"\") // drop date suffix (e.g. -20251001)\n .replace(/^claude-/, \"\") // \"claude-opus-4-6\" → \"opus-4-6\"\n .replace(/(\\d+)-(\\d+)(?![-\\d])/g, \"$1.$2\") // version: \"4-6\" → \"4.6\"\n .replace(/-/g, \" \"); // remaining dashes → spaces\n\n // Apply prefix branding after dashes are resolved\n if (modelId.startsWith(\"gpt-\")) s = `GPT-${s.replace(/^gpt\\s*/i, \"\")}`;\n if (modelId.startsWith(\"gemini-\")) s = s.replace(/^gemini\\s*/i, \"Gemini \");\n\n return s\n .replace(/\\bopus\\b/gi, \"Opus\")\n .replace(/\\bsonnet\\b/gi, \"Sonnet\")\n .replace(/\\bhaiku\\b/gi, \"Haiku\")\n .replace(/\\bpro\\b/gi, \"Pro\")\n .replace(/\\bflash\\b/gi, \"Flash\")\n .replace(/\\blite\\b/gi, \"Lite\")\n .replace(/\\bmini\\b/gi, \"Mini\")\n .replace(/\\s+/g, \" \")\n .trim();\n}\n\n/** Badge variant for a model string, resolved via backend detection. */\nexport function modelBadgeVariant(modelId: string | null | undefined): \"orange\" | \"pink\" | \"blue\" | \"gray\" {\n if (!modelId) return \"gray\";\n const backend = detectBackendFromModel(modelId);\n return backend ? BACKEND_BADGE_VARIANTS[backend] : \"gray\";\n}\n\n/**\n * Parsed entry from `agent_actions.model_usage_json` — what the SDK actually\n * billed per underlying model. The SDK can silently route a request for one\n * model to a sibling (e.g. opus-4-7 → opus-4-6[1m]); this struct surfaces\n * that, so the dashboard can show the real model and matching cost.\n */\nexport interface BilledModelEntry {\n modelId: string;\n inputTokens: number;\n outputTokens: number;\n costUsd: number;\n}\n\n/**\n * Parse the JSON-encoded modelUsage map. Returns entries sorted by costUsd\n * desc so the dominant model is first (the one a single-row badge should\n * use). Returns an empty array on malformed input.\n */\nexport function parseModelUsage(json: string | null | undefined): BilledModelEntry[] {\n if (!json) return [];\n let raw: unknown;\n try {\n raw = JSON.parse(json);\n } catch {\n return [];\n }\n if (!raw || typeof raw !== \"object\") return [];\n\n const entries: BilledModelEntry[] = [];\n for (const [modelId, value] of Object.entries(raw)) {\n if (!value || typeof value !== \"object\") continue;\n const v = value as Record<string, unknown>;\n entries.push({\n modelId,\n inputTokens: typeof v.inputTokens === \"number\" ? v.inputTokens : 0,\n outputTokens: typeof v.outputTokens === \"number\" ? v.outputTokens : 0,\n costUsd: typeof v.costUsd === \"number\" ? v.costUsd : 0,\n });\n }\n return entries.sort((a, b) => b.costUsd - a.costUsd);\n}\n\n/**\n * Return the model id the dashboard should badge for a row. Prefers the\n * dominant entry from `model_usage_json` (the SDK-billed model — what\n * actually drove the cost). Falls back to `model_used` (the requested\n * model) when modelUsage is missing or empty.\n */\nexport function pickDisplayModel(\n modelUsed: string | null | undefined,\n modelUsageJson: string | null | undefined,\n): string | null {\n const entries = parseModelUsage(modelUsageJson);\n if (entries.length > 0 && entries[0]) {\n return entries[0].modelId;\n }\n return modelUsed ?? null;\n}\n\nexport function detectBackendFromModel(modelId: string): BackendId | null {\n if (!modelId) return null;\n const lower = modelId.toLowerCase();\n if (\n lower.includes(\"claude\") ||\n lower.includes(\"sonnet\") ||\n lower.includes(\"opus\") ||\n lower.includes(\"haiku\")\n ) {\n return \"claude\";\n }\n if (lower.includes(\"gemini\")) return \"gemini\";\n if (\n lower.includes(\"gpt\") ||\n lower.includes(\"codex\") ||\n lower.includes(\"o3\") ||\n lower.includes(\"o4\")\n ) {\n return \"codex\";\n }\n return null;\n}\n\n/**\n * Assign a distinct color to each model. Models are grouped by backend\n * and sorted by name for stable assignment across renders; within each\n * group, colors are spread across `BACKEND_MODEL_PALETTES` so that small\n * groups (e.g. 2 Claude models) use non-adjacent palette slots and read\n * as clearly different shades, rather than two neighbouring darks.\n *\n * - 1 model → the brand-color slot (palette midpoint)\n * - 2 models → slots at ~1/4 and ~3/4 of the palette (dark + light)\n * - 3 models → evenly spaced across the palette\n * - 4+ models → spread evenly, wrapping if the group exceeds the palette\n */\nexport function assignModelColors(models: string[]): Record<string, string> {\n const byBackend = new Map<BackendId | \"other\", string[]>();\n for (const model of models) {\n if (!model) continue;\n const backend = detectBackendFromModel(model) ?? \"other\";\n const bucket = byBackend.get(backend) ?? [];\n bucket.push(model);\n byBackend.set(backend, bucket);\n }\n\n const result: Record<string, string> = {};\n for (const [backend, list] of byBackend) {\n list.sort((a, b) => a.localeCompare(b));\n const palette =\n backend === \"other\" ? OTHER_MODEL_PALETTE : BACKEND_MODEL_PALETTES[backend];\n const n = list.length;\n list.forEach((model, i) => {\n let idx: number;\n if (n >= palette.length) {\n // Group larger than the palette — wrap around.\n idx = i % palette.length;\n } else if (n === 1) {\n // Single model → use the brand-color slot (palette midpoint).\n idx = Math.floor(palette.length / 2);\n } else {\n // Small group → spread across the palette so shades are distinct.\n idx = Math.floor(((i + 0.5) * palette.length) / n);\n }\n result[model] = palette[idx]!;\n });\n }\n return result;\n}\n","// src/infiniteQueryObserver.ts\nimport { QueryObserver } from \"./queryObserver.js\";\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n} from \"./infiniteQueryBehavior.js\";\nvar InfiniteQueryObserver = class extends QueryObserver {\n constructor(client, options) {\n super(client, options);\n }\n bindMethods() {\n super.bindMethods();\n this.fetchNextPage = this.fetchNextPage.bind(this);\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this);\n }\n setOptions(options) {\n super.setOptions({\n ...options,\n behavior: infiniteQueryBehavior()\n });\n }\n getOptimisticResult(options) {\n options.behavior = infiniteQueryBehavior();\n return super.getOptimisticResult(options);\n }\n fetchNextPage(options) {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: \"forward\" }\n }\n });\n }\n fetchPreviousPage(options) {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: \"backward\" }\n }\n });\n }\n createResult(query, options) {\n const { state } = query;\n const parentResult = super.createResult(query, options);\n const { isFetching, isRefetching, isError, isRefetchError } = parentResult;\n const fetchDirection = state.fetchMeta?.fetchMore?.direction;\n const isFetchNextPageError = isError && fetchDirection === \"forward\";\n const isFetchingNextPage = isFetching && fetchDirection === \"forward\";\n const isFetchPreviousPageError = isError && fetchDirection === \"backward\";\n const isFetchingPreviousPage = isFetching && fetchDirection === \"backward\";\n const result = {\n ...parentResult,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data),\n hasPreviousPage: hasPreviousPage(options, state.data),\n isFetchNextPageError,\n isFetchingNextPage,\n isFetchPreviousPageError,\n isFetchingPreviousPage,\n isRefetchError: isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,\n isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage\n };\n return result;\n }\n};\nexport {\n InfiniteQueryObserver\n};\n//# sourceMappingURL=infiniteQueryObserver.js.map","\"use client\";\n\n// src/useInfiniteQuery.ts\nimport { InfiniteQueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useInfiniteQuery(options, queryClient) {\n return useBaseQuery(\n options,\n InfiniteQueryObserver,\n queryClient\n );\n}\nexport {\n useInfiniteQuery\n};\n//# sourceMappingURL=useInfiniteQuery.js.map","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Pen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/pen\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 Pen = createLucideIcon('Pen', [\n [\n 'path',\n {\n d: 'M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z',\n key: '1a8usu',\n },\n ],\n]);\n\nexport default Pen;\n","import { useState, useCallback, useRef, useEffect } from \"react\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { api } from \"@/lib/api-client\";\nimport type { ContextFileResponse } from \"@/lib/api-types\";\n\nexport type RegenerateTarget = \"today\" | \"roadmap\";\nexport type RegenerateStatus = \"idle\" | \"triggered\" | \"running\" | \"done\" | \"error\";\n\nconst POLL_INTERVAL_MS = 3_000;\nconst TIMEOUT_MS = 300_000; // 5 minutes — roadmap_refresh can legitimately run 13+ turns\n\nexport function useRegenerate() {\n const [target, setTarget] = useState<RegenerateTarget | null>(null);\n const [status, setStatus] = useState<RegenerateStatus>(\"idle\");\n const [error, setError] = useState<string | null>(null);\n const queryClient = useQueryClient();\n const pollRef = useRef<ReturnType<typeof setInterval> | null>(null);\n const initialModifiedRef = useRef<string | null>(null);\n const startTimeRef = useRef<number>(0);\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n if (pollRef.current) clearInterval(pollRef.current);\n };\n }, []);\n\n const stopPolling = useCallback(() => {\n if (pollRef.current) {\n clearInterval(pollRef.current);\n pollRef.current = null;\n }\n }, []);\n\n const regenerate = useCallback(async (t: RegenerateTarget) => {\n // Prevent double-trigger\n if (status === \"triggered\" || status === \"running\") return;\n\n setTarget(t);\n setStatus(\"triggered\");\n setError(null);\n startTimeRef.current = Date.now();\n\n // Capture current lastModified before triggering (null = file doesn't exist yet)\n const current = await api.get<ContextFileResponse>(`/context/${t}`).catch(() => null);\n initialModifiedRef.current = current?.lastModified ?? null;\n\n try {\n await api.post(\"/agent/regenerate\", { target: t });\n setStatus(\"running\");\n\n // Poll for file change\n pollRef.current = setInterval(async () => {\n // Timeout check\n if (Date.now() - startTimeRef.current > TIMEOUT_MS) {\n stopPolling();\n setStatus(\"error\");\n setError(\"Timeout — agent may still be processing\");\n return;\n }\n\n try {\n const updated = await api.get<ContextFileResponse>(`/context/${t}`);\n const changed = initialModifiedRef.current === null\n ? true // file didn't exist before → now it does\n : updated.lastModified !== initialModifiedRef.current;\n if (changed) {\n stopPolling();\n setStatus(\"done\");\n queryClient.invalidateQueries({ queryKey: [\"context\", t] });\n queryClient.invalidateQueries({ queryKey: [\"calendar\"] });\n setTimeout(() => {\n setStatus(\"idle\");\n setTarget(null);\n }, 5000);\n }\n } catch {\n // File might not exist yet — keep polling\n }\n }, POLL_INTERVAL_MS);\n } catch (e) {\n setStatus(\"error\");\n setError(e instanceof Error ? e.message : \"Failed to trigger\");\n }\n }, [status, queryClient, stopPolling]);\n\n const dismiss = useCallback(() => {\n stopPolling();\n setStatus(\"idle\");\n setTarget(null);\n setError(null);\n }, [stopPolling]);\n\n return { regenerate, target, status, error, dismiss };\n}\n","\"use client\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { cn } from \"@/lib/utils\";\nimport { RefreshCw, Check, AlertCircle, Loader2 } from \"lucide-react\";\nimport type { RegenerateTarget, RegenerateStatus } from \"@/lib/hooks/use-regenerate\";\n\ninterface RegenerateButtonProps {\n target: RegenerateTarget;\n label: string;\n currentTarget: RegenerateTarget | null;\n status: RegenerateStatus;\n error?: string | null;\n onRegenerate: (target: RegenerateTarget) => void;\n onDismiss: () => void;\n variant?: \"outline\" | \"ghost\";\n size?: \"sm\" | \"default\";\n className?: string;\n}\n\nexport function RegenerateButton({\n target,\n label,\n currentTarget,\n status,\n error,\n onRegenerate,\n onDismiss,\n variant = \"outline\",\n size = \"sm\",\n className,\n}: RegenerateButtonProps) {\n const isThisTarget = currentTarget === target;\n const isActive = isThisTarget && status !== \"idle\";\n const isBusy = status === \"triggered\" || status === \"running\";\n\n if (isThisTarget && status === \"done\") {\n return (\n <Button\n variant={variant}\n size={size}\n className={cn(\"text-emerald-600 dark:text-emerald-400\", className)}\n onClick={onDismiss}\n >\n <Check className=\"h-3.5 w-3.5 mr-1.5\" />\n Updated\n </Button>\n );\n }\n\n if (isThisTarget && status === \"error\") {\n return (\n <span className=\"inline-flex items-center gap-1.5\">\n <Button\n variant={variant}\n size={size}\n className={cn(\"text-red-600 dark:text-red-400\", className)}\n onClick={onDismiss}\n >\n <AlertCircle className=\"h-3.5 w-3.5 mr-1.5\" />\n Failed\n </Button>\n {error && (\n <span className=\"text-xs text-red-600 dark:text-red-400 max-w-48 truncate\">\n {error}\n </span>\n )}\n </span>\n );\n }\n\n return (\n <Button\n variant={variant}\n size={size}\n onClick={() => onRegenerate(target)}\n disabled={isBusy}\n className={className}\n >\n {isActive ? (\n <Loader2 className=\"h-3.5 w-3.5 mr-1.5 animate-spin\" />\n ) : (\n <RefreshCw className=\"h-3.5 w-3.5 mr-1.5\" />\n )}\n {isThisTarget && status === \"triggered\" ? \"Triggering...\" :\n isThisTarget && status === \"running\" ? \"Running...\" :\n label}\n </Button>\n );\n}\n","\"use client\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { api } from \"@/lib/api-client\";\nimport type { ScheduleNextResponse } from \"@/lib/api-types\";\n\nexport function useScheduleNext() {\n return useQuery({\n queryKey: [\"schedule-next\"],\n queryFn: () => api.get<ScheduleNextResponse>(\"/schedule/next\"),\n refetchInterval: 30_000,\n });\n}\n"],"names":["cardVariants","variants","tone","default","warning","success","error","interactive","true","false","defaultVariants","Card","className","props","CardHeader","CardTitle","CardStatLabel","CardValue","React","createContextScope","useComposedRefs","createSlot","jsx","createCollection","itemData","BACKEND_LABELS","claude","codex","gemini","BACKEND_SHORT_LABELS","BACKEND_PROVIDER_LABELS","BACKEND_PROVIDER_SHORT","BACKEND_COLORS","BACKEND_MODEL_PALETTES","OTHER_MODEL_PALETTE","CHART_CATEGORY_PALETTE","BACKEND_BADGE_VARIANTS","PROCESS_LABELS","getBackendLabel","backendId","getBackendShortLabel","getProcessLabel","processKey","formatModelName","modelId","replace","trim","formatShortModelName","s","startsWith","modelBadgeVariant","backend","detectBackendFromModel","parseModelUsage","json","raw","JSON","parse","entries","value","Object","v","push","inputTokens","outputTokens","costUsd","sort","a","b","pickDisplayModel","modelUsed","modelUsageJson","length","lower","toLowerCase","includes","assignModelColors","models","byBackend","Map","model","bucket","get","set","result","list","localeCompare","palette","n","forEach","i","idx","Math","floor","InfiniteQueryObserver","client","options","bindMethods","fetchNextPage","bind","fetchPreviousPage","setOptions","behavior","getOptimisticResult","fetch","meta","fetchMore","direction","createResult","query","state","parentResult","isFetching","isRefetching","isError","isRefetchError","fetchDirection","fetchMeta","isFetchNextPageError","isFetchingNextPage","isFetchPreviousPageError","isFetchingPreviousPage","hasNextPage","data","hasPreviousPage","POLL_INTERVAL_MS","TIMEOUT_MS","useRegenerate","target","setTarget","status","setStatus","setError","queryClient","pollRef","initialModifiedRef","startTimeRef","current","clearInterval","stopPolling","regenerate","t","Date","now","catch","lastModified","post","setInterval","updated","changed","invalidateQueries","queryKey","setTimeout","e","Error","message","dismiss","useScheduleNext","queryFn","refetchInterval"],"mappings":"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","ignoreList":[1,2,8,9,11,12,13]}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[39293,a=>{"use strict";let b=(0,a.i(5423).default)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",0,b],39293)},40091,a=>{"use strict";let b={claude:"Claude Code",codex:"OpenAI Codex",gemini:"Gemini CLI"},c={claude:"Claude",codex:"Codex",gemini:"Gemini"},d={claude:"orange",codex:"pink",gemini:"blue"},e={"routine.morning_routine":"Morning Routine","routine.evening_review":"Evening Review","routine.weekly_review":"Weekly Review","routine.monthly_review":"Monthly Review","routine.hourly_check":"Hourly Check","message.dm":"Direct Messages","message.mention":"Mentions","dashboard.chat":"Dashboard Chat","agent.task":"Scheduled Tasks","calendar.change":"Calendar Events",gmail_classify:"Gmail Classification","github.pull_request.review_requested":"GitHub Review Requests","github.assigned":"GitHub Assignments","github.security_alert":"GitHub Security Alerts","github.workflow_run.failed":"GitHub CI Failures"};function f(a){let b;if(!a)return[];try{b=JSON.parse(a)}catch{return[]}if(!b||"object"!=typeof b)return[];let c=[];for(let[a,d]of Object.entries(b))d&&"object"==typeof d&&c.push({modelId:a,inputTokens:"number"==typeof d.inputTokens?d.inputTokens:0,outputTokens:"number"==typeof d.outputTokens?d.outputTokens:0,costUsd:"number"==typeof d.costUsd?d.costUsd:0});return c.sort((a,b)=>b.costUsd-a.costUsd)}function g(a){if(!a)return null;let b=a.toLowerCase();return b.includes("claude")||b.includes("sonnet")||b.includes("opus")||b.includes("haiku")?"claude":b.includes("gemini")?"gemini":b.includes("gpt")||b.includes("codex")||b.includes("o3")||b.includes("o4")?"codex":null}a.s(["BACKEND_BADGE_VARIANTS",0,d,"BACKEND_LABELS",0,b,"BACKEND_PROVIDER_LABELS",0,{claude:"Claude (Anthropic)",codex:"ChatGPT (OpenAI)",gemini:"Gemini (Google)"},"BACKEND_PROVIDER_SHORT",0,{claude:"Claude",codex:"ChatGPT",gemini:"Gemini"},"detectBackendFromModel",0,g,"formatModelName",0,function(a){return a?a.replace(/^claude-/,"Claude ").replace(/^gpt-/,"GPT-").replace(/^gemini-/,"Gemini ").replace(/-/g," ").replace(/\bpreview\b/gi,"(preview)").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\bcodex\b/gi,"Codex").replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\s+/g," ").trim():"Not set"},"formatShortModelName",0,function(a){if(!a)return"unknown";if("opus"===a)return"Opus";if("sonnet"===a)return"Sonnet";let b=a.replace(/-\d{8,}$/,"").replace(/^claude-/,"").replace(/(\d+)-(\d+)(?![-\d])/g,"$1.$2").replace(/-/g," ");return a.startsWith("gpt-")&&(b=`GPT-${b.replace(/^gpt\s*/i,"")}`),a.startsWith("gemini-")&&(b=b.replace(/^gemini\s*/i,"Gemini ")),b.replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\s+/g," ").trim()},"getBackendLabel",0,function(a){return b[a]},"getBackendShortLabel",0,function(a){return c[a]},"getProcessLabel",0,function(a){return e[a]??a},"modelBadgeVariant",0,function(a){if(!a)return"gray";let b=g(a);return b?d[b]:"gray"},"parseModelUsage",0,f,"pickDisplayModel",0,function(a,b){let c=f(b);return c.length>0&&c[0]?c[0].modelId:a??null}])},57216,a=>{"use strict";var b=a.i(34542),c=a.i(59653),d=a.i(95819),e=a.i(47427),f=a.i(18867),g=a.i(80303),h=a.i(30419),i=a.i(73490),j=a.i(55277),k=a.i(39752),l="Collapsible",[m,n]=(0,d.createContextScope)(l),[o,p]=m(l),q=b.forwardRef((a,c)=>{let{__scopeCollapsible:d,open:f,defaultOpen:g,disabled:i,onOpenChange:m,...n}=a,[p,q]=(0,e.useControllableState)({prop:f,defaultProp:g??!1,onChange:m,caller:l});return(0,k.jsx)(o,{scope:d,disabled:i,contentId:(0,j.useId)(),open:p,onOpenToggle:b.useCallback(()=>q(a=>!a),[q]),children:(0,k.jsx)(h.Primitive.div,{"data-state":w(p),"data-disabled":i?"":void 0,...n,ref:c})})});q.displayName=l;var r="CollapsibleTrigger",s=b.forwardRef((a,b)=>{let{__scopeCollapsible:d,...e}=a,f=p(r,d);return(0,k.jsx)(h.Primitive.button,{type:"button","aria-controls":f.contentId,"aria-expanded":f.open||!1,"data-state":w(f.open),"data-disabled":f.disabled?"":void 0,disabled:f.disabled,...e,ref:b,onClick:(0,c.composeEventHandlers)(a.onClick,f.onOpenToggle)})});s.displayName=r;var t="CollapsibleContent",u=b.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=p(t,a.__scopeCollapsible);return(0,k.jsx)(i.Presence,{present:c||e.open,children:({present:a})=>(0,k.jsx)(v,{...d,ref:b,present:a})})});u.displayName=t;var v=b.forwardRef((a,c)=>{let{__scopeCollapsible:d,present:e,children:i,...j}=a,l=p(t,d),[m,n]=b.useState(e),o=b.useRef(null),q=(0,g.useComposedRefs)(c,o),r=b.useRef(0),s=r.current,u=b.useRef(0),v=u.current,x=l.open||m,y=b.useRef(x),z=b.useRef(void 0);return b.useEffect(()=>{let a=requestAnimationFrame(()=>y.current=!1);return()=>cancelAnimationFrame(a)},[]),(0,f.useLayoutEffect)(()=>{let a=o.current;if(a){z.current=z.current||{transitionDuration:a.style.transitionDuration,animationName:a.style.animationName},a.style.transitionDuration="0s",a.style.animationName="none";let b=a.getBoundingClientRect();r.current=b.height,u.current=b.width,y.current||(a.style.transitionDuration=z.current.transitionDuration,a.style.animationName=z.current.animationName),n(e)}},[l.open,e]),(0,k.jsx)(h.Primitive.div,{"data-state":w(l.open),"data-disabled":l.disabled?"":void 0,id:l.contentId,hidden:!x,...j,ref:q,style:{"--radix-collapsible-content-height":s?`${s}px`:void 0,"--radix-collapsible-content-width":v?`${v}px`:void 0,...a.style},children:x&&i})});function w(a){return a?"open":"closed"}a.s(["Collapsible",0,q,"CollapsibleContent",0,u,"CollapsibleTrigger",0,s],57216)},30400,a=>{"use strict";var b=a.i(39752),c=a.i(48558);let d=(0,a.i(42261).cva)("rounded-xl border p-5 shadow-[0_1px_3px_rgb(0_0_0/0.04)]",{variants:{tone:{default:"border-border bg-card",warning:"border-amber-200 bg-amber-50/50 dark:border-amber-900 dark:bg-amber-950/30",success:"border-emerald-200 bg-emerald-50/50 dark:border-emerald-900 dark:bg-emerald-950/30",error:"border-red-200 bg-red-50/50 dark:border-red-900 dark:bg-red-950/30"},interactive:{true:"transition-shadow duration-150 hover:shadow-[0_4px_6px_rgb(0_0_0/0.06)]",false:""}},defaultVariants:{tone:"default",interactive:!1}});a.s(["Card",0,function({className:a,tone:e,interactive:f,...g}){return(0,b.jsx)("div",{className:(0,c.cn)(d({tone:e,interactive:f}),a),...g})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("mb-3 flex items-center justify-between",a),...d})},"CardStatLabel",0,function({className:a,...d}){return(0,b.jsx)("h3",{className:(0,c.cn)("text-sm font-medium text-muted-foreground",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("h3",{className:(0,c.cn)("text-lg font-semibold text-foreground",a),...d})},"CardValue",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("text-3xl font-bold text-foreground",a),...d})}])},96336,a=>{"use strict";let b=(0,a.i(5423).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);a.s(["Trash2",0,b],96336)},43179,a=>{"use strict";let b=(0,a.i(5423).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",0,b],43179)},7037,a=>{"use strict";let b=(0,a.i(5423).default)("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",0,b],7037)},7385,a=>{"use strict";let b=(0,a.i(5423).default)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",0,b],7385)},60380,a=>{"use strict";var b=a.i(34542);a.i(39752);var c=b.createContext(void 0);a.s(["useDirection",0,function(a){let d=b.useContext(c);return a||d||"ltr"}])},69471,a=>{"use strict";var b=a.i(34542),c=a.i(95819),d=a.i(80303),e=a.i(92274),f=a.i(39752),g=new WeakMap;function h(a,b){var c,d;let e,f,g;if("at"in Array.prototype)return Array.prototype.at.call(a,b);let h=(c=a,d=b,e=c.length,(g=(f=i(d))>=0?f:e+f)<0||g>=e?-1:g);return -1===h?void 0:a[h]}function i(a){return a!=a||0===a?0:Math.trunc(a)}(class a extends Map{#a;constructor(a){super(a),this.#a=[...super.keys()],g.set(this,!0)}set(a,b){return g.get(this)&&(this.has(a)?this.#a[this.#a.indexOf(a)]=a:this.#a.push(a)),super.set(a,b),this}insert(a,b,c){let d,e=this.has(b),f=this.#a.length,g=i(a),h=g>=0?g:f+g,j=h<0||h>=f?-1:h;if(j===this.size||e&&j===this.size-1||-1===j)return this.set(b,c),this;let k=this.size+ +!e;g<0&&h++;let l=[...this.#a],m=!1;for(let a=h;a<k;a++)if(h===a){let f=l[a];l[a]===b&&(f=l[a+1]),e&&this.delete(b),d=this.get(f),this.set(b,c)}else{m||l[a-1]!==b||(m=!0);let c=l[m?a:a-1],e=d;d=this.get(c),this.delete(c),this.set(c,e)}return this}with(b,c,d){let e=new a(this);return e.insert(b,c,d),e}before(a){let b=this.#a.indexOf(a)-1;if(!(b<0))return this.entryAt(b)}setBefore(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d,b,c)}after(a){let b=this.#a.indexOf(a);if(-1!==(b=-1===b||b===this.size-1?-1:b+1))return this.entryAt(b)}setAfter(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d+1,b,c)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#a=[],super.clear()}delete(a){let b=super.delete(a);return b&&this.#a.splice(this.#a.indexOf(a),1),b}deleteAt(a){let b=this.keyAt(a);return void 0!==b&&this.delete(b)}at(a){let b=h(this.#a,a);if(void 0!==b)return this.get(b)}entryAt(a){let b=h(this.#a,a);if(void 0!==b)return[b,this.get(b)]}indexOf(a){return this.#a.indexOf(a)}keyAt(a){return h(this.#a,a)}from(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.at(d)}keyFrom(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.keyAt(d)}find(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return d;c++}}findIndex(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return c;c++}return -1}filter(b,c){let d=[],e=0;for(let a of this)Reflect.apply(b,c,[a,e,this])&&d.push(a),e++;return new a(d)}map(b,c){let d=[],e=0;for(let a of this)d.push([a[0],Reflect.apply(b,c,[a,e,this])]),e++;return new a(d)}reduce(...a){let[b,c]=a,d=0,e=c??this.at(0);for(let c of this)e=0===d&&1===a.length?c:Reflect.apply(b,this,[e,c,d,this]),d++;return e}reduceRight(...a){let[b,c]=a,d=c??this.at(-1);for(let c=this.size-1;c>=0;c--){let e=this.at(c);d=c===this.size-1&&1===a.length?e:Reflect.apply(b,this,[d,e,c,this])}return d}toSorted(b){return new a([...this.entries()].sort(b))}toReversed(){let b=new a;for(let a=this.size-1;a>=0;a--){let c=this.keyAt(a),d=this.get(c);b.set(c,d)}return b}toSpliced(...b){let c=[...this.entries()];return c.splice(...b),new a(c)}slice(b,c){let d=new a,e=this.size-1;if(void 0===b)return d;b<0&&(b+=this.size),void 0!==c&&c>0&&(e=c-1);for(let a=b;a<=e;a++){let b=this.keyAt(a),c=this.get(b);d.set(b,c)}return d}every(a,b){let c=0;for(let d of this){if(!Reflect.apply(a,b,[d,c,this]))return!1;c++}return!0}some(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return!0;c++}return!1}}),a.s(["createCollection",0,function(a){let g=a+"CollectionProvider",[h,i]=(0,c.createContextScope)(g),[j,k]=h(g,{collectionRef:{current:null},itemMap:new Map}),l=a=>{let{scope:c,children:d}=a,e=b.default.useRef(null),g=b.default.useRef(new Map).current;return(0,f.jsx)(j,{scope:c,itemMap:g,collectionRef:e,children:d})};l.displayName=g;let m=a+"CollectionSlot",n=(0,e.createSlot)(m),o=b.default.forwardRef((a,b)=>{let{scope:c,children:e}=a,g=k(m,c),h=(0,d.useComposedRefs)(b,g.collectionRef);return(0,f.jsx)(n,{ref:h,children:e})});o.displayName=m;let p=a+"CollectionItemSlot",q="data-radix-collection-item",r=(0,e.createSlot)(p),s=b.default.forwardRef((a,c)=>{let{scope:e,children:g,...h}=a,i=b.default.useRef(null),j=(0,d.useComposedRefs)(c,i),l=k(p,e);return b.default.useEffect(()=>(l.itemMap.set(i,{ref:i,...h}),()=>void l.itemMap.delete(i))),(0,f.jsx)(r,{...{[q]:""},ref:j,children:g})});return s.displayName=p,[{Provider:l,Slot:o,ItemSlot:s},function(c){let d=k(a+"CollectionConsumer",c);return b.default.useCallback(()=>{let a=d.collectionRef.current;if(!a)return[];let b=Array.from(a.querySelectorAll(`[${q}]`));return Array.from(d.itemMap.values()).sort((a,c)=>b.indexOf(a.ref.current)-b.indexOf(c.ref.current))},[d.collectionRef,d.itemMap])},i]}])},48972,a=>{"use strict";a.s(["clamp",0,function(a,[b,c]){return Math.min(c,Math.max(b,a))}])},54506,a=>{"use strict";let b=(0,a.i(5423).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["Check",0,b],54506)},74794,a=>{"use strict";var b=a.i(62588),c=a.i(59974);a.s(["useBackends",0,function(a){return(0,b.useQuery)({queryKey:["backends"],queryFn:()=>c.api.get("/backends"),enabled:a?.enabled??!0,staleTime:6e4})}])},82740,a=>{"use strict";let b=(0,a.i(5423).default)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);a.s(["ExternalLink",0,b],82740)},60622,a=>{"use strict";let b=(0,a.i(5423).default)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);a.s(["Download",0,b],60622)},55140,a=>{"use strict";let b=(0,a.i(5423).default)("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);a.s(["KeyRound",0,b],55140)},50891,a=>{"use strict";let b=(0,a.i(5423).default)("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["ShieldCheck",0,b],50891)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_07p0n9g._.js.map
|