@aitne/dashboard 0.1.10 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +6 -9
- package/.next/build-manifest.json +3 -3
- package/.next/diagnostics/route-bundle-stats.json +592 -614
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-manifest.json +54 -126
- package/.next/routes-manifest.json +27 -45
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page/next-font-manifest.json +4 -2
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +15 -15
- package/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
- package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/activity/page/next-font-manifest.json +4 -2
- package/.next/server/app/activity/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/activity/page.js.nft.json +1 -1
- package/.next/server/app/activity/page_client-reference-manifest.js +1 -1
- package/.next/server/app/activity.html +1 -1
- package/.next/server/app/activity.rsc +27 -25
- package/.next/server/app/activity.segments/_full.segment.rsc +27 -25
- package/.next/server/app/activity.segments/_head.segment.rsc +4 -4
- package/.next/server/app/activity.segments/_index.segment.rsc +10 -10
- package/.next/server/app/activity.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/activity.segments/activity/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/activity.segments/activity.segment.rsc +4 -4
- package/.next/server/app/agents/[slug]/executions/page/next-font-manifest.json +4 -2
- package/.next/server/app/agents/[slug]/executions/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/agents/[slug]/executions/page.js.nft.json +1 -1
- package/.next/server/app/agents/[slug]/executions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/agents/[slug]/page/next-font-manifest.json +4 -2
- package/.next/server/app/agents/[slug]/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/agents/[slug]/page.js.nft.json +1 -1
- package/.next/server/app/agents/[slug]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/agents/page/next-font-manifest.json +4 -2
- package/.next/server/app/agents/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/agents/page.js.nft.json +1 -1
- package/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/.next/server/app/agents.html +1 -1
- package/.next/server/app/agents.rsc +18 -17
- package/.next/server/app/agents.segments/_full.segment.rsc +18 -17
- package/.next/server/app/agents.segments/_head.segment.rsc +4 -4
- package/.next/server/app/agents.segments/_index.segment.rsc +10 -10
- package/.next/server/app/agents.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/agents.segments/agents.segment.rsc +3 -3
- package/.next/server/app/analytics/page/next-font-manifest.json +4 -2
- package/.next/server/app/analytics/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/analytics/page.js.nft.json +1 -1
- package/.next/server/app/analytics/page_client-reference-manifest.js +1 -1
- package/.next/server/app/analytics.html +1 -1
- package/.next/server/app/analytics.rsc +25 -23
- package/.next/server/app/analytics.segments/_full.segment.rsc +25 -23
- package/.next/server/app/analytics.segments/_head.segment.rsc +4 -4
- package/.next/server/app/analytics.segments/_index.segment.rsc +10 -10
- package/.next/server/app/analytics.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/analytics.segments/analytics/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/analytics.segments/analytics.segment.rsc +4 -4
- package/.next/server/app/browser/page/app-paths-manifest.json +3 -0
- package/.next/server/app/browser/page/next-font-manifest.json +8 -0
- package/.next/server/app/{settings/advanced → browser}/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/browser/page.js +15 -0
- package/.next/server/app/browser/page.js.nft.json +1 -0
- package/.next/server/app/browser/page_client-reference-manifest.js +3 -0
- package/.next/server/app/browser-tasks/[id]/page/next-font-manifest.json +4 -2
- package/.next/server/app/browser-tasks/[id]/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/browser-tasks/[id]/page.js.nft.json +1 -1
- package/.next/server/app/browser-tasks/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/browser-tasks/page/next-font-manifest.json +4 -2
- package/.next/server/app/browser-tasks/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/browser-tasks/page.js.nft.json +1 -1
- package/.next/server/app/browser-tasks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/browser-tasks.html +1 -1
- package/.next/server/app/browser-tasks.rsc +18 -17
- package/.next/server/app/browser-tasks.segments/_full.segment.rsc +18 -17
- package/.next/server/app/browser-tasks.segments/_head.segment.rsc +4 -4
- package/.next/server/app/browser-tasks.segments/_index.segment.rsc +10 -10
- package/.next/server/app/browser-tasks.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/browser-tasks.segments/browser-tasks/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/browser-tasks.segments/browser-tasks.segment.rsc +3 -3
- package/.next/server/app/browser.html +1 -0
- package/.next/server/app/browser.meta +15 -0
- package/.next/server/app/browser.rsc +27 -0
- package/.next/server/app/browser.segments/_full.segment.rsc +27 -0
- package/.next/server/app/browser.segments/_head.segment.rsc +6 -0
- package/.next/server/app/browser.segments/_index.segment.rsc +11 -0
- package/.next/server/app/browser.segments/_tree.segment.rsc +3 -0
- package/.next/server/app/browser.segments/browser/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/browser.segments/browser.segment.rsc +5 -0
- package/.next/server/app/chat/page/next-font-manifest.json +4 -2
- package/.next/server/app/chat/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/chat/page.js.nft.json +1 -1
- package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/chat.html +1 -1
- package/.next/server/app/chat.rsc +18 -17
- package/.next/server/app/chat.segments/_full.segment.rsc +18 -17
- package/.next/server/app/chat.segments/_head.segment.rsc +4 -4
- package/.next/server/app/chat.segments/_index.segment.rsc +10 -10
- package/.next/server/app/chat.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/chat.segments/chat.segment.rsc +3 -3
- package/.next/server/app/connections/calendar/page/next-font-manifest.json +4 -2
- package/.next/server/app/connections/calendar/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/connections/calendar/page.js.nft.json +1 -1
- package/.next/server/app/connections/calendar/page_client-reference-manifest.js +1 -1
- package/.next/server/app/connections/calendar.html +1 -1
- package/.next/server/app/connections/calendar.rsc +19 -18
- package/.next/server/app/connections/calendar.segments/_full.segment.rsc +19 -18
- package/.next/server/app/connections/calendar.segments/_head.segment.rsc +4 -4
- package/.next/server/app/connections/calendar.segments/_index.segment.rsc +10 -10
- package/.next/server/app/connections/calendar.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/connections/calendar.segments/connections/calendar/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/connections/calendar.segments/connections/calendar.segment.rsc +3 -3
- package/.next/server/app/connections/calendar.segments/connections.segment.rsc +4 -4
- package/.next/server/app/connections/journal/page/next-font-manifest.json +4 -2
- package/.next/server/app/connections/journal/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/connections/journal/page.js.nft.json +1 -1
- package/.next/server/app/connections/journal/page_client-reference-manifest.js +1 -1
- package/.next/server/app/connections/journal.html +1 -1
- package/.next/server/app/connections/journal.rsc +18 -17
- package/.next/server/app/connections/journal.segments/_full.segment.rsc +18 -17
- package/.next/server/app/connections/journal.segments/_head.segment.rsc +4 -4
- package/.next/server/app/connections/journal.segments/_index.segment.rsc +10 -10
- package/.next/server/app/connections/journal.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/connections/journal.segments/connections/journal/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/connections/journal.segments/connections/journal.segment.rsc +3 -3
- package/.next/server/app/connections/journal.segments/connections.segment.rsc +4 -4
- package/.next/server/app/connections/mail/page/next-font-manifest.json +4 -2
- package/.next/server/app/connections/mail/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/connections/mail/page.js.nft.json +1 -1
- package/.next/server/app/connections/mail/page_client-reference-manifest.js +1 -1
- package/.next/server/app/connections/mail.html +1 -1
- package/.next/server/app/connections/mail.rsc +19 -18
- package/.next/server/app/connections/mail.segments/_full.segment.rsc +19 -18
- package/.next/server/app/connections/mail.segments/_head.segment.rsc +4 -4
- package/.next/server/app/connections/mail.segments/_index.segment.rsc +10 -10
- package/.next/server/app/connections/mail.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/connections/mail.segments/connections/mail/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/connections/mail.segments/connections/mail.segment.rsc +3 -3
- package/.next/server/app/connections/mail.segments/connections.segment.rsc +4 -4
- package/.next/server/app/connections/mcp/page/next-font-manifest.json +4 -2
- package/.next/server/app/connections/mcp/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/connections/mcp/page.js.nft.json +1 -1
- package/.next/server/app/connections/mcp/page_client-reference-manifest.js +1 -1
- package/.next/server/app/connections/mcp.html +1 -1
- package/.next/server/app/connections/mcp.rsc +19 -18
- package/.next/server/app/connections/mcp.segments/_full.segment.rsc +19 -18
- package/.next/server/app/connections/mcp.segments/_head.segment.rsc +4 -4
- package/.next/server/app/connections/mcp.segments/_index.segment.rsc +10 -10
- package/.next/server/app/connections/mcp.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/connections/mcp.segments/connections/mcp/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/connections/mcp.segments/connections/mcp.segment.rsc +3 -3
- package/.next/server/app/connections/mcp.segments/connections.segment.rsc +4 -4
- package/.next/server/app/connections/messaging/page/next-font-manifest.json +4 -2
- package/.next/server/app/connections/messaging/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/connections/messaging/page.js.nft.json +1 -1
- package/.next/server/app/connections/messaging/page_client-reference-manifest.js +1 -1
- package/.next/server/app/connections/messaging.html +1 -1
- package/.next/server/app/connections/messaging.rsc +19 -18
- package/.next/server/app/connections/messaging.segments/_full.segment.rsc +19 -18
- package/.next/server/app/connections/messaging.segments/_head.segment.rsc +4 -4
- package/.next/server/app/connections/messaging.segments/_index.segment.rsc +10 -10
- package/.next/server/app/connections/messaging.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/connections/messaging.segments/connections/messaging/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/connections/messaging.segments/connections/messaging.segment.rsc +3 -3
- package/.next/server/app/connections/messaging.segments/connections.segment.rsc +4 -4
- package/.next/server/app/connections/notes/page/app-paths-manifest.json +3 -0
- package/.next/server/app/connections/notes/page/next-font-manifest.json +8 -0
- package/.next/server/app/{settings/backends → connections/notes}/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/connections/{knowledge → notes}/page.js +6 -6
- package/.next/server/app/{settings/schedule → connections/notes}/page.js.nft.json +1 -1
- package/.next/server/app/connections/notes/page_client-reference-manifest.js +3 -0
- package/.next/server/app/connections/notes.html +1 -0
- package/.next/server/app/connections/{knowledge.meta → notes.meta} +3 -3
- package/.next/server/app/connections/notes.rsc +28 -0
- package/.next/server/app/connections/notes.segments/_full.segment.rsc +28 -0
- package/.next/server/app/connections/notes.segments/_head.segment.rsc +6 -0
- package/.next/server/app/connections/notes.segments/_index.segment.rsc +11 -0
- package/.next/server/app/connections/notes.segments/_tree.segment.rsc +3 -0
- package/.next/server/app/connections/notes.segments/connections/notes/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/connections/notes.segments/connections/notes.segment.rsc +5 -0
- package/.next/server/app/connections/notes.segments/connections.segment.rsc +5 -0
- package/.next/server/app/connections/page/next-font-manifest.json +4 -2
- package/.next/server/app/connections/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/connections/page.js.nft.json +1 -1
- package/.next/server/app/connections/page_client-reference-manifest.js +1 -1
- package/.next/server/app/connections/repositories/page/next-font-manifest.json +4 -2
- package/.next/server/app/connections/repositories/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/connections/repositories/page.js.nft.json +1 -1
- package/.next/server/app/connections/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/connections/repositories.html +1 -1
- package/.next/server/app/connections/repositories.rsc +23 -21
- package/.next/server/app/connections/repositories.segments/_full.segment.rsc +23 -21
- package/.next/server/app/connections/repositories.segments/_head.segment.rsc +4 -4
- package/.next/server/app/connections/repositories.segments/_index.segment.rsc +10 -10
- package/.next/server/app/connections/repositories.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/connections/repositories.segments/connections/repositories/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/connections/repositories.segments/connections/repositories.segment.rsc +3 -3
- package/.next/server/app/connections/repositories.segments/connections.segment.rsc +4 -4
- package/.next/server/app/connections/routines/page/next-font-manifest.json +4 -2
- package/.next/server/app/connections/routines/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/connections/routines/page.js.nft.json +1 -1
- package/.next/server/app/connections/routines/page_client-reference-manifest.js +1 -1
- package/.next/server/app/connections/routines.html +1 -1
- package/.next/server/app/connections/routines.rsc +18 -17
- package/.next/server/app/connections/routines.segments/_full.segment.rsc +18 -17
- package/.next/server/app/connections/routines.segments/_head.segment.rsc +4 -4
- package/.next/server/app/connections/routines.segments/_index.segment.rsc +10 -10
- package/.next/server/app/connections/routines.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/connections/routines.segments/connections/routines/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/connections/routines.segments/connections/routines.segment.rsc +3 -3
- package/.next/server/app/connections/routines.segments/connections.segment.rsc +4 -4
- package/.next/server/app/connections.html +1 -1
- package/.next/server/app/connections.rsc +17 -16
- package/.next/server/app/connections.segments/_full.segment.rsc +17 -16
- package/.next/server/app/connections.segments/_head.segment.rsc +4 -4
- package/.next/server/app/connections.segments/_index.segment.rsc +10 -10
- package/.next/server/app/connections.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/connections.segments/connections/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/connections.segments/connections.segment.rsc +4 -4
- package/.next/server/app/conversations/[id]/page/next-font-manifest.json +4 -2
- package/.next/server/app/conversations/[id]/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/conversations/[id]/page.js.nft.json +1 -1
- package/.next/server/app/conversations/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/conversations/page/next-font-manifest.json +4 -2
- package/.next/server/app/conversations/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/conversations/page.js.nft.json +1 -1
- package/.next/server/app/conversations/page_client-reference-manifest.js +1 -1
- package/.next/server/app/conversations.html +1 -1
- package/.next/server/app/conversations.rsc +16 -15
- package/.next/server/app/conversations.segments/_full.segment.rsc +16 -15
- package/.next/server/app/conversations.segments/_head.segment.rsc +4 -4
- package/.next/server/app/conversations.segments/_index.segment.rsc +10 -10
- package/.next/server/app/conversations.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/conversations.segments/conversations/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/conversations.segments/conversations.segment.rsc +3 -3
- package/.next/server/app/docs/[[...slug]]/page/next-font-manifest.json +4 -2
- package/.next/server/app/docs/[[...slug]]/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/docs/[[...slug]]/page.js.nft.json +1 -1
- package/.next/server/app/docs/[[...slug]]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/finance/page/next-font-manifest.json +4 -2
- package/.next/server/app/finance/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/finance/page.js.nft.json +1 -1
- package/.next/server/app/finance/page_client-reference-manifest.js +1 -1
- package/.next/server/app/finance.html +1 -1
- package/.next/server/app/finance.rsc +18 -17
- package/.next/server/app/finance.segments/_full.segment.rsc +18 -17
- package/.next/server/app/finance.segments/_head.segment.rsc +4 -4
- package/.next/server/app/finance.segments/_index.segment.rsc +10 -10
- package/.next/server/app/finance.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/finance.segments/finance/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/finance.segments/finance.segment.rsc +3 -3
- package/.next/server/app/git/page/next-font-manifest.json +4 -2
- package/.next/server/app/git/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/git/page.js.nft.json +1 -1
- package/.next/server/app/git/page_client-reference-manifest.js +1 -1
- package/.next/server/app/git.html +1 -1
- package/.next/server/app/git.rsc +18 -17
- package/.next/server/app/git.segments/_full.segment.rsc +18 -17
- package/.next/server/app/git.segments/_head.segment.rsc +4 -4
- package/.next/server/app/git.segments/_index.segment.rsc +10 -10
- package/.next/server/app/git.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/git.segments/git/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/git.segments/git.segment.rsc +3 -3
- package/.next/server/app/health/page/next-font-manifest.json +4 -2
- package/.next/server/app/health/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/health/page.js.nft.json +1 -1
- package/.next/server/app/health/page_client-reference-manifest.js +1 -1
- package/.next/server/app/health.html +1 -1
- package/.next/server/app/health.rsc +18 -17
- package/.next/server/app/health.segments/_full.segment.rsc +18 -17
- package/.next/server/app/health.segments/_head.segment.rsc +4 -4
- package/.next/server/app/health.segments/_index.segment.rsc +10 -10
- package/.next/server/app/health.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/health.segments/health/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/health.segments/health.segment.rsc +3 -3
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +18 -17
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/index.segments/_full.segment.rsc +18 -17
- package/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/server/app/index.segments/_index.segment.rsc +10 -10
- package/.next/server/app/index.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/knowledge/page/next-font-manifest.json +4 -2
- package/.next/server/app/knowledge/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/knowledge/page.js.nft.json +1 -1
- package/.next/server/app/knowledge/page_client-reference-manifest.js +1 -1
- package/.next/server/app/knowledge.html +1 -1
- package/.next/server/app/knowledge.rsc +19 -18
- package/.next/server/app/knowledge.segments/_full.segment.rsc +19 -18
- package/.next/server/app/knowledge.segments/_head.segment.rsc +4 -4
- package/.next/server/app/knowledge.segments/_index.segment.rsc +10 -10
- package/.next/server/app/knowledge.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/knowledge.segments/knowledge/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/knowledge.segments/knowledge.segment.rsc +4 -4
- package/.next/server/app/page/next-font-manifest.json +4 -2
- package/.next/server/app/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/reading/page/next-font-manifest.json +4 -2
- package/.next/server/app/reading/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/reading/page.js.nft.json +1 -1
- package/.next/server/app/reading/page_client-reference-manifest.js +1 -1
- package/.next/server/app/reading.html +1 -1
- package/.next/server/app/reading.rsc +18 -17
- package/.next/server/app/reading.segments/_full.segment.rsc +18 -17
- package/.next/server/app/reading.segments/_head.segment.rsc +4 -4
- package/.next/server/app/reading.segments/_index.segment.rsc +10 -10
- package/.next/server/app/reading.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/reading.segments/reading/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/reading.segments/reading.segment.rsc +3 -3
- package/.next/server/app/schedule/page/next-font-manifest.json +4 -2
- package/.next/server/app/schedule/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/schedule/page.js.nft.json +1 -1
- package/.next/server/app/schedule/page_client-reference-manifest.js +1 -1
- package/.next/server/app/schedule.html +1 -1
- package/.next/server/app/schedule.rsc +18 -17
- package/.next/server/app/schedule.segments/_full.segment.rsc +18 -17
- package/.next/server/app/schedule.segments/_head.segment.rsc +4 -4
- package/.next/server/app/schedule.segments/_index.segment.rsc +10 -10
- package/.next/server/app/schedule.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/schedule.segments/schedule/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/schedule.segments/schedule.segment.rsc +3 -3
- package/.next/server/app/settings/commands/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/commands/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/commands/page.js.nft.json +1 -1
- package/.next/server/app/settings/commands/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/commands.html +1 -1
- package/.next/server/app/settings/commands.rsc +19 -18
- package/.next/server/app/settings/commands.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings/commands.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/commands.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/commands.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/commands.segments/settings/commands/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/commands.segments/settings/commands.segment.rsc +3 -3
- package/.next/server/app/settings/commands.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/danger-zone/page/app-paths-manifest.json +3 -0
- package/.next/server/app/settings/danger-zone/page/next-font-manifest.json +8 -0
- package/.next/server/app/{connections/knowledge → settings/danger-zone}/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/{advanced → danger-zone}/page.js +6 -6
- package/.next/server/app/settings/{connections → danger-zone}/page.js.nft.json +1 -1
- package/.next/server/app/settings/danger-zone/page_client-reference-manifest.js +3 -0
- package/.next/server/app/settings/danger-zone.html +1 -0
- package/.next/server/app/settings/{advanced.meta → danger-zone.meta} +3 -3
- package/.next/server/app/settings/danger-zone.rsc +28 -0
- package/.next/server/app/settings/danger-zone.segments/_full.segment.rsc +28 -0
- package/.next/server/app/settings/danger-zone.segments/_head.segment.rsc +6 -0
- package/.next/server/app/settings/danger-zone.segments/_index.segment.rsc +11 -0
- package/.next/server/app/settings/danger-zone.segments/_tree.segment.rsc +3 -0
- package/.next/server/app/settings/danger-zone.segments/settings/danger-zone/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/settings/danger-zone.segments/settings/danger-zone.segment.rsc +5 -0
- package/.next/server/app/settings/danger-zone.segments/settings.segment.rsc +5 -0
- package/.next/server/app/settings/hours/page/app-paths-manifest.json +3 -0
- package/.next/server/app/settings/hours/page/next-font-manifest.json +8 -0
- package/.next/server/app/settings/{connections → hours}/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/{routines → hours}/page.js +6 -6
- package/.next/server/app/settings/{journal → hours}/page.js.nft.json +1 -1
- package/.next/server/app/settings/hours/page_client-reference-manifest.js +3 -0
- package/.next/server/app/settings/hours.html +1 -0
- package/.next/server/app/settings/{journal.meta → hours.meta} +3 -3
- package/.next/server/app/settings/hours.rsc +28 -0
- package/.next/server/app/settings/hours.segments/_full.segment.rsc +28 -0
- package/.next/server/app/settings/hours.segments/_head.segment.rsc +6 -0
- package/.next/server/app/settings/hours.segments/_index.segment.rsc +11 -0
- package/.next/server/app/settings/hours.segments/_tree.segment.rsc +3 -0
- package/.next/server/app/settings/hours.segments/settings/hours/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/settings/hours.segments/settings/hours.segment.rsc +5 -0
- package/.next/server/app/settings/hours.segments/settings.segment.rsc +5 -0
- package/.next/server/app/settings/infrastructure/page/app-paths-manifest.json +3 -0
- package/.next/server/app/settings/infrastructure/page/next-font-manifest.json +8 -0
- package/.next/server/app/settings/infrastructure/page/react-loadable-manifest.json +8 -0
- package/.next/server/app/settings/{schedule → infrastructure}/page.js +6 -6
- package/.next/server/app/settings/{backends → infrastructure}/page.js.nft.json +1 -1
- package/.next/server/app/settings/infrastructure/page_client-reference-manifest.js +3 -0
- package/.next/server/app/settings/infrastructure.html +1 -0
- package/.next/server/app/settings/{connections.meta → infrastructure.meta} +3 -3
- package/.next/server/app/settings/infrastructure.rsc +28 -0
- package/.next/server/app/settings/infrastructure.segments/_full.segment.rsc +28 -0
- package/.next/server/app/settings/infrastructure.segments/_head.segment.rsc +6 -0
- package/.next/server/app/settings/infrastructure.segments/_index.segment.rsc +11 -0
- package/.next/server/app/settings/infrastructure.segments/_tree.segment.rsc +3 -0
- package/.next/server/app/settings/infrastructure.segments/settings/infrastructure/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/settings/infrastructure.segments/settings/infrastructure.segment.rsc +5 -0
- package/.next/server/app/settings/infrastructure.segments/settings.segment.rsc +5 -0
- package/.next/server/app/settings/integrations/browser-history/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/integrations/browser-history/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/integrations/browser-history/page.js.nft.json +1 -1
- package/.next/server/app/settings/integrations/browser-history/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/integrations/browser-history-managed/b4/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/integrations/browser-history-managed/b4/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/integrations/browser-history-managed/b4/page.js.nft.json +1 -1
- package/.next/server/app/settings/integrations/browser-history-managed/b4/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/integrations/browser-history-managed/b4.html +1 -1
- package/.next/server/app/settings/integrations/browser-history-managed/b4.rsc +19 -18
- package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/settings/integrations/browser-history-managed/b4/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/settings/integrations/browser-history-managed/b4.segment.rsc +3 -3
- package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/settings/integrations/browser-history-managed.segment.rsc +3 -3
- package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/settings/integrations.segment.rsc +3 -3
- package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/integrations/browser-history-managed/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/integrations/browser-history-managed/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/integrations/browser-history-managed/page.js.nft.json +1 -1
- package/.next/server/app/settings/integrations/browser-history-managed/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/integrations/browser-history-managed.html +1 -1
- package/.next/server/app/settings/integrations/browser-history-managed.rsc +19 -18
- package/.next/server/app/settings/integrations/browser-history-managed.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings/integrations/browser-history-managed.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/integrations/browser-history-managed.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/integrations/browser-history-managed.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/integrations/browser-history-managed.segments/settings/integrations/browser-history-managed/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/integrations/browser-history-managed.segments/settings/integrations/browser-history-managed.segment.rsc +3 -3
- package/.next/server/app/settings/integrations/browser-history-managed.segments/settings/integrations.segment.rsc +3 -3
- package/.next/server/app/settings/integrations/browser-history-managed.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/integrations/browser-history.html +1 -1
- package/.next/server/app/settings/integrations/browser-history.rsc +19 -18
- package/.next/server/app/settings/integrations/browser-history.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings/integrations/browser-history.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/integrations/browser-history.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/integrations/browser-history.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/integrations/browser-history.segments/settings/integrations/browser-history/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/integrations/browser-history.segments/settings/integrations/browser-history.segment.rsc +3 -3
- package/.next/server/app/settings/integrations/browser-history.segments/settings/integrations.segment.rsc +3 -3
- package/.next/server/app/settings/integrations/browser-history.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/lessons/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/lessons/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/lessons/page.js.nft.json +1 -1
- package/.next/server/app/settings/lessons/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/lessons.html +1 -1
- package/.next/server/app/settings/lessons.rsc +19 -18
- package/.next/server/app/settings/lessons.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings/lessons.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/lessons.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/lessons.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/lessons.segments/settings/lessons/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/lessons.segments/settings/lessons.segment.rsc +3 -3
- package/.next/server/app/settings/lessons.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/management/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/management/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/management/page.js.nft.json +1 -1
- package/.next/server/app/settings/management/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/management.html +1 -1
- package/.next/server/app/settings/management.rsc +19 -18
- package/.next/server/app/settings/management.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings/management.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/management.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/management.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/management.segments/settings/management/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/management.segments/settings/management.segment.rsc +3 -3
- package/.next/server/app/settings/management.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/models/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/models/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/models/page.js.nft.json +1 -1
- package/.next/server/app/settings/models/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/models.html +1 -1
- package/.next/server/app/settings/models.rsc +19 -18
- package/.next/server/app/settings/models.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings/models.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/models.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/models.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/models.segments/settings/models/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/models.segments/settings/models.segment.rsc +3 -3
- package/.next/server/app/settings/models.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/safety/page/app-paths-manifest.json +3 -0
- package/.next/server/app/settings/safety/page/next-font-manifest.json +8 -0
- package/.next/server/app/settings/safety/page/react-loadable-manifest.json +8 -0
- package/.next/server/app/settings/{journal → safety}/page.js +6 -6
- package/.next/server/app/settings/{processes → safety}/page.js.nft.json +1 -1
- package/.next/server/app/settings/safety/page_client-reference-manifest.js +3 -0
- package/.next/server/app/settings/safety.html +1 -0
- package/.next/server/app/settings/{backends.meta → safety.meta} +3 -3
- package/.next/server/app/settings/safety.rsc +28 -0
- package/.next/server/app/settings/safety.segments/_full.segment.rsc +28 -0
- package/.next/server/app/settings/safety.segments/_head.segment.rsc +6 -0
- package/.next/server/app/settings/safety.segments/_index.segment.rsc +11 -0
- package/.next/server/app/settings/safety.segments/_tree.segment.rsc +3 -0
- package/.next/server/app/settings/safety.segments/settings/safety/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/settings/safety.segments/settings/safety.segment.rsc +5 -0
- package/.next/server/app/settings/safety.segments/settings.segment.rsc +5 -0
- package/.next/server/app/settings/self-learning/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/self-learning/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/self-learning/page.js.nft.json +1 -1
- package/.next/server/app/settings/self-learning/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/self-learning.html +1 -1
- package/.next/server/app/settings/self-learning.rsc +19 -18
- package/.next/server/app/settings/self-learning.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings/self-learning.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/self-learning.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/self-learning.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/self-learning.segments/settings/self-learning/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/self-learning.segments/settings/self-learning.segment.rsc +3 -3
- package/.next/server/app/settings/self-learning.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/wiki/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/wiki/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/wiki/page.js.nft.json +1 -1
- package/.next/server/app/settings/wiki/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/wiki/timeline/page/next-font-manifest.json +4 -2
- package/.next/server/app/settings/wiki/timeline/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/wiki/timeline/page.js.nft.json +1 -1
- package/.next/server/app/settings/wiki/timeline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/wiki/timeline.html +1 -1
- package/.next/server/app/settings/wiki/timeline.rsc +17 -16
- package/.next/server/app/settings/wiki/timeline.segments/_full.segment.rsc +17 -16
- package/.next/server/app/settings/wiki/timeline.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/wiki/timeline.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/wiki/timeline.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/wiki/timeline.segments/settings/wiki/timeline/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings/wiki/timeline.segments/settings/wiki/timeline.segment.rsc +3 -3
- package/.next/server/app/settings/wiki/timeline.segments/settings/wiki.segment.rsc +3 -3
- package/.next/server/app/settings/wiki/timeline.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings/wiki.html +1 -1
- package/.next/server/app/settings/wiki.rsc +19 -18
- package/.next/server/app/settings/wiki.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings/wiki.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/wiki.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings/wiki.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings/wiki.segments/settings/wiki/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/wiki.segments/settings/wiki.segment.rsc +3 -3
- package/.next/server/app/settings/wiki.segments/settings.segment.rsc +4 -4
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +19 -18
- package/.next/server/app/settings.segments/_full.segment.rsc +19 -18
- package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings.segments/_index.segment.rsc +10 -10
- package/.next/server/app/settings.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings.segments/settings.segment.rsc +4 -4
- package/.next/server/app/setup/page/next-font-manifest.json +4 -2
- package/.next/server/app/setup/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/setup/page.js.nft.json +1 -1
- package/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/.next/server/app/setup.html +1 -1
- package/.next/server/app/setup.rsc +18 -17
- package/.next/server/app/setup.segments/_full.segment.rsc +18 -17
- package/.next/server/app/setup.segments/_head.segment.rsc +4 -4
- package/.next/server/app/setup.segments/_index.segment.rsc +10 -10
- package/.next/server/app/setup.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/setup.segments/setup.segment.rsc +3 -3
- package/.next/server/app/trip/page/next-font-manifest.json +4 -2
- package/.next/server/app/trip/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/trip/page.js.nft.json +1 -1
- package/.next/server/app/trip/page_client-reference-manifest.js +1 -1
- package/.next/server/app/trip.html +1 -1
- package/.next/server/app/trip.rsc +18 -17
- package/.next/server/app/trip.segments/_full.segment.rsc +18 -17
- package/.next/server/app/trip.segments/_head.segment.rsc +4 -4
- package/.next/server/app/trip.segments/_index.segment.rsc +10 -10
- package/.next/server/app/trip.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/trip.segments/trip/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/trip.segments/trip.segment.rsc +3 -3
- package/.next/server/app/wiki/page/next-font-manifest.json +4 -2
- package/.next/server/app/wiki/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/wiki/page.js.nft.json +1 -1
- package/.next/server/app/wiki/page_client-reference-manifest.js +1 -1
- package/.next/server/app/wiki/timeline/page/next-font-manifest.json +4 -2
- package/.next/server/app/wiki/timeline/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/wiki/timeline/page.js.nft.json +1 -1
- package/.next/server/app/wiki/timeline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/wiki/timeline.html +1 -1
- package/.next/server/app/wiki/timeline.rsc +18 -17
- package/.next/server/app/wiki/timeline.segments/_full.segment.rsc +18 -17
- package/.next/server/app/wiki/timeline.segments/_head.segment.rsc +4 -4
- package/.next/server/app/wiki/timeline.segments/_index.segment.rsc +10 -10
- package/.next/server/app/wiki/timeline.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/wiki/timeline.segments/wiki/timeline/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/wiki/timeline.segments/wiki/timeline.segment.rsc +3 -3
- package/.next/server/app/wiki/timeline.segments/wiki.segment.rsc +3 -3
- package/.next/server/app/wiki.html +1 -1
- package/.next/server/app/wiki.rsc +18 -17
- package/.next/server/app/wiki.segments/_full.segment.rsc +18 -17
- package/.next/server/app/wiki.segments/_head.segment.rsc +4 -4
- package/.next/server/app/wiki.segments/_index.segment.rsc +10 -10
- package/.next/server/app/wiki.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/wiki.segments/wiki/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/wiki.segments/wiki.segment.rsc +3 -3
- package/.next/server/app-paths-manifest.json +6 -9
- package/.next/server/chunks/0z~i_next_dist_esm_build_templates_app-route_0o_o_hp.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__02gp4s0._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0gckkni._.js +1 -1
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_connections_notes_page_actions_04zn1-i.js +3 -0
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_danger-zone_page_actions_0mp3gc-.js +3 -0
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_safety_page_actions_05rsfax.js +3 -0
- package/.next/server/chunks/ssr/0juq_dashboard_src_app_settings_integrations_browser-history_page_tsx_0.30t~j._.js +1 -1
- package/.next/server/chunks/ssr/0x9-__next-internal_server_app_settings_infrastructure_page_actions_0u8fwic.js +3 -0
- package/.next/server/chunks/ssr/0x9-_src_app_settings_integrations_browser-history-managed_b4_page_tsx_03zkdyv._.js +1 -1
- package/.next/server/chunks/ssr/0x9-_src_app_settings_integrations_browser-history-managed_page_tsx_0q.v5ph._.js +1 -1
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0-xf3nq.js +1 -1
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_05t.o5v.js +4 -0
- package/.next/server/chunks/ssr/{0z~i_next_dist_esm_build_templates_app-page_0rzk_wb.js → 0z~i_next_dist_esm_build_templates_app-page_07tjgqy.js} +3 -3
- package/.next/server/chunks/ssr/{0z~i_next_dist_esm_build_templates_app-page_0dgjd77.js → 0z~i_next_dist_esm_build_templates_app-page_08-8pml.js} +3 -3
- package/.next/server/chunks/ssr/{0z~i_next_dist_esm_build_templates_app-page_0~l1-oo.js → 0z~i_next_dist_esm_build_templates_app-page_0_hw.~x.js} +3 -3
- package/.next/server/chunks/ssr/{0z~i_next_dist_esm_build_templates_app-page_0i5nfg6.js → 0z~i_next_dist_esm_build_templates_app-page_0gja0sp.js} +3 -3
- package/.next/server/chunks/ssr/{0z~i_next_dist_esm_build_templates_app-page_0i3pbzc.js → 0z~i_next_dist_esm_build_templates_app-page_0xk7dvj.js} +3 -3
- package/.next/server/chunks/ssr/{[root-of-the-server]__0.oq_nd._.js → [root-of-the-server]__064iw-m._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0bcu47h._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0hxae6t._.js → [root-of-the-server]__0dz8grn._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0e3togs._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0own5qk._.js +7 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0k4~6v4._.js → [root-of-the-server]__0p.rqkz._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0twuzim._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0v.2-w_._.js +9 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0ku1mlh._.js → [root-of-the-server]__0x90fri._.js} +2 -2
- package/.next/server/chunks/ssr/{[root-of-the-server]__138v34b._.js → [root-of-the-server]__12ocbb6._.js} +2 -2
- package/.next/server/chunks/ssr/_0-fa0e6._.js +3 -0
- package/.next/server/chunks/ssr/_0-fv_sr._.js +1 -1
- package/.next/server/chunks/ssr/_0.83~vc._.js +3 -0
- package/.next/server/chunks/ssr/_0.buz~z._.js +3 -0
- package/.next/server/chunks/ssr/_00m~lu3._.js +3 -0
- package/.next/server/chunks/ssr/_00yd82b._.js +3 -0
- package/.next/server/chunks/ssr/_01u8_20._.js +1 -1
- package/.next/server/chunks/ssr/_02-~4_x._.js +3 -0
- package/.next/server/chunks/ssr/_03ylkmo._.js +1 -1
- package/.next/server/chunks/ssr/_042qll3._.js +3 -0
- package/.next/server/chunks/ssr/_05-nasq._.js +3 -0
- package/.next/server/chunks/ssr/_052c-d8._.js +1 -1
- package/.next/server/chunks/ssr/_05etcnw._.js +3 -0
- package/.next/server/chunks/ssr/_06pfh8i._.js +3 -0
- package/.next/server/chunks/ssr/_07y8~wo._.js +3 -0
- package/.next/server/chunks/ssr/_0837jo1._.js +1 -1
- package/.next/server/chunks/ssr/_095g5nv._.js +3 -0
- package/.next/server/chunks/ssr/_0_59iz5._.js +3 -0
- package/.next/server/chunks/ssr/_0_mohhy._.js +3 -0
- package/.next/server/chunks/ssr/_0_qa7ix._.js +3 -0
- package/.next/server/chunks/ssr/_0a0gitj._.js +3 -0
- package/.next/server/chunks/ssr/_0bbgll1._.js +3 -0
- package/.next/server/chunks/ssr/_0bsns8f._.js +3 -0
- package/.next/server/chunks/ssr/_0cus~q3._.js +3 -0
- package/.next/server/chunks/ssr/_0cwcz17._.js +1 -1
- package/.next/server/chunks/ssr/_0do3r93._.js +3 -0
- package/.next/server/chunks/ssr/_0eoqkp.._.js +3 -0
- package/.next/server/chunks/ssr/_0fse1qi._.js +3 -0
- package/.next/server/chunks/ssr/_0g7_r5i._.js +1 -1
- package/.next/server/chunks/ssr/_0h-mq6i._.js +3 -0
- package/.next/server/chunks/ssr/_0h7l~qt._.js +3 -0
- package/.next/server/chunks/ssr/_0hojxqy._.js +1 -1
- package/.next/server/chunks/ssr/_0jlpcde._.js +3 -0
- package/.next/server/chunks/ssr/_0kn1u4v._.js +3 -0
- package/.next/server/chunks/ssr/_0l7uzol._.js +3 -0
- package/.next/server/chunks/ssr/_0m~vcd.._.js +3 -0
- package/.next/server/chunks/ssr/_0n2_n8d._.js +3 -0
- package/.next/server/chunks/ssr/_0p4ugyq._.js +3 -0
- package/.next/server/chunks/ssr/_0pbcc~c._.js +3 -0
- package/.next/server/chunks/ssr/_0q6ga5s._.js +3 -0
- package/.next/server/chunks/ssr/_0rcvmzk._.js +3 -0
- package/.next/server/chunks/ssr/_0tl98en._.js +1 -1
- package/.next/server/chunks/ssr/_0vtof91._.js +3 -0
- package/.next/server/chunks/ssr/_0wj-xi-._.js +1 -1
- package/.next/server/chunks/ssr/_0y-w3is._.js +1 -1
- package/.next/server/chunks/ssr/_0ys19k1._.js +3 -0
- package/.next/server/chunks/ssr/_0zegd8c._.js +3 -0
- package/.next/server/chunks/ssr/_0zskdhg._.js +3 -0
- package/.next/server/chunks/ssr/_0~5jogr._.js +3 -0
- package/.next/server/chunks/ssr/_10t~mm1._.js +5 -0
- package/.next/server/chunks/ssr/_12yrbbd._.js +3 -0
- package/.next/server/chunks/ssr/_12~voz0._.js +3 -0
- package/.next/server/chunks/ssr/_13x8vt3._.js +3 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_0hiwu9~._.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_browser_page_actions_09ozuw5.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_settings_hours_page_actions_090o.uf.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_08ni3k2._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_0dzu4m3._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_0l-df62._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_0somi_b._.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_0uxs9-.._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_0wg3sud._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_0yi7124._.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_0zhdaa4._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_13g~g03._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_activity_loading_tsx_0rzsqef._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_activity_page_tsx_08yep46._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_agents_[slug]_page_tsx_038yph.._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_agents_page_tsx_0simg3k._.js +2 -2
- package/.next/server/chunks/ssr/packages_dashboard_src_app_analytics_page_tsx_0tb_amd._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_browser-tasks_[id]_page_tsx_0.80q8e._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_chat_page_tsx_0i0_8pw._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_connections_mcp_page_tsx_0lc.low._.js +2 -2
- package/.next/server/chunks/ssr/packages_dashboard_src_app_connections_repositories_page_tsx_08y6paq._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_git_page_tsx_0ah19-6._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_knowledge_page_tsx_0uf4..4._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_page_tsx_0.p6n1a._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_schedule_page_tsx_0znc404._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_commands_page_tsx_0nacqrh._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_hours_page_tsx_0shgzxo._.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_infrastructure_page_tsx_0c9oi1c._.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_management_page_tsx_09mnin5._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_models_page_tsx_0djsx88._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_page_tsx_13_rdav._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_self-learning_page_tsx_0noj6fo._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_wiki_page_tsx_0..1tkb._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_app_setup_page_tsx_06k3via._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_components_0c08h~y._.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_components_agents_AgentEditor_tsx_1379k-6._.js +2 -2
- package/.next/server/chunks/ssr/packages_dashboard_src_components_connections_integration-card_tsx_0yh1a-~._.js +2 -2
- package/.next/server/chunks/ssr/packages_dashboard_src_components_connections_slack-card_tsx_0mahejj._.js +1 -1
- package/.next/server/chunks/ssr/packages_dashboard_src_components_logs_event-row_tsx_0gwfgqo._.js +3 -0
- package/.next/server/chunks/ssr/packages_dashboard_src_components_mail_gmail-card_tsx_0kpway8._.js +1 -1
- package/.next/server/chunks/ssr/packages_shared_dist_index_0kuvow-.js +1 -1
- package/.next/server/edge/chunks/[root-of-the-server]__0iap10r._.js +1 -1
- package/.next/server/middleware/middleware-manifest.json +29 -5
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/middleware-manifest.json +29 -5
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +51 -2
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/{i_QR0WWkZFeICcOMbfuUs → 4Wu33OvzutxPxXUu1PWPC}/_clientMiddlewareManifest.js +24 -0
- package/.next/static/chunks/0-sq9td.e1huw.js +1 -0
- package/.next/static/chunks/0-~s5n1hsw0xz.css +1 -0
- package/.next/static/chunks/0.1mo3ft90qg_.js +1 -0
- package/.next/static/chunks/0.eu.rxoo07x6.js +1 -0
- package/.next/static/chunks/0147tjztlthxv.js +1 -0
- package/.next/static/chunks/01~5c-.ttg~hv.js +1 -0
- package/.next/static/chunks/02jrxwgg0c4jp.js +1 -0
- package/.next/static/chunks/02tb-nh0a2y6t.js +1 -0
- package/.next/static/chunks/03ndokpk6o0.5.js +1 -0
- package/.next/static/chunks/03qz~hx5zgr~d.js +1 -0
- package/.next/static/chunks/042u~0qpgty0o.js +10 -0
- package/.next/static/chunks/050-z9-4lo_4l.js +1 -0
- package/.next/static/chunks/051m0t~qz1jvu.js +1 -0
- package/.next/static/chunks/0755mii5h~0jr.js +1 -0
- package/.next/static/chunks/07_-k85izz7.j.js +1 -0
- package/.next/static/chunks/07qdiaq4h1bev.js +1 -0
- package/.next/static/chunks/07w_f8nwejvtm.js +1 -0
- package/.next/static/chunks/087m534nojkn2.js +1 -0
- package/.next/static/chunks/08tuvmjn9p090.js +1 -0
- package/.next/static/chunks/09k746-3cizz1.js +19 -0
- package/.next/static/chunks/09sekcnc01we8.js +1 -0
- package/.next/static/chunks/0_-a6t77lnxg4.js +1 -0
- package/.next/static/chunks/0_b4esx30vjxq.js +1 -0
- package/.next/static/chunks/0_r~att41ue.r.js +1 -0
- package/.next/static/chunks/0cj6iorqj7he_.js +1 -0
- package/.next/static/chunks/0c~_onh_gv7zj.js +1 -0
- package/.next/static/chunks/0d13hqow~d37h.js +1 -0
- package/.next/static/chunks/0drk956_8nbwg.js +1 -0
- package/.next/static/chunks/0e-txs97b3.x9.js +1 -0
- package/.next/static/chunks/0ezl44_wv~csn.js +1 -0
- package/.next/static/chunks/0g-eqp3qwkojl.js +1 -0
- package/.next/static/chunks/0h5rf~pu59~hu.js +1 -0
- package/.next/static/chunks/0i8.oj~1w~u~..js +1 -0
- package/.next/static/chunks/0iichp621kqto.js +1 -0
- package/.next/static/chunks/{0afrwc5vvwfx4.js → 0iscxmienbk2m.js} +1 -1
- package/.next/static/chunks/0iv9k-z7~xtww.js +1 -0
- package/.next/static/chunks/0k6jf41ge3u~8.js +1 -0
- package/.next/static/chunks/0k9-e5pear~t4.js +3 -0
- package/.next/static/chunks/0kib-9vm23r0j.js +1 -0
- package/.next/static/chunks/0kj.5xdofdrz7.js +1 -0
- package/.next/static/chunks/0lbnukk03a8nv.js +1 -0
- package/.next/static/chunks/0m8e4hy-r8y-4.js +1 -0
- package/.next/static/chunks/{02k085x_j4_bz.js → 0mkryl3ctt_xh.js} +1 -1
- package/.next/static/chunks/0mxp..4l7j1dn.js +1 -0
- package/.next/static/chunks/0o61x2xdye~o2.js +1 -0
- package/.next/static/chunks/0os-c6-aqwq4d.js +1 -0
- package/.next/static/chunks/0pxjn_pm269cw.js +1 -0
- package/.next/static/chunks/0qyxjj5z_is.d.js +1 -0
- package/.next/static/chunks/0s.cyrhyscm8x.js +1 -0
- package/.next/static/chunks/0wvyy~m_e1q5c.js +3 -0
- package/.next/static/chunks/0x96~upcinv2_.js +1 -0
- package/.next/static/chunks/0zo_ws6shrfnh.js +1 -0
- package/.next/static/chunks/0~kj3qxs7kx58.js +1 -0
- package/.next/static/chunks/10rtk-h9y-705.js +2 -0
- package/.next/static/chunks/115_4xjsk0jzh.js +1 -0
- package/.next/static/chunks/12zmqqk8p-b.~.js +1 -0
- package/.next/static/chunks/135nkfxk7so9p.js +1 -0
- package/.next/static/chunks/153z3m3.a2ubk.js +5 -0
- package/.next/static/chunks/15fpord4hyosp.js +1 -0
- package/.next/static/chunks/15~h2wegwdbf4.js +1 -0
- package/.next/static/chunks/16-i4p1ipmpts.js +1 -0
- package/.next/static/chunks/171j55n_9gyxb.js +1 -0
- package/.next/static/chunks/17c6~kld51ls5.js +11 -0
- package/.next/static/chunks/17tv5jbg2hiup.js +1 -0
- package/.next/static/chunks/187a-majiuj8r.js +1 -0
- package/.next/static/media/fraunces-latin-ext-wght-normal.08-a-oz-atsnn.woff2 +0 -0
- package/.next/static/media/fraunces-latin-wght-normal.0l9v6sgnyeoq8.woff2 +0 -0
- package/.next/static/media/fraunces-vietnamese-wght-normal.05ntv1..6v~z7.woff2 +0 -0
- package/.next/static/media/instrument-sans-latin-ext-wght-normal.0td0--1m0lec9.woff2 +0 -0
- package/.next/static/media/instrument-sans-latin-wght-normal.10bj0-z630vnn.woff2 +0 -0
- package/.next/types/routes.d.ts +7 -10
- package/.next/types/validator.ts +33 -60
- package/package.json +4 -2
- package/.next/server/app/connections/knowledge/page/app-paths-manifest.json +0 -3
- package/.next/server/app/connections/knowledge/page/next-font-manifest.json +0 -6
- package/.next/server/app/connections/knowledge/page.js.nft.json +0 -1
- package/.next/server/app/connections/knowledge/page_client-reference-manifest.js +0 -3
- package/.next/server/app/connections/knowledge.html +0 -1
- package/.next/server/app/connections/knowledge.rsc +0 -27
- package/.next/server/app/connections/knowledge.segments/_full.segment.rsc +0 -27
- package/.next/server/app/connections/knowledge.segments/_head.segment.rsc +0 -6
- package/.next/server/app/connections/knowledge.segments/_index.segment.rsc +0 -11
- package/.next/server/app/connections/knowledge.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/connections/knowledge.segments/connections/knowledge/__PAGE__.segment.rsc +0 -9
- package/.next/server/app/connections/knowledge.segments/connections/knowledge.segment.rsc +0 -5
- package/.next/server/app/connections/knowledge.segments/connections.segment.rsc +0 -5
- package/.next/server/app/settings/advanced/page/app-paths-manifest.json +0 -3
- package/.next/server/app/settings/advanced/page/next-font-manifest.json +0 -6
- package/.next/server/app/settings/advanced/page.js.nft.json +0 -1
- package/.next/server/app/settings/advanced/page_client-reference-manifest.js +0 -3
- package/.next/server/app/settings/advanced.html +0 -1
- package/.next/server/app/settings/advanced.rsc +0 -27
- package/.next/server/app/settings/advanced.segments/_full.segment.rsc +0 -27
- package/.next/server/app/settings/advanced.segments/_head.segment.rsc +0 -6
- package/.next/server/app/settings/advanced.segments/_index.segment.rsc +0 -11
- package/.next/server/app/settings/advanced.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/settings/advanced.segments/settings/advanced/__PAGE__.segment.rsc +0 -9
- package/.next/server/app/settings/advanced.segments/settings/advanced.segment.rsc +0 -5
- package/.next/server/app/settings/advanced.segments/settings.segment.rsc +0 -5
- package/.next/server/app/settings/backends/page/app-paths-manifest.json +0 -3
- package/.next/server/app/settings/backends/page/next-font-manifest.json +0 -6
- package/.next/server/app/settings/backends/page.js +0 -17
- package/.next/server/app/settings/backends/page_client-reference-manifest.js +0 -3
- package/.next/server/app/settings/backends.html +0 -1
- package/.next/server/app/settings/backends.rsc +0 -24
- package/.next/server/app/settings/backends.segments/_full.segment.rsc +0 -24
- package/.next/server/app/settings/backends.segments/_head.segment.rsc +0 -6
- package/.next/server/app/settings/backends.segments/_index.segment.rsc +0 -11
- package/.next/server/app/settings/backends.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/settings/backends.segments/settings/backends/__PAGE__.segment.rsc +0 -6
- package/.next/server/app/settings/backends.segments/settings/backends.segment.rsc +0 -5
- package/.next/server/app/settings/backends.segments/settings.segment.rsc +0 -5
- package/.next/server/app/settings/connections/page/app-paths-manifest.json +0 -3
- package/.next/server/app/settings/connections/page/next-font-manifest.json +0 -6
- package/.next/server/app/settings/connections/page.js +0 -17
- package/.next/server/app/settings/connections/page_client-reference-manifest.js +0 -3
- package/.next/server/app/settings/connections.html +0 -1
- package/.next/server/app/settings/connections.rsc +0 -24
- package/.next/server/app/settings/connections.segments/_full.segment.rsc +0 -24
- package/.next/server/app/settings/connections.segments/_head.segment.rsc +0 -6
- package/.next/server/app/settings/connections.segments/_index.segment.rsc +0 -11
- package/.next/server/app/settings/connections.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/settings/connections.segments/settings/connections/__PAGE__.segment.rsc +0 -6
- package/.next/server/app/settings/connections.segments/settings/connections.segment.rsc +0 -5
- package/.next/server/app/settings/connections.segments/settings.segment.rsc +0 -5
- package/.next/server/app/settings/journal/page/app-paths-manifest.json +0 -3
- package/.next/server/app/settings/journal/page/next-font-manifest.json +0 -6
- package/.next/server/app/settings/journal/page/react-loadable-manifest.json +0 -8
- package/.next/server/app/settings/journal/page_client-reference-manifest.js +0 -3
- package/.next/server/app/settings/journal.html +0 -1
- package/.next/server/app/settings/journal.rsc +0 -27
- package/.next/server/app/settings/journal.segments/_full.segment.rsc +0 -27
- package/.next/server/app/settings/journal.segments/_head.segment.rsc +0 -6
- package/.next/server/app/settings/journal.segments/_index.segment.rsc +0 -11
- package/.next/server/app/settings/journal.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/settings/journal.segments/settings/journal/__PAGE__.segment.rsc +0 -9
- package/.next/server/app/settings/journal.segments/settings/journal.segment.rsc +0 -5
- package/.next/server/app/settings/journal.segments/settings.segment.rsc +0 -5
- package/.next/server/app/settings/messaging/page/app-paths-manifest.json +0 -3
- package/.next/server/app/settings/messaging/page/next-font-manifest.json +0 -6
- package/.next/server/app/settings/messaging/page/react-loadable-manifest.json +0 -8
- package/.next/server/app/settings/messaging/page.js +0 -17
- package/.next/server/app/settings/messaging/page.js.nft.json +0 -1
- package/.next/server/app/settings/messaging/page_client-reference-manifest.js +0 -3
- package/.next/server/app/settings/messaging.html +0 -1
- package/.next/server/app/settings/messaging.meta +0 -16
- package/.next/server/app/settings/messaging.rsc +0 -24
- package/.next/server/app/settings/messaging.segments/_full.segment.rsc +0 -24
- package/.next/server/app/settings/messaging.segments/_head.segment.rsc +0 -6
- package/.next/server/app/settings/messaging.segments/_index.segment.rsc +0 -11
- package/.next/server/app/settings/messaging.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/settings/messaging.segments/settings/messaging/__PAGE__.segment.rsc +0 -6
- package/.next/server/app/settings/messaging.segments/settings/messaging.segment.rsc +0 -5
- package/.next/server/app/settings/messaging.segments/settings.segment.rsc +0 -5
- package/.next/server/app/settings/processes/page/app-paths-manifest.json +0 -3
- package/.next/server/app/settings/processes/page/build-manifest.json +0 -18
- package/.next/server/app/settings/processes/page/next-font-manifest.json +0 -6
- package/.next/server/app/settings/processes/page/react-loadable-manifest.json +0 -8
- package/.next/server/app/settings/processes/page/server-reference-manifest.json +0 -4
- package/.next/server/app/settings/processes/page.js +0 -17
- package/.next/server/app/settings/processes/page_client-reference-manifest.js +0 -3
- package/.next/server/app/settings/processes.html +0 -1
- package/.next/server/app/settings/processes.meta +0 -16
- package/.next/server/app/settings/processes.rsc +0 -24
- package/.next/server/app/settings/processes.segments/_full.segment.rsc +0 -24
- package/.next/server/app/settings/processes.segments/_head.segment.rsc +0 -6
- package/.next/server/app/settings/processes.segments/_index.segment.rsc +0 -11
- package/.next/server/app/settings/processes.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/settings/processes.segments/settings/processes/__PAGE__.segment.rsc +0 -6
- package/.next/server/app/settings/processes.segments/settings/processes.segment.rsc +0 -5
- package/.next/server/app/settings/processes.segments/settings.segment.rsc +0 -5
- package/.next/server/app/settings/routines/page/app-paths-manifest.json +0 -3
- package/.next/server/app/settings/routines/page/build-manifest.json +0 -18
- package/.next/server/app/settings/routines/page/next-font-manifest.json +0 -6
- package/.next/server/app/settings/routines/page/react-loadable-manifest.json +0 -8
- package/.next/server/app/settings/routines/page/server-reference-manifest.json +0 -4
- package/.next/server/app/settings/routines/page.js.nft.json +0 -1
- package/.next/server/app/settings/routines/page_client-reference-manifest.js +0 -3
- package/.next/server/app/settings/routines.html +0 -1
- package/.next/server/app/settings/routines.meta +0 -16
- package/.next/server/app/settings/routines.rsc +0 -27
- package/.next/server/app/settings/routines.segments/_full.segment.rsc +0 -27
- package/.next/server/app/settings/routines.segments/_head.segment.rsc +0 -6
- package/.next/server/app/settings/routines.segments/_index.segment.rsc +0 -11
- package/.next/server/app/settings/routines.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/settings/routines.segments/settings/routines/__PAGE__.segment.rsc +0 -9
- package/.next/server/app/settings/routines.segments/settings/routines.segment.rsc +0 -5
- package/.next/server/app/settings/routines.segments/settings.segment.rsc +0 -5
- package/.next/server/app/settings/schedule/page/app-paths-manifest.json +0 -3
- package/.next/server/app/settings/schedule/page/build-manifest.json +0 -18
- package/.next/server/app/settings/schedule/page/next-font-manifest.json +0 -6
- package/.next/server/app/settings/schedule/page/react-loadable-manifest.json +0 -8
- package/.next/server/app/settings/schedule/page/server-reference-manifest.json +0 -4
- package/.next/server/app/settings/schedule/page_client-reference-manifest.js +0 -3
- package/.next/server/app/settings/schedule.html +0 -1
- package/.next/server/app/settings/schedule.meta +0 -16
- package/.next/server/app/settings/schedule.rsc +0 -27
- package/.next/server/app/settings/schedule.segments/_full.segment.rsc +0 -27
- package/.next/server/app/settings/schedule.segments/_head.segment.rsc +0 -6
- package/.next/server/app/settings/schedule.segments/_index.segment.rsc +0 -11
- package/.next/server/app/settings/schedule.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/settings/schedule.segments/settings/schedule/__PAGE__.segment.rsc +0 -9
- package/.next/server/app/settings/schedule.segments/settings/schedule.segment.rsc +0 -5
- package/.next/server/app/settings/schedule.segments/settings.segment.rsc +0 -5
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_connections_knowledge_page_actions_06w7ski.js +0 -3
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_advanced_page_actions_0x06bjx.js +0 -3
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_backends_page_actions_0z3vipu.js +0 -3
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_connections_page_actions_0n0b1rb.js +0 -3
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_journal_page_actions_0_.h.-y.js +0 -3
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_messaging_page_actions_0czehcp.js +0 -3
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_processes_page_actions_0zbumx3.js +0 -3
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_routines_page_actions_0-37ia4.js +0 -3
- package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_schedule_page_actions_045j4zv.js +0 -3
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0s6jb_7.js +0 -4
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0wu80v6.js +0 -4
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0~yic40.js +0 -4
- package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_113c8xj.js +0 -4
- package/.next/server/chunks/ssr/[root-of-the-server]__00ch_ms._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__00s5z4o._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__03yuq_v._.js +0 -7
- package/.next/server/chunks/ssr/[root-of-the-server]__0kcivrd._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0kvyeu1._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0t-9jvt._.js +0 -3
- package/.next/server/chunks/ssr/_0-3uzu1._.js +0 -3
- package/.next/server/chunks/ssr/_0.yhrky._.js +0 -3
- package/.next/server/chunks/ssr/_0.zct4p._.js +0 -3
- package/.next/server/chunks/ssr/_00_--i0._.js +0 -3
- package/.next/server/chunks/ssr/_00ej8j9._.js +0 -3
- package/.next/server/chunks/ssr/_03bq.de._.js +0 -3
- package/.next/server/chunks/ssr/_04jkn8c._.js +0 -3
- package/.next/server/chunks/ssr/_04kt9.8._.js +0 -3
- package/.next/server/chunks/ssr/_05jfize._.js +0 -3
- package/.next/server/chunks/ssr/_06_m-vp._.js +0 -3
- package/.next/server/chunks/ssr/_09-o1vq._.js +0 -3
- package/.next/server/chunks/ssr/_095u19_._.js +0 -3
- package/.next/server/chunks/ssr/_0_qwmiz._.js +0 -3
- package/.next/server/chunks/ssr/_0bzj8lx._.js +0 -3
- package/.next/server/chunks/ssr/_0cccma-._.js +0 -3
- package/.next/server/chunks/ssr/_0da0k2u._.js +0 -3
- package/.next/server/chunks/ssr/_0evcd7w._.js +0 -3
- package/.next/server/chunks/ssr/_0e~4oah._.js +0 -3
- package/.next/server/chunks/ssr/_0ibeuw6._.js +0 -3
- package/.next/server/chunks/ssr/_0ixicrb._.js +0 -3
- package/.next/server/chunks/ssr/_0jg6hy0._.js +0 -3
- package/.next/server/chunks/ssr/_0jrxrig._.js +0 -3
- package/.next/server/chunks/ssr/_0mbbas-._.js +0 -3
- package/.next/server/chunks/ssr/_0n5nlcq._.js +0 -3
- package/.next/server/chunks/ssr/_0nvpv18._.js +0 -3
- package/.next/server/chunks/ssr/_0o~hk.m._.js +0 -3
- package/.next/server/chunks/ssr/_0pdbiu.._.js +0 -9
- package/.next/server/chunks/ssr/_0pg6_56._.js +0 -3
- package/.next/server/chunks/ssr/_0q8o~q1._.js +0 -3
- package/.next/server/chunks/ssr/_0r1lb0f._.js +0 -3
- package/.next/server/chunks/ssr/_0r25vcp._.js +0 -3
- package/.next/server/chunks/ssr/_0r9.4nv._.js +0 -3
- package/.next/server/chunks/ssr/_0tf7hjz._.js +0 -3
- package/.next/server/chunks/ssr/_0xmdrbq._.js +0 -3
- package/.next/server/chunks/ssr/_0zz58.-._.js +0 -5
- package/.next/server/chunks/ssr/_0~62r4-._.js +0 -3
- package/.next/server/chunks/ssr/_0~fi8o-._.js +0 -3
- package/.next/server/chunks/ssr/_10s6iy.._.js +0 -3
- package/.next/server/chunks/ssr/_11pdc0s._.js +0 -3
- package/.next/server/chunks/ssr/_12u1eq4._.js +0 -3
- package/.next/server/chunks/ssr/_12~0n.1._.js +0 -3
- package/.next/server/chunks/ssr/_139rl~~._.js +0 -3
- package/.next/server/chunks/ssr/node_modules__pnpm_0ehnn5t._.js +0 -3
- package/.next/server/chunks/ssr/packages_dashboard_src_0ylj~og._.js +0 -3
- package/.next/server/chunks/ssr/packages_dashboard_src_0z~3g5n._.js +0 -3
- package/.next/server/chunks/ssr/packages_dashboard_src_app_connections_knowledge_page_tsx_027jwd3._.js +0 -3
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_advanced_page_tsx_0o~_885._.js +0 -3
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_routines_page_tsx_0wcgtqz._.js +0 -27
- package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_schedule_page_tsx_0b8zr2l._.js +0 -3
- package/.next/static/chunks/0-7buty0ytvtv.js +0 -1
- package/.next/static/chunks/0-dw-4a8vg9m8.js +0 -1
- package/.next/static/chunks/0.42rv-zt_0x9.js +0 -1
- package/.next/static/chunks/0.za~0o8~5n1~.css +0 -1
- package/.next/static/chunks/0.~7m9beb0bmp.js +0 -11
- package/.next/static/chunks/00bnu7r6428v0.js +0 -5
- package/.next/static/chunks/00w3emoohg-8r.js +0 -1
- package/.next/static/chunks/01v7jn283j2tm.js +0 -1
- package/.next/static/chunks/04l41qp5lpt_e.js +0 -1
- package/.next/static/chunks/04ufv2_7i_b6..js +0 -1
- package/.next/static/chunks/053f~_moi~csx.js +0 -2
- package/.next/static/chunks/05xugzf8sfrxt.js +0 -1
- package/.next/static/chunks/05z4egti~pj9t.js +0 -1
- package/.next/static/chunks/073hnld9_qq5g.js +0 -1
- package/.next/static/chunks/08ql4siwtlgpn.js +0 -1
- package/.next/static/chunks/08wmxlql_xq.d.js +0 -1
- package/.next/static/chunks/0e3ds9mkx7.~v.js +0 -1
- package/.next/static/chunks/0eaf903zc7v~5.js +0 -1
- package/.next/static/chunks/0fri59ogcsfbl.js +0 -1
- package/.next/static/chunks/0gj-lf~wlbr8e.js +0 -1
- package/.next/static/chunks/0gurc-kqffso6.js +0 -1
- package/.next/static/chunks/0gyst06ap~-n~.js +0 -19
- package/.next/static/chunks/0g~py-0sje~1m.js +0 -1
- package/.next/static/chunks/0hk8v-849puw8.js +0 -1
- package/.next/static/chunks/0hlvfkk1o66wf.js +0 -1
- package/.next/static/chunks/0hog4tqr3.skm.js +0 -10
- package/.next/static/chunks/0igwe6jdxslbt.js +0 -1
- package/.next/static/chunks/0ikm~jl5uiw6-.js +0 -1
- package/.next/static/chunks/0j15hn~z~i56..js +0 -1
- package/.next/static/chunks/0jffu_yb.90.i.js +0 -1
- package/.next/static/chunks/0mfem_s.3s4r-.js +0 -1
- package/.next/static/chunks/0n3b0fpsgml2x.js +0 -1
- package/.next/static/chunks/0p.w04inifyq..js +0 -1
- package/.next/static/chunks/0qqty6t-yyty4.js +0 -3
- package/.next/static/chunks/0q~dvm61tpf3~.js +0 -1
- package/.next/static/chunks/0rt76ki54i~hm.js +0 -1
- package/.next/static/chunks/0scggusqhhid7.js +0 -1
- package/.next/static/chunks/0t.xvj-t_vtrp.js +0 -25
- package/.next/static/chunks/0t9rda60_m-vk.js +0 -1
- package/.next/static/chunks/0u9qsqnsm-skj.js +0 -1
- package/.next/static/chunks/0urw8_v9f97en.js +0 -1
- package/.next/static/chunks/0vcwfsuf878wc.js +0 -1
- package/.next/static/chunks/0vivqt8njmkpv.js +0 -1
- package/.next/static/chunks/0vktbjh2e4xpg.js +0 -1
- package/.next/static/chunks/0v~gg~hn-8_k2.js +0 -1
- package/.next/static/chunks/0ws8mq3rp~572.js +0 -1
- package/.next/static/chunks/0x..-zi0av524.js +0 -1
- package/.next/static/chunks/0xsb_r_t_1r-u.js +0 -1
- package/.next/static/chunks/0zaa6zhrjsaik.js +0 -1
- package/.next/static/chunks/0zimhqr6r4xlz.js +0 -1
- package/.next/static/chunks/0~7d6m~du_b.d.js +0 -1
- package/.next/static/chunks/0~nct--xt2~bi.js +0 -1
- package/.next/static/chunks/1121be2-kv8g~.js +0 -1
- package/.next/static/chunks/1257_06cutyq_.js +0 -1
- package/.next/static/chunks/12ee4r9-orwi8.js +0 -1
- package/.next/static/chunks/13kdqs0pmjqy5.js +0 -1
- package/.next/static/chunks/13tf0oa.w743m.js +0 -1
- package/.next/static/chunks/16s5r16k361sd.js +0 -1
- package/.next/static/chunks/16tqshshex~qk.js +0 -1
- package/.next/static/chunks/17846-azlpszq.js +0 -1
- package/.next/static/chunks/17b2~cmid8qeu.js +0 -3
- package/.next/static/chunks/17rcecfesskxn.js +0 -1
- /package/.next/server/app/{connections/knowledge → browser}/page/build-manifest.json +0 -0
- /package/.next/server/app/{connections/knowledge → browser}/page/server-reference-manifest.json +0 -0
- /package/.next/server/app/{settings/advanced → connections/notes}/page/build-manifest.json +0 -0
- /package/.next/server/app/{settings/advanced → connections/notes}/page/server-reference-manifest.json +0 -0
- /package/.next/server/app/settings/{backends → danger-zone}/page/build-manifest.json +0 -0
- /package/.next/server/app/settings/{backends → danger-zone}/page/server-reference-manifest.json +0 -0
- /package/.next/server/app/settings/{connections → hours}/page/build-manifest.json +0 -0
- /package/.next/server/app/settings/{connections → hours}/page/server-reference-manifest.json +0 -0
- /package/.next/server/app/settings/{journal → infrastructure}/page/build-manifest.json +0 -0
- /package/.next/server/app/settings/{journal → infrastructure}/page/server-reference-manifest.json +0 -0
- /package/.next/server/app/settings/{messaging → safety}/page/build-manifest.json +0 -0
- /package/.next/server/app/settings/{messaging → safety}/page/server-reference-manifest.json +0 -0
- /package/.next/static/{i_QR0WWkZFeICcOMbfuUs → 4Wu33OvzutxPxXUu1PWPC}/_buildManifest.js +0 -0
- /package/.next/static/{i_QR0WWkZFeICcOMbfuUs → 4Wu33OvzutxPxXUu1PWPC}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,23682,e=>{"use strict";var t=e.i(54710),s=e.i(34416),a=e.i(59481),r=e.i(60168),n=e.i(20014),i=e.i(74490),l=e.i(50862),o=e.i(85631),d=e.i(76610),c=e.i(2745),u=e.i(36451),m=e.i(79634),h=e.i(48467),p=e.i(8652),x=e.i(20870),g=e.i(14260),j=e.i(57415),y=e.i(95486),f=e.i(65268);let b=["git-accounts"];function v(){return(0,g.useQuery)({queryKey:b,queryFn:()=>f.api.get("/git-accounts"),staleTime:3e4})}let N=/^[a-z0-9._-]+$/,k={alias:"",type:"github",authMode:"gh-cli-profile",ghProfile:"",host:"github.com",token:""};function w(){let e,a,i=v(),l=(e=(0,y.useQueryClient)(),(0,j.useMutation)({mutationFn:({alias:e,payload:t})=>f.api.put(`/git-accounts/${e}`,t),onSuccess:()=>{e.invalidateQueries({queryKey:b}),e.invalidateQueries({queryKey:["config"]})}})),o=(a=(0,y.useQueryClient)(),(0,j.useMutation)({mutationFn:e=>f.api.delete(`/git-accounts/${e}`),onSuccess:()=>{a.invalidateQueries({queryKey:b}),a.invalidateQueries({queryKey:["config"]})}})),c=(0,j.useMutation)({mutationFn:e=>f.api.post(`/git-accounts/${e}/probe`,{})}),[u,h]=(0,s.useState)(k),[g,w]=(0,s.useState)(null),[S,P]=(0,s.useState)({}),A=i.data?.accounts??[],B=async()=>{if(w(null),!N.test(u.alias))return void w("Alias must use lowercase letters, digits, dot, dash, or underscore.");if("gh-cli-profile"===u.authMode&&!u.ghProfile.trim())return void w("gh-cli-profile mode requires a gh login name.");if("pat-keychain"===u.authMode&&!u.token.trim())return void w("PAT mode requires a token on first save.");try{await l.mutateAsync({alias:u.alias,payload:{type:u.type,authMode:u.authMode,host:u.host||"github.com",..."gh-cli-profile"===u.authMode?{ghProfile:u.ghProfile}:{},...u.token?{token:u.token}:{}}}),h(k)}catch(e){w(e instanceof Error?e.message:"Failed to save account.")}},M=async e=>{P(t=>({...t,[e]:"Probing…"}));try{let t=await c.mutateAsync(e),s=t.ok?`OK — authenticated as ${t.login}`:`Probe failed: ${t.reason??"unknown"}`;P(t=>({...t,[e]:s}))}catch(t){P(s=>({...s,[e]:t instanceof Error?t.message:"Probe failed"}))}};return(0,t.jsx)(x.ConnectionCard,{name:"Git Accounts",icon:(0,t.jsx)(d.KeyRound,{className:"h-4 w-4"}),status:(0,x.deriveConfiguredStatus)(A.length>0),children:(0,t.jsxs)("div",{className:"mt-2 space-y-3",children:[(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Named credentials attached to watched repositories via"," ",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:"accountAlias"}),". Direct mode injects the resolved token per poll; Delegated mode currently uses the default ",(0,t.jsx)("code",{children:"gh"})," profile."]}),g&&(0,t.jsx)(m.Alert,{variant:"error",children:g}),(0,t.jsxs)("div",{className:"space-y-2",children:[0===A.length&&(0,t.jsx)("p",{className:"text-xs italic text-muted-foreground",children:"No accounts configured. Add one below."}),A.map(e=>(0,t.jsx)(C,{entry:e,onDelete:()=>o.mutate(e.alias),onProbe:()=>M(e.alias),probeMessage:S[e.alias],busy:o.isPending||c.isPending},e.alias))]}),(0,t.jsxs)("div",{className:"space-y-2 rounded border bg-background p-3",children:[(0,t.jsx)("p",{className:"text-xs font-medium",children:"Add account"}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(p.Input,{value:u.alias,onChange:e=>h(t=>({...t,alias:e.target.value})),placeholder:"alias (e.g. work-github)",className:"max-w-[200px]"}),(0,t.jsxs)("select",{value:u.authMode,onChange:e=>h(t=>({...t,authMode:e.target.value})),className:"h-9 rounded border bg-background px-2 text-sm",children:[(0,t.jsx)("option",{value:"gh-cli-profile",children:"gh CLI profile"}),(0,t.jsx)("option",{value:"pat-keychain",children:"Personal Access Token"})]}),(0,t.jsx)(p.Input,{value:u.host,onChange:e=>h(t=>({...t,host:e.target.value})),placeholder:"github.com",className:"max-w-[180px]"}),"gh-cli-profile"===u.authMode?(0,t.jsx)(p.Input,{value:u.ghProfile,onChange:e=>h(t=>({...t,ghProfile:e.target.value})),placeholder:"gh login name (e.g. alice)",className:"max-w-[220px]"}):(0,t.jsx)(p.Input,{type:"password",value:u.token,onChange:e=>h(t=>({...t,token:e.target.value})),placeholder:"ghp_… (PAT — never persisted to disk)",className:"max-w-[280px]"}),(0,t.jsxs)(n.Button,{size:"sm",variant:"outline",onClick:B,disabled:l.isPending||!u.alias.trim(),children:[(0,t.jsx)(r.Plus,{className:"mr-1 h-3.5 w-3.5"}),"Save"]})]})]})]})})}function C({entry:e,onDelete:s,onProbe:a,probeMessage:r,busy:i}){return(0,t.jsxs)("div",{className:"flex flex-col gap-2 rounded border bg-background p-2 sm:flex-row sm:items-center",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("p",{className:"font-mono text-sm font-medium",children:e.alias}),(0,t.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(h.Badge,{variant:"gray",children:e.host}),(0,t.jsx)(h.Badge,{variant:"pat-keychain"===e.authMode?"green":"gray",children:e.authMode}),e.ghProfile&&(0,t.jsxs)(h.Badge,{variant:"gray",children:["user: ",e.ghProfile]}),!0===e.tokenStored&&(0,t.jsx)(h.Badge,{variant:"green",children:"token stored"}),!1===e.tokenStored&&(0,t.jsx)(h.Badge,{variant:"red",children:"no token"})]}),r&&(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:r})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)(n.Button,{size:"sm",variant:"ghost",onClick:a,disabled:i,children:[(0,t.jsx)(c.ShieldCheck,{className:"mr-1 h-3.5 w-3.5"}),"Probe"]}),(0,t.jsx)(n.Button,{size:"sm",variant:"ghost",onClick:s,disabled:i,className:"h-8 w-8 p-0",children:(0,t.jsx)(u.X,{className:"h-3.5 w-3.5"})})]})]})}var S=e.i(77379);let P=(0,S.default)("FileType2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M2 13v-1h6v1",key:"1dh9dg"}],["path",{d:"M5 12v6",key:"150t9c"}],["path",{d:"M4 18h2",key:"1xrofg"}]]);var A=e.i(72740),B=e.i(64213),M=e.i(7663),R=e.i(43477);let H=e=>["git-template",e],G=["git-template","retemplate-status"];function F(){return(0,g.useQuery)({queryKey:G,queryFn:()=>f.api.get("/git/templates/retemplate/status"),refetchInterval:e=>{let t=e.state.data;return!!(t?.status&&!t.status.finalizedAt)&&2e3},staleTime:1e3})}var L=e.i(1733);function O(e){return"project"===e?"Project (projects/<slug>.md)":"Repo-only (git-repos/<slug>.md)"}let T=["project","git-repo"];function q(){let e=F(),s=e.data?.status??null,a=function(e){if(!e)return null;if(!e.finalizedAt)return{label:"Re-template in progress…",tone:"info"};switch(e.finalStatus){case"success":default:return{label:"Re-template completed",tone:"success"};case"partial":return{label:"Re-template completed with rollbacks",tone:"warning"};case"failed":return{label:"Re-template failed",tone:"error"}}}(s);return(0,t.jsx)(x.ConnectionCard,{name:"Project document templates",icon:(0,t.jsx)(P,{className:"h-4 w-4"}),status:(0,x.deriveConfiguredStatus)(!0),children:(0,t.jsxs)("div",{className:"mt-2 space-y-3",children:[(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Edit the templates the agent uses when it (re)writes"," ",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:"plans/projects/<slug>.md"})," ","and"," ",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:"knowledge/repos/<slug>/overview.md"}),". Changes are forward-only — existing files keep their old shape until the next git lifecycle event touches them, or until you press “Apply” below to re-conform every existing file at once."]}),a&&(0,t.jsx)(m.Alert,{variant:"error"===a.tone?"error":"warning"===a.tone?"warning":"success"===a.tone?"success":"info",children:(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)("span",{children:a.label}),s&&(0,t.jsxs)("span",{className:"text-xs font-mono text-muted-foreground",children:[s.kind," · run #",s.scheduleId]})]})}),T.map(e=>(0,t.jsx)(D,{kind:e},e)),(0,t.jsx)(z,{})]})})}function D({kind:e}){let a,r,i,l=(0,g.useQuery)({queryKey:H(e),queryFn:()=>f.api.get(`/git/templates/${encodeURIComponent(e)}`),staleTime:5e3}),o=(a=(0,y.useQueryClient)(),(0,j.useMutation)({mutationFn:t=>f.api.put(`/git/templates/${encodeURIComponent(e)}`,{content:t}),onSuccess:()=>{a.invalidateQueries({queryKey:H(e)})}})),d=(r=(0,y.useQueryClient)(),(0,j.useMutation)({mutationFn:()=>f.api.post(`/git/templates/${encodeURIComponent(e)}/apply`),onSuccess:()=>{r.invalidateQueries({queryKey:G})}})),c=(0,L.useRepositories)(),[u,p]=(0,s.useState)(null),[x,b]=(0,s.useState)(null),[v,N]=(0,s.useState)(!1),[k,w]=(0,s.useState)(null),C="project"===e?"project":"repo-only",S=(0,s.useMemo)(()=>(c.data?.repositories??[]).filter(e=>e.classification===C).length,[c.data?.repositories,C]),P=l.data?.active??"",F=l.data?.bundled??"",T=l.data?.hasOverride??!1,q=u??P,z=null!==u&&u!==P,I=async()=>{if(null!==u){b(null);try{await o.mutateAsync(u),p(null)}catch(e){b(e instanceof Error?e.message:"Failed to save template")}}},K=(i=O(e),{title:`Re-template ${S} ${"project"===e?"project":"git-repo"} document${1===S?"":"s"}?`,bullets:[`${i} files will be re-conformed to the current template body.`,"Re-templating may lose information or formatting that the new template does not represent. Files matching the previous schema's sections may have content moved, merged, or dropped depending on how the template changed.","Every targeted file is auto-backed up before the run. The backup path is shown after you confirm.","If a file's session aborts mid-write, the daemon restores it from backup automatically."],acknowledge:"Yes, apply the template"}),U=async()=>{b(null);try{let e=await d.mutateAsync();w(e),N(!1)}catch(e){b(e instanceof Error?e.message:"Failed to apply template")}};return(0,t.jsxs)("div",{className:"rounded border bg-card p-3 space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:O(e)}),T&&(0,t.jsx)(h.Badge,{variant:"green",children:"overridden"})]}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:"project"===e?"project.md":"git-repo.md"})]}),x&&(0,t.jsx)(m.Alert,{variant:"error",children:x}),(0,t.jsxs)("div",{className:"grid gap-2 lg:grid-cols-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-xs font-medium text-muted-foreground",children:"Bundled (read-only)"}),(0,t.jsx)("textarea",{value:F,readOnly:!0,className:"h-64 w-full resize-none rounded border bg-muted p-2 font-mono text-xs"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-xs font-medium text-muted-foreground",children:"Active (edit and save)"}),(0,t.jsx)("textarea",{value:q,onChange:e=>p(e.target.value),className:"h-64 w-full resize-none rounded border bg-background p-2 font-mono text-xs",spellCheck:!1,disabled:l.isLoading})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsxs)(n.Button,{size:"sm",variant:"outline",onClick:I,disabled:!z||o.isPending,children:[(0,t.jsx)(M.Save,{className:"mr-1 h-3.5 w-3.5"}),"Save template"]}),(0,t.jsx)(n.Button,{size:"sm",variant:"ghost",onClick:()=>{p(F)},disabled:l.isLoading,children:"Reset to bundled"}),(0,t.jsxs)(n.Button,{size:"sm",variant:"default",onClick:()=>N(!0),disabled:d.isPending,children:[d.isPending?(0,t.jsx)(A.Loader2,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(B.Play,{className:"mr-1 h-3.5 w-3.5"}),"Apply current template to existing ","project"===e?"projects":"git-repos"]})]}),k&&(0,t.jsx)(m.Alert,{variant:"info",children:(0,t.jsxs)("div",{className:"space-y-1 text-xs",children:[(0,t.jsxs)("div",{children:["Re-template enqueued — schedule #",k.scheduleId,","," ",k.targets.length," file(s) backed up."]}),(0,t.jsxs)("div",{className:"font-mono text-muted-foreground break-all",children:["backup: ",k.backupRoot]})]})}),(0,t.jsx)(R.Sheet,{open:v,onOpenChange:N,children:(0,t.jsxs)(R.SheetContent,{side:"right",className:"w-[480px] sm:w-[540px]",children:[(0,t.jsx)(R.SheetHeader,{children:(0,t.jsx)(R.SheetTitle,{children:K.title})}),(0,t.jsxs)("div",{className:"mt-4 space-y-3 text-sm",children:[(0,t.jsx)("ul",{className:"list-disc space-y-1 pl-5",children:K.bullets.map(e=>(0,t.jsx)("li",{children:e},e))}),(0,t.jsxs)("div",{className:"flex gap-2 pt-2",children:[(0,t.jsxs)(n.Button,{size:"sm",onClick:U,disabled:d.isPending,children:[d.isPending&&(0,t.jsx)(A.Loader2,{className:"mr-1 h-3.5 w-3.5 animate-spin"}),K.acknowledge]}),(0,t.jsx)(n.Button,{size:"sm",variant:"ghost",onClick:()=>N(!1),children:"Cancel"})]})]})]})})]})}function z(){let e=F(),a=e.data?.status??null,r=(0,s.useMemo)(()=>a?Object.values(a.files).map(e=>({slug:e.slug,contextFile:e.contextFile,status:e.status,reason:e.reason??null,error:e.error??null,bytesDelta:void 0!==e.beforeBytes&&void 0!==e.afterBytes?e.afterBytes-e.beforeBytes:null,startedAt:e.startedAt??null,completedAt:e.completedAt??null})).sort((e,t)=>e.slug.localeCompare(t.slug)):[],[a]),n=(0,s.useMemo)(()=>(function(e){let t={pending:0,started:0,completed:0,skipped:0,failed:0,rolled_back:0};for(let s of e)t[s.status]+=1;return t})(r),[r]);return a?(0,t.jsxs)("div",{className:"rounded border bg-card p-3 space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:"Last re-template run"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1 text-xs",children:Object.entries(n).map(([e,s])=>s>0?(0,t.jsxs)(h.Badge,{variant:I(e),children:[e,": ",s]},e):null)})]}),(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:"w-full text-xs",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"border-b text-left text-muted-foreground",children:[(0,t.jsx)("th",{className:"px-2 py-1",children:"Slug"}),(0,t.jsx)("th",{className:"px-2 py-1",children:"Status"}),(0,t.jsx)("th",{className:"px-2 py-1",children:"File"}),(0,t.jsx)("th",{className:"px-2 py-1",children:"Bytes Δ"}),(0,t.jsx)("th",{className:"px-2 py-1",children:"Note"})]})}),(0,t.jsx)("tbody",{children:r.map(e=>(0,t.jsxs)("tr",{className:"border-b last:border-0",children:[(0,t.jsx)("td",{className:"px-2 py-1 font-mono",children:e.slug}),(0,t.jsx)("td",{className:"px-2 py-1",children:(0,t.jsx)(h.Badge,{variant:I(e.status),children:e.status})}),(0,t.jsx)("td",{className:"px-2 py-1 font-mono text-muted-foreground",children:e.contextFile}),(0,t.jsx)("td",{className:"px-2 py-1",children:null===e.bytesDelta?"—":e.bytesDelta>=0?`+${e.bytesDelta}`:`${e.bytesDelta}`}),(0,t.jsx)("td",{className:"px-2 py-1 text-muted-foreground",children:e.error??e.reason??""})]},e.slug))})]})})]}):(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"No re-template runs recorded yet."})}function I(e){switch(e){case"completed":return"green";case"skipped":return"gray";case"started":case"pending":return"blue";case"failed":return"red";case"rolled_back":return"amber";default:return"default"}}let K=(0,S.default)("FilePen",[["path",{d:"M12.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v9.5",key:"1couwa"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"1y4qbx"}]]);var U=e.i(25795);let Q=["task-flows"],$=["git.","github."];function E(){let e,a,r=(0,g.useQuery)({queryKey:Q,queryFn:()=>f.api.get("/task-flows"),staleTime:3e4}),i=(0,s.useMemo)(()=>(r.data?.flows??[]).filter(e=>$.some(t=>e.key.startsWith(t))),[r.data]),[l,o]=(0,s.useState)(null),d=l??(i.length>0?i[0].key:null),c=(0,g.useQuery)({queryKey:["task-flow",d],queryFn:()=>null===d?Promise.reject(Error("no_key")):f.api.get(`/task-flows/${encodeURIComponent(d)}`),enabled:null!==d,staleTime:5e3}),u=(e=(0,y.useQueryClient)(),(0,j.useMutation)({mutationFn:({key:e,content:t})=>f.api.put(`/task-flows/${encodeURIComponent(e)}`,{content:t}),onSuccess:(t,{key:s})=>{e.invalidateQueries({queryKey:Q}),e.invalidateQueries({queryKey:["task-flow",s]})}})),p=(a=(0,y.useQueryClient)(),(0,j.useMutation)({mutationFn:e=>f.api.delete(`/task-flows/${encodeURIComponent(e)}`),onSuccess:(e,t)=>{a.invalidateQueries({queryKey:Q}),a.invalidateQueries({queryKey:["task-flow",t]})}})),[b,v]=(0,s.useState)({}),[N,k]=(0,s.useState)(null),w=d?b[d]??c.data?.override??c.data?.bundled??"":"",C=!!d&&void 0!==b[d]&&b[d]!==(c.data?.override??""),S=i.filter(e=>e.hasOverride).length,P=async()=>{if(d){k(null);try{await u.mutateAsync({key:d,content:w})}catch(e){k(e instanceof Error?e.message:"Failed to save override")}}},A=async()=>{if(d){k(null);try{await p.mutateAsync(d),v(e=>{let t={...e};return delete t[d],t})}catch(e){k(e instanceof Error?e.message:"Failed to reset")}}};return(0,t.jsx)(x.ConnectionCard,{name:"Task Flow Overrides",icon:(0,t.jsx)(K,{className:"h-4 w-4"}),status:(0,x.deriveConfiguredStatus)(S>0),children:(0,t.jsxs)("div",{className:"mt-2 space-y-3",children:[(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Override the prompt body the dispatcher uses for a Git/GitHub event. The bundled body stays read-only on the left; your edits land at ",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:"~/.personal-agent/task-flows/<key>.md"})," ","and take effect on the next session. Resetting falls back to bundled."]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("select",{value:d??"",onChange:e=>o(e.target.value||null),className:"h-9 min-w-[260px] rounded border bg-background px-2 text-sm",disabled:0===i.length,children:[0===i.length&&(0,t.jsx)("option",{value:"",children:"No git.* / github.* keys"}),i.map(e=>(0,t.jsxs)("option",{value:e.key,children:[e.key,e.hasOverride?" ★":""]},e.key))]}),c.data?.hasOverride&&(0,t.jsx)(h.Badge,{variant:"green",children:"overridden"})]}),N&&(0,t.jsx)(m.Alert,{variant:"error",children:N}),(0,t.jsxs)("div",{className:"grid gap-3 lg:grid-cols-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-xs font-medium text-muted-foreground",children:"Bundled (read-only)"}),(0,t.jsx)("textarea",{value:c.data?.bundled??"",readOnly:!0,className:"h-72 w-full resize-none rounded border bg-muted p-2 font-mono text-xs"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-xs font-medium text-muted-foreground",children:"Override (edit and save)"}),(0,t.jsx)("textarea",{value:w,onChange:e=>{var t;return t=e.target.value,void(d&&v(e=>({...e,[d]:t})))},className:"h-72 w-full resize-none rounded border bg-background p-2 font-mono text-xs",spellCheck:!1})]})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)(n.Button,{size:"sm",variant:"outline",onClick:P,disabled:!d||u.isPending||!C,children:[(0,t.jsx)(M.Save,{className:"mr-1 h-3.5 w-3.5"}),"Save override"]}),(0,t.jsxs)(n.Button,{size:"sm",variant:"ghost",onClick:A,disabled:!d||p.isPending||!c.data?.hasOverride,children:[(0,t.jsx)(U.RotateCcw,{className:"mr-1 h-3.5 w-3.5"}),"Reset to bundled"]})]})]})})}var _=e.i(32220),W=e.i(32077),V=e.i(45958),J=e.i(26181),X=e.i(55575);let Y=(0,S.default)("Github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]);var Z=e.i(40974),ee=e.i(21682),et=e.i(90925);let es=(0,S.default)("Unlink",[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71",key:"yqzxt4"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71",key:"4qinb0"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5",key:"1041cp"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8",key:"14m1p5"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22",key:"rzdirn"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16",key:"ox905f"}]]);var ea=e.i(90826),er=e.i(58436);let en="text-[11px] font-medium uppercase tracking-wider text-muted-foreground",ei=["project","repo-only"],el=["work","personal","research","client","other"];function eo({repo:e}){let[l,o]=(0,s.useState)(!1),[d,c]=(0,s.useState)(!1),[u,m]=(0,s.useState)(!1),p=(0,L.useDeleteRepository)(),x=(0,L.useUpdateRepository)(),g=(0,ea.useConfirm)(),j=(0,L.repositoryHasGithub)(e),y=(0,L.repositoryHasLocal)(e),f=e.localOnly,b=async()=>{await g({title:`Delete ${(0,L.repositoryDisplayName)(e)}?`,description:"This removes the repository registration along with its triggers and management state. The local clone on disk is not touched.",confirmLabel:"Delete",variant:"destructive"})&&await p.mutateAsync(e.id)},v=async t=>{t&&j?await g({title:"Mark as local-only?",description:"This will clear the GitHub link. To keep both sides, leave 'local-only' off.",confirmLabel:"Mark local-only"})&&await x.mutateAsync({id:e.id,body:{localOnly:!0,githubOwner:null,githubRepo:null,githubAccount:null}}):await x.mutateAsync({id:e.id,body:{localOnly:t}})},N=async()=>{j?await g({title:"Unlink local clone?",description:`The clone at ${e.localPath} stays on disk; only the registration is detached.`,confirmLabel:"Unlink"})&&await x.mutateAsync({id:e.id,body:{localPath:null}}):await g({title:"Cannot unlink the local clone",description:"This row has no GitHub side, so unlinking would leave it empty. Delete the repository instead.",confirmLabel:"OK"})},k=async()=>{!await g({title:"Unlink GitHub remote?",description:y?"The local clone stays registered.":"This row has no local clone, so unlinking would leave it empty. Use 'Mark local-only' instead.",confirmLabel:"Unlink"})||y&&await x.mutateAsync({id:e.id,body:{githubOwner:null,githubRepo:null,githubAccount:null}})};return(0,t.jsxs)(i.Card,{children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(a.GitBranch,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"truncate text-sm font-medium text-foreground",children:(0,L.repositoryDisplayName)(e)}),f&&(0,t.jsxs)(h.Badge,{variant:"gray",className:"text-[10px]",children:[(0,t.jsx)(Z.Lock,{className:"mr-1 h-3 w-3"}),"local-only"]}),(0,t.jsx)(h.Badge,{variant:"project"===e.classification?"green":"gray",children:e.classification}),(0,t.jsx)(h.Badge,{variant:"gray",children:e.category})]}),(0,t.jsx)("p",{className:"mt-1 truncate text-[11px] text-muted-foreground",children:e.id})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,t.jsx)(n.Button,{size:"sm",variant:"ghost",onClick:()=>o(!0),title:"Edit",children:(0,t.jsx)(ee.Pencil,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(n.Button,{size:"sm",variant:"ghost",onClick:b,title:"Delete",children:(0,t.jsx)(et.Trash2,{className:"h-3.5 w-3.5"})})]})]}),(0,t.jsxs)("div",{className:"mt-3 grid gap-3 md:grid-cols-2",children:[(0,t.jsxs)("div",{className:"rounded-md border bg-background/40 p-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-medium text-muted-foreground",children:[(0,t.jsx)(Y,{className:"h-3.5 w-3.5"}),"GitHub"]}),j?(0,t.jsxs)("div",{className:"mt-1 space-y-1 text-sm",children:[(0,t.jsxs)("p",{className:"font-medium",children:[e.githubOwner,"/",e.githubRepo]}),(0,t.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:["account: ",e.githubAccount??"default"]}),y&&!f&&(0,t.jsxs)(n.Button,{size:"sm",variant:"ghost",className:"mt-1 h-7 px-1.5",onClick:k,children:[(0,t.jsx)(es,{className:"mr-1 h-3 w-3"}),"Unlink"]})]}):f?(0,t.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:"Local-only — toggle off to enable GitHub linking."}):(0,t.jsxs)(n.Button,{size:"sm",variant:"outline",className:"mt-2 h-8",onClick:()=>c(!0),children:[(0,t.jsx)(r.Plus,{className:"mr-1 h-3 w-3"}),"Link GitHub remote"]})]}),(0,t.jsxs)("div",{className:"rounded-md border bg-background/40 p-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-medium text-muted-foreground",children:[(0,t.jsx)(X.FolderOpen,{className:"h-3.5 w-3.5"}),"Local clone"]}),y?(0,t.jsxs)("div",{className:"mt-1 space-y-1 text-sm",children:[(0,t.jsx)("p",{className:"truncate font-medium",title:e.localPath??"",children:e.localPath}),(0,t.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:["slug: ",(0,t.jsx)("span",{className:"font-mono",children:e.slug})]}),j&&(0,t.jsxs)(n.Button,{size:"sm",variant:"ghost",className:"mt-1 h-7 px-1.5",onClick:N,children:[(0,t.jsx)(es,{className:"mr-1 h-3 w-3"}),"Unlink"]})]}):(0,t.jsxs)(n.Button,{size:"sm",variant:"outline",className:"mt-2 h-8",onClick:()=>m(!0),children:[(0,t.jsx)(r.Plus,{className:"mr-1 h-3 w-3"}),"Link local clone"]})]})]}),(0,t.jsxs)("div",{className:"mt-3 flex items-center justify-between text-[11px] text-muted-foreground",children:[(0,t.jsxs)("label",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("input",{type:"checkbox",checked:f,disabled:x.isPending,onChange:e=>void v(e.target.checked)}),"Local-only repository"]}),(0,t.jsxs)(V.default,{href:"/git",className:"flex items-center gap-1 text-foreground underline-offset-2 hover:underline",children:["Configure polling & triggers in my life › git",(0,t.jsx)(J.ArrowUpRight,{className:"h-3 w-3"})]})]}),(0,t.jsx)(ed,{repo:e,open:l,onClose:()=>o(!1)}),(0,t.jsx)(eu,{repo:e,open:d,onClose:()=>c(!1)}),(0,t.jsx)(eh,{repo:e,open:u,onClose:()=>m(!1)})]})}function ed({repo:e,open:s,onClose:a}){return(0,t.jsx)(R.Sheet,{open:s,onOpenChange:e=>!e&&a(),children:s&&(0,t.jsx)(ec,{repo:e,onClose:a})})}function ec({repo:e,onClose:a}){let r=(0,L.useUpdateRepository)(),[i,l]=(0,s.useState)(e.displayName??""),[o,d]=(0,s.useState)(e.classification),[c,u]=(0,s.useState)(e.category),[m,h]=(0,s.useState)(null),x=async t=>{t.preventDefault(),h(null);try{let t={displayName:i.trim()?i.trim():null,classification:o,category:c};await r.mutateAsync({id:e.id,body:t}),a()}catch(e){h(e instanceof Error?e.message:"Failed to save changes")}};return(0,t.jsxs)(R.SheetContent,{className:"overflow-y-auto",children:[(0,t.jsx)(R.SheetHeader,{children:(0,t.jsx)(R.SheetTitle,{children:"Edit repository metadata"})}),(0,t.jsxs)("form",{onSubmit:x,className:"mt-6 space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:en,children:"Display name"}),(0,t.jsx)(p.Input,{value:i,onChange:e=>l(e.target.value),placeholder:(0,L.repositoryDisplayName)(e)}),(0,t.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Optional — drives the slug used for context paths and dashboard deep-links."})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:en,children:"Classification"}),(0,t.jsx)("select",{value:o,onChange:e=>d(e.target.value),className:"h-9 w-full rounded-md border bg-background px-2 text-sm",children:ei.map(e=>(0,t.jsx)("option",{value:e,children:e},e))}),(0,t.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Project entries carry lifecycle phases in the overview MD; repo-only stays lightweight."})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:en,children:"Category"}),(0,t.jsx)("select",{value:c,onChange:e=>u(e.target.value),className:"h-9 w-full rounded-md border bg-background px-2 text-sm",children:el.map(e=>(0,t.jsx)("option",{value:e,children:e},e))})]}),m&&(0,t.jsx)("p",{className:"rounded-md border border-red-200 bg-red-50/50 p-2 text-xs text-red-700 dark:border-red-900 dark:bg-red-950/30 dark:text-red-300",children:m}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t pt-4",children:[(0,t.jsx)(n.Button,{type:"button",variant:"ghost",onClick:a,children:"Cancel"}),(0,t.jsx)(n.Button,{type:"submit",disabled:r.isPending,children:r.isPending?"Saving…":"Save"})]})]})]})}function eu({repo:e,open:s,onClose:a}){return(0,t.jsx)(R.Sheet,{open:s,onOpenChange:e=>!e&&a(),children:s&&(0,t.jsx)(em,{repo:e,onClose:a})})}function em({repo:e,onClose:a}){let r=(0,L.useLinkGithub)(),{data:i}=v(),[l,o]=(0,s.useState)(""),[d,c]=(0,s.useState)(""),[u,m]=(0,s.useState)(""),[h,x]=(0,s.useState)(null),g=async t=>{if(t.preventDefault(),x(null),!l.trim()||!d.trim())return void x("owner and repo are required");try{await r.mutateAsync({id:e.id,owner:l.trim(),repo:d.trim(),account:u.trim()||void 0}),a()}catch(e){x(e instanceof Error?e.message:"Failed to link")}};return(0,t.jsxs)(R.SheetContent,{className:"overflow-y-auto",children:[(0,t.jsx)(R.SheetHeader,{children:(0,t.jsx)(R.SheetTitle,{children:"Link a GitHub remote"})}),(0,t.jsxs)("form",{onSubmit:g,className:"mt-6 space-y-4",children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Personal accounts on github.com only. GHES is not in scope for v1."}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:en,children:"Owner"}),(0,t.jsx)(p.Input,{value:l,onChange:e=>o(e.target.value),placeholder:"acme",autoFocus:!0})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:en,children:"Repository"}),(0,t.jsx)(p.Input,{value:d,onChange:e=>c(e.target.value),placeholder:"widgets"})]})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:en,children:"Account alias"}),(0,t.jsxs)("select",{value:u,onChange:e=>m(e.target.value),className:"h-9 w-full rounded-md border bg-background px-2 text-sm",children:[(0,t.jsx)("option",{value:"",children:"default"}),(i?.accounts??[]).map(e=>(0,t.jsx)("option",{value:e.alias,children:e.alias},e.alias))]})]}),h&&(0,t.jsx)("p",{className:"rounded-md border border-red-200 bg-red-50/50 p-2 text-xs text-red-700 dark:border-red-900 dark:bg-red-950/30 dark:text-red-300",children:h}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t pt-4",children:[(0,t.jsx)(n.Button,{type:"button",variant:"ghost",onClick:a,children:"Cancel"}),(0,t.jsx)(n.Button,{type:"submit",disabled:r.isPending,children:r.isPending?"Linking…":"Link"})]})]})]})}function eh({repo:e,open:s,onClose:a}){return(0,t.jsx)(R.Sheet,{open:s,onOpenChange:e=>!e&&a(),children:s&&(0,t.jsx)(ep,{repo:e,onClose:a})})}function ep({repo:e,onClose:a}){let r=(0,L.useLinkLocal)(),[i,l]=(0,s.useState)(""),[o,d]=(0,s.useState)(null),c=async t=>{if(t.preventDefault(),d(null),!i.trim())return void d("Local path is required");try{await r.mutateAsync({id:e.id,localPath:i.trim()}),a()}catch(e){d(e instanceof Error?e.message:"Failed to link")}};return(0,t.jsxs)(R.SheetContent,{className:"overflow-y-auto",children:[(0,t.jsx)(R.SheetHeader,{children:(0,t.jsx)(R.SheetTitle,{children:"Link a local clone"})}),(0,t.jsxs)("form",{onSubmit:c,className:"mt-6 space-y-4",children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Pick the directory of the local clone of this repository. The agent never inspects `.git/config` to suggest values — paths are user-supplied."}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:en,children:"Repository directory"}),(0,t.jsx)(er.DirectoryPickerField,{value:i,onChange:l,title:"Choose local clone directory"})]}),o&&(0,t.jsx)("p",{className:"rounded-md border border-red-200 bg-red-50/50 p-2 text-xs text-red-700 dark:border-red-900 dark:bg-red-950/30 dark:text-red-300",children:o}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t pt-4",children:[(0,t.jsx)(n.Button,{type:"button",variant:"ghost",onClick:a,children:"Cancel"}),(0,t.jsx)(n.Button,{type:"submit",disabled:r.isPending,children:r.isPending?"Linking…":"Link"})]})]})]})}let ex="text-[11px] font-medium uppercase tracking-wider text-muted-foreground",eg="text-[11px] leading-relaxed text-muted-foreground",ej="text-[11px] font-medium uppercase tracking-wider text-muted-foreground",ey=[{value:"both",label:"GitHub + local clone",description:"Recommended. Agent watches GitHub activity AND reads files from your local clone."},{value:"github",label:"GitHub only",description:"Agent watches PRs, issues, and commits on GitHub. No access to source files."},{value:"local",label:"Local folder only",description:"Agent watches a folder on this Mac. No GitHub remote — e.g. a private working directory."}],ef=[{value:"repo-only",label:"Just track activity",description:"Lightweight. Agent logs commits, PRs, and issues. No long-form project document."},{value:"project",label:"Treat as a project",description:"Agent maintains a rich project document with goals, decisions, and milestones in your context notes."}],eb=["work","personal","research","client","other"];function ev({open:e,onClose:s}){return(0,t.jsx)(R.Sheet,{open:e,onOpenChange:e=>!e&&s(),children:e&&(0,t.jsx)(eN,{onClose:s})})}function eN({onClose:e}){let a=(0,L.useCreateRepository)(),{data:r}=v(),[i,l]=(0,s.useState)("both"),[o,d]=(0,s.useState)(""),[c,u]=(0,s.useState)(""),[m,h]=(0,s.useState)(""),[x,g]=(0,s.useState)(""),[j,y]=(0,s.useState)(!1),[f,b]=(0,s.useState)(""),[N,k]=(0,s.useState)("repo-only"),[w,C]=(0,s.useState)("other"),[S,P]=(0,s.useState)(null),A="github"===i||"both"===i&&!j,B="local"===i||"both"===i,M=async t=>{t.preventDefault(),P(null);let s={classification:N,category:w,displayName:f.trim()?f.trim():void 0};if(A){if(!o.trim()||!c.trim())return void P("GitHub owner and repository are required.");s.githubOwner=o.trim(),s.githubRepo=c.trim(),m.trim()&&(s.githubAccount=m.trim())}if(B){if(!x.trim())return void P("Local clone path is required.");s.localPath=x.trim()}"local"===i&&j&&(s.localOnly=!0);try{await a.mutateAsync(s),e()}catch(e){P(e instanceof Error?e.message:"Failed to add repository")}},H=r?.accounts??[];return(0,t.jsxs)(R.SheetContent,{className:"overflow-y-auto",children:[(0,t.jsxs)(R.SheetHeader,{children:[(0,t.jsx)(R.SheetTitle,{children:"Add repository"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Tell the agent about a code repository to watch. It will track activity (commits, PRs, issues) and optionally maintain a project document in your context notes."})]}),(0,t.jsxs)("form",{onSubmit:M,className:"mt-6 space-y-6",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("label",{className:ex,children:"Where does this repository live?"}),(0,t.jsx)("div",{className:"grid gap-2",children:ey.map(e=>{let s=i===e.value;return(0,t.jsxs)("button",{type:"button",onClick:()=>l(e.value),className:"rounded-md border px-3 py-2 text-left transition-colors "+(s?"border-primary bg-primary/10":"border-border hover:bg-accent"),children:[(0,t.jsx)("div",{className:"text-sm font-medium "+(s?"text-primary":"text-foreground"),children:e.label}),(0,t.jsx)("div",{className:eg+" mt-0.5",children:e.description})]},e.value)})})]}),A&&(0,t.jsxs)("div",{className:"space-y-3 rounded-md border bg-background/40 p-3",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("p",{className:ej,children:"GitHub remote"}),(0,t.jsxs)("p",{className:eg,children:["From the GitHub URL"," ",(0,t.jsx)("code",{className:"rounded bg-muted px-1 py-px text-[10px]",children:"github.com/acme/widgets"}),", the owner is ",(0,t.jsx)("strong",{children:"acme"})," and the repository is"," ",(0,t.jsx)("strong",{children:"widgets"}),"."]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:ex,children:"Owner (user or org)"}),(0,t.jsx)(p.Input,{value:o,onChange:e=>d(e.target.value),placeholder:"acme"})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:ex,children:"Repository name"}),(0,t.jsx)(p.Input,{value:c,onChange:e=>u(e.target.value),placeholder:"widgets"})]})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:ex,children:"GitHub account to use"}),(0,t.jsxs)("select",{value:m,onChange:e=>h(e.target.value),className:"h-9 w-full rounded-md border bg-background px-2 text-sm",children:[(0,t.jsx)("option",{value:"",children:"default"}),H.map(e=>(0,t.jsx)("option",{value:e.alias,children:e.alias},e.alias))]}),(0,t.jsxs)("p",{className:eg,children:["Which set of GitHub credentials the agent should use to read this repo."," ",0===H.length?"Only the default account is set up — manage more under Connections → GitHub accounts.":"Manage accounts under Connections → GitHub accounts."]})]})]}),B&&(0,t.jsxs)("div",{className:"space-y-3 rounded-md border bg-background/40 p-3",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("p",{className:ej,children:"Local clone"}),(0,t.jsx)("p",{className:eg,children:"Folder on this Mac where the repo is checked out. The agent reads source files, commits, and uncommitted changes from here."})]}),(0,t.jsx)(er.DirectoryPickerField,{value:x,onChange:g,title:"Choose local clone directory"}),"local"===i&&(0,t.jsxs)("label",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[(0,t.jsx)("input",{type:"checkbox",checked:j,onChange:e=>y(e.target.checked),className:"mt-0.5"}),(0,t.jsx)("span",{children:"This folder is not (and will never be) backed by a GitHub remote. Skip GitHub linking permanently."})]})]}),(0,t.jsxs)("div",{className:"space-y-3 rounded-md border bg-background/40 p-3",children:[(0,t.jsx)("p",{className:ej,children:"Naming & tracking"}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:ex,children:"Display name (optional)"}),(0,t.jsx)(p.Input,{value:f,onChange:e=>b(e.target.value),placeholder:"Leave blank to use the repo or folder name"}),(0,t.jsx)("p",{className:eg,children:"How this repository appears in the dashboard and in your context notes."})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:ex,children:"How should the agent treat this?"}),(0,t.jsx)("div",{className:"grid gap-2",children:ef.map(e=>{let s=N===e.value;return(0,t.jsxs)("button",{type:"button",onClick:()=>k(e.value),className:"rounded-md border px-3 py-2 text-left transition-colors "+(s?"border-primary bg-primary/10":"border-border hover:bg-accent"),children:[(0,t.jsx)("div",{className:"text-sm font-medium "+(s?"text-primary":"text-foreground"),children:e.label}),(0,t.jsx)("div",{className:eg+" mt-0.5",children:e.description})]},e.value)})})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:ex,children:"Category (tag)"}),(0,t.jsx)("select",{value:w,onChange:e=>C(e.target.value),className:"h-9 w-full rounded-md border bg-background px-2 text-sm",children:eb.map(e=>(0,t.jsx)("option",{value:e,children:e},e))}),(0,t.jsx)("p",{className:eg,children:"Used to group repositories in the dashboard. Pick whichever feels right."})]})]}),S&&(0,t.jsx)("p",{className:"rounded-md border border-red-200 bg-red-50/50 p-2 text-xs text-red-700 dark:border-red-900 dark:bg-red-950/30 dark:text-red-300",children:S}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t pt-4",children:[(0,t.jsx)(n.Button,{type:"button",variant:"ghost",onClick:e,children:"Cancel"}),(0,t.jsx)(n.Button,{type:"submit",disabled:a.isPending,children:a.isPending?"Adding…":"Add repository"})]})]})]})}var ek=e.i(75187);e.s(["default",0,function(){let e=(0,L.useRepositories)(),{data:d,isLoading:c}=(0,ek.useHealth)(),[u,m]=(0,s.useState)(!1),h=e.data?.repositories??[],p=h.length,x=h.filter(e=>e.githubOwner&&e.githubRepo).length,g=h.filter(e=>e.localPath).length,j=e.isLoading||c,y=!j&&(!e.data||!d);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.ConnectionsSectionHeader,{title:"Repositories",description:"Each repository links an optional GitHub remote with an optional local clone. Polling cadence, automation triggers, and daily git management live on the My Life › Git page.",healthy:+(p>0),total:1,actions:(0,t.jsxs)(n.Button,{onClick:()=>m(!0),children:[(0,t.jsx)(r.Plus,{className:"h-4 w-4"}),"Add repository"]})}),y&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Daemon not connected. Start the daemon to manage repositories."}),!j&&(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(W.IntegrationCard,{integrationKey:"git"}),(0,t.jsx)(W.IntegrationCard,{integrationKey:"github"}),0===h.length?(0,t.jsx)(l.EmptyState,{icon:a.GitBranch,title:"No repositories registered",description:"Add a repository to start watching commits, polling GitHub events, and wiring per-repo triggers.",children:(0,t.jsxs)(n.Button,{className:"mt-4",onClick:()=>m(!0),children:[(0,t.jsx)(r.Plus,{className:"h-4 w-4"}),"Add your first repository"]})}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.Card,{className:"flex items-center justify-between text-xs text-muted-foreground",children:(0,t.jsxs)("span",{children:[p," repositor",1===p?"y":"ies"," ·"," ",x," with GitHub · ",g," with local clone"]})}),(0,t.jsx)("div",{className:"space-y-3",children:h.map(e=>(0,t.jsx)(eo,{repo:e},e.id))})]}),(0,t.jsx)(w,{}),(0,t.jsx)(q,{}),(0,t.jsx)(E,{}),(0,t.jsx)(_.ProcessModelCard,{processKey:"git.project.init",title:"Git Project Init Model",description:"Generates the initial overview MD when daily git management is first enabled for a repository."}),(0,t.jsx)(_.ProcessModelCard,{processKey:"git.project.update",title:"Git Project Update Model",description:"Runs the daily 24h scan that appends to journal MDs and curates overview sections."}),(0,t.jsx)(_.ProcessModelCard,{processKey:"git.project.retemplate",title:"Git Project Re-template Model",description:"One-shot session that re-conforms existing project documents to the current template body."})]}),(0,t.jsx)(ev,{open:u,onClose:()=>m(!1)})]})}],23682)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,11457,e=>{"use strict";var t=e.i(54710),s=e.i(34416),r=e.i(71060),a=e.i(75187),n=e.i(17532),i=e.i(14260),l=e.i(65268),d=e.i(42455),o=e.i(74490),c=e.i(81471),u=e.i(68894);function m({ok:e,pulse:s}){return(0,t.jsx)("span",{className:(0,c.cn)("inline-block h-2 w-2 rounded-full",e?"bg-emerald-500":"bg-red-500",e&&s&&"animate-pulse")})}function h({status:e}){return e&&e.configured?(0,t.jsx)(m,{ok:e.connected}):(0,t.jsx)("span",{className:"inline-block h-2 w-2 rounded-full bg-gray-300 dark:bg-gray-600"})}let x={google:"Google (Calendar / Gmail)",obsidian:"Obsidian",notion:"Notion"};function g({health:e}){let{connected:s}=(0,u.useSSE)(),r=[{label:"Database",ok:e?.dbConnected??!1},{label:"Context Files",ok:e?.contextFilesOk??!1},{label:"Live Updates",ok:s,pulse:!0}];return(0,t.jsxs)(o.Card,{children:[(0,t.jsx)(o.CardHeader,{children:(0,t.jsx)(o.CardTitle,{children:"System Health"})}),(0,t.jsxs)("div",{className:"space-y-3",children:[r.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:e.label}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(m,{ok:e.ok,pulse:e.pulse}),(0,t.jsx)("span",{className:e.ok?"text-emerald-600 dark:text-emerald-400":"text-red-600 dark:text-red-400",children:e.ok?"Connected":"Disconnected"})]})]},e.label)),(0,t.jsxs)("div",{className:"border-t border-border pt-3",children:[(0,t.jsx)("p",{className:"mb-2 text-xs font-medium uppercase tracking-wider text-muted-foreground",children:"Integrations"}),["google","obsidian","notion"].map(s=>{let r=e?.integrations?.[s];return(0,t.jsxs)("div",{className:"flex items-center justify-between text-sm py-0.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:x[s]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(h,{status:r}),(0,t.jsx)("span",{className:r&&r.configured?r.connected?"text-emerald-600 dark:text-emerald-400":"text-red-600 dark:text-red-400":"text-gray-400 dark:text-gray-500",children:r&&r.configured?r.connected?"Connected":"Error":"Not Configured"})]})]},s)})]}),(0,t.jsxs)("div",{className:"border-t border-border pt-3",children:[(0,t.jsx)("p",{className:"mb-2 text-xs font-medium uppercase tracking-wider text-muted-foreground",children:"Runtime"}),(0,t.jsxs)("div",{className:"grid grid-cols-3 gap-2",children:[(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("p",{className:"text-lg font-semibold text-foreground",children:e?.activeSessions??0}),(0,t.jsx)("p",{className:"text-[10px] text-muted-foreground",children:"Active"})]}),(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("p",{className:"text-lg font-semibold text-foreground",children:e?.todaySessions??0}),(0,t.jsx)("p",{className:"text-[10px] text-muted-foreground",children:"Today"})]}),(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("p",{className:"text-lg font-semibold text-foreground",children:e?.eventBusSize??0}),(0,t.jsx)("p",{className:"text-[10px] text-muted-foreground",children:"Event Bus"})]})]})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:"Uptime"}),(0,t.jsx)("span",{className:"font-mono text-xs",children:e?(0,c.formatUptime)(e.uptime):"—"})]})]})]})}var f=e.i(45958),p=e.i(93512),j=e.i(48467),y=e.i(10628),v=e.i(36516),w=e.i(76176),b=e.i(31703),N=e.i(68741);function k(){let e=(0,b.useEventStream)(10),{data:s}=(0,N.useEvents)(),r=s?.pages[0]?.events.slice(0,10)??[],a=new Set,n=[];for(let t of[...e,...r])a.has(t.id)||(a.add(t.id),n.push(t));let i=n.sort((e,t)=>(0,c.parseUtcDate)(t.started_at).getTime()-(0,c.parseUtcDate)(e.started_at).getTime()).slice(0,10);return(0,t.jsxs)(o.Card,{children:[(0,t.jsxs)(o.CardHeader,{children:[(0,t.jsx)(o.CardTitle,{children:"Recent Events"}),(0,t.jsxs)(f.default,{href:"/activity",className:"flex items-center gap-1 text-xs text-primary hover:underline",children:["View all ",(0,t.jsx)(p.ArrowRight,{className:"h-3 w-3"})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[0===i.length&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"No events yet"}),i.map(e=>{let s=v.EVENT_TYPE_COLORS[e.action_type]??"gray",r=v.RESULT_COLORS[e.result]??"gray",a=e.model_used?(0,w.modelBadgeVariant)(e.model_used):void 0;return(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsxs)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"w-24 shrink-0 font-mono tabular-nums text-muted-foreground",children:(0,c.formatShortDateTime)(e.started_at)})}),(0,t.jsxs)(y.TooltipContent,{children:[(0,c.formatAbsoluteTime)(e.started_at)," (",(0,c.formatRelativeTime)(e.started_at),")"]})]}),(0,t.jsx)(j.Badge,{variant:s,className:"shrink-0",children:e.action_type.split(".").pop()}),a&&"gray"!==a&&(0,t.jsx)(j.Badge,{variant:a,className:"shrink-0",children:(0,w.formatShortModelName)(e.model_used)}),(0,t.jsx)("span",{className:"ml-auto font-mono text-muted-foreground",children:(0,c.formatCurrency)(e.cost_usd)}),(0,t.jsx)(j.Badge,{variant:r,className:"shrink-0",children:e.result})]},e.id)})]})]})}var C=e.i(19660),S=e.i(71816),T=e.i(49214),_=e.i(30902);function D(){let{data:e}=(0,i.useQuery)({queryKey:["calendar"],queryFn:()=>l.api.get("/calendar/events",{date:"today",days:1}),refetchInterval:3e5}),{data:s}=(0,a.useHealth)(),{regenerate:r,target:n,status:d,error:u,dismiss:m}=(0,S.useRegenerate)(),h=e?.events??[];return s?.integrationModes?.google_calendar?.mode==="delegated"?(0,t.jsxs)(o.Card,{children:[(0,t.jsx)(o.CardHeader,{children:(0,t.jsx)(o.CardTitle,{children:"Today's Calendar"})}),(0,t.jsxs)("div",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)(C.Bot,{className:"mt-0.5 h-4 w-4 shrink-0"}),(0,t.jsx)("p",{children:"Calendar is delegated to the agent's backend connector — ask the agent directly for today's schedule. The daemon doesn't poll events while in delegated mode."})]})]}):(0,t.jsxs)(o.Card,{children:[(0,t.jsx)(o.CardHeader,{children:(0,t.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(0,t.jsx)(o.CardTitle,{children:"Today's Calendar"}),(0,t.jsx)(T.RegenerateButton,{target:"today",label:"Refresh",currentTarget:n,status:d,error:u,onRegenerate:r,onDismiss:m,variant:"ghost",className:"h-7 px-2 text-xs text-muted-foreground"})]})}),(0,t.jsxs)("div",{className:"space-y-2",children:[0===h.length&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"No events today"}),h.map(e=>(0,t.jsxs)("div",{className:"flex items-start gap-3 text-sm",children:[(0,t.jsx)("span",{className:"shrink-0 font-mono text-xs text-muted-foreground",children:e.allDay?"All day":`${(0,_.format)((0,c.parseUtcDate)(e.start),"HH:mm")}–${(0,_.format)((0,c.parseUtcDate)(e.end),"HH:mm")}`}),(0,t.jsx)("span",{className:"text-foreground",children:e.summary})]},e.id))]})]})}var R=e.i(51226),A=e.i(34855),M=e.i(21420);function B(){let{data:e}=(0,R.useCost)("daily"),{data:s}=(0,A.useMetrics)(),r=s?.cost.last7dUsd??0,a=e?.byPeriod.slice(-7).map(e=>e.total_cost)??[];return(0,t.jsxs)(o.Card,{children:[(0,t.jsxs)(o.CardHeader,{children:[(0,t.jsx)(o.CardTitle,{children:"Cost Summary"}),(0,t.jsxs)(f.default,{href:"/analytics",className:"flex items-center gap-1 text-xs text-primary hover:underline",children:["Details ",(0,t.jsx)(p.ArrowRight,{className:"h-3 w-3"})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:"Last 7 days"}),(0,t.jsx)("span",{className:"text-lg font-semibold text-foreground",children:(0,c.formatCurrency)(r)})]}),a.length>=2&&(0,t.jsx)(M.Sparkline,{values:a,color:"var(--color-primary)",width:200,height:32})]})]})}var H=e.i(15553),O=e.i(92134);function z(){let{data:e}=(0,O.useBooksSummary)(3),{data:s}=(0,O.useBooks)({status:"reading",limit:3}),r=e?.byStatus??[];if(0===r.reduce((e,t)=>e+t.count,0))return null;let a=r.find(e=>"reading"===e.status)?.count??0,n=e?.monthlyCompleted?.[0]?.count??0,i=s?.books??[];return(0,t.jsxs)(o.Card,{children:[(0,t.jsx)(o.CardHeader,{children:(0,t.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(0,t.jsx)(o.CardTitle,{children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)(H.BookOpen,{className:"h-4 w-4 text-blue-500"}),"Reading"]})}),(0,t.jsx)(f.default,{href:"/reading",className:"text-xs text-muted-foreground hover:text-foreground",children:"View all →"})]})}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-4 text-sm",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"font-medium text-foreground",children:a}),(0,t.jsx)("span",{className:"text-muted-foreground",children:" in progress"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"font-medium text-foreground",children:n}),(0,t.jsx)("span",{className:"text-muted-foreground",children:" completed this month"})]})]}),i.length>0?(0,t.jsx)("ul",{className:"space-y-1 text-sm",children:i.map(e=>(0,t.jsxs)("li",{className:"flex items-baseline justify-between gap-2",children:[(0,t.jsx)("span",{className:"truncate text-foreground",children:e.title}),(0,t.jsxs)("span",{className:"shrink-0 text-xs text-muted-foreground",children:[e.highlightCount," hl"]})]},e.id))}):(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"No active reads."})]})]})}var E=e.i(77910),L=e.i(90826),U=e.i(20014),P=e.i(81187),F=e.i(99758),I=e.i(36451);function q(){let{data:e}=(0,E.useApprovals)(),s=(0,E.useApproveAction)(),r=(0,E.useDenyAction)(),a=(0,L.useConfirm)(),n=e?.approvals??[];if(0===n.length)return null;let i=async(e,t)=>{await a({title:"Deny this approval?",description:`"${t}" will be permanently denied.`,confirmLabel:"Deny",variant:"destructive"})&&r.mutate(e)};return(0,t.jsxs)(o.Card,{tone:"warning",children:[(0,t.jsx)(o.CardHeader,{className:"mb-2",children:(0,t.jsxs)(o.CardTitle,{className:"flex items-center gap-2 text-sm",children:[(0,t.jsx)(P.AlertTriangle,{className:"h-4 w-4 text-amber-600 dark:text-amber-400"}),n.length," pending approval",1!==n.length?"s":""]})}),(0,t.jsx)("div",{className:"space-y-3",children:n.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("p",{className:"truncate text-sm text-foreground",children:e.task_description}),(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,t.jsx)(j.Badge,{variant:"blue",className:"text-[10px]",children:e.task_type}),(0,t.jsxs)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"font-mono tabular-nums",children:(0,c.formatShortDateTime)(e.created_at)})}),(0,t.jsxs)(y.TooltipContent,{children:[(0,c.formatAbsoluteTime)(e.created_at)," (",(0,c.formatRelativeTime)(e.created_at),")"]})]})]})]}),(0,t.jsxs)("div",{className:"flex shrink-0 gap-1.5",children:[(0,t.jsxs)(U.Button,{size:"sm",className:"h-7 bg-emerald-600 px-2.5 hover:bg-emerald-700",onClick:()=>s.mutate(e.id),disabled:s.isPending,children:[(0,t.jsx)(F.Check,{className:"mr-1 h-3 w-3"}),"Approve"]}),(0,t.jsx)(U.Button,{size:"sm",variant:"outline",className:"h-7 border-red-300 px-2.5 text-red-600 hover:bg-red-50 dark:border-red-700 dark:text-red-400 dark:hover:bg-red-950",onClick:()=>i(e.id,e.task_description),disabled:r.isPending,children:(0,t.jsx)(I.X,{className:"h-3 w-3"})})]})]},e.id))})]})}var $=e.i(16047),G=e.i(77379);let K=(0,G.default)("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);var V=e.i(79634);let W="pa.alerts.snoozed.",Q="pa.alerts.dismissed.",Y={error:0,warning:1,info:2};function X(e){return`${e.id}:${e.fingerprint}`}function J(e){return`${W}${X(e)}`}function Z(e){return`${Q}${X(e)}`}let ee=new Set,et=new Map,es=new Set;function er(e){es.add(e);let t=t=>{(null===t.key||t.key.startsWith(W)||t.key.startsWith(Q))&&e()};return window.addEventListener("storage",t),()=>{es.delete(e),window.removeEventListener("storage",t)}}function ea(){return 0}let en=0;function ei(){return en}function el(e){if(!e.dismissable)return;let t=X(e);"info"===e.severity?ee.add(t):"warning"===e.severity&&et.set(t,Date.now()+864e5);try{"info"===e.severity?window.localStorage.setItem(Z(e),"1"):"warning"===e.severity&&window.localStorage.setItem(J(e),String(et.get(t)))}catch{}for(let e of(en+=1,es))e()}let ed=new Set,eo=0,ec=null;function eu(e){return 0===ed.size&&(eo=Date.now(),ec=setInterval(()=>{for(let e of(eo=Date.now(),ed))e()},5e3)),ed.add(e),()=>{ed.delete(e),0===ed.size&&null!==ec&&(clearInterval(ec),ec=null)}}function em(){return eo}function eh(){return 0}let ex={error:"error",warning:"warning",info:"info"};function eg(e,t){if(e===t)return!0;if(!e.startsWith(t))return!1;let s=e.charAt(t.length);return"/"===s||"?"===s||"#"===s}function ef({alert:e,onDismiss:s}){var r;return(0,t.jsx)(V.Alert,{variant:ex[e.severity],children:(0,t.jsxs)("div",{className:"flex w-full items-start gap-2",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("p",{className:"font-medium leading-snug",children:e.title}),e.description&&(0,t.jsx)("p",{className:"mt-0.5 text-[11px] leading-snug opacity-80",children:e.description}),e.href&&(0,t.jsx)("p",{className:"mt-1",children:(0,t.jsx)(f.default,{href:e.href,className:"text-[11px] font-medium underline underline-offset-2 hover:no-underline",children:eg(r=e.href,"/connections")?"Open connection settings":eg(r,"/settings")?"Open settings":eg(r,"/setup")?"Open setup wizard":"View details"})})]}),e.dismissable&&s&&(0,t.jsx)(U.Button,{variant:"ghost",size:"sm",onClick:()=>s(e),"aria-label":"warning"===e.severity?"Snooze for 24 hours":"Dismiss notification",title:"warning"===e.severity?"Snooze for 24 hours":"Dismiss",children:(0,t.jsx)(I.X,{className:"h-3.5 w-3.5"})})]})})}function ep(){let{alerts:e}=function(){let{data:e,isError:t}=(0,a.useHealth)();(0,s.useSyncExternalStore)(er,ei,ea);let r=(0,s.useSyncExternalStore)(eu,em,eh);return(0,s.useMemo)(()=>{let s=[],a=r?new Date(r).toISOString():"",n=!t,i=!1;if(n){if(e){let t=e.lastTickAt;if(r>0&&"number"==typeof t&&r-t>9e4){i=!0;let e=Math.round((r-t)/1e3);s.push({id:"system.daemon_frozen",severity:"error",title:"Daemon appears frozen",description:`No heartbeat for ${e}s. The event loop may be blocked. Restart the daemon if this persists.`,href:"/health",source:"system",dismissable:!1,detectedAt:a,fingerprint:`stale:${30*Math.floor(e/30)}s`})}e.alerts&&s.push(...e.alerts)}}else s.push({id:"system.daemon_offline",severity:"error",title:"Daemon is offline",description:"The dashboard cannot reach the daemon. Check that the daemon process is running and listening on the expected port.",href:"/health",source:"system",dismissable:!1,detectedAt:a,fingerprint:"offline"});return{alerts:s.filter(e=>!function(e){let t=X(e);if("info"===e.severity&&ee.has(t))return!0;if("warning"===e.severity){let e=et.get(t);if(void 0!==e){if(Date.now()<e)return!0;et.delete(t)}}try{if("info"===e.severity)return"1"===window.localStorage.getItem(Z(e));if("warning"===e.severity){let t=window.localStorage.getItem(J(e));if(!t)return!1;let s=Number(t);if(Number.isNaN(s))return!1;return Date.now()<s}return!1}catch{return!1}}(e)).sort((e,t)=>{let s=Y[e.severity]-Y[t.severity];return 0!==s?s:t.detectedAt.localeCompare(e.detectedAt)}),daemonOnline:n,daemonFrozen:i}},[e,t,r])}();return(0,t.jsx)(ej,{alerts:e,onDismiss:el})}function ej({alerts:e,onDismiss:r}){let[a,n]=(0,s.useState)(!1);if(0===e.length)return null;let i=e.filter(e=>"error"===e.severity),l=e.filter(e=>"error"!==e.severity),d=a?l:l.slice(0,Math.max(0,5-i.length)),o=l.length-d.length;return(0,t.jsxs)("section",{"aria-label":"Notifications",className:"space-y-2",children:[i.map(e=>(0,t.jsx)(ef,{alert:e},e.id)),d.map(e=>(0,t.jsx)(ef,{alert:e,onDismiss:r},e.id)),o>0&&(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(U.Button,{variant:"ghost",size:"sm",onClick:()=>n(e=>!e),className:"text-xs text-muted-foreground",children:a?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(K,{className:"mr-1 h-3.5 w-3.5"}),"Show fewer"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)($.ChevronDown,{className:"mr-1 h-3.5 w-3.5"}),"Show ",o," more"]})})})]})}var ey=e.i(89883);function ev(){let{data:e}=(0,a.useHealth)(),s=e?.integrationModes?.gmail;return s?.mode!=="delegated"||"draft-only"!==s.subTier?null:(0,t.jsxs)(o.Card,{children:[(0,t.jsx)(o.CardHeader,{children:(0,t.jsx)(o.CardTitle,{children:"Drafts awaiting send"})}),(0,t.jsxs)("div",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)(ey.Mail,{className:"mt-0.5 h-4 w-4 shrink-0"}),(0,t.jsxs)("p",{children:["Gmail is delegated in Draft-Only mode — the agent creates drafts and DMs you the link; you finalize sends in Gmail. Open"," ",(0,t.jsx)(f.default,{href:"https://mail.google.com/mail/u/0/#drafts",target:"_blank",rel:"noopener noreferrer",className:"underline underline-offset-2",children:"your drafts folder"})," ","to review."]})]})]})}var ew=e.i(75314),eb=e.i(59481),eN=e.i(73405),ek=e.i(82782),eC=e.i(3360),eS=e.i(26181);let eT=[{label:"Knowledge",href:"/knowledge",icon:ew.Brain,description:"All MD — projects, today, weekly, user notes.",status:{kind:"ready"}},{label:"Reading",href:"/reading",icon:H.BookOpen,description:"Books, highlights, and reading progress.",status:{kind:"ready"}},{label:"Git",href:"/git",icon:eb.GitBranch,description:"Repos and event-driven Triggers.",status:{kind:"soon",label:"Preview"}},{label:"Trip",href:"/trip",icon:eN.Plane,description:"Trips, itineraries, and post-trip notes.",status:{kind:"soon",label:"Soon"},hidden:!0},{label:"Finance",href:"/finance",icon:ek.Wallet,description:"Receipts, budgets, and trends.",status:{kind:"soon",label:"Soon"},hidden:!0},{label:"Health",href:"/health",icon:eC.Heart,description:"Activity, sleep, habits, and journaling.",status:{kind:"skeleton",label:"Skeleton"},hidden:!0}];function e_(){return(0,t.jsxs)("section",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,t.jsx)("h2",{className:"text-sm font-medium text-foreground",children:"Your Life"}),(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground",children:"Domain lenses over Knowledge"})]}),(0,t.jsx)("div",{className:"grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-4",children:eT.filter(e=>!e.hidden).map(e=>(0,t.jsx)(eD,{lens:e},e.href))})]})}function eD({lens:e}){let s=e.icon,r="ready"!==e.status.kind;return(0,t.jsxs)(f.default,{href:e.href,className:(0,c.cn)("group relative flex flex-col rounded-xl border bg-card p-4 shadow-[0_1px_3px_rgb(0_0_0/0.04)] transition-all duration-150","hover:shadow-[0_4px_8px_rgb(0_0_0/0.06)] hover:-translate-y-0.5 hover:border-border/80",r&&"border-dashed"),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)(s,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)(eS.ArrowUpRight,{className:"h-3.5 w-3.5 text-muted-foreground/40 transition-colors group-hover:text-muted-foreground"})]}),(0,t.jsxs)("div",{className:"mt-3 flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-foreground",children:e.label}),"ready"!==e.status.kind&&(0,t.jsx)("span",{className:"rounded-full bg-muted px-1.5 py-0.5 text-[9px] font-medium uppercase tracking-wide text-muted-foreground",children:e.status.label})]}),(0,t.jsx)("p",{className:"mt-1 text-[11px] leading-relaxed text-muted-foreground",children:e.description})]})}let eR=(0,G.default)("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);var eA=e.i(59134);let eM=[{id:"self-learning",badge:"Preview",title:"Self-learning mode tunes its own skills",description:"Let the agent analyze how you actually work and curate small overlays on top of its built-in skills — so the daily-surface (today, schedule, user-profile) gets sharper over time without you editing prompts.",href:"/settings/self-learning",cta:"Enable self-learning"},{id:"voice",title:"Voice messages, transcribed on-device",description:"Send a Telegram voice note or WhatsApp PTT and the daemon transcribes it locally with Whisper before the agent reads it. Audio never leaves your machine.",href:"/settings/advanced",cta:"Turn on Voice mode"},{id:"harness",title:"Reuses your CLI agent harness as-is",description:"The brain runs as Claude Code, Codex, or Gemini CLI — the same hooks, skills, MCP servers, and permission model you already use in the terminal apply here.",href:"/settings/models",cta:"Choose a backend"},{id:"process-routing",title:"Different models for different jobs",description:"Route deep work like morning routines and DMs to Sonnet or Opus, and light triage like mail classification to Haiku — per ProcessKey, swappable any time.",href:"/settings/processes",cta:"Tune process routing"},{id:"md-memory",title:"Memory is plain Markdown you can read",description:"Every durable thing the agent learns lives in ~/.personal-agent/context/*.md. Open it in your editor, grep it, version it — there is no hidden vector store.",href:"/knowledge",cta:"Browse Knowledge"},{id:"messaging",title:"DM the agent on your favorite app",description:"Pair Slack, Telegram, Discord, or WhatsApp with a single magic phrase and chat with the agent from there. Single-owner only by design — no group chats.",href:"/settings/messaging",cta:"Set up messaging"},{id:"observations",title:"Hourly observations, not reactive polling",description:"Obsidian, Git, Notion, and Calendar changes flow into an observations queue. Once an hour the agent consolidates what changed and decides whether to act.",href:"/activity",cta:"See recent activity"},{id:"routines",title:"Morning, evening, and weekly routines",description:"Cron-driven routines reflect on your day, week, and month automatically — quiet hours respected, day boundary at 04:00 local. Fully customizable.",href:"/settings/routines",cta:"Customize routines"},{id:"mail",title:"Multi-provider mail with offline FTS5 search",description:"Gmail, Outlook, Yahoo, iCloud, and any IMAP account stream into a single local index. Search instantly, even when you're offline.",href:"/connections/mail",cta:"Connect a mailbox"},{id:"schedule",title:"It schedules itself",description:"Say 'remind me Friday at 4pm' or 'every Monday morning summarize my open PRs' — the agent owns its own schedule rows and wakes itself when the time comes.",href:"/schedule",cta:"View schedule"},{id:"lifestyle",title:"Reading, receipts, trips — all in one chat",description:"Beyond engineering work, the agent tracks books you're reading, receipts you photograph, and trip itineraries you forward to it. Same chat surface, different lenses.",href:"/reading",cta:"Open Reading"},{id:"approvals",title:"Notify and Approve safety tiers",description:"Reads are autonomous; writes are classified Notify (proceed after pinging you) or Approve (require explicit confirmation). Even Allow mode keeps the absolute-block layer.",href:"/settings/advanced",cta:"Review safety settings"}];function eB({tips:e=eM}={}){let[r,a]=(0,s.useState)(-1);if((0,s.useEffect)(()=>{0!==e.length&&a(Math.floor(Math.random()*e.length))},[e.length]),0===e.length)return null;let n=r>=0?e[r]:null;return(0,t.jsx)(eH,{tip:n,onCycle:()=>a(t=>(function(e,t){if(e<=0)return -1;if(1===e)return 0;if(t<0||t>=e)return Math.floor(Math.random()*e);let s=Math.floor(Math.random()*(e-1));return s<t?s:s+1})(e.length,t))})}function eH({tip:e,onCycle:s}){return(0,t.jsx)(o.Card,{className:"border-amber-200/70 bg-amber-50/40 dark:border-amber-900/60 dark:bg-amber-950/20",children:(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("div",{className:"mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-amber-100 text-amber-700 dark:bg-amber-900/50 dark:text-amber-300",children:(0,t.jsx)(eR,{className:"h-4 w-4","aria-hidden":"true"})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[11px] font-medium uppercase tracking-wider text-amber-700 dark:text-amber-400",children:"Did you know?"}),e?.badge&&(0,t.jsx)("span",{className:"rounded-full bg-amber-200/70 px-1.5 py-0.5 text-[9px] font-medium uppercase tracking-wide text-amber-900 dark:bg-amber-900/60 dark:text-amber-200",children:e.badge})]}),(0,t.jsx)("div",{"aria-live":"polite","aria-atomic":"true",children:e?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"mt-1 text-sm font-medium text-foreground",children:e.title}),(0,t.jsx)("p",{className:"mt-1 text-[12px] leading-relaxed text-muted-foreground",children:e.description})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"mt-1 h-4 w-2/3 animate-pulse rounded bg-muted","aria-hidden":"true"}),(0,t.jsx)("p",{className:"mt-2 h-3 w-full animate-pulse rounded bg-muted","aria-hidden":"true"}),(0,t.jsx)("p",{className:"mt-1.5 h-3 w-5/6 animate-pulse rounded bg-muted","aria-hidden":"true"})]})}),e&&(0,t.jsxs)("div",{className:"mt-2.5 flex flex-wrap items-center gap-2",children:[e.href&&(0,t.jsx)(U.Button,{asChild:!0,size:"sm",variant:"outline",className:"h-7 px-2.5 text-xs",children:(0,t.jsxs)(f.default,{href:e.href,children:[e.cta??"Learn more",(0,t.jsx)(p.ArrowRight,{className:"ml-1 h-3 w-3","aria-hidden":"true"})]})}),s&&(0,t.jsxs)(U.Button,{size:"sm",variant:"ghost",className:"h-7 px-2 text-xs text-muted-foreground",onClick:s,"aria-label":"Show another tip",children:[(0,t.jsx)(eA.RefreshCw,{className:"mr-1 h-3 w-3","aria-hidden":"true"}),"Next tip"]})]})]})]})})}var eO=e.i(49785),ez=e.i(39982),eE=e.i(95486);e.s(["default",0,function(){let e=(0,r.useRouter)(),{data:u,isLoading:m}=(0,a.useHealth)(),{data:h}=(0,n.useSetupStatus)(),{data:x}=(0,i.useQuery)({queryKey:["next-check"],queryFn:()=>l.api.get("/dashboard/next-check"),refetchInterval:3e4}),{data:f}=(0,d.useScheduleNext)(),p=(0,eE.useQueryClient)(),[j,y]=(0,s.useState)("idle"),[v,w]=(0,s.useState)(null),b=(0,s.useRef)(0),N=(0,s.useRef)(null);(0,s.useEffect)(()=>{h?.needsSetup&&e.push("/setup")},[h?.needsSetup,e]);let C=(0,s.useMemo)(()=>x?.nextRunAt?(0,c.parseUtcDate)(x.nextRunAt).toLocaleString():"Disabled",[x?.nextRunAt]),S=(0,L.useConfirm)(),T=(0,s.useCallback)(()=>{b.current+=1,null!==N.current&&(window.clearTimeout(N.current),N.current=null)},[]);(0,s.useEffect)(()=>T,[T]);let _=(0,s.useCallback)(async()=>{await p.refetchQueries({queryKey:["next-check"],type:"active"})},[p]),R=(0,s.useCallback)(async(e,t)=>{await _();try{let s=await l.api.get("/events",{type:"routine.hourly_check",days:"1",page:1,limit:1});if(t!==b.current||function(e,t){let s=e[0];if(!s)return!1;let r=s.completed_at??s.started_at;return(0,c.parseUtcDate)(r).getTime()>=t}(s.events,e))return}catch{}t!==b.current||Date.now()-e>=6e4||(N.current=window.setTimeout(()=>{R(e,t)},1500))},[_]),A=async()=>{if(!await S({title:"Trigger hourly check now?",description:"This will run the reviewable observation queue immediately instead of waiting for the next scheduled check.",confirmLabel:"Run now"}))return;T(),y("running");let e=3e3;try{let e=Date.now(),t=await l.api.post("/agent/run-now",{reason:"dashboard"});if(w(function(e){if("queued"===e.status)return{tone:"success",message:"Queued successfully."};switch(e.reason){case"morning_routine_active":return{tone:"warning",message:"Skipped: morning routine is still running."};case"hourly_check_in_progress":return{tone:"warning",message:"Skipped: a previous hourly check is still running."};case"below_threshold":return{tone:"warning",message:"Skipped: there were no reviewable pending observations."};default:return{tone:"warning",message:"Skipped: hourly check was not queued."}}}(t)),await _(),"queued"===t.status){b.current+=1;let t=b.current;R(e,t)}}catch{w({tone:"error",message:"Failed to queue."}),e=1e4}finally{y("idle"),setTimeout(()=>w(null),e)}};return(0,t.jsxs)("div",{className:"space-y-6 p-6",children:[(0,t.jsx)(ez.PageHeader,{title:"Overview",description:(0,t.jsxs)(t.Fragment,{children:["Live snapshot of your agent. The cards below show when the next automatic hourly check will run and today’s spend. Everything auto-refreshes. Use ",(0,t.jsx)("em",{children:"Run now"}),"to trigger the hourly check immediately when you’re impatient."]})}),(0,t.jsx)(ep,{}),m?(0,t.jsx)(eO.CardSkeleton,{count:3}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2",children:[(0,t.jsxs)(o.Card,{children:[(0,t.jsx)(o.CardHeader,{children:(0,t.jsx)(o.CardStatLabel,{children:"Next Check"})}),(0,t.jsx)("p",{className:"text-sm font-medium text-foreground",children:C}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:x?.active?"Active window":"Outside active window"}),f?.next&&(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Scheduled: ",(0,c.formatAbsoluteTime)(f.next.scheduled_for)]}),(0,t.jsx)(U.Button,{size:"sm",variant:"outline",className:"mt-3 w-full",onClick:A,disabled:"running"===j,children:"running"===j?"Running...":"Run hourly check now"}),v?.tone==="success"&&(0,t.jsx)("p",{className:"mt-1 text-xs text-emerald-600 dark:text-emerald-400",children:v.message}),v?.tone==="warning"&&(0,t.jsx)("p",{className:"mt-1 text-xs text-amber-600 dark:text-amber-400",children:v.message}),v?.tone==="error"&&(0,t.jsx)("p",{className:"mt-1 text-xs text-red-600 dark:text-red-400",children:v.message})]}),(0,t.jsxs)(o.Card,{children:[(0,t.jsx)(o.CardHeader,{children:(0,t.jsx)(o.CardStatLabel,{children:"Today's Cost"})}),(0,t.jsx)(o.CardValue,{children:u?(0,c.formatCurrency)(u.todayCostUsd):"—"}),(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[u?.todaySessions??0," session",(u?.todaySessions??0)!==1?"s":""]})]})]}),(0,t.jsx)(eB,{}),(0,t.jsx)(e_,{}),(0,t.jsxs)("div",{className:"grid gap-6 lg:grid-cols-3",children:[(0,t.jsxs)("div",{className:"space-y-6 lg:col-span-2",children:[(0,t.jsx)(q,{}),(0,t.jsx)(k,{})]}),(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)(g,{health:u}),(0,t.jsx)(D,{}),(0,t.jsx)(ev,{}),(0,t.jsx)(z,{}),(0,t.jsx)(B,{})]})]})]})]})}],11457)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74490,e=>{"use strict";var t=e.i(54710),a=e.i(81471);let s=(0,e.i(94237).cva)("rounded-xl border p-5 shadow-[0_1px_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}});e.s(["Card",0,function({className:e,tone:n,interactive:i,...r}){return(0,t.jsx)("div",{className:(0,a.cn)(s({tone:n,interactive:i}),e),...r})},"CardHeader",0,function({className:e,...s}){return(0,t.jsx)("div",{className:(0,a.cn)("mb-3 flex items-center justify-between",e),...s})},"CardStatLabel",0,function({className:e,...s}){return(0,t.jsx)("h3",{className:(0,a.cn)("text-sm font-medium text-muted-foreground",e),...s})},"CardTitle",0,function({className:e,...s}){return(0,t.jsx)("h3",{className:(0,a.cn)("text-lg font-semibold text-foreground",e),...s})},"CardValue",0,function({className:e,...s}){return(0,t.jsx)("div",{className:(0,a.cn)("text-3xl font-bold text-foreground",e),...s})}])},39982,e=>{"use strict";var t=e.i(54710),a=e.i(81471);e.s(["PageHeader",0,function({title:e,description:s,icon:n,badge:i,actions:r,children:d,className:l}){return(0,t.jsxs)("header",{className:(0,a.cn)("flex flex-col gap-1",l),children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[n&&(0,t.jsx)(n,{className:"h-5 w-5 text-muted-foreground"}),(0,t.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:e}),i]}),r&&(0,t.jsx)("div",{className:"flex items-center gap-2",children:r})]}),s&&(0,t.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:s}),d]})}])},21682,e=>{"use strict";let t=(0,e.i(77379).default)("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",0,t],21682)},90925,e=>{"use strict";let t=(0,e.i(77379).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);e.s(["Trash2",0,t],90925)},60168,e=>{"use strict";let t=(0,e.i(77379).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],60168)},99758,e=>{"use strict";let t=(0,e.i(77379).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",0,t],99758)},76176,e=>{"use strict";e.i(18446);var t=e.i(38082);let a={claude:"Claude Code",codex:"OpenAI Codex",gemini:"Gemini CLI",opencode:"OpenCode"},s=new Set(["opencode"]);function n(e){return s.has(e)}let i={gemini:{badgeLabel:"Vendor deprecation",shortSuffix:" (deprecated)",reason:"Google announced Gemini CLI will stop serving free, Pro, and Ultra requests on 2026-06-18 in favor of Antigravity CLI. Standard / Enterprise licenses keep access. Avoid binding new processes to Gemini if you rely on consumer-tier auth."}},r={claude:"Claude",codex:"Codex",gemini:"Gemini",opencode:"OpenCode"},d={claude:["#7C2D12","#B54B2D","#E15B40","#F97316","#FDBA74"],codex:["#86198F","#A21CAF","#D946EF","#E879F9","#F5D0FE"],gemini:["#1E3A8A","#1D4ED8","#1C69FF","#60A5FA","#93C5FD"],opencode:["#7C2D12","#C2410C","#FF7300","#F59E0B","#FCD34D"]},l=["#6b7280","#9ca3af","#4b5563","#374151"],o={claude:"orange",codex:"pink",gemini:"blue",opencode:"orange"},c={"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","routine.roadmap_refresh":"Roadmap Refresh","message.dm":"Direct Messages","message.mention":"Mentions","dashboard.chat":"Dashboard Chat","agent.task":"Scheduled Tasks","calendar.change":"Calendar Events",gmail_classify:"Gmail Classification","github.pull_request.review_requested":"GitHub Review Requests","github.assigned":"GitHub Assignments","github.security_alert":"GitHub Security Alerts","github.workflow_run.failed":"GitHub CI Failures","wiki.ingest_url":"Wiki URL Ingest","wiki.compile":"Wiki Compile","wiki.ask":"Wiki Ask"};function m(e){let t;if(!e)return[];try{t=JSON.parse(e)}catch{return[]}if(!t||"object"!=typeof t)return[];let a=[];for(let[e,s]of Object.entries(t))s&&"object"==typeof s&&a.push({modelId:e,inputTokens:"number"==typeof s.inputTokens?s.inputTokens:0,outputTokens:"number"==typeof s.outputTokens?s.outputTokens:0,costUsd:"number"==typeof s.costUsd?s.costUsd:0});return a.sort((e,t)=>t.costUsd-e.costUsd)}function u(e){if(!e)return null;let t=e.toLowerCase();return/^[a-z0-9_.-]+\/[a-z0-9_.-]+/.test(t)?"opencode":t.includes("claude")||t.includes("sonnet")||t.includes("opus")||t.includes("haiku")?"claude":t.includes("gemini")?"gemini":t.includes("gpt")||t.includes("codex")||t.includes("o3")||t.includes("o4")?"codex":null}e.s(["BACKEND_BADGE_VARIANTS",0,o,"BACKEND_COLORS",0,{claude:"#E15B40",codex:"#D946EF",gemini:"#1C69FF",opencode:"#FF7300"},"BACKEND_LABELS",0,a,"BACKEND_PROVIDER_LABELS",0,{claude:"Claude (Anthropic)",codex:"ChatGPT (OpenAI)",gemini:"Gemini (Google)",opencode:"OpenCode (sst/opencode)"},"BACKEND_PROVIDER_SHORT",0,{claude:"Claude",codex:"ChatGPT",gemini:"Gemini",opencode:"OpenCode"},"BACKEND_WEB_SEARCH_DESCRIPTIONS",0,{claude:"Lets the agent call Anthropic's built-in WebSearch tool.",codex:"Lets the agent call OpenAI's web_search tool. Works in safe (sandbox) mode — the tool runs at OpenAI, not as a local shell command.",gemini:"Lets the agent call Gemini's google_web_search tool.",opencode:"Lets the agent call the configured OpenCode provider's web-search tool when the OpenCode runtime is enabled."},"CHART_CATEGORY_PALETTE",0,["#3b82f6","#10b981","#f59e0b","#8b5cf6","#ec4899","#14b8a6","#f97316","#6366f1","#ef4444","#22c55e"],"UI_PREVIEW_ONLY_BADGE_SUFFIX",0," (coming soon)","UI_PREVIEW_ONLY_REASON",0,"Coming soon — OpenCode is wired internally but not yet ready for selection in this release. The card stays visible so you can see what is on the roadmap.","assignModelColors",0,function(e){let t=new Map;for(let a of e){if(!a)continue;let e=u(a)??"other",s=t.get(e)??[];s.push(a),t.set(e,s)}let a={};for(let[e,s]of t){s.sort((e,t)=>e.localeCompare(t));let t="other"===e?l:d[e],n=s.length;s.forEach((e,s)=>{let i;i=n>=t.length?s%t.length:1===n?Math.floor(t.length/2):Math.floor((s+.5)*t.length/n),a[e]=t[i]})}return a},"detectBackendFromModel",0,u,"formatModelName",0,function(e){return e?e.replace(/^[a-z0-9_.-]+\//i,"").replace(/^claude-/,"Claude ").replace(/^gpt-/,"GPT-").replace(/^gemini-/,"Gemini ").replace(/-/g," ").replace(/\bpreview\b/gi,"(preview)").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\bcodex\b/gi,"Codex").replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\s+/g," ").trim():"Not set"},"formatShortModelName",0,function(e){if(!e)return"unknown";if("opus"===e)return"Opus";if("sonnet"===e)return"Sonnet";let t=e.replace(/^[a-z0-9_.-]+\//i,""),a=t.replace(/-\d{8,}$/,"").replace(/^claude-/,"").replace(/(\d+)-(\d+)(?![-\d])/g,"$1.$2").replace(/-/g," ");return t.startsWith("gpt-")&&(a=`GPT-${a.replace(/^gpt\s*/i,"")}`),t.startsWith("gemini-")&&(a=a.replace(/^gemini\s*/i,"Gemini ")),a.replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\s+/g," ").trim()},"getBackendDeprecation",0,function(e){return i[e]??null},"getBackendLabel",0,function(e){return a[e]},"getBackendShortLabel",0,function(e){return r[e]},"getProcessGroup",0,function(e){return e.startsWith("wiki.")?"Wiki":e.startsWith("message.")||e.startsWith("dashboard.")?"Conversation":e.startsWith("routine.")?"Routines":e.startsWith("git.")||e.startsWith("github.")?"Git & GitHub":e.startsWith("calendar.")||"gmail_classify"===e?"Integrations":"Tasks"},"getProcessLabel",0,function(e){return c[e]??e},"isBackendSelectionDisabled",0,function(e){return!(0,t.isRuntimeAvailableBackendId)(e)||n(e)},"isUiPreviewOnlyBackend",0,n,"modelBadgeVariant",0,function(e){if(!e)return"gray";let t=u(e);return t?o[t]:"gray"},"parseModelUsage",0,m,"pickDisplayModel",0,function(e,t){let a=m(t);return a.length>0&&a[0]?a[0].modelId:e??null}])},24756,e=>{"use strict";var t=e.i(14260),a=e.i(65268);e.s(["useBackends",0,function(e){return(0,t.useQuery)({queryKey:["backends"],queryFn:()=>a.api.get("/backends"),enabled:e?.enabled??!0,staleTime:6e4})}])},20492,37720,e=>{"use strict";var t=e.i(77379);let a=(0,t.default)("Power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]);e.s(["Power",0,a],20492);let s=(0,t.default)("PowerOff",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);e.s(["PowerOff",0,s],37720)},53561,e=>{"use strict";var t=e.i(54710),a=e.i(34416);e.i(18446);var s=e.i(38082),n=e.i(99758),i=e.i(21682),r=e.i(60168),d=e.i(20492),l=e.i(37720),o=e.i(7663),c=e.i(90925),m=e.i(81187),u=e.i(36451),h=e.i(65268),p=e.i(39982),x=e.i(57415),g=e.i(14260),b=e.i(95486);let f=["commands"];var j=e.i(24756),k=e.i(20014),y=e.i(74490),N=e.i(8652),v=e.i(48467),C=e.i(10427),w=e.i(79634),I=e.i(76176),S=e.i(81471);let _=s.RUNTIME_AVAILABLE_BACKEND_IDS,A=/^[a-z0-9][a-z0-9_-]{0,31}$/,E={id:null,name:"",description:"",prompt:"",backendId:"claude",modelId:"claude-sonnet-4-6",enabled:!0,enabledSkills:["notify"],instructionMd:""};function M(e){let t=e.trim().toLowerCase();return t.startsWith("!")?t.slice(1):t}function B(e){return`!${M(e)}`}function D(e){return e.displayName??e.label??e.modelId}function T(e){return e instanceof h.ApiError||e instanceof Error?e.message:"Request failed"}function L({command:e}){return(0,t.jsxs)(y.Card,{className:"p-4",children:[(0,t.jsxs)(y.CardHeader,{className:"mb-2 gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)(y.CardTitle,{className:"text-base",children:e.title}),(0,t.jsx)("p",{className:"pt-1 font-mono text-sm text-primary",children:e.command})]}),(0,t.jsx)(v.Badge,{variant:"gray",children:"Built-in"})]}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e.description}),e.details.length>0&&(0,t.jsx)("ul",{className:"mt-3 space-y-1 text-sm text-muted-foreground",children:e.details.map(e=>(0,t.jsxs)("li",{className:"flex gap-2",children:[(0,t.jsx)(n.Check,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-success"}),(0,t.jsx)("span",{children:e})]},e))})]})}function P({command:e,model:a,hasBuiltInConflict:s,busy:n,onEdit:r,onDelete:d}){return(0,t.jsxs)(y.Card,{tone:s?"warning":"default",className:"p-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("h3",{className:"font-mono text-base font-semibold text-primary",children:e.command}),(0,t.jsx)(v.Badge,{variant:e.enabled?"green":"gray",children:e.enabled?"Enabled":"Disabled"}),s&&(0,t.jsx)(v.Badge,{variant:"amber",children:"Name conflict"}),(0,t.jsx)(v.Badge,{variant:"blue",children:e.backendId})]}),(0,t.jsx)("p",{className:"mt-1 text-sm text-foreground",children:e.description||"No description provided."}),(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Model: ",a?D(a):e.modelId]})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)(k.Button,{variant:"outline",size:"sm",onClick:r,disabled:n,children:[(0,t.jsx)(i.Pencil,{className:"mr-2 h-4 w-4"}),"Edit"]}),(0,t.jsxs)(k.Button,{variant:"destructive",size:"sm",onClick:d,disabled:n,children:[(0,t.jsx)(c.Trash2,{className:"mr-2 h-4 w-4"}),"Delete"]})]})]}),s&&(0,t.jsxs)("div",{className:"mt-3 flex gap-2 rounded-md border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-800 dark:border-amber-900 dark:bg-amber-950/40 dark:text-amber-200",children:[(0,t.jsx)(m.AlertTriangle,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,t.jsx)("span",{children:"A built-in command with this name now exists. Runtime dispatch will use the built-in command until this custom command is renamed."})]}),(0,t.jsx)("div",{className:"mt-3 max-h-28 overflow-auto rounded-md bg-muted p-3 text-xs text-muted-foreground",children:(0,t.jsx)("pre",{className:"whitespace-pre-wrap font-sans",children:e.prompt})})]})}function F({draft:e,builtInReserved:a,userCommands:s,modelsByBackend:n,availableSkills:i,maxInstructionMdLength:r,busy:c,onChange:m,onCancel:h,onSave:p}){let x=M(e.name),g=B(e.name),b=A.test(x),f=a.has(g),j=s.some(t=>t.command===g&&t.id!==e.id),v=n.get(e.backendId)??[],w=v.some(t=>t.modelId===e.modelId),E=e.instructionMd.length>r,T=b&&!f&&!j&&e.prompt.trim().length>0&&w&&!E&&!c,L="claude"===e.backendId?"CLAUDE.md":"codex"===e.backendId?"AGENTS.md":"GEMINI.md",P=e.name.trim()?b?f?"This is a built-in command.":j?"This custom command already exists.":`${g} is available.`:"Use lowercase letters, numbers, hyphens, or underscores.":"Enter the part after !.";return(0,t.jsxs)(y.Card,{className:"p-4",children:[(0,t.jsxs)(y.CardHeader,{className:"mb-4",children:[(0,t.jsx)(y.CardTitle,{className:"text-base",children:e.id?`Edit ${g}`:"New Custom Command"}),(0,t.jsx)(k.Button,{variant:"ghost",size:"icon",onClick:h,disabled:c,children:(0,t.jsx)(u.X,{className:"h-4 w-4"})})]}),(0,t.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,t.jsxs)("label",{className:"space-y-1.5",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Command"}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("span",{className:"inline-flex h-9 items-center rounded-l-md border border-r-0 border-input bg-muted px-3 font-mono text-sm text-muted-foreground",children:"!"}),(0,t.jsx)(N.Input,{value:e.name.startsWith("!")?e.name.slice(1):e.name,onChange:t=>m({...e,name:t.target.value}),className:"rounded-l-none font-mono",placeholder:"digest",disabled:c})]}),(0,t.jsx)("p",{className:(0,S.cn)("text-xs",!b||f||j?"text-destructive":"text-muted-foreground"),children:P})]}),(0,t.jsxs)("label",{className:"space-y-1.5",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Description"}),(0,t.jsx)(N.Input,{value:e.description,onChange:t=>m({...e,description:t.target.value}),placeholder:"Short label shown in settings and help",disabled:c})]}),(0,t.jsxs)("label",{className:"space-y-1.5",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Backend"}),(0,t.jsxs)(C.Select,{value:e.backendId,onValueChange:t=>{let a=n.get(t)?.find(e=>e.available)?.modelId??n.get(t)?.[0]?.modelId??"";m({...e,backendId:t,modelId:a})},disabled:c,children:[(0,t.jsx)(C.SelectTrigger,{children:(0,t.jsx)(C.SelectValue,{})}),(0,t.jsx)(C.SelectContent,{children:_.map(e=>{let a=(0,I.isUiPreviewOnlyBackend)(e);return(0,t.jsxs)(C.SelectItem,{value:e,disabled:a,children:[e,a?I.UI_PREVIEW_ONLY_BADGE_SUFFIX:""]},e)})})]})]}),(0,t.jsxs)("label",{className:"space-y-1.5",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Model"}),(0,t.jsxs)(C.Select,{value:e.modelId,onValueChange:t=>m({...e,modelId:t}),disabled:c||0===v.length,children:[(0,t.jsx)(C.SelectTrigger,{children:(0,t.jsx)(C.SelectValue,{placeholder:"Select model"})}),(0,t.jsx)(C.SelectContent,{children:v.map(e=>(0,t.jsxs)(C.SelectItem,{value:e.modelId,children:[D(e),e.deprecated?" · legacy":""]},e.modelId))})]})]})]}),(0,t.jsxs)("label",{className:"mt-4 block space-y-1.5",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Instruction Prompt"}),(0,t.jsx)("textarea",{value:e.prompt,onChange:t=>m({...e,prompt:t.target.value}),rows:8,className:"w-full resize-y rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50",placeholder:"Describe exactly what the agent should do when this command is invoked.",disabled:c})]}),(0,t.jsxs)("fieldset",{className:"mt-4 space-y-2",children:[(0,t.jsx)("legend",{className:"text-sm font-medium text-foreground",children:"Skills"}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Skill modules are materialized into the working directory for this command. Leave only ",(0,t.jsx)("code",{children:"notify"})," checked for a minimal DM-reply turn; add more if your prompt needs them."]}),(0,t.jsx)("div",{className:"grid gap-2 sm:grid-cols-2 md:grid-cols-3",children:i.map(a=>{let s=e.enabledSkills.includes(a);return(0,t.jsxs)("label",{className:"inline-flex items-start gap-2 rounded-md border border-input bg-background px-2.5 py-1.5 text-sm",children:[(0,t.jsx)("input",{type:"checkbox",checked:s,onChange:()=>{let t;return t=e.enabledSkills.includes(a),void m({...e,enabledSkills:t?e.enabledSkills.filter(e=>e!==a):[...e.enabledSkills,a]})},disabled:c,className:"mt-0.5 h-4 w-4 rounded border-input accent-primary"}),(0,t.jsx)("span",{className:"font-mono text-xs",children:a})]},a)})}),0===e.enabledSkills.length&&(0,t.jsxs)("p",{className:"text-xs text-amber-600 dark:text-amber-400",children:["No skills selected — the agent will run with only safety + your instructions. Reply quality may suffer without ",(0,t.jsx)("code",{children:"notify"}),"."]})]}),(0,t.jsxs)("label",{className:"mt-4 block space-y-1.5",children:[(0,t.jsxs)("span",{className:"text-sm font-medium text-foreground",children:[L," body (optional)"]}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Custom profile body written into the working directory's"," ",(0,t.jsx)("code",{children:L})," for this command. Leave blank to use the default conversational profile. The safety preamble and your character block are always emitted around it."]}),(0,t.jsx)("textarea",{value:e.instructionMd,onChange:t=>m({...e,instructionMd:t.target.value}),rows:8,className:"w-full resize-y rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50",placeholder:"Replace the default conversational persona for this command. e.g. 'You are a terse summariser…'",disabled:c}),(0,t.jsxs)("p",{className:(0,S.cn)("text-xs",E?"text-destructive":"text-muted-foreground"),children:[e.instructionMd.length.toLocaleString()," /"," ",r.toLocaleString()," characters"]})]}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap items-center justify-between gap-3",children:[(0,t.jsxs)("label",{className:"inline-flex items-center gap-2 text-sm text-foreground",children:[(0,t.jsx)("input",{type:"checkbox",checked:e.enabled,onChange:t=>m({...e,enabled:t.target.checked}),className:"h-4 w-4 rounded border-input accent-primary",disabled:c}),e.enabled?(0,t.jsx)(d.Power,{className:"h-4 w-4 text-success"}):(0,t.jsx)(l.PowerOff,{className:"h-4 w-4 text-muted-foreground"}),"Enabled"]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(k.Button,{variant:"outline",onClick:h,disabled:c,children:"Cancel"}),(0,t.jsxs)(k.Button,{onClick:p,disabled:!T,children:[(0,t.jsx)(o.Save,{className:"mr-2 h-4 w-4"}),"Save Command"]})]})]})]})}e.s(["default",0,function(){let e,s,n,i=(0,g.useQuery)({queryKey:f,queryFn:()=>h.api.get("/commands")}),d=(0,j.useBackends)(),l=(e=(0,b.useQueryClient)(),(0,x.useMutation)({mutationFn:e=>h.api.post("/commands",e),onSuccess:t=>{e.setQueryData(f,t)}})),o=(s=(0,b.useQueryClient)(),(0,x.useMutation)({mutationFn:({id:e,body:t})=>h.api.put(`/commands/${e}`,t),onSuccess:e=>{s.setQueryData(f,e)}})),c=(n=(0,b.useQueryClient)(),(0,x.useMutation)({mutationFn:e=>h.api.delete(`/commands/${e}`),onSuccess:e=>{n.setQueryData(f,e)}})),[u,N]=(0,a.useState)(null),[v,C]=(0,a.useState)(null),I=(0,a.useMemo)(()=>{let e=d.data?.backends??[],t=new Map;for(let a of e)t.set(a.id,a.models.filter(e=>e.available).sort((e,t)=>!!e.deprecated!=!!t.deprecated?e.deprecated?1:-1:D(e).localeCompare(D(t))));return t},[d.data?.backends]),S=(0,a.useMemo)(()=>new Set(i.data?.builtInCommands.map(e=>e.command)??[]),[i.data?.builtInCommands]),_=(0,a.useMemo)(()=>(i.data?.userCommands??[]).filter(e=>S.has(e.command)),[i.data?.userCommands,S]),A=(0,a.useMemo)(()=>i.data?.constraints.defaultSkills??["notify"],[i.data?.constraints.defaultSkills]),R=(0,a.useMemo)(()=>i.data?.constraints.availableSkills??[],[i.data?.constraints.availableSkills]),O=i.data?.constraints.maxInstructionMdLength??32e3,G=async()=>{if(!u)return;let e=u.instructionMd.trim(),t={name:M(u.name),description:u.description.trim(),prompt:u.prompt.trim(),backendId:u.backendId,modelId:u.modelId,enabled:u.enabled,enabledSkills:u.enabledSkills,instructionMd:0===e.length?null:e};try{u.id?(await o.mutateAsync({id:u.id,body:t}),C(`${B(u.name)} updated`)):(await l.mutateAsync(t),C(`${B(u.name)} created`)),N(null)}catch(e){C(T(e))}},W=async e=>{if(window.confirm(`Delete ${e.command}?`))try{await c.mutateAsync(e.id),u?.id===e.id&&N(null),C(`${e.command} deleted`)}catch(e){C(T(e))}},U=l.isPending||o.isPending||c.isPending;return i.isLoading||d.isLoading?(0,t.jsx)(y.Card,{className:"p-4",children:(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading commands…"})}):i.error||d.error||!i.data||!d.data?(0,t.jsx)(y.Card,{tone:"error",className:"p-4",children:(0,t.jsx)("p",{className:"text-sm text-destructive",children:"Failed to load command settings."})}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(p.PageHeader,{title:"Commands",description:(0,t.jsxs)(t.Fragment,{children:["Messaging shortcuts that begin with ",(0,t.jsx)("code",{children:"!"}),". Built-in commands are system controls; custom commands run your saved prompt on the backend and model you choose."]})}),v&&(0,t.jsx)(w.Alert,{className:"rounded-lg px-4 py-2.5 text-sm",children:v}),_.length>0&&(0,t.jsx)(w.Alert,{variant:"warning",icon:!1,className:"rounded-lg px-4 py-3 text-sm",children:(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)(m.AlertTriangle,{className:"mt-0.5 h-4 w-4 shrink-0"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-medium",children:"Some custom commands now conflict with built-in commands."}),(0,t.jsx)("p",{className:"mt-1 text-muted-foreground",children:"Built-in commands take precedence at runtime. Rename the custom command to make it callable again."}),(0,t.jsx)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:_.map(e=>(0,t.jsx)("code",{className:"rounded bg-background px-1.5 py-0.5 font-mono text-xs",children:e.command},e.id))})]})]})}),(0,t.jsxs)("section",{className:"space-y-3",children:[(0,t.jsx)("div",{className:"flex items-center justify-between gap-3",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"Built-in"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Read-only controls handled by the daemon without model cost."})]})}),(0,t.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:i.data.builtInCommands.map(e=>(0,t.jsx)(L,{command:e},e.command))})]}),(0,t.jsxs)("section",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"Custom"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"User-defined commands are validated against built-in and existing custom names."})]}),(0,t.jsxs)(k.Button,{onClick:()=>{let e=d.data?.defaultBackend??"claude",t=I.get(e)?.find(e=>e.available)?.modelId??I.get(e)?.[0]?.modelId??E.modelId;N({...E,backendId:e,modelId:t,enabledSkills:[...A]}),C(null)},disabled:U,children:[(0,t.jsx)(r.Plus,{className:"mr-2 h-4 w-4"}),"New Command"]})]}),u&&(0,t.jsx)(F,{draft:u,builtInReserved:S,userCommands:i.data.userCommands,modelsByBackend:I,availableSkills:R,maxInstructionMdLength:O,busy:U,onChange:N,onCancel:()=>N(null),onSave:G}),0===i.data.userCommands.length?(0,t.jsx)(y.Card,{className:"p-4",children:(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"No custom commands yet."})}):(0,t.jsx)("div",{className:"grid gap-3",children:i.data.userCommands.map(e=>(0,t.jsx)(P,{command:e,model:I.get(e.backendId)?.find(t=>t.modelId===e.modelId),hasBuiltInConflict:S.has(e.command),busy:U,onEdit:()=>{N({id:e.id,name:e.name,description:e.description,prompt:e.prompt,backendId:e.backendId,modelId:e.modelId,enabled:e.enabled,enabledSkills:e.enabledSkills??[...A],instructionMd:e.instructionMd??""}),C(null)},onDelete:()=>W(e)},e.id))})]})]})}],53561)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74490,e=>{"use strict";var r=e.i(54710),a=e.i(81471);let t=(0,e.i(94237).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}});e.s(["Card",0,function({className:e,tone:s,interactive:d,...n}){return(0,r.jsx)("div",{className:(0,a.cn)(t({tone:s,interactive:d}),e),...n})},"CardHeader",0,function({className:e,...t}){return(0,r.jsx)("div",{className:(0,a.cn)("mb-3 flex items-center justify-between",e),...t})},"CardStatLabel",0,function({className:e,...t}){return(0,r.jsx)("h3",{className:(0,a.cn)("text-sm font-medium text-muted-foreground",e),...t})},"CardTitle",0,function({className:e,...t}){return(0,r.jsx)("h3",{className:(0,a.cn)("text-lg font-semibold text-foreground",e),...t})},"CardValue",0,function({className:e,...t}){return(0,r.jsx)("div",{className:(0,a.cn)("text-3xl font-bold text-foreground",e),...t})}])},39982,e=>{"use strict";var r=e.i(54710),a=e.i(81471);e.s(["PageHeader",0,function({title:e,description:t,icon:s,badge:d,actions:n,children:i,className:l}){return(0,r.jsxs)("header",{className:(0,a.cn)("flex flex-col gap-1",l),children:[(0,r.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[s&&(0,r.jsx)(s,{className:"h-5 w-5 text-muted-foreground"}),(0,r.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:e}),d]}),n&&(0,r.jsx)("div",{className:"flex items-center gap-2",children:n})]}),t&&(0,r.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:t}),i]})}])},81916,e=>{"use strict";var r=e.i(54710),a=e.i(74490),t=e.i(48467),s=e.i(39982),d=e.i(82782),n=e.i(77379);let i=(0,n.default)("Receipt",[["path",{d:"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z",key:"q3az6g"}],["path",{d:"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8",key:"1h4pet"}],["path",{d:"M12 17.5v-11",key:"1jc1ny"}]]),l=(0,n.default)("PiggyBank",[["path",{d:"M19 5c-1.5 0-2.8 1.4-3 2-3.5-1.5-11-.3-11 5 0 1.8 0 3 2 4.5V20h4v-2h3v2h4v-4c1-.5 1.7-1 2-2h2v-4h-2c0-1-.5-1.5-1-2V5z",key:"1ivx2i"}],["path",{d:"M2 9v1c0 1.1.9 2 2 2h1",key:"nm575m"}],["path",{d:"M16 11h.01",key:"xkw8gn"}]]),o=(0,n.default)("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]);e.s(["default",0,function(){return(0,r.jsxs)("div",{className:"space-y-6 p-6",children:[(0,r.jsx)(s.PageHeader,{icon:d.Wallet,title:"Finance",badge:(0,r.jsx)(t.Badge,{variant:"gray",className:"text-[10px]",children:"Coming soon"}),description:"Personal expense tracking and budget awareness — observational and advisory only. The daemon already extracts receipts from your email and stores them in the database; this dashboard view is still being built."}),(0,r.jsxs)("div",{className:"grid gap-4 md:grid-cols-3",children:[(0,r.jsxs)(a.Card,{className:"border-dashed",children:[(0,r.jsx)(a.CardHeader,{children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(i,{className:"h-4 w-4 text-muted-foreground"}),(0,r.jsx)(a.CardStatLabel,{children:"Receipts"})]})}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Auto-categorized expenses from email confirmations, with monthly rollups and outliers flagged for review."})]}),(0,r.jsxs)(a.Card,{className:"border-dashed",children:[(0,r.jsx)(a.CardHeader,{children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(l,{className:"h-4 w-4 text-muted-foreground"}),(0,r.jsx)(a.CardStatLabel,{children:"Budgets"})]})}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Soft monthly targets per category. The agent nudges you in chat when you’re trending over."})]}),(0,r.jsxs)(a.Card,{className:"border-dashed",children:[(0,r.jsx)(a.CardHeader,{children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(o,{className:"h-4 w-4 text-muted-foreground"}),(0,r.jsx)(a.CardStatLabel,{children:"Insights"})]})}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Year-over-year and month-over-month trends, with the agent surfacing changes worth noticing."})]})]}),(0,r.jsx)("p",{className:"rounded-md border border-border/50 bg-muted/40 p-3 text-xs text-muted-foreground",children:"Safety invariant: the agent never executes trades, places orders, or initiates transfers."})]})}],81916)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,99758,e=>{"use strict";let t=(0,e.i(77379).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",0,t],99758)},74490,e=>{"use strict";var t=e.i(54710),a=e.i(81471);let n=(0,e.i(94237).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}});e.s(["Card",0,function({className:e,tone:s,interactive:r,...i}){return(0,t.jsx)("div",{className:(0,a.cn)(n({tone:s,interactive:r}),e),...i})},"CardHeader",0,function({className:e,...n}){return(0,t.jsx)("div",{className:(0,a.cn)("mb-3 flex items-center justify-between",e),...n})},"CardStatLabel",0,function({className:e,...n}){return(0,t.jsx)("h3",{className:(0,a.cn)("text-sm font-medium text-muted-foreground",e),...n})},"CardTitle",0,function({className:e,...n}){return(0,t.jsx)("h3",{className:(0,a.cn)("text-lg font-semibold text-foreground",e),...n})},"CardValue",0,function({className:e,...n}){return(0,t.jsx)("div",{className:(0,a.cn)("text-3xl font-bold text-foreground",e),...n})}])},90925,e=>{"use strict";let t=(0,e.i(77379).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);e.s(["Trash2",0,t],90925)},60168,e=>{"use strict";let t=(0,e.i(77379).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],60168)},55575,e=>{"use strict";let t=(0,e.i(77379).default)("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",0,t],55575)},66127,e=>{"use strict";var t=e.i(65268);async function a({title:e,defaultPath:n}){let s=await t.api.post("/system/pick-directory",{title:e,...n?{defaultPath:n}:{}});if("selected"===s.status&&s.path)return s.path;if("cancelled"===s.status)return null;throw Error(s.message??"Folder picker is unavailable.")}e.s(["pickDirectoryFromDesktop",0,a])},52387,e=>{"use strict";let t=(0,e.i(77379).default)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",0,t],52387)},13451,e=>{"use strict";var t=e.i(34416),a=e.i(95486),n=e.i(65268);e.s(["useSaveConfig",0,function(){let e=(0,a.useQueryClient)(),[s,r]=(0,t.useState)(null),i=(0,t.useCallback)((e,t)=>{r({type:e,message:t}),setTimeout(()=>r(null),4e3)},[]),l=(0,t.useCallback)((e,t)=>{let a=Object.values(e.errors??{});a.length>0?i("warning",a.join(" ")):e.requiresRestart?.length>0?i("warning",`Updated. Restart daemon for: ${e.requiresRestart.join(", ")}`):i("success",t)},[i]),o=(0,t.useCallback)(async(t,a)=>{try{let s=await n.api.patch("/config",{[t]:a});e.invalidateQueries({queryKey:["config"]}),l(s,"Setting updated")}catch(e){throw i("error",`Failed to save: ${e instanceof Error?e.message:"Unknown error"}`),e}},[e,l,i]),d=(0,t.useCallback)(async t=>{try{let a=await n.api.patch("/config",t);e.invalidateQueries({queryKey:["config"]}),l(a,"Settings updated")}catch(e){throw i("error",`Failed to save: ${e instanceof Error?e.message:"Unknown error"}`),e}},[e,l,i]);return{toast:s,showToast:i,saveField:o,saveMultipleFields:d,patchConfig:(0,t.useCallback)(async t=>{let a=await n.api.patch("/config",t);return e.invalidateQueries({queryKey:["config"]}),a},[e])}}])},75750,e=>{"use strict";let t=(0,e.i(77379).default)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",0,t],75750)},2745,e=>{"use strict";let t=(0,e.i(77379).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"}]]);e.s(["ShieldCheck",0,t],2745)},58436,e=>{"use strict";var t=e.i(54710),a=e.i(34416),n=e.i(55575),s=e.i(72740),r=e.i(20014),i=e.i(8652),l=e.i(66127),o=e.i(81471);e.s(["DirectoryPickerField",0,function({id:e,value:d,onChange:c,title:u,placeholder:m="Choose a folder...",defaultPath:x,disabled:h=!1,className:p,inputClassName:g,buttonLabel:f="Choose"}){let[b,y]=(0,a.useState)(!1),[v,j]=(0,a.useState)(null),k=async()=>{y(!0),j(null);try{let e=await (0,l.pickDirectoryFromDesktop)({title:u,defaultPath:d.trim()||x});e&&c(e)}catch(e){j(e instanceof Error?e.message:"Folder picker is unavailable.")}finally{y(!1)}};return(0,t.jsxs)("div",{className:(0,o.cn)("space-y-1",p),children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row",children:[(0,t.jsx)(i.Input,{id:e,value:d,onChange:e=>{c(e.target.value),j(null)},placeholder:m,className:(0,o.cn)("font-mono text-sm",g),disabled:h||b}),(0,t.jsxs)(r.Button,{type:"button",variant:"outline",onClick:k,disabled:h||b,className:"shrink-0 gap-2",children:[b?(0,t.jsx)(s.Loader2,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(n.FolderOpen,{className:"h-4 w-4"}),b?"Opening...":f]})]}),v&&(0,t.jsx)("p",{className:"text-xs text-destructive",children:v})]})}])},85631,e=>{"use strict";var t=e.i(54710),a=e.i(81471);e.s(["ConnectionsSectionHeader",0,function({title:e,description:n,healthy:s,total:r,attention:i,actions:l}){let o=r>0&&s===r,d=r>0&&0===s;return(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,t.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:e}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[r>0&&(0,t.jsxs)("span",{className:(0,a.cn)("text-xs font-medium tabular-nums",o?"text-emerald-600 dark:text-emerald-400":d?"text-muted-foreground":"text-amber-600 dark:text-amber-400"),children:[s,"/",r," connected"]}),l]})]}),n&&(0,t.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:n}),i&&(0,t.jsx)("p",{className:"text-xs text-amber-600 dark:text-amber-400",children:i})]})}])},20870,e=>{"use strict";var t=e.i(54710),a=e.i(48467),n=e.i(74490),s=e.i(81471);let r={connected:{variant:"green",label:"Connected"},configured:{variant:"amber",label:"Configured"},connecting:{variant:"amber",label:"Connecting…"},"needs-setup":{variant:"gray",label:"Not Configured"},error:{variant:"red",label:"Error"},disabled:{variant:"gray",label:"Disabled"}};e.s(["ConnectionCard",0,function({name:e,icon:i,status:l,error:o,metadata:d,children:c,className:u}){let m=r[l];return(0,t.jsxs)(n.Card,{tone:"connected"===l?"success":"error"===l?"error":"default",className:(0,s.cn)("relative",u),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:i}),(0,t.jsx)("h3",{className:"text-sm font-medium text-foreground",children:e})]}),(0,t.jsx)(a.Badge,{variant:m.variant,children:m.label})]}),o&&"connecting"!==l&&(0,t.jsx)("p",{className:"mb-2 text-xs text-red-600 dark:text-red-400",children:o}),d&&d.length>0&&(0,t.jsx)("div",{className:"mb-3 space-y-0.5",children:d.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:e.label}),(0,t.jsx)("span",{className:"text-foreground",children:e.value})]},e.label))}),c]})},"deriveConfiguredStatus",0,function(e){return e?"configured":"needs-setup"},"deriveIntegrationStatus",0,function(e){return e&&e.configured?e.error?"error":e.connected?"connected":"configured":"needs-setup"},"deriveMessagingStatus",0,function(e){return e&&"not_configured"!==e.runtimeState?"connecting"===e.runtimeState?"connecting":"error"===e.runtimeState?"error":"ok"===e.runtimeState?"connected":"configured":"needs-setup"},"messagingMetadata",0,function(e){if(e)return[{label:"Owner configured",value:e.ownerConfigured?"yes":"no"},{label:"Owner channel known",value:e.ownerChannelKnown?"yes":"no"},{label:"Reminder eligible",value:e.notificationEligible?"yes":"no"},{label:"Last inbound",value:e.lastInboundAt??"—"}]}])},67490,e=>{"use strict";var t=e.i(14260),a=e.i(57415),n=e.i(95486),s=e.i(65268);e.s(["useIntegrationProbeLive",0,function(){let e=(0,n.useQueryClient)();return(0,a.useMutation)({mutationFn:e=>{let{key:t}=e,a={};return"liveProbe"in e?(a.liveProbe=!0,e.backend&&(a.backend=e.backend)):(a.backend=e.backend,a.tools=e.tools),s.api.post(`/integrations/${t}/probe`,a)},onSuccess:(t,a)=>{e.invalidateQueries({queryKey:["integration-probe",a.key]}),e.invalidateQueries({queryKey:["health"]})}})},"useIntegrations",0,function(){return(0,t.useQuery)({queryKey:["integrations"],queryFn:()=>s.api.get("/integrations"),staleTime:3e4})},"useNativeUnboundActions",0,function(e={}){let a=e.sinceHours??168;return(0,t.useQuery)({queryKey:["agent-actions","native_unbound",a],queryFn:async()=>{let e=new URLSearchParams({since:new Date(Date.now()-60*a*6e4).toISOString(),limit:"50"});e.append("kind","integration.native_unbound");let t=await s.api.get(`/agent/actions?${e.toString()}`),n=[];for(let e of t.actions)if(e.detail)try{let t=JSON.parse(e.detail);if("string"!=typeof t.key)continue;n.push({id:e.id,key:t.key,priorNativeBackend:t.priorNativeBackend??null,newMainBackend:t.newMainBackend??null,priorDeniedTools:t.priorDeniedTools??[],startedAt:e.startedAt})}catch{continue}return n},staleTime:6e4})},"usePatchIntegration",0,function(){let e=(0,n.useQueryClient)();return(0,a.useMutation)({mutationFn:({key:e,body:t})=>s.api.patch(`/integrations/${e}`,t),onSuccess:()=>{e.invalidateQueries({queryKey:["integrations"]}),e.invalidateQueries({queryKey:["health"]})}})},"useProxyModels",0,function(e){return(0,t.useQuery)({queryKey:["proxy-models",e??null],queryFn:()=>s.api.get(`/integrations/proxy-models/${e}`),enabled:null!=e,staleTime:6e4})},"useRecentProxyCalls",0,function(e,a={}){let{limit:n,enabled:r=!0}=a;return(0,t.useQuery)({queryKey:["recent-proxy-calls",e,n??null],queryFn:()=>{let t=void 0!==n?`?limit=${n}`:"";return s.api.get(`/integrations/${e}/recent-proxy-calls${t}`)},enabled:r&&null!==e,staleTime:1e4})}])},76176,e=>{"use strict";e.i(18446);var t=e.i(38082);let a={claude:"Claude Code",codex:"OpenAI Codex",gemini:"Gemini CLI",opencode:"OpenCode"},n=new Set(["opencode"]);function s(e){return n.has(e)}let r={gemini:{badgeLabel:"Vendor deprecation",shortSuffix:" (deprecated)",reason:"Google announced Gemini CLI will stop serving free, Pro, and Ultra requests on 2026-06-18 in favor of Antigravity CLI. Standard / Enterprise licenses keep access. Avoid binding new processes to Gemini if you rely on consumer-tier auth."}},i={claude:"Claude",codex:"Codex",gemini:"Gemini",opencode:"OpenCode"},l={claude:["#7C2D12","#B54B2D","#E15B40","#F97316","#FDBA74"],codex:["#86198F","#A21CAF","#D946EF","#E879F9","#F5D0FE"],gemini:["#1E3A8A","#1D4ED8","#1C69FF","#60A5FA","#93C5FD"],opencode:["#7C2D12","#C2410C","#FF7300","#F59E0B","#FCD34D"]},o=["#6b7280","#9ca3af","#4b5563","#374151"],d={claude:"orange",codex:"pink",gemini:"blue",opencode:"orange"},c={"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","routine.roadmap_refresh":"Roadmap Refresh","message.dm":"Direct Messages","message.mention":"Mentions","dashboard.chat":"Dashboard Chat","agent.task":"Scheduled Tasks","calendar.change":"Calendar Events",gmail_classify:"Gmail Classification","github.pull_request.review_requested":"GitHub Review Requests","github.assigned":"GitHub Assignments","github.security_alert":"GitHub Security Alerts","github.workflow_run.failed":"GitHub CI Failures","wiki.ingest_url":"Wiki URL Ingest","wiki.compile":"Wiki Compile","wiki.ask":"Wiki Ask"};function u(e){let t;if(!e)return[];try{t=JSON.parse(e)}catch{return[]}if(!t||"object"!=typeof t)return[];let a=[];for(let[e,n]of Object.entries(t))n&&"object"==typeof n&&a.push({modelId:e,inputTokens:"number"==typeof n.inputTokens?n.inputTokens:0,outputTokens:"number"==typeof n.outputTokens?n.outputTokens:0,costUsd:"number"==typeof n.costUsd?n.costUsd:0});return a.sort((e,t)=>t.costUsd-e.costUsd)}function m(e){if(!e)return null;let t=e.toLowerCase();return/^[a-z0-9_.-]+\/[a-z0-9_.-]+/.test(t)?"opencode":t.includes("claude")||t.includes("sonnet")||t.includes("opus")||t.includes("haiku")?"claude":t.includes("gemini")?"gemini":t.includes("gpt")||t.includes("codex")||t.includes("o3")||t.includes("o4")?"codex":null}e.s(["BACKEND_BADGE_VARIANTS",0,d,"BACKEND_COLORS",0,{claude:"#E15B40",codex:"#D946EF",gemini:"#1C69FF",opencode:"#FF7300"},"BACKEND_LABELS",0,a,"BACKEND_PROVIDER_LABELS",0,{claude:"Claude (Anthropic)",codex:"ChatGPT (OpenAI)",gemini:"Gemini (Google)",opencode:"OpenCode (sst/opencode)"},"BACKEND_PROVIDER_SHORT",0,{claude:"Claude",codex:"ChatGPT",gemini:"Gemini",opencode:"OpenCode"},"BACKEND_WEB_SEARCH_DESCRIPTIONS",0,{claude:"Lets the agent call Anthropic's built-in WebSearch tool.",codex:"Lets the agent call OpenAI's web_search tool. Works in safe (sandbox) mode — the tool runs at OpenAI, not as a local shell command.",gemini:"Lets the agent call Gemini's google_web_search tool.",opencode:"Lets the agent call the configured OpenCode provider's web-search tool when the OpenCode runtime is enabled."},"CHART_CATEGORY_PALETTE",0,["#3b82f6","#10b981","#f59e0b","#8b5cf6","#ec4899","#14b8a6","#f97316","#6366f1","#ef4444","#22c55e"],"UI_PREVIEW_ONLY_BADGE_SUFFIX",0," (coming soon)","UI_PREVIEW_ONLY_REASON",0,"Coming soon — OpenCode is wired internally but not yet ready for selection in this release. The card stays visible so you can see what is on the roadmap.","assignModelColors",0,function(e){let t=new Map;for(let a of e){if(!a)continue;let e=m(a)??"other",n=t.get(e)??[];n.push(a),t.set(e,n)}let a={};for(let[e,n]of t){n.sort((e,t)=>e.localeCompare(t));let t="other"===e?o:l[e],s=n.length;n.forEach((e,n)=>{let r;r=s>=t.length?n%t.length:1===s?Math.floor(t.length/2):Math.floor((n+.5)*t.length/s),a[e]=t[r]})}return a},"detectBackendFromModel",0,m,"formatModelName",0,function(e){return e?e.replace(/^[a-z0-9_.-]+\//i,"").replace(/^claude-/,"Claude ").replace(/^gpt-/,"GPT-").replace(/^gemini-/,"Gemini ").replace(/-/g," ").replace(/\bpreview\b/gi,"(preview)").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\bcodex\b/gi,"Codex").replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\s+/g," ").trim():"Not set"},"formatShortModelName",0,function(e){if(!e)return"unknown";if("opus"===e)return"Opus";if("sonnet"===e)return"Sonnet";let t=e.replace(/^[a-z0-9_.-]+\//i,""),a=t.replace(/-\d{8,}$/,"").replace(/^claude-/,"").replace(/(\d+)-(\d+)(?![-\d])/g,"$1.$2").replace(/-/g," ");return t.startsWith("gpt-")&&(a=`GPT-${a.replace(/^gpt\s*/i,"")}`),t.startsWith("gemini-")&&(a=a.replace(/^gemini\s*/i,"Gemini ")),a.replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\s+/g," ").trim()},"getBackendDeprecation",0,function(e){return r[e]??null},"getBackendLabel",0,function(e){return a[e]},"getBackendShortLabel",0,function(e){return i[e]},"getProcessGroup",0,function(e){return e.startsWith("wiki.")?"Wiki":e.startsWith("message.")||e.startsWith("dashboard.")?"Conversation":e.startsWith("routine.")?"Routines":e.startsWith("git.")||e.startsWith("github.")?"Git & GitHub":e.startsWith("calendar.")||"gmail_classify"===e?"Integrations":"Tasks"},"getProcessLabel",0,function(e){return c[e]??e},"isBackendSelectionDisabled",0,function(e){return!(0,t.isRuntimeAvailableBackendId)(e)||s(e)},"isUiPreviewOnlyBackend",0,s,"modelBadgeVariant",0,function(e){if(!e)return"gray";let t=m(e);return t?d[t]:"gray"},"parseModelUsage",0,u,"pickDisplayModel",0,function(e,t){let a=u(t);return a.length>0&&a[0]?a[0].modelId:e??null}])},59134,e=>{"use strict";let t=(0,e.i(77379).default)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",0,t],59134)},70986,e=>{"use strict";var t=e.i(34416),a=e.i(91967),n=e.i(9413),s=e.i(36567),r=e.i(18731),i=e.i(22353),l=e.i(85565),o=e.i(90816),d=e.i(11207),c=e.i(54710),u="Collapsible",[m,x]=(0,n.createContextScope)(u),[h,p]=m(u),g=t.forwardRef((e,a)=>{let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:o,onOpenChange:m,...x}=e,[p,g]=(0,s.useControllableState)({prop:r,defaultProp:i??!1,onChange:m,caller:u});return(0,c.jsx)(h,{scope:n,disabled:o,contentId:(0,d.useId)(),open:p,onOpenToggle:t.useCallback(()=>g(e=>!e),[g]),children:(0,c.jsx)(l.Primitive.div,{"data-state":k(p),"data-disabled":o?"":void 0,...x,ref:a})})});g.displayName=u;var f="CollapsibleTrigger",b=t.forwardRef((e,t)=>{let{__scopeCollapsible:n,...s}=e,r=p(f,n);return(0,c.jsx)(l.Primitive.button,{type:"button","aria-controls":r.contentId,"aria-expanded":r.open||!1,"data-state":k(r.open),"data-disabled":r.disabled?"":void 0,disabled:r.disabled,...s,ref:t,onClick:(0,a.composeEventHandlers)(e.onClick,r.onOpenToggle)})});b.displayName=f;var y="CollapsibleContent",v=t.forwardRef((e,t)=>{let{forceMount:a,...n}=e,s=p(y,e.__scopeCollapsible);return(0,c.jsx)(o.Presence,{present:a||s.open,children:({present:e})=>(0,c.jsx)(j,{...n,ref:t,present:e})})});v.displayName=y;var j=t.forwardRef((e,a)=>{let{__scopeCollapsible:n,present:s,children:o,...d}=e,u=p(y,n),[m,x]=t.useState(s),h=t.useRef(null),g=(0,i.useComposedRefs)(a,h),f=t.useRef(0),b=f.current,v=t.useRef(0),j=v.current,C=u.open||m,N=t.useRef(C),w=t.useRef(void 0);return t.useEffect(()=>{let e=requestAnimationFrame(()=>N.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,r.useLayoutEffect)(()=>{let e=h.current;if(e){w.current=w.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();f.current=t.height,v.current=t.width,N.current||(e.style.transitionDuration=w.current.transitionDuration,e.style.animationName=w.current.animationName),x(s)}},[u.open,s]),(0,c.jsx)(l.Primitive.div,{"data-state":k(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!C,...d,ref:g,style:{"--radix-collapsible-content-height":b?`${b}px`:void 0,"--radix-collapsible-content-width":j?`${j}px`:void 0,...e.style},children:C&&o})});function k(e){return e?"open":"closed"}e.s(["Collapsible",0,g,"CollapsibleContent",0,v,"CollapsibleTrigger",0,b],70986)},24756,e=>{"use strict";var t=e.i(14260),a=e.i(65268);e.s(["useBackends",0,function(e){return(0,t.useQuery)({queryKey:["backends"],queryFn:()=>a.api.get("/backends"),enabled:e?.enabled??!0,staleTime:6e4})}])},40974,e=>{"use strict";let t=(0,e.i(77379).default)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);e.s(["Lock",0,t],40974)},68399,e=>{"use strict";let t=(0,e.i(77379).default)("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);e.s(["EyeOff",0,t],68399)},68824,e=>{"use strict";let t=(0,e.i(77379).default)("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",0,t],68824)},64439,e=>{"use strict";var t=e.i(54710),a=e.i(34416),n=e.i(20014),s=e.i(8652),r=e.i(58436);e.s(["ExternalObsidianVaultSettings",0,function({vaultPath:e,vaultName:i,onSave:l}){let[o,d]=(0,a.useState)(e),[c,u]=(0,a.useState)(i),[m,x]=(0,a.useState)(null);(0,a.useEffect)(()=>{d(e)},[e]),(0,a.useEffect)(()=>{u(i)},[i]);let h=async()=>{x("save");try{let e=o.trim(),t=c.trim()||(e.split(/[\\/]+/).filter(Boolean).at(-1)??"");await l({externalObsidianVaultPath:e,externalObsidianVaultName:t})}finally{x(null)}},p=!!(e||i),g=async()=>{x("clear");try{await l({externalObsidianVaultPath:null,externalObsidianVaultName:null}),d(""),u("")}finally{x(null)}};return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("label",{className:"text-sm text-muted-foreground shrink-0 min-w-[80px]",children:"Path"}),(0,t.jsx)(r.DirectoryPickerField,{value:o,onChange:d,title:"Choose external Obsidian vault directory",placeholder:"Choose an external Obsidian vault folder",defaultPath:e||void 0,inputClassName:"max-w-[480px]"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("label",{className:"text-sm text-muted-foreground shrink-0 min-w-[80px]",children:"Vault Name"}),(0,t.jsx)(s.Input,{value:c,onChange:e=>u(e.target.value),placeholder:"MyVault",className:"max-w-[240px]"})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Use Choose to pick a local folder. Absolute local paths still work, including cloud-synced locations such as iCloud Drive, Dropbox, OneDrive, or Google Drive. Use Clear to remove the integration; both fields are nulled together to avoid the “path set without a name” error state."})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(n.Button,{size:"sm",onClick:h,disabled:null!==m,children:"save"===m?"Saving...":"Save External Vault Settings"}),p&&(0,t.jsx)(n.Button,{size:"sm",variant:"outline",onClick:g,disabled:null!==m,children:"clear"===m?"Clearing...":"Clear"})]}),p&&(0,t.jsxs)("div",{className:"text-xs text-muted-foreground space-y-0.5 pt-1",children:[(0,t.jsxs)("p",{children:["Current path:"," ",(0,t.jsx)("code",{className:"text-foreground",children:e||"(not set)"})]}),(0,t.jsxs)("p",{children:["Current vault name:"," ",(0,t.jsx)("code",{className:"text-foreground",children:i||"(not set)"})]})]})]})},"PrimaryPlatformField",0,function({health:e,value:s,defaultValue:r,modified:i,onSave:l}){let o=Object.entries(e?.messaging??{}).filter(([e,t])=>"dashboard"!==e&&t.configured&&t.ownerConfigured).map(([e])=>e),[d,c]=(0,a.useState)(s),[u,m]=(0,a.useState)(!1);(0,a.useEffect)(()=>{c(s)},[s]);let x=d!==s,h=s&&!o.includes(s),p=async()=>{m(!0);try{await l("primaryPlatform",d)}finally{m(!1)}};return(0,t.jsxs)("div",{className:"space-y-2 py-2 border-b",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("label",{className:"text-sm font-medium",children:["Fallback Primary Platform",i&&(0,t.jsx)("span",{className:"ml-2 text-xs text-amber-600",children:"(unsaved)"})]}),void 0!==r&&(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:["default: ",r||"(empty)"]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[o.map(e=>(0,t.jsx)(n.Button,{variant:d===e?"default":"outline",size:"sm",disabled:u,onClick:()=>c(e),className:"capitalize",children:e},e)),h&&(0,t.jsxs)(n.Button,{variant:d===s?"default":"outline",size:"sm",disabled:u,onClick:()=>c(s),className:"capitalize opacity-60",title:"Current value — not currently configured with an owner ID",children:[s," (not configured)"]}),0===o.length&&!h&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:"Configure a messaging app with an owner ID first."})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Last-resort destination used when no default reminder destination is selected and no per-request override is supplied. Only messaging apps with a configured owner ID appear here."}),(0,t.jsx)("div",{children:(0,t.jsx)(n.Button,{size:"sm",variant:"outline",disabled:!x||u,onClick:p,children:u?"Applying...":"Apply"})})]})}])},49765,e=>{"use strict";var t=e.i(54710),a=e.i(88423),n=e.i(75187),s=e.i(32077),r=e.i(34416),i=e.i(95486),l=e.i(65268);async function o({build:e,queryClient:t,apiClient:a=l.api}){let n=(await a.get("/config")).notionDatabaseIds??{},s=e(n);try{let e=await a.patch("/config",{notionDatabaseIdsBase:n,notionDatabaseIds:s});return await Promise.all([t.invalidateQueries({queryKey:["config"]}),t.invalidateQueries({queryKey:["health"]})]),e}catch(e){throw e instanceof l.ApiError&&409===e.status&&await Promise.all([t.invalidateQueries({queryKey:["config"]}),t.invalidateQueries({queryKey:["health"]})]),e}}var d=e.i(20014),c=e.i(8652),u=e.i(79634),m=e.i(70986),x=e.i(16047),h=e.i(60168),p=e.i(90925),g=e.i(68824),f=e.i(68399),b=e.i(59546),y=e.i(52387);e.i(18446);var v=e.i(5957),j=e.i(20870);function k(){let{data:e}=(0,a.useConfig)(),{data:s}=(0,n.useHealth)(),j=(0,i.useQueryClient)(),[k,C]=(0,r.useState)(""),[N,w]=(0,r.useState)(!1),[S,E]=(0,r.useState)(!1),[A,O]=(0,r.useState)(!1),[D,F]=(0,r.useState)(null),[I,R]=(0,r.useState)(""),[_,T]=(0,r.useState)(""),[P,B]=(0,r.useState)(null),[M,L]=(0,r.useState)(""),[q,K]=(0,r.useState)(!1),[z,G]=(0,r.useState)(null),[V,H]=(0,r.useState)(null);if(!e||!s)return null;let Q=!!e.notionConfigured,$=e.notionDatabaseIds??{},W=async()=>{let e=k.trim();if(e){E(!0),F(null);try{await l.api.put("/secrets/notion",{apiKey:e}),j.invalidateQueries({queryKey:["config"]}),j.invalidateQueries({queryKey:["health"]}),O(!0),C("")}catch(e){F(e instanceof Error?e.message:"Failed to save")}finally{E(!1)}}},U=async e=>{K(!0),G(null),H(null);try{let t=await o({build:e,queryClient:j});t.requiresRestart?.length>0&&H("Restart daemon to apply changes.")}catch(e){G(e instanceof Error?e.message:"Failed to save")}finally{K(!1)}},X=async()=>{let e=I.trim(),t=_.trim();e&&t&&(await U(a=>({...a,[e]:t})),R(""),T(""))},Y=async e=>{await U(t=>{let{[e]:a,...n}=t;return n})},J=async()=>{if(null===P)return;let e=M.trim();e&&e!==$[P]&&await U(t=>({...t,[P]:e})),B(null)},Z=Object.entries($);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"space-y-1.5 mt-3",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"API Key"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("div",{className:"relative flex-1",children:[(0,t.jsx)(c.Input,{type:N?"text":"password",value:k,onChange:e=>{C(e.target.value),O(!1)},placeholder:Q?"ntn_... (configured)":"ntn_...",className:"h-7 text-xs pr-8"}),(0,t.jsx)("button",{type:"button",onClick:()=>w(!N),className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:N?(0,t.jsx)(f.EyeOff,{className:"h-3.5 w-3.5"}):(0,t.jsx)(g.Eye,{className:"h-3.5 w-3.5"})})]}),(0,t.jsx)(d.Button,{size:"sm",variant:"outline",onClick:W,disabled:S||!k.trim(),className:"h-7 text-xs px-2 shrink-0",children:S?"...":"Save"}),(A||Q)&&(0,t.jsx)(b.CheckCircle2,{className:"h-4 w-4 text-emerald-500 shrink-0"})]}),D&&(0,t.jsx)(u.Alert,{variant:"error",children:D})]}),(0,t.jsxs)("div",{className:"space-y-2 mt-3",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"Database mappings"}),Z.length>0&&(0,t.jsx)("div",{className:"space-y-1.5",children:Z.map(([e,a])=>(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)("span",{className:"font-medium text-foreground min-w-[60px]",children:e}),P===e?(0,t.jsx)(c.Input,{type:"text",value:M,onChange:e=>L(e.target.value),onBlur:()=>void J(),onKeyDown:e=>{"Enter"===e.key&&J(),"Escape"===e.key&&B(null)},autoFocus:!0,className:"h-6 text-xs font-mono flex-1"}):(0,t.jsx)("button",{type:"button",onClick:()=>{B(e),L($[e]??"")},className:"text-muted-foreground font-mono truncate flex-1 text-left hover:text-foreground transition-colors",title:"Click to edit",children:a}),(0,t.jsx)("button",{type:"button",onClick:()=>Y(e),disabled:q,className:"text-muted-foreground hover:text-red-500 shrink-0",children:(0,t.jsx)(p.Trash2,{className:"h-3.5 w-3.5"})})]},e))}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.Input,{type:"text",value:I,onChange:e=>R(e.target.value),placeholder:"Label (e.g. tasks)",className:"h-7 text-xs flex-[1]"}),(0,t.jsx)(c.Input,{type:"text",value:_,onChange:e=>T(e.target.value),placeholder:"Database ID",className:"h-7 text-xs flex-[2] font-mono",onKeyDown:e=>{"Enter"===e.key&&X()}}),(0,t.jsx)(d.Button,{size:"sm",variant:"outline",onClick:X,disabled:q||!I.trim()||!_.trim(),className:"h-7 text-xs px-2 shrink-0",children:(0,t.jsx)(h.Plus,{className:"h-3.5 w-3.5"})})]}),V&&(0,t.jsx)(u.Alert,{variant:"warning",children:V}),z&&(0,t.jsx)(u.Alert,{variant:"error",children:z})]}),(0,t.jsxs)(m.Collapsible,{children:[(0,t.jsxs)(m.CollapsibleTrigger,{className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground mt-3",children:["Setup notes ",(0,t.jsx)(x.ChevronDown,{className:"h-3 w-3"})]}),(0,t.jsx)(m.CollapsibleContent,{children:(0,t.jsxs)("div",{className:"mt-2 rounded bg-muted/50 p-2 space-y-1 text-xs",children:[(0,t.jsxs)("p",{className:"text-muted-foreground",children:["Create an internal integration at"," ",(0,t.jsx)("a",{href:"https://www.notion.so/my-integrations",target:"_blank",rel:"noopener noreferrer",className:"underline hover:text-foreground",children:"notion.so/my-integrations"}),", enter the API key above, and share each target database with the integration. Then add the database mappings."]}),(0,t.jsxs)("p",{className:"text-muted-foreground",children:["The database ID is the 32-character hex string in the Notion URL (e.g. ",(0,t.jsx)("code",{className:"text-foreground",children:"notion.so/<workspace>/<database-id>"}),")."]}),v.INTEGRATION_DESCRIPTORS.notion.directSetup?.helpUrl&&(0,t.jsxs)("p",{className:"text-muted-foreground",children:["See Notion's official guide:"," ",(0,t.jsxs)("a",{href:v.INTEGRATION_DESCRIPTORS.notion.directSetup.helpUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 underline hover:text-foreground",children:["Create a Notion integration",(0,t.jsx)(y.ExternalLink,{className:"h-3 w-3"})]})]})]})})]})]})}var C=e.i(13451),N=e.i(42071),w=e.i(64439);function S(){let{data:e}=(0,a.useConfig)(),{data:s}=(0,n.useHealth)(),{toast:r,saveMultipleFields:i}=(0,C.useSaveConfig)(),l=s?.integrations?.obsidian;return e?(0,t.jsx)(j.ConnectionCard,{name:"External Obsidian Vault",icon:(0,t.jsx)(N.BookText,{className:"h-4 w-4"}),status:(0,j.deriveIntegrationStatus)(l),error:l?.error,children:(0,t.jsxs)("div",{className:"mt-2",children:[r&&(0,t.jsx)(u.Alert,{variant:r.type,className:"mb-2",children:r.message}),(0,t.jsxs)("p",{className:"max-w-prose pb-2 text-xs text-muted-foreground",children:["A personal Obsidian vault — distinct from the agent's own memory directory — that the agent can read from and write to via the Obsidian CLI. Pick any local folder, including cloud-synced ones (iCloud, Dropbox, OneDrive, Google Drive). The agent's own files (",(0,t.jsx)("code",{children:"today.md"}),", ",(0,t.jsx)("code",{children:"roadmap.md"}),", …) live under Settings → Management Mode, not here."]}),(0,t.jsx)(w.ExternalObsidianVaultSettings,{vaultPath:e.externalObsidianVaultPath,vaultName:e.externalObsidianVaultName,onSave:i})]})}):null}var E=e.i(85631),A=e.i(81187),O=e.i(96263),D=e.i(77379);let F=(0,D.default)("FileWarning",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var I=e.i(59134),R=e.i(2745);let _=(0,D.default)("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);var T=e.i(75750),P=e.i(57415),B=e.i(14260),M=e.i(48467),L=e.i(74490),q=e.i(81471);function K(e){return e<1024?`${e} B`:`${(e/1024).toFixed(1)} KB`}function z({title:e,count:a,children:n,defaultOpen:s}){let[i,l]=(0,r.useState)(s??a>0);return 0===a?null:(0,t.jsxs)(m.Collapsible,{open:i,onOpenChange:l,children:[(0,t.jsxs)(m.CollapsibleTrigger,{className:"flex w-full items-center justify-between rounded-md px-2 py-1.5 text-left text-sm font-medium text-foreground hover:bg-accent",children:[(0,t.jsx)("span",{children:e}),(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[a,(0,t.jsx)(O.ChevronRight,{className:(0,q.cn)("h-3.5 w-3.5 transition-transform",i&&"rotate-90")})]})]}),(0,t.jsx)(m.CollapsibleContent,{children:(0,t.jsx)("div",{className:"mt-2 divide-y divide-border rounded-md border border-border",children:n})})]})}function G({issue:e,repairingPath:a,onRepair:n}){let s=a===e.path;return(0,t.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2 text-sm",children:[(0,t.jsx)(F,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate font-mono text-xs text-foreground",children:e.path}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:e.message})]}),e.repairable&&(0,t.jsxs)(d.Button,{size:"sm",variant:"outline",className:"h-7 shrink-0 gap-1",disabled:null!==a,onClick:()=>n(e.path),children:[(0,t.jsx)(_,{className:(0,q.cn)("h-3.5 w-3.5",s&&"animate-spin")}),s?"Fixing":"Fix"]})]})}function V({issue:e}){return(0,t.jsxs)("div",{className:"flex items-start gap-3 px-3 py-2 text-sm",children:[(0,t.jsx)(A.AlertTriangle,{className:"mt-0.5 h-4 w-4 shrink-0 text-amber-600 dark:text-amber-400"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate font-mono text-xs text-foreground",children:e.path}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:e.message})]})]})}function H({issue:e}){return(0,t.jsxs)("div",{className:"flex items-start gap-3 px-3 py-2 text-sm",children:[(0,t.jsx)(A.AlertTriangle,{className:"mt-0.5 h-4 w-4 shrink-0 text-amber-600 dark:text-amber-400"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate font-mono text-xs text-foreground",children:e.path}),(0,t.jsxs)("div",{className:"text-xs text-muted-foreground",children:[K(e.bytes)," / ",K(e.capBytes)]})]})]})}function Q({issue:e}){return(0,t.jsxs)("div",{className:"flex items-start gap-3 px-3 py-2 text-sm",children:[(0,t.jsx)(A.AlertTriangle,{className:"mt-0.5 h-4 w-4 shrink-0 text-amber-600 dark:text-amber-400"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate font-mono text-xs text-foreground",children:e.source}),(0,t.jsxs)("div",{className:"text-xs text-muted-foreground",children:["missing ",(0,t.jsx)("span",{className:"font-mono",children:e.target})]})]})]})}function $(){var e;let a,{data:n,isLoading:s,error:o,refetch:c,isFetching:m}=(0,B.useQuery)({queryKey:["context-health"],queryFn:()=>l.api.get("/context/health"),refetchInterval:3e4}),x=(a=(0,i.useQueryClient)(),(0,P.useMutation)({mutationFn:({path:e})=>l.api.post("/context/repair/stub",{path:e}),onSuccess:(e,{path:t})=>{a.invalidateQueries({queryKey:["context-health"]});let n=t.includes("/")?t.split("/")[0]:null;n&&a.invalidateQueries({queryKey:["context-list",n]}),a.invalidateQueries({queryKey:["context",t.replace(/\.md$/,"")]})}})),[h,p]=(0,r.useState)(null),[g,f]=(0,r.useState)(null),[y,v]=(0,r.useState)(null),j=async e=>{p(e),f(null),v(null);try{let t=await x.mutateAsync({path:e});f("created"===t.status?`${t.path} created.`:`${t.path} already exists.`)}catch(e){e instanceof l.ApiError?v(`Repair failed: ${e.message}`):v(e instanceof Error?e.message:"Repair failed")}finally{p(null)}},k=n?.status??"warning",C="ok"===k?{variant:"green",label:"Healthy"}:"warning"===k?{variant:"amber",label:"Warnings"}:{variant:"red",label:"Needs Repair"},N="ok"===k?b.CheckCircle2:"warning"===k?A.AlertTriangle:T.XCircle;return(0,t.jsxs)(L.Card,{tone:n?"ok"===(e=n.status)?"success":"warning"===e?"warning":"error":"default",children:[(0,t.jsxs)("div",{className:"mb-3 flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)(R.ShieldCheck,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,t.jsx)("h3",{className:"truncate text-sm font-medium text-foreground",children:"Vault Health"})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[n&&(0,t.jsx)(M.Badge,{variant:C.variant,children:C.label}),(0,t.jsx)(d.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>void c(),disabled:m,"aria-label":"Refresh vault health",children:(0,t.jsx)(I.RefreshCw,{className:(0,q.cn)("h-3.5 w-3.5",m&&"animate-spin")})})]})]}),s&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Checking vault..."}),o&&(0,t.jsx)(u.Alert,{variant:"error",children:o instanceof Error?o.message:"Failed to load vault health."}),n&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,t.jsx)(N,{className:(0,q.cn)("h-4 w-4","ok"===n.status&&"text-emerald-600 dark:text-emerald-400","warning"===n.status&&"text-amber-600 dark:text-amber-400","error"===n.status&&"text-red-600 dark:text-red-400")}),(0,t.jsx)("span",{className:"text-foreground",children:"ok"===n.status?"All required vault checks passed.":`${n.summary.missingFiles+n.summary.frontmatterErrors+n.summary.sizeWarnings+n.summary.indexLinkIssues} issue(s) found.`}),(0,t.jsx)("span",{className:"ml-auto text-xs text-muted-foreground",children:(0,q.formatAbsoluteTime)(n.checkedAt)})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-2 text-xs sm:grid-cols-4",children:[(0,t.jsx)(W,{label:"Missing",value:n.summary.missingFiles}),(0,t.jsx)(W,{label:"Frontmatter",value:n.summary.frontmatterErrors}),(0,t.jsx)(W,{label:"Oversize",value:n.summary.sizeWarnings}),(0,t.jsx)(W,{label:"Index links",value:n.summary.indexLinkIssues})]}),g&&(0,t.jsx)(u.Alert,{variant:"success",children:g}),y&&(0,t.jsx)(u.Alert,{variant:"error",children:y}),(0,t.jsx)(z,{title:"Missing files",count:n.missingFiles.length,children:n.missingFiles.map(e=>(0,t.jsx)(G,{issue:e,repairingPath:h,onRepair:e=>void j(e)},e.path))}),(0,t.jsx)(z,{title:"Frontmatter errors",count:n.frontmatterErrors.length,children:n.frontmatterErrors.map(e=>(0,t.jsx)(V,{issue:e},`${e.path}:${e.code}`))}),(0,t.jsx)(z,{title:"Oversize injected files",count:n.sizeWarnings.length,children:n.sizeWarnings.map(e=>(0,t.jsx)(H,{issue:e},e.path))}),(0,t.jsx)(z,{title:"Broken index references",count:n.indexLinkIssues.length,children:n.indexLinkIssues.map(e=>(0,t.jsx)(Q,{issue:e},`${e.source}:${e.target}`))})]})]})}function W({label:e,value:a}){return(0,t.jsxs)("div",{className:"rounded-md border border-border px-2 py-1.5",children:[(0,t.jsx)("div",{className:"text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"font-mono text-base font-semibold text-foreground",children:a})]})}e.s(["default",0,function(){let{data:e,isLoading:r}=(0,a.useConfig)(),{data:i,isLoading:l}=(0,n.useHealth)(),o=r||l,d=!o&&(!e||!i),c=i?.integrations?.obsidian,u=i?.integrations?.notion,m=+!!c?.connected+ +!!u?.connected;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(E.ConnectionsSectionHeader,{title:"Knowledge",description:"The agent's long-form knowledge sources. Obsidian is a local Markdown vault; Notion is a hosted workspace with shared databases.",healthy:m,total:2}),d&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Daemon not connected. Start the daemon to configure knowledge sources."}),!o&&(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)($,{}),(0,t.jsx)(S,{}),(0,t.jsx)(s.IntegrationCard,{integrationKey:"notion",children:(0,t.jsx)(k,{})})]})]})}],49765)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,28919,e=>{"use strict";var t=e.i(54710),s=e.i(34416),r=e.i(75540),n=e.i(65268),a=e.i(42455),i=e.i(71816),l=e.i(49214),d=e.i(50862),o=e.i(49785),c=e.i(48467),u=e.i(20014),m=e.i(74490),h=e.i(26406),x=e.i(39982),p=e.i(10628),g=e.i(81471),f=e.i(57628),j=e.i(76176),y=e.i(31501),b=e.i(77379);let v=(0,b.default)("AlarmClock",[["circle",{cx:"12",cy:"13",r:"8",key:"3y4lt7"}],["path",{d:"M12 9v4l2 2",key:"1c63tq"}],["path",{d:"M5 3 2 6",key:"18tl5t"}],["path",{d:"m22 6-3-3",key:"1opdir"}],["path",{d:"M6.38 18.7 4 21",key:"17xu3x"}],["path",{d:"M17.64 18.67 20 21",key:"kv2oe2"}]]);var N=e.i(60168),k=e.i(43477),S=e.i(79634),w=e.i(8652);e.i(18446);var C=e.i(31868),T=e.i(38082),M=e.i(10427),D=e.i(14260);let O=["schedule-options"],_="__default__";function A({value:e,onChange:r,id:a,disabled:i}){let{data:l,isLoading:d,isError:o}=(0,D.useQuery)({queryKey:O,queryFn:()=>n.api.get("/schedule/options"),staleTime:3e5}),c=(0,s.useMemo)(()=>(function(e){if(!e)return[];let t=[],s=[];for(let t of Object.keys(e.modelAliases)){let r=e.modelAliases[t];s.push({value:t,label:`${t.charAt(0).toUpperCase()}${t.slice(1)}`,hint:`Legacy alias → ${r} tier`})}for(let r of(s.length>0&&t.push({label:"Tier aliases",options:s}),T.BACKEND_IDS)){if((0,j.isBackendSelectionDisabled)(r))continue;let s=e.models[r]??[];if(0===s.length)continue;let n=(0,j.getBackendDeprecation)(r);t.push({label:n?`${j.BACKEND_LABELS[r]}${n.shortSuffix}`:j.BACKEND_LABELS[r],options:s.map(e=>({value:e.id,label:e.id,hint:e.deprecated?`${e.tier} tier \xb7 deprecated`:`${e.tier} tier`,deprecated:e.deprecated}))})}return t})(l),[l]),u=0===e.trim().length?_:e,m=u===_||c.some(e=>e.options.some(e=>e.value===u));return(0,t.jsxs)(M.Select,{value:u,disabled:i||d||o,onValueChange:e=>r(e===_?"":e),children:[(0,t.jsx)(M.SelectTrigger,{id:a,className:"h-9 w-full",children:(0,t.jsx)(M.SelectValue,{placeholder:"Default",children:function(e,t){if(0===e.trim().length)return"Default (process config)";for(let s of t)for(let t of s.options)if(t.value===e)return t.deprecated?`${t.label} (deprecated)`:t.label;return`${e} (unrecognised)`}(e,c)})}),(0,t.jsxs)(M.SelectContent,{children:[(0,t.jsx)(M.SelectGroup,{children:(0,t.jsx)(M.SelectItem,{value:_,children:"Default (process config)"})}),m?null:(0,t.jsxs)(M.SelectGroup,{children:[(0,t.jsx)(M.SelectLabel,{children:"Current pin"}),(0,t.jsx)(M.SelectItem,{value:u,children:(0,t.jsxs)("span",{className:"flex flex-col",children:[(0,t.jsx)("span",{children:e}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:"Not in the live registry — keeping the existing pin"})]})})]}),c.map(e=>(0,t.jsxs)(M.SelectGroup,{children:[(0,t.jsx)(M.SelectLabel,{children:e.label}),e.options.map(e=>(0,t.jsx)(M.SelectItem,{value:e.value,children:(0,t.jsxs)("span",{className:"flex flex-col",children:[(0,t.jsxs)("span",{children:[e.label,e.deprecated?(0,t.jsx)("span",{className:"ml-2 rounded-sm bg-amber-100 px-1 text-[10px] font-medium uppercase tracking-wide text-amber-700 dark:bg-amber-900/40 dark:text-amber-300",children:"deprecated"}):null]}),e.hint?(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:e.hint}):null]})},e.value))]},e.label))]})]})}let H=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],R=Array.from({length:31},(e,t)=>t+1),q={frequency:"once",oneOffDateTime:"",recurringTime:"09:00",intervalHours:1,minuteOfHour:0,daysOfWeek:[],daysOfMonth:[],onMissingDay:"",model:"",description:"",prompt:""};function $(e){let t={},s=e.description.trim(),r=e.prompt.trim();if("once"===e.frequency?(0===r.length?t.prompt="Prompt is required — it is the agent's only instruction at fire time.":r.length>C.SCHEDULE_PROMPT_MAX_CHARS&&(t.prompt=`Prompt must be at most ${C.SCHEDULE_PROMPT_MAX_CHARS} characters.`),s.length>C.SCHEDULE_DESCRIPTION_MAX_CHARS&&(t.description=`Description (the list label) must be at most ${C.SCHEDULE_DESCRIPTION_MAX_CHARS} characters.`)):(s.length<20&&(t.description="Description must be at least 20 characters — when no prompt override is set, this text is the agent's only context."),r.length>0&&r.length<20&&(t.prompt="Prompt override must be at least 20 characters, or leave empty to use the description as the agent body.")),"once"===e.frequency)if(e.oneOffDateTime){let s=new Date(e.oneOffDateTime).getTime();Number.isNaN(s)?t.oneOffDateTime="Invalid date/time.":s<Date.now()-6e4&&(t.oneOffDateTime="Must be at least a minute in the future.")}else t.oneOffDateTime="Required.";else if("hourly"===e.frequency){let s;Object.assign(t,(s={},(!Number.isInteger(e.intervalHours)||e.intervalHours<1||e.intervalHours>23)&&(s.intervalHours="Interval must be an integer between 1 and 23."),(!Number.isInteger(e.minuteOfHour)||e.minuteOfHour<0||e.minuteOfHour>59)&&(s.minuteOfHour="Minute must be an integer between 0 and 59."),s))}else/^\d{2}:\d{2}$/.test(e.recurringTime)||(t.recurringTime="Time must be HH:MM."),"weekly"===e.frequency&&0===e.daysOfWeek.length&&(t.daysOfWeek="Select at least one weekday."),"monthly"===e.frequency&&0===e.daysOfMonth.length&&(t.daysOfMonth="Select at least one day of the month.");return 0===Object.keys(t).length?null:t}function E(e){let t,s=e.description.trim(),r=e.prompt.trim(),n=r.length>0?r:void 0,a="custom",i=0===(t=e.model.trim()).length?{}:{model:t};return"once"===e.frequency?{kind:"once",body:{time:new Date(e.oneOffDateTime).toISOString(),taskType:a,prompt:r,...s?{description:s}:{},...i,taskContext:{source:"dashboard_manual"}}}:{kind:"recurring",body:{taskType:a,description:s,...n?{prompt:n}:{},recurrenceRule:function(e){if("hourly"===e.frequency)return{frequency:"hourly",...1!==e.intervalHours?{intervalHours:e.intervalHours}:{},...0!==e.minuteOfHour?{minuteOfHour:e.minuteOfHour}:{}};if("weekly"===e.frequency)return{frequency:"weekly",time:e.recurringTime,daysOfWeek:[...e.daysOfWeek].sort((e,t)=>e-t)};if("monthly"===e.frequency){let t=[...e.daysOfMonth].sort((e,t)=>e-t),s=t.some(e=>e>=29);return{frequency:"monthly",time:e.recurringTime,daysOfMonth:t,...s&&""!==e.onMissingDay?{onMissingDay:e.onMissingDay}:{}}}return{frequency:"daily",time:e.recurringTime}}(e),...i,taskContext:{source:"dashboard_manual"}}}}function P({state:e,onChange:r,lockFrequency:n,hideFrequency:a,errors:i,onEdit:l}){let d=(t,s)=>{r({...e,[t]:s}),l?.()},[o]=(0,s.useState)(()=>{let e=new Date(Date.now()+6e4),t=e=>String(e).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}T${t(e.getHours())}:${t(e.getMinutes())}`}),c="monthly"===e.frequency&&e.daysOfMonth.some(e=>e>=29),m="once"===e.frequency,h=e.description.trim().length,x=e.prompt.trim().length;return(0,t.jsxs)("div",{className:"space-y-4",children:[a?null:(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Frequency"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1",role:"radiogroup","aria-label":"Frequency",children:["once","hourly","daily","weekly","monthly"].map(s=>(0,t.jsx)(u.Button,{type:"button",size:"sm",variant:e.frequency===s?"default":"outline",disabled:n,onClick:()=>d("frequency",s),"aria-pressed":e.frequency===s,children:"once"===s?"One-off":s.charAt(0).toUpperCase()+s.slice(1)},s))})]}),"once"===e.frequency?(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",htmlFor:"schedule-one-off-time",children:"When"}),(0,t.jsx)(w.Input,{id:"schedule-one-off-time",type:"datetime-local",value:e.oneOffDateTime,min:o,onChange:e=>d("oneOffDateTime",e.target.value),className:"h-9"}),i?.oneOffDateTime?(0,t.jsx)("p",{className:"mt-1 text-xs text-red-600",children:i.oneOffDateTime}):(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Local time. The daemon stores it as UTC."})]}):"hourly"===e.frequency?(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",htmlFor:"schedule-interval-hours",children:"Every N hours"}),(0,t.jsx)(w.Input,{id:"schedule-interval-hours",type:"number",inputMode:"numeric",min:1,max:23,value:e.intervalHours,onChange:e=>d("intervalHours",Number.parseInt(e.target.value,10)||1),className:"h-9 w-32"}),i?.intervalHours?(0,t.jsx)("p",{className:"mt-1 text-xs text-red-600",children:i.intervalHours}):(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"1–23. Anchored at midnight local time, so “every 2 hours” fires at 00, 02, 04, …"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",htmlFor:"schedule-minute-of-hour",children:"At minute"}),(0,t.jsx)(w.Input,{id:"schedule-minute-of-hour",type:"number",inputMode:"numeric",min:0,max:59,value:e.minuteOfHour,onChange:e=>d("minuteOfHour",Number.parseInt(e.target.value,10)||0),className:"h-9 w-32"}),i?.minuteOfHour?(0,t.jsx)("p",{className:"mt-1 text-xs text-red-600",children:i.minuteOfHour}):(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"0–59. e.g. set to 30 for HH:30."})]})]}):(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",htmlFor:"schedule-recurring-time",children:"Time of day"}),(0,t.jsx)(w.Input,{id:"schedule-recurring-time",type:"time",value:e.recurringTime,onChange:e=>d("recurringTime",e.target.value),className:"h-9 w-32"}),i?.recurringTime?(0,t.jsx)("p",{className:"mt-1 text-xs text-red-600",children:i.recurringTime}):(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Interpreted in the daemon’s configured timezone."})]}),"weekly"===e.frequency?(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Days of week"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:H.map((s,r)=>{let n=e.daysOfWeek.includes(r);return(0,t.jsx)(u.Button,{type:"button",size:"sm",variant:n?"default":"outline",onClick:()=>d("daysOfWeek",n?e.daysOfWeek.filter(e=>e!==r):[...e.daysOfWeek,r]),"aria-pressed":n,children:s},s)})}),i?.daysOfWeek?(0,t.jsx)("p",{className:"mt-1 text-xs text-red-600",children:i.daysOfWeek}):null]}):null,"monthly"===e.frequency?(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Days of month"}),(0,t.jsx)("div",{className:"grid grid-cols-7 gap-1 sm:grid-cols-10",children:R.map(s=>{let r=e.daysOfMonth.includes(s);return(0,t.jsx)("button",{type:"button",onClick:()=>d("daysOfMonth",r?e.daysOfMonth.filter(e=>e!==s):[...e.daysOfMonth,s]),"aria-pressed":r,className:(0,g.cn)("h-7 rounded-md border text-xs tabular-nums transition-colors",r?"border-primary bg-primary text-primary-foreground":"border-input bg-background hover:bg-muted"),children:s},s)})}),i?.daysOfMonth?(0,t.jsx)("p",{className:"mt-1 text-xs text-red-600",children:i.daysOfMonth}):null]}):null,c?(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",htmlFor:"schedule-on-missing-day",children:"When month is too short (e.g. Feb 30, Apr 31)"}),(0,t.jsxs)("select",{id:"schedule-on-missing-day",value:e.onMissingDay,onChange:e=>d("onMissingDay",e.target.value),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus:outline-none focus:ring-2 focus:ring-ring sm:w-72",children:[(0,t.jsx)("option",{value:"",children:"Default (fall back to last day of month)"}),(0,t.jsx)("option",{value:"skip",children:"Skip the month entirely"})]}),(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Controls behavior when ",(0,t.jsx)("code",{children:"daysOfMonth"})," contains 29-31 and the month is shorter. Default preserves bit-identical behavior with the pre-redesign clamp."]})]}):null,(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",htmlFor:"schedule-model",children:"Model"}),(0,t.jsx)(A,{id:"schedule-model",value:e.model,onChange:e=>d("model",e)}),(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["“Default” lets the dispatcher pick using the",(0,t.jsx)("code",{className:"mx-1",children:"scheduled.task"}),"process binding. Aliases (",(0,t.jsx)("code",{children:"sonnet"}),", ",(0,t.jsx)("code",{children:"opus"}),") rewrite to the matching tier server-side; registered IDs pin the row to that specific",(0,t.jsx)("code",{className:"mx-1",children:"(backend, model)"}),"."]})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",htmlFor:"schedule-description",children:["Description"," ",m?(0,t.jsx)("span",{className:"text-muted-foreground/70",children:"(optional label)"}):null]}),(0,t.jsx)("textarea",{id:"schedule-description",value:e.description,onChange:e=>d("description",e.target.value),rows:m?2:4,className:"w-full rounded-md border border-input bg-background p-2 text-sm focus:outline-none focus:ring-2 focus:ring-ring",placeholder:m?"Optional short label shown in the schedule list. The agent reads the Prompt below, not this.":"Short summary shown in the schedule list. When no prompt override is set, this is also what the agent reads."}),i?.description?(0,t.jsx)("p",{className:"mt-1 text-xs text-red-600",children:i.description}):(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:m?`${h} / ${C.SCHEDULE_DESCRIPTION_MAX_CHARS} characters max. Optional.`:`${h} / 20 characters minimum.`})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",htmlFor:"schedule-prompt",children:["Prompt"," ",m?(0,t.jsx)("span",{className:"text-muted-foreground/70",children:"(required — the agent’s instruction)"}):(0,t.jsx)("span",{className:"text-muted-foreground/70",children:"(optional override)"})]}),(0,t.jsx)("textarea",{id:"schedule-prompt",value:e.prompt,onChange:e=>d("prompt",e.target.value),rows:m?8:6,className:"w-full rounded-md border border-input bg-background p-2 text-sm focus:outline-none focus:ring-2 focus:ring-ring",placeholder:m?"The full instruction the agent runs at fire time — what to do, why, and the expected output. It starts with no memory, so this is its only context.":"Leave empty to use the description above as the agent body. Fill in to give the agent a fuller, separate instruction."}),i?.prompt?(0,t.jsx)("p",{className:"mt-1 text-xs text-red-600",children:i.prompt}):m?(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[x," / ",C.SCHEDULE_PROMPT_MAX_CHARS," characters. Required."]}):(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:0===x?"Empty — description will be used as the agent body.":`${x} / 20 characters minimum (when set).`})]})]})}function B({warnings:e,title:s="Saved with warnings"}){return e&&0!==e.length?(0,t.jsxs)(S.Alert,{variant:"warning",children:[(0,t.jsx)("div",{className:"font-medium",children:s}),(0,t.jsx)("ul",{className:"mt-1 list-disc space-y-1 pl-5 text-xs",children:e.map((e,s)=>(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted-foreground",children:e.code}),(0,t.jsx)("span",{className:"ml-2",children:e.hint})]},`${e.code}:${s}`))})]}):null}function I(e){if(e instanceof n.ApiError){let t=e.body;return{summary:t?.summary??`${e.message} (${e.status})`,issues:(t?.errors??[]).map(e=>({code:e.code,field:e.field,received:e.received,expected:e.expected,hint:e.hint,validValues:e.validValues,docsUrl:e.docsUrl}))}}return e instanceof Error?{summary:e.message,issues:[]}:{summary:"Unknown error",issues:[]}}var F=e.i(57415),L=e.i(95486);let U=["schedule-list","schedule-next"];function Q(e){for(let t of U)e.invalidateQueries({queryKey:[t]})}function W({trigger:e}){let r,[a,i]=(0,s.useState)(!1),[l,d]=(0,s.useState)(q),[o,c]=(0,s.useState)(null),[m,h]=(0,s.useState)(null),[x,p]=(0,s.useState)([]),[g,f]=(0,s.useState)([]),[j,y]=(0,s.useState)(!1),b=(r=(0,L.useQueryClient)(),(0,F.useMutation)({mutationFn:e=>n.api.post("/schedule",e),onSuccess:()=>Q(r)})),v=b.isPending,N=()=>{d(q),c(null),h(null),p([]),f([]),y(!1)},w=async()=>{if(j){i(!1),N();return}let e=$(l);if(c(e),e)return;h(null),p([]),f([]);let t=E(l);if("once"!==t.kind)return void h("Recurring tasks are now Agents — create them on the Agents page.");try{let e=(await b.mutateAsync(t.body)).warnings??[];if(e.length>0){f(e),y(!0);return}i(!1),N()}catch(s){let{summary:e,issues:t}=I(s);h(e),p(t)}};return(0,t.jsxs)(k.Sheet,{open:a,onOpenChange:e=>{i(e),e||N()},children:[(0,t.jsx)(k.SheetTrigger,{asChild:!0,children:e}),(0,t.jsxs)(k.SheetContent,{className:"flex flex-col gap-4 overflow-y-auto",children:[(0,t.jsxs)(k.SheetHeader,{className:"pr-8",children:[(0,t.jsx)(k.SheetTitle,{children:"New scheduled task"}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Runs in a fresh per-session workdir. The",(0,t.jsx)("code",{className:"mx-1",children:"notify"}),"and",(0,t.jsx)("code",{className:"mx-1",children:"schedule"}),"skills are provisioned, so the agent can DM you and reschedule itself."]})]}),(0,t.jsx)(P,{state:l,onChange:d,errors:o,hideFrequency:!0,onEdit:()=>{o&&c(null),m&&h(null),x.length>0&&p([]),j&&(y(!1),f([]))}}),m?(0,t.jsxs)(S.Alert,{variant:"error",children:[(0,t.jsx)("div",{className:"font-medium",children:m}),x.length>0?(0,t.jsx)("ul",{className:"mt-1 list-disc space-y-1 pl-5 text-xs",children:x.map((e,s)=>(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"font-mono text-[11px] opacity-80",children:e.code}),(0,t.jsx)("span",{className:"ml-2",children:e.hint})]},`${e.code}:${s}`))}):null]}):null,(0,t.jsx)(B,{warnings:g}),(0,t.jsxs)("div",{className:"mt-2 flex justify-end gap-2",children:[(0,t.jsx)(u.Button,{variant:"outline",onClick:()=>{i(!1),N()},disabled:v,children:j?"Close":"Cancel"}),(0,t.jsx)(u.Button,{onClick:w,disabled:v,children:v?"Saving...":j?"Acknowledge":"Create"})]})]})]})}function K(e){let t=(0,g.parseUtcDate)(e),s=e=>String(e).padStart(2,"0");return`${t.getFullYear()}-${s(t.getMonth()+1)}-${s(t.getDate())}T${s(t.getHours())}:${s(t.getMinutes())}`}function X({row:e,open:s,onOpenChange:r}){return(0,t.jsx)(k.Sheet,{open:s,onOpenChange:r,children:e?(0,t.jsx)(z,{row:e,onClose:()=>r(!1)},e.id):null})}function z({row:e,onClose:r}){let a,i,[l,d]=(0,s.useState)(!1),o=e.model??"",[m,h]=(0,s.useState)(e.task_description??""),[x,p]=(0,s.useState)(e.task_prompt??""),[f,y]=(0,s.useState)(o),[b,v]=(0,s.useState)(()=>K(e.scheduled_for)),[N,T]=(0,s.useState)(null),[M,D]=(0,s.useState)([]),[O,_]=(0,s.useState)([]),H=(a=(0,L.useQueryClient)(),(0,F.useMutation)({mutationFn:({id:e,...t})=>n.api.patch(`/schedule/${e}`,t),onSuccess:()=>Q(a)})),R=(i=(0,L.useQueryClient)(),(0,F.useMutation)({mutationFn:e=>n.api.delete(`/schedule/${e}`),onSuccess:()=>Q(i)})),q=function(e){if(!e)return{};try{let t=JSON.parse(e);return t&&"object"==typeof t?t:{}}catch{return{}}}(e.task_context),$="pending"===e.status,E="dm"===e.task_type,P=async()=>{if(T(null),D([]),_([]),E){if(m.trim().length<1)return void T("Message cannot be empty.")}else{if(m.trim().length>C.SCHEDULE_DESCRIPTION_MAX_CHARS)return void T(`Description (the list label) must be at most ${C.SCHEDULE_DESCRIPTION_MAX_CHARS} characters.`);if(0===x.trim().length)return void T("Prompt cannot be empty — it is the agent's instruction.");if(x.trim().length>C.SCHEDULE_PROMPT_MAX_CHARS)return void T(`Prompt must be at most ${C.SCHEDULE_PROMPT_MAX_CHARS} characters.`)}let t=new Date(b).getTime();if(Number.isNaN(t))return void T("Invalid date/time.");if(t<Date.now()-6e4)return void T("Scheduled time must be at least a minute in the future.");let s={id:e.id};if(b!==K(e.scheduled_for)&&(s.time=new Date(b).toISOString()),m!==(e.task_description??"")&&(E?s.message=m:s.description=m),!E){let t=x.trim();t!==(e.task_prompt??"").trim()&&(s.prompt=t)}let r=f.trim();if(""===r?""!==o&&(s.model=null):r!==o&&(s.model=r),1===Object.keys(s).length)return void d(!1);try{let e=(await H.mutateAsync(s)).warnings??[];if(e.length>0){_(e),d(!1);return}d(!1)}catch(s){let{summary:e,issues:t}=I(s);T(e),D(t)}},U=async()=>{if(T(null),confirm("Cancel this scheduled task?"))try{await R.mutateAsync(e.id),r()}catch(e){T(I(e).summary)}};return(0,t.jsxs)(k.SheetContent,{className:"flex flex-col gap-4 overflow-y-auto",children:[(0,t.jsxs)(k.SheetHeader,{className:"pr-8",children:[(0,t.jsxs)(k.SheetTitle,{children:["Scheduled task #",e.id]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[(0,t.jsx)(c.Badge,{children:e.task_type}),(0,t.jsx)(c.Badge,{children:e.status}),e.model?(0,t.jsx)(c.Badge,{variant:(0,j.modelBadgeVariant)(e.model),children:(0,j.formatShortModelName)(e.model)}):(0,t.jsx)(c.Badge,{variant:"gray",children:"default model"}),void 0!==q.recurringScheduleId?(0,t.jsxs)(c.Badge,{variant:"purple",children:["from recurring #",String(q.recurringScheduleId)]}):null]})]}),(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-1 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Scheduled for"}),l?(0,t.jsx)(w.Input,{type:"datetime-local",value:b,onChange:e=>v(e.target.value),className:"h-9"}):(0,t.jsxs)("p",{className:"text-sm text-foreground",children:[(0,g.formatAbsoluteTime)(e.scheduled_for)," ",(0,t.jsxs)("span",{className:"text-muted-foreground",children:["(",(0,g.formatRelativeTime)(e.scheduled_for),")"]})]})]}),(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-1 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:E?"Message":"Description"}),l?(0,t.jsx)("textarea",{value:m,onChange:e=>h(e.target.value),rows:E?8:4,className:"w-full rounded-md border border-input bg-background p-2 text-sm focus:outline-none focus:ring-2 focus:ring-ring"}):e.task_description?(0,t.jsx)("pre",{className:"whitespace-pre-wrap break-words rounded-md bg-muted p-2 text-xs text-foreground",children:e.task_description}):(0,t.jsx)("p",{className:"rounded-md bg-muted p-2 text-xs italic text-muted-foreground",children:"No label — see the Prompt below for the agent instruction."})]}),E?null:(0,t.jsxs)("section",{children:[(0,t.jsxs)("h3",{className:"mb-1 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:["Prompt ",(0,t.jsx)("span",{className:"normal-case tracking-normal text-muted-foreground/70",children:"(the agent’s instruction)"})]}),l?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("textarea",{value:x,onChange:e=>p(e.target.value),rows:8,className:"w-full rounded-md border border-input bg-background p-2 text-sm focus:outline-none focus:ring-2 focus:ring-ring",placeholder:"The agent's instruction at fire time — what to do, why, and the expected output."}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:0===x.trim().length?"Required — the agent's instruction at fire time.":`${x.trim().length} / ${C.SCHEDULE_PROMPT_MAX_CHARS} characters max.`})]}):e.task_prompt&&e.task_prompt!==e.task_description?(0,t.jsx)("pre",{className:"whitespace-pre-wrap break-words rounded-md bg-muted p-2 text-xs text-foreground",children:e.task_prompt}):(0,t.jsx)("p",{className:"rounded-md bg-muted p-2 text-xs italic text-muted-foreground",children:"Same as the description above — this row uses one instruction as both its label and its agent body."})]}),!E&&l?(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-1 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Model"}),(0,t.jsx)(A,{value:f,onChange:y}),(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Pick “Default” to let the dispatcher use the",(0,t.jsx)("code",{className:"mx-1",children:"scheduled.task"}),"process binding. Setting a registered model id pins this row to that backend."]})]}):null,Object.keys(q).length>0?(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-1 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Task context"}),(0,t.jsx)("pre",{className:"overflow-x-auto rounded-md bg-muted p-2 font-mono text-[11px] text-muted-foreground",children:JSON.stringify(q,null,2)})]}):null,(0,t.jsxs)("section",{className:"text-xs text-muted-foreground",children:["Created ",(0,g.formatAbsoluteTime)(e.created_at)]}),N?(0,t.jsxs)(S.Alert,{variant:"error",children:[(0,t.jsx)("div",{className:"font-medium",children:N}),M.length>0?(0,t.jsx)("ul",{className:"mt-1 list-disc space-y-1 pl-5 text-xs",children:M.map((e,s)=>(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"font-mono text-[11px] opacity-80",children:e.code}),(0,t.jsx)("span",{className:"ml-2",children:e.hint})]},`${e.code}:${s}`))}):null]}):null,(0,t.jsx)(B,{warnings:O}),(0,t.jsxs)("div",{className:"mt-auto flex justify-between gap-2 pt-4",children:[$&&!l?(0,t.jsx)(u.Button,{variant:"outline",onClick:U,disabled:R.isPending,children:R.isPending?"Cancelling...":"Cancel task"}):(0,t.jsx)("span",{}),(0,t.jsxs)("div",{className:"flex gap-2",children:[$&&!l?(0,t.jsx)(u.Button,{onClick:()=>{h(e.task_description??""),p(e.task_prompt??""),y(o),v(K(e.scheduled_for)),T(null),D([]),_([]),d(!0)},children:"Edit"}):null,l?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u.Button,{variant:"outline",onClick:()=>d(!1),disabled:H.isPending,children:"Discard"}),(0,t.jsx)(u.Button,{onClick:P,disabled:H.isPending,children:H.isPending?"Saving...":"Save"})]}):null]})]})]})}let V=(0,b.default)("CalendarRange",[["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M17 14h-6",key:"bkmgh3"}],["path",{d:"M13 18H7",key:"bb0bb7"}],["path",{d:"M7 14h.01",key:"1qa3f1"}],["path",{d:"M17 18h.01",key:"1bdyru"}]]);var G=e.i(90780),J=e.i(90925);let Y=["recurring-schedules"];function Z(){let e=(0,L.useQueryClient)();return(0,F.useMutation)({mutationFn:({id:e,...t})=>n.api.patch(`/recurring-schedules/${e}`,t),onSuccess:()=>{e.invalidateQueries({queryKey:Y}),e.invalidateQueries({queryKey:["schedule-list"]}),e.invalidateQueries({queryKey:["schedule-next"]})}})}function ee({dto:e,open:s,onOpenChange:r}){return(0,t.jsx)(k.Sheet,{open:s,onOpenChange:r,children:e&&(0,t.jsx)(et,{dto:e,onClose:()=>r(!1)},e.id)})}function et({dto:e,onClose:r}){let[n,a]=(0,s.useState)(()=>{let t;return t=e.recurrenceRule,{...q,frequency:t.frequency,oneOffDateTime:"",recurringTime:t.time??"00:00",intervalHours:t.intervalHours??1,minuteOfHour:t.minuteOfHour??0,daysOfWeek:t.daysOfWeek??[],daysOfMonth:t.daysOfMonth??[],onMissingDay:t.onMissingDay??"",model:e.model??"",description:e.description,prompt:e.prompt??""}}),[i,l]=(0,s.useState)(null),[d,o]=(0,s.useState)(null),[c,m]=(0,s.useState)([]),[h,x]=(0,s.useState)([]),[p,g]=(0,s.useState)(!1),f=Z(),j=e.model??"",y=async()=>{if(p)return void r();let t=$(n);if(l(t),t)return;let s=E(n);if("recurring"!==s.kind)return void o("Cannot convert a scheduled DM to a one-off — delete and recreate.");try{let t=n.model.trim(),a=s.body.recurrenceRule.time!==e.recurrenceRule.time,i=(await f.mutateAsync({id:e.id,description:s.body.description,prompt:s.body.prompt??null,recurrenceRule:s.body.recurrenceRule,...a?{taskContext:{...e.taskContext,pin_to_quiet_hours_end:!1}}:{},...""===t?""!==j?{model:null}:{}:t!==j?{model:t}:{}})).warnings??[];if(i.length>0){x(i),g(!0);return}r()}catch(s){let{summary:e,issues:t}=I(s);o(e),m(t)}};return(0,t.jsxs)(k.SheetContent,{className:"flex flex-col gap-4 overflow-y-auto",children:[(0,t.jsx)(k.SheetHeader,{className:"pr-8",children:(0,t.jsxs)(k.SheetTitle,{children:["Edit scheduled DM #",e.id]})}),(0,t.jsx)(P,{state:n,onChange:a,errors:i,lockFrequency:!0,onEdit:()=>{i&&l(null),d&&o(null),c.length>0&&m([]),p&&(g(!1),x([]))}}),d?(0,t.jsxs)(S.Alert,{variant:"error",children:[(0,t.jsx)("div",{className:"font-medium",children:d}),c.length>0?(0,t.jsx)("ul",{className:"mt-1 list-disc space-y-1 pl-5 text-xs",children:c.map((e,s)=>(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"font-mono text-[11px] opacity-80",children:e.code}),(0,t.jsx)("span",{className:"ml-2",children:e.hint})]},`${e.code}:${s}`))}):null]}):null,(0,t.jsx)(B,{warnings:h}),(0,t.jsxs)("div",{className:"mt-2 flex justify-end gap-2",children:[(0,t.jsx)(u.Button,{variant:"outline",onClick:r,disabled:f.isPending,children:p?"Close":"Cancel"}),(0,t.jsx)(u.Button,{onClick:y,disabled:f.isPending,children:f.isPending?"Saving...":p?"Acknowledge":"Save"})]})]})}function es(){let e,{data:r,isLoading:a,isError:i,error:l,refetch:m}=(0,D.useQuery)({queryKey:Y,queryFn:()=>n.api.get("/recurring-schedules"),staleTime:3e4}),h=Z(),x=(e=(0,L.useQueryClient)(),(0,F.useMutation)({mutationFn:e=>n.api.delete(`/recurring-schedules/${e}`),onSuccess:()=>{e.invalidateQueries({queryKey:Y}),e.invalidateQueries({queryKey:["schedule-list"]}),e.invalidateQueries({queryKey:["schedule-next"]})}})),[f,y]=(0,s.useState)(null),[b,v]=(0,s.useState)(null),N=async e=>{v(null);try{await h.mutateAsync({id:e.id,enabled:!e.enabled})}catch(e){v(I(e).summary)}},k=async e=>{if(v(null),confirm(`Delete scheduled DM "${e.description.slice(0,40)}..."?`))try{await x.mutateAsync(e.id)}catch(e){v(I(e).summary)}},w=(r?.items??[]).filter(e=>"dm_session"===e.taskType);return(0,t.jsxs)(t.Fragment,{children:[b?(0,t.jsx)(S.Alert,{variant:"error",children:b}):null,(0,t.jsx)(o.QueryResult,{isLoading:a,isError:i,error:l,onRetry:()=>m(),skeleton:(0,t.jsx)(o.TableSkeleton,{rows:3}),children:0===w.length?(0,t.jsx)(d.EmptyState,{icon:V,title:"No scheduled DMs",description:"Recurring DMs (e.g. the morning briefing) appear here. The agent creates them on request; recurring work runs as an Agent on the Agents page."}):(0,t.jsx)("div",{className:"overflow-x-auto rounded-xl border border-border",children:(0,t.jsxs)("table",{className:"w-full text-left","aria-label":"Scheduled DMs",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"border-b border-border bg-muted/50",children:[(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Cadence"}),(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Description"}),(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Model"}),(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Next run"}),(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Enabled"}),(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Actions"})]})}),(0,t.jsx)("tbody",{children:w.map(e=>(0,t.jsxs)("tr",{className:"border-b border-border",children:[(0,t.jsx)("td",{className:"px-3 py-2 text-sm",children:e.recurrenceLabel}),(0,t.jsx)("td",{className:"max-w-md px-3 py-2 text-sm",children:(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)("span",{className:"line-clamp-2 flex-1",children:e.description}),e.prompt&&e.description&&e.prompt!==e.description?(0,t.jsxs)(p.Tooltip,{children:[(0,t.jsx)(p.TooltipTrigger,{children:(0,t.jsx)(c.Badge,{variant:"purple",className:"shrink-0",children:"prompt"})}),(0,t.jsx)(p.TooltipContent,{children:"Description above is the list label; a separate prompt is what the agent receives. Open the row to view or edit."})]}):null]})}),(0,t.jsx)("td",{className:"px-3 py-2",children:e.model?(0,t.jsx)(c.Badge,{variant:(0,j.modelBadgeVariant)(e.model),children:(0,j.formatShortModelName)(e.model)}):(0,t.jsx)(c.Badge,{variant:"gray",children:"default"})}),(0,t.jsx)("td",{className:"px-3 py-2 text-xs",children:e.nextRunAt?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{children:(0,g.formatAbsoluteTime)(e.nextRunAt)}),(0,t.jsx)("div",{className:"text-muted-foreground",children:(0,g.formatRelativeTime)(e.nextRunAt)})]}):(0,t.jsx)("span",{className:"text-muted-foreground",children:"—"})}),(0,t.jsx)("td",{className:"px-3 py-2",children:(0,t.jsx)(u.Button,{size:"sm",variant:e.enabled?"default":"outline",onClick:()=>N(e),disabled:h.isPending,children:e.enabled?"On":"Off"})}),(0,t.jsx)("td",{className:"px-3 py-2",children:(0,t.jsxs)("div",{className:"flex gap-1",children:[(0,t.jsx)(u.Button,{size:"sm",variant:"outline",onClick:()=>y(e),"aria-label":"Edit scheduled DM",children:(0,t.jsx)(G.Edit2,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(u.Button,{size:"sm",variant:"outline",onClick:()=>k(e),disabled:x.isPending,"aria-label":"Delete scheduled DM",children:(0,t.jsx)(J.Trash2,{className:"h-3.5 w-3.5"})})]})})]},e.id))})]})})}),(0,t.jsx)(ee,{dto:f,open:null!==f,onOpenChange:e=>{e||y(null)}})]})}let er={pending:"blue",running:"amber",completed:"green",skipped:"gray",failed:"red"},en={wake:"blue",dm:"blue",morning_routine:"green",evening_review:"green",custom:"purple"},ea=["all","pending","running","completed","skipped","failed"],ei=["all","wake","dm","morning_routine","evening_review","custom"];e.s(["default",0,function(){var e;let[b,k]=(0,s.useState)("upcoming"),[S,w]=(0,s.useState)("all"),[C,T]=(0,s.useState)("all"),[M,D]=(0,s.useState)(null),{data:O}=(0,a.useScheduleNext)(),{data:_,fetchNextPage:A,hasNextPage:H,isFetchingNextPage:R,isLoading:q,isError:$,error:E,refetch:P}=(e={status:"all"===S?void 0:S,type:"all"===C?void 0:C},(0,r.useInfiniteQuery)({queryKey:["schedule-list",e],queryFn:({pageParam:t=1})=>n.api.get("/schedule/list",{page:t,limit:20,status:e?.status,type:e?.type}),getNextPageParam:e=>e.pagination.page<e.pagination.totalPages?e.pagination.page+1:void 0,initialPageParam:1})),B=_?.pages.flatMap(e=>e.schedules)??[],[I,F]=(0,s.useState)("");(0,s.useEffect)(()=>{if(!O?.next)return;let e=()=>{let e=(0,g.parseUtcDate)(O.next.scheduled_for).getTime()-Date.now();if(e<=0)return void F("Now");let t=Math.floor(e/36e5),s=Math.floor(e%36e5/6e4),r=Math.floor(e%6e4/1e3);F(t>0?`${t}h ${s}m ${r}s`:`${s}m ${r}s`)};e();let t=setInterval(e,1e3);return()=>clearInterval(t)},[O?.next]);let{regenerate:L,target:U,status:Q,error:K,dismiss:z}=(0,i.useRegenerate)();return(0,t.jsxs)("div",{className:"space-y-6 p-6",children:[(0,t.jsx)(x.PageHeader,{title:"Schedule",description:(0,t.jsxs)(t.Fragment,{children:["The scheduling queue plus recurring DM rules. ",(0,t.jsx)("strong",{children:"Upcoming"}),"is every materialized invocation about to run or recently run — wakes (",(0,t.jsx)("code",{children:"wake"}),"), DMs (",(0,t.jsx)("code",{children:"dm"}),"), one-off",(0,t.jsx)("code",{children:" custom"})," tasks, and routine / recurring-DM instances.",(0,t.jsx)("strong",{children:" Scheduled DMs"})," lists the recurring DM rules (e.g. the morning briefing) you can retime or turn off. Recurring ",(0,t.jsx)("em",{children:"work"}),"runs as an Agent on the Agents page."]}),actions:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(W,{trigger:(0,t.jsxs)(u.Button,{children:[(0,t.jsx)(N.Plus,{className:"mr-1 h-4 w-4"}),"Schedule"]})}),(0,t.jsx)(l.RegenerateButton,{target:"today",label:"Refresh Today",currentTarget:U,status:Q,error:K,onRegenerate:L,onDismiss:z})]})}),O?.next&&(0,t.jsxs)(m.Card,{className:"border-primary/30 bg-primary/10 dark:bg-primary/15",children:[(0,t.jsxs)(m.CardHeader,{children:[(0,t.jsx)(m.CardTitle,{children:"Next Up"}),(0,t.jsx)(v,{className:"h-4 w-4 text-primary"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsx)("span",{className:"font-mono text-2xl font-bold text-foreground",children:I}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm text-foreground",children:O.next.task_description}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:(0,g.formatAbsoluteTime)(O.next.scheduled_for)})]})]})]}),(0,t.jsxs)(h.Tabs,{value:b,onValueChange:e=>k(e),children:[(0,t.jsxs)(h.TabsList,{children:[(0,t.jsx)(h.TabsTrigger,{value:"upcoming",children:"Upcoming"}),(0,t.jsx)(h.TabsTrigger,{value:"dms",children:"Scheduled DMs"})]}),(0,t.jsxs)(h.TabsContent,{value:"upcoming",className:"mt-4 space-y-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3",role:"toolbar","aria-label":"Schedule filters",children:[(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:ea.map(e=>(0,t.jsx)(u.Button,{variant:S===e?"default":"outline",size:"sm",onClick:()=>w(e),"aria-pressed":S===e,children:"all"===e?"All":e},e))}),(0,t.jsx)(f.Separator,{orientation:"vertical",className:"h-6"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:ei.map(e=>(0,t.jsx)(u.Button,{variant:C===e?"default":"outline",size:"sm",onClick:()=>T(e),"aria-pressed":C===e,children:"all"===e?"All types":e},e))})]}),(0,t.jsxs)(o.QueryResult,{isLoading:q,isError:$,error:E,onRetry:()=>P(),skeleton:(0,t.jsx)(o.TableSkeleton,{rows:5}),children:[(0,t.jsx)("div",{className:"overflow-x-auto rounded-xl border border-border",children:(0,t.jsxs)("table",{className:"w-full text-left","aria-label":"Scheduled tasks",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"border-b border-border bg-muted/50",children:[(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Scheduled For"}),(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Type"}),(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Description"}),(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Model"}),(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Status"}),(0,t.jsx)("th",{className:"hidden px-3 py-2 text-xs font-medium text-muted-foreground lg:table-cell",children:"Created"})]})}),(0,t.jsx)("tbody",{children:B.map(e=>(0,t.jsxs)("tr",{className:"cursor-pointer border-b border-border hover:bg-muted/30",onClick:()=>D(e),children:[(0,t.jsx)("td",{className:"px-3 py-2 text-sm",children:(0,t.jsxs)(p.Tooltip,{children:[(0,t.jsx)(p.TooltipTrigger,{children:(0,g.formatAbsoluteTime)(e.scheduled_for)}),(0,t.jsx)(p.TooltipContent,{children:(0,g.formatRelativeTime)(e.scheduled_for)})]})}),(0,t.jsx)("td",{className:"px-3 py-2",children:(0,t.jsx)(c.Badge,{variant:en[e.task_type]??"gray",children:e.task_type})}),(0,t.jsx)("td",{className:"max-w-md px-3 py-2 text-sm text-foreground",children:(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)("span",{className:"line-clamp-2 flex-1",children:e.task_description||e.task_prompt||"—"}),e.task_prompt&&e.task_description&&e.task_prompt!==e.task_description?(0,t.jsxs)(p.Tooltip,{children:[(0,t.jsx)(p.TooltipTrigger,{children:(0,t.jsx)(c.Badge,{variant:"purple",className:"shrink-0",children:"prompt"})}),(0,t.jsx)(p.TooltipContent,{children:"Description above is the list label; a separate prompt is what the agent receives. Open the row to view or edit."})]}):null]})}),(0,t.jsx)("td",{className:"px-3 py-2",children:e.model&&(0,t.jsx)(c.Badge,{variant:(0,j.modelBadgeVariant)(e.model),children:(0,j.formatShortModelName)(e.model)})}),(0,t.jsx)("td",{className:"px-3 py-2",children:(0,t.jsx)(c.Badge,{variant:er[e.status]??"gray",children:"running"===e.status?(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"h-1.5 w-1.5 animate-pulse rounded-full bg-amber-500"}),e.status]}):e.status})}),(0,t.jsx)("td",{className:"hidden whitespace-nowrap px-3 py-2 font-mono text-xs tabular-nums text-muted-foreground lg:table-cell",children:(0,t.jsxs)(p.Tooltip,{children:[(0,t.jsx)(p.TooltipTrigger,{children:(0,g.formatAbsoluteTime)(e.created_at)}),(0,t.jsx)(p.TooltipContent,{children:(0,g.formatRelativeTime)(e.created_at)})]})})]},e.id))})]})}),0===B.length?(0,t.jsx)(d.EmptyState,{icon:y.Clock,title:"No scheduled tasks",description:"Tasks will appear here when the agent schedules wake-ups or routines"}):null,H&&(0,t.jsx)("div",{className:"flex justify-center",children:(0,t.jsx)(u.Button,{variant:"outline",onClick:()=>A(),disabled:R,children:R?"Loading...":"Load More"})})]})]}),(0,t.jsx)(h.TabsContent,{value:"dms",className:"mt-4 space-y-4",children:(0,t.jsx)(es,{})})]}),(0,t.jsx)(X,{row:M,open:null!==M,onOpenChange:e=>{e||D(null)}})]})}],28919)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74490,e=>{"use strict";var r=e.i(54710),a=e.i(81471);let s=(0,e.i(94237).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}});e.s(["Card",0,function({className:e,tone:t,interactive:d,...i}){return(0,r.jsx)("div",{className:(0,a.cn)(s({tone:t,interactive:d}),e),...i})},"CardHeader",0,function({className:e,...s}){return(0,r.jsx)("div",{className:(0,a.cn)("mb-3 flex items-center justify-between",e),...s})},"CardStatLabel",0,function({className:e,...s}){return(0,r.jsx)("h3",{className:(0,a.cn)("text-sm font-medium text-muted-foreground",e),...s})},"CardTitle",0,function({className:e,...s}){return(0,r.jsx)("h3",{className:(0,a.cn)("text-lg font-semibold text-foreground",e),...s})},"CardValue",0,function({className:e,...s}){return(0,r.jsx)("div",{className:(0,a.cn)("text-3xl font-bold text-foreground",e),...s})}])},39982,e=>{"use strict";var r=e.i(54710),a=e.i(81471);e.s(["PageHeader",0,function({title:e,description:s,icon:t,badge:d,actions:i,children:l,className:n}){return(0,r.jsxs)("header",{className:(0,a.cn)("flex flex-col gap-1",n),children:[(0,r.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[t&&(0,r.jsx)(t,{className:"h-5 w-5 text-muted-foreground"}),(0,r.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:e}),d]}),i&&(0,r.jsx)("div",{className:"flex items-center gap-2",children:i})]}),s&&(0,r.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:s}),l]})}])},84603,e=>{"use strict";let r=(0,e.i(77379).default)("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);e.s(["Activity",0,r],84603)},7022,e=>{"use strict";var r=e.i(54710),a=e.i(74490),s=e.i(48467),t=e.i(39982),d=e.i(3360),i=e.i(49297),l=e.i(84603);let n=(0,e.i(77379).default)("Apple",[["path",{d:"M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z",key:"3s7exb"}],["path",{d:"M10 2c1 .5 2 2 2 5",key:"fcco2y"}]]);e.s(["default",0,function(){return(0,r.jsxs)("div",{className:"space-y-6 p-6",children:[(0,r.jsx)(t.PageHeader,{icon:d.Heart,title:"Health",badge:(0,r.jsx)(s.Badge,{variant:"gray",className:"text-[10px]",children:"Skeleton"}),description:"A long-horizon space for body, sleep, and habit data. No backing implementation yet — integrations and visualizations will follow."}),(0,r.jsxs)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-4",children:[(0,r.jsxs)(a.Card,{className:"border-dashed",children:[(0,r.jsx)(a.CardHeader,{children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(l.Activity,{className:"h-4 w-4 text-muted-foreground"}),(0,r.jsx)(a.CardStatLabel,{children:"Activity"})]})}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Steps, workouts, and weekly trends."})]}),(0,r.jsxs)(a.Card,{className:"border-dashed",children:[(0,r.jsx)(a.CardHeader,{children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(i.Moon,{className:"h-4 w-4 text-muted-foreground"}),(0,r.jsx)(a.CardStatLabel,{children:"Sleep"})]})}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Bedtime, duration, and consistency over time."})]}),(0,r.jsxs)(a.Card,{className:"border-dashed",children:[(0,r.jsx)(a.CardHeader,{children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(n,{className:"h-4 w-4 text-muted-foreground"}),(0,r.jsx)(a.CardStatLabel,{children:"Habits"})]})}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Streaks for the few habits you choose to track."})]}),(0,r.jsxs)(a.Card,{className:"border-dashed",children:[(0,r.jsx)(a.CardHeader,{children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(d.Heart,{className:"h-4 w-4 text-muted-foreground"}),(0,r.jsx)(a.CardStatLabel,{children:"Journal"})]})}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Free-form daily check-ins, MD-backed."})]})]})]})}],7022)}]);
|