panoma 0.10.6 → 0.12.0
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/README.md +18 -1
- package/THIRD-PARTY-NOTICES.md +11 -11
- package/app/BUILD-INFO.json +2 -2
- package/app/apps/web/.next-bundle/BUILD_ID +1 -1
- package/app/apps/web/.next-bundle/app-build-manifest.json +412 -332
- package/app/apps/web/.next-bundle/app-path-routes-manifest.json +49 -38
- package/app/apps/web/.next-bundle/build-manifest.json +3 -3
- package/app/apps/web/.next-bundle/prerender-manifest.json +9 -9
- package/app/apps/web/.next-bundle/required-server-files.json +3 -3
- package/app/apps/web/.next-bundle/server/app/(app)/agents/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/agents/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/ai/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/ai/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/apps/[id]/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/apps/[id]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/apps/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/apps/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/bridge/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/bridge/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/copies/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/copies/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/credentials/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/credentials/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/disk/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/disk/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/handoff/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/handoff/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/hidden/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/hidden/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/p/[slug]/page.js +9 -2
- package/app/apps/web/.next-bundle/server/app/(app)/p/[slug]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/p/[slug]/video/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/p/[slug]/video/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/packages/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/packages/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/runs/[id]/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/runs/[id]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/runs/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/runs/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/search/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/search/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/spend/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/spend/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/twin/look/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/twin/look/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/twin/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/twin/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/unsaved/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/unsaved/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/_not-found/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/accounts/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/accounts/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/apps/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/apps/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/consult/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/consult/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/context/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/context/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/conversations/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/conversations/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/handoff/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/handoff/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/hello/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/hello/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/journal/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/journal/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/keys/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/keys/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/log/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/log/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/mcp/route.js +2 -2
- package/app/apps/web/.next-bundle/server/app/api/agent/mcp/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/notes/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/notes/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/tasks/[id]/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/tasks/[id]/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/tasks/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/tasks/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/video/cancel/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/video/cancel/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/video/jobs/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/video/jobs/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/video/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/video/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/ai/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/ai/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/[id]/[operation]/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/[id]/[operation]/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/[id]/credentials/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/[id]/credentials/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/[id]/jobs/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/[id]/jobs/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/[id]/legal/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/[id]/legal/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/[id]/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/[id]/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/[id]/settings/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/[id]/settings/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/jobs/[jobId]/artifact/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/jobs/[jobId]/artifact/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/jobs/[jobId]/cancel/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/jobs/[jobId]/cancel/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/jobs/[jobId]/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/jobs/[jobId]/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/apps/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/assets/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/assets/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/assignments/launch/route.js +3 -3
- package/app/apps/web/.next-bundle/server/app/api/assignments/launch/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/assignments/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/assignments/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/catalog/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/catalog/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/check/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/check/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/consultations/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/consultations/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/describe/route.js +2 -2
- package/app/apps/web/.next-bundle/server/app/api/describe/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/disk/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/disk/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/enrich/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/enrich/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/environment/route.js +2 -2
- package/app/apps/web/.next-bundle/server/app/api/environment/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/handoff/[id]/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/handoff/[id]/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/handoff/digest/route.js +2 -1
- package/app/apps/web/.next-bundle/server/app/api/handoff/digest/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/handoff/launch/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/handoff/launch/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/handoff/record/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/handoff/record/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/handoff/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/handoff/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/hook/context/route.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/hook/context/route_client-reference-manifest.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/hook/session/route.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/hook/session/route_client-reference-manifest.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/hooks/route.js +1 -2
- package/app/apps/web/.next-bundle/server/app/api/hooks/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/ingest/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/ingest/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/md/apply/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/md/apply/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/md/context/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/md/context/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/md/inspect/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/md/inspect/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/md/repair/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/md/repair/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/md/review/route.js +3 -3
- package/app/apps/web/.next-bundle/server/app/api/md/review/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/memory/backfill/route.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/memory/backfill/route_client-reference-manifest.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/memory/cases/route.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/memory/cases/route_client-reference-manifest.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/memory/checks/route.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/memory/checks/route_client-reference-manifest.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/memory/commitments/route.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/memory/commitments/route_client-reference-manifest.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/memory/export/route.js +2 -2
- package/app/apps/web/.next-bundle/server/app/api/memory/export/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/memory/jobs/route.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/memory/jobs/route_client-reference-manifest.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/memory/outcomes/route.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/memory/outcomes/route_client-reference-manifest.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/memory/purge/route.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/memory/purge/route_client-reference-manifest.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/memory/status/route.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/memory/status/route_client-reference-manifest.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/memory/withdraw/route.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/memory/withdraw/route_client-reference-manifest.js +1 -0
- package/app/apps/web/.next-bundle/server/app/api/north/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/north/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/notes/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/notes/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/open/all/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/open/all/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/open/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/open/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/project/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/project/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/rescan/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/rescan/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/roots/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/roots/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/runs/[id]/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/runs/[id]/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/runs/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/runs/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/scale/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/scale/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/search/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/secrets/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/secrets/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/spend/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/spend/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/tasks/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/tasks/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/today/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/today/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/assign/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/assign/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/classify/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/classify/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/critique/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/critique/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/design/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/design/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/distill/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/distill/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/episodes/learn/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/episodes/learn/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/episodes/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/episodes/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/look/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/look/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/mine/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/mine/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/rehearse/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/rehearse/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/score/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/score/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/shot/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/shot/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/sources/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/sources/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/synthesize/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/synthesize/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/taste/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/taste/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/verdicts/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/verdicts/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/watch/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/watch/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/apple-icon.png/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/icon/[id]/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/icon/[id]/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/icon.png/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app-paths-manifest.json +49 -38
- package/app/apps/web/.next-bundle/server/chunks/1190.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/1597.js +1 -0
- package/app/apps/web/.next-bundle/server/chunks/1646.js +5 -5
- package/app/apps/web/.next-bundle/server/chunks/1801.js +25 -0
- package/app/apps/web/.next-bundle/server/chunks/2455.js +2 -2
- package/app/apps/web/.next-bundle/server/chunks/2658.js +2 -2
- package/app/apps/web/.next-bundle/server/chunks/305.js +3 -3
- package/app/apps/web/.next-bundle/server/chunks/329.js +2 -1
- package/app/apps/web/.next-bundle/server/chunks/3347.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/3351.js +265 -0
- package/app/apps/web/.next-bundle/server/chunks/354.js +1 -0
- package/app/apps/web/.next-bundle/server/chunks/3834.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/3896.js +2 -2
- package/app/apps/web/.next-bundle/server/chunks/419.js +39 -0
- package/app/apps/web/.next-bundle/server/chunks/4478.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/4528.js +2 -2
- package/app/apps/web/.next-bundle/server/chunks/4810.js +4 -4
- package/app/apps/web/.next-bundle/server/chunks/5103.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/5142.js +2 -0
- package/app/apps/web/.next-bundle/server/chunks/5670.js +1 -0
- package/app/apps/web/.next-bundle/server/chunks/5700.js +1 -0
- package/app/apps/web/.next-bundle/server/chunks/5780.js +1 -0
- package/app/apps/web/.next-bundle/server/chunks/6182.js +1 -0
- package/app/apps/web/.next-bundle/server/chunks/6259.js +1 -0
- package/app/apps/web/.next-bundle/server/chunks/6607.js +3 -0
- package/app/apps/web/.next-bundle/server/chunks/697.js +1 -0
- package/app/apps/web/.next-bundle/server/chunks/7011.js +3 -3
- package/app/apps/web/.next-bundle/server/chunks/7230.js +1 -0
- package/app/apps/web/.next-bundle/server/chunks/7245.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/7365.js +1 -0
- package/app/apps/web/.next-bundle/server/chunks/7711.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/8345.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/8726.js +2 -0
- package/app/apps/web/.next-bundle/server/chunks/8752.js +1 -0
- package/app/apps/web/.next-bundle/server/chunks/9006.js +2 -2
- package/app/apps/web/.next-bundle/server/chunks/9088.js +1 -0
- package/app/apps/web/.next-bundle/server/chunks/9226.js +2 -2
- package/app/apps/web/.next-bundle/server/chunks/9483.js +1 -0
- package/app/apps/web/.next-bundle/server/chunks/9511.js +11 -11
- package/app/apps/web/.next-bundle/server/chunks/993.js +1 -1
- package/app/apps/web/.next-bundle/server/functions-config-manifest.json +16 -16
- package/app/apps/web/.next-bundle/server/middleware-build-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/middleware-manifest.json +5 -5
- package/app/apps/web/.next-bundle/server/middleware.js +2 -2
- package/app/apps/web/.next-bundle/server/next-font-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/next-font-manifest.json +1 -1
- package/app/apps/web/.next-bundle/server/pages/500.html +1 -1
- package/app/apps/web/.next-bundle/server/pages-manifest.json +1 -1
- package/app/apps/web/.next-bundle/server/server-reference-manifest.json +1 -1
- package/app/apps/web/.next-bundle/static/chunks/2575-d138c26dd227bf52.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/4189-e59247c25409a53c.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/8642-472b9febb38ec8c6.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/agents/{page-76d381b0aa39b279.js → page-a19455222ac9e976.js} +1 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/ai/{page-07c3cc6ca6b8bc93.js → page-dde6ed0eac167dcb.js} +1 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/apps/[id]/{page-18d0bcd4b639402b.js → page-0eed1b295a345311.js} +1 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/apps/page-a3517277a7f09829.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/bridge/page-ff373e8dc74e8cba.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/copies/page-8c189dce34f1bbb5.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/credentials/{page-2930763383699b23.js → page-29e118f90cfe642c.js} +1 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/disk/page-bccfbd2a1c476813.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/error-e25ff9cacb98a443.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/handoff/page-abc28ddff96a4dfc.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/hidden/{page-dd60c69f6089ba90.js → page-401ac06d263203dc.js} +1 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/{layout-7feeb43705a48a0c.js → layout-39119aafbe1c5588.js} +1 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/p/[slug]/page-bcc12dede3d52626.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/p/[slug]/video/{page-6331e2e61e680bbc.js → page-307209752cecf844.js} +1 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/packages/page-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/page-22bb160dc9e27c36.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/runs/[id]/page-bcc7ba51163e4b4c.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/runs/page-8c189dce34f1bbb5.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/search/page-f42b10666363eab8.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/spend/page-9910889e55eedc72.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/twin/look/page-242be23e87ece570.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/twin/page-1e6d828e421360c9.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/unsaved/page-048e9259737b53c3.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/_not-found/page-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/accounts/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/apps/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/consult/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/context/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/conversations/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/handoff/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/hello/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/journal/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/keys/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/log/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/mcp/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/notes/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/tasks/[id]/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/tasks/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/video/cancel/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/video/jobs/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/video/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/ai/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/[id]/[operation]/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/[id]/credentials/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/[id]/jobs/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/[id]/legal/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/[id]/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/[id]/settings/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/jobs/[jobId]/artifact/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/jobs/[jobId]/cancel/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/jobs/[jobId]/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/assets/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/assignments/launch/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/assignments/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/catalog/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/check/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/consultations/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/describe/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/disk/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/enrich/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/environment/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/handoff/[id]/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/handoff/digest/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/handoff/launch/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/handoff/record/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/handoff/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/hook/context/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/hook/session/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/hooks/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/ingest/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/md/apply/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/md/context/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/md/inspect/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/md/repair/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/md/review/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/memory/backfill/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/memory/cases/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/memory/checks/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/memory/commitments/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/memory/export/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/memory/jobs/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/memory/outcomes/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/memory/purge/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/memory/status/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/memory/withdraw/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/north/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/notes/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/open/all/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/open/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/project/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/rescan/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/roots/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/runs/[id]/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/runs/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/scale/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/search/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/secrets/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/spend/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/tasks/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/today/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/assign/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/classify/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/critique/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/design/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/distill/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/episodes/learn/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/episodes/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/look/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/mine/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/rehearse/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/score/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/shot/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/sources/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/synthesize/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/taste/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/verdicts/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/api/watch/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/global-not-found-8c189dce34f1bbb5.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/icon/[id]/route-2b813a95202340b0.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/not-found-8c189dce34f1bbb5.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/main-app-cbf560c4fd46e89d.js +1 -0
- package/app/apps/web/.next-bundle/static/css/de9ca9adb4d104cf.css +1 -0
- package/app/apps/web/.next-bundle/static/xmmOASVL-XuXjHd9elXeS/_buildManifest.js +1 -0
- package/app/apps/web/server.js +1 -1
- package/app/node_modules/@panoma/core/dist/{chunk-K7PVKWYL.js → chunk-IFQJMR6Q.js} +8 -0
- package/app/node_modules/@panoma/core/dist/index.d.ts +1351 -8
- package/app/node_modules/@panoma/core/dist/index.js +3415 -301
- package/app/node_modules/@panoma/core/dist/untrusted.d.ts +16 -1
- package/app/node_modules/@panoma/core/dist/untrusted.js +5 -1
- package/app/node_modules/@panoma/db/dist/{chunk-VTHU57AZ.js → chunk-FLMCC47R.js} +669 -18
- package/app/node_modules/@panoma/db/dist/{client-B2H4A_7h.d.ts → client-BqCpSRUf.d.ts} +3978 -359
- package/app/node_modules/@panoma/db/dist/client.d.ts +1 -1
- package/app/node_modules/@panoma/db/dist/client.js +1 -1
- package/app/node_modules/@panoma/db/dist/index.d.ts +3403 -70
- package/app/node_modules/@panoma/db/dist/index.js +9204 -3018
- package/app/node_modules/@panoma/db/migrations/0064_memory_contract_a.sql +227 -0
- package/app/node_modules/@panoma/db/migrations/0065_memory_capture_b.sql +85 -0
- package/app/node_modules/@panoma/db/migrations/0066_memory_checks_c.sql +62 -0
- package/app/node_modules/@panoma/db/migrations/0067_twin_contextual_d.sql +19 -0
- package/app/node_modules/@panoma/db/migrations/0068_observation_kinds_d.sql +9 -0
- package/app/node_modules/@panoma/db/migrations/0069_memory_usage_quota.sql +14 -0
- package/app/node_modules/@panoma/db/migrations/0070_memory_storage_reservations.sql +3 -0
- package/app/node_modules/@panoma/db/migrations/0071_memory_backfill_permissions.sql +1 -0
- package/app/node_modules/@panoma/db/migrations/meta/0064_snapshot.json +5846 -0
- package/app/node_modules/@panoma/db/migrations/meta/0065_snapshot.json +6416 -0
- package/app/node_modules/@panoma/db/migrations/meta/0066_snapshot.json +6868 -0
- package/app/node_modules/@panoma/db/migrations/meta/0067_snapshot.json +6966 -0
- package/app/node_modules/@panoma/db/migrations/meta/0068_snapshot.json +6982 -0
- package/app/node_modules/@panoma/db/migrations/meta/0069_snapshot.json +7038 -0
- package/app/node_modules/@panoma/db/migrations/meta/0070_snapshot.json +7049 -0
- package/app/node_modules/@panoma/db/migrations/meta/0071_snapshot.json +7055 -0
- package/app/node_modules/@panoma/db/migrations/meta/_journal.json +56 -0
- package/app/node_modules/@panoma/handoff/dist/index.d.ts +16 -1
- package/app/node_modules/@panoma/handoff/dist/index.js +73 -29
- package/app/node_modules/@panoma/mcp/dist/index.js +358 -111
- package/app/node_modules/drizzle-orm/node_modules/.bin/gel +3 -3
- package/dist/{ai-command-QEXAVD5A.js → ai-command-KHHP7M3P.js} +4 -4
- package/dist/{apps-FBC65DRJ.js → apps-JIBB353S.js} +5 -4
- package/dist/brief-QRIDN6ND.js +37 -0
- package/dist/{check-command-GBIFTYMC.js → check-command-RADN7EQ2.js} +7 -5
- package/dist/chunk-6L6WBPRZ.js +37 -0
- package/dist/{chunk-U2FAFPLA.js → chunk-B2CTFPQP.js} +5 -3
- package/dist/{chunk-CTWQQWH7.js → chunk-KZILTAZL.js} +183 -2
- package/dist/chunk-R4EMO3Y2.js +196 -0
- package/dist/{chunk-3T3WTSPS.js → chunk-RD7TE2IA.js} +3397 -295
- package/dist/{chunk-R3D5NBHW.js → chunk-T7S3VVFE.js} +48 -79
- package/dist/{chunk-FI2ZMO24.js → chunk-UHJA5TUC.js} +6 -4
- package/dist/{chunk-6RVG2VUY.js → chunk-YSBWHGBC.js} +1 -1
- package/dist/{chunk-TXXI7WVK.js → chunk-ZRNEAPVY.js} +46 -8
- package/dist/{dist-PQLBVRZQ.js → dist-BEOOOTZA.js} +213 -1
- package/dist/{dist-F3N6LCV6.js → dist-MOQYZ63O.js} +2 -2
- package/dist/{dist-RNXJD4VL.js → dist-QLMIOHJR.js} +1 -1
- package/dist/{handoff-command-LT7XVHWZ.js → handoff-command-EMWYQVOX.js} +108 -44
- package/dist/index.js +182 -74
- package/dist/{md-command-QFRCVG3N.js → md-command-4DLP6YD6.js} +6 -4
- package/dist/memory-command-WNZOQUPW.js +770 -0
- package/dist/{next-command-PUKTGFHC.js → next-command-RKJV6BCU.js} +7 -5
- package/dist/{north-command-GFPTPOXX.js → north-command-ZZ3TWEDY.js} +7 -5
- package/dist/{review-command-AMGBA6JJ.js → review-command-7UOAO3SN.js} +2 -2
- package/dist/{spend-command-7KF2TMUR.js → spend-command-NQ5LQLIH.js} +6 -4
- package/dist/{twin-command-K42J3VLZ.js → twin-command-M4ENHXMZ.js} +50 -13
- package/dist/{video-UUJXJTLD.js → video-AFYY2VSI.js} +9 -8
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/app/apps/web/.next-bundle/server/chunks/1214.js +0 -217
- package/app/apps/web/.next-bundle/server/chunks/4350.js +0 -2
- package/app/apps/web/.next-bundle/server/chunks/4498.js +0 -12
- package/app/apps/web/.next-bundle/server/chunks/6913.js +0 -21
- package/app/apps/web/.next-bundle/server/chunks/715.js +0 -1
- package/app/apps/web/.next-bundle/server/chunks/7400.js +0 -3
- package/app/apps/web/.next-bundle/server/chunks/9128.js +0 -1
- package/app/apps/web/.next-bundle/server/chunks/9938.js +0 -1
- package/app/apps/web/.next-bundle/static/XbGco2Ho8DdunSxNkVKkD/_buildManifest.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/2575-a163738048526310.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/4189-0adcbb5b786fe4ed.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/apps/page-d6312405991c1921.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/bridge/page-3c6886ca6a72ce18.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/copies/page-b48037425ab46c7f.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/disk/page-d4b1b4bb4e4def5a.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/error-3133e3b7faa53a08.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/handoff/page-23c3a56e7bf631de.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/p/[slug]/page-207f0cb46059ab83.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/packages/page-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/page-441ec93d677f1096.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/runs/[id]/page-e878d113de303761.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/runs/page-b48037425ab46c7f.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/search/page-f3e862654c322c66.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/spend/page-f1b45f3417a3c6a2.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/twin/look/page-0b1b12da6581fb8d.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/twin/page-055886faf8bbd7b4.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/unsaved/page-9a941ccea2f1d762.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/_not-found/page-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/accounts/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/apps/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/consult/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/context/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/conversations/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/handoff/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/hello/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/journal/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/keys/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/log/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/mcp/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/notes/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/tasks/[id]/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/tasks/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/video/cancel/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/video/jobs/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/agent/video/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/ai/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/[id]/[operation]/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/[id]/credentials/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/[id]/jobs/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/[id]/legal/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/[id]/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/[id]/settings/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/jobs/[jobId]/artifact/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/jobs/[jobId]/cancel/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/jobs/[jobId]/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/apps/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/assets/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/assignments/launch/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/assignments/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/catalog/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/check/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/consultations/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/describe/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/disk/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/enrich/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/environment/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/handoff/[id]/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/handoff/digest/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/handoff/launch/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/handoff/record/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/handoff/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/hooks/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/ingest/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/md/apply/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/md/context/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/md/inspect/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/md/repair/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/md/review/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/memory/export/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/north/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/notes/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/open/all/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/open/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/project/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/rescan/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/roots/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/runs/[id]/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/runs/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/scale/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/search/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/secrets/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/spend/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/tasks/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/today/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/assign/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/classify/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/critique/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/design/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/distill/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/episodes/learn/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/episodes/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/look/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/mine/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/rehearse/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/score/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/shot/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/sources/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/synthesize/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/taste/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/twin/verdicts/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/api/watch/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/global-not-found-b48037425ab46c7f.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/icon/[id]/route-eac7618918d667c0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/not-found-b48037425ab46c7f.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/main-app-6b20571947ec3a99.js +0 -1
- package/app/apps/web/.next-bundle/static/css/b1d2cc9ccd4e30bf.css +0 -1
- package/dist/memory-command-PETERVDN.js +0 -65
- /package/app/apps/web/.next-bundle/static/{XbGco2Ho8DdunSxNkVKkD → xmmOASVL-XuXjHd9elXeS}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9415],{10354:(e,t,a)=>{"use strict";var n=a(61990);a.o(n,"usePathname")&&a.d(t,{usePathname:function(){return n.usePathname}}),a.o(n,"useRouter")&&a.d(t,{useRouter:function(){return n.useRouter}}),a.o(n,"useSearchParams")&&a.d(t,{useSearchParams:function(){return n.useSearchParams}})},29443:(e,t,a)=>{"use strict";a.d(t,{ProjectStore:()=>ei});var n=a(38657),s=a(3953),l=a.n(s),i=a(10354),r=a(32165),o=a(3043),c=a(2575);let d=new Set(["flutter","react native","expo","android","ios","swift","kotlin","dart"]),h=new Set(["next.js","react","vue","nuxt","svelte","sveltekit","angular","astro","remix / react router","solidjs","vite","tailwind css","shadcn/ui","electron","tauri"]),u=new Set(["express","fastify","nestjs","hono","django","flask","fastapi","ruby on rails","laravel","symfony","sinatra","gin","echo","fiber","axum","actix web"]),m=new Set(["mcp"]),p=new Set(["html","css","scss"]),x=new Set(["python","go","rust","ruby","php","java","c#","elixir"]),j=new Set(["dart","swift","kotlin","objective-c"]),f=new Set(["postgresql","mysql","mongodb","redis","mariadb"]),g=new Set(["vercel","netlify","cloudflare workers"]);var b=a(9144),v=a(52948);function y(e){let{id:t,name:a}=e,s=(0,b.kj)(),[l,i]=(0,r.useState)("ready");async function o(){i("opening");try{let e=await fetch("/api/open",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:t,tool:"editor"})});i(e.ok?"ready":"error")}catch(e){i("error")}}return(0,n.jsx)(v.rA,{tone:"surface",type:"button",onClick:o,busy:"opening"===l,busyLabel:s("today.opening"),title:s("today.openNamed",{name:a}),className:"shrink-0",children:s("error"===l?"today.openFailed":"today.resume")})}function w(e){var t,a,s,i;let{report:c}=e,d=(0,b.kj)(),h=(0,b.Ym)(),{summary:u}=c,[m,p]=(0,r.useState)(!1),x=(0,r.useId)(),j=c.critic,f=(null!=(a=null==j?void 0:j.lookFindings)?a:0)+(null!=(s=null==j?void 0:j.reviewFindings)?s:0),g=u.commits>0||u.proposals>0||u.born>0||u.touchedProjects>0||f>0,w=c.since?d("today.since",{when:(0,v.KW)(c.since,h)}):d("today.last24h");return g?(0,n.jsxs)("section",{className:"brief","aria-label":d("today.activity"),children:[(0,n.jsxs)("button",{type:"button",className:"brief__line",onClick:()=>p(e=>!e),"aria-expanded":m,"aria-controls":x,children:[(0,n.jsx)(o.efr,{"aria-hidden":!0}),(0,n.jsx)("strong",{children:d("today.activity")}),(0,n.jsxs)("span",{className:"brief__facts",children:[u.proposals>0&&(0,n.jsx)("span",{className:"brief__decision",children:d("today.proposalCount",{n:u.proposals})}),f>0&&(0,n.jsx)("span",{className:"brief__decision",children:d("today.findingCount",{n:f})}),u.commits>0&&(0,n.jsx)("span",{children:d("today.commitCount",{n:u.commits})}),0===u.commits&&u.touchedProjects>0&&(0,n.jsx)("span",{children:d("today.projectCount",{n:u.touchedProjects})}),u.born>0&&(0,n.jsx)("span",{children:d("today.bornCount",{n:u.born})})]}),(0,n.jsx)(o.bv7,{className:"brief__arrow","aria-hidden":!0})]}),(0,n.jsx)("div",{id:x,hidden:!m,children:m&&(0,n.jsxs)("div",{className:"brief__detail",children:[(0,n.jsx)("p",{className:"brief__when",children:w}),c.proposals.length>0&&(0,n.jsxs)("div",{className:"brief__decisions",children:[(0,n.jsx)("p",{className:"brief__label",children:d("proposals.waiting")}),(0,n.jsx)("ul",{children:c.proposals.slice(0,4).map(e=>(0,n.jsxs)("li",{children:[(0,n.jsxs)(l(),{href:"/runs/".concat(e.id),children:[e.pkgName,e.a?" → ".concat(e.a):""]}),(0,n.jsx)("span",{className:"brief__where",children:d("today.inProject",{project:e.project})}),e.repeats>1&&(0,n.jsx)("span",{className:"brief__attempts",children:d("today.attempts",{n:e.repeats})}),(0,n.jsxs)("span",{className:"brief__meta",children:[d(e.verified?"proposals.testsGreen":"proposals.unverified")," \xb7 ",(0,v.KW)(e.when,h)]})]},e.id))})]}),(null!=(i=null==j||null==(t=j.where)?void 0:t.length)?i:0)>0&&(0,n.jsxs)("div",{className:"brief__decisions",children:[(0,n.jsx)("p",{className:"brief__label",children:d("today.criticWhere")}),(0,n.jsx)("ul",{children:j.where.slice(0,4).map(e=>(0,n.jsxs)("li",{children:[(0,n.jsx)(l(),{href:"/p/".concat(e.slug,"#assignments"),children:e.name}),(0,n.jsx)("span",{className:"brief__meta",children:d(1===e.findings?"today.criticFindingOne":"today.criticFindingMany",{n:e.findings})})]},e.slug))})]}),u.commits>0&&(0,n.jsxs)("p",{className:"brief__meta",children:[d(1===u.touchedProjects?"today.inProjectsOne":"today.inProjectsMany",{c:d(1===u.commits?"today.commitOne":"today.commitMany",{n:u.commits}),n:u.touchedProjects}),u.byAgents>0&&" ".concat(d("today.fromAgents",{n:u.byAgents}))]}),c.projects.length>0&&(0,n.jsx)("ul",{className:"brief__projects",children:c.projects.slice(0,5).map(e=>(0,n.jsxs)("li",{children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(l(),{href:"/p/".concat(e.slug),children:e.name}),e.commits[0]&&(0,n.jsxs)("p",{className:"brief__subject",children:[e.commits[0].subject,e.commits[0].agent&&(0,n.jsx)("span",{className:"brief__agent",children:e.commits[0].agent})]}),(0,n.jsxs)("p",{className:"brief__meta",children:[e.commits.length>0&&(0,n.jsxs)(n.Fragment,{children:[d(1===e.commits.length?"today.commitOne":"today.commitMany",{n:e.commits.length})," \xb7 ",(0,v.KW)(e.commits[0].at,h)]}),e.agents.length>0&&(0,n.jsxs)(n.Fragment,{children:[e.commits.length>0&&" \xb7 ",e.agents.map(e=>d("today.agentNoted",{name:e.name,n:e.activities})).join(", ")]})]})]}),(0,n.jsx)(y,{id:e.id,name:e.name})]},e.slug))}),c.born.length>0&&(0,n.jsxs)("p",{className:"brief__born",children:[d("today.born")," ",c.born.slice(0,4).map((e,t)=>(0,n.jsxs)("span",{children:[t>0&&", ",(0,n.jsx)(l(),{href:"/p/".concat(e.slug),children:e.name})]},e.slug))]})]})})]}):(0,n.jsxs)("section",{className:"brief brief--quiet","aria-label":d("today.activity"),children:[(0,n.jsx)(o.efr,{"aria-hidden":!0}),(0,n.jsx)("strong",{children:d("today.activity")}),(0,n.jsx)("span",{children:d("today.nothing",{period:w})})]})}var N=a(48804),k=a(79840);function _(e){let{total:t}=e,a=(0,b.kj)(),s=(0,i.useRouter)(),[,l]=(0,r.useTransition)(),[c,d]=(0,r.useState)(null),[h,u]=(0,r.useState)(!1),[m,p]=(0,r.useState)(""),[x,j]=(0,r.useState)(!1),[f,g]=(0,r.useState)(!1),[v,y]=(0,r.useState)(null),[w,N]=(0,r.useState)(null),k=(0,r.useCallback)(async()=>{try{var e;let t=await fetch("/api/roots"),a=await t.json();d(null!=(e=a.roots)?e:[])}catch(e){d([])}},[]);(0,r.useEffect)(()=>{k()},[k]);let[_,S]=(0,r.useState)(null);async function P(e,t){if(!x&&t.trim()){j(!0),N(null);try{var n,i,r;let o=await fetch("/api/roots",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e,path:t.trim()})}),c=await o.json().catch(()=>({}));if(!o.ok)return void N({text:null!=(n=c.error)?n:a("sites.failed"),bad:!0});if(p(""),await k(),"add"===e){let e=null!=(i=c.found)?i:0;N({text:a(1===e?"sites.addedOne":"sites.addedMany",{n:e}),bad:!1}),l(()=>s.refresh())}else N({text:a("sites.removed",{n:null!=(r=c.removed)?r:0}),bad:!1}),l(()=>s.refresh())}catch(e){N({text:a("task.unreachable"),bad:!0})}finally{j(!1)}}}async function O(){if(!f&&!x){g(!0),N(null);try{var e,t;let n=await fetch("/api/roots",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"search"})}),s=await n.json();y(null!=(e=s.candidates)?e:[]),0===(null!=(t=s.candidates)?t:[]).length&&N({text:a("sites.searchNone"),bad:!1})}catch(e){N({text:a("task.unreachable"),bad:!0})}finally{g(!1)}}}if(!c||0===c.length)return null;let M=c.map(e=>C(e.path));return(0,n.jsxs)("div",{className:"sites",children:[(0,n.jsxs)("button",{type:"button",className:"sites__line",onClick:()=>u(!h),"aria-expanded":h,children:[(0,n.jsx)(o.gBk,{"aria-hidden":!0}),(0,n.jsx)("span",{children:a(1===t?"sites.summaryOne":"sites.summaryMany",{n:t,where:M.slice(0,2).join(", "),extra:M.length>2?" ".concat(a("sites.andMore",{n:M.length-2})):""})}),(0,n.jsx)("span",{className:"sites__action",children:a(h?"sites.close":"sites.manage")})]}),h&&(0,n.jsxs)("div",{className:"sites__detail",children:[(0,n.jsx)("ul",{children:c.map(e=>(0,n.jsxs)("li",{children:[(0,n.jsx)("code",{title:e.path,children:C(e.path)}),(0,n.jsxs)("span",{children:[a(1===e.projects?"sites.countOne":"sites.countMany",{n:e.projects}),!e.exists&&" \xb7 ".concat(a("sites.missing"))]}),_===e.path?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{type:"button",onClick:()=>{S(null),P("remove",e.path)},disabled:x,className:"sites__confirm",children:a("sites.removeConfirm",{n:e.projects})}),(0,n.jsx)("button",{type:"button",onClick:()=>S(null),disabled:x,className:"sites__cancel",children:a("accounts.cancel")})]}):(0,n.jsx)("button",{type:"button",onClick:()=>S(e.path),disabled:x,children:a("sites.remove")})]},e.path))}),(0,n.jsxs)("form",{onSubmit:e=>{e.preventDefault(),P("add",m)},children:[(0,n.jsx)("input",{value:m,onChange:e=>p(e.target.value),placeholder:a("sites.placeholder"),"aria-label":a("sites.fieldLabel"),spellCheck:!1}),(0,n.jsxs)("button",{type:"submit",disabled:x||!m.trim(),children:[(0,n.jsx)(o.K0m,{"aria-hidden":!0}),a(x?"sites.adding":"sites.add")]})]}),(0,n.jsxs)("div",{className:"sites__search",children:[(0,n.jsxs)("button",{type:"button",onClick:O,disabled:f||x,children:[(0,n.jsx)(o.JJh,{"aria-hidden":!0}),a(f?"sites.searching":"sites.search")]}),(0,n.jsx)("span",{children:a("sites.searchHint")})]}),v&&v.length>0&&(0,n.jsx)("ul",{className:"sites__candidates",children:v.map(e=>(0,n.jsxs)("li",{children:[(0,n.jsx)("code",{title:e.path,children:C(e.path)}),(0,n.jsx)("span",{children:a(1===e.projects?"sites.countOne":"sites.countMany",{n:e.projects})}),(0,n.jsx)("button",{type:"button",onClick:()=>{y(t=>(null!=t?t:[]).filter(t=>t.path!==e.path)),P("add",e.path)},disabled:x,children:a("sites.add")})]},e.path))}),(0,n.jsx)("p",{className:"sites__note",children:a("sites.note")}),w&&(0,n.jsx)("p",{className:w.bad?"sites__error":"sites__note",children:w.text})]})]})}function C(e){return e.replace(/^\/Users\/[^/]+/,"~")}function S(e){let{stats:t,total:a,children:s}=e,l=(0,b.kj)(),i=(0,N.t)(),c=(0,r.useId)(),d=null==i?void 0:i.catalog,h=!d&&(null==i?void 0:i.active)===!1;return(0,n.jsx)("section",{className:"catalog-context","aria-labelledby":c,children:d?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("h2",{id:c,className:"catalog-context__heading",children:l("watch.catalogDetails")}),(0,n.jsx)(N.K,{failure:d})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"catalog-context__summary",children:[(0,n.jsx)("h2",{id:c,className:"catalog-context__heading",children:l("watch.catalogDetails")}),(0,n.jsx)(k.CatalogSummary,{stats:t})]}),(0,n.jsxs)("div",{className:"catalog-context__folders",children:[(0,n.jsx)("h3",{className:"catalog-context__heading",children:l("watch.catalogFolders")}),(0,n.jsx)(_,{total:a})]}),h&&(0,n.jsxs)("p",{className:"catalog-context__warning",role:"status",children:[(0,n.jsx)(o.z1N,{"aria-hidden":!0}),(0,n.jsx)("span",{children:l("watch.off")})]}),s]})})}function P(e){let{discreet:t,onToggleDiscreet:a,onShare:s}=e,l=(0,b.kj)();return(0,n.jsxs)("div",{className:"catalog-actions",role:"group","aria-label":l("catalog.presentation"),children:[(0,n.jsxs)("button",{type:"button","aria-pressed":t,onClick:a,title:l(t?"store.showNames":"store.hideNames"),children:[t?(0,n.jsx)(o.EgV,{"aria-hidden":!0}):(0,n.jsx)(o.bZk,{"aria-hidden":!0}),(0,n.jsx)("span",{children:l("catalog.discreet")})]}),(0,n.jsxs)("button",{type:"button",onClick:s,children:[(0,n.jsx)(o.XcM,{"aria-hidden":!0}),(0,n.jsx)("span",{children:l("catalog.share")})]})]})}var O=a(67112),M=a(38058),T=a(67923),A=a(1810),E=a(52302),R=a(8901);let D='"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif';function F(e){return String(Math.max(0,Math.trunc(e)))}function I(e){return e>=75?R.fN:e>=50?R.sV:R.kS}function L(e,t,a,n,s,l){e.beginPath(),e.moveTo(t+l,a),e.arcTo(t+n,a,t+n,a+s,l),e.arcTo(t+n,a+s,t,a+s,l),e.arcTo(t,a+s,t,a,l),e.arcTo(t,a,t+n,a,l),e.closePath()}function W(e){return new Promise(t=>{let a=new Image;a.onload=()=>t(a),a.onerror=()=>t(null),a.src=e})}function K(e){let{data:t,discreet:a,onClose:s}=e,l=(0,b.kj)(),i=(0,b.Ym)(),d=(0,r.useRef)(null),h=(0,r.useRef)(null),u=(0,r.useRef)(null);(0,A.y)(h,!0,s),(0,E.r)(h,!0),(0,r.useEffect)(()=>{let e=requestAnimationFrame(()=>{var e;return null==(e=u.current)?void 0:e.focus()});return()=>cancelAnimationFrame(e)},[]);let[m,p]=(0,T.F)("share:user","","compartir:usuario"),[x,j]=(0,T.F)("share:language",i,"compartir:idioma"),[f,g]=(0,r.useState)(!a),[v,y]=(0,r.useState)(!1),[w,N]=(0,r.useState)("idle"),[k,_]=(0,r.useState)("idle"),C=(0,r.useCallback)((e,t)=>(0,c.t)(x,e,t),[x]),S=(0,r.useCallback)(async()=>{let e=d.current;if(!e)return;let a=await W("/assets/brand/panoma.svg"),n=function(e,t,a){let n=Math.max(0,Math.trunc(t));if(n<=8&&e.length>=n)return e.slice(0,n);let s=e.slice(0,Math.min(7,n)),l=Math.max(0,n-s.length);return l>0?[...s,a(l)]:s}(f?(await Promise.all(t.featuredProjects.slice(0,8).map(async e=>({...e,loadedIcon:await W(e.icon)})))).flatMap(e=>{let{loadedIcon:t,...a}=e;return t?[{...a,icon:t}]:[]}):t.featuredProjects.slice(0,8).map((e,t)=>({name:C("store.hidden",{n:t+1}),health:e.health,icon:null,concealed:!0})),t.projects,e=>({name:C("share.more",{n:e}),health:0,icon:a,panomaMark:!0,summary:!0}));!function(e,t){var a,n,s;let l=e.getContext("2d");if(!l)return;e.width=1600,e.height=900,l.fillStyle=R.PE,l.fillRect(0,0,1600,900),l.strokeStyle=R.KG,l.lineWidth=2,l.strokeRect(1,1,1598,898),function(e,t,a,n){if(t)try{e.drawImage(t,t.naturalWidth*(280/1024),t.naturalHeight*(222/1024),.515625*t.naturalWidth,t.naturalHeight*(586/1024),82,66,60,66)}catch(e){}e.fillStyle=R.Pg,e.font="650 42px ".concat(D),e.fillText("panoma",a+66+22,n+48)}(l,t.logo,82,66),l.font="500 25px ".concat(D),l.fillStyle=R.ux,l.textAlign="right",l.fillText(t.domain,1518,105),l.textAlign="left",l.fillStyle=R.Pg,function(e,t,a,n){let s=n;for(e.font="650 ".concat(s,"px ").concat(D);s>62&&e.measureText(t).width>1436;)s-=2,e.font="650 ".concat(s,"px ").concat(D)}(l,t.texts.title,1436,t.featuredProjects.length>0?86:102),l.fillText(t.texts.title,82,t.featuredProjects.length>0?278:350),t.featuredProjects.length>0&&function(e,t,a,n,s){let l=t.slice(0,8),i=1436/l.length,r=398,o=Math.min(122,i-28);e.fillStyle=R.ux,e.font="600 18px ".concat(D),e.fillText(s.health.toUpperCase(),a,n),function(e,t,a,n){let s=[[n.healthGood,R.fN],[n.healthReview,R.sV],[n.healthAttention,R.kS]];e.font="550 17px ".concat(D);let l=t-(s.map(t=>{let[a]=t;return 14+e.measureText(a).width}).reduce((e,t)=>e+t,0)+28*(s.length-1));for(let[t,n]of s)e.fillStyle=n,e.beginPath(),e.arc(l+5,a-6,5,0,2*Math.PI),e.fill(),e.fillStyle=R.fi,e.fillText(t,l+16,a),l+=14+e.measureText(t).width+28}(e,1600-a,n,s),l.forEach((t,n)=>{let s=a+i*n+i/2,l=s-37;if(e.save(),L(e,l,r,74,74,18),e.clip(),e.fillStyle=R.PE,e.fill(),t.concealed){var c,d=e,h=l,u=r,m=74,p=n;d.fillStyle=R.gX,d.fillRect(h,u,74,m),d.save(),d.strokeStyle=R.tu,d.lineWidth=1.5;let t=null!=(c=[0,7,-5,12][p%4])?c:0;for(let e=-m;e<2*m;e+=17)d.beginPath(),d.moveTo(h+e+t,u+m),d.lineTo(h+e+m+t,u),d.stroke();d.restore(),d.save(),d.shadowColor=R.Cv,d.shadowBlur=6,d.fillStyle=R.Mw,L(d,h+(m-44)/2,u+(m-10)/2,44,10,6),d.fill(),d.restore(),d.fillStyle=R.yU;for(let e=0;e<4;e+=1)L(d,h+m/2-11+7*e,u+m/2-2,2,4,1),d.fill()}else if(t.icon)try{t.panomaMark&&t.icon instanceof HTMLImageElement?function(e,t,a,n,s,l,i){let r=document.createElement("canvas");r.width=Math.round(88),r.height=Math.round(100);let o=r.getContext("2d");o&&(o.drawImage(t,t.naturalWidth*(280/1024),t.naturalHeight*(222/1024),.515625*t.naturalWidth,t.naturalHeight*(586/1024),0,0,r.width,r.height),o.globalCompositeOperation="source-in",o.fillStyle=i,o.fillRect(0,0,r.width,r.height),e.drawImage(r,a,n,s,l))}(e,t.icon,l+15,r+11,44,50,t.summary?R.Pg:I(t.health)):e.drawImage(t.icon,l,r,74,74)}catch(e){}if(e.restore(),e.strokeStyle=R.KG,e.lineWidth=1.5,L(e,l,r,74,74,18),e.stroke(),e.fillStyle=R.Pg,e.font="600 21px ".concat(D),e.textAlign="center",e.fillText(function(e,t,a){if(e.measureText(t).width<=a)return t;let n=t;for(;n.length>1&&e.measureText("".concat(n,"…")).width>a;)n=n.slice(0,-1);return"".concat(n,"…")}(e,t.name,i-16),s,r+104),t.summary){e.textAlign="left";return}let x=s-o/2,j=r+128;e.fillStyle=R.KG,L(e,x,j,o,10,5),e.fill(),e.fillStyle=I(t.health),L(e,x,j,Math.max(10,o*(Math.min(100,Math.max(0,t.health))/100)),10,5),e.fill(),e.fillStyle=I(t.health),e.font="650 19px ".concat(D),e.fillText("".concat(t.health,"/100"),s,r+171),e.textAlign="left"})}(l,t.featuredProjects,82,348,t.texts);let i=t.featuredProjects.length>0?655:505;a=l,n=82,s=i,a.strokeStyle=R.KG,a.lineWidth=1.5,a.beginPath(),a.moveTo(82,s),a.lineTo(n+1436,s),a.stroke(),function(e,t,a,n){let s=[[F(t.projects),t.texts.projects],[F(t.commits),t.texts.commits],[F(t.technologies),t.texts.technologies]];null!==t.agents&&s.push(["".concat(t.agents,"%"),t.texts.agents]);let l=1436/s.length;s.forEach((t,s)=>{let[i,r]=t,o=a+l*s;s>0&&(e.strokeStyle=R.KG,e.lineWidth=1.5,e.beginPath(),e.moveTo(o-34,n-10),e.lineTo(o-34,n+79),e.stroke()),e.fillStyle=R.Pg,e.font="650 54px ".concat(D),e.fillText(i,o,n+45),e.fillStyle=R.ux,e.font="500 22px ".concat(D),e.fillText(r,o,n+78)})}(l,t,82,i+51),t.user&&(l.fillStyle=R.fi,l.font="550 27px ".concat(D),l.fillText(t.user,82,839)),l.fillStyle=R.ux,l.font="500 23px ".concat(D),l.textAlign="right",l.fillText(t.texts.localFirst,1518,839),l.textAlign="left"}(e,{...t,logo:a,featuredProjects:n,user:m.trim()?m.trim().replace(/^@?/,"@"):void 0,domain:U,texts:{title:C("share.titulo",{n:t.projects}),projects:C("share.proyectos"),technologies:C("share.tecnologias"),commits:C("share.commits"),agents:C("share.agentes"),health:C("share.salud"),healthGood:C("share.saludBien"),healthReview:C("share.saludRevisar"),healthAttention:C("share.saludAtencion"),localFirst:C("share.local")}})},[f,t,C,m]);async function P(){let e=await H(d.current);e&&G(e)}async function K(){try{await navigator.clipboard.writeText(V(t,C)),y(!0),setTimeout(()=>y(!1),1800)}catch(e){}}async function q(){N("preparing");let e=await H(d.current);if(!e)return void N("failed");let a=V(t,C),n=new File([e],z,{type:"image/png"});if(function(e){if("function"!=typeof navigator.share||"function"!=typeof navigator.canShare)return!1;try{return navigator.canShare({files:[e]})}catch(e){return!1}}(n))try{await navigator.share({files:[n],text:a,title:"Panoma"}),N("idle");return}catch(e){if(e instanceof DOMException&&"AbortError"===e.name)return void N("idle")}let s=await B(e);s||G(e),N(s?"copied":"downloaded"),window.setTimeout(()=>N("idle"),2600)}async function Z(){_("preparing");let e=function(e){if(!e)return null;try{let t=e.toDataURL("image/png"),a=t.slice(t.indexOf(",")+1),n=window.atob(a),s=new Uint8Array(n.length);for(let e=0;e<n.length;e+=1)s[e]=n.charCodeAt(e);return new Blob([s],{type:"image/png"})}catch(e){return null}}(d.current);if(!e)return void _("failed");let a=B(e);var n=V(t,C);let s=document.createElement("a");s.href="https://x.com/intent/post?text=".concat(encodeURIComponent(n)),s.target="_blank",s.rel="noreferrer noopener",s.click();let l=await a;l||G(e),_(l?"copied":"downloaded"),window.setTimeout(()=>_("idle"),2600)}return(0,r.useEffect)(()=>{S()},[S]),(0,O.createPortal)((0,n.jsxs)("div",{className:"share",role:"dialog","aria-modal":"true","aria-label":l("share.abrir"),children:[(0,n.jsxs)("div",{className:"share__box",ref:h,children:[(0,n.jsxs)("header",{children:[(0,n.jsx)("h2",{children:l("share.abrir")}),(0,n.jsx)("button",{ref:u,type:"button",onClick:s,"aria-label":l("share.cerrar"),children:(0,n.jsx)(o.fZH,{"aria-hidden":!0})})]}),(0,n.jsx)("canvas",{ref:d,className:"share__canvas",width:1600,height:900,role:"img","aria-label":l("share.preview")}),(0,n.jsxs)("div",{className:"share__options",children:[(0,n.jsxs)("div",{className:"share__language",children:[(0,n.jsx)("span",{children:l("share.idioma")}),(0,n.jsxs)("div",{role:"group","aria-label":l("share.idioma"),children:[(0,n.jsx)("button",{type:"button",className:"es"===x?"is-active":void 0,"aria-pressed":"es"===x,onClick:()=>j("es"),children:"Espa\xf1ol"}),(0,n.jsx)("button",{type:"button",className:"en"===x?"is-active":void 0,"aria-pressed":"en"===x,onClick:()=>j("en"),children:"English"})]})]}),(0,n.jsxs)("label",{children:[(0,n.jsx)("span",{children:l("share.usuario")}),(0,n.jsx)("input",{value:m,onChange:e=>p(e.target.value),placeholder:l("share.usuarioVacio"),spellCheck:!1,maxLength:40})]}),(0,n.jsx)("button",{type:"button",className:"share__visibility".concat(f?"":" is-private"),onClick:()=>g(e=>!e),"aria-pressed":!f,"aria-label":l(f?"store.hideNames":"store.showNames"),title:l(f?"store.hideNames":"store.showNames"),children:f?(0,n.jsx)(o.bZk,{"aria-hidden":!0}):(0,n.jsx)(o.EgV,{"aria-hidden":!0})})]}),(0,n.jsx)("p",{className:"share__note",children:l("share.nota")}),(0,n.jsxs)("footer",{children:[(0,n.jsxs)("button",{type:"button",className:"share__primary",onClick:P,children:[(0,n.jsx)(o.Dho,{"aria-hidden":!0}),l("share.descargar")]}),(0,n.jsx)("button",{type:"button",onClick:K,children:l(v?"share.textoCopiado":"share.copiarTexto")}),(0,n.jsxs)("button",{type:"button",onClick:q,disabled:"preparing"===w,children:[(0,n.jsx)(o.XcM,{"aria-hidden":!0}),l("share.image.".concat(w))]}),(0,n.jsxs)("button",{type:"button",onClick:Z,disabled:"preparing"===k,children:[(0,n.jsx)(M.vIh,{"aria-hidden":!0}),l("share.x.".concat(k))]})]})]}),(0,n.jsx)("button",{type:"button",className:"share__backdrop",onClick:s,"aria-label":l("share.cerrar")})]}),document.body)}let U="panoma.ai",z="panoma-projects.png";function H(e){return new Promise(t=>{if(!e)return void t(null);e.toBlob(t,"image/png")})}function G(e){let t=URL.createObjectURL(e),a=document.createElement("a");a.href=t,a.download=z,a.click(),URL.revokeObjectURL(t)}async function B(e){var t;if("undefined"==typeof ClipboardItem||"function"!=typeof(null==(t=navigator.clipboard)?void 0:t.write))return!1;try{return await navigator.clipboard.write([new ClipboardItem({"image/png":e})]),!0}catch(e){return!1}}function V(e,t){return t("share.texto",{n:e.projects,domain:U})}var q=a(5483),Z=a(65330),$=a(41268);let J={anthropic:{icon:M.Njx,color:"#d97757"},typescript:{icon:M.cyb,color:"#3178c6"},nextdotjs:{icon:M.wlC,color:"#111111"},nextjs:{icon:M.wlC,color:"#111111"},"next.js":{icon:M.wlC,color:"#111111"},react:{icon:M.GWR,color:"#149eca"},flutter:{icon:M.FuR,color:"#02569b"},dart:{icon:M.A7B,color:"#0175c2"},nodedotjs:{icon:M.h$$,color:"#5fa04e"},nodejs:{icon:M.h$$,color:"#5fa04e"},"node.js":{icon:M.h$$,color:"#5fa04e"},python:{icon:M.ptC,color:"#3776ab"},rust:{icon:M.xZd,color:"#111111"},go:{icon:M.ZRx,color:"#00add8"},vue:{icon:M.Zmg,color:"#42b883"},"vue.js":{icon:M.Zmg,color:"#42b883"},svelte:{icon:M.Qmm,color:"#ff3e00"},swift:{icon:M.cp,color:"#f05138"},kotlin:{icon:M.sjH,color:"#7f52ff"},ruby:{icon:M.LfU,color:"#cc342d"},php:{icon:M.XeU,color:"#777bb4"},express:{icon:M.t5I,color:"#111111"},tailwind:{icon:M.IR8,color:"#06b6d4"},tailwindcss:{icon:M.IR8,color:"#06b6d4"},docker:{icon:M.tih,color:"#2496ed"},postgresql:{icon:M.$Wy,color:"#4169e1"},drizzle:{icon:M.FkC,color:"#c5f74f"},supabase:{icon:M.lLb,color:"#3ecf8e"},firebase:{icon:M.iWE,color:"#ffca28"}};var Y=a(30953);let X=["all","attention","favorites","not-mine","web","mobile","backend","tools","ai","other"],Q={all:"filter.all",attention:"filter.attention",favorites:"filter.favorites","not-mine":"filter.notMine",web:"filter.web",mobile:"filter.mobile",backend:"filter.backend",tools:"filter.tools",ai:"filter.ai",other:"filter.other"};function ee(e){let{name:t,onOpen:a}=e,s=(0,b.kj)();return(0,n.jsx)("button",{type:"button",className:"open-handle",title:s("catalog.openHandle",{name:t}),"aria-label":s("catalog.openHandle",{name:t}),onClick:e=>{e.stopPropagation(),a()},onDoubleClick:e=>e.stopPropagation(),children:(0,n.jsx)(o.OvC,{"aria-hidden":!0})})}function et(){let e=(0,b.kj)();return(0,n.jsx)("span",{className:"opening-spinner",role:"status","aria-label":e("catalog.opening")})}function ea(e){var t;return null!=(t=e.proposedRuns)?t:0}function en(e){return ea(e)>0||e.risks.length>0||e.vulnCount>0||e.outdatedDeps>0||!!e.depsUnresolved}function es(e){return"A"===e||"B"===e?"good":"C"===e?"warn":"bad"}function el(e){return e.replace(/^\/(?:Users|home)\/[^/]+/,"~")}function ei(e){var t,a,s;let{projects:c,stats:v,report:y}=e,N=(0,i.useRouter)(),k=(0,b.kj)(),{query:_,setQuery:C}=(0,$.S)(),[O,M]=(0,T.F)("filter","all","filtro"),A=X.includes(O)?O:"all",[E,R]=(0,T.F)("sort","recent","orden"),[D,F]=(0,T.F)("view","grid","vista"),[I,L]=(0,T.F)("discreet",!1,"discreto"),[W,U]=(0,r.useState)(!1),[z,H]=(0,T.F)("favorites",[],"favoritos"),G=(0,r.useMemo)(()=>new Set(z),[z]),[B,V]=(0,r.useState)(null!=(s=null==(t=c[0])?void 0:t.id)?s:null),q=(0,r.useRef)(!1),Z=(0,r.useRef)(null),J=(0,r.useRef)(null),[ee,et]=(0,r.useState)(null),[ea,es]=(0,r.useState)(null),el=(0,r.useMemo)(()=>c.filter(en).length,[c]),ei=(0,r.useMemo)(()=>c.filter(e=>G.has(e.id)).length,[G,c]),ed=(0,r.useMemo)(()=>{let e=(0,Y.A)(_.trim());return c.filter(t=>{let a=!e||(0,Y.A)([t.name,t.description,t.primaryLanguage,...t.technologies.flatMap(e=>[e.name,e.version]),...t.agents.map(e=>e.name)].filter(Boolean).join(" ")).includes(e),n="all"===A||("attention"===A?en(t):"favorites"===A?G.has(t.id):"not-mine"===A?"foreign"===t.originKind||"forked"===t.originKind||"template"===t.originKind:(function(e){var t;let a=new Set,n=(null!=(t=e.primaryLanguage)?t:"").toLowerCase();for(let t of e.technologies){let e=t.name.toLowerCase();"model"===t.kind&&a.add("ai"),d.has(e)&&a.add("mobile"),(h.has(e)||g.has(e))&&a.add("web"),(u.has(e)||f.has(e))&&a.add("backend"),m.has(e)&&a.add("tools")}return j.has(n)&&a.add("mobile"),p.has(n)&&a.add("web"),x.has(n)&&a.add("backend"),0===a.size&&/\b(cli|tool|tools|runner|script|scripts|terminal|bot|daemon|agent)\b/.test(e.name.toLowerCase())&&a.add("tools"),0===a.size&&e.technologies.some(e=>"runtime"===e.kind&&["node.js","deno","bun"].includes(e.name.toLowerCase()))&&a.add("backend"),0===a.size&&a.add("other"),a})(t).has(A));return a&&n}).sort((e,t)=>{let a=Number(G.has(t.id))-Number(G.has(e.id));return 0!==a?a:"name"===E?e.name.localeCompare(t.name,"es"):"health"===E?t.healthScore-e.healthScore:(t.lastCommitAt?Date.parse(t.lastCommitAt):0)-(e.lastCommitAt?Date.parse(e.lastCommitAt):0)})},[G,A,c,_,E]),eh=(0,r.useMemo)(()=>ed.findIndex(e=>e.id===B),[ed,B]),eu=-1===eh?null:ed[eh];(0,r.useEffect)(()=>{if(q.current)return;let e=ed[0];e&&e.id!==B&&V(e.id)},[ed,B]);let em=(0,r.useCallback)(e=>{q.current=!0,V(e),et(null)},[]),[ex,ej]=(0,r.useTransition)(),[ef,eg]=(0,r.useState)(null),eb=(0,r.useCallback)(e=>{eg(e.id),ej(()=>N.push("/p/".concat(e.slug)))},[N]),ev=(0,r.useCallback)(()=>{var e;let t=null==(e=Z.current)?void 0:e.querySelectorAll("[data-index]"),a=null==t?void 0:t[0];if(!a)return 1;let n=a.offsetTop,s=0;for(let e of t){if(e.offsetTop!==n)break;s+=1}return Math.max(1,s)},[]);function ey(e){var t,a;if(0===ed.length)return;let n=ed.findIndex(e=>e.id===B),s=-1===n?0:Math.min(ed.length-1,Math.max(0,n+e)),l=ed[s];l&&(em(l.id),null==(a=Z.current)||null==(t=a.querySelector('[data-index="'.concat(s,'"]')))||t.focus())}async function ew(e){var t,a,n;let s;et(null);try{s=await fetch("/api/project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"ocultar",id:e})})}catch(e){et(k("project.unreachable"));return}if(!s.ok)return void et(null!=(a=(await s.json().catch(()=>({}))).error)?a:k("project.actionFailed"));B===e&&em(null),es({id:e,name:null!=(n=null==(t=c.find(t=>t.id===e))?void 0:t.name)?n:""}),N.refresh()}async function eN(e){et(null);try{let a=await fetch("/api/project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mostrar",id:e})});if(!a.ok){var t;let e=await a.json().catch(()=>({}));et(null!=(t=e.error)?t:k("project.actionFailed"));return}}catch(e){et(k("project.unreachable"));return}es(null),N.refresh()}let ek={all:c.length,attention:el,favorites:ei};function e_(){var e;M("all"),null==(e=J.current)||e.scrollTo({left:0}),C(""),window.location.search&&N.replace("/",{scroll:!1})}return 0===c.length?null:(0,n.jsx)("main",{id:"app-main",tabIndex:-1,className:"app-main catalog-screen",children:(0,n.jsxs)("div",{className:"catalog-screen__inner",children:[ea&&(0,n.jsxs)("p",{className:"brief brief--dismissed",role:"status",children:[(0,n.jsx)(o.EgV,{"aria-hidden":!0}),(0,n.jsx)("span",{children:k("store.justHidden",{name:ea.name})}),(0,n.jsx)("button",{type:"button",onClick:()=>void eN(ea.id),children:k("store.undoHide")}),(0,n.jsx)(l(),{href:"/hidden",children:k("store.seeHidden")})]}),(0,n.jsxs)("header",{className:"catalog-bar",children:[(0,n.jsx)("div",{className:"catalog-bar__heading",children:(0,n.jsxs)("div",{className:"catalog-bar__title",children:[(0,n.jsx)("h1",{children:k("catalog.title")}),(0,n.jsx)("span",{className:"catalog-count",role:"status",children:ed.length===c.length?k(1===c.length?"catalog.countOne":"catalog.count",{n:c.length}):"".concat(ed.length," / ").concat(c.length)})]})}),(0,n.jsx)("div",{className:"catalog-bar__tools",children:(0,n.jsx)(P,{discreet:I,onToggleDiscreet:()=>L(!I),onShare:()=>U(!0)})})]}),(0,n.jsx)(S,{stats:v,total:c.length,children:(0,n.jsxs)("div",{className:"catalog-activity",children:[(0,n.jsx)(w,{report:y}),(null==(a=c[0])?void 0:a.lastCommitAt)&&(0,n.jsx)(er,{project:c[0],discreet:I})]})}),(0,n.jsxs)("div",{className:"catalog-toolbar",children:[(0,n.jsxs)("div",{className:"catalog-toolbar__heading",children:[(0,n.jsx)("span",{children:k("store.filterAria")}),(0,n.jsx)("p",{children:k("catalog.hint")})]}),(0,n.jsx)("div",{ref:J,className:"catalog-filters",role:"group","aria-label":k("store.filterAria"),children:X.map(e=>(0,n.jsxs)("button",{type:"button",onClick:()=>M(e),className:A===e?"is-active":void 0,"aria-pressed":A===e,children:[k(Q[e]),ek[e]?(0,n.jsx)("span",{children:ek[e]}):null]},e))}),(0,n.jsxs)("div",{className:"catalog-view-tools",children:[(0,n.jsxs)("label",{className:"catalog-sort",children:[(0,n.jsx)("span",{children:k("catalog.sort")}),(0,n.jsxs)("select",{value:E,onChange:e=>R(e.target.value),children:[(0,n.jsx)("option",{value:"recent",children:k("store.sortRecent")}),(0,n.jsx)("option",{value:"name",children:k("store.sortName")}),(0,n.jsx)("option",{value:"health",children:k("store.sortHealth")})]})]}),(0,n.jsxs)("div",{className:"view-switch",role:"group","aria-label":k("store.viewAria"),children:[(0,n.jsxs)("button",{type:"button",onClick:()=>F("list"),className:"list"===D?"is-active":void 0,"aria-label":k("store.viewList"),"aria-pressed":"list"===D,title:k("store.viewList"),children:[(0,n.jsx)(o.$mg,{"aria-hidden":!0}),(0,n.jsx)("span",{children:k("catalog.list")})]}),(0,n.jsxs)("button",{type:"button",onClick:()=>F("grid"),className:"grid"===D?"is-active":void 0,"aria-label":k("store.viewGrid"),"aria-pressed":"grid"===D,title:k("store.viewGrid"),children:[(0,n.jsx)(o.ENP,{"aria-hidden":!0}),(0,n.jsx)("span",{children:k("catalog.grid")})]})]})]})]}),("all"!==A||_.trim())&&(0,n.jsxs)("div",{className:"catalog-filter-state",children:[(0,n.jsxs)("p",{children:[k("catalog.filteredBy",{filter:k(Q[A])}),_.trim()&&(0,n.jsxs)("span",{children:[" \xb7 ",_.trim()]})]}),(0,n.jsxs)("button",{type:"button",onClick:e_,children:[(0,n.jsx)(o.fZH,{"aria-hidden":!0}),k("store.clearFilters")]})]}),W&&(0,n.jsx)(K,{data:function(e){let t=e.reduce((e,t)=>{var a;return e+(null!=(a=t.gitCommitCount)?a:0)},0),a=new Set(e.flatMap(e=>e.technologies.map(e=>e.name))),n=e.reduce((e,t)=>e+t.agents.reduce((e,t)=>e+t.commits,0),0);return{projects:e.length,technologies:a.size,commits:t,agents:t>0&&n>0?Math.min(100,Math.round(n/t*100)):null,featuredProjects:e.filter(e=>e.hasIcon).slice(0,8).map(e=>({name:e.name,health:e.healthScore,icon:"/icon/".concat(e.id)}))}}(c),discreet:I,onClose:()=>U(!1)}),(0,n.jsxs)("div",{className:"catalog-split","data-open":eu?"true":"false",children:[(0,n.jsx)("div",{className:"catalog-body",children:ed.length>0?(0,n.jsxs)(n.Fragment,{children:["list"===D&&(0,n.jsxs)("div",{className:"catalog-columns","aria-hidden":!0,children:[(0,n.jsx)("span",{children:k("catalog.colProject")}),(0,n.jsx)("span",{children:k("catalog.colHealth")}),(0,n.jsx)("span",{children:k("catalog.colStack")}),(0,n.jsx)("span",{children:k("catalog.colActivity")})]}),(0,n.jsx)("div",{ref:Z,role:"listbox","aria-label":k("catalog.rowsAria"),className:"catalog-rows catalog-rows--".concat(D),onKeyDown:function(e){let t="grid"===D?ev():1,a={ArrowDown:t,ArrowUp:-t,..."grid"===D?{ArrowRight:1,ArrowLeft:-1}:{}}[e.key];if(void 0!==a){e.preventDefault(),ey(a);return}if("Home"===e.key||"End"===e.key){e.preventDefault(),ey("Home"===e.key?-ed.length:ed.length);return}"Escape"===e.key&&B&&(e.preventDefault(),em(null))},children:ed.map((e,t)=>{let a={project:e,index:t,selected:e.id===B,tabbable:t===(-1===eh?0:eh),favorite:G.has(e.id),opening:ex&&ef===e.id,discreet:I,onSelect:()=>em(e.id),onOpen:()=>eb(e)};return"list"===D?(0,n.jsx)(eo,{...a},e.id):(0,n.jsx)(ec,{...a},e.id)})})]}):(0,n.jsxs)("div",{className:"catalog-empty",role:"status",children:[(0,n.jsx)(o.ENP,{"aria-hidden":!0}),(0,n.jsx)("h2",{children:k("store.noResults")}),(0,n.jsx)("p",{children:k("store.noResultsBody")}),(0,n.jsx)("button",{type:"button",onClick:e_,children:k("store.clearFilters")})]})}),eu&&(0,n.jsx)(ep,{project:eu,discreet:I,index:Math.max(0,ed.findIndex(e=>e.id===eu.id)),favorite:G.has(eu.id),onFavorite:()=>{var e;return e=eu.id,void H(G.has(e)?z.filter(t=>t!==e):[...z,e])},onHide:()=>ew(eu.id),onClose:()=>em(null),error:ee},eu.id)]})]})})}function er(e){let{project:t,discreet:a}=e,s=(0,b.kj)(),i=(0,b.Ym)();return(0,n.jsxs)("section",{className:"catalog-latest","aria-label":s("catalog.latestCommit"),children:[(0,n.jsxs)("div",{className:"catalog-latest__heading",children:[(0,n.jsx)("h2",{children:s("catalog.latestCommit")}),(0,n.jsx)("span",{children:(0,v.Pp)(t.lastCommitAt,i)})]}),(0,n.jsxs)(l(),{href:"/p/".concat(t.slug),children:[a?s("store.hidden",{n:1}):t.name,(0,n.jsx)(o.OvC,{"aria-hidden":!0})]}),!a&&t.lastCommitSubject&&(0,n.jsx)("p",{title:t.lastCommitSubject,children:t.lastCommitSubject})]})}function eo(e){let{project:t,index:a,selected:s,tabbable:l,favorite:i,opening:r,discreet:d,onSelect:h,onOpen:u}=e,m=(0,b.kj)(),p=(0,b.Ym)(),x=ea(t);return(0,n.jsxs)("div",{id:"catalog-".concat(t.id),role:"option","aria-selected":s,"aria-busy":r,tabIndex:l?0:-1,"data-index":a,className:"catalog-row",title:d?m("store.hidden",{n:a+1}):t.root,onClick:h,onDoubleClick:u,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),u())," "===e.key&&(e.preventDefault(),h())},children:[(0,n.jsxs)("span",{className:"catalog-row__identity",children:[d?(0,n.jsx)(ed,{size:"row",variant:a}):(0,n.jsx)(v.hV,{locale:p,name:t.name,src:t.hasIcon?"/icon/".concat(t.id):null,size:40,tone:"neutral"}),(0,n.jsxs)("span",{className:"catalog-row__names",children:[(0,n.jsxs)("span",{className:"catalog-row__name",children:[(0,n.jsx)("span",{children:d?m("store.hidden",{n:a+1}):t.name}),i&&(0,n.jsx)(o.K7t,{className:"catalog-row__star","aria-hidden":!0}),x>0&&(0,n.jsxs)("span",{className:"waiting-badge",title:m(1===x?"store.proposalsWaitingOne":"store.proposalsWaitingMany",{n:x}),children:[(0,n.jsx)("span",{"aria-hidden":!0,children:x}),(0,n.jsx)("span",{className:"sr-only",children:m(1===x?"store.proposalsWaitingOne":"store.proposalsWaitingMany",{n:x})})]}),t.risks.length>0&&(0,n.jsx)(o.Dco,{className:"risk-mark",title:t.risks.map(e=>(0,c.P3)(m,e)).join(" \xb7 ")})]}),!d&&(0,n.jsxs)("span",{className:"catalog-row__path",children:[el(t.root),t.copyCount>0&&(0,n.jsxs)("span",{title:m("store.alsoCopiesTitle"),children:[" ",m("store.alsoCopies",{n:t.copyCount})]})]})]})]}),(0,n.jsx)(eh,{score:t.healthScore,grade:t.healthGrade}),(0,n.jsx)(eu,{technologies:t.technologies}),(0,n.jsxs)("span",{className:"catalog-row__activity",children:[(0,n.jsx)(em,{state:t.state}),(0,v.Pp)(t.lastCommitAt,p)]}),(0,n.jsx)("span",{className:"catalog-row__handle",children:r?(0,n.jsx)(et,{}):(0,n.jsx)(ee,{name:d?m("store.hidden",{n:a+1}):t.name,onOpen:u})})]})}function ec(e){let{project:t,index:a,selected:s,tabbable:l,favorite:i,opening:r,discreet:d,onSelect:h,onOpen:u}=e,m=(0,b.Ym)(),p=(0,b.kj)();return(0,n.jsxs)("div",{id:"catalog-".concat(t.id),role:"option","aria-selected":s,"aria-busy":r,tabIndex:l?0:-1,"data-index":a,className:"catalog-tile",title:d?p("store.hidden",{n:a+1}):t.root,onClick:h,onDoubleClick:u,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),u())," "===e.key&&(e.preventDefault(),h())},children:[(0,n.jsx)(eh,{score:t.healthScore,grade:t.healthGrade}),(0,n.jsx)("span",{className:"catalog-tile__handle",children:r?(0,n.jsx)(et,{}):(0,n.jsx)(ee,{name:d?p("store.hidden",{n:a+1}):t.name,onOpen:u})}),d?(0,n.jsx)(ed,{size:"tile",variant:a}):(0,n.jsx)(v.hV,{locale:m,name:t.name,src:t.hasIcon?"/icon/".concat(t.id):null,size:76,tone:"neutral"}),(0,n.jsxs)("span",{className:"catalog-tile__name",children:[i&&(0,n.jsx)(o.K7t,{"aria-hidden":!0}),(0,n.jsx)("span",{children:d?p("store.hidden",{n:a+1}):t.name}),!d&&t.copyCount>0&&(0,n.jsx)(o.Zs_,{title:p("store.alsoCopiesMark",{n:t.copyCount})})]}),(0,n.jsxs)("span",{className:"catalog-tile__meta",children:[(0,n.jsx)(em,{state:t.state}),(0,v.Pp)(t.lastCommitAt,m),t.risks.length>0&&(0,n.jsx)(o.Dco,{className:"risk-mark",title:t.risks.map(e=>(0,c.P3)(p,e)).join(" \xb7 ")})]})]})}function ed(e){let{size:t,variant:a}=e;return(0,n.jsx)("span",{className:"catalog-private-mark catalog-private-mark--".concat(t),"data-variant":a%4,"aria-hidden":!0,children:(0,n.jsx)("span",{className:"catalog-private-mark__seal"})})}function eh(e){let{score:t,grade:a}=e,s=(0,b.kj)(),l=2*Math.PI*11,i=Math.max(0,Math.min(100,t))/100*l;return(0,n.jsxs)("span",{className:"health-dial health-dial--".concat(es(a)),title:s("catalog.healthOf",{n:t}),children:[(0,n.jsxs)("svg",{viewBox:"0 0 26 26","aria-hidden":!0,children:[(0,n.jsx)("circle",{className:"health-dial__track",cx:"13",cy:"13",r:11}),(0,n.jsx)("circle",{className:"health-dial__arc",cx:"13",cy:"13",r:11,strokeDasharray:"".concat(i," ").concat(l)})]}),(0,n.jsx)("span",{children:t})]})}function eu(e){var t,a;let{technologies:s}=e,l=s.find(e=>"framework"===e.kind||"language"===e.kind);if(!l)return(0,n.jsx)("span",{className:"stack-mark stack-mark--empty",children:"—"});let i=null!=(a=J[(t=l.name).toLowerCase()])?a:J[t.toLowerCase()],r=null==i?void 0:i.icon;return(0,n.jsxs)("span",{className:"stack-mark",children:[r?(0,n.jsx)(r,{"aria-hidden":!0,style:{color:i.color}}):null,(0,n.jsx)("span",{children:l.name})]})}function em(e){let{state:t}=e,a=(0,b.kj)();return(0,n.jsx)("span",{className:"state-dot state-dot--".concat(t),title:a(ex(t)),children:(0,n.jsx)("span",{className:"sr-only",children:a(ex(t))})})}function ep(e){var t,a;let{project:s,discreet:i,index:r,favorite:d,onFavorite:h,onHide:u,onClose:m,error:p}=e,x=(0,b.kj)(),j=(0,b.Ym)(),f=ea(s),g=es(s.healthGrade),y=i?x("store.hidden",{n:r+1}):s.name,w=!1===s.gitVersioned?x("catalog.noGit"):s.gitRemoteUrl?x("catalog.remote"):x("catalog.localOnly"),N="foreign"===s.originKind?x("origin.foreign"):"forked"===s.originKind?x("origin.forked"):"template"===s.originKind?x("origin.template"):null;return(0,n.jsxs)("aside",{className:"detail-panel","aria-label":x("catalog.detailsOf",{name:y}),children:[(0,n.jsxs)("header",{className:"detail-panel__head",children:[i?(0,n.jsx)(ed,{size:"row",variant:r}):(0,n.jsx)(v.hV,{locale:j,name:s.name,src:s.hasIcon?"/icon/".concat(s.id):null,size:38,tone:"neutral"}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h2",{children:y}),!i&&(0,n.jsx)("p",{title:s.root,children:el(s.root)})]}),(0,n.jsx)("button",{type:"button",onClick:m,"aria-label":x("catalog.close"),children:(0,n.jsx)(o.fZH,{"aria-hidden":!0})})]}),(0,n.jsxs)("div",{className:"detail-panel__open",children:[(0,n.jsx)(Z.q,{projectId:s.id,path:s.root,locale:j}),(0,n.jsx)(q.w,{projectId:s.id,projectName:s.name,compact:!0})]}),(0,n.jsxs)("section",{className:"detail-health detail-health--".concat(g),children:[(0,n.jsxs)("p",{children:[(0,n.jsx)(em,{state:s.state}),x("catalog.colHealth")]}),(0,n.jsxs)("p",{className:"detail-health__score",children:[(0,n.jsx)("strong",{children:s.healthScore}),(0,n.jsx)("span",{children:"/100"})]}),(0,n.jsx)("span",{className:"detail-health__meter",children:(0,n.jsx)("span",{style:{width:"".concat(Math.max(0,Math.min(100,s.healthScore)),"%")}})})]}),(0,n.jsxs)("dl",{className:"detail-facts",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("dt",{children:x("catalog.colStack")}),(0,n.jsx)("dd",{children:(0,n.jsx)(eu,{technologies:s.technologies})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("dt",{children:x("catalog.colActivity")}),(0,n.jsx)("dd",{children:(0,v.Pp)(s.lastCommitAt,j)})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("dt",{children:x("catalog.commits")}),(0,n.jsx)("dd",{children:null!=(t=s.gitCommitCount)?t:"—"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("dt",{children:x("catalog.repository")}),(0,n.jsx)("dd",{children:w})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("dt",{children:x("catalog.size")}),(0,n.jsx)("dd",{children:(0,v.z3)(s.sourceBytes)})]}),N&&(0,n.jsxs)("div",{children:[(0,n.jsx)("dt",{children:x("catalog.origin")}),(0,n.jsx)("dd",{title:null!=(a=s.originStartedBy)?a:void 0,children:N})]})]}),en(s)&&(0,n.jsxs)("section",{className:"detail-review",children:[(0,n.jsx)("h3",{children:x("catalog.needsReview")}),f>0&&(0,n.jsxs)(l(),{href:"/p/".concat(s.slug,"#propuestas"),className:"detail-review__waiting",children:[(0,n.jsx)(o.V83,{"aria-hidden":!0}),(0,n.jsx)("span",{children:x(1===f?"store.proposalsWaitingOne":"store.proposalsWaitingMany",{n:f})})]}),(0,n.jsxs)("ul",{children:[s.risks.map(e=>(0,n.jsx)("li",{className:"is-danger",children:(0,n.jsx)(l(),{href:"/p/".concat(s.slug,"#unsaved"),title:x("catalog.reviewUnsaved"),children:(0,c.P3)(x,e)})},e.code)),s.vulnCount>0&&(0,n.jsx)("li",{className:"is-danger",children:(0,n.jsx)(l(),{href:"/p/".concat(s.slug,"#security"),title:x("catalog.reviewSecurity"),children:1===s.vulnCount?x("store.noticeOne"):x("store.noticesMany",{n:s.vulnCount})})}),s.outdatedDeps>0&&(0,n.jsx)("li",{children:(0,n.jsx)(l(),{href:"/p/".concat(s.slug,"#dependencies"),title:x("catalog.reviewDeps"),children:x("store.depsBehindRatio",{n:s.outdatedDeps,total:s.directDeps||0})})}),s.depsUnresolved&&(0,n.jsx)("li",{children:(0,n.jsx)(l(),{href:"/p/".concat(s.slug,"#dependencies"),title:x("project.depsUncheckedWhy",{file:s.depsUnresolved}),children:x("store.depsUnchecked")})})]})]}),p&&(0,n.jsx)("p",{className:"detail-panel__error",role:"alert",children:p}),(0,n.jsxs)("footer",{className:"detail-panel__foot",children:[(0,n.jsxs)(l(),{href:"/p/".concat(s.slug),children:[x("catalog.fullDetail")," ",(0,n.jsx)(o.OvC,{"aria-hidden":!0})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("button",{type:"button",onClick:h,"aria-label":d?x("store.favoriteRemove",{name:s.name}):x("store.favoriteAdd",{name:s.name}),"aria-pressed":d,children:d?(0,n.jsx)(o.K7t,{"aria-hidden":!0}):(0,n.jsx)(o.sdO,{"aria-hidden":!0})}),(0,n.jsx)("button",{type:"button",onClick:u,"aria-label":x("store.hideNamed",{name:s.name}),children:(0,n.jsx)(o.EgV,{"aria-hidden":!0})})]})]})]})}function ex(e){return"active"===e?"state.active":"paused"===e?"state.paused":"dormant"===e?"state.dormant":"state.no-git"}},30953:(e,t,a)=>{"use strict";function n(e){return(null!=e?e:"").toLowerCase().normalize("NFD").replace(RegExp("\\p{Diacritic}","gu"),"")}a.d(t,{A:()=>n})},41268:(e,t,a)=>{"use strict";a.d(t,{SearchProvider:()=>c,S:()=>o});var n=a(38657),s=a(10354),l=a(32165);function i(e,t){var a;return"/"!==e?"":null!=(a=("string"==typeof t?new URLSearchParams(t):t).get("q"))?a:""}let r=(0,l.createContext)({query:"",setQuery:()=>{}});function o(){return(0,l.useContext)(r)}function c(e){let{children:t}=e,a=(0,s.usePathname)(),o=(0,s.useSearchParams)(),[c,d]=(0,l.useState)(()=>i(a,o));(0,l.useEffect)(()=>{d(i(a,o))},[a,o]);let h=(0,l.useMemo)(()=>({query:c,setQuery:d}),[c]);return(0,n.jsx)(r.Provider,{value:h,children:t})}},42351:(e,t,a)=>{Promise.resolve().then(a.bind(a,79840)),Promise.resolve().then(a.bind(a,29443)),Promise.resolve().then(a.t.bind(a,3953,23))},48804:(e,t,a)=>{"use strict";a.d(t,{K:()=>o,t:()=>r});var n=a(38657),s=a(32165),l=a(3043),i=a(9144);function r(){let[e,t]=(0,s.useState)();return(0,s.useEffect)(()=>{let e=!0;return fetch("/api/watch").then(e=>e.json()).then(a=>{e&&t(a)}).catch(()=>void 0),()=>{e=!1}},[]),e}function o(e){let{failure:t}=e,a=(0,i.kj)();return(0,n.jsxs)("section",{className:"catalog-down",role:"alert",children:[(0,n.jsxs)("h2",{children:[(0,n.jsx)(l.z1N,{"aria-hidden":!0}),a("catalog.down.title")]}),(0,n.jsx)("p",{children:a("catalog.down.body",{path:t.path})}),(0,n.jsx)("p",{className:"catalog-down__detail",children:(0,n.jsx)("code",{children:a("catalog.down.detail",{detail:t.detail})})})]})}},56684:(e,t,a)=>{"use strict";a.d(t,{k5:()=>d});var n=a(32165),s={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},l=n.createContext&&n.createContext(s),i=["attr","size","title"];function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e}).apply(null,arguments)}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function c(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){var n,s,l;n=e,s=t,l=a[t],(s=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(s))in n?Object.defineProperty(n,s,{value:l,enumerable:!0,configurable:!0,writable:!0}):n[s]=l}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function d(e){return t=>n.createElement(h,r({attr:c({},e.attr)},t),function e(t){return t&&t.map((t,a)=>n.createElement(t.tag,c({key:a},t.attr),e(t.child)))}(e.child))}function h(e){var t=t=>{var a,s=e.attr,l=e.size,o=e.title,d=function(e,t){if(null==e)return{};var a,n,s=function(e,t){if(null==e)return{};var a={};for(var n in e)if(({}).hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],-1===t.indexOf(a)&&({}).propertyIsEnumerable.call(e,a)&&(s[a]=e[a])}return s}(e,i),h=l||t.size||"1em";return t.className&&(a=t.className),e.className&&(a=(a?a+" ":"")+e.className),n.createElement("svg",r({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,s,d,{className:a,style:c(c({color:e.color||t.color},t.style),e.style),height:h,width:h,xmlns:"http://www.w3.org/2000/svg"}),o&&n.createElement("title",null,o),e.children)};return void 0!==l?n.createElement(l.Consumer,null,e=>t(e)):t(s)}},79840:(e,t,a)=>{"use strict";a.d(t,{CatalogSummary:()=>l});var n=a(38657),s=a(9144);function l(e){let{stats:t}=e,a=(0,s.kj)();return(0,n.jsxs)("div",{className:"catalog-overview",role:"group","aria-label":a("shell.summary"),children:[(0,n.jsxs)("dl",{className:"catalog-overview__states",children:[(0,n.jsx)(i,{label:a("shell.live"),value:t.live,tone:"live"}),(0,n.jsx)(i,{label:a("shell.paused"),value:t.paused,tone:"paused"}),(0,n.jsx)(i,{label:a("shell.dormant"),value:t.dormant}),(0,n.jsx)(i,{label:a("shell.noGit"),value:t.noGit})]}),(0,n.jsxs)("dl",{className:"catalog-overview__aside",children:[(0,n.jsx)(i,{label:a("shell.copies"),value:t.copies}),t.hidden>0&&(0,n.jsx)(i,{label:a("shell.hidden"),value:t.hidden})]})]})}function i(e){let{label:t,value:a,tone:s}=e;return(0,n.jsxs)("div",{className:"catalog-overview__item","data-tone":s,children:[(0,n.jsx)("dt",{children:t}),(0,n.jsx)("dd",{children:a})]})}}},e=>{e.O(0,[6587,3052,2583,3953,2575,2948,1369,2202,1305,6823,7358],()=>e(e.s=42351)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[668],{4475:(e,t,r)=>{Promise.resolve().then(r.bind(r,98623)),Promise.resolve().then(r.t.bind(r,3953,23))},9144:(e,t,r)=>{"use strict";r.d(t,{I18nProvider:()=>s,Ym:()=>c,Zs:()=>u,kj:()=>d});var n=r(38657),a=r(32165),i=r(2575);let o=(0,a.createContext)("en"),l=(0,a.createContext)("panoma");function s(e){let{locale:t,cli:r,children:a}=e;return(0,n.jsx)(o.Provider,{value:t,children:(0,n.jsx)(l.Provider,{value:r,children:a})})}function c(){return(0,a.useContext)(o)}function u(){return(0,a.useContext)(l)}function d(){let e=(0,a.useContext)(o),t=(0,a.useContext)(l);return(0,a.useCallback)((r,n)=>(0,i.t)(e,r,{cli:t,...n}),[e,t])}},10354:(e,t,r)=>{"use strict";var n=r(61990);r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})},21248:(e,t,r)=>{"use strict";r.d(t,{h:()=>a});var n=r(38657);function a(e){let{text:t,slots:r}=e,a=t.split(/\{(\w+)\}/g);return(0,n.jsx)(n.Fragment,{children:a.map((e,t)=>{var a;return t%2==0?e:(0,n.jsx)("span",{children:null!=(a=r[e])?a:"{".concat(e,"}")},t)})})}},56684:(e,t,r)=>{"use strict";r.d(t,{k5:()=>u});var n=r(32165),a={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},i=n.createContext&&n.createContext(a),o=["attr","size","title"];function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach(function(t){var n,a,i;n=e,a=t,i=r[t],(a=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(a))in n?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function u(e){return t=>n.createElement(d,l({attr:c({},e.attr)},t),function e(t){return t&&t.map((t,r)=>n.createElement(t.tag,c({key:r},t.attr),e(t.child)))}(e.child))}function d(e){var t=t=>{var r,a=e.attr,i=e.size,s=e.title,u=function(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r={};for(var n in e)if(({}).hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],-1===t.indexOf(r)&&({}).propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(e,o),d=i||t.size||"1em";return t.className&&(r=t.className),e.className&&(r=(r?r+" ":"")+e.className),n.createElement("svg",l({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,a,u,{className:r,style:c(c({color:e.color||t.color},t.style),e.style),height:d,width:d,xmlns:"http://www.w3.org/2000/svg"}),s&&n.createElement("title",null,s),e.children)};return void 0!==i?n.createElement(i.Consumer,null,e=>t(e)):t(a)}},98623:(e,t,r)=>{"use strict";r.d(t,{RunActions:()=>c});var n=r(38657),a=r(10354),i=r(32165),o=r(9144),l=r(21248),s=r(52948);function c(e){let{runId:t,branch:r}=e,c=(0,o.kj)(),u=(0,a.useRouter)(),[d,f]=(0,i.useState)(null),[p,b]=(0,i.useState)(null);async function m(e){f(e),b(null);try{var r,n;let a=await fetch("/api/runs/".concat(t),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e})}),i=await a.json();b({ok:!!i.ok,detail:null!=(n=null!=(r=i.detail)?r:i.error)?n:c("runActions.noDetail")}),i.ok&&u.refresh()}catch(e){b({ok:!1,detail:c("runActions.unreachable")})}finally{f(null)}}return(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,n.jsx)(s.rA,{tone:"accent",size:"lg",onClick:()=>m("aplicar"),busy:"aplicar"===d,busyLabel:c("runActions.merging"),disabled:null!==d,children:c("runActions.apply")}),(0,n.jsx)(s.rA,{tone:"plain",size:"lg",onClick:()=>m("descartar"),busy:"descartar"===d,busyLabel:c("runActions.discarding"),disabled:null!==d,children:c("runActions.discard")})]}),(0,n.jsx)("p",{className:"mt-2 font-mono text-[11px] text-faint",children:(0,n.jsx)(l.h,{text:c("runActions.note"),slots:{branch:(0,n.jsx)("span",{className:"text-smoke",children:r})}})}),p&&(0,n.jsx)("p",{className:"mt-3 rounded border px-3 py-2 text-xs ".concat(p.ok?"border-live/30 bg-live/10 text-live":"border-idle/30 bg-idle/10 text-idle"),children:p.detail})]})}}},e=>{e.O(0,[6587,3953,2575,2948,1305,6823,7358],()=>e(e.s=4475)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2229,2966,4345,4709],{24495:(e,s,_)=>{Promise.resolve().then(_.t.bind(_,3953,23))}},e=>{e.O(0,[3953,1305,6823,7358],()=>e(e.s=24495)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7712],{9144:(e,t,r)=>{"use strict";r.d(t,{I18nProvider:()=>i,Ym:()=>o,Zs:()=>u,kj:()=>d});var n=r(38657),a=r(32165),s=r(2575);let l=(0,a.createContext)("en"),c=(0,a.createContext)("panoma");function i(e){let{locale:t,cli:r,children:a}=e;return(0,n.jsx)(l.Provider,{value:t,children:(0,n.jsx)(c.Provider,{value:r,children:a})})}function o(){return(0,a.useContext)(l)}function u(){return(0,a.useContext)(c)}function d(){let e=(0,a.useContext)(l),t=(0,a.useContext)(c);return(0,a.useCallback)((r,n)=>(0,s.t)(e,r,{cli:t,...n}),[e,t])}},13e3:(e,t,r)=>{"use strict";let n;r.d(t,{R:()=>i,b:()=>l});var a=r(32165);let s={remote:!1,editor:null,editors:[],desktopApps:[],agents:[]};function l(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],[t,r]=(0,a.useState)(s);return(0,a.useEffect)(()=>{if(!e)return;null!=n||(n=fetch("/api/open").then(e=>e.json()).catch(()=>s));let t=!0;return n.then(e=>{t&&r(e)}),()=>{t=!1}},[e]),t}let c={cursor:"cursor",code:"vscode",windsurf:"windsurf",zed:"zed"};function i(e,t,r,n){let a=c[null!=e?e:"code"];if(!a)return null;let s=encodeURI("".concat(t.replace(/\/$/,""),"/").concat(r)).replace(/#/g,"%23").replace(/\?/g,"%3F");return"".concat(a,"://file").concat(s.startsWith("/")?"":"/").concat(s,":").concat(n)}},56684:(e,t,r)=>{"use strict";r.d(t,{k5:()=>u});var n=r(32165),a={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},s=n.createContext&&n.createContext(a),l=["attr","size","title"];function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach(function(t){var n,a,s;n=e,a=t,s=r[t],(a=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(a))in n?Object.defineProperty(n,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):n[a]=s}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function u(e){return t=>n.createElement(d,c({attr:o({},e.attr)},t),function e(t){return t&&t.map((t,r)=>n.createElement(t.tag,o({key:r},t.attr),e(t.child)))}(e.child))}function d(e){var t=t=>{var r,a=e.attr,s=e.size,i=e.title,u=function(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r={};for(var n in e)if(({}).hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],-1===t.indexOf(r)&&({}).propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(e,l),d=s||t.size||"1em";return t.className&&(r=t.className),e.className&&(r=(r?r+" ":"")+e.className),n.createElement("svg",c({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,a,u,{className:r,style:o(o({color:e.color||t.color},t.style),e.style),height:d,width:d,xmlns:"http://www.w3.org/2000/svg"}),i&&n.createElement("title",null,i),e.children)};return void 0!==s?n.createElement(s.Consumer,null,e=>t(e)):t(a)}},82582:(e,t,r)=>{"use strict";r.d(t,{CodeSearch:()=>o});var n=r(38657),a=r(32165),s=r(3043),l=r(9144),c=r(52948),i=r(13e3);function o(e){let{initialQuery:t}=e,r=(0,l.kj)(),[o,d]=(0,a.useState)(t),[h,p]=(0,a.useState)("ready"),[f,m]=(0,a.useState)(null),[x,j]=(0,a.useState)(null),b=(0,a.useRef)(null),{remote:y,editor:v}=(0,i.b)(),g=(0,a.useCallback)(async e=>{if(!(e.trim().length<2)){p("searching"),j(null);try{var t;let n=await fetch("/api/search?q=".concat(encodeURIComponent(e.trim()))),a=await n.json();n.ok?m(a):j(null!=(t=a.error)?t:r("search.failed"))}catch(e){j(r("search.unreachable"))}finally{p("ready")}}},[r]);return(0,a.useEffect)(()=>{var e;t.trim().length>=2?g(t):null==(e=b.current)||e.focus()},[t,g]),(0,n.jsxs)("div",{children:[(0,n.jsxs)("form",{className:"flex flex-wrap items-center gap-2",onSubmit:e=>{e.preventDefault(),g(o);let t=new URL(window.location.href);t.searchParams.set("q",o.trim()),window.history.replaceState(null,"",t)},children:[(0,n.jsx)(s.JJh,{"aria-hidden":!0}),(0,n.jsx)("input",{ref:b,value:o,onChange:e=>d(e.target.value),placeholder:"stripe.webhook, TODO, API_KEY…","aria-label":r("search.fieldLabel"),className:"min-w-0 flex-1 rounded border border-edge bg-raised px-2.5 py-1.5 text-xs text-chalk placeholder:text-faint focus:border-accent focus:outline-none"}),(0,n.jsx)(c.rA,{tone:"raised",type:"submit",busy:"searching"===h,busyLabel:r("search.searching"),disabled:"searching"===h||o.trim().length<2,children:r("search.submit")})]}),(0,n.jsxs)("p",{className:"mt-2 font-mono text-[11px] text-faint",children:[r("search.scopeNote")," ",r("search.scopeVendors")," ",(0,n.jsx)("code",{children:"Pods"}),", ",(0,n.jsx)("code",{children:"vendor"}),","," ",(0,n.jsx)("code",{children:"third_party"}),", ",(0,n.jsx)("code",{children:"node_modules"}),"."]}),x&&(0,n.jsx)("p",{className:"mt-3 font-mono text-xs text-fail",children:x}),f&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("p",{className:"mt-6 flex flex-wrap gap-x-4 font-mono text-xs text-faint",children:[(0,n.jsxs)("span",{className:"text-chalk",children:[r(1===f.total?"search.matchOne":"search.matchMany",{n:f.total})," ",r(1===f.results.length?"search.inProjectOne":"search.inProjectMany",{n:f.results.length})]}),(0,n.jsx)("span",{children:r("search.reposSearched",{n:f.searched})}),f.skipped>0&&(0,n.jsx)("span",{className:"text-idle",title:r("search.skippedTitle"),children:r("search.skipped",{n:f.skipped})}),!y&&f.results.length>0&&(0,n.jsx)("span",{className:"ml-auto",children:r("search.clickToOpen")})]}),0===f.results.length?(0,n.jsx)(c.pp,{className:"mt-4",title:r("search.noMatch",{query:f.query})}):(0,n.jsx)("ul",{className:"mt-4 space-y-3",children:f.results.map(e=>(0,n.jsxs)(c.Zp,{as:"li",pad:"none",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-1 border-b border-edge px-4 py-2.5",children:[(0,n.jsx)("a",{href:"/p/".concat(e.slug),className:"text-sm font-medium hover:text-accent",children:e.name}),(0,n.jsx)("span",{className:"font-mono text-[11px] text-faint",title:e.root,children:function(e){let t=e.split("/");return t.length<=3?e:"…/".concat(t.slice(-2).join("/"))}(e.root)}),(0,n.jsxs)("span",{className:"ml-auto font-mono text-[11px] text-accent",children:[e.matches.length,e.truncated&&"+"]}),!y&&(0,n.jsx)(u,{id:e.id})]}),(0,n.jsx)("ul",{className:"divide-y divide-edge/50",children:e.matches.map(t=>{let a=y?null:(0,i.R)(v,e.root,t.file,t.line),s=(0,n.jsxs)(n.Fragment,{children:[t.file,(0,n.jsxs)("span",{className:"text-accent",children:[":",t.line]})]});return(0,n.jsxs)("li",{className:"flex gap-3 px-4 py-1.5 font-mono text-[11px]",children:[a?(0,n.jsx)("a",{href:a,className:"w-56 shrink-0 truncate text-faint hover:text-accent",title:r("search.openAt",{file:t.file,line:t.line}),children:s}):(0,n.jsx)("span",{className:"w-56 shrink-0 truncate text-faint",title:t.file,children:s}),(0,n.jsx)("code",{className:"min-w-0 flex-1 truncate text-smoke",children:t.text})]},"".concat(t.file,":").concat(t.line))})}),e.truncated&&(0,n.jsx)("p",{className:"px-4 py-1.5 font-mono text-[10px] text-faint",children:r("search.truncated",{n:e.matches.length})})]},e.id))})]})]})}function u(e){let{id:t}=e,r=(0,l.kj)(),[c,i]=(0,a.useState)(null);return(0,n.jsx)("button",{type:"button",title:null!=c?c:r("search.openFolder"),onClick:async()=>{try{let n=await fetch("/api/open",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:t})});if(!n.ok){var e;let t=await n.json();i(null!=(e=t.error)?e:r("search.openFailed"))}}catch(e){i(r("search.unreachable"))}},className:"shrink-0 ".concat(c?"text-fail":"text-faint hover:text-accent"),"aria-label":r("search.openFolderAria"),children:(0,n.jsx)(s.gBk,{className:"h-4 w-4","aria-hidden":!0})})}},82633:(e,t,r)=>{Promise.resolve().then(r.bind(r,82582))}},e=>{e.O(0,[6587,2575,2948,1305,6823,7358],()=>e(e.s=82633)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5172],{9144:(e,t,s)=>{"use strict";s.d(t,{I18nProvider:()=>o,Ym:()=>c,Zs:()=>d,kj:()=>m});var a=s(38657),n=s(32165),r=s(2575);let l=(0,n.createContext)("en"),i=(0,n.createContext)("panoma");function o(e){let{locale:t,cli:s,children:n}=e;return(0,a.jsx)(l.Provider,{value:t,children:(0,a.jsx)(i.Provider,{value:s,children:n})})}function c(){return(0,n.useContext)(l)}function d(){return(0,n.useContext)(i)}function m(){let e=(0,n.useContext)(l),t=(0,n.useContext)(i);return(0,n.useCallback)((s,a)=>(0,r.t)(e,s,{cli:t,...a}),[e,t])}},10354:(e,t,s)=>{"use strict";var a=s(61990);s.o(a,"usePathname")&&s.d(t,{usePathname:function(){return a.usePathname}}),s.o(a,"useRouter")&&s.d(t,{useRouter:function(){return a.useRouter}}),s.o(a,"useSearchParams")&&s.d(t,{useSearchParams:function(){return a.useSearchParams}})},39765:(e,t,s)=>{Promise.resolve().then(s.bind(s,44653))},44653:(e,t,s)=>{"use strict";s.d(t,{SpendControls:()=>f});var a=s(38657),n=s(10354),r=s(32165),l=s(9144),i=s(52948);function o(e){return"es"===e?"es-ES":"en-US"}function c(e,t){return new Intl.NumberFormat(o(t)).format(e)}let d={read:"spend.family.read",look:"spend.family.look",memory:"spend.family.memory",ask:"spend.family.ask",rehearse:"spend.family.rehearse",episodes:"spend.family.episodes",card:"spend.family.card",app:"spend.family.app",handoff:"spend.family.handoff"},m={read:"spend.familyHint.read",look:"spend.familyHint.look",memory:"spend.familyHint.memory",ask:"spend.familyHint.ask",rehearse:"spend.familyHint.rehearse",episodes:"spend.familyHint.episodes",card:"spend.familyHint.card",app:"spend.familyHint.app",handoff:"spend.familyHint.handoff"},p={factory:"spend.source.factory",file:"spend.source.file",env:"spend.source.env",paused:"spend.source.paused"};function u(e){return Object.fromEntries(e.map(e=>[e.key,{input:e.rate?String(e.rate.input):"",output:e.rate?String(e.rate.output):""}]))}function x(e){return Object.fromEntries(e.families.map(t=>{let s=e.chosen[t.family];return[t.family,void 0===s?"":String(s)]}))}function h(e){return e&&(""!==e.input.trim()||""!==e.output.trim())?{input:Number(e.input||0),output:Number(e.output||0)}:null}function f(e){let{initial:t}=e,s=(0,l.kj)(),d=(0,l.Ym)(),m=(0,n.useRouter)(),[p,f]=(0,r.useState)(()=>x(t)),[g,j]=(0,r.useState)(()=>u(t.models)),[v,N]=(0,r.useState)(t.currency),[k,w]=(0,r.useState)(t.paused),[O,S]=(0,r.useState)(t.shots),[C,P]=(0,r.useState)(()=>Object.fromEntries(t.storage.scopes.map(e=>[e.scope,null===e.chosenMb?"":String(e.chosenMb)]))),[E,H]=(0,r.useState)(!1),[M,D]=(0,r.useState)(!1),[F,z]=(0,r.useState)(!1),[L,R]=(0,r.useState)(null),A=(0,r.useRef)(!1),U=3===v.trim().length?v.trim().toUpperCase():t.currency;function I(){z(!0),D(!1),R(null)}function _(e,t,s){j(a=>{var n;return{...a,[e]:{...null!=(n=a[e])?n:{input:"",output:""},[t]:s}}}),I()}function q(e){S(e),I()}async function Z(e){if(e.preventDefault(),A.current)return;A.current=!0,H(!0),I();let a={caps:Object.fromEntries(t.families.filter(e=>void 0===e.env).map(e=>{var t;let s=(null!=(t=p[e.family])?t:"").trim();return[e.family,""===s?null:Number(s)]})),rates:{...t.rates,...Object.fromEntries(t.models.map(e=>[e.key,h(g[e.key])]))},currency:v.trim().toUpperCase(),paused:k,shots:O,quota:Object.fromEntries(t.storage.scopes.filter(e=>"variable"!==e.source).map(e=>{var t;let s=(null!=(t=C[e.scope])?t:"").trim();return["catalog"===e.scope?"catalogMb":"projectMb",""===s?null:Number(s)]}))};try{let e=await fetch("/api/spend",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),t=await e.json().catch(()=>({}));if(!e.ok){var n;R([null!=(n=t.error)?n:s("spend.failed"),t.hint].filter(Boolean).join(" "));return}if(!Array.isArray(t.families)||!Array.isArray(t.models))return void R(s("spend.failed"));f(x(t)),j(u(t.models)),N(t.currency),w(t.paused),S(t.shots),P(Object.fromEntries(t.storage.scopes.map(e=>[e.scope,null===e.chosenMb?"":String(e.chosenMb)]))),D(!0),z(!1),m.refresh()}catch(e){R(s("project.unreachable"))}finally{A.current=!1,H(!1)}}return(0,a.jsxs)("form",{onSubmit:Z,"aria-busy":E,className:"mt-6 space-y-4",children:[(0,a.jsxs)(i.Zp,{as:"section","aria-labelledby":"spend-storage-title",children:[(0,a.jsx)("h2",{id:"spend-storage-title",className:"text-base font-semibold",children:s("spend.storage")}),(0,a.jsx)("p",{className:"mt-2 max-w-2xl text-xs leading-relaxed text-smoke",children:s("spend.storageHint")}),(0,a.jsx)("p",{className:"mt-3 font-mono text-xs text-smoke",children:s("spend.storageUsed",{used:(t.storage.state.catalog.bytes/1024/1024).toLocaleString(d,{maximumFractionDigits:2}),limit:t.storage.state.catalog.limit/1024/1024})}),(t.storage.state.paused||Object.values(t.storage.state.projects).some(e=>e.exceeded))&&(0,a.jsx)("p",{role:"status",className:"mt-2 text-sm text-smoke",children:s("memory.quotaPaused",{scope:s(t.storage.state.paused?"memory.quotaScopeCatalog":"memory.quotaScopeProject")})}),(0,a.jsx)("div",{className:"mt-4 grid gap-4 sm:grid-cols-2",children:t.storage.scopes.map(e=>{var n;return(0,a.jsxs)("div",{children:[(0,a.jsx)(i.D0,{label:s("catalog"===e.scope?"spend.quotaCatalog":"spend.quotaProject"),type:"number",min:1,max:t.storage.maximumMb,step:1,inputMode:"numeric",value:null!=(n=C[e.scope])?n:"",placeholder:String(e.effectiveMb),disabled:E||"variable"===e.source,onChange:t=>{P(s=>({...s,[e.scope]:t.target.value})),I()}}),(0,a.jsx)("p",{className:"mt-1 text-xs text-smoke",children:"variable"===e.source?s("spend.source.env",{name:e.variable}):s("spend.factory",{n:e.factoryMb})})]},e.scope)})}),(0,a.jsx)("p",{className:"mt-4 text-xs text-smoke",role:"full"===t.storage.disk.state?"alert":void 0,children:"unknown"===t.storage.disk.state?s("spend.diskUnknown"):s("full"===t.storage.disk.state?"spend.diskFull":"low"===t.storage.disk.state?"spend.diskLow":"spend.diskAvailable",{n:(t.storage.disk.availableBytes/1024/1024).toLocaleString(d,{maximumFractionDigits:0})})})]}),(0,a.jsxs)(i.Zp,{as:"section","aria-labelledby":"spend-caps-title",children:[(0,a.jsx)("h2",{id:"spend-caps-title",className:"text-base font-semibold",children:s("spend.caps")}),(0,a.jsx)("p",{className:"mt-2 max-w-2xl text-xs leading-relaxed text-smoke",children:s("spend.capsHint")}),(0,a.jsx)("div",{className:"mt-4 border-b border-edge pb-4",children:(0,a.jsxs)(i.Jl,{checked:k,disabled:E,onChange:e=>{w(e.target.checked),I()},children:[s("spend.pause"),(0,a.jsx)("span",{className:"mt-1 block text-xs leading-relaxed text-smoke",children:s("spend.pauseHint")})]})}),(0,a.jsx)("ul",{className:"mt-4 space-y-4",children:t.families.map(e=>{var t;return(0,a.jsx)(y,{line:e,value:null!=(t=p[e.family])?t:"",disabled:E,onChange:t=>{f(s=>({...s,[e.family]:t})),I()}},e.family)})})]}),(0,a.jsxs)(i.Zp,{as:"section","aria-labelledby":"spend-rates-title",children:[(0,a.jsx)("h2",{id:"spend-rates-title",className:"text-base font-semibold",children:s("spend.byModel")}),(0,a.jsx)("p",{className:"mt-2 max-w-2xl text-xs leading-relaxed text-smoke",children:s("spend.rateHint")}),(0,a.jsxs)("div",{className:"mt-4",children:[(0,a.jsx)(i.D0,{label:s("spend.currency"),"aria-describedby":"spend-currency-hint",type:"text",maxLength:3,autoCapitalize:"characters",spellCheck:!1,value:v,disabled:E,onChange:e=>{N(e.target.value),I()},className:"w-24"}),(0,a.jsx)("p",{id:"spend-currency-hint",className:"mt-1 max-w-2xl text-xs leading-relaxed text-smoke",children:s("spend.currencyHint")})]}),0===t.models.length?(0,a.jsx)(i.pp,{variant:"bare",className:"mt-4",title:s("spend.monthEmpty"),children:s("spend.modelsEmptyHint")}):(0,a.jsx)("div",{className:"mt-4 overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full min-w-[40rem] text-sm",children:[(0,a.jsxs)("caption",{className:"sr-only",children:[s("spend.byModel")," \xb7 ",s("spend.month")]}),(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{className:"text-left font-mono text-[11px] text-smoke",children:[(0,a.jsx)("th",{scope:"col",className:"py-1 pr-3 font-normal",children:s("spend.model")}),(0,a.jsx)("th",{scope:"col",className:"py-1 pr-3 text-right font-normal",children:s("spend.colCalls")}),(0,a.jsx)("th",{scope:"col",className:"py-1 pr-3 text-right font-normal",children:s("spend.colIn")}),(0,a.jsx)("th",{scope:"col",className:"py-1 pr-3 text-right font-normal",children:s("spend.colOut")}),(0,a.jsx)("th",{scope:"col",className:"py-1 pr-3 text-right font-normal",children:s("spend.colUnmetered")}),(0,a.jsx)("th",{scope:"col",className:"py-1 pr-3 font-normal",children:s("spend.colRateIn")}),(0,a.jsx)("th",{scope:"col",className:"py-1 pr-3 font-normal",children:s("spend.colRateOut")}),(0,a.jsx)("th",{scope:"col",className:"py-1 text-right font-normal",children:s("spend.colCost")})]})}),(0,a.jsx)("tbody",{children:t.models.map(e=>{var t,n;let r=null!=(t=g[e.key])?t:{input:"",output:""},l=(n=h(r))?e.input/1e6*n.input+e.output/1e6*n.output:null;return(0,a.jsxs)("tr",{className:"border-t border-edge",children:[(0,a.jsx)("th",{scope:"row",className:"py-2 pr-3 text-left font-mono text-xs font-normal",children:e.key}),(0,a.jsx)("td",{className:"py-2 pr-3 text-right font-mono text-xs",children:c(e.calls,d)}),(0,a.jsx)("td",{className:"py-2 pr-3 text-right font-mono text-xs",children:c(e.input,d)}),(0,a.jsx)("td",{className:"py-2 pr-3 text-right font-mono text-xs",children:c(e.output,d)}),(0,a.jsx)("td",{className:"py-2 pr-3 text-right font-mono text-xs",children:c(e.unmetered,d)}),(0,a.jsx)("td",{className:"py-2 pr-3",children:(0,a.jsx)(i.D0,{label:s("spend.rateInLabel",{model:e.key}),hideLabel:!0,size:"sm",className:"w-24",type:"number",min:0,step:"any",inputMode:"decimal",placeholder:"—",value:r.input,disabled:E,onChange:t=>_(e.key,"input",t.target.value)})}),(0,a.jsx)("td",{className:"py-2 pr-3",children:(0,a.jsx)(i.D0,{label:s("spend.rateOutLabel",{model:e.key}),hideLabel:!0,size:"sm",className:"w-24",type:"number",min:0,step:"any",inputMode:"decimal",placeholder:"—",value:r.output,disabled:E,onChange:t=>_(e.key,"output",t.target.value)})}),(0,a.jsx)("td",{className:"py-2 text-right font-mono text-xs",children:e.calls>0&&e.unmetered===e.calls&&e.input+e.output===0?s("spend.rateUnmetered"):null===l?s("spend.rateMissing"):function(e,t,s){try{return new Intl.NumberFormat(o(s),{style:"currency",currency:t,minimumFractionDigits:2,maximumFractionDigits:4}).format(e)}catch(s){return"".concat(e.toFixed(2)," ").concat(t)}}(l,U,d)})]},e.key)})})]})})]}),(0,a.jsxs)(i.Zp,{as:"section","aria-labelledby":"spend-shots-title",children:[(0,a.jsx)("h2",{id:"spend-shots-title",className:"text-base font-semibold",children:s("spend.shots")}),(0,a.jsx)("p",{id:"spend-shots-hint",className:"mt-2 max-w-2xl text-xs leading-relaxed text-smoke",children:s("spend.shotsHint")}),(0,a.jsxs)("fieldset",{"aria-labelledby":"spend-shots-title","aria-describedby":"spend-shots-hint",className:"mt-4 flex flex-col gap-3 border-0 p-0",children:[(0,a.jsx)(b,{value:"full",chosen:O,disabled:E,label:s("spend.shotFull"),hint:s("spend.shotFullHint"),onChoose:q}),(0,a.jsx)(b,{value:"fit",chosen:O,disabled:E,label:s("spend.shotFit",{n:c(t.shotEdge,d)}),hint:s("spend.shotFitHint"),onChoose:q})]}),(0,a.jsx)("p",{className:"mt-3 max-w-2xl text-xs leading-relaxed text-smoke",children:s("spend.shotsPng")})]}),(0,a.jsxs)("div",{className:F||E||M?"sticky bottom-[calc(var(--dock-height)+env(safe-area-inset-bottom,0px)+var(--space-2))] rounded-lg border border-edge bg-surface p-3 min-[761px]:bottom-4":"py-2",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,a.jsx)(i.rA,{type:"submit",tone:"accent",busy:E,busyLabel:s("spend.saving"),children:s("spend.save")}),(0,a.jsx)("p",{role:"status","aria-live":"polite",className:"text-xs text-smoke",children:F?s("spend.dirty"):M?s("spend.saved"):""})]}),L&&(0,a.jsx)(i.lZ,{text:L,className:"mt-3"})]})]})}function b(e){let{value:t,chosen:s,disabled:n,label:r,hint:l,onChoose:i}=e,o="spend-shots-".concat(t);return(0,a.jsxs)("label",{htmlFor:o,className:"flex items-start gap-2 text-sm",children:[(0,a.jsx)("input",{id:o,type:"radio",name:"spend-shots",value:t,checked:s===t,disabled:n,onChange:()=>i(t),className:"mt-1"}),(0,a.jsxs)("span",{className:"max-w-2xl",children:[r,(0,a.jsx)("span",{className:"mt-0.5 block text-xs leading-relaxed text-smoke",children:l})]})]})}function y(e){var t,s,n,r;let{line:o,value:u,disabled:x,onChange:h}=e,f=(0,l.kj)(),b=(0,l.Ym)(),y="spend-cap-".concat(o.family),j=void 0!==o.env,v="paused"===o.source,N=0===o.cap,k=o.used>=o.cap,w="env"===o.source?f("spend.source.env",{name:o.variable}):f(p[o.source]);return(0,a.jsxs)("li",{className:"border-t border-edge pt-4 first:border-0 first:pt-0",children:[(0,a.jsxs)("div",{className:"grid gap-3 sm:grid-cols-[minmax(0,1fr)_7rem] sm:gap-x-6",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-baseline gap-2",children:[(0,a.jsx)("label",{id:"".concat(y,"-name"),htmlFor:y,className:"text-sm font-semibold",children:f(d[o.family])}),(0,a.jsx)(i.vw,{tone:v||N||k?"strong":"neutral",size:"md",children:f(v?"spend.state.paused":N?"spend.state.disabled":k?"spend.state.exhausted":"spend.state.enabled")})]}),(0,a.jsx)("p",{id:"".concat(y,"-hint"),className:"mt-1 text-xs leading-relaxed text-smoke",children:f(m[o.family])}),(0,a.jsx)("p",{className:"mt-2 font-mono text-xs text-smoke",children:f("app"===o.family?"spend.usageAttempts":"spend.usageCalls",{used:c(o.used,b),cap:c(o.cap,b)})}),(0,a.jsx)("div",{className:"mt-2 h-1 overflow-hidden rounded-full bg-raised","aria-hidden":!0,children:(0,a.jsx)("div",{className:"h-full bg-chalk",style:{width:"".concat((n=o.used,(r=o.cap)<=0?100*(n>0):Math.min(100,Math.round(n/r*100))),"%")}})}),(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-baseline gap-2 text-xs text-smoke",children:[(0,a.jsx)(i.vw,{size:"md",children:w}),"factory"!==o.source&&(0,a.jsx)("span",{children:f("spend.factory",{n:c(o.factory,b)})})]}),(0,a.jsx)(g,{row:o})]}),(0,a.jsxs)("div",{className:"max-w-28",children:[(0,a.jsx)("span",{id:"".concat(y,"-unit"),className:"mb-1 block text-xs leading-relaxed text-smoke",children:f("app"===o.family?"spend.capAttempts":"spend.capCalls")}),(0,a.jsx)("input",{id:y,"aria-labelledby":"".concat(y,"-name ").concat(y,"-unit"),"aria-describedby":"".concat(y,"-hint").concat(j?" ".concat(y,"-env"):""),type:"number",min:0,max:1e5,step:1,inputMode:"numeric",placeholder:String(o.factory),value:j?String(o.cap):u,disabled:x||j,onChange:e=>h(e.target.value),className:"block w-full rounded border border-edge bg-surface px-2 py-1.5 font-mono text-xs disabled:opacity-50"})]})]}),j&&(0,a.jsx)("p",{id:"".concat(y,"-env"),className:"mt-2 text-xs leading-relaxed text-smoke",children:!1===o.envReadable?f("spend.envUnread",{name:o.variable,value:null!=(t=o.env)?t:"",factory:o.factory}):f("spend.envDecides",{name:o.variable,value:null!=(s=o.env)?s:""})}),"app"===o.family&&(0,a.jsx)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:f("spend.appReservationsHint")})]})}function g(e){let{row:t}=e,s=(0,l.kj)(),n=(0,l.Ym)();if(!(t.input>0||t.output>0||t.unmetered>0||t.images>0))return null;let r=[];return t.input+t.output>0&&r.push(s("spend.tokens",{input:c(t.input,n),output:c(t.output,n)})),t.unmetered>0&&r.push(s("spend.unmetered",{n:c(t.unmetered,n)})),t.images>0&&r.push(s("spend.images",{n:c(t.images,n)})),(0,a.jsx)("p",{className:"mt-2 font-mono text-xs leading-relaxed text-smoke",children:r.join(" \xb7 ")})}},56684:(e,t,s)=>{"use strict";s.d(t,{k5:()=>d});var a=s(32165),n={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},r=a.createContext&&a.createContext(n),l=["attr","size","title"];function i(){return(i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)({}).hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(null,arguments)}function o(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,a)}return s}function c(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?o(Object(s),!0).forEach(function(t){var a,n,r;a=e,n=t,r=s[t],(n=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var a=s.call(e,t||"default");if("object"!=typeof a)return a;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(n))in a?Object.defineProperty(a,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):a[n]=r}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):o(Object(s)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))})}return e}function d(e){return t=>a.createElement(m,i({attr:c({},e.attr)},t),function e(t){return t&&t.map((t,s)=>a.createElement(t.tag,c({key:s},t.attr),e(t.child)))}(e.child))}function m(e){var t=t=>{var s,n=e.attr,r=e.size,o=e.title,d=function(e,t){if(null==e)return{};var s,a,n=function(e,t){if(null==e)return{};var s={};for(var a in e)if(({}).hasOwnProperty.call(e,a)){if(-1!==t.indexOf(a))continue;s[a]=e[a]}return s}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)s=r[a],-1===t.indexOf(s)&&({}).propertyIsEnumerable.call(e,s)&&(n[s]=e[s])}return n}(e,l),m=r||t.size||"1em";return t.className&&(s=t.className),e.className&&(s=(s?s+" ":"")+e.className),a.createElement("svg",i({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,n,d,{className:s,style:c(c({color:e.color||t.color},t.style),e.style),height:m,width:m,xmlns:"http://www.w3.org/2000/svg"}),o&&a.createElement("title",null,o),e.children)};return void 0!==r?a.createElement(r.Consumer,null,e=>t(e)):t(n)}}},e=>{e.O(0,[6587,2575,2948,1305,6823,7358],()=>e(e.s=39765)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2168],{9144:(e,t,n)=>{"use strict";n.d(t,{I18nProvider:()=>i,Ym:()=>c,Zs:()=>u,kj:()=>d});var l=n(38657),o=n(32165),a=n(2575);let r=(0,o.createContext)("en"),s=(0,o.createContext)("panoma");function i(e){let{locale:t,cli:n,children:o}=e;return(0,l.jsx)(r.Provider,{value:t,children:(0,l.jsx)(s.Provider,{value:n,children:o})})}function c(){return(0,o.useContext)(r)}function u(){return(0,o.useContext)(s)}function d(){let e=(0,o.useContext)(r),t=(0,o.useContext)(s);return(0,o.useCallback)((n,l)=>(0,a.t)(e,n,{cli:t,...l}),[e,t])}},10354:(e,t,n)=>{"use strict";var l=n(61990);n.o(l,"usePathname")&&n.d(t,{usePathname:function(){return l.usePathname}}),n.o(l,"useRouter")&&n.d(t,{useRouter:function(){return l.useRouter}}),n.o(l,"useSearchParams")&&n.d(t,{useSearchParams:function(){return l.useSearchParams}})},11056:(e,t,n)=>{Promise.resolve().then(n.bind(n,38444))},31821:(e,t,n)=>{"use strict";let l;n.d(t,{q:()=>a});var o=n(32165);function a(){let[e,t]=(0,o.useState)({available:!1,agent:null});return(0,o.useEffect)(()=>{null!=l||(l=fetch("/api/assignments/launch").then(e=>e.json()).catch(()=>({available:!1,agent:null})));let e=!0;return l.then(n=>{e&&t(n)}),()=>{e=!1}},[]),e}},38444:(e,t,n)=>{"use strict";n.d(t,{LookFindings:()=>f,TwinLook:()=>m});var l=n(38657),o=n(32165),a=n(10354),r=n(9144),s=n(31821),i=n(52948);let c=["image/png","image/jpeg","image/webp","image/gif"],u={format:"look.whyFormat",variant:"look.whyVariant",already:"look.whyAlready",broken:"look.whyBroken",huge:"look.whyHuge"};function d(e,t){var n,l,o;return void 0===t||"fit"!==t.policy?null:void 0===t.fitted?e("look.fitAsked",{edge:t.maxEdge}):t.fitted?e("look.fitSent",{size:"".concat(t.width,"\xd7").concat(t.height),from:"".concat(null==(n=t.from)?void 0:n.width,"\xd7").concat(null==(l=t.from)?void 0:l.height)}):e("look.fitWhole",{why:e(u[null!=(o=t.why)?o:"broken"])})}function m(e){var t,n;let{boards:s,projects:u,maxBytes:m,shots:f}=e,h=(0,r.kj)(),g=(0,r.Ym)(),b=(0,a.useRouter)(),k=(0,o.useRef)(null),[j,y]=(0,o.useState)(null),[v,w]=(0,o.useState)(null),[N,O]=(0,o.useState)(null),[S,C]=(0,o.useState)(null!=(n=null==(t=u[0])?void 0:t.slug)?n:"");async function P(e,t,n){y(t),w(null),O(null);try{var l,o,a,r;let t=await p({...(r=e,Object.fromEntries(Object.entries(r).filter(e=>{let[t]=e;return"image"!==t}))),dryRun:!0});if(t.error)return void w(t.error);let s=void 0!==t.width&&void 0!==t.height?" \xb7 ".concat(t.width,"\xd7").concat(t.height):"",c=d(h,t.sent);w(h("look.estimate",{statements:null!=(l=t.statements)?l:0,tokens:null!=(o=t.estimatedTokens)?o:0,size:(0,i.z3)(null!=(a=t.imageBytes)?a:0)})+s+(null===c?"":" \xb7 ".concat(c)));let u=await p({...e,dryRun:!1});if(u.error)return void w(u.error);O({subject:n,receipt:u}),w(null),b.refresh()}catch(e){w(h("project.unreachable"))}finally{y(null)}}async function E(e){if(!c.includes(e.type))return void w(h("look.badType"));if(e.size>m)return void w(h("look.tooBig",{size:(0,i.z3)(e.size),cap:(0,i.z3)(m)}));let t=function(e){let t="";for(let n=0;n<e.length;n+=8192)t+=String.fromCharCode(...e.subarray(n,n+8192));return btoa(t)}(new Uint8Array(await e.arrayBuffer()));await P({slug:S,image:t,mediaType:e.type,imageBytes:e.size},"upload",e.name)}return(0,l.jsxs)("section",{className:"mt-8 flex flex-col gap-6",children:[(0,l.jsx)("p",{className:"font-mono text-xs text-idle",children:h("look.notRedacted")}),0===s.length?(0,l.jsxs)(i.Zp,{tone:"plain",children:[(0,l.jsx)("p",{className:"eyebrow",children:h("look.inboxTitle")}),(0,l.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed",children:h("look.noInbox")}),(0,l.jsx)("p",{className:"mt-1 max-w-2xl font-mono text-xs text-smoke",children:h("look.noInboxHint")})]}):s.map(e=>(0,l.jsxs)(i.Zp,{tone:"plain",children:[(0,l.jsx)("p",{className:"eyebrow",children:h("look.inboxOf",{project:e.name})}),(0,l.jsx)("p",{className:"mt-1 font-mono text-xs text-faint",children:e.dir}),0===e.shots.length?(0,l.jsx)("p",{className:"mt-3 max-w-2xl text-sm leading-relaxed text-smoke",children:h("look.inboxEmpty")}):(0,l.jsx)("div",{className:"mt-3 grid gap-3 sm:grid-cols-2",children:e.shots.map(t=>{let n="".concat(e.slug,"/").concat(t.name);return(0,l.jsxs)("div",{className:"flex gap-3 rounded border border-edge p-2",children:[(0,l.jsx)("img",{src:"/api/twin/shot?slug=".concat(encodeURIComponent(e.slug),"&name=").concat(encodeURIComponent(t.name)),alt:t.name,className:"h-20 w-28 shrink-0 rounded border border-edge bg-raised object-cover"}),(0,l.jsxs)("div",{className:"flex min-w-0 flex-col gap-1",children:[(0,l.jsx)("span",{className:"truncate font-mono text-xs",children:t.name}),(0,l.jsxs)("span",{className:"font-mono text-xs text-faint",children:[(0,i.z3)(t.bytes)," \xb7 ",new Date(t.at).toLocaleString(g)]}),null!==t.findings&&(0,l.jsx)("span",{className:"font-mono text-xs text-smoke",children:0===t.findings?h("look.lookedClean"):h("look.looked",{n:t.findings})}),(0,l.jsx)(i.rA,{tone:"plain",type:"button",onClick:()=>P({slug:e.slug,shot:t.name},n,t.name),busy:j===n,busyLabel:h("look.looking"),disabled:null!==j,className:"mt-auto self-start",children:h(null===t.findings?"look.button":"look.buttonAgain")})]})]},n)})}),e.skipped>0&&(0,l.jsx)("p",{className:"mt-2 font-mono text-xs text-faint",children:h("look.inboxSkipped",{n:e.skipped})})]},e.slug)),u.length>0&&(0,l.jsxs)(i.Zp,{tone:"plain",children:[(0,l.jsx)("p",{className:"eyebrow",children:h("look.uploadTitle")}),(0,l.jsx)("p",{className:"mt-1 max-w-2xl text-sm leading-relaxed text-smoke",children:h("look.uploadHint")}),(0,l.jsx)("p",{className:"mt-1 font-mono text-xs text-faint",children:h("fit"===f?"look.uploadCapFit":"look.uploadCapFull",{cap:(0,i.z3)(m)})}),(0,l.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,l.jsx)("select",{value:S,onChange:e=>C(e.target.value),"aria-label":h("look.uploadTarget"),className:"rounded border border-edge bg-transparent px-2 py-1 font-mono text-xs",children:u.map(e=>(0,l.jsx)("option",{value:e.slug,children:e.name},e.slug))}),(0,l.jsx)("input",{ref:k,type:"file",accept:c.join(","),className:"hidden",onChange:e=>{var t;let n=null==(t=e.target.files)?void 0:t[0];e.target.value="",n&&E(n)}}),(0,l.jsx)(i.rA,{tone:"plain",type:"button",onClick:()=>{var e;return null==(e=k.current)?void 0:e.click()},busy:"upload"===j,busyLabel:h("look.looking"),disabled:null!==j||""===S,children:h("look.uploadPick")})]})]}),v&&(0,l.jsx)("p",{className:"font-mono text-xs text-smoke",children:v}),N&&(0,l.jsx)(x,{subject:N.subject,receipt:N.receipt})]})}function x(e){var t,n,o,a,s;let{subject:c,receipt:u}=e,m=(0,r.kj)(),x=null!=(t=u.findings)?t:[],p=d(m,u.sent);return(0,l.jsxs)(i.Zp,{tone:"plain",children:[(0,l.jsx)("p",{className:"eyebrow",children:m("look.verdictOf",{subject:c})}),u.unreadable?(0,l.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed text-idle",children:m("look.unreadable")}):0===x.length?(0,l.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed",children:m("look.clean")}):(0,l.jsx)(f,{lookId:null!=(n=u.lookId)?n:"",findings:x,assigned:{}}),(0,l.jsxs)("p",{className:"mt-3 font-mono text-xs text-faint",children:[m("look.measured",{statements:null!=(o=u.statements)?o:0}),u.model?" \xb7 ".concat(u.model):""]}),null!==p&&(0,l.jsx)("p",{className:"mt-1 font-mono text-xs text-faint",children:p}),(null!=(a=u.dropped)?a:0)>0&&(0,l.jsx)("p",{className:"mt-1 font-mono text-xs text-faint",children:m("look.dropped",{n:null!=(s=u.dropped)?s:0})})]})}function f(e){let{lookId:t,findings:n,assigned:c,launched:u=[],discarded:d=[]}=e,m=(0,r.kj)(),x=(0,a.useRouter)(),f=(0,s.q)(),[p,h]=(0,o.useState)(c),[g,b]=(0,o.useState)(()=>new Set(u)),[k,j]=(0,o.useState)(()=>new Set(d)),[y,v]=(0,o.useState)(null),[w,N]=(0,o.useState)({});function O(e,t){N(n=>({...n,[e]:t}))}async function S(e){v(e);try{var n,l,o;let a=await fetch("/api/twin/assign",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({lookId:t,finding:e})}),r=await a.json();if(!a.ok){r.id&&h(t=>({...t,[e]:r.id})),O(e,null!=(n=r.error)?n:String(a.status));return}r.id&&h(t=>({...t,[e]:r.id})),j(t=>{let n=new Set(t);return n.delete(e),n}),O(e,m("look.assignDone",{project:null!=(l=r.project)?l:"",title:null!=(o=r.title)?o:""})),x.refresh()}catch(t){O(e,m("project.unreachable"))}finally{v(null)}}async function C(e){v(e);try{let l=await fetch("/api/twin/assign",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({lookId:t,finding:e,decision:"discard"})}),o=await l.json();if(!l.ok){var n;O(e,null!=(n=o.error)?n:String(l.status));return}j(t=>new Set(t).add(e)),h(t=>{let n={...t};return delete n[e],n}),O(e,m("look.dismissDone")),x.refresh()}catch(t){O(e,m("project.unreachable"))}finally{v(null)}}async function P(e,t){v(e);try{var n,l;let o=await fetch("/api/assignments/launch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:t})}),a=await o.json();o.ok&&b(e=>new Set(e).add(t)),O(e,o.ok?m("look.assignLaunched",{agent:null!=(n=a.agent)?n:""}):null!=(l=a.error)?l:String(o.status))}catch(t){O(e,m("project.unreachable"))}finally{v(null)}}return(0,l.jsx)("ol",{className:"mt-3 flex flex-col gap-4",role:"list",children:n.map((e,n)=>{let o=p[n],a=k.has(n);return(0,l.jsxs)("li",{className:"flex flex-col gap-1",children:[(0,l.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed",children:e.what}),(0,l.jsx)("p",{className:"max-w-2xl font-mono text-xs text-faint",children:e.where}),(0,l.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-smoke",children:m("look.fix",{fix:e.fix})}),e.cites.map(e=>(0,l.jsx)("p",{className:"max-w-2xl font-mono text-xs text-faint",children:m("look.against",{statement:e})},e)),""!==t&&(0,l.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-2",children:[(0,l.jsx)(i.rA,{tone:"plain",type:"button",onClick:()=>void S(n),busy:y===n&&void 0===o,busyLabel:m("look.assigning"),disabled:null!==y||void 0!==o,children:void 0!==o?m("look.assigned"):m("look.assignButton")}),!a&&(0,l.jsx)(i.rA,{tone:"quiet",type:"button",onClick:()=>void C(n),disabled:null!==y,children:m("look.dismissButton")}),a&&(0,l.jsx)("span",{className:"font-mono text-xs text-faint",children:m("look.dismissed")}),void 0!==o&&f.available&&(0,l.jsx)(i.rA,{tone:"accent",type:"button",onClick:()=>void P(n,o),disabled:null!==y,children:m(g.has(o)?"look.assignAgain":"look.assignNow")})]}),w[n]&&(0,l.jsx)("p",{className:"max-w-2xl font-mono text-xs text-smoke",children:w[n]})]},n)})})}async function p(e){var t;let n=await fetch("/api/twin/look",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),l=await n.json();return n.ok?l:{...l,error:null!=(t=l.error)?t:String(n.status)}}},56684:(e,t,n)=>{"use strict";n.d(t,{k5:()=>u});var l=n(32165),o={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},a=l.createContext&&l.createContext(o),r=["attr","size","title"];function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)({}).hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e}).apply(null,arguments)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,l)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach(function(t){var l,o,a;l=e,o=t,a=n[t],(o=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var l=n.call(e,t||"default");if("object"!=typeof l)return l;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(o))in l?Object.defineProperty(l,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):l[o]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function u(e){return t=>l.createElement(d,s({attr:c({},e.attr)},t),function e(t){return t&&t.map((t,n)=>l.createElement(t.tag,c({key:n},t.attr),e(t.child)))}(e.child))}function d(e){var t=t=>{var n,o=e.attr,a=e.size,i=e.title,u=function(e,t){if(null==e)return{};var n,l,o=function(e,t){if(null==e)return{};var n={};for(var l in e)if(({}).hasOwnProperty.call(e,l)){if(-1!==t.indexOf(l))continue;n[l]=e[l]}return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l<a.length;l++)n=a[l],-1===t.indexOf(n)&&({}).propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,r),d=a||t.size||"1em";return t.className&&(n=t.className),e.className&&(n=(n?n+" ":"")+e.className),l.createElement("svg",s({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,o,u,{className:n,style:c(c({color:e.color||t.color},t.style),e.style),height:d,width:d,xmlns:"http://www.w3.org/2000/svg"}),i&&l.createElement("title",null,i),e.children)};return void 0!==a?l.createElement(a.Consumer,null,e=>t(e)):t(o)}}},e=>{e.O(0,[6587,2575,2948,1305,6823,7358],()=>e(e.s=11056)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1162],{3030:(e,t,n)=>{"use strict";n.d(t,{TwinLab:()=>d});var s=n(38657),i=n(32165),l=n(3043),a=n(9144),r=n(26488),o=n(52948),c=n(59916);function d(e){let{projects:t,hasBeliefs:n}=e,d=(0,a.kj)(),[u,x]=(0,i.useState)(""),[p,h]=(0,i.useState)(""),[w,f]=(0,i.useState)(null),[b,j]=(0,i.useState)(null),[g,y]=(0,i.useState)(null),[v,N]=(0,i.useState)(null),k=(0,i.useRef)(!1),M=t.find(e=>e.slug===p);function S(){j(null),y(null)}async function C(e){if(k.current)return;let t=u.trim();if(!t||t.length>r.s)return void y(d("twinLab.invalidRequest",{max:r.s}));if(e||(null==b?void 0:b.status)==="preview"&&b.evidence.length){k.current=!0,f(e?"preview":"draft"),y(null),e&&j(null);try{let s=await fetch("/api/twin/rehearse",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({question:t,...p?{slug:p}:{},dryRun:e})}),i=await s.json();if("number"==typeof i.remainingCalls&&N(i.remainingCalls),!s.ok){var n;y(429===s.status?d("twinLab.budgetReached"):[null!=(n=i.error)?n:d("twinLab.failed"),i.hint].filter(Boolean).join(" "));return}if(!Array.isArray(i.evidence)||!["preview","drafted","abstained"].includes(i.status))return void y(d("twinLab.failed"));j(i)}catch(e){y(d("project.unreachable"))}finally{k.current=!1,f(null)}}}let T=(null==b?void 0:b.reason)==="no-beliefs"?"twinLab.noBeliefs":(null==b?void 0:b.reason)==="no-match"?"twinLab.noMatch":"twinLab.unsupported";return(0,s.jsxs)("section",{id:"decision-lab",tabIndex:-1,"aria-labelledby":"twin-lab-title",className:"page-shell__section scroll-mt-24 rounded-lg border border-edge bg-surface",children:[(0,s.jsxs)("div",{className:"border-b border-edge px-5 py-5 sm:px-6",children:[(0,s.jsxs)("p",{className:"flex items-center gap-2 font-mono text-xs text-smoke",children:[(0,s.jsx)(l.qRK,{"aria-hidden":!0,className:"h-4 w-4"}),d("twinLab.eyebrow")]}),(0,s.jsx)("h2",{id:"twin-lab-title",className:"mt-2 text-base font-semibold",children:d("twinLab.title")}),(0,s.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed text-smoke",children:d("twinLab.lead")})]}),(0,s.jsxs)("div",{className:"grid lg:grid-cols-2",children:[(0,s.jsxs)("form",{onSubmit:function(e){e.preventDefault(),C(!0)},className:"min-w-0 px-5 py-5 sm:px-6","aria-busy":null!==w,children:[(0,s.jsx)(o.fs,{label:d("twinLab.question"),value:u,onChange:e=>{x(e.target.value),S()},maxLength:r.s,rows:4,required:!0,disabled:null!==w||!n,"aria-describedby":"twin-lab-question-hint twin-lab-count".concat(n?"":" twin-lab-untrained"),placeholder:d("twinLab.placeholder")}),!n&&(0,s.jsx)("p",{id:"twin-lab-untrained",className:"mt-2 text-xs leading-relaxed text-smoke",children:d("twinLab.firstTitle")}),(0,s.jsxs)("div",{className:"mt-2 flex flex-wrap justify-between gap-2 text-xs text-smoke",children:[(0,s.jsx)("p",{id:"twin-lab-question-hint",children:d("twinLab.questionHint")}),(0,s.jsx)("p",{id:"twin-lab-count",className:"font-mono",children:d("twinLab.characters",{n:u.length,max:r.s})})]}),(0,s.jsxs)(o.l6,{label:d("twinLab.project"),className:"mt-5",value:p,onChange:e=>{h(e.target.value),S()},disabled:null!==w||!n,"aria-describedby":"twin-lab-scope-hint",children:[(0,s.jsx)("option",{value:"",children:d("twinLab.global")}),t.map(e=>(0,s.jsx)("option",{value:e.slug,children:e.label},e.slug))]}),(0,s.jsx)("p",{id:"twin-lab-scope-hint",className:"mt-2 text-xs leading-relaxed text-smoke",children:d("twinLab.scopeHint")}),(0,s.jsxs)("div",{className:"mt-5 flex flex-wrap items-center gap-3",children:[(0,s.jsx)(o.rA,{type:"submit",tone:"surface",busy:"preview"===w,busyLabel:d("twinLab.previewing"),disabled:null!==w||!u.trim()||!n,children:d("twinLab.preview")}),(0,s.jsx)("span",{className:"text-xs text-smoke",children:d("twinLab.previewCost")})]}),g&&(0,s.jsx)(o.lZ,{text:g,className:"mt-4"})]}),(0,s.jsxs)("div",{className:"min-w-0 border-t border-edge bg-ground px-5 py-5 sm:px-6 lg:border-t-0 lg:border-l",children:[(0,s.jsx)("p",{role:"status","aria-live":"polite",className:"font-mono text-xs text-smoke",children:"preview"===w?d("twinLab.previewing"):"draft"===w?d("twinLab.drafting"):(null==b?void 0:b.status)==="drafted"?d("twinLab.draftReady"):(null==b?void 0:b.status)==="abstained"?d("twinLab.abstained"):(null==b?void 0:b.status)==="preview"?d("twinLab.evidenceCount",{n:b.evidence.length}):d("twinLab.waiting")}),!b&&(0,s.jsx)(o.pp,{variant:"bare",className:"mt-4 max-w-md",title:d(n?"twinLab.emptyTitle":"twinLab.firstTitle"),action:!n&&(0,s.jsx)(m,{}),children:d(n?"twinLab.emptyBody":"twinLab.noBeliefs")}),(null==b?void 0:b.status)==="abstained"&&(0,s.jsxs)("div",{className:"mt-3",children:[(0,s.jsx)("h3",{className:"text-base font-semibold",children:d("twinLab.abstainedTitle")}),(0,s.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-smoke",children:d(T)}),(0,s.jsx)(m,{className:"mt-3"})]}),(null==b?void 0:b.status)==="drafted"&&(0,s.jsxs)(o.Zp,{className:"mt-3",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:d("twinLab.draftTitle")}),(0,s.jsx)("p",{className:"mt-2 whitespace-pre-wrap break-words text-base leading-relaxed",children:b.answer}),(0,s.jsx)("p",{className:"mt-3 text-xs leading-relaxed text-smoke",children:d("twinLab.draftHint")}),(0,s.jsx)("p",{className:"mt-3 text-xs leading-relaxed text-smoke",children:d("twinLab.disagree")}),(0,s.jsx)(m,{className:"mt-3"})]}),b&&b.evidence.length>0&&(0,s.jsxs)("div",{className:"mt-4",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:d("drafted"===b.status?"twinLab.citations":"twinLab.evidence")}),(0,s.jsx)("ol",{className:"mt-3 flex flex-col gap-2",role:"list",children:b.evidence.map((e,t)=>{var n;let i=(0,c.Jj)(e.topic);return(0,s.jsxs)(o.Zp,{as:"li",pad:"sm",children:[(0,s.jsxs)("p",{className:"flex flex-wrap items-center gap-x-2 gap-y-1 font-mono text-[11px] text-smoke",children:[(0,s.jsx)("span",{"aria-hidden":!0,children:String(t+1).padStart(2,"0")}),(0,s.jsx)("span",{children:d("episode"===e.kind?"twinLab.episode":"signed"===e.state?"twin.badgeSigned":"twin.badgeStanding")}),"episode"!==e.kind&&(0,s.jsxs)("span",{children:["\xb7 ",i?d(i):e.topic]})]}),(0,s.jsxs)("a",{href:"episode"===e.kind?"/twin?episode=".concat(encodeURIComponent(e.id),"#episode-").concat(e.id):"#belief-".concat(e.id),className:"mt-1.5 flex items-start gap-2 text-sm leading-relaxed underline-offset-4 hover:underline",children:[(0,s.jsx)("span",{className:"min-w-0 flex-1 whitespace-pre-line break-words",children:e.statement}),(0,s.jsx)(l.OvC,{"aria-hidden":!0,className:"mt-0.5 h-4 w-4 shrink-0 text-smoke"}),(0,s.jsx)("span",{className:"sr-only",children:d("episode"===e.kind?"twinLab.openEpisode":"twinLab.openEvidence")})]}),(0,s.jsx)("p",{className:"mt-2 text-xs text-smoke",children:"episode"===e.kind?d("twinLab.episodeScope"):e.scope?d("twinLab.projectRule",{project:null!=(n=null==M?void 0:M.label)?n:e.scope}):d("twinLab.globalRule")})]},e.id)})})]}),b&&b.omittedBeliefs>0&&(0,s.jsx)("p",{className:"mt-3 font-mono text-xs text-smoke",children:d("twinLab.omitted",{n:b.omittedBeliefs})}),null!==v&&(0,s.jsx)("p",{className:"mt-3 font-mono text-xs text-smoke",children:d("twinLab.remaining",{n:v})}),(null==b?void 0:b.status)==="preview"&&b.evidence.length>0&&(0,s.jsxs)("div",{className:"mt-5 border-t border-edge pt-4",children:[(0,s.jsx)(o.rA,{type:"button",tone:"accent",busy:"draft"===w,busyLabel:d("twinLab.drafting"),disabled:null!==w||0===v,onClick:()=>void C(!1),children:d("twinLab.rehearse")}),(0,s.jsx)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:d(0===v?"twinLab.budgetReached":"twinLab.draftCost")})]})]})]}),(0,s.jsx)("p",{className:"border-t border-edge px-5 py-3 text-xs leading-relaxed text-smoke sm:px-6",children:d("twinLab.boundary")})]})}function m(e){let{className:t}=e,n=(0,a.kj)();return(0,s.jsxs)("a",{href:"#teach",className:"inline-flex items-center gap-1 text-sm underline underline-offset-4".concat(t?" ".concat(t):""),children:[n("twinLab.teach"),(0,s.jsx)(l.OvC,{"aria-hidden":!0,className:"h-4 w-4"})]})}},4733:(e,t,n)=>{"use strict";n.d(t,{TwinMemory:()=>w});var s=n(38657),i=n(32165),l=n(10354),a=n(3043),r=n(9144),o=n(52948);let c=["goal","context","constraints","alternatives","decision","rationale","outcome","conditions","exceptions"],d={goal:{label:"twinMemory.fieldGoal",hint:"twinMemory.hintGoal"},context:{label:"twinMemory.fieldContext",hint:"twinMemory.hintContext"},constraints:{label:"twinMemory.fieldConstraints",hint:"twinMemory.hintConstraints"},alternatives:{label:"twinMemory.fieldAlternatives",hint:"twinMemory.hintAlternatives"},decision:{label:"twinMemory.fieldDecision",hint:"twinMemory.hintDecision"},rationale:{label:"twinMemory.fieldRationale",hint:"twinMemory.hintRationale"},outcome:{label:"twinMemory.fieldOutcome",hint:"twinMemory.hintOutcome"},conditions:{label:"twinMemory.fieldConditions",hint:"twinMemory.hintConditions"},exceptions:{label:"twinMemory.fieldExceptions",hint:"twinMemory.hintExceptions"}};function m(e){var t,n,s;return(null==(t=e.fields.decision)?void 0:t.text.trim())||(null==(n=e.fields.goal)?void 0:n.text.trim())||(null==(s=e.fields.context)?void 0:s.text.trim())||null}function u(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now();return null!==e.validUntil&&Date.parse(e.validUntil)<=t}let x={opening:"twinMemory.kindOpening",reaction:"twinMemory.kindReaction",brief:"twinMemory.kindBrief"};async function p(e,t,n){let s=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),i=await s.json();if(!s.ok){var l;throw Error([null!=(l=i.error)?l:n,i.hint].filter(Boolean).join(" "))}return i}function h(e,t){return e instanceof Error?e.message:t("project.unreachable")}function w(e){var t;let{projects:n,episodes:l,coverage:c,dailyCalls:d,focusId:m,olderCursor:u,conflicts:x}=e,p=(0,r.kj)(),w=(null==(t=l.find(e=>e.id===m))?void 0:t.status)==="dismissed",[y,v]=(0,i.useState)(w),[N,k]=(0,i.useState)(null),[M,S]=(0,i.useState)(null),[C,T]=(0,i.useState)(null),[L,O]=(0,i.useState)(null),R=(0,i.useRef)(!1),[P,A]=(0,i.useState)(l),[E,I]=(0,i.useState)(l),[U,D]=(0,i.useState)(u),[_,q]=(0,i.useState)(""),[F,z]=(0,i.useState)(""),[B,J]=(0,i.useState)(null),[Z,W]=(0,i.useState)(null),V=(0,i.useRef)(!1);P!==l&&(A(l),I(l),D(u));let H=E.filter(e=>y||"active"===e.status),G=E.filter(e=>"dismissed"===e.status).length;function Y(e){var t,s;return{...e,projectName:e.identity&&null!=(s=null==(t=n.find(t=>t.identity===e.identity))?void 0:t.label)?s:null}}async function K(e,t){var n,s;let i=new URLSearchParams;e&&i.set("q",e),t&&i.set("before",t);let l=i.toString(),a=await fetch("/api/twin/episodes".concat(l?"?".concat(l):"")),r=await a.json();if(!a.ok||!Array.isArray(r.episodes))throw Error(null!=(n=r.error)?n:p("twinMemory.requestFailed"));return{episodes:r.episodes.map(Y),nextCursor:null!=(s=r.nextCursor)?s:null}}async function Q(e){if(V.current)return;let t=e.trim();if(!t){z(""),I(l),D(u),W(null);return}V.current=!0,J("search"),W(null);try{let e=await K(t,null);z(t),I(e.episodes),D(e.nextCursor)}catch(e){W(h(e,p))}finally{V.current=!1,J(null)}}async function $(){if(!V.current&&U){V.current=!0,J("older"),W(null);try{let e=await K(F,U);I(t=>{let n=new Set(t.map(e=>e.id));return[...t,...e.episodes.filter(e=>!n.has(e.id))]}),D(e.nextCursor)}catch(e){W(h(e,p))}finally{V.current=!1,J(null)}}}return(0,i.useEffect)(()=>{var e;m&&(w&&v(!0),O(m),null==(e=document.getElementById("episode-".concat(m)))||e.focus())},[m,w]),(0,i.useEffect)(()=>{var e;L&&(null==(e=document.getElementById("episode-".concat(L)))||e.focus())},[L,y]),(0,i.useEffect)(()=>{F&&Q(F)},[l]),(0,s.jsxs)("section",{id:"decision-memory",tabIndex:-1,"aria-labelledby":"twin-memory-title",className:"page-shell__section scroll-mt-24 overflow-hidden rounded-lg border border-edge bg-surface",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4 border-b border-edge px-5 py-5 sm:px-6",children:[(0,s.jsxs)("div",{className:"max-w-2xl",children:[(0,s.jsxs)("p",{className:"flex items-center gap-2 font-mono text-xs text-smoke",children:[(0,s.jsx)(a.lPA,{"aria-hidden":!0,className:"h-4 w-4"}),p("twinMemory.eyebrow")]}),(0,s.jsx)("h2",{id:"twin-memory-title",className:"mt-2 text-base font-semibold",children:p("twinMemory.title")}),(0,s.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-smoke",children:p("twinMemory.lead")})]}),(0,s.jsxs)("div",{className:"rounded-lg border border-edge bg-ground px-3 py-2 font-mono text-xs text-smoke",children:[(0,s.jsx)("p",{children:p("twinMemory.captured",{n:c.total})}),(0,s.jsx)("p",{className:"mt-1",children:p("twinMemory.awaiting",{n:c.pending})})]})]}),(0,s.jsxs)("div",{className:"grid lg:grid-cols-[1.3fr_1fr]",children:[(0,s.jsx)(b,{projects:n,revision:N,blocked:M,dirty:R,savedMessage:C,onCancel:()=>{k(null),S(null),T(null)},onClear:()=>{k(M),S(null)},onSaved:()=>{T(p(N?"twinMemory.savedRevision":"twinMemory.savedNew")),k(null),S(null)}}),(0,s.jsx)(j,{pendingCount:c.pending,deferred:c.deferred,dailyCalls:d})]}),x.length>0&&(0,s.jsxs)("div",{id:"competing-versions",tabIndex:-1,"aria-labelledby":"twin-competing-title",className:"scroll-mt-24 border-t border-edge px-5 py-5 sm:px-6",children:[(0,s.jsx)("h3",{id:"twin-competing-title",className:"text-base font-semibold",children:p("twinMemory.competingTitle")}),(0,s.jsx)("p",{className:"mt-2 max-w-2xl text-xs leading-relaxed text-smoke",children:p("twinMemory.competingLead")}),(0,s.jsx)("p",{className:"mt-2 font-mono text-xs text-smoke",children:p("twinMemory.competingFamilies",{n:x.length})}),(0,s.jsx)("ul",{className:"mt-4 grid items-start gap-3 xl:grid-cols-2",role:"list",children:x.map(e=>(0,s.jsx)(f,{family:e},e.map(e=>e.id).join(",")))})]}),(0,s.jsxs)("div",{className:"border-t border-edge px-5 py-5 sm:px-6",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,s.jsx)("h3",{className:"text-base font-semibold",children:p("twinMemory.recentTitle")}),G>0&&(0,s.jsx)(o.Jl,{size:"sm",checked:y,onChange:e=>v(e.target.checked),children:p("twinMemory.includeDismissed",{n:G})})]}),(0,s.jsxs)("form",{role:"search","aria-busy":"search"===B,className:"mt-3 flex flex-wrap items-end gap-2",onSubmit:e=>{e.preventDefault(),Q(_)},children:[(0,s.jsx)(o.D0,{label:p("twinMemory.searchLabel"),className:"min-w-0 grow sm:max-w-md",type:"search",value:_,maxLength:200,disabled:null!==B,"aria-describedby":"memory-search-hint",onChange:e=>{q(e.target.value),!e.target.value.trim()&&F&&Q("")}}),(0,s.jsx)(o.rA,{type:"submit",tone:"surface",busy:"search"===B,busyLabel:p("twinMemory.searching"),disabled:null!==B,children:p("twinMemory.search")}),F&&(0,s.jsx)(o.rA,{type:"button",tone:"plain",disabled:null!==B,onClick:()=>{q(""),Q("")},children:p("twinMemory.clearSearch")})]}),(0,s.jsx)("p",{id:"memory-search-hint",className:"mt-1 text-xs leading-relaxed text-smoke",children:p("twinMemory.searchHint")}),Z&&(0,s.jsx)(o.lZ,{text:Z,className:"mt-2"}),(0,s.jsx)("p",{className:"mt-3 text-xs text-smoke",children:F?p("twinMemory.shownMatches",{query:F,n:H.length}):p("twinMemory.shown",{n:H.length})}),0===H.length&&F?(0,s.jsx)(o.pp,{variant:"note",role:"status",className:"mt-4",title:p("twinMemory.noMatches",{query:F})}):0===H.length?(0,s.jsx)(o.pp,{className:"mt-4",title:p("twinMemory.emptyTitle"),children:p("twinMemory.emptyBody")}):(0,s.jsx)("ul",{className:"mt-4 grid items-start gap-3 xl:grid-cols-2",role:"list",children:H.map(e=>(0,s.jsx)(g,{episode:e,previousAvailable:!!(e.supersedesId&&E.some(t=>t.id===e.supersedesId)),hasActiveSuccessor:!!e.activeRevisionId,onPrevious:()=>{var t,n;v(!0),O(null!=(n=e.supersedesId)?n:null),null==(t=document.getElementById("episode-".concat(e.supersedesId)))||t.focus()},onRevise:()=>{var t;T(null),e.id!==(null==N?void 0:N.id)&&(R.current?S(e):(S(null),k(e))),null==(t=document.getElementById("memory-capture-form"))||t.scrollIntoView({block:"start",behavior:"instant"})}},e.id))}),U&&(0,s.jsx)(o.rA,{type:"button",tone:"surface",className:"mt-4",busy:"older"===B,busyLabel:p("twinMemory.loadingOlder"),disabled:null!==B,onClick:()=>void $(),children:p("twinMemory.loadOlder")}),(0,s.jsx)("p",{className:"mt-4 text-xs leading-relaxed text-smoke",children:p("twinMemory.boundary")})]})]})}function f(e){let{family:t}=e,n=(0,r.kj)(),a=(0,l.useRouter)(),[c,d]=(0,i.useState)(null),[u,x]=(0,i.useState)(null),w=(0,i.useRef)(!1);async function f(e){if(w.current)return;w.current=!0,d(e.id),x(null);let s=!1;try{for(let i of t)i.id!==e.id&&(await p("/api/twin/episodes",{id:i.id,status:"dismissed",expectedUpdatedAt:i.updatedAt},n("twinMemory.requestFailed")),s=!0)}catch(e){x(h(e,n))}finally{w.current=!1,d(null),s&&a.refresh()}}return(0,s.jsxs)("li",{className:"min-w-0 rounded-lg border border-edge bg-ground p-4",children:[(0,s.jsx)("ol",{className:"space-y-3",role:"list",children:t.map(e=>{var t,i;return(0,s.jsxs)("li",{className:"flex flex-wrap items-start justify-between gap-3 border-t border-edge pt-3 first:border-t-0 first:pt-0",children:[(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsxs)("p",{className:"flex flex-wrap gap-x-2 gap-y-1 font-mono text-[11px] text-smoke",children:[(0,s.jsx)("span",{children:n("owner"===e.origin?"twinMemory.byOwner":"twinMemory.fromHistory")}),(0,s.jsxs)("span",{children:["\xb7 ",null!=(t=e.projectName)?t:n(e.identity?"twinMemory.unlinkedProject":"twinMemory.noProject")]}),(0,s.jsxs)("time",{dateTime:e.createdAt,children:["\xb7 ",e.createdAt.slice(0,10)]})]}),(0,s.jsx)("p",{className:"mt-1 line-clamp-3 break-words text-sm leading-relaxed",children:null!=(i=m(e))?i:n("twinMemory.untitled")}),(0,s.jsx)("a",{href:"#episode-".concat(e.id),className:"mt-1 inline-block text-xs underline underline-offset-4",children:n("twinMemory.explore")})]}),(0,s.jsx)(o.rA,{type:"button",tone:"surface",busy:c===e.id,busyLabel:n("twinMemory.keeping"),disabled:null!==c,onClick:()=>void f(e),children:n("twinMemory.keepThis")})]},e.id)})}),u&&(0,s.jsx)(o.lZ,{text:u,className:"mt-3"})]})}function b(e){var t,n,a,m,u;let{projects:x,revision:w,blocked:f,dirty:b,savedMessage:j,onSaved:g,onCancel:y,onClear:v}=e,N=(0,r.kj)(),k=(0,l.useRouter)(),[M,S]=(0,i.useState)({}),[C,T]=(0,i.useState)(""),[L,O]=(0,i.useState)(new Set),[R,P]=(0,i.useState)(null),[A,E]=(0,i.useState)(""),[I,U]=(0,i.useState)(!1),[D,_]=(0,i.useState)(null),[q,F]=(0,i.useState)(!1),z=(0,i.useRef)(!1),B=(0,i.useRef)(null),J=!!((null==(t=M.goal)?void 0:t.trim())||(null==(n=M.decision)?void 0:n.trim())),Z=c.filter(e=>"goal"!==e&&"decision"!==e),W=Z.filter(e=>{var t;return L.has(e)||!!(null==(t=M[e])?void 0:t.trim())}),V=Z.filter(e=>!W.includes(e)),H=(null==w?void 0:w.identity)&&null!=(m=null==(a=x.find(e=>e.identity===w.identity))?void 0:a.slug)?m:"";async function G(e){if(e.preventDefault(),!z.current&&J){z.current=!0,U(!0),_(null);try{await p("/api/twin/episodes",{fields:M,...A?{validUntil:A}:{},...w?{replacesId:w.id,expectedUpdatedAt:w.updatedAt}:C?{slug:C}:{}},N("twinMemory.requestFailed")),S({}),O(new Set),P(null),E(""),F(!1),b.current=!1,g(),k.refresh()}catch(e){_(h(e,N))}finally{z.current=!1,U(!1)}}}function Y(e){var t;let n=null!=(t=M[e])?t:"";return(0,s.jsxs)("div",{children:[(0,s.jsx)(o.fs,{label:N(d[e].label),id:"memory-".concat(e),value:n,maxLength:1200,rows:"decision"===e?3:2,disabled:I,placeholder:N(d[e].hint),"aria-describedby":"memory-".concat(e,"-count"),onChange:t=>{S(n=>({...n,[e]:t.target.value})),F(!0),b.current=!0}}),(0,s.jsx)("p",{id:"memory-".concat(e,"-count"),className:"mt-1 text-right font-mono text-[11px] text-smoke",children:N("twinMemory.characters",{n:n.length,max:1200})})]},e)}return(0,i.useEffect)(()=>{var e,t,n,s;S(w?Object.fromEntries(c.map(e=>{var t,n;return[e,null!=(n=null==(t=w.fields[e])?void 0:t.text)?n:""]})):{}),O(new Set(w?c.filter(e=>{var t;return null==(t=w.fields[e])?void 0:t.text.trim()}):[])),P(null),E(null!=(s=null==w||null==(e=w.validUntil)?void 0:e.slice(0,10))?s:""),T(H),F(!1),b.current=!1,w&&(null==(n=B.current)||null==(t=n.querySelector("textarea"))||t.focus({preventScroll:!0}))},[w,H,b]),(0,i.useEffect)(()=>{var e;R&&(null==(e=document.getElementById("memory-".concat(R)))||e.focus())},[R]),(0,s.jsxs)("form",{id:"memory-capture-form",ref:B,onSubmit:G,"aria-busy":I,"aria-labelledby":"memory-capture-title",className:"min-w-0 scroll-mt-24 px-5 py-5 sm:px-6",children:[(0,s.jsx)("h3",{id:"memory-capture-title",className:"text-base font-semibold",children:N(w?"twinMemory.reviseTitle":"twinMemory.captureTitle")}),(0,s.jsx)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:N(w?"twinMemory.reviseHint":"twinMemory.captureHint")}),(0,s.jsx)("div",{role:"status","aria-live":"polite",children:f&&(0,s.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-3 rounded-lg border border-edge bg-ground px-3 py-3",children:[(0,s.jsx)("p",{className:"text-xs leading-relaxed text-smoke",children:N("twinMemory.unsavedDraft")}),(0,s.jsx)(o.rA,{type:"button",tone:"surface",disabled:I,onClick:v,children:N("twinMemory.clearDraft")})]})}),(0,s.jsxs)("div",{className:"mt-4 space-y-3",children:[Y("goal"),Y("decision"),(0,s.jsxs)(o.l6,{label:N("twinMemory.projectContext"),value:C,disabled:I||null!==w,onChange:e=>T(e.target.value),children:[(0,s.jsx)("option",{value:"",children:(null==w?void 0:w.identity)&&!C?null!=(u=w.projectName)?u:N("twinMemory.originalProject"):N("twinMemory.noProject")}),x.map(e=>(0,s.jsx)("option",{value:e.slug,children:e.label},e.slug))]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(o.D0,{label:N("twinMemory.validUntilLabel"),type:"date",value:A,disabled:I,"aria-describedby":"memory-valid-until-hint",onChange:e=>{E(e.target.value),F(!0),b.current=!0}}),(0,s.jsx)("p",{id:"memory-valid-until-hint",className:"mt-1 text-xs leading-relaxed text-smoke",children:N("twinMemory.validUntilHint")})]}),W.map(Y),V.length>0&&(0,s.jsxs)("div",{className:"rounded-lg border border-edge px-3 py-3",children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:N("twinMemory.moreFields")}),(0,s.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:V.map(e=>(0,s.jsx)(o.rA,{type:"button",tone:"surface",disabled:I,"aria-label":N("twinMemory.addField",{field:N(d[e].label).toLocaleLowerCase()}),onClick:()=>{O(t=>new Set(t).add(e)),P(e)},children:N(d[e].label)},e))})]})]}),(0,s.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-3",children:[(0,s.jsx)(o.rA,{type:"submit",tone:"accent",busy:I,busyLabel:N("twinMemory.saving"),disabled:I||!J,children:N(w?"twinMemory.saveRevision":"twinMemory.saveEpisode")}),w&&(0,s.jsx)(o.rA,{type:"button",tone:"plain",disabled:I,onClick:y,children:N("twinMemory.cancelRevision")}),(0,s.jsx)("span",{className:"text-xs text-smoke",children:N("twinMemory.localSave")})]}),D&&(0,s.jsx)(o.lZ,{text:D,className:"mt-3"}),(0,s.jsx)("div",{role:"status","aria-live":"polite",children:j&&!q&&(0,s.jsx)("p",{className:"mt-3 text-sm text-smoke",children:j})})]})}function j(e){var t,n;let{pendingCount:c,deferred:d,dailyCalls:m}=e,u=(0,r.kj)(),x=(0,l.useRouter)(),[w,f]=(0,i.useState)(null),[b,j]=(0,i.useState)(null),[g,y]=(0,i.useState)(null),[v,N]=(0,i.useState)(null),k=(0,i.useRef)(!1),M=m>0&&c>0?Math.max(1,Math.ceil(c/(12*m))):null;async function S(e){if(k.current||"learn"===e&&(!b||!b.selected||b.remainingCalls<b.calls))return;k.current=!0,f(e),y(null),N(null);let t=u("twinMemory.requestFailed");try{var n,s,i,l,a;if("capture"===e){let e=await p("/api/twin/mine",{captureNarratives:!0},t);j(null),N([u("twinMemory.capturedNew",{n:null!=(s=e.narrativesSaved)?s:0}),e.saved?u("twin.minedQuotes",{n:e.saved}):"",(null==(n=e.denied)?void 0:n.length)?u("twinMemory.capturedDenied",{n:e.denied.length}):"",e.narrativesUnmatched?u("twinMemory.capturedUnmatched",{n:e.narrativesUnmatched}):"",e.narrativesUndated?u("twinMemory.capturedUndated",{n:e.narrativesUndated}):""].filter(Boolean).join(" ")),x.refresh()}else if("preview"===e)j(await p("/api/twin/episodes/learn",{dryRun:!0},t));else{let e=await p("/api/twin/episodes/learn",{},t);j(null),N([u("twinMemory.learnStored",{stored:null!=(i=e.stored)?i:0,processed:null!=(l=e.processed)?l:0,remaining:null!=(a=e.remaining)?a:0}),e.dropped?u("twinMemory.learnDropped",{n:e.dropped}):"",e.failed?u("cut"===e.failed.reason?"twinMemory.learnCut":"twinMemory.learnUnsupported"):"",e.failed?u("twinMemory.learnDeferred",{n:e.failed.records}):""].filter(Boolean).join(" ")),x.refresh()}}catch(t){y(h(t,u)),"learn"===e&&(j(null),x.refresh())}finally{k.current=!1,f(null)}}return(0,s.jsxs)("div",{className:"min-w-0 border-t border-edge bg-ground px-5 py-5 sm:px-6 lg:border-t-0 lg:border-l","aria-busy":null!==w,children:[(0,s.jsxs)("h3",{className:"flex items-center gap-2 text-base font-semibold",children:[(0,s.jsx)(a.tZt,{"aria-hidden":!0,className:"h-4 w-4 text-smoke"}),u("twinMemory.learnTitle")]}),(0,s.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-smoke",children:u("twinMemory.learnLead")}),(0,s.jsxs)("div",{className:"mt-5 rounded-lg border border-edge bg-surface p-4",children:[(0,s.jsx)("p",{className:"font-mono text-xs text-smoke",children:u("twinMemory.step1")}),(0,s.jsx)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:u("twinMemory.step1Hint")}),(0,s.jsxs)(o.rA,{type:"button",tone:"surface",className:"mt-3",busy:"capture"===w,busyLabel:u("twinMemory.capturing"),disabled:null!==w,onClick:()=>void S("capture"),children:[(0,s.jsx)(a.Dho,{"aria-hidden":!0,className:"h-4 w-4"}),u("twinMemory.capture")]}),(0,s.jsx)("p",{className:"mt-2 text-xs text-smoke",children:u("twinMemory.noCall")})]}),(0,s.jsxs)("div",{className:"mt-3 rounded-lg border border-edge bg-surface p-4",children:[(0,s.jsx)("p",{className:"font-mono text-xs text-smoke",children:u("twinMemory.step2")}),(0,s.jsx)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:u("twinMemory.step2Hint")}),(0,s.jsx)(o.rA,{type:"button",tone:"surface",className:"mt-3",busy:"preview"===w,busyLabel:u("twinMemory.previewing"),disabled:null!==w,onClick:()=>void S("preview"),children:u("twinMemory.preview")}),!b&&(0,s.jsxs)("div",{className:"mt-2 space-y-1 text-xs text-smoke",children:[(0,s.jsx)("p",{children:u("twinMemory.awaiting",{n:c})}),d>0&&(0,s.jsx)("p",{children:u("twinMemory.deferred",{n:d})}),m>0?(0,s.jsx)("p",{children:u("twinMemory.passReads",{n:24})}):(0,s.jsx)("p",{children:u("twinMemory.extractionOff")}),null!==M&&(0,s.jsx)("p",{children:u("twinMemory.queueDays",{n:M})})]}),b&&(0,s.jsxs)("div",{className:"mt-4 border-t border-edge pt-4",children:[(0,s.jsxs)("dl",{className:"grid grid-cols-[1fr_auto] gap-x-3 gap-y-2 text-xs",children:[(0,s.jsx)("dt",{className:"text-smoke",children:u("twinMemory.selected")}),(0,s.jsx)("dd",{className:"font-mono",children:b.selected}),(0,s.jsx)("dt",{className:"text-smoke",children:u("twinMemory.inputTokens")}),(0,s.jsx)("dd",{className:"font-mono",children:b.inputTokens}),(0,s.jsx)("dt",{className:"text-smoke",children:u("twinMemory.outputTokens")}),(0,s.jsx)("dd",{className:"font-mono",children:b.outputTokens}),(0,s.jsx)("dt",{className:"text-smoke",children:u("twinMemory.calls")}),(0,s.jsx)("dd",{className:"font-mono",children:b.calls}),(0,s.jsx)("dt",{className:"text-smoke",children:u("twinMemory.remainingCalls")}),(0,s.jsx)("dd",{className:"font-mono",children:b.remainingCalls})]}),b.contextOnly>0&&(0,s.jsx)("p",{className:"mt-2 text-xs text-smoke",children:u("twinMemory.contextOnly",{n:b.contextOnly})}),(null!=(t=b.retrying)?t:0)>0&&(0,s.jsx)("p",{className:"mt-2 text-xs text-smoke",children:u("twinMemory.learnRetrying",{n:null!=(n=b.retrying)?n:0})}),(b.provider||b.model)&&(0,s.jsx)("p",{className:"mt-3 break-words font-mono text-[11px] text-smoke",children:[b.provider,b.model].filter(Boolean).join(" / ")}),0===b.selected?(0,s.jsx)(o.pp,{variant:"note",className:"mt-3",title:u("twinMemory.nothingUnread")}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.rA,{type:"button",tone:"accent",className:"mt-4",busy:"learn"===w,busyLabel:u("twinMemory.learning"),disabled:null!==w||b.remainingCalls<b.calls,onClick:()=>void S("learn"),children:u("twinMemory.learn")}),(0,s.jsx)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:u(b.remainingCalls<b.calls?"twinMemory.budgetShort":"twinMemory.learnCost")})]})]})]}),g&&(0,s.jsx)(o.lZ,{text:g,className:"mt-3"}),(0,s.jsx)("p",{role:"status","aria-live":"polite",className:"mt-3 text-xs leading-relaxed text-smoke",children:"learn"===w?u("twinMemory.extracting"):v})]})}function g(e){var t,n,a,w,f,b,j,g;let{episode:y,onRevise:v,previousAvailable:N,hasActiveSuccessor:k,onPrevious:M}=e,S=(0,r.kj)(),C=(0,r.Ym)(),T=(0,l.useRouter)(),{recorded:L,missing:O}=function(e){let t=c.filter(t=>{var n;return!!(null==(n=e.fields[t])?void 0:n.text.trim())});return{recorded:t,missing:c.filter(e=>!t.includes(e))}}(y),[R,P]=(0,i.useState)(null),[A,E]=(0,i.useState)(null),[I,U]=(0,i.useState)(null),[D,_]=(0,i.useState)(!1),[q,F]=(0,i.useState)(null),[z,B]=(0,i.useState)(null),[J,Z]=(0,i.useState)(y.validUntil),[W,V]=(0,i.useState)(null!=(a=null==(t=y.validUntil)?void 0:t.slice(0,10))?a:"");J!==y.validUntil&&(Z(y.validUntil),V(null!=(f=null==(w=y.validUntil)?void 0:w.slice(0,10))?f:""));let H=(0,i.useRef)(!1),G=(0,i.useRef)(!1),Y=(0,i.useRef)(null),K=L.some(e=>{var t;return!!(null==(t=y.fields[e])?void 0:t.narrativeId)}),Q=null!=(b=m(y))?b:S("twinMemory.untitled"),$=e=>e.map(e=>S(d[e].label).toLocaleLowerCase()).join(", "),X="dismissed"===y.status&&!k,ee="active"===y.status&&k,et=u(y),en=y.validUntil?new Date(y.validUntil).toLocaleDateString(C,{timeZone:"UTC"}):null;async function es(){if(!H.current){H.current=!0,P("status"),E(null);try{await p("/api/twin/episodes",{id:y.id,status:"active"===y.status?"dismissed":"active",expectedUpdatedAt:y.updatedAt},S("twinMemory.requestFailed")),T.refresh()}catch(e){E(h(e,S))}finally{H.current=!1,P(null)}}}async function ei(e){if(!H.current){H.current=!0,P(null===e?"clearExpiry":"expiry"),E(null);try{await p("/api/twin/episodes",{id:y.id,validUntil:e,expectedUpdatedAt:y.updatedAt},S("twinMemory.requestFailed")),T.refresh()}catch(e){E(h(e,S))}finally{H.current=!1,P(null)}}}async function el(){if(null===I&&!G.current){G.current=!0,_(!0),F(null);try{let t=await fetch("/api/twin/episodes?id=".concat(encodeURIComponent(y.id))),n=await t.json();if(!t.ok||!Array.isArray(n.evidence)){var e;throw Error(null!=(e=n.error)?e:S("twinMemory.evidenceFailed"))}U(n.evidence)}catch(e){F(h(e,S))}finally{G.current=!1,_(!1)}}}return(0,i.useEffect)(()=>{var e;I&&z&&(null==(e=document.getElementById("episode-".concat(y.id,"-source-").concat(z)))||e.focus())},[I,y.id,z]),(0,s.jsxs)("li",{id:"episode-".concat(y.id),tabIndex:-1,className:"min-w-0 scroll-mt-24 rounded-lg border border-edge bg-ground p-4",children:[(0,s.jsxs)("p",{className:"flex flex-wrap gap-x-2 gap-y-1 font-mono text-[11px] text-smoke",children:[(0,s.jsx)("span",{children:S("owner"===y.origin?"twinMemory.byOwner":"twinMemory.fromHistory")}),(0,s.jsxs)("span",{children:["\xb7 ",null!=(j=y.projectName)?j:S(y.identity?"twinMemory.unlinkedProject":"twinMemory.noProject")]}),"dismissed"===y.status&&(0,s.jsxs)("span",{children:["\xb7 ",S("twinMemory.dismissed")]})]}),(0,s.jsx)("h4",{className:"mt-2 line-clamp-3 break-words text-sm font-medium leading-relaxed",children:Q}),y.supersedesId&&(0,s.jsx)("p",{className:"mt-2 text-xs text-smoke",children:N?(0,s.jsx)("a",{href:"#episode-".concat(y.supersedesId),onClick:M,className:"underline underline-offset-4",children:S("twinMemory.previousVersion")}):(0,s.jsxs)("a",{href:"/twin?episode=".concat(encodeURIComponent(y.supersedesId),"#episode-").concat(y.supersedesId),className:"underline underline-offset-4",children:[S("twinMemory.previousVersion")," ",(0,s.jsx)("span",{className:"sr-only",children:S("twinMemory.outsideView")})]})}),(0,s.jsx)("p",{className:"mt-3 font-mono text-[11px] text-smoke",children:S("twinMemory.recorded",{list:$(L)})}),(0,s.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-smoke",children:S("dismissed"===y.status?"twinMemory.reachNowhere":u(y)?"twinMemory.reachExpired":ee?"twinMemory.reachWithheld":"history"===y.origin?"twinMemory.reachLabOnly":(null==(g=y.fields.decision)?void 0:g.text.trim())?y.identity?"twinMemory.reachProject":"twinMemory.reachGeneral":"twinMemory.reachNoDecision")}),en&&(0,s.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-smoke",children:S(et?"twinMemory.expiredOn":"twinMemory.appliesThrough",{date:en})}),(0,s.jsxs)("details",{className:"mt-3",children:[(0,s.jsx)("summary",{className:"cursor-pointer text-xs font-medium underline-offset-4 hover:underline",children:S("twinMemory.explore")}),(0,s.jsx)("dl",{className:"mt-3 space-y-3",children:L.map(e=>{var t;return(0,s.jsxs)("div",{children:[(0,s.jsx)("dt",{className:"text-xs font-medium",children:S(d[e].label)}),(0,s.jsxs)("dd",{className:"mt-1 whitespace-pre-wrap break-words text-sm leading-relaxed text-smoke",children:[y.fields[e].text,(null==(t=y.fields[e])?void 0:t.narrativeId)&&(0,s.jsx)("button",{type:"button",className:"mt-1 block text-xs underline underline-offset-4","aria-label":S("twinMemory.viewSourceFor",{field:S(d[e].label).toLocaleLowerCase()}),onClick:()=>{var t;let n=y.fields[e].narrativeId;Y.current&&(Y.current.open=!0),B(n),I&&(null==(t=document.getElementById("episode-".concat(y.id,"-source-").concat(n)))||t.focus()),el()},children:S("twinMemory.viewSource")})]})]},e)})}),O.length>0&&(0,s.jsx)("p",{className:"mt-4 border-t border-edge pt-3 text-xs leading-relaxed text-smoke",children:S("twinMemory.notRecorded",{list:$(O)})}),(0,s.jsxs)("div",{className:"mt-4 border-t border-edge pt-3",children:[(0,s.jsx)("p",{className:"text-xs font-medium",children:S("twinMemory.expiryTitle")}),(0,s.jsx)(o.D0,{label:S("twinMemory.validUntilLabel"),className:"mt-2",size:"sm",type:"date",value:W,disabled:null!==R,"aria-describedby":"episode-".concat(y.id,"-expiry-hint"),onChange:e=>V(e.target.value)}),(0,s.jsx)("p",{id:"episode-".concat(y.id,"-expiry-hint"),className:"mt-1 text-xs leading-relaxed text-smoke",children:S("twinMemory.validUntilHint")}),(0,s.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[(0,s.jsx)(o.rA,{type:"button",tone:"surface",busy:"expiry"===R,busyLabel:S("twinMemory.savingExpiry"),disabled:null!==R||!W||W===(null==(n=y.validUntil)?void 0:n.slice(0,10)),onClick:()=>void ei(W),children:S("twinMemory.saveExpiry")}),y.validUntil&&(0,s.jsx)(o.rA,{type:"button",tone:"plain",busy:"clearExpiry"===R,busyLabel:S("twinMemory.clearingExpiry"),disabled:null!==R,onClick:()=>void ei(null),children:S("twinMemory.clearExpiry")})]})]})]}),K&&(0,s.jsxs)("details",{ref:Y,className:"mt-3",onToggle:e=>{e.currentTarget.open&&el()},children:[(0,s.jsx)("summary",{className:"cursor-pointer text-xs font-medium underline-offset-4 hover:underline",children:S("twinMemory.viewEvidence")}),D&&(0,s.jsx)("p",{role:"status",className:"mt-2 text-xs text-smoke",children:S("twinMemory.loadingEvidence")}),q&&(0,s.jsxs)("div",{className:"mt-2",children:[(0,s.jsx)(o.lZ,{text:q}),(0,s.jsx)(o.rA,{type:"button",tone:"surface",className:"mt-2",onClick:()=>void el(),children:S("twinMemory.retryEvidence")})]}),I&&0===I.length&&(0,s.jsx)("p",{className:"mt-2 text-xs text-smoke",children:S("twinMemory.sourceGone")}),null==I?void 0:I.map(e=>{let t=x[e.kind];return(0,s.jsxs)("div",{id:"episode-".concat(y.id,"-source-").concat(e.id),tabIndex:-1,className:"mt-3 scroll-mt-24 rounded border border-edge bg-surface p-3",children:[(0,s.jsxs)("p",{className:"break-words font-mono text-[10px] text-smoke",children:[e.source," \xb7 ",t?S(t):e.kind," \xb7 ",e.at.slice(0,10)]}),(0,s.jsx)("p",{className:"mt-2 text-xs font-medium",children:S("brief"===e.kind?"twinMemory.briefText":"twinMemory.ownerText")}),(0,s.jsx)("blockquote",{className:"mt-1 whitespace-pre-wrap break-words text-xs leading-relaxed text-smoke",children:e.text}),e.truncated&&(0,s.jsx)("p",{className:"mt-2 text-xs text-smoke",children:S("twinMemory.truncated")}),e.context&&(0,s.jsxs)("details",{className:"mt-3 border-t border-edge pt-2",children:[(0,s.jsx)("summary",{className:"cursor-pointer text-xs text-smoke",children:S("twinMemory.agentContext")}),(0,s.jsx)("p",{className:"mt-2 whitespace-pre-wrap break-words text-xs leading-relaxed text-smoke",children:e.context})]})]},e.id)})]}),(0,s.jsxs)("div",{className:"mt-4 flex flex-wrap items-center justify-between gap-2 border-t border-edge pt-3",children:[(0,s.jsx)("time",{dateTime:y.createdAt,className:"font-mono text-[10px] text-smoke",children:y.createdAt.slice(0,10)}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,s.jsx)(o.rA,{type:"button",tone:"surface",disabled:null!==R||k,onClick:v,children:S("twinMemory.revise")}),("active"===y.status||X)&&(0,s.jsx)(o.rA,{type:"button",tone:"plain",busy:"status"===R,busyLabel:S("twin.saving"),disabled:null!==R,onClick:()=>void es(),children:S("active"===y.status?"twinMemory.dismiss":"twinMemory.restore")})]})]}),k&&(0,s.jsxs)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:[S(ee?"twinMemory.competingActive":"twinMemory.successorActive")," ",ee?(0,s.jsx)("a",{href:"#competing-versions",className:"underline underline-offset-4",children:S("twinMemory.competingOpen")}):(0,s.jsx)("a",{href:"/twin?episode=".concat(encodeURIComponent(y.activeRevisionId),"#episode-").concat(y.activeRevisionId),className:"underline underline-offset-4",children:S("twinMemory.currentVersion")})]}),A&&(0,s.jsx)(o.lZ,{text:A,className:"mt-2"})]})}},9144:(e,t,n)=>{"use strict";n.d(t,{I18nProvider:()=>o,Ym:()=>c,Zs:()=>d,kj:()=>m});var s=n(38657),i=n(32165),l=n(2575);let a=(0,i.createContext)("en"),r=(0,i.createContext)("panoma");function o(e){let{locale:t,cli:n,children:i}=e;return(0,s.jsx)(a.Provider,{value:t,children:(0,s.jsx)(r.Provider,{value:n,children:i})})}function c(){return(0,i.useContext)(a)}function d(){return(0,i.useContext)(r)}function m(){let e=(0,i.useContext)(a),t=(0,i.useContext)(r);return(0,i.useCallback)((n,s)=>(0,l.t)(e,n,{cli:t,...s}),[e,t])}},10354:(e,t,n)=>{"use strict";var s=n(61990);n.o(s,"usePathname")&&n.d(t,{usePathname:function(){return s.usePathname}}),n.o(s,"useRouter")&&n.d(t,{useRouter:function(){return s.useRouter}}),n.o(s,"useSearchParams")&&n.d(t,{useSearchParams:function(){return s.useSearchParams}})},15797:(e,t,n)=>{"use strict";n.d(t,{TwinSynthesize:()=>o});var s=n(38657),i=n(32165),l=n(10354),a=n(9144),r=n(52948);function o(e){let{pending:t,ready:n,compact:o}=e,c=(0,a.kj)(),d=(0,l.useRouter)(),[m,u]=(0,i.useState)(!1),[x,p]=(0,i.useState)(null);async function h(){u(!0),p(null);try{var e,n,s,i,l,a,r,o,m;let u=0;if(t>0){let t=await fetch("/api/twin/classify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),s=await t.json();if(!t.ok)return void p(null!=(e=s.error)?e:c("twin.synthFailed"));u+=null!=(n=s.truncated)?n:0}let x=await fetch("/api/twin/synthesize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),h=await x.json();if(!x.ok)return void p(null!=(s=h.error)?s:c("twin.synthFailed"));u+=null!=(i=h.truncated)?i:0;let w=null!=(l=h.created)?l:0,f=null!=(a=h.refined)?a:0,b=null!=(r=h.retired)?r:0,j=null!=(o=h.proposed)?o:0,g=w+f+b+j,y=null!=(m=h.unchanged)?m:0,v=0===h.topics?y>0?c("twin.synthUpToDate"):c("twin.synthNothing"):c("twin.synthSame"),N=c("twin.synthDone",{created:w,refined:f,retired:b}),k=0===g?v:0===j?N:"".concat(N," ").concat(c("twin.synthAsks",{n:j}));p(u>0?"".concat(k," ").concat(c("twin.synthTruncated",{n:u})):k),d.refresh()}catch(e){p(c("project.unreachable"))}finally{u(!1)}}return(0,s.jsxs)("div",{className:o?"flex items-center gap-2":"mt-3 flex flex-col gap-1",children:[(0,s.jsx)(r.rA,{tone:"plain",type:"button",onClick:h,busy:m,busyLabel:c("twin.synthesizing"),disabled:!n,"aria-describedby":n?void 0:"twin-synth-why",className:"self-start",children:c("twin.synthesize")}),n?(0,s.jsx)("div",{role:"status","aria-live":"polite",children:x?(0,s.jsx)("p",{className:"font-mono text-xs text-smoke",children:x}):o?null:(0,s.jsx)("p",{className:"text-xs leading-relaxed text-smoke",children:c("twin.synthHint")})}):(0,s.jsx)("p",{id:"twin-synth-why",className:"text-xs leading-relaxed text-smoke",children:c("twin.synthNothing")})]})}},18557:(e,t,n)=>{"use strict";n.d(t,{BeliefEditor:()=>m,TwinPublication:()=>u});var s=n(38657),i=n(32165),l=n(10354),a=n(9144),r=n(59916),o=n(98642),c=n(52948);let d={signed:"twin.badgeSigned",standing:"twin.badgeStanding",forming:"twin.badgeForming"};function m(e){let{beliefs:t,graveyard:n,proposals:r,unpublished:d,locale:m,criteria:u,evidence:g,slugs:y}=e,v=(0,a.kj)(),N=(0,l.useRouter)(),[k,M]=(0,i.useState)(new Map),[S,C]=(0,i.useState)(new Map),[T,L]=(0,i.useState)(null),[O,R]=(0,i.useState)(!1),[P,A]=(0,i.useState)(null),E=(0,i.useMemo)(()=>{let e=new Map;for(let n of t){let t=e.get(n.topic);t?t.push(n):e.set(n.topic,[n])}return[...e]},[t]),I=(0,i.useMemo)(()=>(0,o.ld)(r),[r]),U=k.size>0||S.size>0;function D(e,t){M(n=>{let s=new Map(n);return void 0===t?s.delete(e):s.set(e,t),s})}let _=e=>{var t,n;return null!=(n=null==(t=u[e])?void 0:t.revision)?n:0};async function q(){R(!0),A(null);try{for(let n of function(){let e=[],n={version:2,sign:[],veto:[],scope:[],resolve:[]},s=0,i=t=>{20===s&&(e.push(n),n={version:2,sign:[],veto:[],scope:[],resolve:[]},s=0),t(n),s+=1};for(let[e,n]of k){let s=_(e);if("sign"===n.kind){var l;let a=u[e],r=(null==(l=t.find(t=>t.id===e))?void 0:l.badge)==="signed";i(t=>t.sign.push({id:e,expectedRevision:s,...n.statement?{statement:n.statement}:{},...!r&&(null==a?void 0:a.conditions)?{conditions:a.conditions}:{},...!r&&(null==a?void 0:a.exceptions)?{exceptions:a.exceptions}:{}}))}else if("veto"===n.kind)i(t=>t.veto.push({id:e,expectedRevision:s}));else{let t=n.slug;i(n=>n.scope.push({id:e,expectedRevision:s,...t?{scope:"project",slug:t}:{scope:"global"}}))}}for(let[e,t]of S)i(n=>n.resolve.push({id:e,expectedRevision:_(e),accept:t}));return s>0&&e.push(n),e}()){let t=await fetch("/api/twin/taste",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}),s=await t.json().catch(()=>({}));if(!t.ok){var e;let n=(0,o.jc)(s.code);A(n?v(n):null!=(e=s.error)?e:String(t.status)),("stale_revision"===s.code||"publication_conflict"===s.code)&&N.refresh();return}}M(new Map),C(new Map),L(null),N.refresh()}catch(e){A(v("project.unreachable"))}finally{R(!1)}}return(0,s.jsxs)(s.Fragment,{children:[I.length>0&&(0,s.jsxs)("section",{className:"mt-8",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:v("twin.proposalsTitle")}),(0,s.jsx)("p",{className:"mt-1 max-w-2xl text-sm leading-relaxed text-smoke",children:v("twin.proposalsNote")}),(0,s.jsx)("ul",{className:"mt-4 flex flex-col gap-3",role:"list",children:I.map(e=>{let t=e.proposals[0],n=e.criteria.length>0?e.criteria.join("\0"):t.id;return(0,s.jsxs)("li",{className:"rounded-lg border border-edge px-4 py-4",children:[(0,s.jsxs)("p",{className:"eyebrow",children:[x(t.topic,v),e.criteria.length>1?" \xb7 ".concat(v("twin.proposalJoins",{n:e.criteria.length})):"",e.proposals.length>1?" \xb7 ".concat(v("twin.proposalGroup",{n:e.proposals.length})):""]}),e.criteria.map(e=>(0,s.jsx)("p",{className:"mt-1 max-w-2xl text-sm leading-relaxed text-smoke line-through decoration-faint",children:e},e)),(0,s.jsx)("ul",{className:"mt-2 flex flex-col gap-3",role:"list",children:e.proposals.map(e=>{var t;return(0,s.jsxs)("li",{className:"rounded border px-3 py-3 ".concat(S.has(e.id)?"border-l-2 border-l-chalk border-edge":"border-edge"),children:[(0,s.jsx)("p",{className:"max-w-2xl text-base leading-relaxed",children:e.statement}),(0,s.jsx)(h,{view:u[e.id],translate:v}),(0,s.jsxs)("p",{className:"mt-2 font-mono text-xs text-smoke",children:[(0,s.jsx)(w,{view:u[e.id],translate:v}),e.citations.length>0?" \xb7 ".concat(v("twin.proposalEvidence",{n:e.citations.length})):""]}),(0,s.jsx)(f,{citations:e.citations,marks:null!=(t=g[e.id])?t:{},locale:m,translate:v}),(0,s.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,s.jsx)(j,{label:v("twin.proposalAccept"),toggle:!0,active:!0===S.get(e.id),onClick:()=>C(p(S,e.id,!0))}),(0,s.jsx)(j,{label:v("twin.proposalReject"),toggle:!0,active:!1===S.get(e.id),onClick:()=>C(p(S,e.id,!1))})]})]},e.id)})})]},n)})})]}),E.map(e=>{let[t,n]=e;return(0,s.jsxs)("section",{className:"mt-8",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:x(t,v)}),(0,s.jsx)("ul",{className:"mt-4 flex flex-col gap-3",role:"list",children:n.map(e=>{var t,n;return(0,s.jsx)(b,{belief:e,criterion:u[e.id],marks:null!=(t=g[e.id])?t:{},narrowTo:e.learnedIn&&null!=(n=y[e.learnedIn.identity])?n:null,locale:m,gesture:k.get(e.id),stranded:"forming"!==e.badge&&d.has(e.id),editing:T===e.id,onEdit:t=>L(t?e.id:null),onGesture:t=>(function(e,t){let n=k.get(e),s=(null==n?void 0:n.kind)==="sign"&&void 0!==n.statement;n&&n.kind===t.kind&&!s?D(e,void 0):D(e,t)})(e.id,t),onWrite:t=>D(e.id,{kind:"sign",statement:t}),translate:v},e.id)})})]},t)}),n.length>0&&(0,s.jsxs)("section",{className:"mt-8",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:v("twin.graveyardTitle")}),(0,s.jsx)("p",{className:"mt-1 max-w-2xl text-sm leading-relaxed text-smoke",children:v("twin.graveyardNote")}),(0,s.jsx)("ul",{className:"mt-4 flex flex-col gap-2",role:"list",children:n.map(e=>(0,s.jsx)("li",{className:"rounded-lg border border-edge px-4 py-3 opacity-60",children:(0,s.jsx)("p",{className:"text-sm leading-relaxed text-smoke line-through decoration-faint",children:e.statement})},e.id))})]}),U&&(0,s.jsxs)("div",{className:"sticky bottom-4 z-10 mt-8 flex flex-wrap items-center gap-3 rounded-lg border border-edge bg-surface/95 px-4 py-3 shadow-lg backdrop-blur",children:[(0,s.jsx)("span",{className:"font-mono text-xs text-smoke",children:v("twin.markedGestures",{n:k.size+S.size})}),(0,s.jsx)(c.rA,{tone:"accent",type:"button",onClick:q,busy:O,busyLabel:v("twin.saving"),children:v("twin.save")}),(0,s.jsx)(c.rA,{tone:"quiet",type:"button",onClick:()=>{M(new Map),C(new Map),L(null)},disabled:O,children:v("twin.cancel")}),P&&(0,s.jsx)(c.lZ,{as:"span",text:v("twin.saveFailed",{detail:P})})]})]})}function u(e){let{publication:t,publishesInferred:n}=e,r=(0,a.kj)(),d=(0,a.Ym)(),m=(0,l.useRouter)(),[u,x]=(0,i.useState)(!1),[p,h]=(0,i.useState)(null);if(null===t)return null;async function w(){if(null!==t){x(!0),h(null);try{let s=await fetch("/api/twin/taste",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({version:2,publishInferred:n,expectedPublicationRevision:t.revision})}),i=await s.json().catch(()=>({}));if(!s.ok){var e;let t=(0,o.jc)(i.code);h(t?r(t):null!=(e=i.error)?e:String(s.status))}m.refresh()}catch(e){h(r("project.unreachable"))}finally{x(!1)}}}return(0,s.jsxs)("div",{className:"mt-3 border-t border-edge pt-3",children:[(0,s.jsxs)("p",{className:"font-mono text-xs text-smoke",children:[r("twin.publicationTitle")," ",(0,s.jsx)(c.vw,{tone:o.EU[t.status],children:r(o.dM[t.status])})]}),"none"===t.status&&(0,s.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-smoke",children:r("twin.publicationNone")}),"pending"===t.status&&(0,s.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-smoke",children:r("twin.publicationPending")}),"published"===t.status&&(0,s.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-smoke",children:r("twin.publicationPublished",{date:t.at?(0,c.Pp)(t.at,d):"—"})}),"failed"===t.status&&(0,s.jsx)(c.$T,{tone:"fail",className:"mt-2",title:r("twin.publicationFailed",{reason:t.reason?r((0,o.rA)(t.reason),{reason:t.reason}):"—"})}),"conflict"===t.status&&(0,s.jsxs)(c.$T,{tone:"warn",className:"mt-2",title:r("memory.publicationConflict"),children:[(0,s.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-smoke",children:r("twin.publicationConflictHint")}),(0,s.jsx)("div",{className:"mt-2",children:(0,s.jsx)(c.rA,{tone:"raised",size:"sm",type:"button",onClick:()=>void w(),busy:u,busyLabel:r("twin.publicationReconciling"),children:r("twin.publicationReconcile")})})]}),p&&(0,s.jsx)(c.lZ,{text:p,className:"mt-2"})]})}function x(e,t){let n=(0,r.Jj)(e);return n?t(n):e}function p(e,t,n){let s=new Map(e);return s.get(t)===n?s.delete(t):s.set(t,n),s}function h(e){let{view:t,translate:n}=e;return t&&(null!==t.appliesWhen||null!==t.exceptWhen)?(0,s.jsxs)("div",{className:"mt-1 max-w-2xl text-xs leading-relaxed text-smoke",children:[null!==t.appliesWhen&&(0,s.jsx)("p",{children:n("twin.appliesWhen",{sentence:t.appliesWhen})}),null!==t.exceptWhen&&(0,s.jsx)("p",{children:n("twin.exceptWhen",{sentence:t.exceptWhen})})]}):null}function w(e){let{view:t,translate:n}=e;if(!t)return null;let i=(0,o.lV)(t);return(0,s.jsxs)(s.Fragment,{children:[n(i.key,i.vars),null===t.families||t.meetsFloor?null:(0,s.jsx)("span",{className:"text-idle",children:" \xb7 ".concat(n("twin.familiesShort",{floor:o.OK}))})]})}function f(e){let{citations:t,marks:n,locale:i,translate:l}=e;return 0===t.length?null:(0,s.jsx)("ul",{className:"mt-3 flex flex-col gap-2.5 border-l border-edge pl-3",role:"list",children:t.map(e=>{let t=n[e.verdictId];return(0,s.jsxs)("li",{children:[(0,s.jsxs)("p",{className:"line-clamp-2 text-sm italic leading-snug text-smoke",title:e.quote,children:["\xab",e.quote,"\xbb"]}),(0,s.jsxs)("p",{className:"mt-0.5 font-mono text-xs text-faint",children:[(0,r.mL)(e.at,i),e.project?" \xb7 ".concat(l("twin.citedIn",{project:e.project})):"",(null==t?void 0:t.kind)?(0,s.jsxs)(s.Fragment,{children:[" \xb7 ",(0,s.jsx)(c.vw,{tone:t.ambiguous?"idle":"quiet",children:l(o.Vu[t.kind])})]}):null,(null==t?void 0:t.ambiguous)?(0,s.jsx)("span",{className:"text-idle",children:" \xb7 ".concat(l("twin.observationAmbiguous"))}):null]})]},e.verdictId)})})}function b(e){let{belief:t,criterion:n,marks:l,narrowTo:a,locale:r,gesture:o,stranded:m,editing:u,onEdit:x,onGesture:p,onWrite:b,translate:g}=e,[y,v]=(0,i.useState)(!1),[N,k]=(0,i.useState)(t.statement),M=(null==o?void 0:o.kind)==="sign"?o.statement:void 0,S=void 0!==n&&(null!==n.appliesWhen||null!==n.exceptWhen);return(0,s.jsxs)("li",{id:"belief-".concat(t.id),tabIndex:-1,className:["scroll-mt-24 rounded-lg border px-4 py-4 transition-colors",(null==o?void 0:o.kind)==="sign"?"border-l-2 border-l-live border-edge bg-live/[0.05]":(null==o?void 0:o.kind)==="veto"?"border-l-2 border-l-faint border-edge opacity-60":void 0!==o?"border-l-2 border-l-chalk border-edge":"border-edge"].join(" "),children:[(0,s.jsxs)("p",{className:"eyebrow",children:[(0,s.jsx)("span",{className:"forming"===t.badge?"text-idle":"",children:g(d[t.badge])}),t.scope?" \xb7 ".concat(g("twin.scopedTag",{project:t.scope})):"",m?(0,s.jsx)("span",{className:"text-idle",children:" \xb7 ".concat(g("twin.notInFile"))}):null]}),m?(0,s.jsx)("p",{className:"mt-1 max-w-2xl text-xs leading-relaxed text-smoke",children:g("twin.notInFileWhy")}):null,u?(0,s.jsxs)("div",{className:"mt-2",children:[(0,s.jsx)(c.fs,{label:g("twin.editText"),hideLabel:!0,rows:3,className:"max-w-2xl",value:N,onChange:e=>k(e.target.value)}),(0,s.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[(0,s.jsx)(j,{label:g("twin.editSave"),active:!0,onClick:()=>{""!==N.trim()&&(b(N.trim()),x(!1))}}),(0,s.jsx)(j,{label:g("twin.cancel"),onClick:()=>{k(t.statement),x(!1)}})]})]}):(0,s.jsx)("p",{className:"mt-1 max-w-2xl text-base leading-relaxed",children:null!=M?M:t.statement}),(0,s.jsx)(h,{view:n,translate:g}),(0,s.jsxs)("p",{className:"mt-2 font-mono text-xs text-smoke",children:[t.authored?g("twinTeach.ownerEvidence"):g("twin.support",{observations:t.support.observations,projects:t.support.projects,days:t.support.days}),"forming"===t.badge?(0,s.jsx)("span",{className:"text-idle",children:" \xb7 ".concat(g("twin.formingWhy"))}):null,!t.authored&&"signed"!==t.badge&&n?(0,s.jsxs)(s.Fragment,{children:[" \xb7 ",(0,s.jsx)(w,{view:n,translate:g})]}):null,t.citations.length>0&&(0,s.jsxs)(s.Fragment,{children:[" \xb7 ",(0,s.jsx)("button",{type:"button",onClick:()=>v(e=>!e),className:"underline-offset-2 hover:underline",children:g(y?"twin.hideCitations":"twin.showCitations",{n:t.citations.length})})]})]}),y&&(0,s.jsx)(f,{citations:t.citations,marks:l,locale:r,translate:g}),!u&&(0,s.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:["signed"!==t.badge&&(0,s.jsx)(j,{label:g("twin.sign"),toggle:!0,active:(null==o?void 0:o.kind)==="sign"&&void 0===M,onClick:()=>p({kind:"sign"})}),(0,s.jsx)(j,{label:g("twin.edit"),toggle:!0,active:void 0!==M,onClick:()=>{k(null!=M?M:t.statement),x(!0)}}),(0,s.jsx)(j,{label:g("twin.veto"),toggle:!0,active:(null==o?void 0:o.kind)==="veto",onClick:()=>p({kind:"veto"})}),t.scope?(0,s.jsx)(j,{label:g("twin.scopeAll"),toggle:!0,active:(null==o?void 0:o.kind)==="scope"&&null===o.slug,onClick:()=>p({kind:"scope",slug:null})}):t.learnedIn&&a?(0,s.jsx)(j,{label:g("twin.scopeOnly",{project:t.learnedIn.name}),toggle:!0,active:(null==o?void 0:o.kind)==="scope",onClick:()=>p({kind:"scope",slug:a})}):null]}),!u&&S&&"signed"!==t.badge?(0,s.jsx)("p",{className:"mt-2 max-w-2xl text-xs leading-relaxed text-faint",children:g("twin.signWhatYouSee")}):null]})}function j(e){let{label:t,active:n,toggle:i=!1,onClick:l}=e;return(0,s.jsx)(c.rA,{tone:n?"accent":"plain",type:"button",...i?{"aria-pressed":null!=n&&n}:{},onClick:l,children:t})}},26488:(e,t,n)=>{"use strict";n.d(t,{P:()=>s,s:()=>i});let s=300,i=300},56684:(e,t,n)=>{"use strict";n.d(t,{k5:()=>d});var s=n(32165),i={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},l=s.createContext&&s.createContext(i),a=["attr","size","title"];function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)({}).hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e}).apply(null,arguments)}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,s)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach(function(t){var s,i,l;s=e,i=t,l=n[t],(i=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var s=n.call(e,t||"default");if("object"!=typeof s)return s;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(i))in s?Object.defineProperty(s,i,{value:l,enumerable:!0,configurable:!0,writable:!0}):s[i]=l}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function d(e){return t=>s.createElement(m,r({attr:c({},e.attr)},t),function e(t){return t&&t.map((t,n)=>s.createElement(t.tag,c({key:n},t.attr),e(t.child)))}(e.child))}function m(e){var t=t=>{var n,i=e.attr,l=e.size,o=e.title,d=function(e,t){if(null==e)return{};var n,s,i=function(e,t){if(null==e)return{};var n={};for(var s in e)if(({}).hasOwnProperty.call(e,s)){if(-1!==t.indexOf(s))continue;n[s]=e[s]}return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(s=0;s<l.length;s++)n=l[s],-1===t.indexOf(n)&&({}).propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(e,a),m=l||t.size||"1em";return t.className&&(n=t.className),e.className&&(n=(n?n+" ":"")+e.className),s.createElement("svg",r({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,i,d,{className:n,style:c(c({color:e.color||t.color},t.style),e.style),height:m,width:m,xmlns:"http://www.w3.org/2000/svg"}),o&&s.createElement("title",null,o),e.children)};return void 0!==l?s.createElement(l.Consumer,null,e=>t(e)):t(i)}},59752:(e,t,n)=>{Promise.resolve().then(n.bind(n,18557)),Promise.resolve().then(n.bind(n,66229)),Promise.resolve().then(n.bind(n,92458)),Promise.resolve().then(n.bind(n,3030)),Promise.resolve().then(n.bind(n,94007)),Promise.resolve().then(n.bind(n,4733)),Promise.resolve().then(n.bind(n,88145)),Promise.resolve().then(n.bind(n,15797)),Promise.resolve().then(n.bind(n,92767)),Promise.resolve().then(n.t.bind(n,3953,23))},59916:(e,t,n)=>{"use strict";n.d(t,{Jj:()=>i,Wv:()=>s,mL:()=>l});let s={design:"twin.topicDesign",frontend:"twin.topicFrontend",backend:"twin.topicBackend",cli:"twin.topicCli",testing:"twin.topicTesting",copy:"twin.topicCopy",workflow:"twin.topicWorkflow",tooling:"twin.topicTooling",data:"twin.topicData",other:"twin.topicOther"};function i(e){return s[e]}function l(e,t){let n=new Date(e);if(Number.isNaN(n.getTime()))return e.slice(0,10);let s=String(n.getMonth()+1).padStart(2,"0"),i=String(n.getDate()).padStart(2,"0");return"en"===t?"".concat(n.getFullYear(),"-").concat(s,"-").concat(i):"".concat(i,"/").concat(s,"/").concat(n.getFullYear())}},66229:(e,t,n)=>{"use strict";n.d(t,{TwinConsent:()=>c});var s=n(38657),i=n(32165),l=n(10354),a=n(9144),r=n(52948),o=n(98642);function c(e){let{standing:t,chars:n,cap:c,publicationRevision:d}=e,m=(0,a.kj)(),u=(0,l.useRouter)(),[x,p]=(0,i.useState)(!1),[h,w]=(0,i.useState)(null);async function f(e){p(!0),w(null);try{let n=await fetch("/api/twin/taste",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({version:2,publishInferred:e,expectedPublicationRevision:d})}),s=await n.json().catch(()=>({}));if(!n.ok){var t;let e=(0,o.jc)(s.code);w(e?m(e):null!=(t=s.error)?t:String(n.status))}u.refresh()}catch(e){w(m("project.unreachable"))}finally{p(!1)}}return(0,s.jsxs)(r.Zp,{as:"section",tone:"plain",className:"mt-8","aria-labelledby":"twin-consent-title",children:[(0,s.jsx)("h2",{id:"twin-consent-title",className:"text-base font-semibold",children:m("twin.consentTitle")}),(0,s.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed",children:m("twin.consentBody")}),(0,s.jsxs)("p",{className:"mt-2 max-w-2xl text-xs leading-relaxed text-smoke",children:[m("twin.consentDistinct")," ",m("twin.consentDistinctExtract")]}),(0,s.jsxs)("p",{className:"mt-2 max-w-2xl font-mono text-xs ".concat(n>c?"text-idle":"text-smoke"),children:[m("twin.consentCount",{n:t,chars:n}),n>c?" \xb7 ".concat(m("twin.consentOver",{cap:c})):""]}),(0,s.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,s.jsx)(r.rA,{tone:"accent",type:"button",onClick:()=>f(!0),busy:x,busyLabel:m("twin.saving"),children:m("twin.consentAllow")}),(0,s.jsx)("span",{className:"font-mono text-xs text-faint",children:m("twin.consentRevoke")})]}),h&&(0,s.jsx)(r.lZ,{text:m("twin.saveFailed",{detail:h}),className:"mt-2"})]})}},88145:(e,t,n)=>{"use strict";n.d(t,{TwinSources:()=>c});var s=n(38657),i=n(32165),l=n(10354),a=n(9144),r=n(52948),o=n(98642);function c(e){let{sources:t,grants:n,extraction:c,learning:d}=e,m=(0,a.kj)(),u=(0,a.Ym)(),x=(0,l.useRouter)(),[p,h]=(0,i.useState)(null),[w,f]=(0,i.useState)(null),[b,j]=(0,i.useState)(t);async function g(e,t){h(e),f(null);try{let s=await fetch("/api/twin/sources",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:e,allowed:t})}),i=await s.json();if(!s.ok){var n;f(null!=(n=i.error)?n:String(s.status));return}i.sources&&j(i.sources),x.refresh()}catch(e){f(m("project.unreachable"))}finally{h(null)}}async function y(e){h(e.source),f(null);try{let n=await fetch("/api/twin/sources",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...e,scope:"global"})}),s=await n.json().catch(()=>({}));if(!n.ok){var t;let e=(0,o.kU)(s.code);f(e?m(e):null!=(t=s.error)?t:String(n.status));return}s.sources&&j(s.sources),x.refresh()}catch(e){f(m("project.unreachable"))}finally{h(null)}}let v=b.filter(e=>"absent"!==e.state);return 0===v.length?(0,s.jsxs)(r.Zp,{as:"section",tone:"plain","aria-labelledby":"twin-sources-title",children:[(0,s.jsx)("h2",{id:"twin-sources-title",className:"text-base font-semibold",children:m("twin.sourcesTitle")}),(0,s.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed",children:m("twin.sourcesNone")})]}):(0,s.jsxs)(r.Zp,{as:"section",tone:"plain","aria-labelledby":"twin-sources-title",children:[(0,s.jsx)("h2",{id:"twin-sources-title",className:"text-base font-semibold",children:m("twin.sourcesTitle")}),(0,s.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed",children:m("twin.sourcesLead")}),(0,s.jsx)("div",{className:"mt-3 flex flex-col gap-2",children:v.map(e=>(0,s.jsxs)("div",{className:"grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-4 gap-y-1",children:[(0,s.jsxs)("span",{className:"min-w-0",children:[(0,s.jsx)("span",{className:"font-mono text-xs",children:e.label})," ",(0,s.jsx)("span",{className:"font-mono text-xs text-smoke",children:e.present?m("twin.sourceSize",{files:e.files,size:(0,r.z3)(e.bytes)}):m("twin.sourceGone")})]}),"noReader"===e.state?(0,s.jsx)("span",{className:"justify-self-end font-mono text-xs text-idle",children:m("twin.sourceNoReader")}):(0,s.jsx)(r.rA,{tone:"allowed"===e.state?"plain":"accent",type:"button",onClick:()=>g(e.id,"allowed"!==e.state),busy:p===e.id,busyLabel:m("twin.saving"),disabled:null!==p,className:"justify-self-end",children:m("allowed"===e.state?"twin.sourceRevoke":"twin.sourceAllow")})]},e.id))}),(0,s.jsx)("p",{className:"mt-3 max-w-2xl font-mono text-xs text-faint",children:m("twin.sourcesRevokeNote")}),v.some(e=>"allowed"===e.state)&&(0,s.jsxs)("div",{className:"mt-4 border-t border-edge pt-3",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:m("twin.captureTitle")}),(0,s.jsx)("p",{className:"mt-1 max-w-2xl text-xs leading-relaxed text-smoke",children:m("memory.captureConsent")}),(0,s.jsxs)("ul",{className:"mt-2 max-w-2xl space-y-1 text-xs leading-relaxed text-smoke",children:[(0,s.jsx)("li",{children:m("twin.captureReads")}),(0,s.jsx)("li",{children:m("twin.captureRetains")}),(0,s.jsx)("li",{children:m("twin.captureFrom")}),(0,s.jsx)("li",{children:m("twin.captureRevokeNote")}),(0,s.jsx)("li",{children:m("twin.captureScope")})]}),(0,s.jsx)("h4",{className:"mt-3 text-xs font-semibold",children:m("twin.factsTitle")}),(0,s.jsxs)("ul",{className:"mt-1 max-w-2xl space-y-1 text-xs leading-relaxed text-smoke",children:[(0,s.jsx)("li",{children:m("twin.factsReads")}),(0,s.jsx)("li",{children:m("twin.factsFrom")})]}),(0,s.jsx)("h4",{className:"mt-3 text-xs font-semibold",children:m("twin.extractTitle")}),(0,s.jsx)("p",{className:"mt-1 max-w-2xl text-xs leading-relaxed text-smoke",children:m("memory.extractConsent")}),(0,s.jsxs)("ul",{className:"mt-1 max-w-2xl space-y-1 text-xs leading-relaxed text-smoke",children:[(0,s.jsx)("li",{children:m("twin.extractTravels")}),(0,s.jsx)("li",{children:m("twin.extractRetains",{quotes:c.quotes,chars:c.quoteChars})}),(0,s.jsx)("li",{children:m("twin.extractQuota",{daily:c.dailyCap,perConversation:c.perConversation})}),(0,s.jsx)("li",{children:m("twin.extractFrom")}),(0,s.jsx)("li",{children:m("twin.extractRevokeNote")}),(0,s.jsx)("li",{children:m("twin.extractNeedsCapture")}),(0,s.jsx)("li",{children:m("twin.captureScope")})]}),(0,s.jsx)("h4",{className:"mt-3 text-xs font-semibold",children:m("twin.learnSwitchTitle")}),(0,s.jsx)("p",{className:"mt-1 max-w-2xl text-xs leading-relaxed text-smoke",children:m("memory.twinAutoLearnConsent")}),(0,s.jsxs)("ul",{className:"mt-1 max-w-2xl space-y-1 text-xs leading-relaxed text-smoke",children:[(0,s.jsx)("li",{children:m("twin.learnTravels")}),(0,s.jsx)("li",{children:m("twin.learnRetains")}),(0,s.jsx)("li",{children:m("twin.learnQuota",{daily:d.dailyCap})}),(0,s.jsx)("li",{children:m("twin.learnNeverPublishes")}),(0,s.jsx)("li",{children:m("twin.learnFrom")}),(0,s.jsx)("li",{children:m("twin.learnRevokeNote")}),(0,s.jsx)("li",{children:m("twin.learnNeedsCapture")}),(0,s.jsx)("li",{children:m("twin.captureScope")})]}),(0,s.jsx)("div",{className:"mt-3 flex flex-col gap-3",children:v.filter(e=>"allowed"===e.state).map(e=>{var t;let i=n[e.id];if((null==i?void 0:i.supported)!==!0)return(0,s.jsxs)("div",{className:"grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-4 gap-y-1",children:[(0,s.jsx)("span",{className:"font-mono text-xs",children:e.label}),(0,s.jsx)("span",{className:"justify-self-end font-mono text-xs text-idle",children:m("twin.captureUnsupported")})]},e.id);let l=i.capture,a=i.extract,o=i.autoLearn,c=(null==l?void 0:l.enabled)===!0,d=c&&(null!=(t=null==l?void 0:l.noticeVersion)?t:1)>=2,x=(null==a?void 0:a.enabled)===!0,h=(null==o?void 0:o.enabled)===!0,w=e=>{var t;return null!=(t=null==e?void 0:e.generation)?t:0},f=e=>new Date(e.activatedAt).toLocaleDateString(u);return(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"font-mono text-xs",children:e.label}),(0,s.jsxs)("div",{className:"mt-1 grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-4 gap-y-1",children:[(0,s.jsx)(r.Jl,{size:"sm",checked:c,disabled:null!==p,onChange:t=>void y({source:e.id,purpose:"memoryCapture",allowed:t.target.checked,noticeVersion:t.target.checked?1:(null==l?void 0:l.noticeVersion)===2?2:1,expectedRevision:w(l)}),children:(0,s.jsx)("span",{className:"text-xs",children:m("twin.captureAccept")})}),(0,s.jsx)("span",{className:"justify-self-end font-mono text-xs text-smoke",children:c&&l?m("twin.captureOn",{date:f(l)}):m("twin.captureOff")}),c&&l&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Jl,{size:"sm",checked:d,disabled:null!==p,onChange:t=>void y({source:e.id,purpose:"memoryCapture",allowed:!0,noticeVersion:t.target.checked?2:1,expectedRevision:w(l)}),children:(0,s.jsx)("span",{className:"text-xs",children:m("twin.factsAccept")})}),(0,s.jsx)("span",{className:"justify-self-end font-mono text-xs text-smoke",children:m(d?"twin.factsOn":"twin.factsOff")})]}),(0,s.jsx)(r.Jl,{size:"sm",checked:x,disabled:null!==p||!c&&!x,onChange:t=>void y({source:e.id,purpose:"memoryExtract",allowed:t.target.checked,noticeVersion:1,expectedRevision:w(a)}),children:(0,s.jsx)("span",{className:"text-xs",children:m("memory.extractConsent")})}),(0,s.jsx)("span",{className:"justify-self-end font-mono text-xs text-smoke",children:x&&a?m(c?"twin.extractOn":"twin.extractPaused",{date:f(a)}):m("twin.extractOff")}),(0,s.jsx)(r.Jl,{size:"sm",checked:h,disabled:null!==p||!c&&!h,onChange:t=>void y({source:e.id,purpose:"twinAutoLearn",allowed:t.target.checked,noticeVersion:1,expectedRevision:w(o)}),children:(0,s.jsx)("span",{className:"text-xs",children:m("memory.twinAutoLearnConsent")})}),(0,s.jsx)("span",{className:"justify-self-end font-mono text-xs text-smoke",children:h&&o?m(c?"twin.learnOn":"twin.learnStopped",{date:f(o)}):m("twin.learnOff")})]})]},e.id)})})]}),w&&(0,s.jsx)(r.lZ,{text:w,className:"mt-2"})]})}},92458:(e,t,n)=>{"use strict";n.d(t,{TwinDistill:()=>o});var s=n(38657),i=n(32165),l=n(10354),a=n(9144),r=n(52948);function o(e){let{left:t,granted:n}=e,o=(0,a.kj)(),m=(0,l.useRouter)(),[u,x]=(0,i.useState)(!1),[p,h]=(0,i.useState)(null),[w,f]=(0,i.useState)(null);async function b(){x(!0),h(null),f(null);try{var e,t,n,s,i,l,a,r;h(o("twin.mining"));let u=await c();if(u.unreachable)h(o("project.unreachable"));else if(void 0!==u.error){if(h(u.error),u.blocked)return}else{let a=null!=(t=u.saved)?t:0,r=null!=(n=null==(e=u.denied)?void 0:e.length)?n:0,c=[0===a?o("twin.minedNone"):o("twin.mined",{saved:a,duplicates:null!=(s=u.duplicates)?s:0})];(null!=(i=u.narrativesSaved)?i:0)>0&&c.push(o("twin.minedRecords",{n:null!=(l=u.narrativesSaved)?l:0})),r>0&&c.push(o("twin.minedDenied",{n:r})),h(c.join(" \xb7 "))}let x=await d({dryRun:!0});if(x.error)return void h(x.hint?"".concat(x.error," ").concat(x.hint):x.error);if(!x.verdicts)return void h(o("twin.distillNothing"));f({verdicts:x.verdicts,tokens:null!=(a=x.estimatedTokens)?a:0}),h(o("twin.distillEstimate",{verdicts:x.verdicts,tokens:null!=(r=x.estimatedTokens)?r:0})),m.refresh()}catch(e){h(o("project.unreachable"))}finally{x(!1)}}async function j(){x(!0),f(null);try{let i=0,l=0,a=0;for(let r=1;r<=20;r+=1){var e,t,n,s;let r=await d({});if(i+=null!=(e=r.verdicts)?e:0,l+=null!=(t=r.saved)?t:0,a+=null!=(n=r.truncated)?n:0,r.error){h(r.hint?"".concat(r.error," ").concat(r.hint):r.error);break}let c=r.corpus?Math.max(r.corpus.total-r.corpus.read,0):0,m=null!=(s=r.thin)?s:0,u=[o("twin.distillProgress",{read:i,saved:l,left:c})];if(m>0&&u.push(o("twin.distillThin",{n:m})),a>0&&u.push(o("twin.distillTruncated",{n:a})),h(u.join(" \xb7 ")),!r.verdicts||c<=0)break}m.refresh()}catch(e){h(o("project.unreachable"))}finally{x(!1)}}return(0,s.jsxs)("div",{className:"mt-2 flex flex-col gap-1",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,s.jsx)(r.rA,{tone:"plain",type:"button",onClick:b,busy:u&&null===w,busyLabel:o("twin.distilling"),disabled:!n||u,"aria-describedby":n?void 0:"twin-distill-why",className:"self-start",children:t>0?o("twin.mineButtonLeft",{n:t}):o("twin.mineButton")}),null!==w&&(0,s.jsx)(r.rA,{tone:"accent",type:"button",onClick:j,busy:u,busyLabel:o("twin.distillingPaid"),disabled:u,children:o("twin.distillGo",{n:w.verdicts})})]}),n&&(0,s.jsx)("p",{className:"text-xs leading-relaxed text-smoke",children:o("twin.distillCost")}),!n&&(0,s.jsx)("p",{id:"twin-distill-why",className:"text-xs leading-relaxed text-smoke",children:o("twin.distillNoConsent")}),(0,s.jsx)("div",{role:"status","aria-live":"polite",children:p&&(0,s.jsx)("p",{className:"font-mono text-xs text-smoke",children:p})})]})}async function c(){try{var e;let t=await fetch("/api/twin/mine",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),n=await t.json();if(t.ok)return n;return{error:null!=(e=n.error)?e:String(t.status),...409===t.status?{blocked:!0}:{}}}catch(e){return{unreachable:!0}}}async function d(e){var t;let n=await fetch("/api/twin/distill",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),s=await n.json();return n.ok?s:{...s,error:null!=(t=s.error)?t:String(n.status)}}},92767:(e,t,n)=>{"use strict";n.d(t,{TwinTeach:()=>p});var s=n(38657),i=n(32165),l=n(10354),a=n(3043),r=n(9144),o=n(52948),c=n(98642),d=n(59916),m=n(26488);function u(e){if(!e.rows.length)return null;let t=e.rows.map(e=>{let t="operation_is"===e.kind?{kind:e.kind,operation:e.value}:"path_under"===e.kind?{kind:e.kind,path:e.value.trim()}:{kind:e.kind,taskKind:e.value.trim()};return e.negated?{not:t}:t});return{schemaVersion:1,expression:"all"===e.mode?{all:t}:{any:t}}}function x(e){let{label:t,value:n,onChange:l,disabled:a}=e,c=(0,r.kj)(),d=(0,i.useId)(),m=(e,t)=>l({...n,rows:n.rows.map((n,s)=>s===e?{...n,...t}:n)});return(0,s.jsxs)("fieldset",{disabled:a,className:"mt-4 border-t border-edge pt-4",children:[(0,s.jsx)("legend",{className:"text-sm font-semibold",children:t}),n.rows.length>1&&(0,s.jsxs)(o.l6,{label:c("twinTeach.match"),value:n.mode,onChange:e=>l({...n,mode:e.target.value}),children:[(0,s.jsx)("option",{value:"all",children:c("twinTeach.matchAll")}),(0,s.jsx)("option",{value:"any",children:c("twinTeach.matchAny")})]}),(0,s.jsx)("div",{className:"space-y-3",children:n.rows.map((e,t)=>(0,s.jsxs)("div",{className:"mt-3 space-y-2 rounded border border-edge p-3",children:[(0,s.jsxs)(o.l6,{label:c("twinTeach.contextKind"),value:e.kind,onChange:e=>m(t,{kind:e.target.value,value:"operation_is"===e.target.value?"edit":""}),children:[(0,s.jsx)("option",{value:"operation_is",children:c("twinTeach.operation")}),(0,s.jsx)("option",{value:"path_under",children:c("twinTeach.path")}),(0,s.jsx)("option",{value:"task_kind_is",children:c("twinTeach.taskKind")})]}),"operation_is"===e.kind?(0,s.jsxs)(o.l6,{label:c("twinTeach.operation"),value:e.value,onChange:e=>m(t,{value:e.target.value}),children:[(0,s.jsx)("option",{value:"read",children:c("twinTeach.opRead")}),(0,s.jsx)("option",{value:"edit",children:c("twinTeach.opEdit")}),(0,s.jsx)("option",{value:"test",children:c("twinTeach.opTest")}),(0,s.jsx)("option",{value:"build",children:c("twinTeach.opBuild")}),(0,s.jsx)("option",{value:"deploy",children:c("twinTeach.opDeploy")}),(0,s.jsx)("option",{value:"review",children:c("twinTeach.opReview")}),(0,s.jsx)("option",{value:"other",children:c("twinTeach.opOther")})]}):(0,s.jsx)(o.D0,{label:c("path_under"===e.kind?"twinTeach.pathValue":"twinTeach.taskValue"),value:e.value,required:!0,maxLength:"path_under"===e.kind?2048:64,pattern:"task_kind_is"===e.kind?"[a-z][a-z0-9_-]*":void 0,placeholder:"path_under"===e.kind?"src/components":"implementation",onChange:e=>m(t,{value:e.target.value})}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,s.jsx)(o.Jl,{checked:e.negated,onChange:e=>m(t,{negated:e.target.checked}),children:c("twinTeach.negate")}),(0,s.jsx)(o.rA,{type:"button",tone:"quiet",size:"sm",onClick:()=>l({...n,rows:n.rows.filter((e,n)=>n!==t)}),children:c("twinTeach.removeCondition")})]})]},"".concat(d,"-").concat(t)))}),(0,s.jsx)(o.rA,{type:"button",tone:"quiet",size:"sm",className:"mt-3",disabled:a||n.rows.length>=20,onClick:()=>l({...n,rows:[...n.rows,{kind:"operation_is",value:"edit",negated:!1}]}),children:c("twinTeach.addCondition")})]})}function p(e){let{projects:t,omitted:n}=e,p=(0,r.kj)(),h=(0,l.useRouter)(),[w,f]=(0,i.useState)(""),[b,j]=(0,i.useState)("workflow"),[g,y]=(0,i.useState)(""),[v,N]=(0,i.useState)({mode:"all",rows:[]}),[k,M]=(0,i.useState)({mode:"any",rows:[]}),[S,C]=(0,i.useState)(!1),[T,L]=(0,i.useState)(null),[O,R]=(0,i.useState)(null),P=(0,i.useRef)(!1);async function A(e){if(e.preventDefault(),!P.current&&w.trim()){P.current=!0,C(!0),L(null),R(null);try{let e=await fetch("/api/twin/taste",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({version:2,teach:{statement:w,topic:b,...g?{scope:"project",slug:g}:{scope:"global"},conditions:u(v),exceptions:u(k)}})}),n=await e.json().catch(()=>({}));if(!e.ok||!n.beliefId){var t;let e="invalid_input"===n.code?"twinTeach.invalid":(0,c.jc)(n.code);L(e?p(e):null!=(t=n.error)?t:p("twinTeach.failed"));return}f(""),N({mode:"all",rows:[]}),M({mode:"any",rows:[]}),R(n.beliefId),h.refresh()}catch(e){L(p("project.unreachable"))}finally{P.current=!1,C(!1)}}}return(0,s.jsx)("section",{id:"teach",tabIndex:-1,"aria-labelledby":"twin-teach-title",className:"page-shell__section scroll-mt-24 rounded-lg border border-edge bg-surface p-5 sm:p-6",children:(0,s.jsxs)("div",{className:"grid gap-6 lg:grid-cols-[1fr_1.4fr]",children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("p",{className:"flex items-center gap-2 font-mono text-xs text-smoke",children:[(0,s.jsx)(a.YUE,{"aria-hidden":!0,className:"h-4 w-4"}),p("twinTeach.eyebrow")]}),(0,s.jsx)("h2",{id:"twin-teach-title",className:"mt-2 text-base font-semibold",children:p("twinTeach.title")}),(0,s.jsx)("p",{className:"mt-3 max-w-md text-sm leading-relaxed text-smoke",children:p("twinTeach.lead")}),(0,s.jsx)("p",{className:"mt-3 max-w-md text-xs leading-relaxed text-smoke",children:p("twinTeach.control")})]}),(0,s.jsxs)("form",{onSubmit:A,"aria-busy":S,children:[(0,s.jsx)(o.fs,{label:p("twinTeach.statement"),value:w,onChange:e=>{f(e.target.value),R(null)},required:!0,maxLength:m.P,rows:3,disabled:S,placeholder:p("twinTeach.placeholder"),"aria-describedby":"twin-teach-count"}),(0,s.jsx)("p",{id:"twin-teach-count",className:"mt-1 text-right font-mono text-xs text-smoke",children:p("twinTeach.characters",{n:w.length,max:m.P})}),(0,s.jsxs)("div",{className:"mt-3 grid gap-3 sm:grid-cols-2",children:[(0,s.jsx)(o.l6,{label:p("twinTeach.topic"),value:b,disabled:S,onChange:e=>j(e.target.value),children:Object.entries(d.Wv).map(e=>{let[t,n]=e;return(0,s.jsx)("option",{value:t,children:p(n)},t)})}),(0,s.jsxs)("div",{children:[(0,s.jsxs)(o.l6,{label:p("twinTeach.scope"),value:g,disabled:S,"aria-describedby":n>0?"twin-teach-scope-note":void 0,onChange:e=>y(e.target.value),children:[(0,s.jsx)("option",{value:"",children:p("twinTeach.global")}),t.map(e=>(0,s.jsx)("option",{value:e.slug,children:e.label},e.slug))]}),n>0&&(0,s.jsx)("p",{id:"twin-teach-scope-note",className:"mt-2 text-xs leading-relaxed text-smoke",children:p("twinTeach.scopeOmitted",{n:n})})]})]}),(0,s.jsxs)("details",{className:"mt-4",children:[(0,s.jsx)("summary",{className:"cursor-pointer text-sm",children:p("twinTeach.contextRules")}),(0,s.jsx)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:p("twinTeach.contextHint")}),(0,s.jsx)(x,{label:p("twinTeach.conditions"),value:v,onChange:N,disabled:S}),(0,s.jsx)(x,{label:p("twinTeach.exceptions"),value:k,onChange:M,disabled:S})]}),(0,s.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-3",children:[(0,s.jsx)(o.rA,{type:"submit",tone:"accent",busy:S,busyLabel:p("twinTeach.saving"),disabled:S||!w.trim(),children:p("twinTeach.save")}),(0,s.jsx)("span",{className:"text-xs text-smoke",children:p("twinTeach.cost")})]}),T&&(0,s.jsx)(o.lZ,{text:T,className:"mt-3"}),(0,s.jsx)("div",{role:"status","aria-live":"polite",children:O&&(0,s.jsxs)("p",{className:"mt-3 text-sm text-smoke",children:[p("twinTeach.saved")," "," ",(0,s.jsx)("a",{href:"#belief-".concat(O),className:"underline underline-offset-4",children:p("twinTeach.view")})]})})]})]})})}},94007:(e,t,n)=>{"use strict";n.d(t,{RECENT_OBSERVATIONS:()=>d,TwinLearning:()=>m});var s=n(38657),i=n(32165),l=n(10354),a=n(9144),r=n(52948),o=n(98642),c=n(59916);let d=8;function m(e){let{learning:t,recent:n}=e,d=(0,a.kj)(),m=(0,a.Ym)(),x=(0,l.useRouter)(),[p,h]=(0,i.useState)(null),[w,f]=(0,i.useState)(null),[b,j]=(0,i.useState)(null);async function g(e){h("".concat(e.source,":").concat(e.projectId)),f(null),j(null);let t={source:e.source,purpose:"twinAutoLearn",allowed:!1,noticeVersion:1,expectedRevision:e.generation,scope:e.scope,..."project"===e.scope?{slug:e.slug}:{}};try{let e=await fetch("/api/twin/sources",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),s=await e.json().catch(()=>({}));if(!e.ok){var n;let t=(0,o.kU)(s.code);f(t?d(t):null!=(n=s.error)?n:String(e.status));return}"number"==typeof s.jobsObsoleted&&s.jobsObsoleted>0&&j(s.jobsObsoleted),x.refresh()}catch(e){f(d("project.unreachable"))}finally{h(null)}}if(null===t)return null;let y=null===t.waiting?"twin.learnWorking":o.Ch[t.waiting],v=null===t.waiting?"live":o.Fn[t.waiting];return(0,s.jsxs)(r.Zp,{as:"section",tone:"plain",className:"mt-4","aria-labelledby":"twin-learning-title",children:[(0,s.jsx)("h3",{id:"twin-learning-title",className:"text-sm font-semibold",children:d("twin.learnTitle")}),(0,s.jsx)("p",{className:"mt-1 max-w-2xl text-xs leading-relaxed text-smoke",children:d("twin.learnLead")}),0===t.scopes.length?(0,s.jsx)(r.pp,{variant:"note",className:"mt-3",title:d("twin.learnNone")}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("p",{className:"mt-3 max-w-2xl text-sm leading-relaxed ".concat(u[v]),children:d(y)}),(0,s.jsx)("p",{className:"mt-1 font-mono text-xs text-smoke",children:d("twin.learnSpend",{used:t.spend.automaticToday,subquota:t.spend.subquota,cap:t.spend.cap})}),(0,s.jsx)("p",{className:"mt-1 font-mono text-xs text-smoke",children:t.pending.streams>0?d("twin.learnPending",{size:(0,r.z3)(t.pending.bytes),streams:t.pending.streams}):d("twin.learnNothingPending")}),(0,s.jsx)("p",{className:"mt-1 font-mono text-xs text-smoke",children:t.lastAt?d("twin.learnLast",{date:(0,r.Pp)(t.lastAt,m)}):d("twin.learnLastNone")}),t.jobs.length>0&&(0,s.jsx)("p",{className:"mt-1 font-mono text-xs text-smoke",children:t.jobs.map(e=>d("twin.learnJobLine",{status:d(o.k1[e.status]),n:e.n})).join(" \xb7 ")}),(0,s.jsx)("div",{className:"mt-3 flex flex-col gap-2 border-t border-edge pt-3",children:t.scopes.map(e=>{let t="".concat(e.source,":").concat(e.projectId);return(0,s.jsxs)("div",{className:"grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-4 gap-y-1",children:[(0,s.jsxs)("span",{className:"min-w-0",children:[(0,s.jsx)("span",{className:"font-mono text-xs",children:e.slug})," ",(0,s.jsx)("span",{className:"font-mono text-xs text-smoke",children:e.sourceLabel})," ",(0,s.jsx)(r.vw,{tone:e.active?"live":"idle",children:d(e.active?"twin.learnActive":"twin.learnPaused")})," ",(0,s.jsx)(r.vw,{tone:"quiet",children:d("global"===e.scope?"twin.learnScopeGlobal":"twin.learnScopeProject")}),(0,s.jsxs)("span",{className:"mt-0.5 block font-mono text-[11px] text-faint",children:[e.pending.streams>0?d("twin.learnPending",{size:(0,r.z3)(e.pending.bytes),streams:e.pending.streams}):d("twin.learnNothingPending")," \xb7 ",e.lastAt?d("twin.learnLast",{date:(0,r.Pp)(e.lastAt,m)}):d("twin.learnLastNone")]})]}),e.active?(0,s.jsx)(r.rA,{tone:"plain",size:"sm",type:"button",onClick:()=>void g(e),busy:p===t,busyLabel:d("twin.learnPausing"),disabled:null!==p,className:"justify-self-end",children:d("twin.learnPause")}):null]},t)})}),(0,s.jsx)("p",{className:"mt-2 max-w-2xl font-mono text-xs text-faint",children:d("twin.learnPauseNote")}),null!==b&&(0,s.jsx)("p",{role:"status",className:"mt-1 font-mono text-xs text-smoke",children:d("twin.learnRevoked",{n:b})})]}),(0,s.jsx)("h4",{className:"mt-4 text-xs font-semibold",children:d("twin.learnRecentTitle")}),0===n.length?(0,s.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-smoke",children:d("twin.learnRecentNone")}):(0,s.jsx)("ul",{className:"mt-2 flex flex-col gap-2",role:"list",children:n.map(e=>{let t=(0,c.Jj)(e.topic);return(0,s.jsxs)("li",{className:"border-l border-edge pl-3",children:[(0,s.jsxs)("p",{className:"text-sm leading-snug",children:[e.kind?(0,s.jsx)(r.vw,{tone:e.ambiguous?"idle":"quiet",className:"mr-2",children:d(o.Vu[e.kind])}):null,(0,s.jsx)("span",{className:e.ambiguous?"text-smoke":"",children:e.statement})]}),(0,s.jsxs)("p",{className:"mt-0.5 font-mono text-[11px] text-faint",children:[t?d(t):e.topic,e.project?" \xb7 ".concat(d("twin.citedIn",{project:e.project})):""," \xb7 ".concat((0,r.Pp)(e.at,m)),e.ambiguous?(0,s.jsx)("span",{className:"text-idle",children:" \xb7 ".concat(d("twin.observationAmbiguous"))}):null]})]},e.id)})}),w&&(0,s.jsx)(r.lZ,{text:w,className:"mt-2"})]})}let u={live:"text-chalk",idle:"text-idle",fail:"text-fail",neutral:"text-chalk",quiet:"text-smoke"}}},e=>{e.O(0,[6587,3953,2575,2948,8642,1305,6823,7358],()=>e(e.s=59752)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4406],{12991:(e,t,r)=>{"use strict";r.d(t,{OpenFolder:()=>c});var n=r(38657),o=r(32165),i=r(3043),a=r(2575),l=r(91635);let s={folder:{idle:"open.folder",busy:"open.busy",done:"open.doneFolder"},editor:{idle:"open.editor",busy:"open.busy",done:"open.done"},terminal:{idle:"open.terminal",busy:"open.busy",done:"open.done"}};function c(e){let{projectId:t,path:r,tool:c="folder",appearance:u="inline",locale:d}=e,[p,f]=(0,o.useState)("ready"),[y,m]=(0,o.useState)(null);async function b(){f("opening"),m(null);let e=await (0,l.A)({id:t,tool:c},(0,a.t)(d,"open.unreachable"));e.ok?(f("open"),setTimeout(()=>f("ready"),2e3)):(f("ready"),m(e.message))}let v=s[c],h=(0,a.t)(d,v.idle),g="editor"===c?i.KQe:"terminal"===c?i.Jhl:i.mUU;return(0,n.jsxs)("span",{className:"open-project-action open-project-action--".concat(u),children:[(0,n.jsxs)("button",{type:"button",onClick:b,disabled:"opening"===p,title:"".concat(h," \xb7 ").concat(r),children:[(0,n.jsx)(g,{"aria-hidden":!0}),"opening"===p?(0,a.t)(d,v.busy):"open"===p?(0,a.t)(d,v.done):h]}),y&&(0,n.jsx)("span",{className:"open-project-action__error",children:y})]})}},14262:(e,t,r)=>{"use strict";r.d(t,{CopyCommand:()=>l});var n=r(38657),o=r(2575),i=r(19014),a=r(52948);function l(e){let{command:t,label:r,locale:l}=e,{copied:s,copy:c}=(0,i.K)();return(0,n.jsxs)(a.rA,{tone:"raised",size:"sm",type:"button",onClick:()=>c(t),title:(0,o.t)(l,"copy.command",{command:t}),children:[(0,n.jsx)("span",{children:null!=r?r:t}),(0,n.jsx)("span",{className:"text-faint",children:s?(0,o.t)(l,"copy.done"):"⧉"})]})}},19014:(e,t,r)=>{"use strict";r.d(t,{K:()=>o});var n=r(32165);function o(){let[e,t]=(0,n.useState)(!1),[r,o]=(0,n.useState)(!1);return{copied:e,failed:r,copy:(0,n.useCallback)(async e=>{try{await navigator.clipboard.writeText(e),o(!1),t(!0),setTimeout(()=>t(!1),1600)}catch(e){o(!0)}},[])}}},35261:(e,t,r)=>{"use strict";async function n(e,t,r,n){let o,i;try{o=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}catch(e){return{ok:!1,message:r}}try{i=await o.json()}catch(e){return{ok:!1,message:String(o.status)}}return o.ok&&(null==i?void 0:i.ok)?{ok:!0,data:i}:{ok:!1,message:(null==n?void 0:n(null!=i?i:{}))||(null==i?void 0:i.error)||String(o.status)}}r.d(t,{B:()=>n})},56684:(e,t,r)=>{"use strict";r.d(t,{k5:()=>u});var n=r(32165),o={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},i=n.createContext&&n.createContext(o),a=["attr","size","title"];function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach(function(t){var n,o,i;n=e,o=t,i=r[t],(o=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(o))in n?Object.defineProperty(n,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[o]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function u(e){return t=>n.createElement(d,l({attr:c({},e.attr)},t),function e(t){return t&&t.map((t,r)=>n.createElement(t.tag,c({key:r},t.attr),e(t.child)))}(e.child))}function d(e){var t=t=>{var r,o=e.attr,i=e.size,s=e.title,u=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r={};for(var n in e)if(({}).hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],-1===t.indexOf(r)&&({}).propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,a),d=i||t.size||"1em";return t.className&&(r=t.className),e.className&&(r=(r?r+" ":"")+e.className),n.createElement("svg",l({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,o,u,{className:r,style:c(c({color:e.color||t.color},t.style),e.style),height:d,width:d,xmlns:"http://www.w3.org/2000/svg"}),s&&n.createElement("title",null,s),e.children)};return void 0!==i?n.createElement(i.Consumer,null,e=>t(e)):t(o)}},79260:(e,t,r)=>{Promise.resolve().then(r.bind(r,14262)),Promise.resolve().then(r.bind(r,12991)),Promise.resolve().then(r.t.bind(r,3953,23))},91635:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(35261);async function o(e,t){let r=await (0,n.B)("/api/open",{id:e.id,tool:e.tool,...e.with?{with:e.with}:{}},t,e=>[e.error,e.hint].filter(Boolean).join(" "));return r.ok?{ok:!0}:{ok:!1,message:r.message}}}},e=>{e.O(0,[6587,3953,2575,2948,1305,6823,7358],()=>e(e.s=79260)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[157,216,231,234,244,475,497,565,802,812,892,1009,1274,1329,1364,1393,1429,1662,1824,1852,1912,1946,1960,2063,2111,2503,2535,2681,2741,2748,2788,2794,2914,2971,3160,3170,3189,3264,3313,3352,3353,3374,3452,3520,3590,3653,3700,3889,3986,4128,4221,4364,4492,4573,4594,4925,5510,5758,5786,5790,6064,6202,6255,6286,6436,6456,6495,6551,6604,6950,7046,7050,7104,7170,7247,7328,7500,7634,7675,7763,7791,7839,7875,8025,8365,8629,8706,8897,8949,9065,9332,9434,9448,9492,9692,9909,9964],{2855:()=>{}},_=>{_.O(0,[1305,6823,7358],()=>_(_.s=2855)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[157,216,231,234,244,475,497,565,802,812,892,1009,1274,1329,1364,1393,1429,1662,1824,1852,1912,1946,1960,2063,2111,2503,2535,2681,2741,2748,2788,2794,2914,2971,3160,3170,3189,3264,3313,3352,3353,3374,3452,3520,3590,3653,3700,3889,3986,4128,4221,4364,4492,4573,4594,4925,5510,5758,5786,5790,6064,6202,6255,6286,6436,6456,6495,6551,6604,6950,7046,7050,7104,7170,7247,7328,7500,7634,7675,7763,7791,7839,7875,8025,8365,8629,8706,8897,8949,9065,9332,9434,9448,9492,9692,9909,9964],{2855:()=>{}},_=>{_.O(0,[1305,6823,7358],()=>_(_.s=2855)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[157,216,231,234,244,475,497,565,802,812,892,1009,1274,1329,1364,1393,1429,1662,1824,1852,1912,1946,1960,2063,2111,2503,2535,2681,2741,2748,2788,2794,2914,2971,3160,3170,3189,3264,3313,3352,3353,3374,3452,3520,3590,3653,3700,3889,3986,4128,4221,4364,4492,4573,4594,4925,5510,5758,5786,5790,6064,6202,6255,6286,6436,6456,6495,6551,6604,6950,7046,7050,7104,7170,7247,7328,7500,7634,7675,7763,7791,7839,7875,8025,8365,8629,8706,8897,8949,9065,9332,9434,9448,9492,9692,9909,9964],{2855:()=>{}},_=>{_.O(0,[1305,6823,7358],()=>_(_.s=2855)),_N_E=_.O()}]);
|
package/app/apps/web/.next-bundle/static/chunks/app/api/agent/consult/route-2b813a95202340b0.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[157,216,231,234,244,475,497,565,802,812,892,1009,1274,1329,1364,1393,1429,1662,1824,1852,1912,1946,1960,2063,2111,2503,2535,2681,2741,2748,2788,2794,2914,2971,3160,3170,3189,3264,3313,3352,3353,3374,3452,3520,3590,3653,3700,3889,3986,4128,4221,4364,4492,4573,4594,4925,5510,5758,5786,5790,6064,6202,6255,6286,6436,6456,6495,6551,6604,6950,7046,7050,7104,7170,7247,7328,7500,7634,7675,7763,7791,7839,7875,8025,8365,8629,8706,8897,8949,9065,9332,9434,9448,9492,9692,9909,9964],{2855:()=>{}},_=>{_.O(0,[1305,6823,7358],()=>_(_.s=2855)),_N_E=_.O()}]);
|
package/app/apps/web/.next-bundle/static/chunks/app/api/agent/context/route-2b813a95202340b0.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[157,216,231,234,244,475,497,565,802,812,892,1009,1274,1329,1364,1393,1429,1662,1824,1852,1912,1946,1960,2063,2111,2503,2535,2681,2741,2748,2788,2794,2914,2971,3160,3170,3189,3264,3313,3352,3353,3374,3452,3520,3590,3653,3700,3889,3986,4128,4221,4364,4492,4573,4594,4925,5510,5758,5786,5790,6064,6202,6255,6286,6436,6456,6495,6551,6604,6950,7046,7050,7104,7170,7247,7328,7500,7634,7675,7763,7791,7839,7875,8025,8365,8629,8706,8897,8949,9065,9332,9434,9448,9492,9692,9909,9964],{2855:()=>{}},_=>{_.O(0,[1305,6823,7358],()=>_(_.s=2855)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[157,216,231,234,244,475,497,565,802,812,892,1009,1274,1329,1364,1393,1429,1662,1824,1852,1912,1946,1960,2063,2111,2503,2535,2681,2741,2748,2788,2794,2914,2971,3160,3170,3189,3264,3313,3352,3353,3374,3452,3520,3590,3653,3700,3889,3986,4128,4221,4364,4492,4573,4594,4925,5510,5758,5786,5790,6064,6202,6255,6286,6436,6456,6495,6551,6604,6950,7046,7050,7104,7170,7247,7328,7500,7634,7675,7763,7791,7839,7875,8025,8365,8629,8706,8897,8949,9065,9332,9434,9448,9492,9692,9909,9964],{2855:()=>{}},_=>{_.O(0,[1305,6823,7358],()=>_(_.s=2855)),_N_E=_.O()}]);
|
package/app/apps/web/.next-bundle/static/chunks/app/api/agent/handoff/route-2b813a95202340b0.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[157,216,231,234,244,475,497,565,802,812,892,1009,1274,1329,1364,1393,1429,1662,1824,1852,1912,1946,1960,2063,2111,2503,2535,2681,2741,2748,2788,2794,2914,2971,3160,3170,3189,3264,3313,3352,3353,3374,3452,3520,3590,3653,3700,3889,3986,4128,4221,4364,4492,4573,4594,4925,5510,5758,5786,5790,6064,6202,6255,6286,6436,6456,6495,6551,6604,6950,7046,7050,7104,7170,7247,7328,7500,7634,7675,7763,7791,7839,7875,8025,8365,8629,8706,8897,8949,9065,9332,9434,9448,9492,9692,9909,9964],{2855:()=>{}},_=>{_.O(0,[1305,6823,7358],()=>_(_.s=2855)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[157,216,231,234,244,475,497,565,802,812,892,1009,1274,1329,1364,1393,1429,1662,1824,1852,1912,1946,1960,2063,2111,2503,2535,2681,2741,2748,2788,2794,2914,2971,3160,3170,3189,3264,3313,3352,3353,3374,3452,3520,3590,3653,3700,3889,3986,4128,4221,4364,4492,4573,4594,4925,5510,5758,5786,5790,6064,6202,6255,6286,6436,6456,6495,6551,6604,6950,7046,7050,7104,7170,7247,7328,7500,7634,7675,7763,7791,7839,7875,8025,8365,8629,8706,8897,8949,9065,9332,9434,9448,9492,9692,9909,9964],{2855:()=>{}},_=>{_.O(0,[1305,6823,7358],()=>_(_.s=2855)),_N_E=_.O()}]);
|
package/app/apps/web/.next-bundle/static/chunks/app/api/agent/journal/route-2b813a95202340b0.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[157,216,231,234,244,475,497,565,802,812,892,1009,1274,1329,1364,1393,1429,1662,1824,1852,1912,1946,1960,2063,2111,2503,2535,2681,2741,2748,2788,2794,2914,2971,3160,3170,3189,3264,3313,3352,3353,3374,3452,3520,3590,3653,3700,3889,3986,4128,4221,4364,4492,4573,4594,4925,5510,5758,5786,5790,6064,6202,6255,6286,6436,6456,6495,6551,6604,6950,7046,7050,7104,7170,7247,7328,7500,7634,7675,7763,7791,7839,7875,8025,8365,8629,8706,8897,8949,9065,9332,9434,9448,9492,9692,9909,9964],{2855:()=>{}},_=>{_.O(0,[1305,6823,7358],()=>_(_.s=2855)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[157,216,231,234,244,475,497,565,802,812,892,1009,1274,1329,1364,1393,1429,1662,1824,1852,1912,1946,1960,2063,2111,2503,2535,2681,2741,2748,2788,2794,2914,2971,3160,3170,3189,3264,3313,3352,3353,3374,3452,3520,3590,3653,3700,3889,3986,4128,4221,4364,4492,4573,4594,4925,5510,5758,5786,5790,6064,6202,6255,6286,6436,6456,6495,6551,6604,6950,7046,7050,7104,7170,7247,7328,7500,7634,7675,7763,7791,7839,7875,8025,8365,8629,8706,8897,8949,9065,9332,9434,9448,9492,9692,9909,9964],{2855:()=>{}},_=>{_.O(0,[1305,6823,7358],()=>_(_.s=2855)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[157,216,231,234,244,475,497,565,802,812,892,1009,1274,1329,1364,1393,1429,1662,1824,1852,1912,1946,1960,2063,2111,2503,2535,2681,2741,2748,2788,2794,2914,2971,3160,3170,3189,3264,3313,3352,3353,3374,3452,3520,3590,3653,3700,3889,3986,4128,4221,4364,4492,4573,4594,4925,5510,5758,5786,5790,6064,6202,6255,6286,6436,6456,6495,6551,6604,6950,7046,7050,7104,7170,7247,7328,7500,7634,7675,7763,7791,7839,7875,8025,8365,8629,8706,8897,8949,9065,9332,9434,9448,9492,9692,9909,9964],{2855:()=>{}},_=>{_.O(0,[1305,6823,7358],()=>_(_.s=2855)),_N_E=_.O()}]);
|