@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,3 +1,3 @@
|
|
|
1
|
-
module.exports=[23984,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(62988),e=a.i(33432),f=a.i(78019),g=a.i(43095),h=a.i(48033),i=a.i(26577),j=a.i(7384),k=a.i(30400),l=a.i(57216),m=a.i(87206),n=a.i(27727),o=a.i(21283),p=a.i(6236),q=a.i(95024),r=a.i(21218),s=a.i(8212),t=a.i(54150),u=a.i(59974),v=a.i(62588);let w="text-[11px] font-medium uppercase tracking-wider text-muted-foreground";function x({repo:a}){let{data:d}=(0,t.useConfig)(),e=(0,o.useUpdateRepository)(),[f,g]=(0,c.useState)(a.pollIntervalSec),[h,i]=(0,c.useState)(null===a.pollIntervalSec?"":String(a.pollIntervalSec));a.pollIntervalSec!==f&&(g(a.pollIntervalSec),i(null===a.pollIntervalSec?"":String(a.pollIntervalSec)));let[j,k]=(0,c.useState)(null),l=(0,o.observationSourcesForRepo)(a),m=(0,v.useQuery)({queryKey:["observations","by-sources",{sources:l,limit:8}],queryFn:async()=>0===l.length?{observations:[]}:{observations:(await Promise.all(l.map(a=>u.api.get("/observations",{source:a,pending:"false",limit:8})))).flatMap(a=>a.observations).sort((a,b)=>b.observedAt.localeCompare(a.observedAt)).slice(0,8)},staleTime:15e3,enabled:l.length>0}),n=[];(0,o.repositoryHasGithub)(a)&&n.push("GitHub remote"),(0,o.repositoryHasLocal)(a)&&n.push("local clone");let y=d?.githubPollIntervalSeconds??300,z=d?.gitPollIntervalSeconds??300,A=(0,o.repositoryHasGithub)(a)?`GitHub default: ${y}s`:`Git default: ${z}s`,B=(""===h?null:Number(h))!==a.pollIntervalSec,C=async()=>{let b;if(k(null),""===h.trim())b=null;else{let a=Number(h);if(!Number.isFinite(a)||a<=0)return void k("poll_interval_sec must be a positive integer or empty (= use default).");b=Math.round(a)}try{await e.mutateAsync({id:a.id,body:{pollIntervalSec:b}})}catch(a){k(a instanceof Error?a.message:"Failed to save")}};return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"rounded-md border bg-background/40 p-3",children:[(0,b.jsx)("p",{className:w,children:"Polled"}),(0,b.jsx)("p",{className:"mt-1 text-sm",children:n.length>0?n.join(" + "):"—"})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:w,children:"Poll interval (seconds)"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(s.Input,{type:"number",min:1,value:h,onChange:a=>i(a.target.value),placeholder:A,className:"w-52"}),(0,b.jsxs)(r.Button,{size:"sm",variant:"outline",disabled:!B||e.isPending,onClick:C,children:[(0,b.jsx)(q.Save,{className:"mr-1 h-3.5 w-3.5"}),"Save"]})]}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:["Empty falls back to the global cadence (",A,"). Smaller values poll more frequently — costs more rate budget on the GitHub side."]}),j&&(0,b.jsx)("p",{className:"text-xs text-red-700 dark:text-red-300",children:j})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:w,children:"Recent observations"}),0===l.length?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"No polled sources for this repository."}):m.isLoading?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Loading…"}):m.data&&m.data.observations.length>0?(0,b.jsx)("ul",{className:"space-y-1 rounded-md border bg-background/40 p-2 text-xs",children:m.data.observations.map(a=>{var c;return(0,b.jsxs)("li",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1.5 truncate",children:[(0,b.jsx)(p.Activity,{className:"h-3 w-3 text-muted-foreground"}),(0,b.jsx)("span",{className:"font-mono text-[11px] text-muted-foreground",children:function(a){let b=new Date(a);if(Number.isNaN(b.getTime()))return a;let c=Math.floor((Date.now()-b.getTime())/1e3);if(c<60)return`${c}s`;let d=Math.floor(c/60);if(d<60)return`${d}m`;let e=Math.floor(d/60);return e<24?`${e}h`:`${Math.floor(e/24)}d`}(a.observedAt)}),(0,b.jsx)("span",{className:"truncate",children:a.ref})]}),(0,b.jsx)("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] uppercase tracking-wider text-muted-foreground",children:(c=a.source).startsWith("git:")?"git":c.startsWith("github:notification")?"notif":c.startsWith("github:workflow")?"workflow":c.split(":")[0]??c})]},`${a.source}:${a.ref}:${a.id}`)})}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"No observations yet. The poller records here once it sees activity."})]})]})}var y=a.i(82687),z=a.i(5423);let A=(0,z.default)("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);var B=a.i(7037),C=a.i(87759),D=a.i(43179);let E=(0,z.default)("TestTubeDiagonal",[["path",{d:"M21 7 6.82 21.18a2.83 2.83 0 0 1-3.99-.01a2.83 2.83 0 0 1 0-4L17 3",key:"1ub6xw"}],["path",{d:"m16 2 6 6",key:"1gw87d"}],["path",{d:"M12 16H4",key:"1cjfip"}]]);var F=a.i(96336),G=a.i(14859),H=a.i(28314);a.i(70010);var I=a.i(58906),J=a.i(61213),K=a.i(74794);let L="text-[11px] font-medium uppercase tracking-wider text-muted-foreground",M=["git.push.detected","git.push.force_pushed","git.merge_to_default","git.local_ahead.stale","git.branch.created","git.tag.created"],N=["github.pull_request.opened","github.pull_request.synchronize","github.pull_request.review_requested","github.pull_request.closed","github.workflow_run.failed","github.assigned","github.security_alert","github.notification"];function O({repo:a,open:c,initial:d,onClose:e}){return(0,b.jsx)(J.Sheet,{open:c,onOpenChange:a=>!a&&e(),children:c&&(0,b.jsx)(P,{repo:a,initial:d,onClose:e})})}function P({repo:a,initial:d,onClose:e}){let f=(0,o.useCreateRepoTrigger)(),g=(0,o.useUpdateRepoTrigger)(),{data:h}=(0,K.useBackends)(),i=(0,c.useMemo)(()=>new Set((0,I.getBackendIds)()),[]),j=(0,c.useMemo)(()=>{let b=[];return(0,o.repositoryHasLocal)(a)&&b.push(...M),(0,o.repositoryHasGithub)(a)&&b.push(...N),b},[a]),[k,l]=(0,c.useState)(d?.name??""),[m,n]=(0,c.useState)(d?.enabled??!0),[p,q]=(0,c.useState)(d?.eventType??j[0]??"git.push.detected"),[t,u]=(0,c.useState)(()=>d?Object.entries(d.filters).map(([a,b],c)=>({id:`${c}`,key:a,value:"string"==typeof b||"number"==typeof b||"boolean"==typeof b?String(b):JSON.stringify(b)})):[]),[v,w]=(0,c.useState)(d?.backend??"claude"),[x,y]=(0,c.useState)(d?.model??""),[z,A]=(0,c.useState)(d?.workdirMode??((0,o.repositoryHasLocal)(a)?"local-clone":"temp")),[B,C]=(0,c.useState)(d?.prompt??""),[D,E]=(0,c.useState)(d?.instructionMd??""),[F,G]=(0,c.useState)(null),H=!(0,o.repositoryHasLocal)(a),O="claude"===v?"CLAUDE.md instruction":"codex"===v||"opencode"===v?"AGENTS.md instruction":"GEMINI.md instruction",Q=(0,c.useMemo)(()=>(h?.backends??[]).filter(a=>i.has(a.id)).filter(a=>a.id===v).flatMap(a=>a.models?.map(a=>a.modelId)??[]),[h,v,i]),R=(a,b)=>{u(c=>c.map(c=>c.id===a?{...c,...b}:c))},S=async b=>{if(b.preventDefault(),G(null),!k.trim())return G("Name is required.");if(!p)return G("Pick an event type.");if(!x.trim())return G("Model is required.");if(!B.trim())return G("Prompt is required.");if("temp"===z&&!D.trim())return G(`${O} is required when workdir is Temp.`);if("local-clone"===z&&H)return G("This repository has no local clone.");let c={name:k.trim(),enabled:m,eventType:p,filters:(()=>{let a={};for(let b of t){let c=b.key.trim(),d=b.value;if(c){if("path_pattern"===c){let b=d.split(",").map(a=>a.trim()).filter(Boolean);if(0===b.length)continue;a[c]=1===b.length?b[0]:b;continue}"true"===d?a[c]=!0:"false"===d?a[c]=!1:""===d||Number.isNaN(Number(d))?a[c]=d:a[c]=Number(d)}}return a})(),backend:v,model:x.trim(),workdirMode:z,prompt:B,instructionMd:"temp"===z?D:null};try{d?await g.mutateAsync({repositoryId:a.id,triggerId:d.id,body:c}):await f.mutateAsync({repositoryId:a.id,body:c}),e()}catch(a){G(a instanceof Error?a.message:"Failed to save trigger")}};return(0,b.jsxs)(J.SheetContent,{className:"overflow-y-auto sm:max-w-2xl",children:[(0,b.jsx)(J.SheetHeader,{children:(0,b.jsx)(J.SheetTitle,{children:d?"Edit trigger":"New trigger"})}),(0,b.jsxs)("form",{onSubmit:S,className:"mt-6 space-y-5",children:[(0,b.jsxs)("div",{className:"grid grid-cols-[1fr_auto] gap-2",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:L,children:"Name"}),(0,b.jsx)(s.Input,{value:k,onChange:a=>l(a.target.value),placeholder:"Auto-review main pushes",autoFocus:!0})]}),(0,b.jsxs)("label",{className:"flex items-end gap-1.5 pb-1 text-xs",children:[(0,b.jsx)("input",{type:"checkbox",checked:m,onChange:a=>n(a.target.checked)}),"Enabled"]})]}),(0,b.jsxs)("fieldset",{className:"space-y-3 rounded-md border bg-background/40 p-3",children:[(0,b.jsx)("legend",{className:"px-1 text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:"Condition"}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:L,children:"Event type"}),(0,b.jsx)("select",{value:p,onChange:a=>q(a.target.value),className:"h-9 w-full rounded-md border bg-background px-2 text-sm",children:j.map(a=>(0,b.jsx)("option",{value:a,children:a},a))})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:L,children:"Filters"}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:["Flat key/value equality. Special key"," ",(0,b.jsx)("span",{className:"font-mono",children:"path_pattern"})," takes a comma- separated glob list (e.g. ",(0,b.jsx)("span",{className:"font-mono",children:"packages/**,docs/*.md"}),"). All filters AND together; multiple globs OR within"," ",(0,b.jsx)("span",{className:"font-mono",children:"path_pattern"}),"."]}),(0,b.jsxs)("div",{className:"space-y-1",children:[t.map(a=>(0,b.jsxs)("div",{className:"flex gap-1",children:[(0,b.jsx)(s.Input,{value:a.key,onChange:b=>R(a.id,{key:b.target.value}),placeholder:"branch / path_pattern / action / …",className:"flex-[1.2]"}),(0,b.jsx)(s.Input,{value:a.value,onChange:b=>R(a.id,{value:b.target.value}),placeholder:"main",className:"flex-[2]"}),(0,b.jsx)(r.Button,{type:"button",size:"sm",variant:"ghost",onClick:()=>{var b;return b=a.id,void u(a=>a.filter(a=>a.id!==b))},children:"×"})]},a.id)),(0,b.jsx)(r.Button,{type:"button",size:"sm",variant:"ghost",onClick:()=>{u(a=>[...a,{id:crypto.randomUUID(),key:"",value:""}])},children:"+ Add filter"})]})]})]}),(0,b.jsxs)("fieldset",{className:"space-y-3 rounded-md border bg-background/40 p-3",children:[(0,b.jsx)("legend",{className:"px-1 text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:"Action"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:L,children:"Backend"}),(0,b.jsxs)("select",{value:v,onChange:a=>w(a.target.value),className:"h-9 w-full rounded-md border bg-background px-2 text-sm",children:[(0,b.jsx)("option",{value:"claude",children:"claude"}),(0,b.jsx)("option",{value:"codex",children:"codex"}),(0,b.jsx)("option",{value:"gemini",children:"gemini (deprecated)"}),(0,b.jsx)("option",{value:"opencode",disabled:!0,children:"opencode (coming soon)"})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:L,children:"Model"}),(0,b.jsx)(s.Input,{value:x,onChange:a=>y(a.target.value),list:`models-${v}`,placeholder:"claude"===v?"claude-sonnet-4-6":"codex"===v?"gpt-5.4-medium":"opencode"===v?"anthropic/claude-sonnet-4-6":"gemini-2.0-flash"}),(0,b.jsx)("datalist",{id:`models-${v}`,children:Q.map(a=>(0,b.jsx)("option",{value:a},a))})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:L,children:"Workdir"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)("label",{className:"flex flex-1 cursor-pointer items-center gap-2 rounded-md border px-3 py-2 text-sm transition-colors "+("temp"===z?"border-primary bg-primary/10 text-primary":"border-border"),children:[(0,b.jsx)("input",{type:"radio",name:"workdir",checked:"temp"===z,onChange:()=>A("temp")}),"Temp directory"]}),(0,b.jsxs)("label",{className:"flex flex-1 cursor-pointer items-center gap-2 rounded-md border px-3 py-2 text-sm transition-colors "+("local-clone"===z?"border-primary bg-primary/10 text-primary":"border-border")+(H?" cursor-not-allowed opacity-50":""),title:H?"this repository has no local clone":void 0,children:[(0,b.jsx)("input",{type:"radio",name:"workdir",disabled:H,checked:"local-clone"===z,onChange:()=>A("local-clone")}),"Local clone"]})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:L,children:"Prompt"}),(0,b.jsx)("textarea",{value:B,onChange:a=>C(a.target.value),rows:5,className:"w-full rounded-md border bg-background px-3 py-2 text-sm placeholder:text-muted-foreground/60 focus:outline-none focus:ring-2 focus:ring-ring",placeholder:"When this fires, do…"}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Free-form. The agent picks the right skills (DM, context write, git read-only, repo write)."})]}),"temp"===z&&(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:L,children:O}),(0,b.jsx)("textarea",{value:D,onChange:a=>E(a.target.value),rows:4,className:"w-full rounded-md border bg-background px-3 py-2 font-mono text-xs placeholder:text-muted-foreground/60 focus:outline-none focus:ring-2 focus:ring-ring",placeholder:"Required when workdir is Temp — the body of the instruction file."})]})]}),F&&(0,b.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:F}),(0,b.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t pt-4",children:[(0,b.jsx)(r.Button,{type:"button",variant:"ghost",onClick:e,children:"Cancel"}),(0,b.jsx)(r.Button,{type:"submit",disabled:f.isPending||g.isPending,children:f.isPending||g.isPending?"Saving…":d?"Save":"Create"})]})]})]})}function Q({repo:a}){let d=(0,o.useRepositoryTriggers)(a.id),[e,f]=(0,c.useState)(null),g=d.data?.triggers??[];return(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Triggers fire when matching events arrive on this repository. They run alongside the project-wide task-flow defaults, not in place of them."}),(0,b.jsxs)(r.Button,{size:"sm",variant:"outline",onClick:()=>f("new"),children:[(0,b.jsx)(D.Plus,{className:"mr-1 h-3.5 w-3.5"}),"New trigger"]})]}),d.isLoading?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Loading…"}):0===g.length?(0,b.jsx)(k.Card,{className:"text-xs text-muted-foreground",children:"No triggers yet. Add one to react to specific GitHub or Git events on this repository."}):(0,b.jsx)("div",{className:"space-y-2",children:g.map(c=>(0,b.jsx)(R,{repo:a,trigger:c,onEdit:()=>f(c)},c.id))}),(0,b.jsx)(O,{repo:a,open:null!==e,initial:"new"===e||null===e?void 0:e,onClose:()=>f(null)})]})}function R({repo:a,trigger:d,onEdit:e}){let f=(0,o.useUpdateRepoTrigger)(),g=(0,o.useDeleteRepoTrigger)(),h=(0,o.useTestRepoTrigger)(),i=(0,o.useFireRepoTrigger)(),l=(0,H.useConfirm)(),[m,n]=(0,c.useState)(null),p=async()=>{await l({title:`Delete trigger '${d.name}'?`,description:"Past fires stay in the agent action log.",confirmLabel:"Delete",variant:"destructive"})&&await g.mutateAsync({repositoryId:a.id,triggerId:d.id})},q=async()=>{n(null);try{let b=await h.mutateAsync({repositoryId:a.id,triggerId:d.id,eventType:d.eventType,payload:function(a){let b={mock:!0},c={};for(let[b,d]of Object.entries(a.filters))"path_pattern"!==b&&(c[b]=d);return a.eventType.startsWith("git.push.")||"git.merge_to_default"===a.eventType?{...b,...c,branch:c.branch??"main",commits:[{added:["packages/daemon/src/index.ts"],modified:["README.md"],removed:[]}]}:a.eventType.startsWith("github.pull_request")?{...b,...c,action:c.action??"opened",files:["packages/daemon/src/dispatcher.ts"]}:"github.workflow_run.failed"===a.eventType?{...b,...c,branch:c.branch??"main",conclusion:"failure"}:{...b,...c}}(d)});n(b.matched?"Filters match — trigger would fire.":"Filters do not match — trigger would not fire on this mock event.")}catch(a){n(a instanceof Error?`Test failed: ${a.message}`:"Test failed")}},s=async()=>{await l({title:`Fire '${d.name}' now?`,description:`Schedules a ${d.backend} session against ${a.slug} (workdir: ${d.workdirMode}).`,confirmLabel:"Fire"})&&await i.mutateAsync({repositoryId:a.id,triggerId:d.id})},t=function(a){let b=Object.entries(a);if(0===b.length)return null;let c=[];for(let[a,d]of b)if("path_pattern"===a){let a=Array.isArray(d)?d.join(","):String(d);c.push(`paths: ${a}`)}else c.push(`${a}=${String(d)}`);return c.join(" · ")}(d.filters);return(0,b.jsx)(k.Card,{className:d.enabled?"":"opacity-60",children:(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(G.Zap,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:d.name}),!d.enabled&&(0,b.jsx)(j.Badge,{variant:"gray",className:"text-[10px]",children:"Paused"}),(0,b.jsxs)(j.Badge,{variant:"gray",className:"text-[10px]",children:[d.backend,"/",d.model]}),(0,b.jsxs)(j.Badge,{variant:"gray",className:"text-[10px]",children:["workdir: ",d.workdirMode]})]}),(0,b.jsxs)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:[(0,b.jsx)("span",{className:"font-mono",children:d.eventType}),t&&(0,b.jsxs)(b.Fragment,{children:[" · ",(0,b.jsx)("span",{children:t})]})]}),(0,b.jsx)("p",{className:"mt-2 line-clamp-2 text-xs text-muted-foreground",children:d.prompt}),(0,b.jsxs)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:["Fired ",d.fireCount,"× ·"," ",d.lastFiredAt?`last ${function(a){let b=Date.now()-a;if(b<0)return"just now";let c=Math.floor(b/1e3);if(c<60)return"just now";let d=Math.floor(c/60);if(d<60)return`${d}m ago`;let e=Math.floor(d/60);return e<24?`${e}h ago`:`${Math.floor(e/24)}d ago`}(d.lastFiredAt)}`:"never fired"]}),m&&(0,b.jsxs)("p",{className:"mt-2 flex items-center gap-1 text-[11px] text-foreground",children:[(0,b.jsx)(y.CheckCircle2,{className:"h-3 w-3"}),m]})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,b.jsx)(r.Button,{size:"sm",variant:"ghost",onClick:q,disabled:h.isPending,title:"Test with mock event",children:(0,b.jsx)(E,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(r.Button,{size:"sm",variant:"ghost",onClick:s,disabled:i.isPending,title:"Fire now",children:(0,b.jsx)(C.Play,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(r.Button,{size:"sm",variant:"ghost",onClick:()=>{f.mutateAsync({repositoryId:a.id,triggerId:d.id,body:{enabled:!d.enabled}})},disabled:f.isPending,title:d.enabled?"Pause":"Resume",children:d.enabled?(0,b.jsx)(A,{className:"h-3.5 w-3.5"}):(0,b.jsx)(C.Play,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(r.Button,{size:"sm",variant:"ghost",onClick:e,title:"Edit",children:(0,b.jsx)(B.Pencil,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(r.Button,{size:"sm",variant:"ghost",onClick:p,disabled:g.isPending,title:"Delete",children:(0,b.jsx)(F.Trash2,{className:"h-3.5 w-3.5"})})]})]})})}var S=a.i(32307),T=a.i(33952),U=a.i(55609),V=a.i(45952),W=a.i(92241),X=a.i(39293),Y=a.i(83997);let Z="text-[11px] font-medium uppercase tracking-wider text-muted-foreground";function $({repo:a}){let d=(0,o.useRepositoryManagement)(a.id),e=(0,o.useSetRepositoryManagement)(),f=(0,o.useRunRepoManagementInit)(),g=(0,o.useRunRepoManagementScan)(),h=(0,o.useRefreshRepositoryArchitecture)(),{data:i}=(0,t.useConfig)(),k=(0,H.useConfirm)(),[l,m]=(0,c.useState)(null),[n,p]=(0,c.useState)(null),q=d.data?.management,s=d.data?.architectureRefresh??null,u=null!==s,v=!a.localPath,w=i?.contextDir??"<contextDir>",x=`${w}/git/${a.slug}/`,y=async b=>{if(m(null),p(null),b&&v)return void m("Daily git management requires a local clone for v1. Link one via the connections › repositories page first.");try{await e.mutateAsync({id:a.id,enabled:b})}catch(a){m(a instanceof Error?a.message:"Failed to update")}},z=async()=>{if(m(null),p(null),await k({title:"Generate overview now?",description:`Writes the skeleton at git/${a.slug}/overview.md and queues an agent run to fill in the Architecture section. The button stays disabled until that agent run completes.`,confirmLabel:"Generate overview"}))try{let b=await f.mutateAsync(a.id),c=b.overviewPath??`git/${a.slug}/overview.md`,d="exists"===b.result?`Overview already exists at ${c}.`:`Wrote ${c}.`;p(null!==b.architectureScheduleId&&void 0!==b.architectureScheduleId?`${d} Architecture refresh queued (schedule #${b.architectureScheduleId}); waiting for the agent to fill in the Architecture section…`:d)}catch(a){m(a instanceof Error?a.message:"Failed to generate overview")}},A=async()=>{if(m(null),p(null),await k({title:"Refresh architecture analysis?",description:`Spawns a backend agent that reads ${a.localPath??a.slug} and rewrites the Architecture section of git/${a.slug}/overview.md. Only the Architecture block is replaced; Notable Changes and Daily Activity Log are preserved. This costs one model session — no automatic schedule, manual only.`,confirmLabel:"Refresh architecture"}))try{let b=await h.mutateAsync(a.id);p(`Architecture refresh queued (schedule #${b.scheduleId}). The Architecture section will update once the backend session completes.`)}catch(a){m(a instanceof Error?a.message:"Failed to enqueue refresh")}},B=async()=>{if(m(null),p(null),await k({title:"Run today's scan now?",description:`Writes today's journal entry for ${a.slug} if there was git or GitHub activity.`,confirmLabel:"Run scan"}))try{let b=await g.mutateAsync(a.id);p("skipped_no_activity"===b.status?"No git or GitHub activity was found in the lookback window; no journal was written.":`Wrote ${b.journalPath??`git/${a.slug}/journal/${ac()}.md`}.`)}catch(a){m(a instanceof Error?a.message:"Failed to run scan")}};return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3 rounded-md border bg-background/40 p-3",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("p",{className:Z,children:"Daily git management"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Generates a curated overview MD and appends a journal entry once per day for this repository's git activity. Local-clone-bound for v1."}),v&&(0,b.jsxs)("p",{className:"mt-1 flex items-center gap-1 text-xs text-amber-700 dark:text-amber-400",children:[(0,b.jsx)(S.AlertTriangle,{className:"h-3 w-3"}),"No local clone — link one to enable this feature."]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(_,{checked:!!q?.enabled,disabled:e.isPending||v,onChange:a=>void y(a),ariaLabel:"Toggle daily git management"}),(0,b.jsx)("span",{children:q?.enabled?"Enabled":"Disabled"})]})]}),l&&(0,b.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:l}),n&&(0,b.jsx)("p",{className:"rounded-md border border-emerald-200 bg-emerald-50/50 p-2 text-xs text-emerald-700 dark:border-emerald-900 dark:bg-emerald-950/30 dark:text-emerald-300",children:n}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("p",{className:Z,children:"Output location"}),(0,b.jsx)("p",{className:"rounded-md border bg-background/40 px-3 py-2 font-mono text-xs",children:x}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:["Slug derives from ",(0,b.jsx)("span",{className:"font-mono",children:"display_name"}),"; edit it on the repository card to change this directory."]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3 md:grid-cols-4",children:[(0,b.jsx)(aa,{icon:(0,b.jsx)(T.BookOpen,{className:"h-3.5 w-3.5"}),label:"Init completed",value:q?.initCompletedAt?ab(q.initCompletedAt):"never"}),(0,b.jsx)(aa,{icon:(0,b.jsx)(U.Calendar,{className:"h-3.5 w-3.5"}),label:"Last scan",value:q?.lastScanAt?ab(q.lastScanAt):"never"}),(0,b.jsx)(aa,{icon:(0,b.jsx)(V.FileText,{className:"h-3.5 w-3.5"}),label:"Last status",value:q?.lastScanStatus?(0,b.jsx)(j.Badge,{variant:"ok"===q.lastScanStatus?"green":"failed"===q.lastScanStatus?"red":"gray",className:"text-[10px]",children:q.lastScanStatus}):"—"}),(0,b.jsx)(aa,{icon:(0,b.jsx)(S.AlertTriangle,{className:"h-3.5 w-3.5"}),label:"Failure streak",value:q?.scanFailureCount??0})]}),u&&(0,b.jsxs)("p",{className:"flex items-center gap-2 rounded-md border border-blue-200 bg-blue-50/50 p-2 text-xs text-blue-700 dark:border-blue-900 dark:bg-blue-950/30 dark:text-blue-300",children:[(0,b.jsx)(W.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),"Architecture refresh in progress (schedule #",s?.scheduleId,", status: ",s?.status,"). Generate overview and Refresh architecture stay disabled until the agent run completes."]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsxs)(r.Button,{size:"sm",variant:"outline",disabled:v||f.isPending||h.isPending||u,onClick:z,children:[f.isPending||u?(0,b.jsx)(W.Loader2,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(T.BookOpen,{className:"mr-1 h-3.5 w-3.5"}),"Generate overview"]}),(0,b.jsxs)(r.Button,{size:"sm",variant:"outline",disabled:v||h.isPending||f.isPending||u,onClick:A,title:"Spawn an agent to read the repo and rewrite only the Architecture section of overview.md",children:[h.isPending||u?(0,b.jsx)(W.Loader2,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(Y.Sparkles,{className:"mr-1 h-3.5 w-3.5"}),"Refresh architecture"]}),(0,b.jsxs)(r.Button,{size:"sm",variant:"outline",disabled:v||g.isPending||!q?.enabled,onClick:B,children:[g.isPending?(0,b.jsx)(W.Loader2,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(X.RefreshCw,{className:"mr-1 h-3.5 w-3.5"}),"Run today's scan now"]}),(0,b.jsxs)("a",{href:`/knowledge?path=${encodeURIComponent(`git/${a.slug}/overview`)}`,className:"inline-flex items-center gap-1 rounded-md border px-3 py-1.5 text-xs hover:bg-accent",children:[(0,b.jsx)(T.BookOpen,{className:"h-3.5 w-3.5"}),"Open overview.md"]}),(0,b.jsxs)("a",{href:`/knowledge?path=${encodeURIComponent(`git/${a.slug}/journal/${ac()}`)}`,className:"inline-flex items-center gap-1 rounded-md border px-3 py-1.5 text-xs hover:bg-accent",children:[(0,b.jsx)(U.Calendar,{className:"h-3.5 w-3.5"}),"Open today's journal"]})]})]})}function _({checked:a,disabled:c,onChange:d,ariaLabel:e}){return(0,b.jsx)("button",{type:"button",role:"switch","aria-checked":a,"aria-label":e,disabled:c,onClick:()=>d(!a),className:"relative inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 "+(a?"bg-primary":"bg-input"),children:(0,b.jsx)("span",{className:"inline-block h-5 w-5 transform rounded-full bg-background shadow-sm transition-transform "+(a?"translate-x-[22px]":"translate-x-[2px]")})})}function aa({icon:a,label:c,value:d}){return(0,b.jsxs)("div",{className:"rounded-md border bg-background/40 p-3",children:[(0,b.jsxs)("p",{className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-muted-foreground",children:[a,c]}),(0,b.jsx)("p",{className:"mt-1 text-sm font-medium text-foreground",children:d})]})}function ab(a){let b=Math.floor((Date.now()-a)/1e3);if(b<60)return"just now";let c=Math.floor(b/60);if(c<60)return`${c}m ago`;let d=Math.floor(c/60);return d<24?`${d}h ago`:`${Math.floor(d/24)}d ago`}function ac(){let a=new Date;return`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`}var ad=a.i(48558);function ae({repo:a}){let c=(0,o.repositoryHasLocal)(a),f=(0,o.repositoryHasGithub)(a);return(0,b.jsxs)(k.Card,{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(g.GitBranch,{className:"h-4 w-4 text-muted-foreground"}),(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:(0,o.repositoryDisplayName)(a)}),a.localOnly&&(0,b.jsxs)(j.Badge,{variant:"gray",className:"text-[10px]",children:[(0,b.jsx)(h.Lock,{className:"mr-1 h-3 w-3"}),"local-only"]}),f&&(0,b.jsxs)(j.Badge,{variant:"gray",className:"text-[10px]",children:[a.githubOwner,"/",a.githubRepo]}),c&&(0,b.jsx)(j.Badge,{variant:"gray",className:"text-[10px]",children:a.localPath})]}),(0,b.jsxs)("p",{className:"mt-0.5 text-[11px] text-muted-foreground",children:["slug: ",(0,b.jsx)("span",{className:"font-mono",children:a.slug})," · classification: ",a.classification,"· category: ",a.category]})]}),(0,b.jsxs)(d.default,{href:"/connections/repositories",className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground underline-offset-2 hover:underline",children:["Edit registration",(0,b.jsx)(e.ArrowUpRight,{className:"h-3 w-3"})]})]}),(0,b.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,b.jsx)(af,{title:"Polling",defaultOpen:!0,children:(0,b.jsx)(x,{repo:a})}),(0,b.jsx)(af,{title:"Triggers",defaultOpen:!0,children:(0,b.jsx)(Q,{repo:a})}),(0,b.jsx)(af,{title:"Daily git management",defaultOpen:!0,children:(0,b.jsx)($,{repo:a})})]})]})}function af({title:a,defaultOpen:c=!1,children:d}){return(0,b.jsxs)(l.Collapsible,{defaultOpen:c,className:"rounded-md border",children:[(0,b.jsx)(l.CollapsibleTrigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",className:"group flex w-full items-center justify-between px-3 py-2 text-sm hover:bg-accent",children:[(0,b.jsx)("span",{className:"font-medium",children:a}),(0,b.jsx)(f.ChevronDown,{className:(0,ad.cn)("h-4 w-4 text-muted-foreground transition-transform","group-data-[state=open]:rotate-180")})]})}),(0,b.jsx)(l.CollapsibleContent,{className:"border-t p-3",children:d})]})}a.s(["default",0,function(){let a=(0,o.useRepositories)(),f=(0,c.useMemo)(()=>a.data?.repositories??[],[a.data?.repositories]);return(0,b.jsxs)("div",{className:"space-y-6 p-6",children:[(0,b.jsx)(m.PageHeader,{title:"Git",badge:(0,b.jsx)(j.Badge,{variant:"amber",className:"uppercase tracking-wide",children:"Experimental"}),description:"Configure how the agent watches each repository: polling cadence (how often it checks for changes), automation triggers (rules that fire follow-up work), and daily git management (housekeeping the morning routine performs). Register repositories on the connections page.",actions:(0,b.jsxs)(d.default,{href:"/connections/repositories",className:"inline-flex items-center gap-1 rounded-md border px-3 py-1.5 text-sm hover:bg-accent",children:[(0,b.jsx)(i.Settings2,{className:"h-4 w-4"}),"Manage repositories",(0,b.jsx)(e.ArrowUpRight,{className:"h-3 w-3"})]}),children:(0,b.jsx)("p",{className:"mt-1 max-w-2xl text-xs text-amber-700 dark:text-amber-400",children:"Triggers and daily management are still under active testing — expect rough edges and please report bugs."})}),a.isLoading?(0,b.jsx)(k.Card,{className:"text-sm text-muted-foreground",children:"Loading…"}):0===f.length?(0,b.jsx)(n.EmptyState,{icon:g.GitBranch,title:"No repositories registered",description:"Add a repository on the connections page, then return here to configure polling cadence, triggers, and daily git management.",children:(0,b.jsxs)(d.default,{href:"/connections/repositories",className:"mt-4 inline-flex items-center gap-1 rounded-md border px-3 py-1.5 text-sm hover:bg-accent",children:[(0,b.jsx)(i.Settings2,{className:"h-4 w-4"}),"Go to connections › repositories"]})}):(0,b.jsx)("div",{className:"space-y-4",children:f.map(a=>(0,b.jsx)(ae,{repo:a},a.id))})]})}],23984)}];
|
|
1
|
+
module.exports=[23984,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(62988),e=a.i(33432),f=a.i(78019),g=a.i(43095),h=a.i(48033),i=a.i(26577),j=a.i(7384),k=a.i(30400),l=a.i(57216),m=a.i(87206),n=a.i(27727),o=a.i(21283),p=a.i(6236),q=a.i(95024),r=a.i(21218),s=a.i(8212),t=a.i(54150),u=a.i(59974),v=a.i(62588);let w="text-[11px] font-medium uppercase tracking-wider text-muted-foreground";function x({repo:a}){let{data:d}=(0,t.useConfig)(),e=(0,o.useUpdateRepository)(),[f,g]=(0,c.useState)(a.pollIntervalSec),[h,i]=(0,c.useState)(null===a.pollIntervalSec?"":String(a.pollIntervalSec));a.pollIntervalSec!==f&&(g(a.pollIntervalSec),i(null===a.pollIntervalSec?"":String(a.pollIntervalSec)));let[j,k]=(0,c.useState)(null),l=(0,o.observationSourcesForRepo)(a),m=(0,v.useQuery)({queryKey:["observations","by-sources",{sources:l,limit:8}],queryFn:async()=>0===l.length?{observations:[]}:{observations:(await Promise.all(l.map(a=>u.api.get("/observations",{source:a,pending:"false",limit:8})))).flatMap(a=>a.observations).sort((a,b)=>b.observedAt.localeCompare(a.observedAt)).slice(0,8)},staleTime:15e3,enabled:l.length>0}),n=[];(0,o.repositoryHasGithub)(a)&&n.push("GitHub remote"),(0,o.repositoryHasLocal)(a)&&n.push("local clone");let y=d?.githubPollIntervalSeconds??300,z=d?.gitPollIntervalSeconds??300,A=(0,o.repositoryHasGithub)(a)?`GitHub default: ${y}s`:`Git default: ${z}s`,B=(""===h?null:Number(h))!==a.pollIntervalSec,C=async()=>{let b;if(k(null),""===h.trim())b=null;else{let a=Number(h);if(!Number.isFinite(a)||a<=0)return void k("poll_interval_sec must be a positive integer or empty (= use default).");b=Math.round(a)}try{await e.mutateAsync({id:a.id,body:{pollIntervalSec:b}})}catch(a){k(a instanceof Error?a.message:"Failed to save")}};return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"rounded-md border bg-background/40 p-3",children:[(0,b.jsx)("p",{className:w,children:"Polled"}),(0,b.jsx)("p",{className:"mt-1 text-sm",children:n.length>0?n.join(" + "):"—"})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:w,children:"Poll interval (seconds)"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(s.Input,{type:"number",min:1,value:h,onChange:a=>i(a.target.value),placeholder:A,className:"w-52"}),(0,b.jsxs)(r.Button,{size:"sm",variant:"outline",disabled:!B||e.isPending,onClick:C,children:[(0,b.jsx)(q.Save,{className:"mr-1 h-3.5 w-3.5"}),"Save"]})]}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:["Empty falls back to the global cadence (",A,"). Smaller values poll more frequently — costs more rate budget on the GitHub side."]}),j&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:j})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:w,children:"Recent observations"}),0===l.length?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"No polled sources for this repository."}):m.isLoading?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Loading…"}):m.data&&m.data.observations.length>0?(0,b.jsx)("ul",{className:"space-y-1 rounded-md border bg-background/40 p-2 text-xs",children:m.data.observations.map(a=>{var c;return(0,b.jsxs)("li",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1.5 truncate",children:[(0,b.jsx)(p.Activity,{className:"h-3 w-3 text-muted-foreground"}),(0,b.jsx)("span",{className:"font-mono text-[11px] text-muted-foreground",children:function(a){let b=new Date(a);if(Number.isNaN(b.getTime()))return a;let c=Math.floor((Date.now()-b.getTime())/1e3);if(c<60)return`${c}s`;let d=Math.floor(c/60);if(d<60)return`${d}m`;let e=Math.floor(d/60);return e<24?`${e}h`:`${Math.floor(e/24)}d`}(a.observedAt)}),(0,b.jsx)("span",{className:"truncate",children:a.ref})]}),(0,b.jsx)("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] uppercase tracking-wider text-muted-foreground",children:(c=a.source).startsWith("git:")?"git":c.startsWith("github:notification")?"notif":c.startsWith("github:workflow")?"workflow":c.split(":")[0]??c})]},`${a.source}:${a.ref}:${a.id}`)})}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"No observations yet. The poller records here once it sees activity."})]})]})}var y=a.i(82687),z=a.i(5423);let A=(0,z.default)("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);var B=a.i(7037),C=a.i(87759),D=a.i(43179);let E=(0,z.default)("TestTubeDiagonal",[["path",{d:"M21 7 6.82 21.18a2.83 2.83 0 0 1-3.99-.01a2.83 2.83 0 0 1 0-4L17 3",key:"1ub6xw"}],["path",{d:"m16 2 6 6",key:"1gw87d"}],["path",{d:"M12 16H4",key:"1cjfip"}]]);var F=a.i(96336),G=a.i(14859),H=a.i(48558),I=a.i(28314);a.i(70010);var J=a.i(58906),K=a.i(61213),L=a.i(74794);let M="text-[11px] font-medium uppercase tracking-wider text-muted-foreground",N=["git.push.detected","git.push.force_pushed","git.merge_to_default","git.local_ahead.stale","git.branch.created","git.tag.created"],O=["github.pull_request.opened","github.pull_request.synchronize","github.pull_request.review_requested","github.pull_request.closed","github.workflow_run.failed","github.assigned","github.security_alert","github.notification"];function P({repo:a,open:c,initial:d,onClose:e}){return(0,b.jsx)(K.Sheet,{open:c,onOpenChange:a=>!a&&e(),children:c&&(0,b.jsx)(Q,{repo:a,initial:d,onClose:e})})}function Q({repo:a,initial:d,onClose:e}){let f=(0,o.useCreateRepoTrigger)(),g=(0,o.useUpdateRepoTrigger)(),{data:h}=(0,L.useBackends)(),i=(0,c.useMemo)(()=>new Set((0,J.getBackendIds)()),[]),j=(0,c.useMemo)(()=>{let b=[];return(0,o.repositoryHasLocal)(a)&&b.push(...N),(0,o.repositoryHasGithub)(a)&&b.push(...O),b},[a]),[k,l]=(0,c.useState)(d?.name??""),[m,n]=(0,c.useState)(d?.enabled??!0),[p,q]=(0,c.useState)(d?.eventType??j[0]??"git.push.detected"),[t,u]=(0,c.useState)(()=>d?Object.entries(d.filters).map(([a,b],c)=>({id:`${c}`,key:a,value:"string"==typeof b||"number"==typeof b||"boolean"==typeof b?String(b):JSON.stringify(b)})):[]),[v,w]=(0,c.useState)(d?.backend??"claude"),[x,y]=(0,c.useState)(d?.model??""),[z,A]=(0,c.useState)(d?.workdirMode??((0,o.repositoryHasLocal)(a)?"local-clone":"temp")),[B,C]=(0,c.useState)(d?.prompt??""),[D,E]=(0,c.useState)(d?.instructionMd??""),[F,G]=(0,c.useState)(null),H=!(0,o.repositoryHasLocal)(a),I="claude"===v?"CLAUDE.md instruction":"codex"===v||"opencode"===v?"AGENTS.md instruction":"GEMINI.md instruction",P=(0,c.useMemo)(()=>(h?.backends??[]).filter(a=>i.has(a.id)).filter(a=>a.id===v).flatMap(a=>a.models?.map(a=>a.modelId)??[]),[h,v,i]),R=(a,b)=>{u(c=>c.map(c=>c.id===a?{...c,...b}:c))},S=async b=>{if(b.preventDefault(),G(null),!k.trim())return G("Name is required.");if(!p)return G("Pick an event type.");if(!x.trim())return G("Model is required.");if(!B.trim())return G("Prompt is required.");if("temp"===z&&!D.trim())return G(`${I} is required when workdir is Temp.`);if("local-clone"===z&&H)return G("This repository has no local clone.");let c={name:k.trim(),enabled:m,eventType:p,filters:(()=>{let a={};for(let b of t){let c=b.key.trim(),d=b.value;if(c){if("path_pattern"===c){let b=d.split(",").map(a=>a.trim()).filter(Boolean);if(0===b.length)continue;a[c]=1===b.length?b[0]:b;continue}"true"===d?a[c]=!0:"false"===d?a[c]=!1:""===d||Number.isNaN(Number(d))?a[c]=d:a[c]=Number(d)}}return a})(),backend:v,model:x.trim(),workdirMode:z,prompt:B,instructionMd:"temp"===z?D:null};try{d?await g.mutateAsync({repositoryId:a.id,triggerId:d.id,body:c}):await f.mutateAsync({repositoryId:a.id,body:c}),e()}catch(a){G(a instanceof Error?a.message:"Failed to save trigger")}};return(0,b.jsxs)(K.SheetContent,{className:"overflow-y-auto sm:max-w-2xl",children:[(0,b.jsx)(K.SheetHeader,{children:(0,b.jsx)(K.SheetTitle,{children:d?"Edit trigger":"New trigger"})}),(0,b.jsxs)("form",{onSubmit:S,className:"mt-6 space-y-5",children:[(0,b.jsxs)("div",{className:"grid grid-cols-[1fr_auto] gap-2",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:M,children:"Name"}),(0,b.jsx)(s.Input,{value:k,onChange:a=>l(a.target.value),placeholder:"Auto-review main pushes",autoFocus:!0})]}),(0,b.jsxs)("label",{className:"flex items-end gap-1.5 pb-1 text-xs",children:[(0,b.jsx)("input",{type:"checkbox",checked:m,onChange:a=>n(a.target.checked)}),"Enabled"]})]}),(0,b.jsxs)("fieldset",{className:"space-y-3 rounded-md border bg-background/40 p-3",children:[(0,b.jsx)("legend",{className:"px-1 text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:"Condition"}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:M,children:"Event type"}),(0,b.jsx)("select",{value:p,onChange:a=>q(a.target.value),className:"h-9 w-full rounded-md border bg-background px-2 text-sm",children:j.map(a=>(0,b.jsx)("option",{value:a,children:a},a))})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:M,children:"Filters"}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:["Flat key/value equality. Special key"," ",(0,b.jsx)("span",{className:"font-mono",children:"path_pattern"})," takes a comma- separated glob list (e.g. ",(0,b.jsx)("span",{className:"font-mono",children:"packages/**,docs/*.md"}),"). All filters AND together; multiple globs OR within"," ",(0,b.jsx)("span",{className:"font-mono",children:"path_pattern"}),"."]}),(0,b.jsxs)("div",{className:"space-y-1",children:[t.map(a=>(0,b.jsxs)("div",{className:"flex gap-1",children:[(0,b.jsx)(s.Input,{value:a.key,onChange:b=>R(a.id,{key:b.target.value}),placeholder:"branch / path_pattern / action / …",className:"flex-[1.2]"}),(0,b.jsx)(s.Input,{value:a.value,onChange:b=>R(a.id,{value:b.target.value}),placeholder:"main",className:"flex-[2]"}),(0,b.jsx)(r.Button,{type:"button",size:"sm",variant:"ghost",onClick:()=>{var b;return b=a.id,void u(a=>a.filter(a=>a.id!==b))},children:"×"})]},a.id)),(0,b.jsx)(r.Button,{type:"button",size:"sm",variant:"ghost",onClick:()=>{u(a=>[...a,{id:crypto.randomUUID(),key:"",value:""}])},children:"+ Add filter"})]})]})]}),(0,b.jsxs)("fieldset",{className:"space-y-3 rounded-md border bg-background/40 p-3",children:[(0,b.jsx)("legend",{className:"px-1 text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:"Action"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:M,children:"Backend"}),(0,b.jsxs)("select",{value:v,onChange:a=>w(a.target.value),className:"h-9 w-full rounded-md border bg-background px-2 text-sm",children:[(0,b.jsx)("option",{value:"claude",children:"claude"}),(0,b.jsx)("option",{value:"codex",children:"codex"}),(0,b.jsx)("option",{value:"gemini",children:"gemini (deprecated)"}),(0,b.jsx)("option",{value:"opencode",disabled:!0,children:"opencode (coming soon)"})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:M,children:"Model"}),(0,b.jsx)(s.Input,{value:x,onChange:a=>y(a.target.value),list:`models-${v}`,placeholder:"claude"===v?"claude-sonnet-4-6":"codex"===v?"gpt-5.4-medium":"opencode"===v?"anthropic/claude-sonnet-4-6":"gemini-2.0-flash"}),(0,b.jsx)("datalist",{id:`models-${v}`,children:P.map(a=>(0,b.jsx)("option",{value:a},a))})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:M,children:"Workdir"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)("label",{className:"flex flex-1 cursor-pointer items-center gap-2 rounded-md border px-3 py-2 text-sm transition-colors "+("temp"===z?"border-primary bg-primary/10 text-primary":"border-border"),children:[(0,b.jsx)("input",{type:"radio",name:"workdir",checked:"temp"===z,onChange:()=>A("temp")}),"Temp directory"]}),(0,b.jsxs)("label",{className:"flex flex-1 cursor-pointer items-center gap-2 rounded-md border px-3 py-2 text-sm transition-colors "+("local-clone"===z?"border-primary bg-primary/10 text-primary":"border-border")+(H?" cursor-not-allowed opacity-50":""),title:H?"this repository has no local clone":void 0,children:[(0,b.jsx)("input",{type:"radio",name:"workdir",disabled:H,checked:"local-clone"===z,onChange:()=>A("local-clone")}),"Local clone"]})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:M,children:"Prompt"}),(0,b.jsx)("textarea",{value:B,onChange:a=>C(a.target.value),rows:5,className:"w-full rounded-md border bg-background px-3 py-2 text-sm placeholder:text-muted-foreground/60 focus:outline-none focus:ring-2 focus:ring-ring",placeholder:"When this fires, do…"}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Free-form. The agent picks the right skills (DM, context write, git read-only, repo write)."})]}),"temp"===z&&(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:M,children:I}),(0,b.jsx)("textarea",{value:D,onChange:a=>E(a.target.value),rows:4,className:"w-full rounded-md border bg-background px-3 py-2 font-mono text-xs placeholder:text-muted-foreground/60 focus:outline-none focus:ring-2 focus:ring-ring",placeholder:"Required when workdir is Temp — the body of the instruction file."})]})]}),F&&(0,b.jsx)("p",{className:"rounded-md border border-destructive/40 bg-destructive/10 p-2 text-xs text-destructive",children:F}),(0,b.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t pt-4",children:[(0,b.jsx)(r.Button,{type:"button",variant:"ghost",onClick:e,children:"Cancel"}),(0,b.jsx)(r.Button,{type:"submit",disabled:f.isPending||g.isPending,children:f.isPending||g.isPending?"Saving…":d?"Save":"Create"})]})]})]})}function R({repo:a}){let d=(0,o.useRepositoryTriggers)(a.id),[e,f]=(0,c.useState)(null),g=d.data?.triggers??[];return(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Triggers fire when matching events arrive on this repository. They run alongside the project-wide task-flow defaults, not in place of them."}),(0,b.jsxs)(r.Button,{size:"sm",variant:"outline",onClick:()=>f("new"),children:[(0,b.jsx)(D.Plus,{className:"mr-1 h-3.5 w-3.5"}),"New trigger"]})]}),d.isLoading?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Loading…"}):0===g.length?(0,b.jsx)(k.Card,{className:"text-xs text-muted-foreground",children:"No triggers yet. Add one to react to specific GitHub or Git events on this repository."}):(0,b.jsx)("div",{className:"space-y-2",children:g.map(c=>(0,b.jsx)(S,{repo:a,trigger:c,onEdit:()=>f(c)},c.id))}),(0,b.jsx)(P,{repo:a,open:null!==e,initial:"new"===e||null===e?void 0:e,onClose:()=>f(null)})]})}function S({repo:a,trigger:d,onEdit:e}){let f=(0,o.useUpdateRepoTrigger)(),g=(0,o.useDeleteRepoTrigger)(),h=(0,o.useTestRepoTrigger)(),i=(0,o.useFireRepoTrigger)(),l=(0,I.useConfirm)(),[m,n]=(0,c.useState)(null),p=async()=>{await l({title:`Delete trigger '${d.name}'?`,description:"Past fires stay in the agent action log.",confirmLabel:"Delete",variant:"destructive"})&&await g.mutateAsync({repositoryId:a.id,triggerId:d.id})},q=async()=>{n(null);try{let b=await h.mutateAsync({repositoryId:a.id,triggerId:d.id,eventType:d.eventType,payload:function(a){let b={mock:!0},c={};for(let[b,d]of Object.entries(a.filters))"path_pattern"!==b&&(c[b]=d);return a.eventType.startsWith("git.push.")||"git.merge_to_default"===a.eventType?{...b,...c,branch:c.branch??"main",commits:[{added:["packages/daemon/src/index.ts"],modified:["README.md"],removed:[]}]}:a.eventType.startsWith("github.pull_request")?{...b,...c,action:c.action??"opened",files:["packages/daemon/src/dispatcher.ts"]}:"github.workflow_run.failed"===a.eventType?{...b,...c,branch:c.branch??"main",conclusion:"failure"}:{...b,...c}}(d)});n(b.matched?"Filters match — trigger would fire.":"Filters do not match — trigger would not fire on this mock event.")}catch(a){n(a instanceof Error?`Test failed: ${a.message}`:"Test failed")}},s=async()=>{await l({title:`Fire '${d.name}' now?`,description:`Schedules a ${d.backend} session against ${a.slug} (workdir: ${d.workdirMode}).`,confirmLabel:"Fire"})&&await i.mutateAsync({repositoryId:a.id,triggerId:d.id})},t=function(a){let b=Object.entries(a);if(0===b.length)return null;let c=[];for(let[a,d]of b)if("path_pattern"===a){let a=Array.isArray(d)?d.join(","):String(d);c.push(`paths: ${a}`)}else c.push(`${a}=${String(d)}`);return c.join(" · ")}(d.filters);return(0,b.jsx)(k.Card,{className:d.enabled?"":"opacity-60",children:(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(G.Zap,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:d.name}),!d.enabled&&(0,b.jsx)(j.Badge,{variant:"gray",className:"text-[10px]",children:"Paused"}),(0,b.jsxs)(j.Badge,{variant:"gray",className:"text-[10px]",children:[d.backend,"/",d.model]}),(0,b.jsxs)(j.Badge,{variant:"gray",className:"text-[10px]",children:["workdir: ",d.workdirMode]})]}),(0,b.jsxs)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:[(0,b.jsx)("span",{className:"font-mono",children:d.eventType}),t&&(0,b.jsxs)(b.Fragment,{children:[" · ",(0,b.jsx)("span",{children:t})]})]}),(0,b.jsx)("p",{className:"mt-2 line-clamp-2 text-xs text-muted-foreground",children:d.prompt}),(0,b.jsxs)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:["Fired ",d.fireCount,"× ·"," ",d.lastFiredAt?`last ${(0,H.formatRelativeMs)(d.lastFiredAt)}`:"never fired"]}),m&&(0,b.jsxs)("p",{className:"mt-2 flex items-center gap-1 text-[11px] text-foreground",children:[(0,b.jsx)(y.CheckCircle2,{className:"h-3 w-3"}),m]})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,b.jsx)(r.Button,{size:"sm",variant:"ghost",onClick:q,disabled:h.isPending,title:"Test with mock event",children:(0,b.jsx)(E,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(r.Button,{size:"sm",variant:"ghost",onClick:s,disabled:i.isPending,title:"Fire now",children:(0,b.jsx)(C.Play,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(r.Button,{size:"sm",variant:"ghost",onClick:()=>{f.mutateAsync({repositoryId:a.id,triggerId:d.id,body:{enabled:!d.enabled}})},disabled:f.isPending,title:d.enabled?"Pause":"Resume",children:d.enabled?(0,b.jsx)(A,{className:"h-3.5 w-3.5"}):(0,b.jsx)(C.Play,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(r.Button,{size:"sm",variant:"ghost",onClick:e,title:"Edit",children:(0,b.jsx)(B.Pencil,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(r.Button,{size:"sm",variant:"ghost",onClick:p,disabled:g.isPending,title:"Delete",children:(0,b.jsx)(F.Trash2,{className:"h-3.5 w-3.5"})})]})]})})}var T=a.i(32307),U=a.i(33952),V=a.i(55609),W=a.i(45952),X=a.i(92241),Y=a.i(39293),Z=a.i(83997);let $="text-[11px] font-medium uppercase tracking-wider text-muted-foreground";function _({repo:a}){let d=(0,o.useRepositoryManagement)(a.id),e=(0,o.useSetRepositoryManagement)(),f=(0,o.useRunRepoManagementInit)(),g=(0,o.useRunRepoManagementScan)(),h=(0,o.useRefreshRepositoryArchitecture)(),{data:i}=(0,t.useConfig)(),k=(0,I.useConfirm)(),[l,m]=(0,c.useState)(null),[n,p]=(0,c.useState)(null),q=d.data?.management,s=d.data?.architectureRefresh??null,u=null!==s,v=!a.localPath,w=i?.contextDir??"<contextDir>",x=`${w}/git/${a.slug}/`,y=async b=>{if(m(null),p(null),b&&v)return void m("Daily git management requires a local clone for v1. Link one via the connections › repositories page first.");try{await e.mutateAsync({id:a.id,enabled:b})}catch(a){m(a instanceof Error?a.message:"Failed to update")}},z=async()=>{if(m(null),p(null),await k({title:"Generate overview now?",description:`Writes the skeleton at git/${a.slug}/overview.md and queues an agent run to fill in the Architecture section. The button stays disabled until that agent run completes.`,confirmLabel:"Generate overview"}))try{let b=await f.mutateAsync(a.id),c=b.overviewPath??`git/${a.slug}/overview.md`,d="exists"===b.result?`Overview already exists at ${c}.`:`Wrote ${c}.`;p(null!==b.architectureScheduleId&&void 0!==b.architectureScheduleId?`${d} Architecture refresh queued (schedule #${b.architectureScheduleId}); waiting for the agent to fill in the Architecture section…`:d)}catch(a){m(a instanceof Error?a.message:"Failed to generate overview")}},A=async()=>{if(m(null),p(null),await k({title:"Refresh architecture analysis?",description:`Spawns a backend agent that reads ${a.localPath??a.slug} and rewrites the Architecture section of git/${a.slug}/overview.md. Only the Architecture block is replaced; Notable Changes and Daily Activity Log are preserved. This costs one model session — no automatic schedule, manual only.`,confirmLabel:"Refresh architecture"}))try{let b=await h.mutateAsync(a.id);p(`Architecture refresh queued (schedule #${b.scheduleId}). The Architecture section will update once the backend session completes.`)}catch(a){m(a instanceof Error?a.message:"Failed to enqueue refresh")}},B=async()=>{if(m(null),p(null),await k({title:"Run today's scan now?",description:`Writes today's journal entry for ${a.slug} if there was git or GitHub activity.`,confirmLabel:"Run scan"}))try{let b=await g.mutateAsync(a.id);p("skipped_no_activity"===b.status?"No git or GitHub activity was found in the lookback window; no journal was written.":`Wrote ${b.journalPath??`git/${a.slug}/journal/${ac()}.md`}.`)}catch(a){m(a instanceof Error?a.message:"Failed to run scan")}};return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3 rounded-md border bg-background/40 p-3",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("p",{className:$,children:"Daily git management"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Generates a curated overview MD and appends a journal entry once per day for this repository's git activity. Local-clone-bound for v1."}),v&&(0,b.jsxs)("p",{className:"mt-1 flex items-center gap-1 text-xs text-warning",children:[(0,b.jsx)(T.AlertTriangle,{className:"h-3 w-3"}),"No local clone — link one to enable this feature."]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(aa,{checked:!!q?.enabled,disabled:e.isPending||v,onChange:a=>void y(a),ariaLabel:"Toggle daily git management"}),(0,b.jsx)("span",{children:q?.enabled?"Enabled":"Disabled"})]})]}),l&&(0,b.jsx)("p",{className:"rounded-md border border-destructive/40 bg-destructive/10 p-2 text-xs text-destructive",children:l}),n&&(0,b.jsx)("p",{className:"rounded-md border border-success/40 bg-success/10 p-2 text-xs text-success",children:n}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("p",{className:$,children:"Output location"}),(0,b.jsx)("p",{className:"rounded-md border bg-background/40 px-3 py-2 font-mono text-xs",children:x}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:["Slug derives from ",(0,b.jsx)("span",{className:"font-mono",children:"display_name"}),"; edit it on the repository card to change this directory."]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3 md:grid-cols-4",children:[(0,b.jsx)(ab,{icon:(0,b.jsx)(U.BookOpen,{className:"h-3.5 w-3.5"}),label:"Init completed",value:q?.initCompletedAt?(0,H.formatRelativeMs)(q.initCompletedAt):"never"}),(0,b.jsx)(ab,{icon:(0,b.jsx)(V.Calendar,{className:"h-3.5 w-3.5"}),label:"Last scan",value:q?.lastScanAt?(0,H.formatRelativeMs)(q.lastScanAt):"never"}),(0,b.jsx)(ab,{icon:(0,b.jsx)(W.FileText,{className:"h-3.5 w-3.5"}),label:"Last status",value:q?.lastScanStatus?(0,b.jsx)(j.Badge,{variant:"ok"===q.lastScanStatus?"green":"failed"===q.lastScanStatus?"red":"gray",className:"text-[10px]",children:q.lastScanStatus}):"—"}),(0,b.jsx)(ab,{icon:(0,b.jsx)(T.AlertTriangle,{className:"h-3.5 w-3.5"}),label:"Failure streak",value:q?.scanFailureCount??0})]}),u&&(0,b.jsxs)("p",{className:"flex items-center gap-2 rounded-md border border-primary/40 bg-primary/10 p-2 text-xs text-primary",children:[(0,b.jsx)(X.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),"Architecture refresh in progress (schedule #",s?.scheduleId,", status: ",s?.status,"). Generate overview and Refresh architecture stay disabled until the agent run completes."]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsxs)(r.Button,{size:"sm",variant:"outline",disabled:v||f.isPending||h.isPending||u,onClick:z,children:[f.isPending||u?(0,b.jsx)(X.Loader2,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(U.BookOpen,{className:"mr-1 h-3.5 w-3.5"}),"Generate overview"]}),(0,b.jsxs)(r.Button,{size:"sm",variant:"outline",disabled:v||h.isPending||f.isPending||u,onClick:A,title:"Spawn an agent to read the repo and rewrite only the Architecture section of overview.md",children:[h.isPending||u?(0,b.jsx)(X.Loader2,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(Z.Sparkles,{className:"mr-1 h-3.5 w-3.5"}),"Refresh architecture"]}),(0,b.jsxs)(r.Button,{size:"sm",variant:"outline",disabled:v||g.isPending||!q?.enabled,onClick:B,children:[g.isPending?(0,b.jsx)(X.Loader2,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(Y.RefreshCw,{className:"mr-1 h-3.5 w-3.5"}),"Run today's scan now"]}),(0,b.jsxs)("a",{href:`/knowledge?path=${encodeURIComponent(`git/${a.slug}/overview`)}`,className:"inline-flex items-center gap-1 rounded-md border px-3 py-1.5 text-xs hover:bg-accent",children:[(0,b.jsx)(U.BookOpen,{className:"h-3.5 w-3.5"}),"Open overview.md"]}),(0,b.jsxs)("a",{href:`/knowledge?path=${encodeURIComponent(`git/${a.slug}/journal/${ac()}`)}`,className:"inline-flex items-center gap-1 rounded-md border px-3 py-1.5 text-xs hover:bg-accent",children:[(0,b.jsx)(V.Calendar,{className:"h-3.5 w-3.5"}),"Open today's journal"]})]})]})}function aa({checked:a,disabled:c,onChange:d,ariaLabel:e}){return(0,b.jsx)("button",{type:"button",role:"switch","aria-checked":a,"aria-label":e,disabled:c,onClick:()=>d(!a),className:"relative inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 "+(a?"bg-primary":"bg-input"),children:(0,b.jsx)("span",{className:"inline-block h-5 w-5 transform rounded-full bg-background shadow-sm transition-transform "+(a?"translate-x-[22px]":"translate-x-[2px]")})})}function ab({icon:a,label:c,value:d}){return(0,b.jsxs)("div",{className:"rounded-md border bg-background/40 p-3",children:[(0,b.jsxs)("p",{className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-muted-foreground",children:[a,c]}),(0,b.jsx)("p",{className:"mt-1 text-sm font-medium text-foreground",children:d})]})}function ac(){let a=new Date;return`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`}function ad({repo:a}){let c=(0,o.repositoryHasLocal)(a),f=(0,o.repositoryHasGithub)(a);return(0,b.jsxs)(k.Card,{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(g.GitBranch,{className:"h-4 w-4 text-muted-foreground"}),(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:(0,o.repositoryDisplayName)(a)}),a.localOnly&&(0,b.jsxs)(j.Badge,{variant:"gray",className:"text-[10px]",children:[(0,b.jsx)(h.Lock,{className:"mr-1 h-3 w-3"}),"local-only"]}),f&&(0,b.jsxs)(j.Badge,{variant:"gray",className:"text-[10px]",children:[a.githubOwner,"/",a.githubRepo]}),c&&(0,b.jsx)(j.Badge,{variant:"gray",className:"text-[10px]",children:a.localPath})]}),(0,b.jsxs)("p",{className:"mt-0.5 text-[11px] text-muted-foreground",children:["slug: ",(0,b.jsx)("span",{className:"font-mono",children:a.slug})," · classification: ",a.classification,"· category: ",a.category]})]}),(0,b.jsxs)(d.default,{href:"/connections/repositories",className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground underline-offset-2 hover:underline",children:["Edit registration",(0,b.jsx)(e.ArrowUpRight,{className:"h-3 w-3"})]})]}),(0,b.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,b.jsx)(ae,{title:"Polling",defaultOpen:!0,children:(0,b.jsx)(x,{repo:a})}),(0,b.jsx)(ae,{title:"Triggers",defaultOpen:!0,children:(0,b.jsx)(R,{repo:a})}),(0,b.jsx)(ae,{title:"Daily git management",defaultOpen:!0,children:(0,b.jsx)(_,{repo:a})})]})]})}function ae({title:a,defaultOpen:c=!1,children:d}){return(0,b.jsxs)(l.Collapsible,{defaultOpen:c,className:"rounded-md border",children:[(0,b.jsx)(l.CollapsibleTrigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",className:"group flex w-full items-center justify-between px-3 py-2 text-sm hover:bg-accent",children:[(0,b.jsx)("span",{className:"font-medium",children:a}),(0,b.jsx)(f.ChevronDown,{className:(0,H.cn)("h-4 w-4 text-muted-foreground transition-transform","group-data-[state=open]:rotate-180")})]})}),(0,b.jsx)(l.CollapsibleContent,{className:"border-t p-3",children:d})]})}a.s(["default",0,function(){let a=(0,o.useRepositories)(),f=(0,c.useMemo)(()=>a.data?.repositories??[],[a.data?.repositories]);return(0,b.jsxs)("div",{className:"space-y-6 p-6",children:[(0,b.jsx)(m.PageHeader,{title:"Git",badge:(0,b.jsx)(j.Badge,{variant:"amber",className:"uppercase tracking-wide",children:"Experimental"}),description:"Configure how the agent watches each repository: polling cadence (how often it checks for changes), automation triggers (rules that fire follow-up work), and daily git management (housekeeping the morning routine performs). Register repositories on the connections page.",actions:(0,b.jsxs)(d.default,{href:"/connections/repositories",className:"inline-flex items-center gap-1 rounded-md border px-3 py-1.5 text-sm hover:bg-accent",children:[(0,b.jsx)(i.Settings2,{className:"h-4 w-4"}),"Manage repositories",(0,b.jsx)(e.ArrowUpRight,{className:"h-3 w-3"})]}),children:(0,b.jsx)("p",{className:"mt-1 max-w-2xl text-xs text-warning",children:"Triggers and daily management are still under active testing — expect rough edges and please report bugs."})}),a.isLoading?(0,b.jsx)(k.Card,{className:"text-sm text-muted-foreground",children:"Loading…"}):0===f.length?(0,b.jsx)(n.EmptyState,{icon:g.GitBranch,title:"No repositories registered",description:"Add a repository on the connections page, then return here to configure polling cadence, triggers, and daily git management.",children:(0,b.jsxs)(d.default,{href:"/connections/repositories",className:"mt-4 inline-flex items-center gap-1 rounded-md border px-3 py-1.5 text-sm hover:bg-accent",children:[(0,b.jsx)(i.Settings2,{className:"h-4 w-4"}),"Go to connections › repositories"]})}):(0,b.jsx)("div",{className:"space-y-4",children:f.map(a=>(0,b.jsx)(ad,{repo:a},a.id))})]})}],23984)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_dashboard_src_app_git_page_tsx_0ah19-6._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[22287,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(82508),e=a.i(9306),f=a.i(87206),g=a.i(126),h=a.i(81130),i=a.i(59974),j=a.i(7437),k=a.i(62588);function l(a,b){return`${a}/${b.replace(/\.md$/,"")}`}function m(a){return(0,k.useQuery)({queryKey:["snapshots",a],queryFn:()=>i.api.get(`/snapshots/${a}`),enabled:!!a})}var n=a.i(40294),o=a.i(93929),p=a.i(28314),q=a.i(69481),r=a.i(1041),s=a.i(7384),t=a.i(21218),u=a.i(57216),v=a.i(869),w=a.i(48558),x=a.i(29384),y=a.i(5423);let z=(0,y.default)("File",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]);var A=a.i(11307),B=a.i(42732),C=a.i(3504),D=a.i(7037),E=a.i(32307),F=a.i(82687);let G=(0,g.default)(async()=>{},{loadableGenerated:{modules:[37023]},ssr:!1,loading:()=>(0,b.jsx)("div",{className:"max-w-3xl space-y-2 py-2","aria-hidden":"true",children:Array.from({length:5}).map((a,c)=>(0,b.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${65+11*c%30}%`}},c))})});function H({html:a}){let c=a.split(/(<mark>|<\/mark>)/),d=!1,e=[];for(let a=0;a<c.length;a++){if("<mark>"===c[a]){d=!0;continue}if("</mark>"===c[a]){d=!1;continue}let f=c[a].replace(/<[^>]*>/g,"");f&&e.push(d?(0,b.jsx)("mark",{className:"bg-yellow-200 dark:bg-yellow-800 rounded-sm px-0.5",children:f},a):f)}return(0,b.jsx)(b.Fragment,{children:e})}let I=["_index","identity/profile","identity/_index","today","yesterday","roadmap","policies/management","policies/mcp","policies/journal-format","policies/journal-export","policies/redaction","journal/agent","context-index"],J=["identity","state/inbox","plans/projects","journal/daily","journal/weekly","journal/monthly","knowledge/repos","knowledge/dossiers","policies","policies/routines","policies/management-captures"],K=new Set(["today","roadmap"]),L={"policies/management":{filename:"policies/management.md",description:"defines the agent's behavioral contract. Edits here can change how the agent acts."},"journal/agent":{filename:"journal/agent.md",description:"is the agent's internal reflection journal — append-only from the Weekly Review routine. Manual edits can remove the agent's own improvement history and break the append-only contract. Prefer leaving it alone unless you are deliberately pruning noise."}};function M(a){return a.endsWith(".base")?a:`${a}.md`}function N({node:a,topDir:d,selectedPath:e,onSelect:f}){let g=`${d}/${a.relPath}`,h=e?.startsWith(`${g}/`)??!1,[i,j]=(0,c.useState)(h),[k,m]=(0,c.useState)(e);return e!==k&&(m(e),h&&j(!0)),(0,b.jsxs)(u.Collapsible,{open:i,onOpenChange:j,children:[(0,b.jsxs)(u.CollapsibleTrigger,{className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm text-muted-foreground hover:bg-accent hover:text-foreground",children:[(0,b.jsx)(B.ChevronRight,{className:(0,w.cn)("h-3 w-3 transition-transform",i&&"rotate-90")}),(0,b.jsx)(A.FolderOpen,{className:"h-3.5 w-3.5"}),a.name,"/"]}),(0,b.jsx)(u.CollapsibleContent,{children:(0,b.jsx)("div",{className:"ml-5 space-y-0.5",children:a.children.map(a=>"dir"===a.kind?(0,b.jsx)(N,{node:a,topDir:d,selectedPath:e,onSelect:f},a.relPath):(0,b.jsx)(P,{name:a.name,active:e===l(d,a.relPath),onClick:()=>f(l(d,a.relPath))},a.relPath))})})]})}function O({dir:a,selectedPath:d,onSelect:e}){let{data:f}=(0,j.useContextList)(a),g=d?.startsWith(`${a}/`)??!1,[h,i]=(0,c.useState)(g),[k,m]=(0,c.useState)(d);d!==k&&(m(d),g&&i(!0));let n=(0,c.useMemo)(()=>{let b=new Set(["identity","policies","policies/routines","policies/management-captures","plans/projects","knowledge/dossiers"]);return function(a){let b=[];for(let c of a){let a=c.name.split("/"),d=b,e="";for(let b=0;b<a.length;b++){let c=a[b],f=b===a.length-1;if(e=e?`${e}/${c}`:c,f)d.push({kind:"file",name:c,relPath:e});else{let a=d.find(a=>"dir"===a.kind&&a.name===c);a||(a={kind:"dir",name:c,relPath:e,children:[]},d.push(a)),d=a.children}}}let c=a=>{for(let b of(a.sort((a,b)=>a.kind!==b.kind?"dir"===a.kind?-1:1:a.name.localeCompare(b.name)),a))"dir"===b.kind&&c(b.children)};return c(b),b}(f?.files.filter(c=>!(b.has(a)&&"_index.md"===c.name))??[])},[f?.files,a]);return(0,b.jsxs)(u.Collapsible,{open:h,onOpenChange:i,children:[(0,b.jsxs)(u.CollapsibleTrigger,{className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm text-muted-foreground hover:bg-accent hover:text-foreground",children:[(0,b.jsx)(B.ChevronRight,{className:(0,w.cn)("h-3 w-3 transition-transform",h&&"rotate-90")}),(0,b.jsx)(A.FolderOpen,{className:"h-3.5 w-3.5"}),a,"/"]}),(0,b.jsx)(u.CollapsibleContent,{children:(0,b.jsx)("div",{className:"ml-5 space-y-0.5",children:n.map(c=>"dir"===c.kind?(0,b.jsx)(N,{node:c,topDir:a,selectedPath:d,onSelect:e},c.relPath):(0,b.jsx)(P,{name:c.name,active:d===l(a,c.relPath),onClick:()=>e(l(a,c.relPath))},c.relPath))})})]})}function P({name:a,active:c,onClick:d}){return(0,b.jsxs)("button",{onClick:d,className:(0,w.cn)("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors",c?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,b.jsx)(z,{className:"h-3.5 w-3.5"}),a]})}let Q=(0,c.forwardRef)(function(a,e){var f;let g,l=(0,d.useSearchParams)(),y=(g=l?.get("path"))?g.replace(/\.(md|base)$/i,""):null,[z,A]=(0,c.useState)(y??"identity/profile"),[N,Q]=(0,c.useState)(y);y!==N&&(Q(y),y&&A(y));let[R,S]=(0,c.useState)(""),[T,U]=(0,c.useState)(!1),[V,W]=(0,c.useState)(null),[X,Y]=(0,c.useState)(!1),[Z,$]=(0,c.useState)(""),[_,aa]=(0,c.useState)(""),[ab,ac]=(0,c.useState)(""),[ad,ae]=(0,c.useState)(null),[af,ag]=(0,c.useState)(null),[ah,ai]=(0,c.useState)(!1),aj=(0,c.useRef)(null),{data:ak}=(0,j.useContextFile)(z,{enabled:!X}),{data:al}=(f=T?R:"",(0,k.useQuery)({queryKey:["search",f],queryFn:()=>i.api.get("/search",{q:f}),enabled:f.length>=2})),{data:am}=m(z),{data:an}=(0,k.useQuery)({queryKey:["snapshot-content",V],queryFn:()=>i.api.get(`/snapshots/content/${V}`),enabled:null!==V}),{regenerate:ao,target:ap,status:aq,error:ar,dismiss:as}=(0,n.useRegenerate)(),at=(0,j.useUpdateContextFile)(),au=(0,h.useQueryClient)(),av=(0,p.useConfirm)(),aw=X&&Z!==_;(0,c.useImperativeHandle)(e,()=>({isDirty:()=>aw,confirmDiscard:async()=>!aw||av({title:"Discard unsaved changes?",description:"Your edits will be lost if you switch tabs.",confirmLabel:"Discard",variant:"destructive"})}));let ax=()=>{U(!1),S("")},ay=async()=>!aw||av({title:"Discard unsaved changes?",description:"Your edits will be lost.",confirmLabel:"Discard",variant:"destructive"}),az=async a=>{await ay()&&(A(a),W(null),Y(!1),$(""),aa(""),ac(""),ae(null),ag(null),ax())},aA=async()=>{await ay()&&(Y(!1),ae(null),ag(null),$(""),aa(""),ac(""))},aB=()=>{ai(!0),window.setTimeout(()=>ai(!1),2e3)},aC=async(a,b)=>{if(!z)return!1;ae(null);try{return await at.mutateAsync({path:z,content:a,expectedMtime:b}),Y(!1),$(""),aa(""),ac(""),ag(null),aB(),!0}catch(a){if(a instanceof j.ContextConflictError)return ag(a.conflict),!1;if(a instanceof i.ApiError){let b=a.body,c="string"==typeof b?.error?b.error:null;ae("forbidden"===c?"This file is read-only — it's not in the daemon's write whitelist.":"morning_routine_lock_held"===c?"state/today.md is locked by the morning routine. Please try again shortly.":"validation_error"===c?"Content failed validation.":`Save failed: ${a.message}`)}else ae(a instanceof Error?a.message:"Save failed");return!1}},aD=()=>aC(Z,ab),aE=async()=>{af&&await aC(Z,af.currentMtime)},aF=async a=>{(!X||await ay())&&(X&&(Y(!1),$(""),aa(""),ac(""),ae(null),ag(null)),W(a))};(0,c.useEffect)(()=>{if(!aw)return;let a=a=>{a.preventDefault(),a.returnValue=""};return window.addEventListener("beforeunload",a),()=>window.removeEventListener("beforeunload",a)},[aw]),(0,c.useEffect)(()=>{X&&aj.current?.focus()},[X]);let aG=null!==V,aH=!!z&&!aG&&ak?.editable===!0,aI=!!z&&aG&&!!an&&ak?.editable===!0,aJ=V&&an?an.content:ak?.content,aK=async()=>{if(z&&an&&null!==V&&await av({title:"Restore this snapshot?",description:`This will overwrite ${M(z)} with the snapshot from ${(0,w.formatAbsoluteTime)(an.created_at)}. The current on-disk version will be backed up as a new snapshot first.`,confirmLabel:"Restore snapshot",variant:"destructive"})){ae(null);try{let a=await i.api.post(`/context/restore-snapshot/${V}`);au.setQueryData(["context",z],b=>b?{...b,content:an.content,lastModified:a.lastModified}:{content:an.content,lastModified:a.lastModified,editable:!0}),au.invalidateQueries({queryKey:["snapshots",z]}),W(null),ag(null),aB()}catch(a){if(a instanceof i.ApiError){let b=a.body,c="string"==typeof b?.error?b.error:null;ae("morning_routine_lock_held"===c?"state/today.md is locked by the morning routine. Please try again shortly.":"forbidden"===c?"This snapshot cannot be restored because the file is not writable.":"validation_error"===c?"Snapshot restore was rejected because the stored content no longer passes validation.":`Restore failed: ${a.message}`)}else ae(a instanceof Error?a.message:"Restore failed")}}};return(0,b.jsxs)("div",{className:"flex h-full min-h-0",children:[(0,b.jsxs)("div",{className:"flex w-64 shrink-0 flex-col border-r border-border min-h-0",children:[(0,b.jsxs)("div",{className:"border-b border-border p-4",children:[(0,b.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:"Context Files"}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Have a file to bring in?"," ",(0,b.jsx)("a",{href:"/knowledge?tab=upload",className:"underline",children:"Upload"})]})]}),(0,b.jsx)(r.ScrollArea,{className:"flex-1 min-h-0",children:(0,b.jsxs)("div",{className:"space-y-0.5 p-2",children:[I.map(a=>(0,b.jsx)(P,{name:M(a),active:z===a,onClick:()=>az(a)},a)),(0,b.jsx)("div",{className:"my-2 h-px bg-border"}),J.map(a=>(0,b.jsx)(O,{dir:a,selectedPath:z,onSelect:az},a))]})})]}),(0,b.jsxs)("div",{className:"flex flex-1 flex-col",children:[(0,b.jsxs)("form",{onSubmit:a=>{a.preventDefault(),R.length>=2&&U(!0)},className:"flex items-center gap-2 border-b border-border px-4 py-2",children:[(0,b.jsx)(x.Search,{className:"h-4 w-4 text-muted-foreground"}),(0,b.jsx)("input",{type:"text",value:R,onChange:a=>{S(a.target.value),a.target.value.length<2&&U(!1)},placeholder:"Search actions and messages...",className:"flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground"}),T&&(0,b.jsx)(t.Button,{variant:"ghost",size:"sm",onClick:ax,children:"Clear"})]}),(0,b.jsx)(r.ScrollArea,{className:"flex-1",children:T&&al?(0,b.jsxs)("div",{className:"space-y-4 p-4",children:[(0,b.jsxs)("h3",{className:"text-sm font-semibold text-foreground",children:["Search Results for “",R,"”"]}),al.actions.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"mb-2 text-xs font-medium text-muted-foreground",children:"Actions"}),al.actions.map(a=>(0,b.jsxs)("div",{className:"rounded-md border border-border p-2 mb-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(s.Badge,{variant:"blue",children:a.action_type}),(0,b.jsxs)(v.Tooltip,{children:[(0,b.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:"text-xs font-mono tabular-nums text-muted-foreground",children:(0,w.formatShortDateTime)(a.started_at)})}),(0,b.jsxs)(v.TooltipContent,{children:[(0,w.formatAbsoluteTime)(a.started_at)," (",(0,w.formatRelativeTime)(a.started_at),")"]})]})]}),(0,b.jsx)("p",{className:"mt-1 text-sm",children:(0,b.jsx)(H,{html:a.snippet})})]},a.id))]}),al.messages.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"mb-2 text-xs font-medium text-muted-foreground",children:"Messages"}),al.messages.map(a=>(0,b.jsxs)("div",{className:"rounded-md border border-border p-2 mb-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(s.Badge,{variant:"user"===a.role?"blue":"gray",children:a.role}),(0,b.jsxs)(v.Tooltip,{children:[(0,b.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:"text-xs font-mono tabular-nums text-muted-foreground",children:(0,w.formatShortDateTime)(a.timestamp)})}),(0,b.jsxs)(v.TooltipContent,{children:[(0,w.formatAbsoluteTime)(a.timestamp)," (",(0,w.formatRelativeTime)(a.timestamp),")"]})]})]}),(0,b.jsx)("p",{className:"mt-1 text-sm",children:(0,b.jsx)(H,{html:a.snippet})})]},a.id))]}),0===al.actions.length&&0===al.messages.length&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No results found"})]}):(0,b.jsxs)("div",{className:"p-4",children:[z&&ak&&(0,b.jsxs)("div",{className:"mb-4 flex flex-wrap items-center gap-3 text-xs text-muted-foreground",children:[(0,b.jsx)("span",{className:"font-mono",children:M(z)}),(0,b.jsxs)("span",{children:["Last modified:"," ",(0,w.formatAbsoluteTime)(X?ab:ak.lastModified)]}),ah&&(0,b.jsxs)("span",{className:"flex items-center gap-1 font-medium text-emerald-600 dark:text-emerald-400",children:[(0,b.jsx)(F.CheckCircle2,{className:"h-3 w-3"}),"Saved"]}),aw&&!af&&(0,b.jsx)(s.Badge,{variant:"gray",className:"text-[10px]",children:"Unsaved"}),aG&&(0,b.jsx)(t.Button,{variant:"ghost",size:"sm",onClick:()=>W(null),children:"Back to current"}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[aI&&(0,b.jsxs)(t.Button,{variant:"outline",size:"sm",onClick:()=>void aK(),className:"h-7 gap-1 text-xs",children:[(0,b.jsx)(C.Clock,{className:"h-3 w-3"}),"Restore snapshot"]}),K.has(z)&&!aG&&!X&&(0,b.jsx)(o.RegenerateButton,{target:z,label:"Regenerate",currentTarget:ap,status:aq,error:ar,onRegenerate:ao,onDismiss:as,className:"text-xs"}),aH&&!X&&(0,b.jsxs)(t.Button,{variant:"outline",size:"sm",onClick:()=>{ak&&($(ak.content),aa(ak.content),ac(ak.lastModified),ae(null),ag(null),Y(!0))},className:"h-7 gap-1 text-xs",children:[(0,b.jsx)(D.Pencil,{className:"h-3 w-3"}),"Edit"]}),X&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(t.Button,{variant:"ghost",size:"sm",onClick:aA,disabled:at.isPending,className:"h-7 text-xs",children:"Cancel"}),(0,b.jsx)(t.Button,{size:"sm",onClick:aD,disabled:at.isPending||!aw||null!==af,className:"h-7 text-xs",children:at.isPending?"Saving...":"Save"})]})]})]}),X&&z&&L[z]&&(0,b.jsxs)("div",{className:"mb-3 flex items-start gap-2 rounded-md border border-amber-500/40 bg-amber-500/10 px-3 py-2 text-xs text-amber-900 dark:text-amber-200",children:[(0,b.jsx)(E.AlertTriangle,{className:"mt-0.5 h-3.5 w-3.5 flex-shrink-0"}),(0,b.jsxs)("span",{children:["This file (",(0,b.jsx)("code",{className:"font-mono",children:L[z].filename}),") ",L[z].description]})]}),ad&&(0,b.jsx)("div",{className:"mb-3 rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:ad}),af&&(0,b.jsx)(q.FileConflictBanner,{className:"mb-3",onReload:()=>{af&&($(af.currentContent),aa(af.currentContent),ac(af.currentMtime),ag(null),ae(null))},onOverwrite:aE,isPending:at.isPending,reloadLabel:"Reload latest and re-edit"}),X?(0,b.jsx)("textarea",{ref:aj,value:Z,onChange:a=>$(a.target.value),onKeyDown:a=>{if((a.metaKey||a.ctrlKey)&&"s"===a.key.toLowerCase()){a.preventDefault(),Z===_||at.isPending||aD();return}"Escape"===a.key&&(a.preventDefault(),aA())},spellCheck:!1,className:"min-h-[60vh] w-full max-w-3xl resize-y rounded-md border border-input bg-background p-3 font-mono text-xs leading-relaxed text-foreground focus:outline-none focus:ring-2 focus:ring-ring"}):aJ?(0,b.jsx)(G,{content:aJ}):(0,b.jsx)("p",{className:"text-muted-foreground",children:"Select a file to view"})]})}),z&&am&&am.snapshots.length>0&&!T&&(0,b.jsxs)(u.Collapsible,{children:[(0,b.jsxs)(u.CollapsibleTrigger,{className:"flex w-full items-center justify-between border-t border-border px-4 py-2 text-xs text-muted-foreground hover:bg-accent",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)(C.Clock,{className:"h-3 w-3"}),"Snapshots (",am.snapshots.length,")"]}),(0,b.jsx)(B.ChevronRight,{className:"h-3 w-3"})]}),(0,b.jsx)(u.CollapsibleContent,{children:(0,b.jsx)("div",{className:"max-h-40 overflow-y-auto border-t border-border",children:am.snapshots.map(a=>(0,b.jsxs)("button",{onClick:()=>aF(a.id),className:(0,w.cn)("flex w-full items-center gap-3 px-4 py-1.5 text-xs hover:bg-accent",V===a.id&&"bg-primary/10"),children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:(0,w.formatAbsoluteTime)(a.created_at)}),(0,b.jsx)(s.Badge,{variant:"gray",children:a.trigger}),a.session_id&&(0,b.jsx)("span",{className:"font-mono text-muted-foreground",children:String(a.session_id).slice(0,8)})]},a.id))})})]})]})]})});var R=a.i(8753),S=a.i(29629),T=a.i(8212),U=a.i(23780);let V=(0,y.default)("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]);var W=a.i(48033),X=a.i(43179),Y=a.i(95024),Z=a.i(96336),$=a.i(8735),_=a.i(85857);function aa(){var a;let d,e,f,g,{data:j,isLoading:l}=(0,k.useQuery)({queryKey:["skills"],queryFn:()=>i.api.get("/skills")}),[m,n]=(0,c.useState)(null),[o,q]=(0,c.useState)("view"),[s,u]=(0,c.useState)({name:"",description:"",content:"",allowedTools:""}),[v,w]=(0,c.useState)(null),x=(0,c.useRef)(null),{data:y}=(a="view"===o||"edit"===o?m:null,(0,k.useQuery)({queryKey:["skill",a],queryFn:()=>i.api.get(`/skills/${a}`),enabled:!!a})),z=(d=(0,h.useQueryClient)(),(0,R.useMutation)({mutationFn:a=>i.api.post("/skills",a),onSuccess:(a,b)=>{d.invalidateQueries({queryKey:["skills"]}),d.invalidateQueries({queryKey:["skill",b.name]})}})),A=(e=(0,h.useQueryClient)(),(0,R.useMutation)({mutationFn:({name:a,...b})=>i.api.put(`/skills/${a}`,b),onSuccess:(a,b)=>{e.invalidateQueries({queryKey:["skills"]}),e.invalidateQueries({queryKey:["skill",b.name]})}})),B=(f=(0,h.useQueryClient)(),(0,R.useMutation)({mutationFn:a=>i.api.delete(`/skills/${a}`),onSuccess:(a,b)=>{f.invalidateQueries({queryKey:["skills"]}),f.removeQueries({queryKey:["skill",b]})}})),C=(g=(0,h.useQueryClient)(),(0,R.useMutation)({mutationFn:({file:a,name:b})=>{let c=new FormData;return c.append("file",a),b&&c.append("name",b),fetch("/api/skills/upload",{method:"POST",body:c}).then(async a=>{if(!a.ok){let b=await a.json().catch(()=>null);throw Error(b?.error??`Upload failed (${a.status})`)}return a.json()})},onSuccess:()=>{g.invalidateQueries({queryKey:["skills"]})}}));(0,c.useEffect)(()=>{"view"===o&&y&&u({name:y.name,description:y.description,content:y.content,allowedTools:y.allowedTools.join("\n")})},[y,o]);let D=(0,c.useMemo)(()=>j?.skills.filter(a=>!a.builtin)??[],[j]),E=(0,c.useMemo)(()=>j?.skills.filter(a=>a.builtin)??[],[j]),F=y?.builtin??!1,G=a=>{if(a&&"body"in a&&a.body){let b=a.body;return b.message||b.error||a.message}return a.message||"Unknown error"},H=a=>{n(a),q("view"),w(null)},I=async()=>{w(null);try{let a=s.allowedTools.split("\n").map(a=>a.trim()).filter(a=>a.length>0);"new"===o?(await z.mutateAsync({name:s.name.trim(),description:s.description.trim(),content:s.content,allowedTools:a.length>0?a:void 0}),n(s.name.trim()),q("view")):"edit"===o&&m&&(await A.mutateAsync({name:m,description:s.description.trim(),content:s.content,allowedTools:a}),q("view"))}catch(a){w(G(a))}},J=(0,p.useConfirm)(),K=async()=>{if(m&&!F&&await J({title:`Delete skill "${m}"?`,description:"This cannot be undone.",confirmLabel:"Delete",variant:"destructive"})){w(null);try{await B.mutateAsync(m),n(null),q("view")}catch(a){w(G(a))}}},L=async a=>{w(null);try{let b=await C.mutateAsync({file:a});n(b.name),q("view")}catch(a){w(G(a))}finally{x.current&&(x.current.value="")}},M="new"===o?s.name.trim().length>0&&s.description.trim().length>0&&s.content.trim().length>0:s.description.trim().length>0&&s.content.trim().length>0;return(0,b.jsx)("div",{className:"flex h-full flex-col",children:(0,b.jsxs)("div",{className:"flex min-h-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex w-64 shrink-0 flex-col border-r border-border",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3",children:[(0,b.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:"Skills"}),(0,b.jsxs)("div",{className:"flex gap-1",children:[(0,b.jsx)(t.Button,{variant:"ghost",size:"icon",onClick:()=>x.current?.click(),title:"Upload .md file",children:(0,b.jsx)($.Upload,{className:"h-4 w-4"})}),(0,b.jsx)(t.Button,{variant:"ghost",size:"icon",onClick:()=>{n(null),q("new"),u({name:"",description:"",content:"# My Skill\n\nUse when ...\n",allowedTools:""}),w(null)},title:"New skill",children:(0,b.jsx)(X.Plus,{className:"h-4 w-4"})})]}),(0,b.jsx)("input",{ref:x,type:"file",accept:".md,text/markdown",className:"hidden",onChange:a=>{let b=a.target.files?.[0];b&&L(b)}})]}),(0,b.jsx)(r.ScrollArea,{className:"flex-1",children:(0,b.jsxs)("div",{className:"space-y-0.5 p-2",children:[(0,b.jsxs)("div",{className:"px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:["User (",D.length,")"]}),0===D.length&&!l&&(0,b.jsx)("p",{className:"px-2 py-1 text-xs text-muted-foreground",children:"No user skills yet — click + to create one."}),D.map(a=>(0,b.jsx)(ab,{name:a.name,description:a.description,active:m===a.name&&"new"!==o,onClick:()=>H(a.name)},a.name)),(0,b.jsx)(U.Separator,{className:"my-2"}),(0,b.jsxs)("div",{className:"flex items-center gap-1 px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:[(0,b.jsx)(W.Lock,{className:"h-2.5 w-2.5"}),"Built-in (",E.length,")"]}),E.map(a=>(0,b.jsx)(ab,{name:a.name,description:a.description,builtin:!0,active:m===a.name&&"new"!==o,onClick:()=>H(a.name)},a.name))]})})]}),(0,b.jsx)("div",{className:"flex flex-1 flex-col overflow-hidden",children:"new"===o?(0,b.jsx)(af,{title:"New skill",draft:s,setDraft:u,showName:!0,onCancel:()=>{q("view"),n(null),w(null)},onSave:I,saving:z.isPending,canSave:M,errorMsg:v}):m&&y?"edit"===o?(0,b.jsx)(af,{title:`Edit: ${y.name}`,draft:s,setDraft:u,showName:!1,onCancel:()=>{q("view"),w(null),y&&u({name:y.name,description:y.description,content:y.content,allowedTools:y.allowedTools.join("\n")})},onSave:I,saving:A.isPending,canSave:M,errorMsg:v}):(0,b.jsx)(ae,{detail:y,onEdit:()=>{y&&!y.builtin&&(q("edit"),w(null))},onDelete:K,deleting:B.isPending,errorMsg:v}):(0,b.jsx)(ac,{})})]})})}function ab({name:a,description:c,active:d,builtin:e,onClick:f}){return(0,b.jsxs)("button",{onClick:f,className:(0,w.cn)("flex w-full flex-col gap-0.5 rounded-md px-2 py-1.5 text-left transition-colors",d?"bg-primary/10 text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[e?(0,b.jsx)(W.Lock,{className:"h-3 w-3 shrink-0"}):(0,b.jsx)(V,{className:"h-3 w-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate text-xs font-medium",children:a})]}),c&&(0,b.jsx)("span",{className:"line-clamp-2 pl-4 text-[10px] leading-tight opacity-70",children:c})]})}function ac(){return(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:"Select a skill or create a new one."})}function ad({message:a}){return(0,b.jsx)(S.Alert,{variant:"error",children:a})}function ae({detail:a,onEdit:c,onDelete:d,deleting:e,errorMsg:f}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 border-b border-border px-6 py-3",children:[(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("h1",{className:"text-base font-semibold text-foreground",children:a.name}),a.builtin?(0,b.jsxs)(s.Badge,{variant:"gray",children:[(0,b.jsx)(W.Lock,{className:"mr-1 h-2.5 w-2.5"})," built-in"]}):(0,b.jsx)(s.Badge,{variant:"blue",children:"user"})]}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Updated ",(0,w.formatAbsoluteTime)(a.updatedAt)]})]}),(0,b.jsx)("div",{className:"ml-auto flex gap-2",children:!a.builtin&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(t.Button,{variant:"outline",size:"sm",onClick:c,children:"Edit"}),(0,b.jsxs)(t.Button,{variant:"destructive",size:"sm",onClick:d,disabled:e,children:[(0,b.jsx)(Z.Trash2,{className:"h-3.5 w-3.5"})," Delete"]})]})})]}),(0,b.jsx)(r.ScrollArea,{className:"flex-1",children:(0,b.jsxs)("div",{className:"space-y-4 p-6",children:[f&&(0,b.jsx)(ad,{message:f}),a.description&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Description"}),(0,b.jsx)("p",{className:"text-sm text-foreground",children:a.description})]}),a.allowedTools.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Allowed tools"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1",children:a.allowedTools.map(a=>(0,b.jsx)(s.Badge,{variant:"gray",className:"font-mono text-[10px]",children:a},a))})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"SKILL.md body"}),(0,b.jsx)("pre",{className:"whitespace-pre-wrap rounded-md border border-border bg-muted/30 p-3 font-mono text-xs text-foreground",children:a.content})]})]})})]})}function af({title:a,draft:c,setDraft:d,showName:e,onCancel:f,onSave:g,saving:h,canSave:i,errorMsg:j}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 border-b border-border px-6 py-3",children:[(0,b.jsx)("h1",{className:"text-base font-semibold text-foreground",children:a}),(0,b.jsxs)("div",{className:"ml-auto flex gap-2",children:[(0,b.jsxs)(t.Button,{variant:"outline",size:"sm",onClick:f,children:[(0,b.jsx)(_.X,{className:"h-3.5 w-3.5"})," Cancel"]}),(0,b.jsxs)(t.Button,{size:"sm",onClick:g,disabled:!i||h,children:[(0,b.jsx)(Y.Save,{className:"h-3.5 w-3.5"})," ",h?"Saving...":"Save"]})]})]}),(0,b.jsx)(r.ScrollArea,{className:"flex-1",children:(0,b.jsxs)("div",{className:"space-y-4 p-6",children:[j&&(0,b.jsx)(ad,{message:j}),e&&(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Name (kebab-case)"}),(0,b.jsx)(T.Input,{value:c.name,onChange:a=>d({...c,name:a.target.value}),placeholder:"my-new-skill"}),(0,b.jsx)("p",{className:"mt-1 text-[10px] text-muted-foreground",children:"Lowercase letters, digits, and hyphens only. 1-64 characters."})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Description"}),(0,b.jsx)(T.Input,{value:c.description,onChange:a=>d({...c,description:a.target.value}),placeholder:"One-line description the agent reads to decide when to load this skill"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Allowed tools (optional)"}),(0,b.jsx)("textarea",{value:c.allowedTools,onChange:a=>d({...c,allowedTools:a.target.value}),className:"min-h-[80px] w-full rounded-md border border-input bg-background p-3 font-mono text-xs text-foreground focus:outline-none focus:ring-2 focus:ring-ring",placeholder:"One per line, e.g.\nBash(curl *)\nRead"}),(0,b.jsx)("p",{className:"mt-1 text-[10px] text-muted-foreground",children:"Tool matchers in Claude Code format. Leave blank to inherit the agent's defaults."})]}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("label",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"SKILL.md body"}),(0,b.jsx)("textarea",{value:c.content,onChange:a=>d({...c,content:a.target.value}),className:"min-h-[400px] w-full rounded-md border border-input bg-background p-3 font-mono text-xs text-foreground focus:outline-none focus:ring-2 focus:ring-ring",placeholder:"# Skill body Markdown content here. Frontmatter is injected automatically."})]})]})})]})}var ag=a.i(45952),ah=a.i(92241),ai=a.i(47696),aj=a.i(74794),ak=a.i(96459),al=a.i(40091);let am=[{value:"self-written",label:"Wrote it myself"},{value:"obsidian-export",label:"Exported from Obsidian"},{value:"notion-export",label:"Exported from Notion"},{value:"other",label:"Other"}],an="__auto__";function ao(){let a=(0,c.useRef)(null),[d,e]=(0,c.useState)(null),[f,g]=(0,c.useState)("self-written"),[h,j]=(0,c.useState)(an),[k,l]=(0,c.useState)(!1),[m,n]=(0,c.useState)(null),[o,p]=(0,c.useState)(null),{data:q}=(0,aj.useBackends)(),{data:r}=(0,ak.useSetupStatus)(),s=r?.needsSetup===!0,u=(0,c.useMemo)(()=>(q?.backends??[]).filter(a=>a.enabled&&a.cliInstalled&&a.models.length>0).filter(a=>"expired"!==a.authStatus&&"missing"!==a.authStatus),[q]),v=0===u.length,w=async()=>{if(d){l(!0),p(null),n(null);try{let b=new FormData;if(b.append("file",d),b.append("source",f),h!==an){let a=h.indexOf("::");a>0&&(b.append("requestedBackendId",h.slice(0,a)),b.append("requestedModelId",h.slice(a+2)))}let c=await fetch("/api/knowledge/import",{method:"POST",body:b});if(!c.ok){let a=await c.json().catch(()=>null);throw new i.ApiError(c.status,a)}let g=await c.json();n({traceId:g.traceId,filename:d.name,source:f}),e(null),a.current&&(a.current.value="")}catch(a){if(a instanceof i.ApiError){let b=a.body;p(b?.message??b?.error??`HTTP ${a.status}`)}else p(a instanceof Error?a.message:"Upload failed.")}finally{l(!1)}}};if(s)return(0,b.jsxs)("div",{className:"max-w-2xl space-y-3",children:[(0,b.jsx)("h2",{className:"text-lg font-semibold",children:"Import a file into Context Files"}),(0,b.jsxs)(S.Alert,{variant:"warning",children:["Complete the initial setup wizard first. The"," ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:"user/*.md"})," files the import targets are seeded only after you finish setup —"," ",(0,b.jsx)("a",{href:"/setup",className:"underline",children:"open setup"}),"."]})]});let x=k||v;return(0,b.jsxs)("div",{className:"max-w-2xl space-y-6",children:[(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)("h2",{className:"text-lg font-semibold",children:"Import a file into Context Files"}),(0,b.jsxs)("p",{className:"text-sm text-muted-foreground",children:["Bring a personal-info file you wrote elsewhere (an Obsidian export, a Notion export, a hand-written profile). The agent reads it once and folds its facts into the right ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:"user/*.md"})," Context Files — appending bullets verbatim, never overwriting, never paraphrasing."]}),(0,b.jsxs)("div",{className:"rounded-md border bg-card p-3 text-sm",children:[(0,b.jsx)("p",{className:"font-medium text-foreground",children:"Recommended formats"}),(0,b.jsxs)("ul",{className:"mt-1 space-y-0.5 text-muted-foreground",children:[(0,b.jsxs)("li",{children:[(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:".md"})," /"," ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:".markdown"})," — Markdown. Preferred — bullets, headings, and front-matter all carry through."]}),(0,b.jsxs)("li",{children:[(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:".txt"})," — plain text. Use when the source is unstructured prose."]})]}),(0,b.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:"These are the file types every supported execution agent — Claude Code, Codex CLI, and Gemini CLI — reads natively, so the import runs the same way no matter which backend you pick. Other formats (PDF, DOCX, HTML) are not accepted: convert to Markdown or plain text first so the agent reads exactly the bytes you intend."})]}),(0,b.jsxs)("div",{className:"rounded-md border bg-card p-3 text-sm",children:[(0,b.jsx)("p",{className:"font-medium text-foreground",children:"Where facts land"}),(0,b.jsxs)("ul",{className:"mt-1 space-y-0.5 text-muted-foreground",children:[(0,b.jsx)("li",{children:"Identity (name, timezone, language, DOB) → flagged for your confirmation, not auto-written."}),(0,b.jsxs)("li",{children:["Relationships (family, partners, close friends) → ",(0,b.jsx)("code",{children:"identity/people.md"})]}),(0,b.jsxs)("li",{children:["Work, employer, role, colleagues → ",(0,b.jsx)("code",{children:"identity/work.md"})]}),(0,b.jsxs)("li",{children:["Skills, expertise, languages spoken → ",(0,b.jsx)("code",{children:"identity/expertise.md"})]}),(0,b.jsxs)("li",{children:["Lifestyle, hobbies, preferences, health → ",(0,b.jsx)("code",{children:"identity/personal.md"})]}),(0,b.jsxs)("li",{children:["Goals, aspirations, current focus → ",(0,b.jsx)("code",{children:"identity/goals.md"})]}),(0,b.jsxs)("li",{children:["Anything else → ",(0,b.jsx)("code",{children:"identity/profile.md"})," under a Misc section."]})]})]}),(0,b.jsxs)("div",{className:"rounded-md border bg-card p-3 text-sm",children:[(0,b.jsx)("p",{className:"font-medium text-foreground",children:"Strict-fidelity guarantee"}),(0,b.jsxs)("p",{className:"mt-1 text-muted-foreground",children:["The session runs under a dedicated agent profile (",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:"profile-importer"}),") materialized into ",(0,b.jsx)("code",{children:"CLAUDE.md"})," / ",(0,b.jsx)("code",{children:"AGENTS.md"})," /"," ",(0,b.jsx)("code",{children:"GEMINI.md"})," for the chosen backend. Its top-level rule:"]}),(0,b.jsxs)("ul",{className:"mt-1 space-y-0.5 text-muted-foreground",children:[(0,b.jsxs)("li",{children:["Copy bullets ",(0,b.jsx)("strong",{children:"verbatim"})," — no paraphrase, no summary, no inference beyond the literal text."]}),(0,b.jsxs)("li",{children:["Existing bullets are never overwritten. Contradictions land in a ",(0,b.jsx)("code",{children:"## Pending Conflicts"})," section for you to resolve."]}),(0,b.jsx)("li",{children:"If a sentence is ambiguous, the agent skips it and notes the skip in its journal."})]})]}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Limits: max file size ",64,"KB (split larger files and import in pieces — strict fidelity does not scale beyond this). Files that contain private keys, API tokens, or credentials are rejected at upload time and never written to disk inside the agent’s vault."]})]}),(0,b.jsxs)("div",{className:"space-y-3 rounded-lg border bg-card p-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"mb-1.5 block text-sm font-medium",children:"File"}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("input",{ref:a,type:"file",accept:".md,.markdown,.txt",className:"hidden",onChange:a=>{let b=a.target.files?.[0]??null;if(p(null),n(null),b&&b.size>65536){p(`File is ${(b.size/1024).toFixed(1)} KB. Maximum is 64 KB — split the file and import in pieces.`),e(null),a.target.value="";return}e(b)}}),(0,b.jsxs)(t.Button,{type:"button",variant:"outline",onClick:()=>a.current?.click(),disabled:x,children:[(0,b.jsx)($.Upload,{className:"mr-1.5 h-4 w-4"}),"Choose file"]}),d&&(0,b.jsxs)("span",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[(0,b.jsx)(ag.FileText,{className:"h-3.5 w-3.5"}),d.name," (",(d.size/1024).toFixed(1)," KB)"]})]}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Accepts ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:".md"}),","," ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:".markdown"}),", or"," ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:".txt"}),". Up to ",64," KB after UTF-8 encoding (Japanese / non-ASCII characters take 3 bytes each)."]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"mb-1.5 block text-sm font-medium",children:"Source"}),(0,b.jsxs)(ai.Select,{value:f,onValueChange:g,disabled:k,children:[(0,b.jsx)(ai.SelectTrigger,{className:"w-full",children:(0,b.jsx)(ai.SelectValue,{})}),(0,b.jsx)(ai.SelectContent,{children:am.map(a=>(0,b.jsx)(ai.SelectItem,{value:a.value,children:a.label},a.value))})]}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Recorded in the journal entry the import session writes when it finishes."})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"mb-1.5 block text-sm font-medium",children:"Execution agent"}),(0,b.jsxs)(ai.Select,{value:h,onValueChange:j,disabled:k||v,children:[(0,b.jsx)(ai.SelectTrigger,{className:"w-full",children:(0,b.jsx)(ai.SelectValue,{})}),(0,b.jsxs)(ai.SelectContent,{children:[(0,b.jsx)(ai.SelectItem,{value:an,children:"Use default routing"}),u.map(a=>(0,b.jsxs)(ai.SelectGroup,{children:[(0,b.jsx)(ai.SelectLabel,{children:(0,al.getBackendShortLabel)(a.id)}),a.models.map(c=>(0,b.jsx)(ai.SelectItem,{value:`${a.id}::${c.modelId}`,children:c.label},`${a.id}::${c.modelId}`))]},a.id))]})]}),v?(0,b.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["No authenticated backends — set one up under"," ",(0,b.jsx)("a",{href:"/connections/backends",className:"underline",children:"Connections → Backends"}),"."]}):(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Choose which backend runs this import. Only backends you’ve authenticated and whose CLI binary is on PATH are listed. “Use default routing” falls back to the daemon’s configured main backend."})]}),(0,b.jsx)("div",{className:"flex items-center gap-3 pt-1",children:(0,b.jsx)(t.Button,{onClick:w,disabled:!d||k||v,children:k?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(ah.Loader2,{className:"mr-1.5 h-4 w-4 animate-spin"}),"Uploading…"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)($.Upload,{className:"mr-1.5 h-4 w-4"}),"Import"]})})}),o&&(0,b.jsx)(S.Alert,{variant:"error",children:o}),m&&(0,b.jsxs)(S.Alert,{variant:"success",children:["Import accepted — the agent is processing"," ",(0,b.jsx)("strong",{children:m.filename}),". Watch progress in"," ",(0,b.jsxs)("a",{href:`/activity?correlationId=${encodeURIComponent(m.traceId)}`,className:"underline",children:["Activity (trace ",m.traceId.slice(0,8),")"]})," ","and review the resulting bullets in"," ",(0,b.jsx)("a",{href:"/knowledge?tab=context-files",className:"underline",children:"Context Files"})," ","once the run finishes."]})]})]})}var ap=a.i(6236),aq=a.i(84478);a.i(70010);var ar=a.i(27085);function as(a){if(!a)return[];let b=new Map;for(let c of a){let a=(0,ar.normalizeAppLabel)(c.app),d=b.get(a);d?d.count+=1:b.set(a,{normalized:a,label:c.app,count:1,status:"active"})}return Array.from(b.values()).sort((a,b)=>a.label.localeCompare(b.label))}var at=a.i(30400),au=a.i(27727),av=a.i(41010);let aw=(0,g.default)(async()=>{},{loadableGenerated:{modules:[37023]},ssr:!1,loading:()=>(0,b.jsx)("div",{className:"space-y-2 py-2",children:Array.from({length:5}).map((a,c)=>(0,b.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${65+11*c%30}%`}},c))})});function ax(){let a=(0,aq.useManagedTasks)(),d=(0,k.useQuery)({queryKey:["activity-sources"],queryFn:()=>i.api.get("/activity-sources"),staleTime:6e4}),e=(0,c.useMemo)(()=>(function(a,b){if(!b||0===b.length)return a;let c=new Map;for(let b of a)c.set(b.normalized,b);for(let a of b)c.has(a.normalized)||c.set(a.normalized,{normalized:a.normalized,label:a.label,count:0,status:a.status});return Array.from(c.values()).sort((a,b)=>a.label.localeCompare(b.label))})(as(a.data?.items),d.data?.items),[a.data,d.data]),[f,g]=(0,c.useState)(null),h=f??e.find(a=>"active"===a.status)?.normalized??e[0]?.normalized??null;return(0,b.jsxs)("div",{className:"grid h-full grid-cols-1 gap-4 md:grid-cols-[16rem_1fr]",children:[(0,b.jsxs)(at.Card,{className:"flex h-full min-h-0 flex-col p-3",children:[(0,b.jsx)("h3",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Sources"}),(0,b.jsx)(av.QueryResult,{isLoading:a.isLoading,isError:a.isError,error:a.error,onRetry:()=>a.refetch(),children:0===e.length?(0,b.jsx)(au.EmptyState,{icon:ap.Activity,title:"No sources",description:"Active managed tasks define which sources have an activity view."}):(0,b.jsx)(r.ScrollArea,{className:"min-h-0 flex-1",children:(0,b.jsx)("ul",{className:"space-y-0.5",children:e.map(a=>{let c=a.normalized===h,d="stopped"===a.status;return(0,b.jsx)("li",{children:(0,b.jsxs)("button",{type:"button",onClick:()=>g(a.normalized),className:(0,w.cn)("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm transition-colors",c?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-accent hover:text-foreground",d&&!c&&"opacity-70"),title:d?"Stopped — kept for the 90-day activity window.":void 0,children:[(0,b.jsx)(ag.FileText,{className:"h-3.5 w-3.5 shrink-0"}),(0,b.jsx)("span",{className:"flex-1 truncate",children:a.label}),d?(0,b.jsx)(s.Badge,{variant:"amber",className:"shrink-0 text-[10px]",children:"stopped"}):(0,b.jsx)(s.Badge,{variant:"gray",className:"shrink-0",children:a.count})]})},a.normalized)})})})})]}),(0,b.jsx)(at.Card,{className:"flex h-full min-h-0 flex-col p-4",children:h?(0,b.jsx)(ay,{source:h}):(0,b.jsx)(au.EmptyState,{icon:ap.Activity,title:"No source selected",description:"Pick a source on the left to view its activity log."})})]})}function ay({source:a}){let d=`state/activity/${a}.md`,e=(0,j.useContextFile)(d),f=m(d),[g,h]=(0,c.useState)(!1);return e.isLoading?(0,b.jsx)("div",{className:"space-y-2 py-2",children:Array.from({length:5}).map((a,c)=>(0,b.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${50+11*c%30}%`}},c))}):e.error?404===e.error?.status?(0,b.jsx)(au.EmptyState,{icon:C.Clock,title:"No activity recorded yet",description:"The activity-view reconciler will produce "+d+" after the next scheduled run."}):(0,b.jsxs)("p",{className:"text-sm text-destructive",children:["Failed to load: ",e.error.message]}):e.data?(0,b.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,b.jsxs)("div",{className:"mb-3 flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:(0,b.jsx)("code",{className:"font-mono text-xs",children:d})}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:["Auto-generated · last modified"," ",(0,w.formatRelativeTime)(e.data.lastModified)]})]}),f.data&&f.data.snapshots.length>0&&(0,b.jsx)(t.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>h(a=>!a),children:g?"Hide history":`Show history (${f.data.snapshots.length})`})]}),g&&f.data&&(0,b.jsx)(az,{snapshots:f.data.snapshots}),(0,b.jsx)(r.ScrollArea,{className:"min-h-0 flex-1",children:(0,b.jsx)(aw,{content:e.data.content})})]}):null}function az({snapshots:a}){return(0,b.jsx)("ul",{className:"mb-3 space-y-1 rounded-md border border-border/40 bg-muted/30 p-2 text-[11px]",children:a.slice(0,10).map(a=>(0,b.jsxs)("li",{className:"flex items-center justify-between gap-2 px-1 py-0.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:(0,w.formatRelativeTime)(a.created_at)}),(0,b.jsx)("span",{className:"text-muted-foreground/70",children:a.trigger})]},a.id))})}let aA=(0,y.default)("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);var aB=a.i(93637);let aC=(0,g.default)(async()=>{},{loadableGenerated:{modules:[37023]},ssr:!1,loading:()=>(0,b.jsx)("div",{className:"space-y-2 py-2",children:Array.from({length:5}).map((a,c)=>(0,b.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${65+11*c%30}%`}},c))})});function aD(){let[a,d]=(0,c.useState)("source");return(0,b.jsxs)("div",{className:"flex h-full min-h-0 flex-col gap-4",children:[(0,b.jsx)(at.Card,{className:"p-3",children:(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(aB.Filter,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsxs)("div",{className:"flex items-center gap-1 rounded-md border border-border bg-background p-0.5",children:[(0,b.jsx)("button",{type:"button",onClick:()=>d("source"),className:(0,w.cn)("rounded px-2.5 py-1 text-xs transition-colors","source"===a?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:"By source"}),(0,b.jsx)("button",{type:"button",onClick:()=>d("domain"),className:(0,w.cn)("rounded px-2.5 py-1 text-xs transition-colors","domain"===a?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:"By domain"})]})]})}),"source"===a?(0,b.jsx)(aE,{}):(0,b.jsx)(aF,{})]})}function aE(){let a=(0,aq.useManagedTasks)(),d=(0,c.useMemo)(()=>as(a.data?.items),[a.data]),[e,f]=(0,c.useState)(null),g=e??d[0]?.normalized??null,h=function(a,b=100){return(0,k.useQuery)({queryKey:["entities-by-source",a,b],queryFn:()=>i.api.get("/entities",{source:a,limit:b}),enabled:!!a,staleTime:3e4})}(g,200);return(0,b.jsx)(aG,{sidebar:(0,b.jsxs)(at.Card,{className:"flex h-full min-h-0 flex-col p-3",children:[(0,b.jsx)("h3",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Sources"}),(0,b.jsx)(av.QueryResult,{isLoading:a.isLoading,isError:a.isError,error:a.error,onRetry:()=>a.refetch(),children:0===d.length?(0,b.jsx)(au.EmptyState,{icon:aA,title:"No sources",description:"Register a managed task first."}):(0,b.jsx)(r.ScrollArea,{className:"min-h-0 flex-1",children:(0,b.jsx)("ul",{className:"space-y-0.5",children:d.map(a=>{let c=a.normalized===g;return(0,b.jsx)("li",{children:(0,b.jsxs)("button",{type:"button",onClick:()=>f(a.normalized),className:(0,w.cn)("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm transition-colors",c?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,b.jsx)("span",{className:"flex-1 truncate",children:a.label}),(0,b.jsx)(s.Badge,{variant:"gray",className:"shrink-0",children:a.count})]})},a.normalized)})})})})]}),content:(0,b.jsx)(aH,{query:h,emptyTitle:"No entities tagged yet",emptyDescription:"Once the scheduled-managed-task skill runs, entity files appear here."})})}function aF(){let a=(0,c.useMemo)(()=>new Date().toISOString().slice(0,10),[]),[d,e]=(0,c.useState)("work"),[f,g]=(0,c.useState)("meeting"),[h,j]=(0,c.useState)(a),[l,m]=(0,c.useState)(""),n=function(a){let{domain:b,type:c,date:d,q:e,limit:f}=a,g=!!b&&!!c&&!!d;return(0,k.useQuery)({queryKey:["entities-by-domain-type-date",b,c,d,e,f],queryFn:()=>i.api.get("/entities",{domain:b,type:c,date:d,...e?{q:e}:{},...f?{limit:f}:{}}),enabled:g,staleTime:3e4})}({domain:d,type:f,date:h,q:l.trim()?l.trim():void 0,limit:100});return(0,b.jsx)(aG,{sidebar:(0,b.jsxs)(at.Card,{className:"flex h-full min-h-0 flex-col gap-3 p-3",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium",htmlFor:"filter-domain",children:"Domain"}),(0,b.jsxs)(ai.Select,{value:d,onValueChange:a=>e(a),children:[(0,b.jsx)(ai.SelectTrigger,{id:"filter-domain",className:"h-8 text-xs",children:(0,b.jsx)(ai.SelectValue,{})}),(0,b.jsx)(ai.SelectContent,{children:ar.DOMAINS.map(a=>(0,b.jsx)(ai.SelectItem,{value:a,children:a},a))})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium",htmlFor:"filter-type",children:"Type"}),(0,b.jsxs)(ai.Select,{value:f,onValueChange:a=>g(a),children:[(0,b.jsx)(ai.SelectTrigger,{id:"filter-type",className:"h-8 text-xs",children:(0,b.jsx)(ai.SelectValue,{})}),(0,b.jsx)(ai.SelectContent,{children:ar.ENTITY_TYPES.map(a=>(0,b.jsx)(ai.SelectItem,{value:a,children:ar.TYPE_PLURALS[a]},a))})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium",htmlFor:"filter-date",children:"Date"}),(0,b.jsx)(T.Input,{id:"filter-date",type:"date",value:h,onChange:a=>j(a.target.value)})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium",htmlFor:"filter-q",children:"Title contains"}),(0,b.jsx)(T.Input,{id:"filter-q",type:"search",value:l,onChange:a=>m(a.target.value),placeholder:"optional"})]})]}),content:(0,b.jsx)(aH,{query:n,emptyTitle:"No matches",emptyDescription:`No entities under ${d}/${ar.TYPE_PLURALS[f]} on ${h}.`})})}function aG({sidebar:a,content:c}){return(0,b.jsxs)("div",{className:"grid min-h-0 flex-1 grid-cols-1 gap-4 md:grid-cols-[18rem_1fr]",children:[a,c]})}function aH({query:a,emptyTitle:d,emptyDescription:e}){let[f,g]=(0,c.useState)(null);return(0,b.jsx)(at.Card,{className:"flex h-full min-h-0 flex-col p-0",children:(0,b.jsxs)("div",{className:"grid min-h-0 flex-1 grid-cols-1 md:grid-cols-2",children:[(0,b.jsxs)("div",{className:"flex min-h-0 flex-col border-b border-border md:border-b-0 md:border-r",children:[(0,b.jsxs)("div",{className:"border-b border-border px-3 py-2 text-[11px] uppercase tracking-wide text-muted-foreground",children:["Results ",a.data?`(${a.data.items.length})`:""]}),(0,b.jsx)("div",{className:"min-h-0 flex-1",children:(0,b.jsx)(av.QueryResult,{isLoading:a.isLoading,isError:a.isError,error:a.error,onRetry:()=>a.refetch(),children:a.data&&0!==a.data.items.length?(0,b.jsx)(r.ScrollArea,{className:"h-full",children:(0,b.jsx)("ul",{className:"divide-y divide-border/40",children:a.data.items.map(a=>(0,b.jsx)("li",{children:(0,b.jsxs)("button",{type:"button",onClick:()=>g(a.path),className:(0,w.cn)("flex w-full flex-col gap-0.5 px-3 py-2 text-left text-sm transition-colors",f===a.path?"bg-primary/10 text-primary":"hover:bg-accent"),children:[(0,b.jsxs)("span",{className:"flex items-start gap-2",children:[(0,b.jsx)(ag.FileText,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"flex-1 truncate font-medium",children:a.title}),a.status&&(0,b.jsx)(s.Badge,{variant:"gray",className:"shrink-0",children:a.status})]}),(0,b.jsx)("span",{className:"ml-5 truncate text-[11px] text-muted-foreground",children:(0,b.jsx)("code",{children:a.path})}),Object.keys(a.sources).length>0&&(0,b.jsx)("span",{className:"ml-5 flex flex-wrap gap-1",children:Object.keys(a.sources).map(a=>(0,b.jsx)(s.Badge,{variant:"blue",className:"text-[10px]",children:a},a))})]})},a.path))})}):(0,b.jsx)(au.EmptyState,{icon:aA,title:d,description:e})})})]}),(0,b.jsx)("div",{className:"flex min-h-0 flex-col",children:f?(0,b.jsx)(aI,{path:f}):(0,b.jsx)(au.EmptyState,{icon:ag.FileText,title:"No entity selected",description:"Pick a result on the left to view the underlying MD file.",className:"py-8"})})]})})}function aI({path:a}){let c=a.endsWith(".md")?a.slice(0,-3):a,d=(0,j.useContextFile)(c);return d.isLoading?(0,b.jsx)("div",{className:"space-y-2 p-4",children:Array.from({length:5}).map((a,c)=>(0,b.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${50+11*c%30}%`}},c))}):d.error?404===d.error?.status?(0,b.jsx)(au.EmptyState,{icon:ag.FileText,title:"Mirror is stale",description:`The entity file at ${a} was deleted but the mirror still has the row. The watcher should reconcile shortly.`}):(0,b.jsxs)("p",{className:"p-4 text-sm text-destructive",children:["Failed to load: ",d.error.message]}):d.data?(0,b.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,b.jsxs)("div",{className:"border-b border-border px-3 py-2",children:[(0,b.jsx)("code",{className:"font-mono text-[11px] text-muted-foreground",children:a}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground/70",children:["Last modified ",(0,w.formatRelativeTime)(d.data.lastModified)]})]}),(0,b.jsx)(r.ScrollArea,{className:"min-h-0 flex-1",children:(0,b.jsx)("div",{className:"p-4",children:(0,b.jsx)(aC,{content:d.data.content})})})]}):null}function aJ(){let a=(0,d.useSearchParams)(),g=(0,d.useRouter)(),h=a.get("tab")??"context-files",i=(0,c.useRef)(null),j=async a=>{("context-files"!==h||"context-files"===a||await i.current?.confirmDiscard())&&g.replace(`/knowledge?tab=${a}`,{scroll:!1})};return(0,b.jsxs)("div",{className:"flex h-full flex-col p-6",children:[(0,b.jsx)(f.PageHeader,{className:"mb-4",title:"Knowledge",description:(0,b.jsxs)(b.Fragment,{children:["The agent’s long-term memory. ",(0,b.jsx)("strong",{children:"Context Files"}),"— Markdown notes the agent loads on each run."," ",(0,b.jsx)("strong",{children:"Skills"}),"— per-event-type behavioral guides materialized into the session workdir."," ",(0,b.jsx)("strong",{children:"Activity"}),"— per-source aggregates written by the management registry."," ",(0,b.jsx)("strong",{children:"Entities"}),"— structured records (people, organizations, projects) filterable by source, domain, type, or date."," ",(0,b.jsx)("strong",{children:"Upload"}),"— ingest a Markdown or text file; facts are folded into the right Context Files by topic."]})}),(0,b.jsxs)(e.Tabs,{value:h,onValueChange:j,className:"flex min-h-0 flex-1 flex-col",children:[(0,b.jsxs)(e.TabsList,{className:"w-fit",children:[(0,b.jsx)(e.TabsTrigger,{value:"context-files",children:"Context Files"}),(0,b.jsx)(e.TabsTrigger,{value:"skills",children:"Skills"}),(0,b.jsx)(e.TabsTrigger,{value:"activity",children:"Activity"}),(0,b.jsx)(e.TabsTrigger,{value:"entities",children:"Entities"}),(0,b.jsx)(e.TabsTrigger,{value:"upload",children:"Upload"})]}),(0,b.jsx)(e.TabsContent,{value:"context-files",className:"mt-4 min-h-0 flex-1",children:(0,b.jsx)(Q,{ref:i})}),(0,b.jsx)(e.TabsContent,{value:"skills",className:"mt-4 min-h-0 flex-1",children:(0,b.jsx)(aa,{})}),(0,b.jsx)(e.TabsContent,{value:"activity",className:"mt-4 min-h-0 flex-1",children:(0,b.jsx)(ax,{})}),(0,b.jsx)(e.TabsContent,{value:"entities",className:"mt-4 min-h-0 flex-1",children:(0,b.jsx)(aD,{})}),(0,b.jsx)(e.TabsContent,{value:"upload",className:"mt-4 min-h-0 flex-1 overflow-y-auto",children:(0,b.jsx)(ao,{})})]})]})}a.s(["default",0,function(){return(0,b.jsx)(c.Suspense,{children:(0,b.jsx)(aJ,{})})}],22287)}];
|
|
1
|
+
module.exports=[22287,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(82508),e=a.i(9306),f=a.i(87206),g=a.i(126),h=a.i(81130),i=a.i(59974),j=a.i(7437),k=a.i(62588);function l(a,b){return`${a}/${b.replace(/\.md$/,"")}`}function m(a){return(0,k.useQuery)({queryKey:["snapshots",a],queryFn:()=>i.api.get(`/snapshots/${a}`),enabled:!!a})}var n=a.i(40294),o=a.i(93929),p=a.i(28314),q=a.i(69481),r=a.i(1041),s=a.i(7384),t=a.i(21218),u=a.i(57216),v=a.i(869),w=a.i(48558),x=a.i(29384),y=a.i(5423);let z=(0,y.default)("File",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]);var A=a.i(11307),B=a.i(42732),C=a.i(3504),D=a.i(7037),E=a.i(32307),F=a.i(82687);let G=(0,g.default)(async()=>{},{loadableGenerated:{modules:[37023]},ssr:!1,loading:()=>(0,b.jsx)("div",{className:"max-w-3xl space-y-2 py-2","aria-hidden":"true",children:Array.from({length:5}).map((a,c)=>(0,b.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${65+11*c%30}%`}},c))})});function H({html:a}){let c=a.split(/(<mark>|<\/mark>)/),d=!1,e=[];for(let a=0;a<c.length;a++){if("<mark>"===c[a]){d=!0;continue}if("</mark>"===c[a]){d=!1;continue}let f=c[a].replace(/<[^>]*>/g,"");f&&e.push(d?(0,b.jsx)("mark",{className:"bg-warning/15 rounded-sm px-0.5",children:f},a):f)}return(0,b.jsx)(b.Fragment,{children:e})}let I=["_index","identity/profile","identity/_index","today","yesterday","roadmap","policies/management","policies/mcp","policies/journal-format","policies/journal-export","policies/redaction","journal/agent","context-index"],J=["identity","state/inbox","plans/projects","journal/daily","journal/weekly","journal/monthly","knowledge/repos","knowledge/dossiers","policies","policies/routines","policies/management-captures"],K=new Set(["today","roadmap"]),L={"policies/management":{filename:"policies/management.md",description:"defines the agent's behavioral contract. Edits here can change how the agent acts."},"journal/agent":{filename:"journal/agent.md",description:"is the agent's internal reflection journal — append-only from the Weekly Review routine. Manual edits can remove the agent's own improvement history and break the append-only contract. Prefer leaving it alone unless you are deliberately pruning noise."}};function M(a){return a.endsWith(".base")?a:`${a}.md`}function N({node:a,topDir:d,selectedPath:e,onSelect:f}){let g=`${d}/${a.relPath}`,h=e?.startsWith(`${g}/`)??!1,[i,j]=(0,c.useState)(h),[k,m]=(0,c.useState)(e);return e!==k&&(m(e),h&&j(!0)),(0,b.jsxs)(u.Collapsible,{open:i,onOpenChange:j,children:[(0,b.jsxs)(u.CollapsibleTrigger,{className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm text-muted-foreground hover:bg-accent hover:text-foreground",children:[(0,b.jsx)(B.ChevronRight,{className:(0,w.cn)("h-3 w-3 transition-transform",i&&"rotate-90")}),(0,b.jsx)(A.FolderOpen,{className:"h-3.5 w-3.5"}),a.name,"/"]}),(0,b.jsx)(u.CollapsibleContent,{children:(0,b.jsx)("div",{className:"ml-5 space-y-0.5",children:a.children.map(a=>"dir"===a.kind?(0,b.jsx)(N,{node:a,topDir:d,selectedPath:e,onSelect:f},a.relPath):(0,b.jsx)(P,{name:a.name,active:e===l(d,a.relPath),onClick:()=>f(l(d,a.relPath))},a.relPath))})})]})}function O({dir:a,selectedPath:d,onSelect:e}){let{data:f}=(0,j.useContextList)(a),g=d?.startsWith(`${a}/`)??!1,[h,i]=(0,c.useState)(g),[k,m]=(0,c.useState)(d);d!==k&&(m(d),g&&i(!0));let n=(0,c.useMemo)(()=>{let b=new Set(["identity","policies","policies/routines","policies/management-captures","plans/projects","knowledge/dossiers"]);return function(a){let b=[];for(let c of a){let a=c.name.split("/"),d=b,e="";for(let b=0;b<a.length;b++){let c=a[b],f=b===a.length-1;if(e=e?`${e}/${c}`:c,f)d.push({kind:"file",name:c,relPath:e});else{let a=d.find(a=>"dir"===a.kind&&a.name===c);a||(a={kind:"dir",name:c,relPath:e,children:[]},d.push(a)),d=a.children}}}let c=a=>{for(let b of(a.sort((a,b)=>a.kind!==b.kind?"dir"===a.kind?-1:1:a.name.localeCompare(b.name)),a))"dir"===b.kind&&c(b.children)};return c(b),b}(f?.files.filter(c=>!(b.has(a)&&"_index.md"===c.name))??[])},[f?.files,a]);return(0,b.jsxs)(u.Collapsible,{open:h,onOpenChange:i,children:[(0,b.jsxs)(u.CollapsibleTrigger,{className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm text-muted-foreground hover:bg-accent hover:text-foreground",children:[(0,b.jsx)(B.ChevronRight,{className:(0,w.cn)("h-3 w-3 transition-transform",h&&"rotate-90")}),(0,b.jsx)(A.FolderOpen,{className:"h-3.5 w-3.5"}),a,"/"]}),(0,b.jsx)(u.CollapsibleContent,{children:(0,b.jsx)("div",{className:"ml-5 space-y-0.5",children:n.map(c=>"dir"===c.kind?(0,b.jsx)(N,{node:c,topDir:a,selectedPath:d,onSelect:e},c.relPath):(0,b.jsx)(P,{name:c.name,active:d===l(a,c.relPath),onClick:()=>e(l(a,c.relPath))},c.relPath))})})]})}function P({name:a,active:c,onClick:d}){return(0,b.jsxs)("button",{onClick:d,className:(0,w.cn)("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors",c?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,b.jsx)(z,{className:"h-3.5 w-3.5"}),a]})}let Q=(0,c.forwardRef)(function(a,e){var f;let g,l=(0,d.useSearchParams)(),y=(g=l?.get("path"))?g.replace(/\.(md|base)$/i,""):null,[z,A]=(0,c.useState)(y??"identity/profile"),[N,Q]=(0,c.useState)(y);y!==N&&(Q(y),y&&A(y));let[R,S]=(0,c.useState)(""),[T,U]=(0,c.useState)(!1),[V,W]=(0,c.useState)(null),[X,Y]=(0,c.useState)(!1),[Z,$]=(0,c.useState)(""),[_,aa]=(0,c.useState)(""),[ab,ac]=(0,c.useState)(""),[ad,ae]=(0,c.useState)(null),[af,ag]=(0,c.useState)(null),[ah,ai]=(0,c.useState)(!1),aj=(0,c.useRef)(null),{data:ak}=(0,j.useContextFile)(z,{enabled:!X}),{data:al}=(f=T?R:"",(0,k.useQuery)({queryKey:["search",f],queryFn:()=>i.api.get("/search",{q:f}),enabled:f.length>=2})),{data:am}=m(z),{data:an}=(0,k.useQuery)({queryKey:["snapshot-content",V],queryFn:()=>i.api.get(`/snapshots/content/${V}`),enabled:null!==V}),{regenerate:ao,target:ap,status:aq,error:ar,dismiss:as}=(0,n.useRegenerate)(),at=(0,j.useUpdateContextFile)(),au=(0,h.useQueryClient)(),av=(0,p.useConfirm)(),aw=X&&Z!==_;(0,c.useImperativeHandle)(e,()=>({isDirty:()=>aw,confirmDiscard:async()=>!aw||av({title:"Discard unsaved changes?",description:"Your edits will be lost if you switch tabs.",confirmLabel:"Discard",variant:"destructive"})}));let ax=()=>{U(!1),S("")},ay=async()=>!aw||av({title:"Discard unsaved changes?",description:"Your edits will be lost.",confirmLabel:"Discard",variant:"destructive"}),az=async a=>{await ay()&&(A(a),W(null),Y(!1),$(""),aa(""),ac(""),ae(null),ag(null),ax())},aA=async()=>{await ay()&&(Y(!1),ae(null),ag(null),$(""),aa(""),ac(""))},aB=()=>{ai(!0),window.setTimeout(()=>ai(!1),2e3)},aC=async(a,b)=>{if(!z)return!1;ae(null);try{return await at.mutateAsync({path:z,content:a,expectedMtime:b}),Y(!1),$(""),aa(""),ac(""),ag(null),aB(),!0}catch(a){if(a instanceof j.ContextConflictError)return ag(a.conflict),!1;if(a instanceof i.ApiError){let b=a.body,c="string"==typeof b?.error?b.error:null;ae("forbidden"===c?"This file is read-only — it's not in the daemon's write whitelist.":"morning_routine_lock_held"===c?"state/today.md is locked by the morning routine. Please try again shortly.":"validation_error"===c?"Content failed validation.":`Save failed: ${a.message}`)}else ae(a instanceof Error?a.message:"Save failed");return!1}},aD=()=>aC(Z,ab),aE=async()=>{af&&await aC(Z,af.currentMtime)},aF=async a=>{(!X||await ay())&&(X&&(Y(!1),$(""),aa(""),ac(""),ae(null),ag(null)),W(a))};(0,c.useEffect)(()=>{if(!aw)return;let a=a=>{a.preventDefault(),a.returnValue=""};return window.addEventListener("beforeunload",a),()=>window.removeEventListener("beforeunload",a)},[aw]),(0,c.useEffect)(()=>{X&&aj.current?.focus()},[X]);let aG=null!==V,aH=!!z&&!aG&&ak?.editable===!0,aI=!!z&&aG&&!!an&&ak?.editable===!0,aJ=V&&an?an.content:ak?.content,aK=async()=>{if(z&&an&&null!==V&&await av({title:"Restore this snapshot?",description:`This will overwrite ${M(z)} with the snapshot from ${(0,w.formatAbsoluteTime)(an.created_at)}. The current on-disk version will be backed up as a new snapshot first.`,confirmLabel:"Restore snapshot",variant:"destructive"})){ae(null);try{let a=await i.api.post(`/context/restore-snapshot/${V}`);au.setQueryData(["context",z],b=>b?{...b,content:an.content,lastModified:a.lastModified}:{content:an.content,lastModified:a.lastModified,editable:!0}),au.invalidateQueries({queryKey:["snapshots",z]}),W(null),ag(null),aB()}catch(a){if(a instanceof i.ApiError){let b=a.body,c="string"==typeof b?.error?b.error:null;ae("morning_routine_lock_held"===c?"state/today.md is locked by the morning routine. Please try again shortly.":"forbidden"===c?"This snapshot cannot be restored because the file is not writable.":"validation_error"===c?"Snapshot restore was rejected because the stored content no longer passes validation.":`Restore failed: ${a.message}`)}else ae(a instanceof Error?a.message:"Restore failed")}}};return(0,b.jsxs)("div",{className:"flex h-full min-h-0",children:[(0,b.jsxs)("div",{className:"flex w-64 shrink-0 flex-col border-r border-border min-h-0",children:[(0,b.jsxs)("div",{className:"border-b border-border p-4",children:[(0,b.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:"Context Files"}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Have a file to bring in?"," ",(0,b.jsx)("a",{href:"/knowledge?tab=upload",className:"underline",children:"Upload"})]})]}),(0,b.jsx)(r.ScrollArea,{className:"flex-1 min-h-0",children:(0,b.jsxs)("div",{className:"space-y-0.5 p-2",children:[I.map(a=>(0,b.jsx)(P,{name:M(a),active:z===a,onClick:()=>az(a)},a)),(0,b.jsx)("div",{className:"my-2 h-px bg-border"}),J.map(a=>(0,b.jsx)(O,{dir:a,selectedPath:z,onSelect:az},a))]})})]}),(0,b.jsxs)("div",{className:"flex flex-1 flex-col",children:[(0,b.jsxs)("form",{onSubmit:a=>{a.preventDefault(),R.length>=2&&U(!0)},className:"flex items-center gap-2 border-b border-border px-4 py-2",children:[(0,b.jsx)(x.Search,{className:"h-4 w-4 text-muted-foreground"}),(0,b.jsx)("input",{type:"text",value:R,onChange:a=>{S(a.target.value),a.target.value.length<2&&U(!1)},placeholder:"Search actions and messages...",className:"flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground"}),T&&(0,b.jsx)(t.Button,{variant:"ghost",size:"sm",onClick:ax,children:"Clear"})]}),(0,b.jsx)(r.ScrollArea,{className:"flex-1",children:T&&al?(0,b.jsxs)("div",{className:"space-y-4 p-4",children:[(0,b.jsxs)("h3",{className:"text-sm font-semibold text-foreground",children:["Search Results for “",R,"”"]}),al.actions.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"mb-2 text-xs font-medium text-muted-foreground",children:"Actions"}),al.actions.map(a=>(0,b.jsxs)("div",{className:"rounded-md border border-border p-2 mb-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(s.Badge,{variant:"blue",children:a.action_type}),(0,b.jsxs)(v.Tooltip,{children:[(0,b.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:"text-xs font-mono tabular-nums text-muted-foreground",children:(0,w.formatShortDateTime)(a.started_at)})}),(0,b.jsxs)(v.TooltipContent,{children:[(0,w.formatAbsoluteTime)(a.started_at)," (",(0,w.formatRelativeTime)(a.started_at),")"]})]})]}),(0,b.jsx)("p",{className:"mt-1 text-sm",children:(0,b.jsx)(H,{html:a.snippet})})]},a.id))]}),al.messages.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"mb-2 text-xs font-medium text-muted-foreground",children:"Messages"}),al.messages.map(a=>(0,b.jsxs)("div",{className:"rounded-md border border-border p-2 mb-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(s.Badge,{variant:"user"===a.role?"blue":"gray",children:a.role}),(0,b.jsxs)(v.Tooltip,{children:[(0,b.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:"text-xs font-mono tabular-nums text-muted-foreground",children:(0,w.formatShortDateTime)(a.timestamp)})}),(0,b.jsxs)(v.TooltipContent,{children:[(0,w.formatAbsoluteTime)(a.timestamp)," (",(0,w.formatRelativeTime)(a.timestamp),")"]})]})]}),(0,b.jsx)("p",{className:"mt-1 text-sm",children:(0,b.jsx)(H,{html:a.snippet})})]},a.id))]}),0===al.actions.length&&0===al.messages.length&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No results found"})]}):(0,b.jsxs)("div",{className:"p-4",children:[z&&ak&&(0,b.jsxs)("div",{className:"mb-4 flex flex-wrap items-center gap-3 text-xs text-muted-foreground",children:[(0,b.jsx)("span",{className:"font-mono",children:M(z)}),(0,b.jsxs)("span",{children:["Last modified:"," ",(0,w.formatAbsoluteTime)(X?ab:ak.lastModified)]}),ah&&(0,b.jsxs)("span",{className:"flex items-center gap-1 font-medium text-success",children:[(0,b.jsx)(F.CheckCircle2,{className:"h-3 w-3"}),"Saved"]}),aw&&!af&&(0,b.jsx)(s.Badge,{variant:"gray",className:"text-[10px]",children:"Unsaved"}),aG&&(0,b.jsx)(t.Button,{variant:"ghost",size:"sm",onClick:()=>W(null),children:"Back to current"}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[aI&&(0,b.jsxs)(t.Button,{variant:"outline",size:"sm",onClick:()=>void aK(),className:"h-7 gap-1 text-xs",children:[(0,b.jsx)(C.Clock,{className:"h-3 w-3"}),"Restore snapshot"]}),K.has(z)&&!aG&&!X&&(0,b.jsx)(o.RegenerateButton,{target:z,label:"Regenerate",currentTarget:ap,status:aq,error:ar,onRegenerate:ao,onDismiss:as,className:"text-xs"}),aH&&!X&&(0,b.jsxs)(t.Button,{variant:"outline",size:"sm",onClick:()=>{ak&&($(ak.content),aa(ak.content),ac(ak.lastModified),ae(null),ag(null),Y(!0))},className:"h-7 gap-1 text-xs",children:[(0,b.jsx)(D.Pencil,{className:"h-3 w-3"}),"Edit"]}),X&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(t.Button,{variant:"ghost",size:"sm",onClick:aA,disabled:at.isPending,className:"h-7 text-xs",children:"Cancel"}),(0,b.jsx)(t.Button,{size:"sm",onClick:aD,disabled:at.isPending||!aw||null!==af,className:"h-7 text-xs",children:at.isPending?"Saving...":"Save"})]})]})]}),X&&z&&L[z]&&(0,b.jsxs)("div",{className:"mb-3 flex items-start gap-2 rounded-md border border-warning/40 bg-warning/10 px-3 py-2 text-xs text-warning",children:[(0,b.jsx)(E.AlertTriangle,{className:"mt-0.5 h-3.5 w-3.5 flex-shrink-0"}),(0,b.jsxs)("span",{children:["This file (",(0,b.jsx)("code",{className:"font-mono",children:L[z].filename}),") ",L[z].description]})]}),ad&&(0,b.jsx)("div",{className:"mb-3 rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:ad}),af&&(0,b.jsx)(q.FileConflictBanner,{className:"mb-3",onReload:()=>{af&&($(af.currentContent),aa(af.currentContent),ac(af.currentMtime),ag(null),ae(null))},onOverwrite:aE,isPending:at.isPending,reloadLabel:"Reload latest and re-edit"}),X?(0,b.jsx)("textarea",{ref:aj,value:Z,onChange:a=>$(a.target.value),onKeyDown:a=>{if((a.metaKey||a.ctrlKey)&&"s"===a.key.toLowerCase()){a.preventDefault(),Z===_||at.isPending||aD();return}"Escape"===a.key&&(a.preventDefault(),aA())},spellCheck:!1,className:"min-h-[60vh] w-full max-w-3xl resize-y rounded-md border border-input bg-background p-3 font-mono text-xs leading-relaxed text-foreground focus:outline-none focus:ring-2 focus:ring-ring"}):aJ?(0,b.jsx)(G,{content:aJ}):(0,b.jsx)("p",{className:"text-muted-foreground",children:"Select a file to view"})]})}),z&&am&&am.snapshots.length>0&&!T&&(0,b.jsxs)(u.Collapsible,{children:[(0,b.jsxs)(u.CollapsibleTrigger,{className:"flex w-full items-center justify-between border-t border-border px-4 py-2 text-xs text-muted-foreground hover:bg-accent",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)(C.Clock,{className:"h-3 w-3"}),"Snapshots (",am.snapshots.length,")"]}),(0,b.jsx)(B.ChevronRight,{className:"h-3 w-3"})]}),(0,b.jsx)(u.CollapsibleContent,{children:(0,b.jsx)("div",{className:"max-h-40 overflow-y-auto border-t border-border",children:am.snapshots.map(a=>(0,b.jsxs)("button",{onClick:()=>aF(a.id),className:(0,w.cn)("flex w-full items-center gap-3 px-4 py-1.5 text-xs hover:bg-accent",V===a.id&&"bg-primary/10"),children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:(0,w.formatAbsoluteTime)(a.created_at)}),(0,b.jsx)(s.Badge,{variant:"gray",children:a.trigger}),a.session_id&&(0,b.jsx)("span",{className:"font-mono text-muted-foreground",children:String(a.session_id).slice(0,8)})]},a.id))})})]})]})]})});var R=a.i(8753),S=a.i(29629),T=a.i(8212),U=a.i(23780);let V=(0,y.default)("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]);var W=a.i(48033),X=a.i(43179),Y=a.i(95024),Z=a.i(96336),$=a.i(8735),_=a.i(85857);function aa(){var a;let d,e,f,g,{data:j,isLoading:l}=(0,k.useQuery)({queryKey:["skills"],queryFn:()=>i.api.get("/skills")}),[m,n]=(0,c.useState)(null),[o,q]=(0,c.useState)("view"),[s,u]=(0,c.useState)({name:"",description:"",content:"",allowedTools:""}),[v,w]=(0,c.useState)(null),x=(0,c.useRef)(null),{data:y}=(a="view"===o||"edit"===o?m:null,(0,k.useQuery)({queryKey:["skill",a],queryFn:()=>i.api.get(`/skills/${a}`),enabled:!!a})),z=(d=(0,h.useQueryClient)(),(0,R.useMutation)({mutationFn:a=>i.api.post("/skills",a),onSuccess:(a,b)=>{d.invalidateQueries({queryKey:["skills"]}),d.invalidateQueries({queryKey:["skill",b.name]})}})),A=(e=(0,h.useQueryClient)(),(0,R.useMutation)({mutationFn:({name:a,...b})=>i.api.put(`/skills/${a}`,b),onSuccess:(a,b)=>{e.invalidateQueries({queryKey:["skills"]}),e.invalidateQueries({queryKey:["skill",b.name]})}})),B=(f=(0,h.useQueryClient)(),(0,R.useMutation)({mutationFn:a=>i.api.delete(`/skills/${a}`),onSuccess:(a,b)=>{f.invalidateQueries({queryKey:["skills"]}),f.removeQueries({queryKey:["skill",b]})}})),C=(g=(0,h.useQueryClient)(),(0,R.useMutation)({mutationFn:({file:a,name:b})=>{let c=new FormData;return c.append("file",a),b&&c.append("name",b),fetch("/api/skills/upload",{method:"POST",body:c}).then(async a=>{if(!a.ok){let b=await a.json().catch(()=>null);throw Error(b?.error??`Upload failed (${a.status})`)}return a.json()})},onSuccess:()=>{g.invalidateQueries({queryKey:["skills"]})}}));(0,c.useEffect)(()=>{"view"===o&&y&&u({name:y.name,description:y.description,content:y.content,allowedTools:y.allowedTools.join("\n")})},[y,o]);let D=(0,c.useMemo)(()=>j?.skills.filter(a=>!a.builtin)??[],[j]),E=(0,c.useMemo)(()=>j?.skills.filter(a=>a.builtin)??[],[j]),F=y?.builtin??!1,G=a=>{if(a&&"body"in a&&a.body){let b=a.body;return b.message||b.error||a.message}return a.message||"Unknown error"},H=a=>{n(a),q("view"),w(null)},I=async()=>{w(null);try{let a=s.allowedTools.split("\n").map(a=>a.trim()).filter(a=>a.length>0);"new"===o?(await z.mutateAsync({name:s.name.trim(),description:s.description.trim(),content:s.content,allowedTools:a.length>0?a:void 0}),n(s.name.trim()),q("view")):"edit"===o&&m&&(await A.mutateAsync({name:m,description:s.description.trim(),content:s.content,allowedTools:a}),q("view"))}catch(a){w(G(a))}},J=(0,p.useConfirm)(),K=async()=>{if(m&&!F&&await J({title:`Delete skill "${m}"?`,description:"This cannot be undone.",confirmLabel:"Delete",variant:"destructive"})){w(null);try{await B.mutateAsync(m),n(null),q("view")}catch(a){w(G(a))}}},L=async a=>{w(null);try{let b=await C.mutateAsync({file:a});n(b.name),q("view")}catch(a){w(G(a))}finally{x.current&&(x.current.value="")}},M="new"===o?s.name.trim().length>0&&s.description.trim().length>0&&s.content.trim().length>0:s.description.trim().length>0&&s.content.trim().length>0;return(0,b.jsx)("div",{className:"flex h-full flex-col",children:(0,b.jsxs)("div",{className:"flex min-h-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex w-64 shrink-0 flex-col border-r border-border",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3",children:[(0,b.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:"Skills"}),(0,b.jsxs)("div",{className:"flex gap-1",children:[(0,b.jsx)(t.Button,{variant:"ghost",size:"icon",onClick:()=>x.current?.click(),title:"Upload .md file",children:(0,b.jsx)($.Upload,{className:"h-4 w-4"})}),(0,b.jsx)(t.Button,{variant:"ghost",size:"icon",onClick:()=>{n(null),q("new"),u({name:"",description:"",content:"# My Skill\n\nUse when ...\n",allowedTools:""}),w(null)},title:"New skill",children:(0,b.jsx)(X.Plus,{className:"h-4 w-4"})})]}),(0,b.jsx)("input",{ref:x,type:"file",accept:".md,text/markdown",className:"hidden",onChange:a=>{let b=a.target.files?.[0];b&&L(b)}})]}),(0,b.jsx)(r.ScrollArea,{className:"flex-1",children:(0,b.jsxs)("div",{className:"space-y-0.5 p-2",children:[(0,b.jsxs)("div",{className:"px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:["User (",D.length,")"]}),0===D.length&&!l&&(0,b.jsx)("p",{className:"px-2 py-1 text-xs text-muted-foreground",children:"No user skills yet — click + to create one."}),D.map(a=>(0,b.jsx)(ab,{name:a.name,description:a.description,active:m===a.name&&"new"!==o,onClick:()=>H(a.name)},a.name)),(0,b.jsx)(U.Separator,{className:"my-2"}),(0,b.jsxs)("div",{className:"flex items-center gap-1 px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:[(0,b.jsx)(W.Lock,{className:"h-2.5 w-2.5"}),"Built-in (",E.length,")"]}),E.map(a=>(0,b.jsx)(ab,{name:a.name,description:a.description,builtin:!0,active:m===a.name&&"new"!==o,onClick:()=>H(a.name)},a.name))]})})]}),(0,b.jsx)("div",{className:"flex flex-1 flex-col overflow-hidden",children:"new"===o?(0,b.jsx)(af,{title:"New skill",draft:s,setDraft:u,showName:!0,onCancel:()=>{q("view"),n(null),w(null)},onSave:I,saving:z.isPending,canSave:M,errorMsg:v}):m&&y?"edit"===o?(0,b.jsx)(af,{title:`Edit: ${y.name}`,draft:s,setDraft:u,showName:!1,onCancel:()=>{q("view"),w(null),y&&u({name:y.name,description:y.description,content:y.content,allowedTools:y.allowedTools.join("\n")})},onSave:I,saving:A.isPending,canSave:M,errorMsg:v}):(0,b.jsx)(ae,{detail:y,onEdit:()=>{y&&!y.builtin&&(q("edit"),w(null))},onDelete:K,deleting:B.isPending,errorMsg:v}):(0,b.jsx)(ac,{})})]})})}function ab({name:a,description:c,active:d,builtin:e,onClick:f}){return(0,b.jsxs)("button",{onClick:f,className:(0,w.cn)("flex w-full flex-col gap-0.5 rounded-md px-2 py-1.5 text-left transition-colors",d?"bg-primary/10 text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[e?(0,b.jsx)(W.Lock,{className:"h-3 w-3 shrink-0"}):(0,b.jsx)(V,{className:"h-3 w-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate text-xs font-medium",children:a})]}),c&&(0,b.jsx)("span",{className:"line-clamp-2 pl-4 text-[10px] leading-tight opacity-70",children:c})]})}function ac(){return(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:"Select a skill or create a new one."})}function ad({message:a}){return(0,b.jsx)(S.Alert,{variant:"error",children:a})}function ae({detail:a,onEdit:c,onDelete:d,deleting:e,errorMsg:f}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 border-b border-border px-6 py-3",children:[(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("h1",{className:"text-base font-semibold text-foreground",children:a.name}),a.builtin?(0,b.jsxs)(s.Badge,{variant:"gray",children:[(0,b.jsx)(W.Lock,{className:"mr-1 h-2.5 w-2.5"})," built-in"]}):(0,b.jsx)(s.Badge,{variant:"blue",children:"user"})]}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Updated ",(0,w.formatAbsoluteTime)(a.updatedAt)]})]}),(0,b.jsx)("div",{className:"ml-auto flex gap-2",children:!a.builtin&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(t.Button,{variant:"outline",size:"sm",onClick:c,children:"Edit"}),(0,b.jsxs)(t.Button,{variant:"destructive",size:"sm",onClick:d,disabled:e,children:[(0,b.jsx)(Z.Trash2,{className:"h-3.5 w-3.5"})," Delete"]})]})})]}),(0,b.jsx)(r.ScrollArea,{className:"flex-1",children:(0,b.jsxs)("div",{className:"space-y-4 p-6",children:[f&&(0,b.jsx)(ad,{message:f}),a.description&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Description"}),(0,b.jsx)("p",{className:"text-sm text-foreground",children:a.description})]}),a.allowedTools.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Allowed tools"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1",children:a.allowedTools.map(a=>(0,b.jsx)(s.Badge,{variant:"gray",className:"font-mono text-[10px]",children:a},a))})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"SKILL.md body"}),(0,b.jsx)("pre",{className:"whitespace-pre-wrap rounded-md border border-border bg-muted/30 p-3 font-mono text-xs text-foreground",children:a.content})]})]})})]})}function af({title:a,draft:c,setDraft:d,showName:e,onCancel:f,onSave:g,saving:h,canSave:i,errorMsg:j}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 border-b border-border px-6 py-3",children:[(0,b.jsx)("h1",{className:"text-base font-semibold text-foreground",children:a}),(0,b.jsxs)("div",{className:"ml-auto flex gap-2",children:[(0,b.jsxs)(t.Button,{variant:"outline",size:"sm",onClick:f,children:[(0,b.jsx)(_.X,{className:"h-3.5 w-3.5"})," Cancel"]}),(0,b.jsxs)(t.Button,{size:"sm",onClick:g,disabled:!i||h,children:[(0,b.jsx)(Y.Save,{className:"h-3.5 w-3.5"})," ",h?"Saving...":"Save"]})]})]}),(0,b.jsx)(r.ScrollArea,{className:"flex-1",children:(0,b.jsxs)("div",{className:"space-y-4 p-6",children:[j&&(0,b.jsx)(ad,{message:j}),e&&(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Name (kebab-case)"}),(0,b.jsx)(T.Input,{value:c.name,onChange:a=>d({...c,name:a.target.value}),placeholder:"my-new-skill"}),(0,b.jsx)("p",{className:"mt-1 text-[10px] text-muted-foreground",children:"Lowercase letters, digits, and hyphens only. 1-64 characters."})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Description"}),(0,b.jsx)(T.Input,{value:c.description,onChange:a=>d({...c,description:a.target.value}),placeholder:"One-line description the agent reads to decide when to load this skill"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Allowed tools (optional)"}),(0,b.jsx)("textarea",{value:c.allowedTools,onChange:a=>d({...c,allowedTools:a.target.value}),className:"min-h-[80px] w-full rounded-md border border-input bg-background p-3 font-mono text-xs text-foreground focus:outline-none focus:ring-2 focus:ring-ring",placeholder:"One per line, e.g.\nBash(curl *)\nRead"}),(0,b.jsx)("p",{className:"mt-1 text-[10px] text-muted-foreground",children:"Tool matchers in Claude Code format. Leave blank to inherit the agent's defaults."})]}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("label",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"SKILL.md body"}),(0,b.jsx)("textarea",{value:c.content,onChange:a=>d({...c,content:a.target.value}),className:"min-h-[400px] w-full rounded-md border border-input bg-background p-3 font-mono text-xs text-foreground focus:outline-none focus:ring-2 focus:ring-ring",placeholder:"# Skill body Markdown content here. Frontmatter is injected automatically."})]})]})})]})}var ag=a.i(45952),ah=a.i(92241),ai=a.i(47696),aj=a.i(74794),ak=a.i(96459),al=a.i(40091);let am=[{value:"self-written",label:"Wrote it myself"},{value:"obsidian-export",label:"Exported from Obsidian"},{value:"notion-export",label:"Exported from Notion"},{value:"other",label:"Other"}],an="__auto__";function ao(){let a=(0,c.useRef)(null),[d,e]=(0,c.useState)(null),[f,g]=(0,c.useState)("self-written"),[h,j]=(0,c.useState)(an),[k,l]=(0,c.useState)(!1),[m,n]=(0,c.useState)(null),[o,p]=(0,c.useState)(null),{data:q}=(0,aj.useBackends)(),{data:r}=(0,ak.useSetupStatus)(),s=r?.needsSetup===!0,u=(0,c.useMemo)(()=>(q?.backends??[]).filter(a=>a.enabled&&a.cliInstalled&&a.models.length>0).filter(a=>"expired"!==a.authStatus&&"missing"!==a.authStatus),[q]),v=0===u.length,w=async()=>{if(d){l(!0),p(null),n(null);try{let b=new FormData;if(b.append("file",d),b.append("source",f),h!==an){let a=h.indexOf("::");a>0&&(b.append("requestedBackendId",h.slice(0,a)),b.append("requestedModelId",h.slice(a+2)))}let c=await fetch("/api/knowledge/import",{method:"POST",body:b});if(!c.ok){let a=await c.json().catch(()=>null);throw new i.ApiError(c.status,a)}let g=await c.json();n({traceId:g.traceId,filename:d.name,source:f}),e(null),a.current&&(a.current.value="")}catch(a){if(a instanceof i.ApiError){let b=a.body;p(b?.message??b?.error??`HTTP ${a.status}`)}else p(a instanceof Error?a.message:"Upload failed.")}finally{l(!1)}}};if(s)return(0,b.jsxs)("div",{className:"max-w-2xl space-y-3",children:[(0,b.jsx)("h2",{className:"text-lg font-semibold",children:"Import a file into Context Files"}),(0,b.jsxs)(S.Alert,{variant:"warning",children:["Complete the initial setup wizard first. The"," ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:"user/*.md"})," files the import targets are seeded only after you finish setup —"," ",(0,b.jsx)("a",{href:"/setup",className:"underline",children:"open setup"}),"."]})]});let x=k||v;return(0,b.jsxs)("div",{className:"max-w-2xl space-y-6",children:[(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)("h2",{className:"text-lg font-semibold",children:"Import a file into Context Files"}),(0,b.jsxs)("p",{className:"text-sm text-muted-foreground",children:["Bring a personal-info file you wrote elsewhere (an Obsidian export, a Notion export, a hand-written profile). The agent reads it once and folds its facts into the right ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:"user/*.md"})," Context Files — appending bullets verbatim, never overwriting, never paraphrasing."]}),(0,b.jsxs)("div",{className:"rounded-md border bg-card p-3 text-sm",children:[(0,b.jsx)("p",{className:"font-medium text-foreground",children:"Recommended formats"}),(0,b.jsxs)("ul",{className:"mt-1 space-y-0.5 text-muted-foreground",children:[(0,b.jsxs)("li",{children:[(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:".md"})," /"," ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:".markdown"})," — Markdown. Preferred — bullets, headings, and front-matter all carry through."]}),(0,b.jsxs)("li",{children:[(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:".txt"})," — plain text. Use when the source is unstructured prose."]})]}),(0,b.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:"These are the file types every supported execution agent — Claude Code, Codex CLI, and Gemini CLI — reads natively, so the import runs the same way no matter which backend you pick. Other formats (PDF, DOCX, HTML) are not accepted: convert to Markdown or plain text first so the agent reads exactly the bytes you intend."})]}),(0,b.jsxs)("div",{className:"rounded-md border bg-card p-3 text-sm",children:[(0,b.jsx)("p",{className:"font-medium text-foreground",children:"Where facts land"}),(0,b.jsxs)("ul",{className:"mt-1 space-y-0.5 text-muted-foreground",children:[(0,b.jsx)("li",{children:"Identity (name, timezone, language, DOB) → flagged for your confirmation, not auto-written."}),(0,b.jsxs)("li",{children:["Relationships (family, partners, close friends) → ",(0,b.jsx)("code",{children:"identity/people.md"})]}),(0,b.jsxs)("li",{children:["Work, employer, role, colleagues → ",(0,b.jsx)("code",{children:"identity/work.md"})]}),(0,b.jsxs)("li",{children:["Skills, expertise, languages spoken → ",(0,b.jsx)("code",{children:"identity/expertise.md"})]}),(0,b.jsxs)("li",{children:["Lifestyle, hobbies, preferences, health → ",(0,b.jsx)("code",{children:"identity/personal.md"})]}),(0,b.jsxs)("li",{children:["Goals, aspirations, current focus → ",(0,b.jsx)("code",{children:"identity/goals.md"})]}),(0,b.jsxs)("li",{children:["Anything else → ",(0,b.jsx)("code",{children:"identity/profile.md"})," under a Misc section."]})]})]}),(0,b.jsxs)("div",{className:"rounded-md border bg-card p-3 text-sm",children:[(0,b.jsx)("p",{className:"font-medium text-foreground",children:"Strict-fidelity guarantee"}),(0,b.jsxs)("p",{className:"mt-1 text-muted-foreground",children:["The session runs under a dedicated agent profile (",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:"profile-importer"}),") materialized into ",(0,b.jsx)("code",{children:"CLAUDE.md"})," / ",(0,b.jsx)("code",{children:"AGENTS.md"})," /"," ",(0,b.jsx)("code",{children:"GEMINI.md"})," for the chosen backend. Its top-level rule:"]}),(0,b.jsxs)("ul",{className:"mt-1 space-y-0.5 text-muted-foreground",children:[(0,b.jsxs)("li",{children:["Copy bullets ",(0,b.jsx)("strong",{children:"verbatim"})," — no paraphrase, no summary, no inference beyond the literal text."]}),(0,b.jsxs)("li",{children:["Existing bullets are never overwritten. Contradictions land in a ",(0,b.jsx)("code",{children:"## Pending Conflicts"})," section for you to resolve."]}),(0,b.jsx)("li",{children:"If a sentence is ambiguous, the agent skips it and notes the skip in its journal."})]})]}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Limits: max file size ",64,"KB (split larger files and import in pieces — strict fidelity does not scale beyond this). Files that contain private keys, API tokens, or credentials are rejected at upload time and never written to disk inside the agent’s vault."]})]}),(0,b.jsxs)("div",{className:"space-y-3 rounded-lg border bg-card p-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"mb-1.5 block text-sm font-medium",children:"File"}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("input",{ref:a,type:"file",accept:".md,.markdown,.txt",className:"hidden",onChange:a=>{let b=a.target.files?.[0]??null;if(p(null),n(null),b&&b.size>65536){p(`File is ${(b.size/1024).toFixed(1)} KB. Maximum is 64 KB — split the file and import in pieces.`),e(null),a.target.value="";return}e(b)}}),(0,b.jsxs)(t.Button,{type:"button",variant:"outline",onClick:()=>a.current?.click(),disabled:x,children:[(0,b.jsx)($.Upload,{className:"mr-1.5 h-4 w-4"}),"Choose file"]}),d&&(0,b.jsxs)("span",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[(0,b.jsx)(ag.FileText,{className:"h-3.5 w-3.5"}),d.name," (",(d.size/1024).toFixed(1)," KB)"]})]}),(0,b.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Accepts ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:".md"}),","," ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:".markdown"}),", or"," ",(0,b.jsx)("code",{className:"rounded bg-muted px-1",children:".txt"}),". Up to ",64," KB after UTF-8 encoding (Japanese / non-ASCII characters take 3 bytes each)."]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"mb-1.5 block text-sm font-medium",children:"Source"}),(0,b.jsxs)(ai.Select,{value:f,onValueChange:g,disabled:k,children:[(0,b.jsx)(ai.SelectTrigger,{className:"w-full",children:(0,b.jsx)(ai.SelectValue,{})}),(0,b.jsx)(ai.SelectContent,{children:am.map(a=>(0,b.jsx)(ai.SelectItem,{value:a.value,children:a.label},a.value))})]}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Recorded in the journal entry the import session writes when it finishes."})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"mb-1.5 block text-sm font-medium",children:"Execution agent"}),(0,b.jsxs)(ai.Select,{value:h,onValueChange:j,disabled:k||v,children:[(0,b.jsx)(ai.SelectTrigger,{className:"w-full",children:(0,b.jsx)(ai.SelectValue,{})}),(0,b.jsxs)(ai.SelectContent,{children:[(0,b.jsx)(ai.SelectItem,{value:an,children:"Use default routing"}),u.map(a=>(0,b.jsxs)(ai.SelectGroup,{children:[(0,b.jsx)(ai.SelectLabel,{children:(0,al.getBackendShortLabel)(a.id)}),a.models.map(c=>(0,b.jsx)(ai.SelectItem,{value:`${a.id}::${c.modelId}`,children:c.label},`${a.id}::${c.modelId}`))]},a.id))]})]}),v?(0,b.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["No authenticated backends — set one up under"," ",(0,b.jsx)("a",{href:"/connections/backends",className:"underline",children:"Connections → Backends"}),"."]}):(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Choose which backend runs this import. Only backends you’ve authenticated and whose CLI binary is on PATH are listed. “Use default routing” falls back to the daemon’s configured main backend."})]}),(0,b.jsx)("div",{className:"flex items-center gap-3 pt-1",children:(0,b.jsx)(t.Button,{onClick:w,disabled:!d||k||v,children:k?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(ah.Loader2,{className:"mr-1.5 h-4 w-4 animate-spin"}),"Uploading…"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)($.Upload,{className:"mr-1.5 h-4 w-4"}),"Import"]})})}),o&&(0,b.jsx)(S.Alert,{variant:"error",children:o}),m&&(0,b.jsxs)(S.Alert,{variant:"success",children:["Import accepted — the agent is processing"," ",(0,b.jsx)("strong",{children:m.filename}),". Watch progress in"," ",(0,b.jsxs)("a",{href:`/activity?correlationId=${encodeURIComponent(m.traceId)}`,className:"underline",children:["Activity (trace ",m.traceId.slice(0,8),")"]})," ","and review the resulting bullets in"," ",(0,b.jsx)("a",{href:"/knowledge?tab=context-files",className:"underline",children:"Context Files"})," ","once the run finishes."]})]})]})}var ap=a.i(6236),aq=a.i(84478);a.i(70010);var ar=a.i(27085);function as(a){if(!a)return[];let b=new Map;for(let c of a){let a=(0,ar.normalizeAppLabel)(c.app),d=b.get(a);d?d.count+=1:b.set(a,{normalized:a,label:c.app,count:1,status:"active"})}return Array.from(b.values()).sort((a,b)=>a.label.localeCompare(b.label))}var at=a.i(30400),au=a.i(27727),av=a.i(41010);let aw=(0,g.default)(async()=>{},{loadableGenerated:{modules:[37023]},ssr:!1,loading:()=>(0,b.jsx)("div",{className:"space-y-2 py-2",children:Array.from({length:5}).map((a,c)=>(0,b.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${65+11*c%30}%`}},c))})});function ax(){let a=(0,aq.useManagedTasks)(),d=(0,k.useQuery)({queryKey:["activity-sources"],queryFn:()=>i.api.get("/activity-sources"),staleTime:6e4}),e=(0,c.useMemo)(()=>(function(a,b){if(!b||0===b.length)return a;let c=new Map;for(let b of a)c.set(b.normalized,b);for(let a of b)c.has(a.normalized)||c.set(a.normalized,{normalized:a.normalized,label:a.label,count:0,status:a.status});return Array.from(c.values()).sort((a,b)=>a.label.localeCompare(b.label))})(as(a.data?.items),d.data?.items),[a.data,d.data]),[f,g]=(0,c.useState)(null),h=f??e.find(a=>"active"===a.status)?.normalized??e[0]?.normalized??null;return(0,b.jsxs)("div",{className:"grid h-full grid-cols-1 gap-4 md:grid-cols-[16rem_1fr]",children:[(0,b.jsxs)(at.Card,{className:"flex h-full min-h-0 flex-col p-3",children:[(0,b.jsx)("h3",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Sources"}),(0,b.jsx)(av.QueryResult,{isLoading:a.isLoading,isError:a.isError,error:a.error,onRetry:()=>a.refetch(),children:0===e.length?(0,b.jsx)(au.EmptyState,{icon:ap.Activity,title:"No sources",description:"Active managed tasks define which sources have an activity view."}):(0,b.jsx)(r.ScrollArea,{className:"min-h-0 flex-1",children:(0,b.jsx)("ul",{className:"space-y-0.5",children:e.map(a=>{let c=a.normalized===h,d="stopped"===a.status;return(0,b.jsx)("li",{children:(0,b.jsxs)("button",{type:"button",onClick:()=>g(a.normalized),className:(0,w.cn)("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm transition-colors",c?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-accent hover:text-foreground",d&&!c&&"opacity-70"),title:d?"Stopped — kept for the 90-day activity window.":void 0,children:[(0,b.jsx)(ag.FileText,{className:"h-3.5 w-3.5 shrink-0"}),(0,b.jsx)("span",{className:"flex-1 truncate",children:a.label}),d?(0,b.jsx)(s.Badge,{variant:"amber",className:"shrink-0 text-[10px]",children:"stopped"}):(0,b.jsx)(s.Badge,{variant:"gray",className:"shrink-0",children:a.count})]})},a.normalized)})})})})]}),(0,b.jsx)(at.Card,{className:"flex h-full min-h-0 flex-col p-4",children:h?(0,b.jsx)(ay,{source:h}):(0,b.jsx)(au.EmptyState,{icon:ap.Activity,title:"No source selected",description:"Pick a source on the left to view its activity log."})})]})}function ay({source:a}){let d=`state/activity/${a}.md`,e=(0,j.useContextFile)(d),f=m(d),[g,h]=(0,c.useState)(!1);return e.isLoading?(0,b.jsx)("div",{className:"space-y-2 py-2",children:Array.from({length:5}).map((a,c)=>(0,b.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${50+11*c%30}%`}},c))}):e.error?404===e.error?.status?(0,b.jsx)(au.EmptyState,{icon:C.Clock,title:"No activity recorded yet",description:"The activity-view reconciler will produce "+d+" after the next scheduled run."}):(0,b.jsxs)("p",{className:"text-sm text-destructive",children:["Failed to load: ",e.error.message]}):e.data?(0,b.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,b.jsxs)("div",{className:"mb-3 flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:(0,b.jsx)("code",{className:"font-mono text-xs",children:d})}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:["Auto-generated · last modified"," ",(0,w.formatRelativeTime)(e.data.lastModified)]})]}),f.data&&f.data.snapshots.length>0&&(0,b.jsx)(t.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>h(a=>!a),children:g?"Hide history":`Show history (${f.data.snapshots.length})`})]}),g&&f.data&&(0,b.jsx)(az,{snapshots:f.data.snapshots}),(0,b.jsx)(r.ScrollArea,{className:"min-h-0 flex-1",children:(0,b.jsx)(aw,{content:e.data.content})})]}):null}function az({snapshots:a}){return(0,b.jsx)("ul",{className:"mb-3 space-y-1 rounded-md border border-border/40 bg-muted/30 p-2 text-[11px]",children:a.slice(0,10).map(a=>(0,b.jsxs)("li",{className:"flex items-center justify-between gap-2 px-1 py-0.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:(0,w.formatRelativeTime)(a.created_at)}),(0,b.jsx)("span",{className:"text-muted-foreground/70",children:a.trigger})]},a.id))})}let aA=(0,y.default)("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);var aB=a.i(93637),aC=a.i(87648);let aD=(0,g.default)(async()=>{},{loadableGenerated:{modules:[37023]},ssr:!1,loading:()=>(0,b.jsx)("div",{className:"space-y-2 py-2",children:Array.from({length:5}).map((a,c)=>(0,b.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${65+11*c%30}%`}},c))})});function aE(){let[a,d]=(0,c.useState)("source");return(0,b.jsxs)("div",{className:"flex h-full min-h-0 flex-col gap-4",children:[(0,b.jsx)(at.Card,{className:"p-3",children:(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(aB.Filter,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsxs)("div",{className:"flex items-center gap-1 rounded-md border border-border bg-background p-0.5",children:[(0,b.jsx)("button",{type:"button",onClick:()=>d("source"),className:(0,w.cn)("rounded px-2.5 py-1 text-xs transition-colors","source"===a?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:"By source"}),(0,b.jsx)("button",{type:"button",onClick:()=>d("domain"),className:(0,w.cn)("rounded px-2.5 py-1 text-xs transition-colors","domain"===a?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:"By domain"})]})]})}),"source"===a?(0,b.jsx)(aF,{}):(0,b.jsx)(aG,{})]})}function aF(){let a=(0,aq.useManagedTasks)(),d=(0,c.useMemo)(()=>as(a.data?.items),[a.data]),[e,f]=(0,c.useState)(null),g=e??d[0]?.normalized??null,h=function(a,b=100){return(0,k.useQuery)({queryKey:["entities-by-source",a,b],queryFn:()=>i.api.get("/entities",{source:a,limit:b}),enabled:!!a,staleTime:3e4,placeholderData:aC.keepPreviousData})}(g,200);return(0,b.jsx)(aH,{sidebar:(0,b.jsxs)(at.Card,{className:"flex h-full min-h-0 flex-col p-3",children:[(0,b.jsx)("h3",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Sources"}),(0,b.jsx)(av.QueryResult,{isLoading:a.isLoading,isError:a.isError,error:a.error,onRetry:()=>a.refetch(),children:0===d.length?(0,b.jsx)(au.EmptyState,{icon:aA,title:"No sources",description:"Register a managed task first."}):(0,b.jsx)(r.ScrollArea,{className:"min-h-0 flex-1",children:(0,b.jsx)("ul",{className:"space-y-0.5",children:d.map(a=>{let c=a.normalized===g;return(0,b.jsx)("li",{children:(0,b.jsxs)("button",{type:"button",onClick:()=>f(a.normalized),className:(0,w.cn)("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm transition-colors",c?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,b.jsx)("span",{className:"flex-1 truncate",children:a.label}),(0,b.jsx)(s.Badge,{variant:"gray",className:"shrink-0",children:a.count})]})},a.normalized)})})})})]}),content:(0,b.jsx)(aI,{query:h,emptyTitle:"No entities tagged yet",emptyDescription:"Once the scheduled-managed-task skill runs, entity files appear here."})})}function aG(){let a=(0,c.useMemo)(()=>new Date().toISOString().slice(0,10),[]),[d,e]=(0,c.useState)("work"),[f,g]=(0,c.useState)("meeting"),[h,j]=(0,c.useState)(a),[l,m]=(0,c.useState)(""),n=function(a){let{domain:b,type:c,date:d,q:e,limit:f}=a,g=!!b&&!!c&&!!d;return(0,k.useQuery)({queryKey:["entities-by-domain-type-date",b,c,d,e,f],queryFn:()=>i.api.get("/entities",{domain:b,type:c,date:d,...e?{q:e}:{},...f?{limit:f}:{}}),enabled:g,staleTime:3e4,placeholderData:aC.keepPreviousData})}({domain:d,type:f,date:h,q:l.trim()?l.trim():void 0,limit:100});return(0,b.jsx)(aH,{sidebar:(0,b.jsxs)(at.Card,{className:"flex h-full min-h-0 flex-col gap-3 p-3",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium",htmlFor:"filter-domain",children:"Domain"}),(0,b.jsxs)(ai.Select,{value:d,onValueChange:a=>e(a),children:[(0,b.jsx)(ai.SelectTrigger,{id:"filter-domain",className:"h-8 text-xs",children:(0,b.jsx)(ai.SelectValue,{})}),(0,b.jsx)(ai.SelectContent,{children:ar.DOMAINS.map(a=>(0,b.jsx)(ai.SelectItem,{value:a,children:a},a))})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium",htmlFor:"filter-type",children:"Type"}),(0,b.jsxs)(ai.Select,{value:f,onValueChange:a=>g(a),children:[(0,b.jsx)(ai.SelectTrigger,{id:"filter-type",className:"h-8 text-xs",children:(0,b.jsx)(ai.SelectValue,{})}),(0,b.jsx)(ai.SelectContent,{children:ar.ENTITY_TYPES.map(a=>(0,b.jsx)(ai.SelectItem,{value:a,children:ar.TYPE_PLURALS[a]},a))})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium",htmlFor:"filter-date",children:"Date"}),(0,b.jsx)(T.Input,{id:"filter-date",type:"date",value:h,onChange:a=>j(a.target.value)})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium",htmlFor:"filter-q",children:"Title contains"}),(0,b.jsx)(T.Input,{id:"filter-q",type:"search",value:l,onChange:a=>m(a.target.value),placeholder:"optional"})]})]}),content:(0,b.jsx)(aI,{query:n,emptyTitle:"No matches",emptyDescription:`No entities under ${d}/${ar.TYPE_PLURALS[f]} on ${h}.`})})}function aH({sidebar:a,content:c}){return(0,b.jsxs)("div",{className:"grid min-h-0 flex-1 grid-cols-1 gap-4 md:grid-cols-[18rem_1fr]",children:[a,c]})}function aI({query:a,emptyTitle:d,emptyDescription:e}){let[f,g]=(0,c.useState)(null);return(0,b.jsx)(at.Card,{className:"flex h-full min-h-0 flex-col p-0",children:(0,b.jsxs)("div",{className:"grid min-h-0 flex-1 grid-cols-1 md:grid-cols-2",children:[(0,b.jsxs)("div",{className:"flex min-h-0 flex-col border-b border-border md:border-b-0 md:border-r",children:[(0,b.jsxs)("div",{className:"border-b border-border px-3 py-2 text-[11px] uppercase tracking-wide text-muted-foreground",children:["Results ",a.data?`(${a.data.items.length})`:""]}),(0,b.jsx)("div",{className:"min-h-0 flex-1",children:(0,b.jsx)(av.QueryResult,{isLoading:a.isLoading,isError:a.isError,error:a.error,onRetry:()=>a.refetch(),children:a.data&&0!==a.data.items.length?(0,b.jsx)(r.ScrollArea,{className:"h-full",children:(0,b.jsx)("ul",{className:"divide-y divide-border/40",children:a.data.items.map(a=>(0,b.jsx)("li",{children:(0,b.jsxs)("button",{type:"button",onClick:()=>g(a.path),className:(0,w.cn)("flex w-full flex-col gap-0.5 px-3 py-2 text-left text-sm transition-colors",f===a.path?"bg-primary/10 text-primary":"hover:bg-accent"),children:[(0,b.jsxs)("span",{className:"flex items-start gap-2",children:[(0,b.jsx)(ag.FileText,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"flex-1 truncate font-medium",children:a.title}),a.status&&(0,b.jsx)(s.Badge,{variant:"gray",className:"shrink-0",children:a.status})]}),(0,b.jsx)("span",{className:"ml-5 truncate text-[11px] text-muted-foreground",children:(0,b.jsx)("code",{children:a.path})}),Object.keys(a.sources).length>0&&(0,b.jsx)("span",{className:"ml-5 flex flex-wrap gap-1",children:Object.keys(a.sources).map(a=>(0,b.jsx)(s.Badge,{variant:"blue",className:"text-[10px]",children:a},a))})]})},a.path))})}):(0,b.jsx)(au.EmptyState,{icon:aA,title:d,description:e})})})]}),(0,b.jsx)("div",{className:"flex min-h-0 flex-col",children:f?(0,b.jsx)(aJ,{path:f}):(0,b.jsx)(au.EmptyState,{icon:ag.FileText,title:"No entity selected",description:"Pick a result on the left to view the underlying MD file.",className:"py-8"})})]})})}function aJ({path:a}){let c=a.endsWith(".md")?a.slice(0,-3):a,d=(0,j.useContextFile)(c);return d.isLoading?(0,b.jsx)("div",{className:"space-y-2 p-4",children:Array.from({length:5}).map((a,c)=>(0,b.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${50+11*c%30}%`}},c))}):d.error?404===d.error?.status?(0,b.jsx)(au.EmptyState,{icon:ag.FileText,title:"Mirror is stale",description:`The entity file at ${a} was deleted but the mirror still has the row. The watcher should reconcile shortly.`}):(0,b.jsxs)("p",{className:"p-4 text-sm text-destructive",children:["Failed to load: ",d.error.message]}):d.data?(0,b.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,b.jsxs)("div",{className:"border-b border-border px-3 py-2",children:[(0,b.jsx)("code",{className:"font-mono text-[11px] text-muted-foreground",children:a}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground/70",children:["Last modified ",(0,w.formatRelativeTime)(d.data.lastModified)]})]}),(0,b.jsx)(r.ScrollArea,{className:"min-h-0 flex-1",children:(0,b.jsx)("div",{className:"p-4",children:(0,b.jsx)(aD,{content:d.data.content})})})]}):null}let aK={"context-files":"Markdown notes the agent loads on each run — its long-term memory.",skills:"Per-event-type behavioral guides materialized into the session workdir.",activity:"Per-source aggregates written by the management registry.",entities:"Structured records (people, organizations, projects) filterable by source, domain, type, or date.",upload:"Ingest a Markdown or text file; facts are folded into the right Context Files by topic."};function aL(){let a=(0,d.useSearchParams)(),g=(0,d.useRouter)(),h=a.get("tab")??"context-files",i=(0,c.useRef)(null),j=async a=>{("context-files"!==h||"context-files"===a||await i.current?.confirmDiscard())&&g.replace(`/knowledge?tab=${a}`,{scroll:!1})};return(0,b.jsxs)("div",{className:"flex h-full flex-col p-6",children:[(0,b.jsx)(f.PageHeader,{className:"mb-3",title:"Knowledge",description:aK[h]}),(0,b.jsxs)(e.Tabs,{value:h,onValueChange:j,className:"flex min-h-0 flex-1 flex-col",children:[(0,b.jsxs)(e.TabsList,{className:"w-fit",children:[(0,b.jsx)(e.TabsTrigger,{value:"context-files",children:"Context Files"}),(0,b.jsx)(e.TabsTrigger,{value:"skills",children:"Skills"}),(0,b.jsx)(e.TabsTrigger,{value:"activity",children:"Activity"}),(0,b.jsx)(e.TabsTrigger,{value:"entities",children:"Entities"}),(0,b.jsx)(e.TabsTrigger,{value:"upload",children:"Upload"})]}),(0,b.jsx)(e.TabsContent,{value:"context-files",className:"mt-4 min-h-0 flex-1",children:(0,b.jsx)(Q,{ref:i})}),(0,b.jsx)(e.TabsContent,{value:"skills",className:"mt-4 min-h-0 flex-1",children:(0,b.jsx)(aa,{})}),(0,b.jsx)(e.TabsContent,{value:"activity",className:"mt-4 min-h-0 flex-1",children:(0,b.jsx)(ax,{})}),(0,b.jsx)(e.TabsContent,{value:"entities",className:"mt-4 min-h-0 flex-1",children:(0,b.jsx)(aE,{})}),(0,b.jsx)(e.TabsContent,{value:"upload",className:"mt-4 min-h-0 flex-1 overflow-y-auto",children:(0,b.jsx)(ao,{})})]})]})}a.s(["default",0,function(){return(0,b.jsx)(c.Suspense,{children:(0,b.jsx)(aL,{})})}],22287)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_dashboard_src_app_knowledge_page_tsx_0uf4..4._.js.map
|