panoma 0.10.2 → 0.10.3
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/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 +314 -314
- package/app/apps/web/.next-bundle/app-path-routes-manifest.json +52 -52
- 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 +2 -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 +2 -2
- 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 +1 -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/hooks/route.js +2 -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 +2 -2
- 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/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/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 +52 -52
- package/app/apps/web/.next-bundle/server/chunks/1646.js +5 -5
- package/app/apps/web/.next-bundle/server/chunks/305.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/3834.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/3863.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/4478.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/4498.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/5103.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/6206.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/7011.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/7245.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/7400.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/7711.js +1 -0
- package/app/apps/web/.next-bundle/server/chunks/7865.js +1 -0
- package/app/apps/web/.next-bundle/server/chunks/8280.js +2 -0
- package/app/apps/web/.next-bundle/server/chunks/8345.js +1 -0
- package/app/apps/web/.next-bundle/server/chunks/8404.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/9511.js +2 -2
- package/app/apps/web/.next-bundle/server/functions-config-manifest.json +6 -6
- 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/_error.js +1 -1
- package/app/apps/web/.next-bundle/server/server-reference-manifest.json +1 -1
- package/app/apps/web/.next-bundle/static/chunks/1369-36f443dda274b80a.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/2575-f9490e00a1a7e890.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/2921-144ba161a116c199.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/agents/{page-cae57c1555749574.js → page-f462b8467dd5c51d.js} +1 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/ai/{page-f63553805baaea0c.js → page-4c896120faf997ec.js} +1 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/apps/[id]/page-d2df027f727969f3.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/apps/page-5a9e8e647a0def47.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/bridge/page-0b4d18439ecf25c4.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/copies/page-643e24fd5815660d.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/credentials/{page-c1d8a21174d6bba2.js → page-11a07b1baf3ec7af.js} +1 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/disk/page-b3e61a31dc5ce4fd.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/error-ae5877c791b4ce89.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/handoff/{page-41198249f6480477.js → page-da789bd4fead725d.js} +1 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/hidden/{page-0eec0c39fae7b922.js → page-b30fa429fdc9d742.js} +1 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/layout-159f4a8efe5c5183.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/p/[slug]/page-40675374b12c9222.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/p/[slug]/video/{page-8ac2b429692e90c6.js → page-108d4714551b97e7.js} +1 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/page-bf2aaefd9c16245d.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/runs/[id]/page-d82fbce3080071a2.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/runs/page-643e24fd5815660d.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/search/{page-0788d039d155cdf2.js → page-a2217949ba4ddf59.js} +1 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/spend/page-d4314054c95ad2ae.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/twin/look/page-333f2ebaa1bcd366.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/twin/{page-12d36b362fc4d2d2.js → page-a73ebd831a36d1ba.js} +1 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/unsaved/page-cb950413f781b573.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/global-not-found-643e24fd5815660d.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/not-found-643e24fd5815660d.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/{main-app-ec5cb301dd9fc61e.js → main-app-bde594e3a17b5c95.js} +1 -1
- package/app/apps/web/server.js +1 -1
- package/app/node_modules/drizzle-orm/node_modules/.bin/gel +3 -3
- package/dist/{ai-command-TSSMG7H3.js → ai-command-QEXAVD5A.js} +1 -1
- package/dist/{apps-7E4RUVJY.js → apps-FBC65DRJ.js} +3 -3
- package/dist/{check-command-RIUGB4HV.js → check-command-GBIFTYMC.js} +3 -3
- package/dist/{chunk-3QYJKRW6.js → chunk-CTWQQWH7.js} +1 -0
- package/dist/{chunk-FWSQH4NS.js → chunk-FI2ZMO24.js} +2 -2
- package/dist/{chunk-HHHT2MTQ.js → chunk-R3D5NBHW.js} +1 -1
- package/dist/{chunk-WAI2SCFY.js → chunk-TXXI7WVK.js} +2 -2
- package/dist/{chunk-47UUF7B7.js → chunk-U2FAFPLA.js} +7 -2
- package/dist/{handoff-command-NGSYPGWW.js → handoff-command-LT7XVHWZ.js} +3 -3
- package/dist/index.js +16 -16
- package/dist/{md-command-PYD3SPHA.js → md-command-QFRCVG3N.js} +2 -2
- package/dist/{memory-command-BWP52OQS.js → memory-command-PETERVDN.js} +2 -2
- package/dist/{next-command-NFDGQMHO.js → next-command-PUKTGFHC.js} +3 -3
- package/dist/{north-command-SKBVZEGK.js → north-command-GFPTPOXX.js} +3 -3
- package/dist/{review-command-SMYI7XKH.js → review-command-AMGBA6JJ.js} +1 -1
- package/dist/{spend-command-NYAELLRP.js → spend-command-7KF2TMUR.js} +2 -2
- package/dist/{twin-command-M25PTHLP.js → twin-command-K42J3VLZ.js} +3 -3
- package/dist/{video-QKEQ2FGR.js → video-UUJXJTLD.js} +4 -4
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/app/apps/web/.next-bundle/server/chunks/1454.js +0 -2
- package/app/apps/web/.next-bundle/server/chunks/3815.js +0 -1
- package/app/apps/web/.next-bundle/server/chunks/6131.js +0 -1
- package/app/apps/web/.next-bundle/server/chunks/7957.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/1369-2c988debdc250f63.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/2575-61e3c59775a07058.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/2921-abf2bd91adbc76d4.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/apps/[id]/page-da64889cd7413e00.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/apps/page-3cf7accd30ae08c7.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/bridge/page-f1661f3e36e93d98.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/copies/page-44ebbc5d00245788.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/disk/page-79c4c0af255ea5db.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/error-bc8b33871ce6ee62.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/layout-f4763a241faa2e25.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/p/[slug]/page-bf90188e9460900b.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/page-a6579330ff0a1c45.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/runs/[id]/page-71e91e2f82fbcd0a.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/runs/page-44ebbc5d00245788.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/spend/page-9b43a28c5537214d.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/twin/look/page-47bc811a5a4bbed5.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/unsaved/page-4bffe36641979e0c.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/global-not-found-44ebbc5d00245788.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/not-found-44ebbc5d00245788.js +0 -1
- /package/app/apps/web/.next-bundle/static/{w6oDX-SYfedAnhX2GThXZ → goMZpqW7N7YNi-BWPnlZ_}/_buildManifest.js +0 -0
- /package/app/apps/web/.next-bundle/static/{w6oDX-SYfedAnhX2GThXZ → goMZpqW7N7YNi-BWPnlZ_}/_ssgManifest.js +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{var a={};a.id=1162,a.ids=[1162],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1708:a=>{"use strict";a.exports=require("node:process")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3912:(a,b,c)=>{"use strict";c.d(b,{TwinDistill:()=>d});let d=(0,c(61746).registerClientReference)(function(){throw Error("Attempted to call TwinDistill() from the server but TwinDistill is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/private/tmp/panoma-0.10.2/apps/web/components/twin-distill.tsx","TwinDistill")},4984:a=>{"use strict";a.exports=require("readline")},6867:(a,b,c)=>{Promise.resolve().then(c.bind(c,77787)),Promise.resolve().then(c.bind(c,37133)),Promise.resolve().then(c.bind(c,31230)),Promise.resolve().then(c.bind(c,56210)),Promise.resolve().then(c.bind(c,8217)),Promise.resolve().then(c.bind(c,88885)),Promise.resolve().then(c.bind(c,90635)),Promise.resolve().then(c.bind(c,44792)),Promise.resolve().then(c.t.bind(c,65059,23))},8217:(a,b,c)=>{"use strict";c.d(b,{TwinMemory:()=>q});var d=c(17016),e=c(65065),f=c(74198),g=c(45157),h=c(65862),i=c(66384);let j=["goal","context","constraints","alternatives","decision","rationale","outcome","conditions","exceptions"],k={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 l(a){return a.fields.decision?.text.trim()||a.fields.goal?.text.trim()||a.fields.context?.text.trim()||null}function m(a,b=Date.now()){return null!==a.validUntil&&Date.parse(a.validUntil)<=b}let n={opening:"twinMemory.kindOpening",reaction:"twinMemory.kindReaction",brief:"twinMemory.kindBrief"};async function o(a,b,c){let d=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),e=await d.json();if(!d.ok)throw Error([e.error??c,e.hint].filter(Boolean).join(" "));return e}function p(a,b){return a instanceof Error?a.message:b("project.unreachable")}function q({projects:a,episodes:b,coverage:c,dailyCalls:f,focusId:j,olderCursor:k,conflicts:l}){let m=(0,h.kj)(),n=b.find(a=>a.id===j)?.status==="dismissed",[o,q]=(0,e.useState)(n),[v,w]=(0,e.useState)(null),[x,y]=(0,e.useState)(null),[z,A]=(0,e.useState)(null),[B,C]=(0,e.useState)(null),D=(0,e.useRef)(!1),[E,F]=(0,e.useState)(b),[G,H]=(0,e.useState)(b),[I,J]=(0,e.useState)(k),[K,L]=(0,e.useState)(""),[M,N]=(0,e.useState)(""),[O,P]=(0,e.useState)(null),[Q,R]=(0,e.useState)(null),S=(0,e.useRef)(!1);E!==b&&(F(b),H(b),J(k));let T=G.filter(a=>o||"active"===a.status),U=G.filter(a=>"dismissed"===a.status).length;function V(b){return{...b,projectName:b.identity?a.find(a=>a.identity===b.identity)?.label??null:null}}async function W(a,b){let c=new URLSearchParams;a&&c.set("q",a),b&&c.set("before",b);let d=c.toString(),e=await fetch(`/api/twin/episodes${d?`?${d}`:""}`),f=await e.json();if(!e.ok||!Array.isArray(f.episodes))throw Error(f.error??m("twinMemory.requestFailed"));return{episodes:f.episodes.map(V),nextCursor:f.nextCursor??null}}async function X(a){if(S.current)return;let c=a.trim();if(!c){N(""),H(b),J(k),R(null);return}S.current=!0,P("search"),R(null);try{let a=await W(c,null);N(c),H(a.episodes),J(a.nextCursor)}catch(a){R(p(a,m))}finally{S.current=!1,P(null)}}async function Y(){if(!S.current&&I){S.current=!0,P("older"),R(null);try{let a=await W(M,I);H(b=>{let c=new Set(b.map(a=>a.id));return[...b,...a.episodes.filter(a=>!c.has(a.id))]}),J(a.nextCursor)}catch(a){R(p(a,m))}finally{S.current=!1,P(null)}}}return(0,d.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,d.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,d.jsxs)("div",{className:"max-w-2xl",children:[(0,d.jsxs)("p",{className:"flex items-center gap-2 font-mono text-xs text-smoke",children:[(0,d.jsx)(g.lPA,{"aria-hidden":!0,className:"h-4 w-4"}),m("twinMemory.eyebrow")]}),(0,d.jsx)("h2",{id:"twin-memory-title",className:"mt-2 text-base font-semibold",children:m("twinMemory.title")}),(0,d.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-smoke",children:m("twinMemory.lead")})]}),(0,d.jsxs)("div",{className:"rounded-lg border border-edge bg-ground px-3 py-2 font-mono text-xs text-smoke",children:[(0,d.jsx)("p",{children:m("twinMemory.captured",{n:c.total})}),(0,d.jsx)("p",{className:"mt-1",children:m("twinMemory.awaiting",{n:c.pending})})]})]}),(0,d.jsxs)("div",{className:"grid lg:grid-cols-[1.3fr_1fr]",children:[(0,d.jsx)(s,{projects:a,revision:v,blocked:x,dirty:D,savedMessage:z,onCancel:()=>{w(null),y(null),A(null)},onClear:()=>{w(x),y(null)},onSaved:()=>{A(m(v?"twinMemory.savedRevision":"twinMemory.savedNew")),w(null),y(null)}}),(0,d.jsx)(t,{pendingCount:c.pending,deferred:c.deferred,dailyCalls:f})]}),l.length>0&&(0,d.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,d.jsx)("h3",{id:"twin-competing-title",className:"text-base font-semibold",children:m("twinMemory.competingTitle")}),(0,d.jsx)("p",{className:"mt-2 max-w-2xl text-xs leading-relaxed text-smoke",children:m("twinMemory.competingLead")}),(0,d.jsx)("p",{className:"mt-2 font-mono text-xs text-smoke",children:m("twinMemory.competingFamilies",{n:l.length})}),(0,d.jsx)("ul",{className:"mt-4 grid items-start gap-3 xl:grid-cols-2",role:"list",children:l.map(a=>(0,d.jsx)(r,{family:a},a.map(a=>a.id).join(",")))})]}),(0,d.jsxs)("div",{className:"border-t border-edge px-5 py-5 sm:px-6",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,d.jsx)("h3",{className:"text-base font-semibold",children:m("twinMemory.recentTitle")}),U>0&&(0,d.jsx)(i.Jl,{size:"sm",checked:o,onChange:a=>q(a.target.checked),children:m("twinMemory.includeDismissed",{n:U})})]}),(0,d.jsxs)("form",{role:"search","aria-busy":"search"===O,className:"mt-3 flex flex-wrap items-end gap-2",onSubmit:a=>{a.preventDefault(),X(K)},children:[(0,d.jsx)(i.D0,{label:m("twinMemory.searchLabel"),className:"min-w-0 grow sm:max-w-md",type:"search",value:K,maxLength:200,disabled:null!==O,"aria-describedby":"memory-search-hint",onChange:a=>{L(a.target.value),!a.target.value.trim()&&M&&X("")}}),(0,d.jsx)(i.rA,{type:"submit",tone:"surface",busy:"search"===O,busyLabel:m("twinMemory.searching"),disabled:null!==O,children:m("twinMemory.search")}),M&&(0,d.jsx)(i.rA,{type:"button",tone:"plain",disabled:null!==O,onClick:()=>{L(""),X("")},children:m("twinMemory.clearSearch")})]}),(0,d.jsx)("p",{id:"memory-search-hint",className:"mt-1 text-xs leading-relaxed text-smoke",children:m("twinMemory.searchHint")}),Q&&(0,d.jsx)(i.lZ,{text:Q,className:"mt-2"}),(0,d.jsx)("p",{className:"mt-3 text-xs text-smoke",children:M?m("twinMemory.shownMatches",{query:M,n:T.length}):m("twinMemory.shown",{n:T.length})}),0===T.length&&M?(0,d.jsx)(i.pp,{variant:"note",role:"status",className:"mt-4",title:m("twinMemory.noMatches",{query:M})}):0===T.length?(0,d.jsx)(i.pp,{className:"mt-4",title:m("twinMemory.emptyTitle"),children:m("twinMemory.emptyBody")}):(0,d.jsx)("ul",{className:"mt-4 grid items-start gap-3 xl:grid-cols-2",role:"list",children:T.map(a=>(0,d.jsx)(u,{episode:a,previousAvailable:!!(a.supersedesId&&G.some(b=>b.id===a.supersedesId)),hasActiveSuccessor:!!a.activeRevisionId,onPrevious:()=>{q(!0),C(a.supersedesId??null),document.getElementById(`episode-${a.supersedesId}`)?.focus()},onRevise:()=>{A(null),a.id!==v?.id&&(D.current?y(a):(y(null),w(a))),document.getElementById("memory-capture-form")?.scrollIntoView({block:"start",behavior:"instant"})}},a.id))}),I&&(0,d.jsx)(i.rA,{type:"button",tone:"surface",className:"mt-4",busy:"older"===O,busyLabel:m("twinMemory.loadingOlder"),disabled:null!==O,onClick:()=>void Y(),children:m("twinMemory.loadOlder")}),(0,d.jsx)("p",{className:"mt-4 text-xs leading-relaxed text-smoke",children:m("twinMemory.boundary")})]})]})}function r({family:a}){let b=(0,h.kj)(),c=(0,f.useRouter)(),[g,j]=(0,e.useState)(null),[k,m]=(0,e.useState)(null),n=(0,e.useRef)(!1);async function q(d){if(n.current)return;n.current=!0,j(d.id),m(null);let e=!1;try{for(let c of a)c.id!==d.id&&(await o("/api/twin/episodes",{id:c.id,status:"dismissed",expectedUpdatedAt:c.updatedAt},b("twinMemory.requestFailed")),e=!0)}catch(a){m(p(a,b))}finally{n.current=!1,j(null),e&&c.refresh()}}return(0,d.jsxs)("li",{className:"min-w-0 rounded-lg border border-edge bg-ground p-4",children:[(0,d.jsx)("ol",{className:"space-y-3",role:"list",children:a.map(a=>(0,d.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,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("p",{className:"flex flex-wrap gap-x-2 gap-y-1 font-mono text-[11px] text-smoke",children:[(0,d.jsx)("span",{children:b("owner"===a.origin?"twinMemory.byOwner":"twinMemory.fromHistory")}),(0,d.jsxs)("span",{children:["\xb7 ",a.projectName??b(a.identity?"twinMemory.unlinkedProject":"twinMemory.noProject")]}),(0,d.jsxs)("time",{dateTime:a.createdAt,children:["\xb7 ",a.createdAt.slice(0,10)]})]}),(0,d.jsx)("p",{className:"mt-1 line-clamp-3 break-words text-sm leading-relaxed",children:l(a)??b("twinMemory.untitled")}),(0,d.jsx)("a",{href:`#episode-${a.id}`,className:"mt-1 inline-block text-xs underline underline-offset-4",children:b("twinMemory.explore")})]}),(0,d.jsx)(i.rA,{type:"button",tone:"surface",busy:g===a.id,busyLabel:b("twinMemory.keeping"),disabled:null!==g,onClick:()=>void q(a),children:b("twinMemory.keepThis")})]},a.id))}),k&&(0,d.jsx)(i.lZ,{text:k,className:"mt-3"})]})}function s({projects:a,revision:b,blocked:c,dirty:g,savedMessage:l,onSaved:m,onCancel:n,onClear:q}){let r=(0,h.kj)(),s=(0,f.useRouter)(),[t,u]=(0,e.useState)({}),[v,w]=(0,e.useState)(""),[x,y]=(0,e.useState)(new Set),[z,A]=(0,e.useState)(null),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)(null),[H,I]=(0,e.useState)(!1),J=(0,e.useRef)(!1),K=(0,e.useRef)(null),L=!!(t.goal?.trim()||t.decision?.trim()),M=j.filter(a=>"goal"!==a&&"decision"!==a),N=M.filter(a=>x.has(a)||!!t[a]?.trim()),O=M.filter(a=>!N.includes(a));async function P(a){if(a.preventDefault(),!J.current&&L){J.current=!0,E(!0),G(null);try{await o("/api/twin/episodes",{fields:t,...B?{validUntil:B}:{},...b?{replacesId:b.id,expectedUpdatedAt:b.updatedAt}:v?{slug:v}:{}},r("twinMemory.requestFailed")),u({}),y(new Set),A(null),C(""),I(!1),g.current=!1,m(),s.refresh()}catch(a){G(p(a,r))}finally{J.current=!1,E(!1)}}}function Q(a){let b=t[a]??"";return(0,d.jsxs)("div",{children:[(0,d.jsx)(i.fs,{label:r(k[a].label),id:`memory-${a}`,value:b,maxLength:1200,rows:"decision"===a?3:2,disabled:D,placeholder:r(k[a].hint),"aria-describedby":`memory-${a}-count`,onChange:b=>{u(c=>({...c,[a]:b.target.value})),I(!0),g.current=!0}}),(0,d.jsx)("p",{id:`memory-${a}-count`,className:"mt-1 text-right font-mono text-[11px] text-smoke",children:r("twinMemory.characters",{n:b.length,max:1200})})]},a)}return b?.identity&&a.find(a=>a.identity===b.identity)?.slug,(0,d.jsxs)("form",{id:"memory-capture-form",ref:K,onSubmit:P,"aria-busy":D,"aria-labelledby":"memory-capture-title",className:"min-w-0 scroll-mt-24 px-5 py-5 sm:px-6",children:[(0,d.jsx)("h3",{id:"memory-capture-title",className:"text-base font-semibold",children:r(b?"twinMemory.reviseTitle":"twinMemory.captureTitle")}),(0,d.jsx)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:r(b?"twinMemory.reviseHint":"twinMemory.captureHint")}),(0,d.jsx)("div",{role:"status","aria-live":"polite",children:c&&(0,d.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,d.jsx)("p",{className:"text-xs leading-relaxed text-smoke",children:r("twinMemory.unsavedDraft")}),(0,d.jsx)(i.rA,{type:"button",tone:"surface",disabled:D,onClick:q,children:r("twinMemory.clearDraft")})]})}),(0,d.jsxs)("div",{className:"mt-4 space-y-3",children:[Q("goal"),Q("decision"),(0,d.jsxs)(i.l6,{label:r("twinMemory.projectContext"),value:v,disabled:D||null!==b,onChange:a=>w(a.target.value),children:[(0,d.jsx)("option",{value:"",children:b?.identity&&!v?b.projectName??r("twinMemory.originalProject"):r("twinMemory.noProject")}),a.map(a=>(0,d.jsx)("option",{value:a.slug,children:a.label},a.slug))]}),(0,d.jsxs)("div",{children:[(0,d.jsx)(i.D0,{label:r("twinMemory.validUntilLabel"),type:"date",value:B,disabled:D,"aria-describedby":"memory-valid-until-hint",onChange:a=>{C(a.target.value),I(!0),g.current=!0}}),(0,d.jsx)("p",{id:"memory-valid-until-hint",className:"mt-1 text-xs leading-relaxed text-smoke",children:r("twinMemory.validUntilHint")})]}),N.map(Q),O.length>0&&(0,d.jsxs)("div",{className:"rounded-lg border border-edge px-3 py-3",children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:r("twinMemory.moreFields")}),(0,d.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:O.map(a=>(0,d.jsx)(i.rA,{type:"button",tone:"surface",disabled:D,"aria-label":r("twinMemory.addField",{field:r(k[a].label).toLocaleLowerCase()}),onClick:()=>{y(b=>new Set(b).add(a)),A(a)},children:r(k[a].label)},a))})]})]}),(0,d.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-3",children:[(0,d.jsx)(i.rA,{type:"submit",tone:"accent",busy:D,busyLabel:r("twinMemory.saving"),disabled:D||!L,children:r(b?"twinMemory.saveRevision":"twinMemory.saveEpisode")}),b&&(0,d.jsx)(i.rA,{type:"button",tone:"plain",disabled:D,onClick:n,children:r("twinMemory.cancelRevision")}),(0,d.jsx)("span",{className:"text-xs text-smoke",children:r("twinMemory.localSave")})]}),F&&(0,d.jsx)(i.lZ,{text:F,className:"mt-3"}),(0,d.jsx)("div",{role:"status","aria-live":"polite",children:l&&!H&&(0,d.jsx)("p",{className:"mt-3 text-sm text-smoke",children:l})})]})}function t({pendingCount:a,deferred:b,dailyCalls:c}){let j=(0,h.kj)(),k=(0,f.useRouter)(),[l,m]=(0,e.useState)(null),[n,q]=(0,e.useState)(null),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(null),v=(0,e.useRef)(!1),w=c>0&&a>0?Math.max(1,Math.ceil(a/(12*c))):null;async function x(a){if(v.current||"learn"===a&&(!n||!n.selected||n.remainingCalls<n.calls))return;v.current=!0,m(a),s(null),u(null);let b=j("twinMemory.requestFailed");try{if("capture"===a){let a=await o("/api/twin/mine",{captureNarratives:!0},b);q(null),u([j("twinMemory.capturedNew",{n:a.narrativesSaved??0}),a.saved?j("twin.minedQuotes",{n:a.saved}):"",a.denied?.length?j("twinMemory.capturedDenied",{n:a.denied.length}):"",a.narrativesUnmatched?j("twinMemory.capturedUnmatched",{n:a.narrativesUnmatched}):"",a.narrativesUndated?j("twinMemory.capturedUndated",{n:a.narrativesUndated}):""].filter(Boolean).join(" ")),k.refresh()}else if("preview"===a)q(await o("/api/twin/episodes/learn",{dryRun:!0},b));else{let a=await o("/api/twin/episodes/learn",{},b);q(null),u([j("twinMemory.learnStored",{stored:a.stored??0,processed:a.processed??0,remaining:a.remaining??0}),a.dropped?j("twinMemory.learnDropped",{n:a.dropped}):"",a.failed?j("cut"===a.failed.reason?"twinMemory.learnCut":"twinMemory.learnUnsupported"):"",a.failed?j("twinMemory.learnDeferred",{n:a.failed.records}):""].filter(Boolean).join(" ")),k.refresh()}}catch(b){s(p(b,j)),"learn"===a&&(q(null),k.refresh())}finally{v.current=!1,m(null)}}return(0,d.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!==l,children:[(0,d.jsxs)("h3",{className:"flex items-center gap-2 text-base font-semibold",children:[(0,d.jsx)(g.tZt,{"aria-hidden":!0,className:"h-4 w-4 text-smoke"}),j("twinMemory.learnTitle")]}),(0,d.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-smoke",children:j("twinMemory.learnLead")}),(0,d.jsxs)("div",{className:"mt-5 rounded-lg border border-edge bg-surface p-4",children:[(0,d.jsx)("p",{className:"font-mono text-xs text-smoke",children:j("twinMemory.step1")}),(0,d.jsx)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:j("twinMemory.step1Hint")}),(0,d.jsxs)(i.rA,{type:"button",tone:"surface",className:"mt-3",busy:"capture"===l,busyLabel:j("twinMemory.capturing"),disabled:null!==l,onClick:()=>void x("capture"),children:[(0,d.jsx)(g.Dho,{"aria-hidden":!0,className:"h-4 w-4"}),j("twinMemory.capture")]}),(0,d.jsx)("p",{className:"mt-2 text-xs text-smoke",children:j("twinMemory.noCall")})]}),(0,d.jsxs)("div",{className:"mt-3 rounded-lg border border-edge bg-surface p-4",children:[(0,d.jsx)("p",{className:"font-mono text-xs text-smoke",children:j("twinMemory.step2")}),(0,d.jsx)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:j("twinMemory.step2Hint")}),(0,d.jsx)(i.rA,{type:"button",tone:"surface",className:"mt-3",busy:"preview"===l,busyLabel:j("twinMemory.previewing"),disabled:null!==l,onClick:()=>void x("preview"),children:j("twinMemory.preview")}),!n&&(0,d.jsxs)("div",{className:"mt-2 space-y-1 text-xs text-smoke",children:[(0,d.jsx)("p",{children:j("twinMemory.awaiting",{n:a})}),b>0&&(0,d.jsx)("p",{children:j("twinMemory.deferred",{n:b})}),c>0?(0,d.jsx)("p",{children:j("twinMemory.passReads",{n:24})}):(0,d.jsx)("p",{children:j("twinMemory.extractionOff")}),null!==w&&(0,d.jsx)("p",{children:j("twinMemory.queueDays",{n:w})})]}),n&&(0,d.jsxs)("div",{className:"mt-4 border-t border-edge pt-4",children:[(0,d.jsxs)("dl",{className:"grid grid-cols-[1fr_auto] gap-x-3 gap-y-2 text-xs",children:[(0,d.jsx)("dt",{className:"text-smoke",children:j("twinMemory.selected")}),(0,d.jsx)("dd",{className:"font-mono",children:n.selected}),(0,d.jsx)("dt",{className:"text-smoke",children:j("twinMemory.inputTokens")}),(0,d.jsx)("dd",{className:"font-mono",children:n.inputTokens}),(0,d.jsx)("dt",{className:"text-smoke",children:j("twinMemory.outputTokens")}),(0,d.jsx)("dd",{className:"font-mono",children:n.outputTokens}),(0,d.jsx)("dt",{className:"text-smoke",children:j("twinMemory.calls")}),(0,d.jsx)("dd",{className:"font-mono",children:n.calls}),(0,d.jsx)("dt",{className:"text-smoke",children:j("twinMemory.remainingCalls")}),(0,d.jsx)("dd",{className:"font-mono",children:n.remainingCalls})]}),n.contextOnly>0&&(0,d.jsx)("p",{className:"mt-2 text-xs text-smoke",children:j("twinMemory.contextOnly",{n:n.contextOnly})}),(n.retrying??0)>0&&(0,d.jsx)("p",{className:"mt-2 text-xs text-smoke",children:j("twinMemory.learnRetrying",{n:n.retrying??0})}),(n.provider||n.model)&&(0,d.jsx)("p",{className:"mt-3 break-words font-mono text-[11px] text-smoke",children:[n.provider,n.model].filter(Boolean).join(" / ")}),0===n.selected?(0,d.jsx)(i.pp,{variant:"note",className:"mt-3",title:j("twinMemory.nothingUnread")}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.rA,{type:"button",tone:"accent",className:"mt-4",busy:"learn"===l,busyLabel:j("twinMemory.learning"),disabled:null!==l||n.remainingCalls<n.calls,onClick:()=>void x("learn"),children:j("twinMemory.learn")}),(0,d.jsx)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:j(n.remainingCalls<n.calls?"twinMemory.budgetShort":"twinMemory.learnCost")})]})]})]}),r&&(0,d.jsx)(i.lZ,{text:r,className:"mt-3"}),(0,d.jsx)("p",{role:"status","aria-live":"polite",className:"mt-3 text-xs leading-relaxed text-smoke",children:"learn"===l?j("twinMemory.extracting"):t})]})}function u({episode:a,onRevise:b,previousAvailable:c,hasActiveSuccessor:g,onPrevious:q}){let r=(0,h.kj)(),s=(0,h.Ym)(),t=(0,f.useRouter)(),{recorded:u,missing:v}=function(a){let b=j.filter(b=>!!a.fields[b]?.text.trim());return{recorded:b,missing:j.filter(a=>!b.includes(a))}}(a),[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)(null),[A,B]=(0,e.useState)(null),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)(null),[G,H]=(0,e.useState)(null),[I,J]=(0,e.useState)(a.validUntil),[K,L]=(0,e.useState)(a.validUntil?.slice(0,10)??"");I!==a.validUntil&&(J(a.validUntil),L(a.validUntil?.slice(0,10)??""));let M=(0,e.useRef)(!1),N=(0,e.useRef)(!1),O=(0,e.useRef)(null),P=u.some(b=>!!a.fields[b]?.narrativeId),Q=l(a)??r("twinMemory.untitled"),R=a=>a.map(a=>r(k[a].label).toLocaleLowerCase()).join(", "),S="dismissed"===a.status&&!g,T="active"===a.status&&g,U=m(a),V=a.validUntil?new Date(a.validUntil).toLocaleDateString(s,{timeZone:"UTC"}):null;async function W(){if(!M.current){M.current=!0,x("status"),z(null);try{await o("/api/twin/episodes",{id:a.id,status:"active"===a.status?"dismissed":"active",expectedUpdatedAt:a.updatedAt},r("twinMemory.requestFailed")),t.refresh()}catch(a){z(p(a,r))}finally{M.current=!1,x(null)}}}async function X(b){if(!M.current){M.current=!0,x(null===b?"clearExpiry":"expiry"),z(null);try{await o("/api/twin/episodes",{id:a.id,validUntil:b,expectedUpdatedAt:a.updatedAt},r("twinMemory.requestFailed")),t.refresh()}catch(a){z(p(a,r))}finally{M.current=!1,x(null)}}}async function Y(){if(null===A&&!N.current){N.current=!0,D(!0),F(null);try{let b=await fetch(`/api/twin/episodes?id=${encodeURIComponent(a.id)}`),c=await b.json();if(!b.ok||!Array.isArray(c.evidence))throw Error(c.error??r("twinMemory.evidenceFailed"));B(c.evidence)}catch(a){F(p(a,r))}finally{N.current=!1,D(!1)}}}return(0,d.jsxs)("li",{id:`episode-${a.id}`,tabIndex:-1,className:"min-w-0 scroll-mt-24 rounded-lg border border-edge bg-ground p-4",children:[(0,d.jsxs)("p",{className:"flex flex-wrap gap-x-2 gap-y-1 font-mono text-[11px] text-smoke",children:[(0,d.jsx)("span",{children:r("owner"===a.origin?"twinMemory.byOwner":"twinMemory.fromHistory")}),(0,d.jsxs)("span",{children:["\xb7 ",a.projectName??r(a.identity?"twinMemory.unlinkedProject":"twinMemory.noProject")]}),"dismissed"===a.status&&(0,d.jsxs)("span",{children:["\xb7 ",r("twinMemory.dismissed")]})]}),(0,d.jsx)("h4",{className:"mt-2 line-clamp-3 break-words text-sm font-medium leading-relaxed",children:Q}),a.supersedesId&&(0,d.jsx)("p",{className:"mt-2 text-xs text-smoke",children:c?(0,d.jsx)("a",{href:`#episode-${a.supersedesId}`,onClick:q,className:"underline underline-offset-4",children:r("twinMemory.previousVersion")}):(0,d.jsxs)("a",{href:`/twin?episode=${encodeURIComponent(a.supersedesId)}#episode-${a.supersedesId}`,className:"underline underline-offset-4",children:[r("twinMemory.previousVersion")," ",(0,d.jsx)("span",{className:"sr-only",children:r("twinMemory.outsideView")})]})}),(0,d.jsx)("p",{className:"mt-3 font-mono text-[11px] text-smoke",children:r("twinMemory.recorded",{list:R(u)})}),(0,d.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-smoke",children:r("dismissed"===a.status?"twinMemory.reachNowhere":m(a)?"twinMemory.reachExpired":T?"twinMemory.reachWithheld":"history"===a.origin?"twinMemory.reachLabOnly":a.fields.decision?.text.trim()?a.identity?"twinMemory.reachProject":"twinMemory.reachGeneral":"twinMemory.reachNoDecision")}),V&&(0,d.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-smoke",children:r(U?"twinMemory.expiredOn":"twinMemory.appliesThrough",{date:V})}),(0,d.jsxs)("details",{className:"mt-3",children:[(0,d.jsx)("summary",{className:"cursor-pointer text-xs font-medium underline-offset-4 hover:underline",children:r("twinMemory.explore")}),(0,d.jsx)("dl",{className:"mt-3 space-y-3",children:u.map(b=>(0,d.jsxs)("div",{children:[(0,d.jsx)("dt",{className:"text-xs font-medium",children:r(k[b].label)}),(0,d.jsxs)("dd",{className:"mt-1 whitespace-pre-wrap break-words text-sm leading-relaxed text-smoke",children:[a.fields[b].text,a.fields[b]?.narrativeId&&(0,d.jsx)("button",{type:"button",className:"mt-1 block text-xs underline underline-offset-4","aria-label":r("twinMemory.viewSourceFor",{field:r(k[b].label).toLocaleLowerCase()}),onClick:()=>{let c=a.fields[b].narrativeId;O.current&&(O.current.open=!0),H(c),A&&document.getElementById(`episode-${a.id}-source-${c}`)?.focus(),Y()},children:r("twinMemory.viewSource")})]})]},b))}),v.length>0&&(0,d.jsx)("p",{className:"mt-4 border-t border-edge pt-3 text-xs leading-relaxed text-smoke",children:r("twinMemory.notRecorded",{list:R(v)})}),(0,d.jsxs)("div",{className:"mt-4 border-t border-edge pt-3",children:[(0,d.jsx)("p",{className:"text-xs font-medium",children:r("twinMemory.expiryTitle")}),(0,d.jsx)(i.D0,{label:r("twinMemory.validUntilLabel"),className:"mt-2",size:"sm",type:"date",value:K,disabled:null!==w,"aria-describedby":`episode-${a.id}-expiry-hint`,onChange:a=>L(a.target.value)}),(0,d.jsx)("p",{id:`episode-${a.id}-expiry-hint`,className:"mt-1 text-xs leading-relaxed text-smoke",children:r("twinMemory.validUntilHint")}),(0,d.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[(0,d.jsx)(i.rA,{type:"button",tone:"surface",busy:"expiry"===w,busyLabel:r("twinMemory.savingExpiry"),disabled:null!==w||!K||K===a.validUntil?.slice(0,10),onClick:()=>void X(K),children:r("twinMemory.saveExpiry")}),a.validUntil&&(0,d.jsx)(i.rA,{type:"button",tone:"plain",busy:"clearExpiry"===w,busyLabel:r("twinMemory.clearingExpiry"),disabled:null!==w,onClick:()=>void X(null),children:r("twinMemory.clearExpiry")})]})]})]}),P&&(0,d.jsxs)("details",{ref:O,className:"mt-3",onToggle:a=>{a.currentTarget.open&&Y()},children:[(0,d.jsx)("summary",{className:"cursor-pointer text-xs font-medium underline-offset-4 hover:underline",children:r("twinMemory.viewEvidence")}),C&&(0,d.jsx)("p",{role:"status",className:"mt-2 text-xs text-smoke",children:r("twinMemory.loadingEvidence")}),E&&(0,d.jsxs)("div",{className:"mt-2",children:[(0,d.jsx)(i.lZ,{text:E}),(0,d.jsx)(i.rA,{type:"button",tone:"surface",className:"mt-2",onClick:()=>void Y(),children:r("twinMemory.retryEvidence")})]}),A&&0===A.length&&(0,d.jsx)("p",{className:"mt-2 text-xs text-smoke",children:r("twinMemory.sourceGone")}),A?.map(b=>{let c=n[b.kind];return(0,d.jsxs)("div",{id:`episode-${a.id}-source-${b.id}`,tabIndex:-1,className:"mt-3 scroll-mt-24 rounded border border-edge bg-surface p-3",children:[(0,d.jsxs)("p",{className:"break-words font-mono text-[10px] text-smoke",children:[b.source," \xb7 ",c?r(c):b.kind," \xb7 ",b.at.slice(0,10)]}),(0,d.jsx)("p",{className:"mt-2 text-xs font-medium",children:r("brief"===b.kind?"twinMemory.briefText":"twinMemory.ownerText")}),(0,d.jsx)("blockquote",{className:"mt-1 whitespace-pre-wrap break-words text-xs leading-relaxed text-smoke",children:b.text}),b.truncated&&(0,d.jsx)("p",{className:"mt-2 text-xs text-smoke",children:r("twinMemory.truncated")}),b.context&&(0,d.jsxs)("details",{className:"mt-3 border-t border-edge pt-2",children:[(0,d.jsx)("summary",{className:"cursor-pointer text-xs text-smoke",children:r("twinMemory.agentContext")}),(0,d.jsx)("p",{className:"mt-2 whitespace-pre-wrap break-words text-xs leading-relaxed text-smoke",children:b.context})]})]},b.id)})]}),(0,d.jsxs)("div",{className:"mt-4 flex flex-wrap items-center justify-between gap-2 border-t border-edge pt-3",children:[(0,d.jsx)("time",{dateTime:a.createdAt,className:"font-mono text-[10px] text-smoke",children:a.createdAt.slice(0,10)}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)(i.rA,{type:"button",tone:"surface",disabled:null!==w||g,onClick:b,children:r("twinMemory.revise")}),("active"===a.status||S)&&(0,d.jsx)(i.rA,{type:"button",tone:"plain",busy:"status"===w,busyLabel:r("twin.saving"),disabled:null!==w,onClick:()=>void W(),children:r("active"===a.status?"twinMemory.dismiss":"twinMemory.restore")})]})]}),g&&(0,d.jsxs)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:[r(T?"twinMemory.competingActive":"twinMemory.successorActive")," ",T?(0,d.jsx)("a",{href:"#competing-versions",className:"underline underline-offset-4",children:r("twinMemory.competingOpen")}):(0,d.jsx)("a",{href:`/twin?episode=${encodeURIComponent(a.activeRevisionId)}#episode-${a.activeRevisionId}`,className:"underline underline-offset-4",children:r("twinMemory.currentVersion")})]}),y&&(0,d.jsx)(i.lZ,{text:y,className:"mt-2"})]})}},8706:(a,b,c)=>{"use strict";c.d(b,{g:()=>e});var d=c(28388);function e(a,b,c){return a.filter(a=>"signed"===a.state||"inferred"===a.state&&c&&(0,d.nFp)(a.support)).map(a=>{let c=a.identity?b[a.identity]:void 0;return{id:a.id,topic:a.topic,statement:a.statement,citations:(a.citations??[]).map(a=>a.verdictId),...c?{scope:c}:{},...a.publishedAs?{published:a.publishedAs}:{}}})}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},18297:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>E.a,__next_app__:()=>K,handler:()=>M,pages:()=>J,routeModule:()=>L,tree:()=>I});var d=c(75850),e=c(80525),f=c(25619),g=c(79540),h=c(86702),i=c(39680),j=c(76063),k=c(97084),l=c(162),m=c(76456),n=c(24590),o=c(24290),p=c(65485),q=c(30653),r=c(28070),s=c(261),t=c(6725),u=c(63370),v=c(26713),w=c(86444),x=c(31149),y=c(81073),z=c(15782),A=c(78778),B=c(35710),C=c(86439),D=c(17346),E=c.n(D),F=c(31418),G=c(45587),H={};for(let a in F)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(H[a]=()=>F[a]);c.d(b,H);let I={children:["",{children:["(app)",{children:["twin",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,25027)),"/private/tmp/panoma-0.10.2/apps/web/app/(app)/twin/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(c.bind(c,10168)),"/private/tmp/panoma-0.10.2/apps/web/app/(app)/layout.tsx"],error:[()=>Promise.resolve().then(c.bind(c,37726)),"/private/tmp/panoma-0.10.2/apps/web/app/(app)/error.tsx"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,85357,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,14576,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,19565))).default(a)],apple:[async a=>(await Promise.resolve().then(c.bind(c,55653))).default(a)],openGraph:[],twitter:[],manifest:void 0}}]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,17346,23)),"next/dist/client/components/builtin/global-error.js"],"global-not-found":[()=>Promise.resolve().then(c.bind(c,80337)),"/private/tmp/panoma-0.10.2/apps/web/app/global-not-found.tsx"],"not-found":[()=>Promise.resolve().then(c.bind(c,5123)),"/private/tmp/panoma-0.10.2/apps/web/app/not-found.tsx"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,85357,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,14576,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,19565))).default(a)],apple:[async a=>(await Promise.resolve().then(c.bind(c,55653))).default(a)],openGraph:[],twitter:[],manifest:void 0}}]}.children,J=["/private/tmp/panoma-0.10.2/apps/web/app/(app)/twin/page.tsx"],K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/(app)/twin/page",pathname:"/twin",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next-bundle",relativeProjectDir:""});async function M(a,b,d){var D;let H="/(app)/twin/page";"/index"===H&&(H="/");let N=(0,h.getRequestMeta)(a,"postponed"),O=(0,h.getRequestMeta)(a,"minimalMode"),P=await L.prepare(a,b,{srcPage:H,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,parsedUrl:T,pageIsDynamic:U,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,serverActionsManifest:Y,clientReferenceManifest:Z,subresourceIntegrityManifest:$,prerenderManifest:_,isDraftMode:aa,resolvedPathname:ab,revalidateOnlyGenerated:ac,routerServerContext:ad,nextConfig:ae,interceptionRoutePatterns:af}=P,ag=T.pathname||"/",ah=(0,s.normalizeAppPath)(H),{isOnDemandRevalidate:ai}=P,aj=L.match(ag,_),ak=!!_.routes[ab],al=!!(aj||ak||_.routes[ah]),am=a.headers["user-agent"]||"",an=(0,v.getBotType)(am),ao=(0,q.isHtmlBotRequest)(a),ap=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[u.NEXT_ROUTER_PREFETCH_HEADER],aq=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[u.RSC_HEADER]),ar=(0,t.getIsPossibleServerAction)(a),as=(0,m.checkIsAppPPREnabled)(ae.experimental.ppr)&&(null==(D=_.routes[ah]??_.dynamicRoutes[ah])?void 0:D.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?N:void 0,aw=as&&aq&&!ap,ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=!am||(0,q.shouldServeStreamingMetadata)(am,ae.htmlLimitedBots);ao&&as&&(al=!1,ay=!1);let az=!0===L.isDev||!al||"string"==typeof N||aw,aA=ao&&as,aB=null;aa||!al||az||ar||av||aw||(aB=ab);let aC=aB;!aC&&L.isDev&&(aC=ab),L.isDev||aa||!al||!aq||aw||(0,k.d)(a.headers);let aD={...F,tree:I,pages:J,GlobalError:E(),handler:M,routeModule:L,__next_app__:K};Y&&Z&&(0,p.setReferenceManifestsSingleton)({page:H,clientReferenceManifest:Z,serverActionsManifest:Y,serverModuleMap:(0,r.createServerModuleMap)({serverActionsManifest:Y})});let aE=a.method||"GET",aF=(0,g.getTracer)(),aG=aF.getActiveScopeSpan();try{let f=L.getVaryHeader(ab,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aF.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aE} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aE} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aD,Component:(0,j.T)(aD),params:S,routeModule:L,page:H,postponed:f,shouldWaitOnAllReady:aA,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||az,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,subresourceIntegrityManifest:$,serverActionsManifest:Y,clientReferenceManifest:Z,setIsrStatus:null==ad?void 0:ad.setIsrStatus,dir:c(33873).join(process.cwd(),L.relativeProjectDir),isDraftMode:aa,isRevalidate:al&&!f&&!aw,botType:an,isOnDemandRevalidate:ai,isPossibleServerAction:ar,assetPrefix:ae.assetPrefix,nextConfigOutput:ae.output,crossOrigin:ae.crossOrigin,trailingSlash:ae.trailingSlash,previewProps:_.preview,deploymentId:ae.deploymentId,enableTainting:ae.experimental.taint,htmlLimitedBots:ae.htmlLimitedBots,devtoolSegmentExplorer:ae.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ae.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ae.experimental.cacheLife,basePath:ae.basePath,serverActions:ae.experimental.serverActions,...at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:at}:{},experimental:{isRoutePPREnabled:as,expireTime:ae.expireTime,staleTimes:ae.experimental.staleTimes,cacheComponents:!!ae.experimental.cacheComponents,clientSegmentCache:!!ae.experimental.clientSegmentCache,clientParamParsing:!!ae.experimental.clientParamParsing,dynamicOnHover:!!ae.experimental.dynamicOnHover,inlineCss:!!ae.experimental.inlineCss,authInterrupts:!!ae.experimental.authInterrupts,clientTraceMetadata:ae.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>L.onRequestError(a,b,d,ad),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[z.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,al&&(null==n?void 0:n.revalidate)===0&&!L.isDev&&!as){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ab}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
2
|
-
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19771:a=>{"use strict";a.exports=require("process")},21820:a=>{"use strict";a.exports=require("os")},24850:(a,b,c)=>{"use strict";c.d(b,{P:()=>d,s:()=>e});let d=300,e=300},25027:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>M,dynamic:()=>K,generateMetadata:()=>L});var d=c(62490),e=c(26913),f=c(28388),g=c(26785),h=c.n(g),i=c(63351),j=c(99232),k=c(30993),l=c(81085),m=c(65823),n=c(3912),o=c(37887),p=c(69677),q=c(39354),r=c(86732),s=c(94304),t=c(17245);function u({stages:a,locale:b}){return(0,d.jsxs)("section",{"aria-labelledby":"twin-path-title",className:"page-shell__section",children:[(0,d.jsx)("h2",{id:"twin-path-title",className:"eyebrow page-shell__section-title",children:(0,t.t)(b,"twinPath.title")}),(0,d.jsx)("p",{className:"max-w-3xl text-sm leading-relaxed text-smoke",children:(0,t.t)(b,"twinPath.lead")}),(0,d.jsx)("ol",{role:"list",className:"mt-4 grid grid-cols-2 gap-3 lg:grid-cols-4",children:a.map((a,c)=>{let e=(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("span",{className:"flex items-baseline gap-2",children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"font-mono text-[11px] text-faint",children:String(c+1).padStart(2,"0")}),(0,d.jsx)("span",{className:"text-sm font-semibold",children:(0,t.t)(b,a.key)})]}),(0,d.jsx)("span",{className:`mt-3 font-display text-2xl font-semibold tabular-nums tracking-tight ${a.reached?"":"text-smoke"}`,children:a.figure}),(0,d.jsx)("span",{className:"mt-1 text-xs leading-relaxed text-smoke",children:(0,t.t)(b,a.noteKey)})]}),f=a.alarming&&!a.reached,g=`flex flex-col rounded-lg border p-4 ${f?"border-warn/40 bg-warn/[0.04]":"border-edge bg-surface"}`;return(0,d.jsx)("li",{role:"listitem",className:"contents",children:a.href?(0,d.jsx)(h(),{href:a.href,className:`${g} transition-colors ${f?"hover:border-warn":"hover:border-chalk"}`,children:e}):(0,d.jsx)("div",{className:g,children:e})},a.key)})})]})}let v=(a,b)=>`${a} / ${b}`;var w=c(80314);let x=["design","frontend","backend","cli","testing","copy","workflow","tooling","data","other"];function y(a,b){let c=[];for(let d of function(a){let b=new Set(a.map(a=>a.topic));return[...x.filter(a=>b.has(a)),...[...b].filter(a=>!x.includes(a)).sort()]}(a)){let e="";for(let c of a){if(c.topic!==d||void 0!==b&&void 0!==c.scope&&c.scope!==b)continue;let a=c.statement.replace(/\s+/g," ").replaceAll("\x3c!--","<! --").replaceAll("--\x3e","-- >").trim();""!==a&&(e=""===e?`- Taste (${d}): ${a}`:`${e} \xb7 ${a}`)}""!==e&&c.push(e)}return c.join("\n").length}function z(a){let b=y(a,A),c=new Set;for(let b of a)void 0!==b.scope&&c.add(b.scope);let d={chars:b,global:b,own:0};for(let e of c){let c=y(a,e);c>d.chars&&(d={chars:c,global:b,project:e,own:c-b})}return d}let A="\0";function B(a,b){let c=new Set(b.lines.map(a=>C(a))),d=new Set;for(let b of a)c.has(C(b))||d.add(b.id);return{chars:z(a).chars,cap:b.cap,written:b.chars,unpublished:d}}function C(a){let b=a.statement.replace(/\s+/g," ").replaceAll("\x3c!--","<! --").replaceAll("--\x3e","-- >").trim();return`${a.topic} ${b}`}var D=c(72149),E=c(8706),F=c(28367),G=c(32155),H=c(89267),I=c(70652),J=c(87711);let K="force-dynamic";async function L(){return{title:(0,t.t)(await (0,t.JK)(),"nav.twin")}}async function M({searchParams:a}){var b;let{db:c}=await (0,i.db)(),g=(await a).episode,x="string"==typeof g&&g.length<=100?await (0,f.Ill)(c,g):void 0,[y,A,C,H,I,K,L,M,W]=await Promise.all([(0,f.ZEb)(c,{states:f.oEh}),(0,f.ZEb)(c,{states:["vetoed"]}),(0,f.ZEb)(c,{states:["proposed"]}),(0,e.u)(),(0,f.WtK)(c),(0,f.N8S)(c),(0,e.Xj)(),(0,t.JK)(),(0,J.TC)()]),X=(0,e.F$)(L),Y=await (0,e.XB)(),Z=(0,e.xs)(),$=Y.map(a=>({id:a.id,label:a.label,path:a.path,present:a.present,files:a.files,bytes:a.bytes,state:(0,e.YK)(a,(0,e.Jr)(L,a.id),Z.includes(a.id))})),[_,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am]=await Promise.all([(0,f.qTp)(c),(0,f.HHm)(c),(0,f.vtC)(c),(0,f.wQT)(c,{classified:!1,limit:1e3}),(0,f.ZEb)(c,{states:["retired"]}),(0,f.iPA)(c,(0,f.c6C)(5)),(0,f.buH)(c),(0,f.H7H)(c),(0,f.dZR)(c),(0,f.bM4)(c),(0,f.h2G)(c,{limit:D.YB+1}),(0,f.yoV)(c),(0,f.l1Z)(c),(0,f.w2W)(c)]),an=aj.slice(0,D.YB),ao=an.at(-1),ap=aj.length>D.YB&&ao?(0,D.UB)({createdAt:ao.createdAt.toISOString(),id:ao.id}):null;x&&!an.some(a=>a.id===x.id)&&an.push(x);let aq=await (0,f.cM4)(c,an.map(a=>a.id)),ar=a=>({...a,activeRevisionId:aq[a.id]??null,projectName:a.identity?aa[a.identity]??null:null,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString(),validUntil:a.validUntil?new Date(a.validUntil).toISOString():null}),as=(0,G.F)(ai),at={},au=new Set;for(let[a,b]of Object.entries(aa))au.has(b)?delete at[b]:at[b]=a,au.add(b);let av=(a,b={})=>(0,w.qC)(a,{names:aa,identities:at,stands:(0,f.nFp)(a.support),...b}),aw=y.map(a=>av(a)),ax=(0,E.g)(y,aa,X),ay=B(ax,H),az=z(ax),aA=new Map(y.map(a=>[a.id,a])),aB=C.filter(a=>a.supersedes.some(a=>aA.has(a))),aC=0===I.beliefs,aD=X?[]:y.filter(a=>"signed"!==a.state&&(0,f.nFp)(a.support)),aE=(0,t.t)(M,aC?al>0?"twin.memoryOnlyIntro":"twin.introEmpty":X?"twin.intro":"twin.introWaiting"),aF=(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"mt-3 max-w-2xl text-sm leading-relaxed text-smoke",children:(0,t.t)(M,"twin.payoff")}),aC&&0===al&&(0,d.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed text-smoke",children:(0,t.t)(M,"twin.introEmptyHint")})]}),aG=$.filter(a=>"allowed"===a.state||"denied"===a.state),aH=as.filter(a=>(0,F.as)(a.identity,aa)),aI=[{key:"twinPath.history",noteKey:"twinPath.historyNote",figure:v((b={histories:{grantable:aG.length,allowed:aG.filter(a=>"allowed"===a.state).length},thoughts:y.length+al,file:{chars:ay.chars,cap:e.ZJ},reach:{reached:ah.reached,projects:ah.projects}}).histories.allowed,b.histories.grantable),href:"#history",reached:b.histories.allowed>0},{key:"twinPath.mind",noteKey:"twinPath.mindNote",figure:String(b.thoughts),href:"#portrait",reached:b.thoughts>0},{key:"twinPath.file",noteKey:"twinPath.fileNote",figure:v(b.file.chars,b.file.cap),href:"#file",reached:b.file.chars>0},{key:"twinPath.agents",noteKey:"twinPath.agentsNote",figure:v(b.reach.reached,b.reach.projects),...b.reach.projects>0?{href:"#reach"}:{},reached:b.reach.reached>0,alarming:!0}];return(0,d.jsxs)(j.q,{eyebrow:(0,t.t)(M,"nav.twin"),title:(0,t.t)(M,aC?al>0?"twin.memoryOnlyTitle":"twin.titleEmpty":"twin.title"),lead:aE,headExtra:aF,children:[(0,d.jsx)(u,{locale:M,stages:aI}),(0,d.jsxs)(j.d,{children:[(0,d.jsxs)("nav",{"aria-label":(0,t.t)(M,"twinTeach.nav"),className:"flex flex-wrap gap-2",children:[[["#history","twinTeach.navHistory"],["#teach","twinTeach.navTeach"],["#decision-memory","twinTeach.navMemory"],["#portrait","twinTeach.navPortrait"],["#decision-lab","twinTeach.navLab"]].map(([a,b])=>(0,d.jsx)("a",{href:a,className:"rounded-full border border-edge bg-surface px-3 py-2 text-xs text-smoke transition-colors hover:border-chalk",children:(0,t.t)(M,b)},a)),(0,d.jsx)(h(),{href:"/twin/look",className:"rounded-full border border-edge bg-surface px-3 py-2 text-xs text-smoke transition-colors hover:border-chalk",children:(0,t.t)(M,"twin.toCritic")})]}),(0,d.jsxs)("details",{className:"mt-6",children:[(0,d.jsx)("summary",{className:"cursor-pointer text-sm text-smoke",children:(0,t.t)(M,"twinTeach.details")}),(0,d.jsxs)("div",{className:"mt-4 flex flex-col gap-2",children:[(0,d.jsx)("dl",{className:"grid grid-cols-2 gap-3 lg:grid-cols-4",children:[["twinTeach.signed",I.signed],["twinTeach.standing",Math.max(0,I.standing-I.signed)],["twinTeach.published",H.lines.length],["twinTeach.episodes",al]].map(([a,b])=>(0,d.jsxs)(k.Zp,{pad:"sm",children:[(0,d.jsx)("dt",{className:"text-xs leading-relaxed text-smoke",children:(0,t.t)(M,a)}),(0,d.jsx)("dd",{className:"mt-2 font-display text-lg font-semibold tabular-nums",children:b})]},a))}),(0,d.jsx)("p",{className:"font-mono text-sm text-smoke",children:(0,t.t)(M,"twin.counts",{beliefs:I.beliefs,forming:I.forming,observations:I.observations})}),null!==I.density&&(0,d.jsx)("p",{className:"font-display text-lg font-semibold tracking-tight",children:(0,t.t)(M,"twin.density",{density:I.density})}),(0,d.jsx)(N,{score:I,locale:M}),(0,d.jsx)(O,{briefs:af,locale:M}),(0,d.jsx)(V,{score:I,locale:M}),(0,d.jsx)(R,{beliefs:[...y,...A,...ad],locale:M}),(0,d.jsx)(S,{months:ae,locale:M}),(0,d.jsx)(U,{corpus:_,locale:M})]})]})]}),(0,d.jsxs)("section",{id:"history",tabIndex:-1,className:"page-shell__section scroll-mt-24","aria-labelledby":"twin-sources-title",children:[(0,d.jsx)(o.TwinSources,{sources:$}),(0,d.jsx)(n.TwinDistill,{left:Math.max(0,_.total-_.read),granted:$.some(a=>"allowed"===a.state)}),(0,d.jsx)(U,{corpus:_,locale:M})]}),(0,d.jsx)(q.TwinTeach,{projects:aH.map(({slug:a,label:b})=>({slug:a,label:b})),omitted:as.length-aH.length}),(0,d.jsx)(s.TwinMemory,{focusId:x?.id,projects:as.filter(a=>null!==a.identity).map(({slug:a,name:b,label:c,identity:d})=>({slug:a,name:b,label:c,identity:d})),coverage:ak,dailyCalls:W.episodes.cap,episodes:an.map(ar),olderCursor:ap,conflicts:am.map(a=>a.map(ar))}),aD.length>0&&(0,d.jsx)(m.TwinConsent,{standing:aD.length,chars:B([...ax,...(0,E.g)(aD,aa,!0)],H).chars,cap:e.ZJ}),(0,d.jsxs)("section",{id:"portrait",tabIndex:-1,className:"page-shell__section scroll-mt-24","aria-labelledby":"portrait-title",children:[(0,d.jsx)("h2",{id:"portrait-title",className:"text-base font-semibold",children:(0,t.t)(M,"twinTeach.portraitTitle")}),aC&&(0,d.jsx)(k.pp,{variant:"note",className:"mt-2",title:(0,t.t)(M,"twinTeach.portraitEmpty")}),(0,d.jsx)(l.BeliefEditor,{beliefs:aw,graveyard:A.map(a=>av(a)),unpublished:ay.unpublished,proposals:aB.map(a=>av(a,{supersedes:a.supersedes.flatMap(a=>{let b=aA.get(a);return b?[b.statement]:[]})})),locale:M})]}),(0,d.jsx)(j.d,{id:"file",labelledBy:"twin-file-title",children:(0,d.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,d.jsxs)("div",{className:`rounded-lg border px-4 py-4 ${ay.chars>ay.cap?"border-idle":"border-edge"}`,children:[(0,d.jsx)("h2",{id:"twin-file-title",className:"text-base font-semibold",children:(0,t.t)(M,"twin.fileTitle")}),(0,d.jsx)("p",{className:"mt-1 font-mono text-sm",children:(0,t.t)(M,"twin.fileSize",{chars:ay.chars,cap:e.ZJ})}),(0,d.jsx)("div",{className:"mt-2 h-1 w-full overflow-hidden rounded bg-raised",children:(0,d.jsx)("div",{className:`h-full ${ay.chars>ay.cap?"bg-idle":"bg-accent"}`,style:{width:`${Math.min(ay.chars/ay.cap*100,100)}%`}})}),ay.chars>ay.cap?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-idle",children:(0,t.t)(M,"twin.fileFull")}),(0,d.jsx)("p",{className:"mt-1 font-mono text-xs text-smoke",children:(0,t.t)(M,"twin.fileWritten",{n:ay.written})}),(0,d.jsxs)("p",{className:"mt-1 font-mono text-xs text-smoke",children:[(0,t.t)(M,"twin.fileSplit",{global:az.global}),void 0!==az.project?` \xb7 ${(0,t.t)(M,"twin.fileHeaviest",{project:az.project,own:az.own})}`:""]})]}):(0,d.jsx)("p",{className:"mt-2 font-mono text-xs text-smoke",children:(0,t.t)(M,"twin.fileRoom",{n:ay.cap-ay.chars})}),(0,d.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-smoke",children:(0,t.t)(M,"twin.fileHint")}),(0,d.jsx)(p.TwinSynthesize,{pending:ac.length,ready:ab.length>0})]}),(0,d.jsx)(T,{spend:K,caps:W,locale:M})]})}),(0,d.jsx)(P,{reach:ah,locale:M}),(0,d.jsx)(r.TwinLab,{projects:as.map(({slug:a,label:b})=>({slug:a,label:b})),hasBeliefs:al>0||y.some(a=>"signed"===a.state||(0,f.nFp)(a.support))}),(0,d.jsx)(Q,{design:ag,locale:M})]})}function N({score:a,locale:b}){return 0===a.shown?null:(0,d.jsxs)("p",{className:"font-mono text-sm text-smoke",children:[(0,t.t)(b,"twin.corrections",{corrections:a.corrections,shown:a.shown}),null!==a.rate?` \xb7 ${(0,t.t)(b,"twin.rate",{rate:a.rate})}`:""]})}function O({briefs:a,locale:b}){return 0===a.findings?null:(0,d.jsxs)("p",{className:"font-mono text-sm text-smoke",children:[(0,t.t)(b,"twin.briefs",{ordered:a.ordered,findings:a.findings}),null!==a.rate?` \xb7 ${(0,t.t)(b,"twin.briefsRate",{rate:a.rate})}`:"",a.ordered>0?` \xb7 ${(0,t.t)(b,"twin.briefsLaunched",{launched:a.launched})}`:"",a.launches>a.launched?` \xb7 ${(0,t.t)(b,"twin.briefsRelaunched",{launches:a.launches})}`:"",a.discarded>0?` \xb7 ${(0,t.t)(b,"twin.briefsDiscarded",{discarded:a.discarded})}`:""]})}function P({reach:a,locale:b}){if(0===a.projects)return null;let c=0===a.reached;return(0,d.jsxs)(j.d,{id:"reach",title:(0,t.t)(b,"twin.reachTitle"),children:[(0,d.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed",children:(0,t.t)(b,"twin.reach",{reached:a.reached,projects:a.projects})}),(0,d.jsx)("p",{className:`mt-1 max-w-2xl text-sm leading-relaxed ${c?"text-warn":"text-smoke"}`,children:(0,t.t)(b,c?"twin.reachNone":"twin.reachSome")}),(0,d.jsx)("p",{className:"mt-2 text-xs text-smoke",children:(0,d.jsx)("code",{className:"font-mono",children:(0,t.t)(b,"twin.reachHow",{cli:(0,H._)()})})})]})}function Q({design:a,locale:b}){return 0===a.read?null:(0,d.jsxs)(j.d,{title:(0,t.t)(b,"twin.designTitle"),children:[(0,d.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-smoke",children:(0,t.t)(b,"twin.designFrom",{read:a.read,withUi:a.withUi})}),a.colors.length>0&&(0,d.jsx)("div",{className:"mt-4 flex flex-wrap gap-2",children:a.colors.map(a=>(0,d.jsxs)("span",{className:"flex items-center gap-2 rounded border border-edge px-2 py-1 font-mono text-xs text-smoke",children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"h-3.5 w-3.5 rounded-sm border border-edge",style:{backgroundColor:a.value}}),a.value,(0,d.jsx)("span",{className:"text-faint",children:(0,t.t)(b,"twin.designProjects",{projects:a.projects})})]},a.value))}),a.fonts.length>0&&(0,d.jsx)("p",{className:"mt-3 max-w-2xl font-mono text-xs text-smoke",children:(0,t.t)(b,"twin.designFonts",{fonts:a.fonts.map(a=>a.value).join(" \xb7 ")})}),a.radii.length>0&&(0,d.jsx)("p",{className:"mt-1 max-w-2xl font-mono text-xs text-smoke",children:(0,t.t)(b,"twin.designRadii",{radii:a.radii.map(a=>a.value).join(" \xb7 ")})}),(0,d.jsx)("p",{className:"mt-1 max-w-2xl font-mono text-xs text-smoke",children:(0,t.t)(b,"twin.designTraits",{dark:a.darkMode,animation:a.animation})})]})}function R({beliefs:a,locale:b}){let c=Date.now()-6048e5,e=a=>null!==a&&a.getTime()>c,f=0,g=0,h=0;for(let b of a)e(b.retiredAt)||e(b.vetoedAt)?h+=1:e(b.createdAt)?f+=1:e(b.updatedAt)&&"inferred"===b.state&&(g+=1);return f+g+h===0?null:(0,d.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-smoke",children:(0,t.t)(b,"twin.digest",{created:f,refined:g,retired:h,days:7})})}function S({months:a,locale:b}){if(0===a.length)return null;let c=function(a,b=new Date){let c=a[0];return void 0===c||c.month!==(0,f.GSS)(b)?null:0===c.moved?"still":0===c.created&&0===c.retired&&c.refined>0?"onlyRefined":null}(a);return(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)("p",{className:"font-mono text-xs uppercase tracking-wide text-faint",children:(0,t.t)(b,"twin.churnTitle")}),a.map(a=>(0,d.jsx)("p",{className:"font-mono text-xs text-smoke",children:(0,t.t)(b,"twin.churnMonth",{month:function(a,b){let[c,d]=a.split("-").map(Number);if(void 0===c||void 0===d)return a;let e=new Date(c,d-1,1,12);return new Intl.DateTimeFormat("es"===b?"es-ES":"en-US",{month:"long",year:"numeric"}).format(e)}(a.month,b),created:a.created,refined:a.refined,retired:a.retired})},a.month)),"still"===c&&(0,d.jsx)("p",{className:"font-mono text-xs text-smoke",children:(0,t.t)(b,"twin.churnStill")}),"onlyRefined"===c&&(0,d.jsx)("p",{className:"font-mono text-xs text-idle",children:(0,t.t)(b,"twin.churnOnlyRefined")})]})}function T({spend:a,caps:b,locale:c}){let e=a.reduce((a,b)=>a+b.calls,0),f=a.reduce((a,b)=>a+b.input,0),g=a.reduce((a,b)=>a+b.output,0),i=a.reduce((a,b)=>a+b.unmetered,0),j=b=>a.find(a=>a.kind===b)?.calls??0,l=j("look"),m=j("distill"),n=j("classify"),o=j("synthesize"),p=I.N.reduce((a,b)=>a+j(b),0);return(0,d.jsxs)(k.Zp,{tone:"plain",children:[(0,d.jsx)("h2",{id:"twin-spend-title",className:"text-base font-semibold",children:(0,t.t)(c,"twin.spendTitle")}),0===e?(0,d.jsx)(k.pp,{variant:"note",className:"mt-1",title:(0,t.t)(c,"twin.spendNone")}):(0,d.jsxs)(d.Fragment,{children:[l>0&&(0,d.jsx)("p",{className:"mt-1 font-mono text-sm",children:(0,t.t)(c,"twin.spendLooks",{used:l,cap:b.look.cap})}),m>0&&(0,d.jsx)("p",{className:"mt-1 font-mono text-sm",children:(0,t.t)(c,"twin.spendDistills",{n:m})}),n>0&&(0,d.jsx)("p",{className:"mt-1 font-mono text-sm",children:(0,t.t)(c,"twin.spendClassify",{n:n})}),o>0&&(0,d.jsx)("p",{className:"mt-1 font-mono text-sm",children:(0,t.t)(c,"twin.spendSynth",{n:o})}),j("episodes")>0&&(0,d.jsx)("p",{className:"mt-1 font-mono text-sm",children:(0,t.t)(c,"twin.spendEpisodes",{used:j("episodes"),cap:b.episodes.cap})}),j("rehearse")>0&&(0,d.jsx)("p",{className:"mt-1 font-mono text-sm",children:(0,t.t)(c,"twin.spendRehearse",{used:j("rehearse"),cap:b.rehearse.cap})}),p>0&&(0,d.jsx)("p",{className:"mt-1 font-mono text-sm",children:(0,t.t)(c,"twin.spendReads",{used:p,cap:b.read.cap})}),f+g>0&&(0,d.jsx)("p",{className:"mt-1 font-mono text-xs text-smoke",children:(0,t.t)(c,"twin.spendTokens",{input:f,output:g})}),i>0&&(0,d.jsx)("p",{className:"mt-1 font-mono text-xs text-smoke",children:(0,t.t)(c,"twin.spendUnmetered",{n:i})})]}),(0,d.jsx)(h(),{href:"/spend",className:"mt-3 inline-block rounded border border-edge px-2.5 py-1 font-mono text-xs text-smoke transition-colors hover:border-chalk",children:(0,t.t)(c,"twin.spendMore")})]})}function U({corpus:a,locale:b}){let c=Math.max(a.total-a.read,0);return 0===a.total?null:(0,d.jsx)("div",{className:"mt-1",children:a.total>0&&(0,d.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-smoke",children:0===c?(0,t.t)(b,1===a.total?"twin.corpusDoneOne":"twin.corpusDoneMany",{total:a.total}):(0,t.t)(b,"twin.corpusLeft",{read:a.read,total:a.total,left:c})})})}function V({score:a,locale:b}){if(0===a.shown)return null;let c=W[a.reading];if(!c)return null;let e={shown:a.shown,floor:a.floor};return null!==a.rate&&(e.rate=a.rate),null!==a.recent.rate&&(e.recent=a.recent.rate),null!==a.previous.rate&&(e.previous=a.previous.rate),(0,d.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-smoke",children:(0,t.t)(b,c,e)})}let W={tooFew:"score.tooFew",noTrend:"score.noTrend",better:"score.better",notBetter:"score.notBetter"}},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},28367:(a,b,c)=>{"use strict";c.d(b,{sb:()=>f,XI:()=>g,as:()=>h,NV:()=>i});var d=c(26913),e=c(28388);class f extends Error{constructor(a){super(a),this.reason=a}}function g(a){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.statement||"string"!=typeof a.topic)throw new f("invalid");let b=(0,d.fp)(a.statement.normalize("NFC").replace(/\s+/g," ").trim()),c=a.topic.trim();if(!b||b.length>300||!/^[a-z][a-z0-9-]{0,23}$/.test(c)||void 0!==a.slug&&("string"!=typeof a.slug||!a.slug.trim()))throw new f("invalid");return{statement:b,topic:c,..."string"==typeof a.slug?{slug:a.slug.trim()}:{}}}function h(a,b){if(!a)return!1;let c=b[a];return!(!c||c.length>60||/[:\n\r]|<!--|-->/.test(c))&&c.trim()===c&&1===Object.values(b).filter(a=>a===c).length}async function i(a,b,c){let d=null;if(b.slug){let g=await (0,e.KIZ)(a,{slug:b.slug});if(!g)throw new f("project");if(!h(d=g.identity,c))throw new f("scope")}let g=a=>a.normalize("NFC").replace(/\s+/g," ").trim().toLowerCase(),i=(await (0,e.ZEb)(a,{states:e.oEh})).find(a=>a.topic===b.topic&&a.identity===d&&g(a.statement)===g(b.statement));if(i)return await (0,e.xqS)(a,i.id),{id:i.id,created:!1};let[j]=await (0,e.eDs)(a,[{topic:b.topic,statement:b.statement,identity:d,state:"signed",citations:[],support:{observations:0,projects:0,days:0},model:"owner"}]);return await (0,e.xqS)(a,j),{id:j,created:!0}}},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31230:(a,b,c)=>{"use strict";c.d(b,{TwinDistill:()=>i});var d=c(17016),e=c(65065),f=c(74198),g=c(65862),h=c(66384);function i({left:a,granted:b}){let c=(0,g.kj)(),i=(0,f.useRouter)(),[l,m]=(0,e.useState)(!1),[n,o]=(0,e.useState)(null),[p,q]=(0,e.useState)(null);async function r(){m(!0),o(null),q(null);try{o(c("twin.mining"));let a=await j();if(a.unreachable)o(c("project.unreachable"));else if(void 0!==a.error){if(o(a.error),a.blocked)return}else{let b=a.saved??0,d=a.denied?.length??0,e=[0===b?c("twin.minedNone"):c("twin.mined",{saved:b,duplicates:a.duplicates??0})];(a.narrativesSaved??0)>0&&e.push(c("twin.minedRecords",{n:a.narrativesSaved??0})),d>0&&e.push(c("twin.minedDenied",{n:d})),o(e.join(" \xb7 "))}let b=await k({dryRun:!0});if(b.error)return void o(b.hint?`${b.error} ${b.hint}`:b.error);if(!b.verdicts)return void o(c("twin.distillNothing"));q({verdicts:b.verdicts,tokens:b.estimatedTokens??0}),o(c("twin.distillEstimate",{verdicts:b.verdicts,tokens:b.estimatedTokens??0})),i.refresh()}catch{o(c("project.unreachable"))}finally{m(!1)}}async function s(){m(!0),q(null);try{let a=0,b=0,d=0;for(let e=1;e<=20;e+=1){let e=await k({});if(a+=e.verdicts??0,b+=e.saved??0,d+=e.truncated??0,e.error){o(e.hint?`${e.error} ${e.hint}`:e.error);break}let f=e.corpus?Math.max(e.corpus.total-e.corpus.read,0):0,g=e.thin??0,h=[c("twin.distillProgress",{read:a,saved:b,left:f})];if(g>0&&h.push(c("twin.distillThin",{n:g})),d>0&&h.push(c("twin.distillTruncated",{n:d})),o(h.join(" \xb7 ")),!e.verdicts||f<=0)break}i.refresh()}catch{o(c("project.unreachable"))}finally{m(!1)}}return(0,d.jsxs)("div",{className:"mt-2 flex flex-col gap-1",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)(h.rA,{tone:"plain",type:"button",onClick:r,busy:l&&null===p,busyLabel:c("twin.distilling"),disabled:!b||l,"aria-describedby":b?void 0:"twin-distill-why",className:"self-start",children:a>0?c("twin.mineButtonLeft",{n:a}):c("twin.mineButton")}),null!==p&&(0,d.jsx)(h.rA,{tone:"accent",type:"button",onClick:s,busy:l,busyLabel:c("twin.distillingPaid"),disabled:l,children:c("twin.distillGo",{n:p.verdicts})})]}),b&&(0,d.jsx)("p",{className:"text-xs leading-relaxed text-smoke",children:c("twin.distillCost")}),!b&&(0,d.jsx)("p",{id:"twin-distill-why",className:"text-xs leading-relaxed text-smoke",children:c("twin.distillNoConsent")}),(0,d.jsx)("div",{role:"status","aria-live":"polite",children:n&&(0,d.jsx)("p",{className:"font-mono text-xs text-smoke",children:n})})]})}async function j(){try{let a=await fetch("/api/twin/mine",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),b=await a.json();if(a.ok)return b;return{error:b.error??String(a.status),...409===a.status?{blocked:!0}:{}}}catch{return{unreachable:!0}}}async function k(a){let b=await fetch("/api/twin/distill",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),c=await b.json();return b.ok?c:{...c,error:c.error??String(b.status)}}},32155:(a,b,c)=>{"use strict";function d(a){return a.split("/").filter(a=>a.length>0).reverse()}function e(a,b){let c=d(a);return c.slice(0,Math.min(b,c.length)).reverse().join("/")}function f(a){let b=new Map;for(let c of a){let a=b.get(c.name);a?a.push(c):b.set(c.name,[c])}let c=new Map;for(let[a,f]of b){if(1===f.length&&f[0]){c.set(f[0].slug,a);continue}let b=Math.max(...f.map(a=>d(a.root).length)),g=1,h=f.map(a=>e(a.root,g));for(;g<b&&new Set(h).size<f.length;)g+=1,h=f.map(a=>e(a.root,g));f.forEach((a,b)=>{let d=h[b]??a.name,e=h.some((a,c)=>c!==b&&a===d);c.set(a.slug,e?`${d} \xb7 ${a.slug}`:d)})}return a.map(a=>({...a,label:c.get(a.slug)??a.name}))}c.d(b,{F:()=>f})},33873:a=>{"use strict";a.exports=require("path")},37133:(a,b,c)=>{"use strict";c.d(b,{TwinConsent:()=>i});var d=c(17016),e=c(65065),f=c(74198),g=c(65862),h=c(66384);function i({standing:a,chars:b,cap:c}){let i=(0,g.kj)(),j=(0,f.useRouter)(),[k,l]=(0,e.useState)(!1),[m,n]=(0,e.useState)(null);async function o(a){l(!0),n(null);try{let b=await fetch("/api/twin/taste",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({publishInferred:a})}),c=await b.json();b.ok||n(c.error??String(b.status)),j.refresh()}catch{n(i("project.unreachable"))}finally{l(!1)}}return(0,d.jsxs)(h.Zp,{as:"section",tone:"plain",className:"mt-8","aria-labelledby":"twin-consent-title",children:[(0,d.jsx)("h2",{id:"twin-consent-title",className:"text-base font-semibold",children:i("twin.consentTitle")}),(0,d.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed",children:i("twin.consentBody")}),(0,d.jsxs)("p",{className:`mt-2 max-w-2xl font-mono text-xs ${b>c?"text-idle":"text-smoke"}`,children:[i("twin.consentCount",{n:a,chars:b}),b>c?` \xb7 ${i("twin.consentOver",{cap:c})}`:""]}),(0,d.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,d.jsx)(h.rA,{tone:"accent",type:"button",onClick:()=>o(!0),busy:k,busyLabel:i("twin.saving"),children:i("twin.consentAllow")}),(0,d.jsx)("span",{className:"font-mono text-xs text-faint",children:i("twin.consentRevoke")})]}),m&&(0,d.jsx)(h.lZ,{text:i("twin.saveFailed",{detail:m}),className:"mt-2"})]})}},37887:(a,b,c)=>{"use strict";c.d(b,{TwinSources:()=>d});let d=(0,c(61746).registerClientReference)(function(){throw Error("Attempted to call TwinSources() from the server but TwinSources is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/private/tmp/panoma-0.10.2/apps/web/components/twin-sources.tsx","TwinSources")},39354:(a,b,c)=>{"use strict";c.d(b,{TwinTeach:()=>d});let d=(0,c(61746).registerClientReference)(function(){throw Error("Attempted to call TwinTeach() from the server but TwinTeach is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/private/tmp/panoma-0.10.2/apps/web/components/twin-teach.tsx","TwinTeach")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},44792:(a,b,c)=>{"use strict";c.d(b,{TwinTeach:()=>l});var d=c(17016),e=c(65065),f=c(74198),g=c(45157),h=c(65862),i=c(66384),j=c(61604),k=c(24850);function l({projects:a,omitted:b}){let c=(0,h.kj)(),l=(0,f.useRouter)(),[m,n]=(0,e.useState)(""),[o,p]=(0,e.useState)("workflow"),[q,r]=(0,e.useState)(""),[s,t]=(0,e.useState)(!1),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(null),y=(0,e.useRef)(!1);async function z(a){if(a.preventDefault(),!y.current&&m.trim()){y.current=!0,t(!0),v(null),x(null);try{let a=await fetch("/api/twin/taste",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({teach:{statement:m,topic:o,...q?{slug:q}:{}}})}),b=await a.json();if(!a.ok||!b.beliefId)return void v(b.error??c("twinTeach.failed"));n(""),x(b.beliefId),l.refresh()}catch{v(c("project.unreachable"))}finally{y.current=!1,t(!1)}}}return(0,d.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,d.jsxs)("div",{className:"grid gap-6 lg:grid-cols-[1fr_1.4fr]",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("p",{className:"flex items-center gap-2 font-mono text-xs text-smoke",children:[(0,d.jsx)(g.YUE,{"aria-hidden":!0,className:"h-4 w-4"}),c("twinTeach.eyebrow")]}),(0,d.jsx)("h2",{id:"twin-teach-title",className:"mt-2 text-base font-semibold",children:c("twinTeach.title")}),(0,d.jsx)("p",{className:"mt-3 max-w-md text-sm leading-relaxed text-smoke",children:c("twinTeach.lead")}),(0,d.jsx)("p",{className:"mt-3 max-w-md text-xs leading-relaxed text-smoke",children:c("twinTeach.control")})]}),(0,d.jsxs)("form",{onSubmit:z,"aria-busy":s,children:[(0,d.jsx)(i.fs,{label:c("twinTeach.statement"),value:m,onChange:a=>{n(a.target.value),x(null)},required:!0,maxLength:k.P,rows:3,disabled:s,placeholder:c("twinTeach.placeholder"),"aria-describedby":"twin-teach-count"}),(0,d.jsx)("p",{id:"twin-teach-count",className:"mt-1 text-right font-mono text-xs text-smoke",children:c("twinTeach.characters",{n:m.length,max:k.P})}),(0,d.jsxs)("div",{className:"mt-3 grid gap-3 sm:grid-cols-2",children:[(0,d.jsx)(i.l6,{label:c("twinTeach.topic"),value:o,disabled:s,onChange:a=>p(a.target.value),children:Object.entries(j.Wv).map(([a,b])=>(0,d.jsx)("option",{value:a,children:c(b)},a))}),(0,d.jsxs)("div",{children:[(0,d.jsxs)(i.l6,{label:c("twinTeach.scope"),value:q,disabled:s,"aria-describedby":b>0?"twin-teach-scope-note":void 0,onChange:a=>r(a.target.value),children:[(0,d.jsx)("option",{value:"",children:c("twinTeach.global")}),a.map(a=>(0,d.jsx)("option",{value:a.slug,children:a.label},a.slug))]}),b>0&&(0,d.jsx)("p",{id:"twin-teach-scope-note",className:"mt-2 text-xs leading-relaxed text-smoke",children:c("twinTeach.scopeOmitted",{n:b})})]})]}),(0,d.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-3",children:[(0,d.jsx)(i.rA,{type:"submit",tone:"accent",busy:s,busyLabel:c("twinTeach.saving"),disabled:s||!m.trim(),children:c("twinTeach.save")}),(0,d.jsx)("span",{className:"text-xs text-smoke",children:c("twinTeach.cost")})]}),u&&(0,d.jsx)(i.lZ,{text:u,className:"mt-3"}),(0,d.jsx)("div",{role:"status","aria-live":"polite",children:w&&(0,d.jsxs)("p",{className:"mt-3 text-sm text-smoke",children:[c("twinTeach.saved")," "," ",(0,d.jsx)("a",{href:`#belief-${w}`,className:"underline underline-offset-4",children:c("twinTeach.view")})]})})]})]})})}},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53392:(a,b)=>{"use strict";function c(a){return"("===a[0]&&a.endsWith(")")}function d(a){return a.startsWith("@")&&"@children"!==a}function e(a,b){if(a.includes(f)){let a=JSON.stringify(b);return"{}"!==a?f+"?"+a:f}return a}Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DEFAULT_SEGMENT_KEY:function(){return g},PAGE_SEGMENT_KEY:function(){return f},addSearchParamsIfPageSegment:function(){return e},isGroupSegment:function(){return c},isParallelRouteSegment:function(){return d}});let f="__PAGE__",g="__DEFAULT__"},55511:a=>{"use strict";a.exports=require("crypto")},56210:(a,b,c)=>{"use strict";c.d(b,{TwinLab:()=>k});var d=c(17016),e=c(65065),f=c(45157),g=c(65862),h=c(24850),i=c(66384),j=c(61604);function k({projects:a,hasBeliefs:b}){let c=(0,g.kj)(),[k,m]=(0,e.useState)(""),[n,o]=(0,e.useState)(""),[p,q]=(0,e.useState)(null),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)(null),x=(0,e.useRef)(!1),y=a.find(a=>a.slug===n);function z(){s(null),u(null)}async function A(a){if(x.current)return;let b=k.trim();if(!b||b.length>h.s)return void u(c("twinLab.invalidRequest",{max:h.s}));if(a||r?.status==="preview"&&r.evidence.length){x.current=!0,q(a?"preview":"draft"),u(null),a&&s(null);try{let d=await fetch("/api/twin/rehearse",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({question:b,...n?{slug:n}:{},dryRun:a})}),e=await d.json();if("number"==typeof e.remainingCalls&&w(e.remainingCalls),!d.ok)return void u(429===d.status?c("twinLab.budgetReached"):[e.error??c("twinLab.failed"),e.hint].filter(Boolean).join(" "));if(!Array.isArray(e.evidence)||!["preview","drafted","abstained"].includes(e.status))return void u(c("twinLab.failed"));s(e)}catch{u(c("project.unreachable"))}finally{x.current=!1,q(null)}}}let B=r?.reason==="no-beliefs"?"twinLab.noBeliefs":r?.reason==="no-match"?"twinLab.noMatch":"twinLab.unsupported";return(0,d.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,d.jsxs)("div",{className:"border-b border-edge px-5 py-5 sm:px-6",children:[(0,d.jsxs)("p",{className:"flex items-center gap-2 font-mono text-xs text-smoke",children:[(0,d.jsx)(f.qRK,{"aria-hidden":!0,className:"h-4 w-4"}),c("twinLab.eyebrow")]}),(0,d.jsx)("h2",{id:"twin-lab-title",className:"mt-2 text-base font-semibold",children:c("twinLab.title")}),(0,d.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed text-smoke",children:c("twinLab.lead")})]}),(0,d.jsxs)("div",{className:"grid lg:grid-cols-2",children:[(0,d.jsxs)("form",{onSubmit:function(a){a.preventDefault(),A(!0)},className:"min-w-0 px-5 py-5 sm:px-6","aria-busy":null!==p,children:[(0,d.jsx)(i.fs,{label:c("twinLab.question"),value:k,onChange:a=>{m(a.target.value),z()},maxLength:h.s,rows:4,required:!0,disabled:null!==p||!b,"aria-describedby":`twin-lab-question-hint twin-lab-count${b?"":" twin-lab-untrained"}`,placeholder:c("twinLab.placeholder")}),!b&&(0,d.jsx)("p",{id:"twin-lab-untrained",className:"mt-2 text-xs leading-relaxed text-smoke",children:c("twinLab.firstTitle")}),(0,d.jsxs)("div",{className:"mt-2 flex flex-wrap justify-between gap-2 text-xs text-smoke",children:[(0,d.jsx)("p",{id:"twin-lab-question-hint",children:c("twinLab.questionHint")}),(0,d.jsx)("p",{id:"twin-lab-count",className:"font-mono",children:c("twinLab.characters",{n:k.length,max:h.s})})]}),(0,d.jsxs)(i.l6,{label:c("twinLab.project"),className:"mt-5",value:n,onChange:a=>{o(a.target.value),z()},disabled:null!==p||!b,"aria-describedby":"twin-lab-scope-hint",children:[(0,d.jsx)("option",{value:"",children:c("twinLab.global")}),a.map(a=>(0,d.jsx)("option",{value:a.slug,children:a.label},a.slug))]}),(0,d.jsx)("p",{id:"twin-lab-scope-hint",className:"mt-2 text-xs leading-relaxed text-smoke",children:c("twinLab.scopeHint")}),(0,d.jsxs)("div",{className:"mt-5 flex flex-wrap items-center gap-3",children:[(0,d.jsx)(i.rA,{type:"submit",tone:"surface",busy:"preview"===p,busyLabel:c("twinLab.previewing"),disabled:null!==p||!k.trim()||!b,children:c("twinLab.preview")}),(0,d.jsx)("span",{className:"text-xs text-smoke",children:c("twinLab.previewCost")})]}),t&&(0,d.jsx)(i.lZ,{text:t,className:"mt-4"})]}),(0,d.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,d.jsx)("p",{role:"status","aria-live":"polite",className:"font-mono text-xs text-smoke",children:"preview"===p?c("twinLab.previewing"):"draft"===p?c("twinLab.drafting"):r?.status==="drafted"?c("twinLab.draftReady"):r?.status==="abstained"?c("twinLab.abstained"):r?.status==="preview"?c("twinLab.evidenceCount",{n:r.evidence.length}):c("twinLab.waiting")}),!r&&(0,d.jsx)(i.pp,{variant:"bare",className:"mt-4 max-w-md",title:c(b?"twinLab.emptyTitle":"twinLab.firstTitle"),action:!b&&(0,d.jsx)(l,{}),children:c(b?"twinLab.emptyBody":"twinLab.noBeliefs")}),r?.status==="abstained"&&(0,d.jsxs)("div",{className:"mt-3",children:[(0,d.jsx)("h3",{className:"text-base font-semibold",children:c("twinLab.abstainedTitle")}),(0,d.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-smoke",children:c(B)}),(0,d.jsx)(l,{className:"mt-3"})]}),r?.status==="drafted"&&(0,d.jsxs)(i.Zp,{className:"mt-3",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold",children:c("twinLab.draftTitle")}),(0,d.jsx)("p",{className:"mt-2 whitespace-pre-wrap break-words text-base leading-relaxed",children:r.answer}),(0,d.jsx)("p",{className:"mt-3 text-xs leading-relaxed text-smoke",children:c("twinLab.draftHint")}),(0,d.jsx)("p",{className:"mt-3 text-xs leading-relaxed text-smoke",children:c("twinLab.disagree")}),(0,d.jsx)(l,{className:"mt-3"})]}),r&&r.evidence.length>0&&(0,d.jsxs)("div",{className:"mt-4",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold",children:c("drafted"===r.status?"twinLab.citations":"twinLab.evidence")}),(0,d.jsx)("ol",{className:"mt-3 flex flex-col gap-2",role:"list",children:r.evidence.map((a,b)=>{let e=(0,j.Jj)(a.topic);return(0,d.jsxs)(i.Zp,{as:"li",pad:"sm",children:[(0,d.jsxs)("p",{className:"flex flex-wrap items-center gap-x-2 gap-y-1 font-mono text-[11px] text-smoke",children:[(0,d.jsx)("span",{"aria-hidden":!0,children:String(b+1).padStart(2,"0")}),(0,d.jsx)("span",{children:c("episode"===a.kind?"twinLab.episode":"signed"===a.state?"twin.badgeSigned":"twin.badgeStanding")}),"episode"!==a.kind&&(0,d.jsxs)("span",{children:["\xb7 ",e?c(e):a.topic]})]}),(0,d.jsxs)("a",{href:"episode"===a.kind?`/twin?episode=${encodeURIComponent(a.id)}#episode-${a.id}`:`#belief-${a.id}`,className:"mt-1.5 flex items-start gap-2 text-sm leading-relaxed underline-offset-4 hover:underline",children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 whitespace-pre-line break-words",children:a.statement}),(0,d.jsx)(f.OvC,{"aria-hidden":!0,className:"mt-0.5 h-4 w-4 shrink-0 text-smoke"}),(0,d.jsx)("span",{className:"sr-only",children:c("episode"===a.kind?"twinLab.openEpisode":"twinLab.openEvidence")})]}),(0,d.jsx)("p",{className:"mt-2 text-xs text-smoke",children:"episode"===a.kind?c("twinLab.episodeScope"):a.scope?c("twinLab.projectRule",{project:y?.label??a.scope}):c("twinLab.globalRule")})]},a.id)})})]}),r&&r.omittedBeliefs>0&&(0,d.jsx)("p",{className:"mt-3 font-mono text-xs text-smoke",children:c("twinLab.omitted",{n:r.omittedBeliefs})}),null!==v&&(0,d.jsx)("p",{className:"mt-3 font-mono text-xs text-smoke",children:c("twinLab.remaining",{n:v})}),r?.status==="preview"&&r.evidence.length>0&&(0,d.jsxs)("div",{className:"mt-5 border-t border-edge pt-4",children:[(0,d.jsx)(i.rA,{type:"button",tone:"accent",busy:"draft"===p,busyLabel:c("twinLab.drafting"),disabled:null!==p||0===v,onClick:()=>void A(!1),children:c("twinLab.rehearse")}),(0,d.jsx)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:c(0===v?"twinLab.budgetReached":"twinLab.draftCost")})]})]})]}),(0,d.jsx)("p",{className:"border-t border-edge px-5 py-3 text-xs leading-relaxed text-smoke sm:px-6",children:c("twinLab.boundary")})]})}function l({className:a}){let b=(0,g.kj)();return(0,d.jsxs)("a",{href:"#teach",className:`inline-flex items-center gap-1 text-sm underline underline-offset-4${a?` ${a}`:""}`,children:[b("twinLab.teach"),(0,d.jsx)(f.OvC,{"aria-hidden":!0,className:"h-4 w-4"})]})}},57075:a=>{"use strict";a.exports=require("node:stream")},61604:(a,b,c)=>{"use strict";c.d(b,{Jj:()=>e,Wv:()=>d,mL:()=>f});let d={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 e(a){return d[a]}function f(a,b){let c=new Date(a);if(Number.isNaN(c.getTime()))return a.slice(0,10);let d=String(c.getMonth()+1).padStart(2,"0"),e=String(c.getDate()).padStart(2,"0");return"en"===b?`${c.getFullYear()}-${d}-${e}`:`${e}/${d}/${c.getFullYear()}`}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},65823:(a,b,c)=>{"use strict";c.d(b,{TwinConsent:()=>d});let d=(0,c(61746).registerClientReference)(function(){throw Error("Attempted to call TwinConsent() from the server but TwinConsent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/private/tmp/panoma-0.10.2/apps/web/components/twin-consent.tsx","TwinConsent")},69677:(a,b,c)=>{"use strict";c.d(b,{TwinSynthesize:()=>d});let d=(0,c(61746).registerClientReference)(function(){throw Error("Attempted to call TwinSynthesize() from the server but TwinSynthesize is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/private/tmp/panoma-0.10.2/apps/web/components/twin-synthesize.tsx","TwinSynthesize")},70075:(a,b,c)=>{Promise.resolve().then(c.bind(c,81085)),Promise.resolve().then(c.bind(c,65823)),Promise.resolve().then(c.bind(c,3912)),Promise.resolve().then(c.bind(c,86732)),Promise.resolve().then(c.bind(c,94304)),Promise.resolve().then(c.bind(c,37887)),Promise.resolve().then(c.bind(c,69677)),Promise.resolve().then(c.bind(c,39354)),Promise.resolve().then(c.t.bind(c,26785,23))},70652:(a,b,c)=>{"use strict";c.d(b,{N:()=>d});let d=["distill","classify","synthesize"]},72149:(a,b,c)=>{"use strict";c.d(b,{AT:()=>e,Fr:()=>i,UB:()=>h,YB:()=>d});let d=100,e=200,f=/^[A-Za-z0-9_-]{1,128}$/,g=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/;function h(a){return btoa(JSON.stringify({createdAt:a.createdAt,id:a.id})).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function i(a){if(!(a.length>512)&&/^[A-Za-z0-9_-]+$/.test(a))try{let b=a.replace(/-/g,"+").replace(/_/g,"/").padEnd(a.length+(4-a.length%4)%4,"="),c=JSON.parse(atob(b));if(null===c||"object"!=typeof c||Array.isArray(c))return;let{createdAt:d,id:e}=c;if("string"!=typeof d||!g.test(d)||!Number.isFinite(Date.parse(d))||"string"!=typeof e||!f.test(e))return;return{createdAt:new Date(d),id:e}}catch{return}}},73024:a=>{"use strict";a.exports=require("node:fs")},73928:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{INTERCEPTION_ROUTE_MARKERS:function(){return e},extractInterceptionRouteInformation:function(){return g},isInterceptionRouteAppPath:function(){return f}});let d=c(98723),e=["(..)(..)","(.)","(..)","(...)"];function f(a){return void 0!==a.split("/").find(a=>e.find(b=>a.startsWith(b)))}function g(a){let b,c,f;for(let d of a.split("/"))if(c=e.find(a=>d.startsWith(a))){[b,f]=a.split(c,2);break}if(!b||!c||!f)throw Object.defineProperty(Error("Invalid interception route: "+a+". Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>"),"__NEXT_ERROR_CODE",{value:"E269",enumerable:!1,configurable:!0});switch(b=(0,d.normalizeAppPath)(b),c){case"(.)":f="/"===b?"/"+f:b+"/"+f;break;case"(..)":if("/"===b)throw Object.defineProperty(Error("Invalid interception route: "+a+". Cannot use (..) marker at the root level, use (.) instead."),"__NEXT_ERROR_CODE",{value:"E207",enumerable:!1,configurable:!0});f=b.split("/").slice(0,-1).concat(f).join("/");break;case"(...)":f="/"+f;break;case"(..)(..)":let g=b.split("/");if(g.length<=2)throw Object.defineProperty(Error("Invalid interception route: "+a+". Cannot use (..)(..) marker at the root level or one level up."),"__NEXT_ERROR_CODE",{value:"E486",enumerable:!1,configurable:!0});f=g.slice(0,-2).concat(f).join("/");break;default:throw Object.defineProperty(Error("Invariant: unexpected marker"),"__NEXT_ERROR_CODE",{value:"E112",enumerable:!1,configurable:!0})}return{interceptingRoute:b,interceptedRoute:f}}},74075:a=>{"use strict";a.exports=require("zlib")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},77787:(a,b,c)=>{"use strict";c.d(b,{BeliefEditor:()=>k});var d=c(17016),e=c(65065),f=c(74198),g=c(65862),h=c(61604),i=c(66384);let j={signed:"twin.badgeSigned",standing:"twin.badgeStanding",forming:"twin.badgeForming"};function k({beliefs:a,graveyard:b,proposals:c,unpublished:h,locale:j}){let k=(0,g.kj)(),p=(0,f.useRouter)(),[q,r]=(0,e.useState)(new Map),[s,t]=(0,e.useState)(new Map),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(!1),[y,z]=(0,e.useState)(null),A=(0,e.useMemo)(()=>{let b=new Map;for(let c of a){let a=b.get(c.topic);a?a.push(c):b.set(c.topic,[c])}return[...b]},[a]),B=q.size>0||s.size>0;function C(a,b){r(c=>{let d=new Map(c);return void 0===b?d.delete(a):d.set(a,b),d})}async function D(){x(!0),z(null);let a=[],b=[],c=[];for(let[d,e]of q)"sign"===e.kind?a.push({id:d,...e.statement?{statement:e.statement}:{}}):"veto"===e.kind?b.push(d):c.push({id:d,identity:e.identity});let d=[...s].map(([a,b])=>({id:a,accept:b}));try{let e=await fetch("/api/twin/taste",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sign:a,veto:b,scope:c,resolve:d})}),f=await e.json();if(!e.ok)return void z(f.error??String(e.status));r(new Map),t(new Map),v(null),p.refresh()}catch{z(k("project.unreachable"))}finally{x(!1)}}return(0,d.jsxs)(d.Fragment,{children:[c.length>0&&(0,d.jsxs)("section",{className:"mt-8",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold",children:k("twin.proposalsTitle")}),(0,d.jsx)("p",{className:"mt-1 max-w-2xl text-sm leading-relaxed text-smoke",children:k("twin.proposalsNote")}),(0,d.jsx)("ul",{className:"mt-4 flex flex-col gap-3",role:"list",children:c.map(a=>(0,d.jsxs)("li",{className:`rounded-lg border px-4 py-4 ${s.has(a.id)?"border-l-2 border-l-chalk border-edge":"border-edge"}`,children:[(0,d.jsxs)("p",{className:"eyebrow",children:[l(a.topic,k),a.supersedes&&a.supersedes.length>1?` \xb7 ${k("twin.proposalJoins",{n:a.supersedes.length})}`:""]}),a.supersedes?.map(a=>(0,d.jsx)("p",{className:"mt-1 max-w-2xl text-sm leading-relaxed text-smoke line-through decoration-faint",children:a},a)),(0,d.jsx)("p",{className:"mt-2 max-w-2xl text-base leading-relaxed",children:a.statement}),(0,d.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,d.jsx)(o,{label:k("twin.proposalAccept"),toggle:!0,active:!0===s.get(a.id),onClick:()=>t(m(s,a.id,!0))}),(0,d.jsx)(o,{label:k("twin.proposalReject"),toggle:!0,active:!1===s.get(a.id),onClick:()=>t(m(s,a.id,!1))})]})]},a.id))})]}),A.map(([a,b])=>(0,d.jsxs)("section",{className:"mt-8",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold",children:l(a,k)}),(0,d.jsx)("ul",{className:"mt-4 flex flex-col gap-3",role:"list",children:b.map(a=>(0,d.jsx)(n,{belief:a,locale:j,gesture:q.get(a.id),stranded:"forming"!==a.badge&&h.has(a.id),editing:u===a.id,onEdit:b=>v(b?a.id:null),onGesture:b=>(function(a,b){let c=q.get(a),d=c?.kind==="sign"&&void 0!==c.statement;c&&c.kind===b.kind&&!d?C(a,void 0):C(a,b)})(a.id,b),onWrite:b=>C(a.id,{kind:"sign",statement:b}),translate:k},a.id))})]},a)),b.length>0&&(0,d.jsxs)("section",{className:"mt-8",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold",children:k("twin.graveyardTitle")}),(0,d.jsx)("p",{className:"mt-1 max-w-2xl text-sm leading-relaxed text-smoke",children:k("twin.graveyardNote")}),(0,d.jsx)("ul",{className:"mt-4 flex flex-col gap-2",role:"list",children:b.map(a=>(0,d.jsx)("li",{className:"rounded-lg border border-edge px-4 py-3 opacity-60",children:(0,d.jsx)("p",{className:"text-sm leading-relaxed text-smoke line-through decoration-faint",children:a.statement})},a.id))})]}),B&&(0,d.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,d.jsx)("span",{className:"font-mono text-xs text-smoke",children:k("twin.markedGestures",{n:q.size+s.size})}),(0,d.jsx)(i.rA,{tone:"accent",type:"button",onClick:D,busy:w,busyLabel:k("twin.saving"),children:k("twin.save")}),(0,d.jsx)(i.rA,{tone:"quiet",type:"button",onClick:()=>{r(new Map),t(new Map),v(null)},disabled:w,children:k("twin.cancel")}),y&&(0,d.jsx)("span",{className:"font-mono text-xs text-fail",children:k("twin.saveFailed",{detail:y})})]})]})}function l(a,b){let c=(0,h.Jj)(a);return c?b(c):a}function m(a,b,c){let d=new Map(a);return d.get(b)===c?d.delete(b):d.set(b,c),d}function n({belief:a,locale:b,gesture:c,stranded:f,editing:g,onEdit:k,onGesture:l,onWrite:m,translate:n}){let[p,q]=(0,e.useState)(!1),[r,s]=(0,e.useState)(a.statement),t=c?.kind==="sign"?c.statement:void 0;return(0,d.jsxs)("li",{id:`belief-${a.id}`,tabIndex:-1,className:["scroll-mt-24 rounded-lg border px-4 py-4 transition-colors",c?.kind==="sign"?"border-l-2 border-l-live border-edge bg-live/[0.05]":c?.kind==="veto"?"border-l-2 border-l-faint border-edge opacity-60":void 0!==c?"border-l-2 border-l-chalk border-edge":"border-edge"].join(" "),children:[(0,d.jsxs)("p",{className:"eyebrow",children:[(0,d.jsx)("span",{className:"forming"===a.badge?"text-idle":"",children:n(j[a.badge])}),a.scope?` \xb7 ${n("twin.scopedTag",{project:a.scope})}`:"",f?(0,d.jsx)("span",{className:"text-idle",children:` \xb7 ${n("twin.notInFile")}`}):null]}),f?(0,d.jsx)("p",{className:"mt-1 max-w-2xl text-xs leading-relaxed text-smoke",children:n("twin.notInFileWhy")}):null,g?(0,d.jsxs)("div",{className:"mt-2",children:[(0,d.jsx)(i.fs,{label:n("twin.editText"),hideLabel:!0,rows:3,className:"max-w-2xl",value:r,onChange:a=>s(a.target.value)}),(0,d.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[(0,d.jsx)(o,{label:n("twin.editSave"),active:!0,onClick:()=>{""!==r.trim()&&(m(r.trim()),k(!1))}}),(0,d.jsx)(o,{label:n("twin.cancel"),onClick:()=>{s(a.statement),k(!1)}})]})]}):(0,d.jsx)("p",{className:"mt-1 max-w-2xl text-base leading-relaxed",children:t??a.statement}),(0,d.jsxs)("p",{className:"mt-2 font-mono text-xs text-smoke",children:[a.authored?n("twinTeach.ownerEvidence"):n("twin.support",{observations:a.support.observations,projects:a.support.projects,days:a.support.days}),"forming"===a.badge?(0,d.jsx)("span",{className:"text-idle",children:` \xb7 ${n("twin.formingWhy")}`}):null,a.citations.length>0&&(0,d.jsxs)(d.Fragment,{children:[" \xb7 ",(0,d.jsx)("button",{type:"button",onClick:()=>q(a=>!a),className:"underline-offset-2 hover:underline",children:n(p?"twin.hideCitations":"twin.showCitations",{n:a.citations.length})})]})]}),p&&(0,d.jsx)("ul",{className:"mt-3 flex flex-col gap-2.5 border-l border-edge pl-3",role:"list",children:a.citations.map(a=>(0,d.jsxs)("li",{children:[(0,d.jsxs)("p",{className:"line-clamp-2 text-sm italic leading-snug text-smoke",title:a.quote,children:["\xab",a.quote,"\xbb"]}),(0,d.jsxs)("p",{className:"mt-0.5 font-mono text-xs text-faint",children:[(0,h.mL)(a.at,b),a.project?` \xb7 ${n("twin.citedIn",{project:a.project})}`:""]})]},a.verdictId))}),!g&&(0,d.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:["signed"!==a.badge&&(0,d.jsx)(o,{label:n("twin.sign"),toggle:!0,active:c?.kind==="sign"&&void 0===t,onClick:()=>l({kind:"sign"})}),(0,d.jsx)(o,{label:n("twin.edit"),toggle:!0,active:void 0!==t,onClick:()=>{s(t??a.statement),k(!0)}}),(0,d.jsx)(o,{label:n("twin.veto"),toggle:!0,active:c?.kind==="veto",onClick:()=>l({kind:"veto"})}),a.scope?(0,d.jsx)(o,{label:n("twin.scopeAll"),toggle:!0,active:c?.kind==="scope"&&null===c.identity,onClick:()=>l({kind:"scope",identity:null})}):a.learnedIn?(0,d.jsx)(o,{label:n("twin.scopeOnly",{project:a.learnedIn.name}),toggle:!0,active:c?.kind==="scope",onClick:()=>l({kind:"scope",identity:a.learnedIn?.identity??null})}):null]})]})}function o({label:a,active:b,toggle:c=!1,onClick:e}){return(0,d.jsx)(i.rA,{tone:b?"accent":"plain",type:"button",...c?{"aria-pressed":b??!1}:{},onClick:e,children:a})}},79428:a=>{"use strict";a.exports=require("buffer")},79646:a=>{"use strict";a.exports=require("child_process")},79748:a=>{"use strict";a.exports=require("fs/promises")},80314:(a,b,c)=>{"use strict";c.d(b,{Jj:()=>e,qC:()=>f});let d={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 e(a){return d[a]}function f(a,b={}){var c;let d=b.names??{},e=a.identity?d[a.identity]:void 0,g="signed"===a.state?"signed":!0===b.stands?"standing":"forming",h=Array.isArray(c=a.citations)?c.flatMap(a=>{if("object"!=typeof a||null===a)return[];let b="string"==typeof a.quote?a.quote:void 0,c="string"==typeof a.at?a.at:void 0;if(!b||!c)return[];let d="string"==typeof a.project?a.project:void 0;return[{verdictId:"string"==typeof a.verdictId?a.verdictId:`${b}${c}`,quote:b,at:c,...d?{project:d}:{}}]}):[];return{id:a.id,topic:a.topic,statement:a.statement,badge:g,..."owner"===a.model?{authored:!0}:{},support:function(a){if("object"!=typeof a||null===a)return{observations:0,projects:0,days:0};let b=b=>"number"==typeof a[b]?Math.max(0,a[b]):0;return{observations:b("observations"),projects:b("projects"),days:b("days")}}(a.support),...e?{scope:e}:{},...e?{}:function(a,b){let c=new Set(a.map(a=>a.project??""));if(1!==c.size)return{};let d=[...c][0],e=b[d];return e?{learnedIn:{identity:e,name:d}}:{}}(h,b.identities??{}),...b.supersedes&&b.supersedes.length>0?{supersedes:b.supersedes}:{},updatedAt:"string"==typeof a.updatedAt?a.updatedAt:a.updatedAt.toISOString(),citations:h}}},81085:(a,b,c)=>{"use strict";c.d(b,{BeliefEditor:()=>d});let d=(0,c(61746).registerClientReference)(function(){throw Error("Attempted to call BeliefEditor() from the server but BeliefEditor is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/private/tmp/panoma-0.10.2/apps/web/components/belief-editor.tsx","BeliefEditor")},81630:a=>{"use strict";a.exports=require("http")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},86732:(a,b,c)=>{"use strict";c.d(b,{TwinLab:()=>d});let d=(0,c(61746).registerClientReference)(function(){throw Error("Attempted to call TwinLab() from the server but TwinLab is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/private/tmp/panoma-0.10.2/apps/web/components/twin-lab.tsx","TwinLab")},87842:(a,b)=>{"use strict";function c(a){return a.startsWith("/")?a:"/"+a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ensureLeadingSlash",{enumerable:!0,get:function(){return c}})},88885:(a,b,c)=>{"use strict";c.d(b,{TwinSources:()=>i});var d=c(17016),e=c(65065),f=c(74198),g=c(65862),h=c(66384);function i({sources:a}){let b=(0,g.kj)(),c=(0,f.useRouter)(),[i,j]=(0,e.useState)(null),[k,l]=(0,e.useState)(null),[m,n]=(0,e.useState)(a);async function o(a,d){j(a),l(null);try{let b=await fetch("/api/twin/sources",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:a,allowed:d})}),e=await b.json();if(!b.ok)return void l(e.error??String(b.status));e.sources&&n(e.sources),c.refresh()}catch{l(b("project.unreachable"))}finally{j(null)}}let p=m.filter(a=>"absent"!==a.state);return 0===p.length?(0,d.jsxs)(h.Zp,{as:"section",tone:"plain","aria-labelledby":"twin-sources-title",children:[(0,d.jsx)("h2",{id:"twin-sources-title",className:"text-base font-semibold",children:b("twin.sourcesTitle")}),(0,d.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed",children:b("twin.sourcesNone")})]}):(0,d.jsxs)(h.Zp,{as:"section",tone:"plain","aria-labelledby":"twin-sources-title",children:[(0,d.jsx)("h2",{id:"twin-sources-title",className:"text-base font-semibold",children:b("twin.sourcesTitle")}),(0,d.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed",children:b("twin.sourcesLead")}),(0,d.jsx)("div",{className:"mt-3 flex flex-col gap-2",children:p.map(a=>(0,d.jsxs)("div",{className:"grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-4 gap-y-1",children:[(0,d.jsxs)("span",{className:"min-w-0",children:[(0,d.jsx)("span",{className:"font-mono text-xs",children:a.label})," ",(0,d.jsx)("span",{className:"font-mono text-xs text-smoke",children:a.present?b("twin.sourceSize",{files:a.files,size:(0,h.z3)(a.bytes)}):b("twin.sourceGone")})]}),"noReader"===a.state?(0,d.jsx)("span",{className:"justify-self-end font-mono text-xs text-idle",children:b("twin.sourceNoReader")}):(0,d.jsx)(h.rA,{tone:"allowed"===a.state?"plain":"accent",type:"button",onClick:()=>o(a.id,"allowed"!==a.state),busy:i===a.id,busyLabel:b("twin.saving"),disabled:null!==i,className:"justify-self-end",children:b("allowed"===a.state?"twin.sourceRevoke":"twin.sourceAllow")})]},a.id))}),(0,d.jsx)("p",{className:"mt-3 max-w-2xl font-mono text-xs text-faint",children:b("twin.sourcesRevokeNote")}),k&&(0,d.jsx)(h.lZ,{text:k,className:"mt-2"})]})}},90635:(a,b,c)=>{"use strict";c.d(b,{TwinSynthesize:()=>i});var d=c(17016),e=c(65065),f=c(74198),g=c(65862),h=c(66384);function i({pending:a,ready:b,compact:c}){let i=(0,g.kj)(),j=(0,f.useRouter)(),[k,l]=(0,e.useState)(!1),[m,n]=(0,e.useState)(null);async function o(){l(!0),n(null);try{let b=0;if(a>0){let a=await fetch("/api/twin/classify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),c=await a.json();if(!a.ok)return void n(c.error??i("twin.synthFailed"));b+=c.truncated??0}let c=await fetch("/api/twin/synthesize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),d=await c.json();if(!c.ok)return void n(d.error??i("twin.synthFailed"));b+=d.truncated??0;let e=d.created??0,f=d.refined??0,g=d.retired??0,h=d.proposed??0,k=e+f+g+h,l=d.unchanged??0,m=0===d.topics?l>0?i("twin.synthUpToDate"):i("twin.synthNothing"):i("twin.synthSame"),o=i("twin.synthDone",{created:e,refined:f,retired:g}),p=0===k?m:0===h?o:`${o} ${i("twin.synthAsks",{n:h})}`;n(b>0?`${p} ${i("twin.synthTruncated",{n:b})}`:p),j.refresh()}catch{n(i("project.unreachable"))}finally{l(!1)}}return(0,d.jsxs)("div",{className:c?"flex items-center gap-2":"mt-3 flex flex-col gap-1",children:[(0,d.jsx)(h.rA,{tone:"plain",type:"button",onClick:o,busy:k,busyLabel:i("twin.synthesizing"),disabled:!b,"aria-describedby":b?void 0:"twin-synth-why",className:"self-start",children:i("twin.synthesize")}),b?(0,d.jsx)("div",{role:"status","aria-live":"polite",children:m?(0,d.jsx)("p",{className:"font-mono text-xs text-smoke",children:m}):c?null:(0,d.jsx)("p",{className:"text-xs leading-relaxed text-smoke",children:i("twin.synthHint")})}):(0,d.jsx)("p",{id:"twin-synth-why",className:"text-xs leading-relaxed text-smoke",children:i("twin.synthNothing")})]})}},94304:(a,b,c)=>{"use strict";c.d(b,{TwinMemory:()=>d});let d=(0,c(61746).registerClientReference)(function(){throw Error("Attempted to call TwinMemory() from the server but TwinMemory is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/private/tmp/panoma-0.10.2/apps/web/components/twin-memory.tsx","TwinMemory")},98723:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{normalizeAppPath:function(){return f},normalizeRscURL:function(){return g}});let d=c(87842),e=c(53392);function f(a){return(0,d.ensureLeadingSlash)(a.split("/").reduce((a,b,c,d)=>!b||(0,e.isGroupSegment)(b)||"@"===b[0]||("page"===b||"route"===b)&&c===d.length-1?a:a+"/"+b,""))}function g(a){return a.replace(/\.rsc($|\?)/,"$1")}},99232:(a,b,c)=>{"use strict";c.d(b,{d:()=>g,q:()=>f});var d=c(62490);let e=a=>null!=a&&!1!==a;function f({eyebrow:a,title:b,lead:c,note:f,headExtra:g,measure:h="text",children:i}){return(0,d.jsx)("main",{id:"app-main",tabIndex:-1,className:`app-main page-shell page-shell--${h}`,children:(0,d.jsxs)("div",{className:"page-shell__inner",children:[e(a)||e(b)||e(c)||e(f)||e(g)?(0,d.jsxs)("header",{className:"page-shell__head",children:[e(a)?(0,d.jsx)("p",{className:"eyebrow",children:a}):null,e(b)?(0,d.jsx)("h1",{className:"page-shell__title",children:b}):null,e(c)?(0,d.jsx)("p",{className:"page-shell__lead",children:c}):null,e(f)?(0,d.jsx)("p",{className:"page-shell__note",children:f}):null,g]}):null,i]})})}function g({id:a,title:b,labelledBy:c,children:f}){return(0,d.jsxs)("section",{...a?{id:a,tabIndex:-1}:{},...c&&!e(b)?{"aria-labelledby":c}:{},className:`page-shell__section${a?" scroll-mt-24":""}`,children:[e(b)?(0,d.jsx)("h2",{className:"eyebrow page-shell__section-title",children:b}):null,f]})}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2387,987,9938,1646,8463,3171,6913,1214,7245,4810,4478,2658,6131,1454,6384,993],()=>b(b.s=18297));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=1162,a.ids=[1162],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1708:a=>{"use strict";a.exports=require("node:process")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3912:(a,b,c)=>{"use strict";c.d(b,{TwinDistill:()=>d});let d=(0,c(61746).registerClientReference)(function(){throw Error("Attempted to call TwinDistill() from the server but TwinDistill is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/private/tmp/panoma-0.10.3/apps/web/components/twin-distill.tsx","TwinDistill")},4984:a=>{"use strict";a.exports=require("readline")},8217:(a,b,c)=>{"use strict";c.d(b,{TwinMemory:()=>q});var d=c(17016),e=c(65065),f=c(74198),g=c(45157),h=c(65862),i=c(66384);let j=["goal","context","constraints","alternatives","decision","rationale","outcome","conditions","exceptions"],k={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 l(a){return a.fields.decision?.text.trim()||a.fields.goal?.text.trim()||a.fields.context?.text.trim()||null}function m(a,b=Date.now()){return null!==a.validUntil&&Date.parse(a.validUntil)<=b}let n={opening:"twinMemory.kindOpening",reaction:"twinMemory.kindReaction",brief:"twinMemory.kindBrief"};async function o(a,b,c){let d=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),e=await d.json();if(!d.ok)throw Error([e.error??c,e.hint].filter(Boolean).join(" "));return e}function p(a,b){return a instanceof Error?a.message:b("project.unreachable")}function q({projects:a,episodes:b,coverage:c,dailyCalls:f,focusId:j,olderCursor:k,conflicts:l}){let m=(0,h.kj)(),n=b.find(a=>a.id===j)?.status==="dismissed",[o,q]=(0,e.useState)(n),[v,w]=(0,e.useState)(null),[x,y]=(0,e.useState)(null),[z,A]=(0,e.useState)(null),[B,C]=(0,e.useState)(null),D=(0,e.useRef)(!1),[E,F]=(0,e.useState)(b),[G,H]=(0,e.useState)(b),[I,J]=(0,e.useState)(k),[K,L]=(0,e.useState)(""),[M,N]=(0,e.useState)(""),[O,P]=(0,e.useState)(null),[Q,R]=(0,e.useState)(null),S=(0,e.useRef)(!1);E!==b&&(F(b),H(b),J(k));let T=G.filter(a=>o||"active"===a.status),U=G.filter(a=>"dismissed"===a.status).length;function V(b){return{...b,projectName:b.identity?a.find(a=>a.identity===b.identity)?.label??null:null}}async function W(a,b){let c=new URLSearchParams;a&&c.set("q",a),b&&c.set("before",b);let d=c.toString(),e=await fetch(`/api/twin/episodes${d?`?${d}`:""}`),f=await e.json();if(!e.ok||!Array.isArray(f.episodes))throw Error(f.error??m("twinMemory.requestFailed"));return{episodes:f.episodes.map(V),nextCursor:f.nextCursor??null}}async function X(a){if(S.current)return;let c=a.trim();if(!c){N(""),H(b),J(k),R(null);return}S.current=!0,P("search"),R(null);try{let a=await W(c,null);N(c),H(a.episodes),J(a.nextCursor)}catch(a){R(p(a,m))}finally{S.current=!1,P(null)}}async function Y(){if(!S.current&&I){S.current=!0,P("older"),R(null);try{let a=await W(M,I);H(b=>{let c=new Set(b.map(a=>a.id));return[...b,...a.episodes.filter(a=>!c.has(a.id))]}),J(a.nextCursor)}catch(a){R(p(a,m))}finally{S.current=!1,P(null)}}}return(0,d.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,d.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,d.jsxs)("div",{className:"max-w-2xl",children:[(0,d.jsxs)("p",{className:"flex items-center gap-2 font-mono text-xs text-smoke",children:[(0,d.jsx)(g.lPA,{"aria-hidden":!0,className:"h-4 w-4"}),m("twinMemory.eyebrow")]}),(0,d.jsx)("h2",{id:"twin-memory-title",className:"mt-2 text-base font-semibold",children:m("twinMemory.title")}),(0,d.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-smoke",children:m("twinMemory.lead")})]}),(0,d.jsxs)("div",{className:"rounded-lg border border-edge bg-ground px-3 py-2 font-mono text-xs text-smoke",children:[(0,d.jsx)("p",{children:m("twinMemory.captured",{n:c.total})}),(0,d.jsx)("p",{className:"mt-1",children:m("twinMemory.awaiting",{n:c.pending})})]})]}),(0,d.jsxs)("div",{className:"grid lg:grid-cols-[1.3fr_1fr]",children:[(0,d.jsx)(s,{projects:a,revision:v,blocked:x,dirty:D,savedMessage:z,onCancel:()=>{w(null),y(null),A(null)},onClear:()=>{w(x),y(null)},onSaved:()=>{A(m(v?"twinMemory.savedRevision":"twinMemory.savedNew")),w(null),y(null)}}),(0,d.jsx)(t,{pendingCount:c.pending,deferred:c.deferred,dailyCalls:f})]}),l.length>0&&(0,d.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,d.jsx)("h3",{id:"twin-competing-title",className:"text-base font-semibold",children:m("twinMemory.competingTitle")}),(0,d.jsx)("p",{className:"mt-2 max-w-2xl text-xs leading-relaxed text-smoke",children:m("twinMemory.competingLead")}),(0,d.jsx)("p",{className:"mt-2 font-mono text-xs text-smoke",children:m("twinMemory.competingFamilies",{n:l.length})}),(0,d.jsx)("ul",{className:"mt-4 grid items-start gap-3 xl:grid-cols-2",role:"list",children:l.map(a=>(0,d.jsx)(r,{family:a},a.map(a=>a.id).join(",")))})]}),(0,d.jsxs)("div",{className:"border-t border-edge px-5 py-5 sm:px-6",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,d.jsx)("h3",{className:"text-base font-semibold",children:m("twinMemory.recentTitle")}),U>0&&(0,d.jsx)(i.Jl,{size:"sm",checked:o,onChange:a=>q(a.target.checked),children:m("twinMemory.includeDismissed",{n:U})})]}),(0,d.jsxs)("form",{role:"search","aria-busy":"search"===O,className:"mt-3 flex flex-wrap items-end gap-2",onSubmit:a=>{a.preventDefault(),X(K)},children:[(0,d.jsx)(i.D0,{label:m("twinMemory.searchLabel"),className:"min-w-0 grow sm:max-w-md",type:"search",value:K,maxLength:200,disabled:null!==O,"aria-describedby":"memory-search-hint",onChange:a=>{L(a.target.value),!a.target.value.trim()&&M&&X("")}}),(0,d.jsx)(i.rA,{type:"submit",tone:"surface",busy:"search"===O,busyLabel:m("twinMemory.searching"),disabled:null!==O,children:m("twinMemory.search")}),M&&(0,d.jsx)(i.rA,{type:"button",tone:"plain",disabled:null!==O,onClick:()=>{L(""),X("")},children:m("twinMemory.clearSearch")})]}),(0,d.jsx)("p",{id:"memory-search-hint",className:"mt-1 text-xs leading-relaxed text-smoke",children:m("twinMemory.searchHint")}),Q&&(0,d.jsx)(i.lZ,{text:Q,className:"mt-2"}),(0,d.jsx)("p",{className:"mt-3 text-xs text-smoke",children:M?m("twinMemory.shownMatches",{query:M,n:T.length}):m("twinMemory.shown",{n:T.length})}),0===T.length&&M?(0,d.jsx)(i.pp,{variant:"note",role:"status",className:"mt-4",title:m("twinMemory.noMatches",{query:M})}):0===T.length?(0,d.jsx)(i.pp,{className:"mt-4",title:m("twinMemory.emptyTitle"),children:m("twinMemory.emptyBody")}):(0,d.jsx)("ul",{className:"mt-4 grid items-start gap-3 xl:grid-cols-2",role:"list",children:T.map(a=>(0,d.jsx)(u,{episode:a,previousAvailable:!!(a.supersedesId&&G.some(b=>b.id===a.supersedesId)),hasActiveSuccessor:!!a.activeRevisionId,onPrevious:()=>{q(!0),C(a.supersedesId??null),document.getElementById(`episode-${a.supersedesId}`)?.focus()},onRevise:()=>{A(null),a.id!==v?.id&&(D.current?y(a):(y(null),w(a))),document.getElementById("memory-capture-form")?.scrollIntoView({block:"start",behavior:"instant"})}},a.id))}),I&&(0,d.jsx)(i.rA,{type:"button",tone:"surface",className:"mt-4",busy:"older"===O,busyLabel:m("twinMemory.loadingOlder"),disabled:null!==O,onClick:()=>void Y(),children:m("twinMemory.loadOlder")}),(0,d.jsx)("p",{className:"mt-4 text-xs leading-relaxed text-smoke",children:m("twinMemory.boundary")})]})]})}function r({family:a}){let b=(0,h.kj)(),c=(0,f.useRouter)(),[g,j]=(0,e.useState)(null),[k,m]=(0,e.useState)(null),n=(0,e.useRef)(!1);async function q(d){if(n.current)return;n.current=!0,j(d.id),m(null);let e=!1;try{for(let c of a)c.id!==d.id&&(await o("/api/twin/episodes",{id:c.id,status:"dismissed",expectedUpdatedAt:c.updatedAt},b("twinMemory.requestFailed")),e=!0)}catch(a){m(p(a,b))}finally{n.current=!1,j(null),e&&c.refresh()}}return(0,d.jsxs)("li",{className:"min-w-0 rounded-lg border border-edge bg-ground p-4",children:[(0,d.jsx)("ol",{className:"space-y-3",role:"list",children:a.map(a=>(0,d.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,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("p",{className:"flex flex-wrap gap-x-2 gap-y-1 font-mono text-[11px] text-smoke",children:[(0,d.jsx)("span",{children:b("owner"===a.origin?"twinMemory.byOwner":"twinMemory.fromHistory")}),(0,d.jsxs)("span",{children:["\xb7 ",a.projectName??b(a.identity?"twinMemory.unlinkedProject":"twinMemory.noProject")]}),(0,d.jsxs)("time",{dateTime:a.createdAt,children:["\xb7 ",a.createdAt.slice(0,10)]})]}),(0,d.jsx)("p",{className:"mt-1 line-clamp-3 break-words text-sm leading-relaxed",children:l(a)??b("twinMemory.untitled")}),(0,d.jsx)("a",{href:`#episode-${a.id}`,className:"mt-1 inline-block text-xs underline underline-offset-4",children:b("twinMemory.explore")})]}),(0,d.jsx)(i.rA,{type:"button",tone:"surface",busy:g===a.id,busyLabel:b("twinMemory.keeping"),disabled:null!==g,onClick:()=>void q(a),children:b("twinMemory.keepThis")})]},a.id))}),k&&(0,d.jsx)(i.lZ,{text:k,className:"mt-3"})]})}function s({projects:a,revision:b,blocked:c,dirty:g,savedMessage:l,onSaved:m,onCancel:n,onClear:q}){let r=(0,h.kj)(),s=(0,f.useRouter)(),[t,u]=(0,e.useState)({}),[v,w]=(0,e.useState)(""),[x,y]=(0,e.useState)(new Set),[z,A]=(0,e.useState)(null),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)(null),[H,I]=(0,e.useState)(!1),J=(0,e.useRef)(!1),K=(0,e.useRef)(null),L=!!(t.goal?.trim()||t.decision?.trim()),M=j.filter(a=>"goal"!==a&&"decision"!==a),N=M.filter(a=>x.has(a)||!!t[a]?.trim()),O=M.filter(a=>!N.includes(a));async function P(a){if(a.preventDefault(),!J.current&&L){J.current=!0,E(!0),G(null);try{await o("/api/twin/episodes",{fields:t,...B?{validUntil:B}:{},...b?{replacesId:b.id,expectedUpdatedAt:b.updatedAt}:v?{slug:v}:{}},r("twinMemory.requestFailed")),u({}),y(new Set),A(null),C(""),I(!1),g.current=!1,m(),s.refresh()}catch(a){G(p(a,r))}finally{J.current=!1,E(!1)}}}function Q(a){let b=t[a]??"";return(0,d.jsxs)("div",{children:[(0,d.jsx)(i.fs,{label:r(k[a].label),id:`memory-${a}`,value:b,maxLength:1200,rows:"decision"===a?3:2,disabled:D,placeholder:r(k[a].hint),"aria-describedby":`memory-${a}-count`,onChange:b=>{u(c=>({...c,[a]:b.target.value})),I(!0),g.current=!0}}),(0,d.jsx)("p",{id:`memory-${a}-count`,className:"mt-1 text-right font-mono text-[11px] text-smoke",children:r("twinMemory.characters",{n:b.length,max:1200})})]},a)}return b?.identity&&a.find(a=>a.identity===b.identity)?.slug,(0,d.jsxs)("form",{id:"memory-capture-form",ref:K,onSubmit:P,"aria-busy":D,"aria-labelledby":"memory-capture-title",className:"min-w-0 scroll-mt-24 px-5 py-5 sm:px-6",children:[(0,d.jsx)("h3",{id:"memory-capture-title",className:"text-base font-semibold",children:r(b?"twinMemory.reviseTitle":"twinMemory.captureTitle")}),(0,d.jsx)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:r(b?"twinMemory.reviseHint":"twinMemory.captureHint")}),(0,d.jsx)("div",{role:"status","aria-live":"polite",children:c&&(0,d.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,d.jsx)("p",{className:"text-xs leading-relaxed text-smoke",children:r("twinMemory.unsavedDraft")}),(0,d.jsx)(i.rA,{type:"button",tone:"surface",disabled:D,onClick:q,children:r("twinMemory.clearDraft")})]})}),(0,d.jsxs)("div",{className:"mt-4 space-y-3",children:[Q("goal"),Q("decision"),(0,d.jsxs)(i.l6,{label:r("twinMemory.projectContext"),value:v,disabled:D||null!==b,onChange:a=>w(a.target.value),children:[(0,d.jsx)("option",{value:"",children:b?.identity&&!v?b.projectName??r("twinMemory.originalProject"):r("twinMemory.noProject")}),a.map(a=>(0,d.jsx)("option",{value:a.slug,children:a.label},a.slug))]}),(0,d.jsxs)("div",{children:[(0,d.jsx)(i.D0,{label:r("twinMemory.validUntilLabel"),type:"date",value:B,disabled:D,"aria-describedby":"memory-valid-until-hint",onChange:a=>{C(a.target.value),I(!0),g.current=!0}}),(0,d.jsx)("p",{id:"memory-valid-until-hint",className:"mt-1 text-xs leading-relaxed text-smoke",children:r("twinMemory.validUntilHint")})]}),N.map(Q),O.length>0&&(0,d.jsxs)("div",{className:"rounded-lg border border-edge px-3 py-3",children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:r("twinMemory.moreFields")}),(0,d.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:O.map(a=>(0,d.jsx)(i.rA,{type:"button",tone:"surface",disabled:D,"aria-label":r("twinMemory.addField",{field:r(k[a].label).toLocaleLowerCase()}),onClick:()=>{y(b=>new Set(b).add(a)),A(a)},children:r(k[a].label)},a))})]})]}),(0,d.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-3",children:[(0,d.jsx)(i.rA,{type:"submit",tone:"accent",busy:D,busyLabel:r("twinMemory.saving"),disabled:D||!L,children:r(b?"twinMemory.saveRevision":"twinMemory.saveEpisode")}),b&&(0,d.jsx)(i.rA,{type:"button",tone:"plain",disabled:D,onClick:n,children:r("twinMemory.cancelRevision")}),(0,d.jsx)("span",{className:"text-xs text-smoke",children:r("twinMemory.localSave")})]}),F&&(0,d.jsx)(i.lZ,{text:F,className:"mt-3"}),(0,d.jsx)("div",{role:"status","aria-live":"polite",children:l&&!H&&(0,d.jsx)("p",{className:"mt-3 text-sm text-smoke",children:l})})]})}function t({pendingCount:a,deferred:b,dailyCalls:c}){let j=(0,h.kj)(),k=(0,f.useRouter)(),[l,m]=(0,e.useState)(null),[n,q]=(0,e.useState)(null),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(null),v=(0,e.useRef)(!1),w=c>0&&a>0?Math.max(1,Math.ceil(a/(12*c))):null;async function x(a){if(v.current||"learn"===a&&(!n||!n.selected||n.remainingCalls<n.calls))return;v.current=!0,m(a),s(null),u(null);let b=j("twinMemory.requestFailed");try{if("capture"===a){let a=await o("/api/twin/mine",{captureNarratives:!0},b);q(null),u([j("twinMemory.capturedNew",{n:a.narrativesSaved??0}),a.saved?j("twin.minedQuotes",{n:a.saved}):"",a.denied?.length?j("twinMemory.capturedDenied",{n:a.denied.length}):"",a.narrativesUnmatched?j("twinMemory.capturedUnmatched",{n:a.narrativesUnmatched}):"",a.narrativesUndated?j("twinMemory.capturedUndated",{n:a.narrativesUndated}):""].filter(Boolean).join(" ")),k.refresh()}else if("preview"===a)q(await o("/api/twin/episodes/learn",{dryRun:!0},b));else{let a=await o("/api/twin/episodes/learn",{},b);q(null),u([j("twinMemory.learnStored",{stored:a.stored??0,processed:a.processed??0,remaining:a.remaining??0}),a.dropped?j("twinMemory.learnDropped",{n:a.dropped}):"",a.failed?j("cut"===a.failed.reason?"twinMemory.learnCut":"twinMemory.learnUnsupported"):"",a.failed?j("twinMemory.learnDeferred",{n:a.failed.records}):""].filter(Boolean).join(" ")),k.refresh()}}catch(b){s(p(b,j)),"learn"===a&&(q(null),k.refresh())}finally{v.current=!1,m(null)}}return(0,d.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!==l,children:[(0,d.jsxs)("h3",{className:"flex items-center gap-2 text-base font-semibold",children:[(0,d.jsx)(g.tZt,{"aria-hidden":!0,className:"h-4 w-4 text-smoke"}),j("twinMemory.learnTitle")]}),(0,d.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-smoke",children:j("twinMemory.learnLead")}),(0,d.jsxs)("div",{className:"mt-5 rounded-lg border border-edge bg-surface p-4",children:[(0,d.jsx)("p",{className:"font-mono text-xs text-smoke",children:j("twinMemory.step1")}),(0,d.jsx)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:j("twinMemory.step1Hint")}),(0,d.jsxs)(i.rA,{type:"button",tone:"surface",className:"mt-3",busy:"capture"===l,busyLabel:j("twinMemory.capturing"),disabled:null!==l,onClick:()=>void x("capture"),children:[(0,d.jsx)(g.Dho,{"aria-hidden":!0,className:"h-4 w-4"}),j("twinMemory.capture")]}),(0,d.jsx)("p",{className:"mt-2 text-xs text-smoke",children:j("twinMemory.noCall")})]}),(0,d.jsxs)("div",{className:"mt-3 rounded-lg border border-edge bg-surface p-4",children:[(0,d.jsx)("p",{className:"font-mono text-xs text-smoke",children:j("twinMemory.step2")}),(0,d.jsx)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:j("twinMemory.step2Hint")}),(0,d.jsx)(i.rA,{type:"button",tone:"surface",className:"mt-3",busy:"preview"===l,busyLabel:j("twinMemory.previewing"),disabled:null!==l,onClick:()=>void x("preview"),children:j("twinMemory.preview")}),!n&&(0,d.jsxs)("div",{className:"mt-2 space-y-1 text-xs text-smoke",children:[(0,d.jsx)("p",{children:j("twinMemory.awaiting",{n:a})}),b>0&&(0,d.jsx)("p",{children:j("twinMemory.deferred",{n:b})}),c>0?(0,d.jsx)("p",{children:j("twinMemory.passReads",{n:24})}):(0,d.jsx)("p",{children:j("twinMemory.extractionOff")}),null!==w&&(0,d.jsx)("p",{children:j("twinMemory.queueDays",{n:w})})]}),n&&(0,d.jsxs)("div",{className:"mt-4 border-t border-edge pt-4",children:[(0,d.jsxs)("dl",{className:"grid grid-cols-[1fr_auto] gap-x-3 gap-y-2 text-xs",children:[(0,d.jsx)("dt",{className:"text-smoke",children:j("twinMemory.selected")}),(0,d.jsx)("dd",{className:"font-mono",children:n.selected}),(0,d.jsx)("dt",{className:"text-smoke",children:j("twinMemory.inputTokens")}),(0,d.jsx)("dd",{className:"font-mono",children:n.inputTokens}),(0,d.jsx)("dt",{className:"text-smoke",children:j("twinMemory.outputTokens")}),(0,d.jsx)("dd",{className:"font-mono",children:n.outputTokens}),(0,d.jsx)("dt",{className:"text-smoke",children:j("twinMemory.calls")}),(0,d.jsx)("dd",{className:"font-mono",children:n.calls}),(0,d.jsx)("dt",{className:"text-smoke",children:j("twinMemory.remainingCalls")}),(0,d.jsx)("dd",{className:"font-mono",children:n.remainingCalls})]}),n.contextOnly>0&&(0,d.jsx)("p",{className:"mt-2 text-xs text-smoke",children:j("twinMemory.contextOnly",{n:n.contextOnly})}),(n.retrying??0)>0&&(0,d.jsx)("p",{className:"mt-2 text-xs text-smoke",children:j("twinMemory.learnRetrying",{n:n.retrying??0})}),(n.provider||n.model)&&(0,d.jsx)("p",{className:"mt-3 break-words font-mono text-[11px] text-smoke",children:[n.provider,n.model].filter(Boolean).join(" / ")}),0===n.selected?(0,d.jsx)(i.pp,{variant:"note",className:"mt-3",title:j("twinMemory.nothingUnread")}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.rA,{type:"button",tone:"accent",className:"mt-4",busy:"learn"===l,busyLabel:j("twinMemory.learning"),disabled:null!==l||n.remainingCalls<n.calls,onClick:()=>void x("learn"),children:j("twinMemory.learn")}),(0,d.jsx)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:j(n.remainingCalls<n.calls?"twinMemory.budgetShort":"twinMemory.learnCost")})]})]})]}),r&&(0,d.jsx)(i.lZ,{text:r,className:"mt-3"}),(0,d.jsx)("p",{role:"status","aria-live":"polite",className:"mt-3 text-xs leading-relaxed text-smoke",children:"learn"===l?j("twinMemory.extracting"):t})]})}function u({episode:a,onRevise:b,previousAvailable:c,hasActiveSuccessor:g,onPrevious:q}){let r=(0,h.kj)(),s=(0,h.Ym)(),t=(0,f.useRouter)(),{recorded:u,missing:v}=function(a){let b=j.filter(b=>!!a.fields[b]?.text.trim());return{recorded:b,missing:j.filter(a=>!b.includes(a))}}(a),[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)(null),[A,B]=(0,e.useState)(null),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)(null),[G,H]=(0,e.useState)(null),[I,J]=(0,e.useState)(a.validUntil),[K,L]=(0,e.useState)(a.validUntil?.slice(0,10)??"");I!==a.validUntil&&(J(a.validUntil),L(a.validUntil?.slice(0,10)??""));let M=(0,e.useRef)(!1),N=(0,e.useRef)(!1),O=(0,e.useRef)(null),P=u.some(b=>!!a.fields[b]?.narrativeId),Q=l(a)??r("twinMemory.untitled"),R=a=>a.map(a=>r(k[a].label).toLocaleLowerCase()).join(", "),S="dismissed"===a.status&&!g,T="active"===a.status&&g,U=m(a),V=a.validUntil?new Date(a.validUntil).toLocaleDateString(s,{timeZone:"UTC"}):null;async function W(){if(!M.current){M.current=!0,x("status"),z(null);try{await o("/api/twin/episodes",{id:a.id,status:"active"===a.status?"dismissed":"active",expectedUpdatedAt:a.updatedAt},r("twinMemory.requestFailed")),t.refresh()}catch(a){z(p(a,r))}finally{M.current=!1,x(null)}}}async function X(b){if(!M.current){M.current=!0,x(null===b?"clearExpiry":"expiry"),z(null);try{await o("/api/twin/episodes",{id:a.id,validUntil:b,expectedUpdatedAt:a.updatedAt},r("twinMemory.requestFailed")),t.refresh()}catch(a){z(p(a,r))}finally{M.current=!1,x(null)}}}async function Y(){if(null===A&&!N.current){N.current=!0,D(!0),F(null);try{let b=await fetch(`/api/twin/episodes?id=${encodeURIComponent(a.id)}`),c=await b.json();if(!b.ok||!Array.isArray(c.evidence))throw Error(c.error??r("twinMemory.evidenceFailed"));B(c.evidence)}catch(a){F(p(a,r))}finally{N.current=!1,D(!1)}}}return(0,d.jsxs)("li",{id:`episode-${a.id}`,tabIndex:-1,className:"min-w-0 scroll-mt-24 rounded-lg border border-edge bg-ground p-4",children:[(0,d.jsxs)("p",{className:"flex flex-wrap gap-x-2 gap-y-1 font-mono text-[11px] text-smoke",children:[(0,d.jsx)("span",{children:r("owner"===a.origin?"twinMemory.byOwner":"twinMemory.fromHistory")}),(0,d.jsxs)("span",{children:["\xb7 ",a.projectName??r(a.identity?"twinMemory.unlinkedProject":"twinMemory.noProject")]}),"dismissed"===a.status&&(0,d.jsxs)("span",{children:["\xb7 ",r("twinMemory.dismissed")]})]}),(0,d.jsx)("h4",{className:"mt-2 line-clamp-3 break-words text-sm font-medium leading-relaxed",children:Q}),a.supersedesId&&(0,d.jsx)("p",{className:"mt-2 text-xs text-smoke",children:c?(0,d.jsx)("a",{href:`#episode-${a.supersedesId}`,onClick:q,className:"underline underline-offset-4",children:r("twinMemory.previousVersion")}):(0,d.jsxs)("a",{href:`/twin?episode=${encodeURIComponent(a.supersedesId)}#episode-${a.supersedesId}`,className:"underline underline-offset-4",children:[r("twinMemory.previousVersion")," ",(0,d.jsx)("span",{className:"sr-only",children:r("twinMemory.outsideView")})]})}),(0,d.jsx)("p",{className:"mt-3 font-mono text-[11px] text-smoke",children:r("twinMemory.recorded",{list:R(u)})}),(0,d.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-smoke",children:r("dismissed"===a.status?"twinMemory.reachNowhere":m(a)?"twinMemory.reachExpired":T?"twinMemory.reachWithheld":"history"===a.origin?"twinMemory.reachLabOnly":a.fields.decision?.text.trim()?a.identity?"twinMemory.reachProject":"twinMemory.reachGeneral":"twinMemory.reachNoDecision")}),V&&(0,d.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-smoke",children:r(U?"twinMemory.expiredOn":"twinMemory.appliesThrough",{date:V})}),(0,d.jsxs)("details",{className:"mt-3",children:[(0,d.jsx)("summary",{className:"cursor-pointer text-xs font-medium underline-offset-4 hover:underline",children:r("twinMemory.explore")}),(0,d.jsx)("dl",{className:"mt-3 space-y-3",children:u.map(b=>(0,d.jsxs)("div",{children:[(0,d.jsx)("dt",{className:"text-xs font-medium",children:r(k[b].label)}),(0,d.jsxs)("dd",{className:"mt-1 whitespace-pre-wrap break-words text-sm leading-relaxed text-smoke",children:[a.fields[b].text,a.fields[b]?.narrativeId&&(0,d.jsx)("button",{type:"button",className:"mt-1 block text-xs underline underline-offset-4","aria-label":r("twinMemory.viewSourceFor",{field:r(k[b].label).toLocaleLowerCase()}),onClick:()=>{let c=a.fields[b].narrativeId;O.current&&(O.current.open=!0),H(c),A&&document.getElementById(`episode-${a.id}-source-${c}`)?.focus(),Y()},children:r("twinMemory.viewSource")})]})]},b))}),v.length>0&&(0,d.jsx)("p",{className:"mt-4 border-t border-edge pt-3 text-xs leading-relaxed text-smoke",children:r("twinMemory.notRecorded",{list:R(v)})}),(0,d.jsxs)("div",{className:"mt-4 border-t border-edge pt-3",children:[(0,d.jsx)("p",{className:"text-xs font-medium",children:r("twinMemory.expiryTitle")}),(0,d.jsx)(i.D0,{label:r("twinMemory.validUntilLabel"),className:"mt-2",size:"sm",type:"date",value:K,disabled:null!==w,"aria-describedby":`episode-${a.id}-expiry-hint`,onChange:a=>L(a.target.value)}),(0,d.jsx)("p",{id:`episode-${a.id}-expiry-hint`,className:"mt-1 text-xs leading-relaxed text-smoke",children:r("twinMemory.validUntilHint")}),(0,d.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[(0,d.jsx)(i.rA,{type:"button",tone:"surface",busy:"expiry"===w,busyLabel:r("twinMemory.savingExpiry"),disabled:null!==w||!K||K===a.validUntil?.slice(0,10),onClick:()=>void X(K),children:r("twinMemory.saveExpiry")}),a.validUntil&&(0,d.jsx)(i.rA,{type:"button",tone:"plain",busy:"clearExpiry"===w,busyLabel:r("twinMemory.clearingExpiry"),disabled:null!==w,onClick:()=>void X(null),children:r("twinMemory.clearExpiry")})]})]})]}),P&&(0,d.jsxs)("details",{ref:O,className:"mt-3",onToggle:a=>{a.currentTarget.open&&Y()},children:[(0,d.jsx)("summary",{className:"cursor-pointer text-xs font-medium underline-offset-4 hover:underline",children:r("twinMemory.viewEvidence")}),C&&(0,d.jsx)("p",{role:"status",className:"mt-2 text-xs text-smoke",children:r("twinMemory.loadingEvidence")}),E&&(0,d.jsxs)("div",{className:"mt-2",children:[(0,d.jsx)(i.lZ,{text:E}),(0,d.jsx)(i.rA,{type:"button",tone:"surface",className:"mt-2",onClick:()=>void Y(),children:r("twinMemory.retryEvidence")})]}),A&&0===A.length&&(0,d.jsx)("p",{className:"mt-2 text-xs text-smoke",children:r("twinMemory.sourceGone")}),A?.map(b=>{let c=n[b.kind];return(0,d.jsxs)("div",{id:`episode-${a.id}-source-${b.id}`,tabIndex:-1,className:"mt-3 scroll-mt-24 rounded border border-edge bg-surface p-3",children:[(0,d.jsxs)("p",{className:"break-words font-mono text-[10px] text-smoke",children:[b.source," \xb7 ",c?r(c):b.kind," \xb7 ",b.at.slice(0,10)]}),(0,d.jsx)("p",{className:"mt-2 text-xs font-medium",children:r("brief"===b.kind?"twinMemory.briefText":"twinMemory.ownerText")}),(0,d.jsx)("blockquote",{className:"mt-1 whitespace-pre-wrap break-words text-xs leading-relaxed text-smoke",children:b.text}),b.truncated&&(0,d.jsx)("p",{className:"mt-2 text-xs text-smoke",children:r("twinMemory.truncated")}),b.context&&(0,d.jsxs)("details",{className:"mt-3 border-t border-edge pt-2",children:[(0,d.jsx)("summary",{className:"cursor-pointer text-xs text-smoke",children:r("twinMemory.agentContext")}),(0,d.jsx)("p",{className:"mt-2 whitespace-pre-wrap break-words text-xs leading-relaxed text-smoke",children:b.context})]})]},b.id)})]}),(0,d.jsxs)("div",{className:"mt-4 flex flex-wrap items-center justify-between gap-2 border-t border-edge pt-3",children:[(0,d.jsx)("time",{dateTime:a.createdAt,className:"font-mono text-[10px] text-smoke",children:a.createdAt.slice(0,10)}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)(i.rA,{type:"button",tone:"surface",disabled:null!==w||g,onClick:b,children:r("twinMemory.revise")}),("active"===a.status||S)&&(0,d.jsx)(i.rA,{type:"button",tone:"plain",busy:"status"===w,busyLabel:r("twin.saving"),disabled:null!==w,onClick:()=>void W(),children:r("active"===a.status?"twinMemory.dismiss":"twinMemory.restore")})]})]}),g&&(0,d.jsxs)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:[r(T?"twinMemory.competingActive":"twinMemory.successorActive")," ",T?(0,d.jsx)("a",{href:"#competing-versions",className:"underline underline-offset-4",children:r("twinMemory.competingOpen")}):(0,d.jsx)("a",{href:`/twin?episode=${encodeURIComponent(a.activeRevisionId)}#episode-${a.activeRevisionId}`,className:"underline underline-offset-4",children:r("twinMemory.currentVersion")})]}),y&&(0,d.jsx)(i.lZ,{text:y,className:"mt-2"})]})}},8706:(a,b,c)=>{"use strict";c.d(b,{g:()=>e});var d=c(28388);function e(a,b,c){return a.filter(a=>"signed"===a.state||"inferred"===a.state&&c&&(0,d.nFp)(a.support)).map(a=>{let c=a.identity?b[a.identity]:void 0;return{id:a.id,topic:a.topic,statement:a.statement,citations:(a.citations??[]).map(a=>a.verdictId),...c?{scope:c}:{},...a.publishedAs?{published:a.publishedAs}:{}}})}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19771:a=>{"use strict";a.exports=require("process")},21820:a=>{"use strict";a.exports=require("os")},24850:(a,b,c)=>{"use strict";c.d(b,{P:()=>d,s:()=>e});let d=300,e=300},25027:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>M,dynamic:()=>K,generateMetadata:()=>L});var d=c(62490),e=c(26913),f=c(28388),g=c(26785),h=c.n(g),i=c(63351),j=c(99232),k=c(30993),l=c(81085),m=c(65823),n=c(3912),o=c(37887),p=c(69677),q=c(39354),r=c(86732),s=c(94304),t=c(17245);function u({stages:a,locale:b}){return(0,d.jsxs)("section",{"aria-labelledby":"twin-path-title",className:"page-shell__section",children:[(0,d.jsx)("h2",{id:"twin-path-title",className:"eyebrow page-shell__section-title",children:(0,t.t)(b,"twinPath.title")}),(0,d.jsx)("p",{className:"max-w-3xl text-sm leading-relaxed text-smoke",children:(0,t.t)(b,"twinPath.lead")}),(0,d.jsx)("ol",{role:"list",className:"mt-4 grid grid-cols-2 gap-3 lg:grid-cols-4",children:a.map((a,c)=>{let e=(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("span",{className:"flex items-baseline gap-2",children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"font-mono text-[11px] text-faint",children:String(c+1).padStart(2,"0")}),(0,d.jsx)("span",{className:"text-sm font-semibold",children:(0,t.t)(b,a.key)})]}),(0,d.jsx)("span",{className:`mt-3 font-display text-2xl font-semibold tabular-nums tracking-tight ${a.reached?"":"text-smoke"}`,children:a.figure}),(0,d.jsx)("span",{className:"mt-1 text-xs leading-relaxed text-smoke",children:(0,t.t)(b,a.noteKey)})]}),f=a.alarming&&!a.reached,g=`flex flex-col rounded-lg border p-4 ${f?"border-warn/40 bg-warn/[0.04]":"border-edge bg-surface"}`;return(0,d.jsx)("li",{role:"listitem",className:"contents",children:a.href?(0,d.jsx)(h(),{href:a.href,className:`${g} transition-colors ${f?"hover:border-warn":"hover:border-chalk"}`,children:e}):(0,d.jsx)("div",{className:g,children:e})},a.key)})})]})}let v=(a,b)=>`${a} / ${b}`;var w=c(80314);let x=["design","frontend","backend","cli","testing","copy","workflow","tooling","data","other"];function y(a,b){let c=[];for(let d of function(a){let b=new Set(a.map(a=>a.topic));return[...x.filter(a=>b.has(a)),...[...b].filter(a=>!x.includes(a)).sort()]}(a)){let e="";for(let c of a){if(c.topic!==d||void 0!==b&&void 0!==c.scope&&c.scope!==b)continue;let a=c.statement.replace(/\s+/g," ").replaceAll("\x3c!--","<! --").replaceAll("--\x3e","-- >").trim();""!==a&&(e=""===e?`- Taste (${d}): ${a}`:`${e} \xb7 ${a}`)}""!==e&&c.push(e)}return c.join("\n").length}function z(a){let b=y(a,A),c=new Set;for(let b of a)void 0!==b.scope&&c.add(b.scope);let d={chars:b,global:b,own:0};for(let e of c){let c=y(a,e);c>d.chars&&(d={chars:c,global:b,project:e,own:c-b})}return d}let A="\0";function B(a,b){let c=new Set(b.lines.map(a=>C(a))),d=new Set;for(let b of a)c.has(C(b))||d.add(b.id);return{chars:z(a).chars,cap:b.cap,written:b.chars,unpublished:d}}function C(a){let b=a.statement.replace(/\s+/g," ").replaceAll("\x3c!--","<! --").replaceAll("--\x3e","-- >").trim();return`${a.topic} ${b}`}var D=c(72149),E=c(8706),F=c(28367),G=c(32155),H=c(89267),I=c(70652),J=c(87711);let K="force-dynamic";async function L(){return{title:(0,t.t)(await (0,t.JK)(),"nav.twin")}}async function M({searchParams:a}){var b;let{db:c}=await (0,i.db)(),g=(await a).episode,x="string"==typeof g&&g.length<=100?await (0,f.Ill)(c,g):void 0,[y,A,C,H,I,K,L,M,W]=await Promise.all([(0,f.ZEb)(c,{states:f.oEh}),(0,f.ZEb)(c,{states:["vetoed"]}),(0,f.ZEb)(c,{states:["proposed"]}),(0,e.u)(),(0,f.WtK)(c),(0,f.N8S)(c),(0,e.Xj)(),(0,t.JK)(),(0,J.TC)()]),X=(0,e.F$)(L),Y=await (0,e.XB)(),Z=(0,e.xs)(),$=Y.map(a=>({id:a.id,label:a.label,path:a.path,present:a.present,files:a.files,bytes:a.bytes,state:(0,e.YK)(a,(0,e.Jr)(L,a.id),Z.includes(a.id))})),[_,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am]=await Promise.all([(0,f.qTp)(c),(0,f.HHm)(c),(0,f.vtC)(c),(0,f.wQT)(c,{classified:!1,limit:1e3}),(0,f.ZEb)(c,{states:["retired"]}),(0,f.iPA)(c,(0,f.c6C)(5)),(0,f.buH)(c),(0,f.H7H)(c),(0,f.dZR)(c),(0,f.bM4)(c),(0,f.h2G)(c,{limit:D.YB+1}),(0,f.yoV)(c),(0,f.l1Z)(c),(0,f.w2W)(c)]),an=aj.slice(0,D.YB),ao=an.at(-1),ap=aj.length>D.YB&&ao?(0,D.UB)({createdAt:ao.createdAt.toISOString(),id:ao.id}):null;x&&!an.some(a=>a.id===x.id)&&an.push(x);let aq=await (0,f.cM4)(c,an.map(a=>a.id)),ar=a=>({...a,activeRevisionId:aq[a.id]??null,projectName:a.identity?aa[a.identity]??null:null,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString(),validUntil:a.validUntil?new Date(a.validUntil).toISOString():null}),as=(0,G.F)(ai),at={},au=new Set;for(let[a,b]of Object.entries(aa))au.has(b)?delete at[b]:at[b]=a,au.add(b);let av=(a,b={})=>(0,w.qC)(a,{names:aa,identities:at,stands:(0,f.nFp)(a.support),...b}),aw=y.map(a=>av(a)),ax=(0,E.g)(y,aa,X),ay=B(ax,H),az=z(ax),aA=new Map(y.map(a=>[a.id,a])),aB=C.filter(a=>a.supersedes.some(a=>aA.has(a))),aC=0===I.beliefs,aD=X?[]:y.filter(a=>"signed"!==a.state&&(0,f.nFp)(a.support)),aE=(0,t.t)(M,aC?al>0?"twin.memoryOnlyIntro":"twin.introEmpty":X?"twin.intro":"twin.introWaiting"),aF=(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"mt-3 max-w-2xl text-sm leading-relaxed text-smoke",children:(0,t.t)(M,"twin.payoff")}),aC&&0===al&&(0,d.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed text-smoke",children:(0,t.t)(M,"twin.introEmptyHint")})]}),aG=$.filter(a=>"allowed"===a.state||"denied"===a.state),aH=as.filter(a=>(0,F.as)(a.identity,aa)),aI=[{key:"twinPath.history",noteKey:"twinPath.historyNote",figure:v((b={histories:{grantable:aG.length,allowed:aG.filter(a=>"allowed"===a.state).length},thoughts:y.length+al,file:{chars:ay.chars,cap:e.ZJ},reach:{reached:ah.reached,projects:ah.projects}}).histories.allowed,b.histories.grantable),href:"#history",reached:b.histories.allowed>0},{key:"twinPath.mind",noteKey:"twinPath.mindNote",figure:String(b.thoughts),href:"#portrait",reached:b.thoughts>0},{key:"twinPath.file",noteKey:"twinPath.fileNote",figure:v(b.file.chars,b.file.cap),href:"#file",reached:b.file.chars>0},{key:"twinPath.agents",noteKey:"twinPath.agentsNote",figure:v(b.reach.reached,b.reach.projects),...b.reach.projects>0?{href:"#reach"}:{},reached:b.reach.reached>0,alarming:!0}];return(0,d.jsxs)(j.q,{eyebrow:(0,t.t)(M,"nav.twin"),title:(0,t.t)(M,aC?al>0?"twin.memoryOnlyTitle":"twin.titleEmpty":"twin.title"),lead:aE,headExtra:aF,children:[(0,d.jsx)(u,{locale:M,stages:aI}),(0,d.jsxs)(j.d,{children:[(0,d.jsxs)("nav",{"aria-label":(0,t.t)(M,"twinTeach.nav"),className:"flex flex-wrap gap-2",children:[[["#history","twinTeach.navHistory"],["#teach","twinTeach.navTeach"],["#decision-memory","twinTeach.navMemory"],["#portrait","twinTeach.navPortrait"],["#decision-lab","twinTeach.navLab"]].map(([a,b])=>(0,d.jsx)("a",{href:a,className:"rounded-full border border-edge bg-surface px-3 py-2 text-xs text-smoke transition-colors hover:border-chalk",children:(0,t.t)(M,b)},a)),(0,d.jsx)(h(),{href:"/twin/look",className:"rounded-full border border-edge bg-surface px-3 py-2 text-xs text-smoke transition-colors hover:border-chalk",children:(0,t.t)(M,"twin.toCritic")})]}),(0,d.jsxs)("details",{className:"mt-6",children:[(0,d.jsx)("summary",{className:"cursor-pointer text-sm text-smoke",children:(0,t.t)(M,"twinTeach.details")}),(0,d.jsxs)("div",{className:"mt-4 flex flex-col gap-2",children:[(0,d.jsx)("dl",{className:"grid grid-cols-2 gap-3 lg:grid-cols-4",children:[["twinTeach.signed",I.signed],["twinTeach.standing",Math.max(0,I.standing-I.signed)],["twinTeach.published",H.lines.length],["twinTeach.episodes",al]].map(([a,b])=>(0,d.jsxs)(k.Zp,{pad:"sm",children:[(0,d.jsx)("dt",{className:"text-xs leading-relaxed text-smoke",children:(0,t.t)(M,a)}),(0,d.jsx)("dd",{className:"mt-2 font-display text-lg font-semibold tabular-nums",children:b})]},a))}),(0,d.jsx)("p",{className:"font-mono text-sm text-smoke",children:(0,t.t)(M,"twin.counts",{beliefs:I.beliefs,forming:I.forming,observations:I.observations})}),null!==I.density&&(0,d.jsx)("p",{className:"font-display text-lg font-semibold tracking-tight",children:(0,t.t)(M,"twin.density",{density:I.density})}),(0,d.jsx)(N,{score:I,locale:M}),(0,d.jsx)(O,{briefs:af,locale:M}),(0,d.jsx)(V,{score:I,locale:M}),(0,d.jsx)(R,{beliefs:[...y,...A,...ad],locale:M}),(0,d.jsx)(S,{months:ae,locale:M}),(0,d.jsx)(U,{corpus:_,locale:M})]})]})]}),(0,d.jsxs)("section",{id:"history",tabIndex:-1,className:"page-shell__section scroll-mt-24","aria-labelledby":"twin-sources-title",children:[(0,d.jsx)(o.TwinSources,{sources:$}),(0,d.jsx)(n.TwinDistill,{left:Math.max(0,_.total-_.read),granted:$.some(a=>"allowed"===a.state)}),(0,d.jsx)(U,{corpus:_,locale:M})]}),(0,d.jsx)(q.TwinTeach,{projects:aH.map(({slug:a,label:b})=>({slug:a,label:b})),omitted:as.length-aH.length}),(0,d.jsx)(s.TwinMemory,{focusId:x?.id,projects:as.filter(a=>null!==a.identity).map(({slug:a,name:b,label:c,identity:d})=>({slug:a,name:b,label:c,identity:d})),coverage:ak,dailyCalls:W.episodes.cap,episodes:an.map(ar),olderCursor:ap,conflicts:am.map(a=>a.map(ar))}),aD.length>0&&(0,d.jsx)(m.TwinConsent,{standing:aD.length,chars:B([...ax,...(0,E.g)(aD,aa,!0)],H).chars,cap:e.ZJ}),(0,d.jsxs)("section",{id:"portrait",tabIndex:-1,className:"page-shell__section scroll-mt-24","aria-labelledby":"portrait-title",children:[(0,d.jsx)("h2",{id:"portrait-title",className:"text-base font-semibold",children:(0,t.t)(M,"twinTeach.portraitTitle")}),aC&&(0,d.jsx)(k.pp,{variant:"note",className:"mt-2",title:(0,t.t)(M,"twinTeach.portraitEmpty")}),(0,d.jsx)(l.BeliefEditor,{beliefs:aw,graveyard:A.map(a=>av(a)),unpublished:ay.unpublished,proposals:aB.map(a=>av(a,{supersedes:a.supersedes.flatMap(a=>{let b=aA.get(a);return b?[b.statement]:[]})})),locale:M})]}),(0,d.jsx)(j.d,{id:"file",labelledBy:"twin-file-title",children:(0,d.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,d.jsxs)("div",{className:`rounded-lg border px-4 py-4 ${ay.chars>ay.cap?"border-idle":"border-edge"}`,children:[(0,d.jsx)("h2",{id:"twin-file-title",className:"text-base font-semibold",children:(0,t.t)(M,"twin.fileTitle")}),(0,d.jsx)("p",{className:"mt-1 font-mono text-sm",children:(0,t.t)(M,"twin.fileSize",{chars:ay.chars,cap:e.ZJ})}),(0,d.jsx)("div",{className:"mt-2 h-1 w-full overflow-hidden rounded bg-raised",children:(0,d.jsx)("div",{className:`h-full ${ay.chars>ay.cap?"bg-idle":"bg-accent"}`,style:{width:`${Math.min(ay.chars/ay.cap*100,100)}%`}})}),ay.chars>ay.cap?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-idle",children:(0,t.t)(M,"twin.fileFull")}),(0,d.jsx)("p",{className:"mt-1 font-mono text-xs text-smoke",children:(0,t.t)(M,"twin.fileWritten",{n:ay.written})}),(0,d.jsxs)("p",{className:"mt-1 font-mono text-xs text-smoke",children:[(0,t.t)(M,"twin.fileSplit",{global:az.global}),void 0!==az.project?` \xb7 ${(0,t.t)(M,"twin.fileHeaviest",{project:az.project,own:az.own})}`:""]})]}):(0,d.jsx)("p",{className:"mt-2 font-mono text-xs text-smoke",children:(0,t.t)(M,"twin.fileRoom",{n:ay.cap-ay.chars})}),(0,d.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-smoke",children:(0,t.t)(M,"twin.fileHint")}),(0,d.jsx)(p.TwinSynthesize,{pending:ac.length,ready:ab.length>0})]}),(0,d.jsx)(T,{spend:K,caps:W,locale:M})]})}),(0,d.jsx)(P,{reach:ah,locale:M}),(0,d.jsx)(r.TwinLab,{projects:as.map(({slug:a,label:b})=>({slug:a,label:b})),hasBeliefs:al>0||y.some(a=>"signed"===a.state||(0,f.nFp)(a.support))}),(0,d.jsx)(Q,{design:ag,locale:M})]})}function N({score:a,locale:b}){return 0===a.shown?null:(0,d.jsxs)("p",{className:"font-mono text-sm text-smoke",children:[(0,t.t)(b,"twin.corrections",{corrections:a.corrections,shown:a.shown}),null!==a.rate?` \xb7 ${(0,t.t)(b,"twin.rate",{rate:a.rate})}`:""]})}function O({briefs:a,locale:b}){return 0===a.findings?null:(0,d.jsxs)("p",{className:"font-mono text-sm text-smoke",children:[(0,t.t)(b,"twin.briefs",{ordered:a.ordered,findings:a.findings}),null!==a.rate?` \xb7 ${(0,t.t)(b,"twin.briefsRate",{rate:a.rate})}`:"",a.ordered>0?` \xb7 ${(0,t.t)(b,"twin.briefsLaunched",{launched:a.launched})}`:"",a.launches>a.launched?` \xb7 ${(0,t.t)(b,"twin.briefsRelaunched",{launches:a.launches})}`:"",a.discarded>0?` \xb7 ${(0,t.t)(b,"twin.briefsDiscarded",{discarded:a.discarded})}`:""]})}function P({reach:a,locale:b}){if(0===a.projects)return null;let c=0===a.reached;return(0,d.jsxs)(j.d,{id:"reach",title:(0,t.t)(b,"twin.reachTitle"),children:[(0,d.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed",children:(0,t.t)(b,"twin.reach",{reached:a.reached,projects:a.projects})}),(0,d.jsx)("p",{className:`mt-1 max-w-2xl text-sm leading-relaxed ${c?"text-warn":"text-smoke"}`,children:(0,t.t)(b,c?"twin.reachNone":"twin.reachSome")}),(0,d.jsx)("p",{className:"mt-2 text-xs text-smoke",children:(0,d.jsx)("code",{className:"font-mono",children:(0,t.t)(b,"twin.reachHow",{cli:(0,H._)()})})})]})}function Q({design:a,locale:b}){return 0===a.read?null:(0,d.jsxs)(j.d,{title:(0,t.t)(b,"twin.designTitle"),children:[(0,d.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-smoke",children:(0,t.t)(b,"twin.designFrom",{read:a.read,withUi:a.withUi})}),a.colors.length>0&&(0,d.jsx)("div",{className:"mt-4 flex flex-wrap gap-2",children:a.colors.map(a=>(0,d.jsxs)("span",{className:"flex items-center gap-2 rounded border border-edge px-2 py-1 font-mono text-xs text-smoke",children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"h-3.5 w-3.5 rounded-sm border border-edge",style:{backgroundColor:a.value}}),a.value,(0,d.jsx)("span",{className:"text-faint",children:(0,t.t)(b,"twin.designProjects",{projects:a.projects})})]},a.value))}),a.fonts.length>0&&(0,d.jsx)("p",{className:"mt-3 max-w-2xl font-mono text-xs text-smoke",children:(0,t.t)(b,"twin.designFonts",{fonts:a.fonts.map(a=>a.value).join(" \xb7 ")})}),a.radii.length>0&&(0,d.jsx)("p",{className:"mt-1 max-w-2xl font-mono text-xs text-smoke",children:(0,t.t)(b,"twin.designRadii",{radii:a.radii.map(a=>a.value).join(" \xb7 ")})}),(0,d.jsx)("p",{className:"mt-1 max-w-2xl font-mono text-xs text-smoke",children:(0,t.t)(b,"twin.designTraits",{dark:a.darkMode,animation:a.animation})})]})}function R({beliefs:a,locale:b}){let c=Date.now()-6048e5,e=a=>null!==a&&a.getTime()>c,f=0,g=0,h=0;for(let b of a)e(b.retiredAt)||e(b.vetoedAt)?h+=1:e(b.createdAt)?f+=1:e(b.updatedAt)&&"inferred"===b.state&&(g+=1);return f+g+h===0?null:(0,d.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-smoke",children:(0,t.t)(b,"twin.digest",{created:f,refined:g,retired:h,days:7})})}function S({months:a,locale:b}){if(0===a.length)return null;let c=function(a,b=new Date){let c=a[0];return void 0===c||c.month!==(0,f.GSS)(b)?null:0===c.moved?"still":0===c.created&&0===c.retired&&c.refined>0?"onlyRefined":null}(a);return(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)("p",{className:"font-mono text-xs uppercase tracking-wide text-faint",children:(0,t.t)(b,"twin.churnTitle")}),a.map(a=>(0,d.jsx)("p",{className:"font-mono text-xs text-smoke",children:(0,t.t)(b,"twin.churnMonth",{month:function(a,b){let[c,d]=a.split("-").map(Number);if(void 0===c||void 0===d)return a;let e=new Date(c,d-1,1,12);return new Intl.DateTimeFormat("es"===b?"es-ES":"en-US",{month:"long",year:"numeric"}).format(e)}(a.month,b),created:a.created,refined:a.refined,retired:a.retired})},a.month)),"still"===c&&(0,d.jsx)("p",{className:"font-mono text-xs text-smoke",children:(0,t.t)(b,"twin.churnStill")}),"onlyRefined"===c&&(0,d.jsx)("p",{className:"font-mono text-xs text-idle",children:(0,t.t)(b,"twin.churnOnlyRefined")})]})}function T({spend:a,caps:b,locale:c}){let e=a.reduce((a,b)=>a+b.calls,0),f=a.reduce((a,b)=>a+b.input,0),g=a.reduce((a,b)=>a+b.output,0),i=a.reduce((a,b)=>a+b.unmetered,0),j=b=>a.find(a=>a.kind===b)?.calls??0,l=j("look"),m=j("distill"),n=j("classify"),o=j("synthesize"),p=I.N.reduce((a,b)=>a+j(b),0);return(0,d.jsxs)(k.Zp,{tone:"plain",children:[(0,d.jsx)("h2",{id:"twin-spend-title",className:"text-base font-semibold",children:(0,t.t)(c,"twin.spendTitle")}),0===e?(0,d.jsx)(k.pp,{variant:"note",className:"mt-1",title:(0,t.t)(c,"twin.spendNone")}):(0,d.jsxs)(d.Fragment,{children:[l>0&&(0,d.jsx)("p",{className:"mt-1 font-mono text-sm",children:(0,t.t)(c,"twin.spendLooks",{used:l,cap:b.look.cap})}),m>0&&(0,d.jsx)("p",{className:"mt-1 font-mono text-sm",children:(0,t.t)(c,"twin.spendDistills",{n:m})}),n>0&&(0,d.jsx)("p",{className:"mt-1 font-mono text-sm",children:(0,t.t)(c,"twin.spendClassify",{n:n})}),o>0&&(0,d.jsx)("p",{className:"mt-1 font-mono text-sm",children:(0,t.t)(c,"twin.spendSynth",{n:o})}),j("episodes")>0&&(0,d.jsx)("p",{className:"mt-1 font-mono text-sm",children:(0,t.t)(c,"twin.spendEpisodes",{used:j("episodes"),cap:b.episodes.cap})}),j("rehearse")>0&&(0,d.jsx)("p",{className:"mt-1 font-mono text-sm",children:(0,t.t)(c,"twin.spendRehearse",{used:j("rehearse"),cap:b.rehearse.cap})}),p>0&&(0,d.jsx)("p",{className:"mt-1 font-mono text-sm",children:(0,t.t)(c,"twin.spendReads",{used:p,cap:b.read.cap})}),f+g>0&&(0,d.jsx)("p",{className:"mt-1 font-mono text-xs text-smoke",children:(0,t.t)(c,"twin.spendTokens",{input:f,output:g})}),i>0&&(0,d.jsx)("p",{className:"mt-1 font-mono text-xs text-smoke",children:(0,t.t)(c,"twin.spendUnmetered",{n:i})})]}),(0,d.jsx)(h(),{href:"/spend",className:"mt-3 inline-block rounded border border-edge px-2.5 py-1 font-mono text-xs text-smoke transition-colors hover:border-chalk",children:(0,t.t)(c,"twin.spendMore")})]})}function U({corpus:a,locale:b}){let c=Math.max(a.total-a.read,0);return 0===a.total?null:(0,d.jsx)("div",{className:"mt-1",children:a.total>0&&(0,d.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-smoke",children:0===c?(0,t.t)(b,1===a.total?"twin.corpusDoneOne":"twin.corpusDoneMany",{total:a.total}):(0,t.t)(b,"twin.corpusLeft",{read:a.read,total:a.total,left:c})})})}function V({score:a,locale:b}){if(0===a.shown)return null;let c=W[a.reading];if(!c)return null;let e={shown:a.shown,floor:a.floor};return null!==a.rate&&(e.rate=a.rate),null!==a.recent.rate&&(e.recent=a.recent.rate),null!==a.previous.rate&&(e.previous=a.previous.rate),(0,d.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-smoke",children:(0,t.t)(b,c,e)})}let W={tooFew:"score.tooFew",noTrend:"score.noTrend",better:"score.better",notBetter:"score.notBetter"}},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},28367:(a,b,c)=>{"use strict";c.d(b,{sb:()=>f,XI:()=>g,as:()=>h,NV:()=>i});var d=c(26913),e=c(28388);class f extends Error{constructor(a){super(a),this.reason=a}}function g(a){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.statement||"string"!=typeof a.topic)throw new f("invalid");let b=(0,d.fp)(a.statement.normalize("NFC").replace(/\s+/g," ").trim()),c=a.topic.trim();if(!b||b.length>300||!/^[a-z][a-z0-9-]{0,23}$/.test(c)||void 0!==a.slug&&("string"!=typeof a.slug||!a.slug.trim()))throw new f("invalid");return{statement:b,topic:c,..."string"==typeof a.slug?{slug:a.slug.trim()}:{}}}function h(a,b){if(!a)return!1;let c=b[a];return!(!c||c.length>60||/[:\n\r]|<!--|-->/.test(c))&&c.trim()===c&&1===Object.values(b).filter(a=>a===c).length}async function i(a,b,c){let d=null;if(b.slug){let g=await (0,e.KIZ)(a,{slug:b.slug});if(!g)throw new f("project");if(!h(d=g.identity,c))throw new f("scope")}let g=a=>a.normalize("NFC").replace(/\s+/g," ").trim().toLowerCase(),i=(await (0,e.ZEb)(a,{states:e.oEh})).find(a=>a.topic===b.topic&&a.identity===d&&g(a.statement)===g(b.statement));if(i)return await (0,e.xqS)(a,i.id),{id:i.id,created:!1};let[j]=await (0,e.eDs)(a,[{topic:b.topic,statement:b.statement,identity:d,state:"signed",citations:[],support:{observations:0,projects:0,days:0},model:"owner"}]);return await (0,e.xqS)(a,j),{id:j,created:!0}}},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31230:(a,b,c)=>{"use strict";c.d(b,{TwinDistill:()=>i});var d=c(17016),e=c(65065),f=c(74198),g=c(65862),h=c(66384);function i({left:a,granted:b}){let c=(0,g.kj)(),i=(0,f.useRouter)(),[l,m]=(0,e.useState)(!1),[n,o]=(0,e.useState)(null),[p,q]=(0,e.useState)(null);async function r(){m(!0),o(null),q(null);try{o(c("twin.mining"));let a=await j();if(a.unreachable)o(c("project.unreachable"));else if(void 0!==a.error){if(o(a.error),a.blocked)return}else{let b=a.saved??0,d=a.denied?.length??0,e=[0===b?c("twin.minedNone"):c("twin.mined",{saved:b,duplicates:a.duplicates??0})];(a.narrativesSaved??0)>0&&e.push(c("twin.minedRecords",{n:a.narrativesSaved??0})),d>0&&e.push(c("twin.minedDenied",{n:d})),o(e.join(" \xb7 "))}let b=await k({dryRun:!0});if(b.error)return void o(b.hint?`${b.error} ${b.hint}`:b.error);if(!b.verdicts)return void o(c("twin.distillNothing"));q({verdicts:b.verdicts,tokens:b.estimatedTokens??0}),o(c("twin.distillEstimate",{verdicts:b.verdicts,tokens:b.estimatedTokens??0})),i.refresh()}catch{o(c("project.unreachable"))}finally{m(!1)}}async function s(){m(!0),q(null);try{let a=0,b=0,d=0;for(let e=1;e<=20;e+=1){let e=await k({});if(a+=e.verdicts??0,b+=e.saved??0,d+=e.truncated??0,e.error){o(e.hint?`${e.error} ${e.hint}`:e.error);break}let f=e.corpus?Math.max(e.corpus.total-e.corpus.read,0):0,g=e.thin??0,h=[c("twin.distillProgress",{read:a,saved:b,left:f})];if(g>0&&h.push(c("twin.distillThin",{n:g})),d>0&&h.push(c("twin.distillTruncated",{n:d})),o(h.join(" \xb7 ")),!e.verdicts||f<=0)break}i.refresh()}catch{o(c("project.unreachable"))}finally{m(!1)}}return(0,d.jsxs)("div",{className:"mt-2 flex flex-col gap-1",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)(h.rA,{tone:"plain",type:"button",onClick:r,busy:l&&null===p,busyLabel:c("twin.distilling"),disabled:!b||l,"aria-describedby":b?void 0:"twin-distill-why",className:"self-start",children:a>0?c("twin.mineButtonLeft",{n:a}):c("twin.mineButton")}),null!==p&&(0,d.jsx)(h.rA,{tone:"accent",type:"button",onClick:s,busy:l,busyLabel:c("twin.distillingPaid"),disabled:l,children:c("twin.distillGo",{n:p.verdicts})})]}),b&&(0,d.jsx)("p",{className:"text-xs leading-relaxed text-smoke",children:c("twin.distillCost")}),!b&&(0,d.jsx)("p",{id:"twin-distill-why",className:"text-xs leading-relaxed text-smoke",children:c("twin.distillNoConsent")}),(0,d.jsx)("div",{role:"status","aria-live":"polite",children:n&&(0,d.jsx)("p",{className:"font-mono text-xs text-smoke",children:n})})]})}async function j(){try{let a=await fetch("/api/twin/mine",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),b=await a.json();if(a.ok)return b;return{error:b.error??String(a.status),...409===a.status?{blocked:!0}:{}}}catch{return{unreachable:!0}}}async function k(a){let b=await fetch("/api/twin/distill",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),c=await b.json();return b.ok?c:{...c,error:c.error??String(b.status)}}},32155:(a,b,c)=>{"use strict";function d(a){return a.split("/").filter(a=>a.length>0).reverse()}function e(a,b){let c=d(a);return c.slice(0,Math.min(b,c.length)).reverse().join("/")}function f(a){let b=new Map;for(let c of a){let a=b.get(c.name);a?a.push(c):b.set(c.name,[c])}let c=new Map;for(let[a,f]of b){if(1===f.length&&f[0]){c.set(f[0].slug,a);continue}let b=Math.max(...f.map(a=>d(a.root).length)),g=1,h=f.map(a=>e(a.root,g));for(;g<b&&new Set(h).size<f.length;)g+=1,h=f.map(a=>e(a.root,g));f.forEach((a,b)=>{let d=h[b]??a.name,e=h.some((a,c)=>c!==b&&a===d);c.set(a.slug,e?`${d} \xb7 ${a.slug}`:d)})}return a.map(a=>({...a,label:c.get(a.slug)??a.name}))}c.d(b,{F:()=>f})},33873:a=>{"use strict";a.exports=require("path")},37133:(a,b,c)=>{"use strict";c.d(b,{TwinConsent:()=>i});var d=c(17016),e=c(65065),f=c(74198),g=c(65862),h=c(66384);function i({standing:a,chars:b,cap:c}){let i=(0,g.kj)(),j=(0,f.useRouter)(),[k,l]=(0,e.useState)(!1),[m,n]=(0,e.useState)(null);async function o(a){l(!0),n(null);try{let b=await fetch("/api/twin/taste",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({publishInferred:a})}),c=await b.json();b.ok||n(c.error??String(b.status)),j.refresh()}catch{n(i("project.unreachable"))}finally{l(!1)}}return(0,d.jsxs)(h.Zp,{as:"section",tone:"plain",className:"mt-8","aria-labelledby":"twin-consent-title",children:[(0,d.jsx)("h2",{id:"twin-consent-title",className:"text-base font-semibold",children:i("twin.consentTitle")}),(0,d.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed",children:i("twin.consentBody")}),(0,d.jsxs)("p",{className:`mt-2 max-w-2xl font-mono text-xs ${b>c?"text-idle":"text-smoke"}`,children:[i("twin.consentCount",{n:a,chars:b}),b>c?` \xb7 ${i("twin.consentOver",{cap:c})}`:""]}),(0,d.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,d.jsx)(h.rA,{tone:"accent",type:"button",onClick:()=>o(!0),busy:k,busyLabel:i("twin.saving"),children:i("twin.consentAllow")}),(0,d.jsx)("span",{className:"font-mono text-xs text-faint",children:i("twin.consentRevoke")})]}),m&&(0,d.jsx)(h.lZ,{text:i("twin.saveFailed",{detail:m}),className:"mt-2"})]})}},37887:(a,b,c)=>{"use strict";c.d(b,{TwinSources:()=>d});let d=(0,c(61746).registerClientReference)(function(){throw Error("Attempted to call TwinSources() from the server but TwinSources is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/private/tmp/panoma-0.10.3/apps/web/components/twin-sources.tsx","TwinSources")},39354:(a,b,c)=>{"use strict";c.d(b,{TwinTeach:()=>d});let d=(0,c(61746).registerClientReference)(function(){throw Error("Attempted to call TwinTeach() from the server but TwinTeach is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/private/tmp/panoma-0.10.3/apps/web/components/twin-teach.tsx","TwinTeach")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43212:(a,b,c)=>{Promise.resolve().then(c.bind(c,77787)),Promise.resolve().then(c.bind(c,37133)),Promise.resolve().then(c.bind(c,31230)),Promise.resolve().then(c.bind(c,56210)),Promise.resolve().then(c.bind(c,8217)),Promise.resolve().then(c.bind(c,88885)),Promise.resolve().then(c.bind(c,90635)),Promise.resolve().then(c.bind(c,44792)),Promise.resolve().then(c.t.bind(c,65059,23))},44792:(a,b,c)=>{"use strict";c.d(b,{TwinTeach:()=>l});var d=c(17016),e=c(65065),f=c(74198),g=c(45157),h=c(65862),i=c(66384),j=c(61604),k=c(24850);function l({projects:a,omitted:b}){let c=(0,h.kj)(),l=(0,f.useRouter)(),[m,n]=(0,e.useState)(""),[o,p]=(0,e.useState)("workflow"),[q,r]=(0,e.useState)(""),[s,t]=(0,e.useState)(!1),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(null),y=(0,e.useRef)(!1);async function z(a){if(a.preventDefault(),!y.current&&m.trim()){y.current=!0,t(!0),v(null),x(null);try{let a=await fetch("/api/twin/taste",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({teach:{statement:m,topic:o,...q?{slug:q}:{}}})}),b=await a.json();if(!a.ok||!b.beliefId)return void v(b.error??c("twinTeach.failed"));n(""),x(b.beliefId),l.refresh()}catch{v(c("project.unreachable"))}finally{y.current=!1,t(!1)}}}return(0,d.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,d.jsxs)("div",{className:"grid gap-6 lg:grid-cols-[1fr_1.4fr]",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("p",{className:"flex items-center gap-2 font-mono text-xs text-smoke",children:[(0,d.jsx)(g.YUE,{"aria-hidden":!0,className:"h-4 w-4"}),c("twinTeach.eyebrow")]}),(0,d.jsx)("h2",{id:"twin-teach-title",className:"mt-2 text-base font-semibold",children:c("twinTeach.title")}),(0,d.jsx)("p",{className:"mt-3 max-w-md text-sm leading-relaxed text-smoke",children:c("twinTeach.lead")}),(0,d.jsx)("p",{className:"mt-3 max-w-md text-xs leading-relaxed text-smoke",children:c("twinTeach.control")})]}),(0,d.jsxs)("form",{onSubmit:z,"aria-busy":s,children:[(0,d.jsx)(i.fs,{label:c("twinTeach.statement"),value:m,onChange:a=>{n(a.target.value),x(null)},required:!0,maxLength:k.P,rows:3,disabled:s,placeholder:c("twinTeach.placeholder"),"aria-describedby":"twin-teach-count"}),(0,d.jsx)("p",{id:"twin-teach-count",className:"mt-1 text-right font-mono text-xs text-smoke",children:c("twinTeach.characters",{n:m.length,max:k.P})}),(0,d.jsxs)("div",{className:"mt-3 grid gap-3 sm:grid-cols-2",children:[(0,d.jsx)(i.l6,{label:c("twinTeach.topic"),value:o,disabled:s,onChange:a=>p(a.target.value),children:Object.entries(j.Wv).map(([a,b])=>(0,d.jsx)("option",{value:a,children:c(b)},a))}),(0,d.jsxs)("div",{children:[(0,d.jsxs)(i.l6,{label:c("twinTeach.scope"),value:q,disabled:s,"aria-describedby":b>0?"twin-teach-scope-note":void 0,onChange:a=>r(a.target.value),children:[(0,d.jsx)("option",{value:"",children:c("twinTeach.global")}),a.map(a=>(0,d.jsx)("option",{value:a.slug,children:a.label},a.slug))]}),b>0&&(0,d.jsx)("p",{id:"twin-teach-scope-note",className:"mt-2 text-xs leading-relaxed text-smoke",children:c("twinTeach.scopeOmitted",{n:b})})]})]}),(0,d.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-3",children:[(0,d.jsx)(i.rA,{type:"submit",tone:"accent",busy:s,busyLabel:c("twinTeach.saving"),disabled:s||!m.trim(),children:c("twinTeach.save")}),(0,d.jsx)("span",{className:"text-xs text-smoke",children:c("twinTeach.cost")})]}),u&&(0,d.jsx)(i.lZ,{text:u,className:"mt-3"}),(0,d.jsx)("div",{role:"status","aria-live":"polite",children:w&&(0,d.jsxs)("p",{className:"mt-3 text-sm text-smoke",children:[c("twinTeach.saved")," "," ",(0,d.jsx)("a",{href:`#belief-${w}`,className:"underline underline-offset-4",children:c("twinTeach.view")})]})})]})]})})}},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53392:(a,b)=>{"use strict";function c(a){return"("===a[0]&&a.endsWith(")")}function d(a){return a.startsWith("@")&&"@children"!==a}function e(a,b){if(a.includes(f)){let a=JSON.stringify(b);return"{}"!==a?f+"?"+a:f}return a}Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DEFAULT_SEGMENT_KEY:function(){return g},PAGE_SEGMENT_KEY:function(){return f},addSearchParamsIfPageSegment:function(){return e},isGroupSegment:function(){return c},isParallelRouteSegment:function(){return d}});let f="__PAGE__",g="__DEFAULT__"},55511:a=>{"use strict";a.exports=require("crypto")},56210:(a,b,c)=>{"use strict";c.d(b,{TwinLab:()=>k});var d=c(17016),e=c(65065),f=c(45157),g=c(65862),h=c(24850),i=c(66384),j=c(61604);function k({projects:a,hasBeliefs:b}){let c=(0,g.kj)(),[k,m]=(0,e.useState)(""),[n,o]=(0,e.useState)(""),[p,q]=(0,e.useState)(null),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)(null),x=(0,e.useRef)(!1),y=a.find(a=>a.slug===n);function z(){s(null),u(null)}async function A(a){if(x.current)return;let b=k.trim();if(!b||b.length>h.s)return void u(c("twinLab.invalidRequest",{max:h.s}));if(a||r?.status==="preview"&&r.evidence.length){x.current=!0,q(a?"preview":"draft"),u(null),a&&s(null);try{let d=await fetch("/api/twin/rehearse",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({question:b,...n?{slug:n}:{},dryRun:a})}),e=await d.json();if("number"==typeof e.remainingCalls&&w(e.remainingCalls),!d.ok)return void u(429===d.status?c("twinLab.budgetReached"):[e.error??c("twinLab.failed"),e.hint].filter(Boolean).join(" "));if(!Array.isArray(e.evidence)||!["preview","drafted","abstained"].includes(e.status))return void u(c("twinLab.failed"));s(e)}catch{u(c("project.unreachable"))}finally{x.current=!1,q(null)}}}let B=r?.reason==="no-beliefs"?"twinLab.noBeliefs":r?.reason==="no-match"?"twinLab.noMatch":"twinLab.unsupported";return(0,d.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,d.jsxs)("div",{className:"border-b border-edge px-5 py-5 sm:px-6",children:[(0,d.jsxs)("p",{className:"flex items-center gap-2 font-mono text-xs text-smoke",children:[(0,d.jsx)(f.qRK,{"aria-hidden":!0,className:"h-4 w-4"}),c("twinLab.eyebrow")]}),(0,d.jsx)("h2",{id:"twin-lab-title",className:"mt-2 text-base font-semibold",children:c("twinLab.title")}),(0,d.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed text-smoke",children:c("twinLab.lead")})]}),(0,d.jsxs)("div",{className:"grid lg:grid-cols-2",children:[(0,d.jsxs)("form",{onSubmit:function(a){a.preventDefault(),A(!0)},className:"min-w-0 px-5 py-5 sm:px-6","aria-busy":null!==p,children:[(0,d.jsx)(i.fs,{label:c("twinLab.question"),value:k,onChange:a=>{m(a.target.value),z()},maxLength:h.s,rows:4,required:!0,disabled:null!==p||!b,"aria-describedby":`twin-lab-question-hint twin-lab-count${b?"":" twin-lab-untrained"}`,placeholder:c("twinLab.placeholder")}),!b&&(0,d.jsx)("p",{id:"twin-lab-untrained",className:"mt-2 text-xs leading-relaxed text-smoke",children:c("twinLab.firstTitle")}),(0,d.jsxs)("div",{className:"mt-2 flex flex-wrap justify-between gap-2 text-xs text-smoke",children:[(0,d.jsx)("p",{id:"twin-lab-question-hint",children:c("twinLab.questionHint")}),(0,d.jsx)("p",{id:"twin-lab-count",className:"font-mono",children:c("twinLab.characters",{n:k.length,max:h.s})})]}),(0,d.jsxs)(i.l6,{label:c("twinLab.project"),className:"mt-5",value:n,onChange:a=>{o(a.target.value),z()},disabled:null!==p||!b,"aria-describedby":"twin-lab-scope-hint",children:[(0,d.jsx)("option",{value:"",children:c("twinLab.global")}),a.map(a=>(0,d.jsx)("option",{value:a.slug,children:a.label},a.slug))]}),(0,d.jsx)("p",{id:"twin-lab-scope-hint",className:"mt-2 text-xs leading-relaxed text-smoke",children:c("twinLab.scopeHint")}),(0,d.jsxs)("div",{className:"mt-5 flex flex-wrap items-center gap-3",children:[(0,d.jsx)(i.rA,{type:"submit",tone:"surface",busy:"preview"===p,busyLabel:c("twinLab.previewing"),disabled:null!==p||!k.trim()||!b,children:c("twinLab.preview")}),(0,d.jsx)("span",{className:"text-xs text-smoke",children:c("twinLab.previewCost")})]}),t&&(0,d.jsx)(i.lZ,{text:t,className:"mt-4"})]}),(0,d.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,d.jsx)("p",{role:"status","aria-live":"polite",className:"font-mono text-xs text-smoke",children:"preview"===p?c("twinLab.previewing"):"draft"===p?c("twinLab.drafting"):r?.status==="drafted"?c("twinLab.draftReady"):r?.status==="abstained"?c("twinLab.abstained"):r?.status==="preview"?c("twinLab.evidenceCount",{n:r.evidence.length}):c("twinLab.waiting")}),!r&&(0,d.jsx)(i.pp,{variant:"bare",className:"mt-4 max-w-md",title:c(b?"twinLab.emptyTitle":"twinLab.firstTitle"),action:!b&&(0,d.jsx)(l,{}),children:c(b?"twinLab.emptyBody":"twinLab.noBeliefs")}),r?.status==="abstained"&&(0,d.jsxs)("div",{className:"mt-3",children:[(0,d.jsx)("h3",{className:"text-base font-semibold",children:c("twinLab.abstainedTitle")}),(0,d.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-smoke",children:c(B)}),(0,d.jsx)(l,{className:"mt-3"})]}),r?.status==="drafted"&&(0,d.jsxs)(i.Zp,{className:"mt-3",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold",children:c("twinLab.draftTitle")}),(0,d.jsx)("p",{className:"mt-2 whitespace-pre-wrap break-words text-base leading-relaxed",children:r.answer}),(0,d.jsx)("p",{className:"mt-3 text-xs leading-relaxed text-smoke",children:c("twinLab.draftHint")}),(0,d.jsx)("p",{className:"mt-3 text-xs leading-relaxed text-smoke",children:c("twinLab.disagree")}),(0,d.jsx)(l,{className:"mt-3"})]}),r&&r.evidence.length>0&&(0,d.jsxs)("div",{className:"mt-4",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold",children:c("drafted"===r.status?"twinLab.citations":"twinLab.evidence")}),(0,d.jsx)("ol",{className:"mt-3 flex flex-col gap-2",role:"list",children:r.evidence.map((a,b)=>{let e=(0,j.Jj)(a.topic);return(0,d.jsxs)(i.Zp,{as:"li",pad:"sm",children:[(0,d.jsxs)("p",{className:"flex flex-wrap items-center gap-x-2 gap-y-1 font-mono text-[11px] text-smoke",children:[(0,d.jsx)("span",{"aria-hidden":!0,children:String(b+1).padStart(2,"0")}),(0,d.jsx)("span",{children:c("episode"===a.kind?"twinLab.episode":"signed"===a.state?"twin.badgeSigned":"twin.badgeStanding")}),"episode"!==a.kind&&(0,d.jsxs)("span",{children:["\xb7 ",e?c(e):a.topic]})]}),(0,d.jsxs)("a",{href:"episode"===a.kind?`/twin?episode=${encodeURIComponent(a.id)}#episode-${a.id}`:`#belief-${a.id}`,className:"mt-1.5 flex items-start gap-2 text-sm leading-relaxed underline-offset-4 hover:underline",children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 whitespace-pre-line break-words",children:a.statement}),(0,d.jsx)(f.OvC,{"aria-hidden":!0,className:"mt-0.5 h-4 w-4 shrink-0 text-smoke"}),(0,d.jsx)("span",{className:"sr-only",children:c("episode"===a.kind?"twinLab.openEpisode":"twinLab.openEvidence")})]}),(0,d.jsx)("p",{className:"mt-2 text-xs text-smoke",children:"episode"===a.kind?c("twinLab.episodeScope"):a.scope?c("twinLab.projectRule",{project:y?.label??a.scope}):c("twinLab.globalRule")})]},a.id)})})]}),r&&r.omittedBeliefs>0&&(0,d.jsx)("p",{className:"mt-3 font-mono text-xs text-smoke",children:c("twinLab.omitted",{n:r.omittedBeliefs})}),null!==v&&(0,d.jsx)("p",{className:"mt-3 font-mono text-xs text-smoke",children:c("twinLab.remaining",{n:v})}),r?.status==="preview"&&r.evidence.length>0&&(0,d.jsxs)("div",{className:"mt-5 border-t border-edge pt-4",children:[(0,d.jsx)(i.rA,{type:"button",tone:"accent",busy:"draft"===p,busyLabel:c("twinLab.drafting"),disabled:null!==p||0===v,onClick:()=>void A(!1),children:c("twinLab.rehearse")}),(0,d.jsx)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:c(0===v?"twinLab.budgetReached":"twinLab.draftCost")})]})]})]}),(0,d.jsx)("p",{className:"border-t border-edge px-5 py-3 text-xs leading-relaxed text-smoke sm:px-6",children:c("twinLab.boundary")})]})}function l({className:a}){let b=(0,g.kj)();return(0,d.jsxs)("a",{href:"#teach",className:`inline-flex items-center gap-1 text-sm underline underline-offset-4${a?` ${a}`:""}`,children:[b("twinLab.teach"),(0,d.jsx)(f.OvC,{"aria-hidden":!0,className:"h-4 w-4"})]})}},56364:(a,b,c)=>{Promise.resolve().then(c.bind(c,81085)),Promise.resolve().then(c.bind(c,65823)),Promise.resolve().then(c.bind(c,3912)),Promise.resolve().then(c.bind(c,86732)),Promise.resolve().then(c.bind(c,94304)),Promise.resolve().then(c.bind(c,37887)),Promise.resolve().then(c.bind(c,69677)),Promise.resolve().then(c.bind(c,39354)),Promise.resolve().then(c.t.bind(c,26785,23))},56498:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>E.a,__next_app__:()=>K,handler:()=>M,pages:()=>J,routeModule:()=>L,tree:()=>I});var d=c(75850),e=c(80525),f=c(25619),g=c(79540),h=c(86702),i=c(39680),j=c(76063),k=c(97084),l=c(162),m=c(76456),n=c(24590),o=c(24290),p=c(65485),q=c(30653),r=c(28070),s=c(261),t=c(6725),u=c(63370),v=c(26713),w=c(86444),x=c(31149),y=c(81073),z=c(15782),A=c(78778),B=c(35710),C=c(86439),D=c(17346),E=c.n(D),F=c(31418),G=c(45587),H={};for(let a in F)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(H[a]=()=>F[a]);c.d(b,H);let I={children:["",{children:["(app)",{children:["twin",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,25027)),"/private/tmp/panoma-0.10.3/apps/web/app/(app)/twin/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(c.bind(c,10168)),"/private/tmp/panoma-0.10.3/apps/web/app/(app)/layout.tsx"],error:[()=>Promise.resolve().then(c.bind(c,37726)),"/private/tmp/panoma-0.10.3/apps/web/app/(app)/error.tsx"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,85357,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,14576,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,19565))).default(a)],apple:[async a=>(await Promise.resolve().then(c.bind(c,55653))).default(a)],openGraph:[],twitter:[],manifest:void 0}}]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,17346,23)),"next/dist/client/components/builtin/global-error.js"],"global-not-found":[()=>Promise.resolve().then(c.bind(c,80337)),"/private/tmp/panoma-0.10.3/apps/web/app/global-not-found.tsx"],"not-found":[()=>Promise.resolve().then(c.bind(c,5123)),"/private/tmp/panoma-0.10.3/apps/web/app/not-found.tsx"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,85357,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,14576,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,19565))).default(a)],apple:[async a=>(await Promise.resolve().then(c.bind(c,55653))).default(a)],openGraph:[],twitter:[],manifest:void 0}}]}.children,J=["/private/tmp/panoma-0.10.3/apps/web/app/(app)/twin/page.tsx"],K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/(app)/twin/page",pathname:"/twin",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next-bundle",relativeProjectDir:""});async function M(a,b,d){var D;let H="/(app)/twin/page";"/index"===H&&(H="/");let N=(0,h.getRequestMeta)(a,"postponed"),O=(0,h.getRequestMeta)(a,"minimalMode"),P=await L.prepare(a,b,{srcPage:H,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,parsedUrl:T,pageIsDynamic:U,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,serverActionsManifest:Y,clientReferenceManifest:Z,subresourceIntegrityManifest:$,prerenderManifest:_,isDraftMode:aa,resolvedPathname:ab,revalidateOnlyGenerated:ac,routerServerContext:ad,nextConfig:ae,interceptionRoutePatterns:af}=P,ag=T.pathname||"/",ah=(0,s.normalizeAppPath)(H),{isOnDemandRevalidate:ai}=P,aj=L.match(ag,_),ak=!!_.routes[ab],al=!!(aj||ak||_.routes[ah]),am=a.headers["user-agent"]||"",an=(0,v.getBotType)(am),ao=(0,q.isHtmlBotRequest)(a),ap=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[u.NEXT_ROUTER_PREFETCH_HEADER],aq=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[u.RSC_HEADER]),ar=(0,t.getIsPossibleServerAction)(a),as=(0,m.checkIsAppPPREnabled)(ae.experimental.ppr)&&(null==(D=_.routes[ah]??_.dynamicRoutes[ah])?void 0:D.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?N:void 0,aw=as&&aq&&!ap,ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=!am||(0,q.shouldServeStreamingMetadata)(am,ae.htmlLimitedBots);ao&&as&&(al=!1,ay=!1);let az=!0===L.isDev||!al||"string"==typeof N||aw,aA=ao&&as,aB=null;aa||!al||az||ar||av||aw||(aB=ab);let aC=aB;!aC&&L.isDev&&(aC=ab),L.isDev||aa||!al||!aq||aw||(0,k.d)(a.headers);let aD={...F,tree:I,pages:J,GlobalError:E(),handler:M,routeModule:L,__next_app__:K};Y&&Z&&(0,p.setReferenceManifestsSingleton)({page:H,clientReferenceManifest:Z,serverActionsManifest:Y,serverModuleMap:(0,r.createServerModuleMap)({serverActionsManifest:Y})});let aE=a.method||"GET",aF=(0,g.getTracer)(),aG=aF.getActiveScopeSpan();try{let f=L.getVaryHeader(ab,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aF.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aE} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aE} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aD,Component:(0,j.T)(aD),params:S,routeModule:L,page:H,postponed:f,shouldWaitOnAllReady:aA,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||az,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,subresourceIntegrityManifest:$,serverActionsManifest:Y,clientReferenceManifest:Z,setIsrStatus:null==ad?void 0:ad.setIsrStatus,dir:c(33873).join(process.cwd(),L.relativeProjectDir),isDraftMode:aa,isRevalidate:al&&!f&&!aw,botType:an,isOnDemandRevalidate:ai,isPossibleServerAction:ar,assetPrefix:ae.assetPrefix,nextConfigOutput:ae.output,crossOrigin:ae.crossOrigin,trailingSlash:ae.trailingSlash,previewProps:_.preview,deploymentId:ae.deploymentId,enableTainting:ae.experimental.taint,htmlLimitedBots:ae.htmlLimitedBots,devtoolSegmentExplorer:ae.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ae.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ae.experimental.cacheLife,basePath:ae.basePath,serverActions:ae.experimental.serverActions,...at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:at}:{},experimental:{isRoutePPREnabled:as,expireTime:ae.expireTime,staleTimes:ae.experimental.staleTimes,cacheComponents:!!ae.experimental.cacheComponents,clientSegmentCache:!!ae.experimental.clientSegmentCache,clientParamParsing:!!ae.experimental.clientParamParsing,dynamicOnHover:!!ae.experimental.dynamicOnHover,inlineCss:!!ae.experimental.inlineCss,authInterrupts:!!ae.experimental.authInterrupts,clientTraceMetadata:ae.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>L.onRequestError(a,b,d,ad),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[z.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,al&&(null==n?void 0:n.revalidate)===0&&!L.isDev&&!as){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ab}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
2
|
+
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},57075:a=>{"use strict";a.exports=require("node:stream")},61604:(a,b,c)=>{"use strict";c.d(b,{Jj:()=>e,Wv:()=>d,mL:()=>f});let d={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 e(a){return d[a]}function f(a,b){let c=new Date(a);if(Number.isNaN(c.getTime()))return a.slice(0,10);let d=String(c.getMonth()+1).padStart(2,"0"),e=String(c.getDate()).padStart(2,"0");return"en"===b?`${c.getFullYear()}-${d}-${e}`:`${e}/${d}/${c.getFullYear()}`}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},65823:(a,b,c)=>{"use strict";c.d(b,{TwinConsent:()=>d});let d=(0,c(61746).registerClientReference)(function(){throw Error("Attempted to call TwinConsent() from the server but TwinConsent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/private/tmp/panoma-0.10.3/apps/web/components/twin-consent.tsx","TwinConsent")},69677:(a,b,c)=>{"use strict";c.d(b,{TwinSynthesize:()=>d});let d=(0,c(61746).registerClientReference)(function(){throw Error("Attempted to call TwinSynthesize() from the server but TwinSynthesize is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/private/tmp/panoma-0.10.3/apps/web/components/twin-synthesize.tsx","TwinSynthesize")},70652:(a,b,c)=>{"use strict";c.d(b,{N:()=>d});let d=["distill","classify","synthesize"]},72149:(a,b,c)=>{"use strict";c.d(b,{AT:()=>e,Fr:()=>i,UB:()=>h,YB:()=>d});let d=100,e=200,f=/^[A-Za-z0-9_-]{1,128}$/,g=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/;function h(a){return btoa(JSON.stringify({createdAt:a.createdAt,id:a.id})).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function i(a){if(!(a.length>512)&&/^[A-Za-z0-9_-]+$/.test(a))try{let b=a.replace(/-/g,"+").replace(/_/g,"/").padEnd(a.length+(4-a.length%4)%4,"="),c=JSON.parse(atob(b));if(null===c||"object"!=typeof c||Array.isArray(c))return;let{createdAt:d,id:e}=c;if("string"!=typeof d||!g.test(d)||!Number.isFinite(Date.parse(d))||"string"!=typeof e||!f.test(e))return;return{createdAt:new Date(d),id:e}}catch{return}}},73024:a=>{"use strict";a.exports=require("node:fs")},73928:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{INTERCEPTION_ROUTE_MARKERS:function(){return e},extractInterceptionRouteInformation:function(){return g},isInterceptionRouteAppPath:function(){return f}});let d=c(98723),e=["(..)(..)","(.)","(..)","(...)"];function f(a){return void 0!==a.split("/").find(a=>e.find(b=>a.startsWith(b)))}function g(a){let b,c,f;for(let d of a.split("/"))if(c=e.find(a=>d.startsWith(a))){[b,f]=a.split(c,2);break}if(!b||!c||!f)throw Object.defineProperty(Error("Invalid interception route: "+a+". Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>"),"__NEXT_ERROR_CODE",{value:"E269",enumerable:!1,configurable:!0});switch(b=(0,d.normalizeAppPath)(b),c){case"(.)":f="/"===b?"/"+f:b+"/"+f;break;case"(..)":if("/"===b)throw Object.defineProperty(Error("Invalid interception route: "+a+". Cannot use (..) marker at the root level, use (.) instead."),"__NEXT_ERROR_CODE",{value:"E207",enumerable:!1,configurable:!0});f=b.split("/").slice(0,-1).concat(f).join("/");break;case"(...)":f="/"+f;break;case"(..)(..)":let g=b.split("/");if(g.length<=2)throw Object.defineProperty(Error("Invalid interception route: "+a+". Cannot use (..)(..) marker at the root level or one level up."),"__NEXT_ERROR_CODE",{value:"E486",enumerable:!1,configurable:!0});f=g.slice(0,-2).concat(f).join("/");break;default:throw Object.defineProperty(Error("Invariant: unexpected marker"),"__NEXT_ERROR_CODE",{value:"E112",enumerable:!1,configurable:!0})}return{interceptingRoute:b,interceptedRoute:f}}},74075:a=>{"use strict";a.exports=require("zlib")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},77787:(a,b,c)=>{"use strict";c.d(b,{BeliefEditor:()=>k});var d=c(17016),e=c(65065),f=c(74198),g=c(65862),h=c(61604),i=c(66384);let j={signed:"twin.badgeSigned",standing:"twin.badgeStanding",forming:"twin.badgeForming"};function k({beliefs:a,graveyard:b,proposals:c,unpublished:h,locale:j}){let k=(0,g.kj)(),p=(0,f.useRouter)(),[q,r]=(0,e.useState)(new Map),[s,t]=(0,e.useState)(new Map),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(!1),[y,z]=(0,e.useState)(null),A=(0,e.useMemo)(()=>{let b=new Map;for(let c of a){let a=b.get(c.topic);a?a.push(c):b.set(c.topic,[c])}return[...b]},[a]),B=q.size>0||s.size>0;function C(a,b){r(c=>{let d=new Map(c);return void 0===b?d.delete(a):d.set(a,b),d})}async function D(){x(!0),z(null);let a=[],b=[],c=[];for(let[d,e]of q)"sign"===e.kind?a.push({id:d,...e.statement?{statement:e.statement}:{}}):"veto"===e.kind?b.push(d):c.push({id:d,identity:e.identity});let d=[...s].map(([a,b])=>({id:a,accept:b}));try{let e=await fetch("/api/twin/taste",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sign:a,veto:b,scope:c,resolve:d})}),f=await e.json();if(!e.ok)return void z(f.error??String(e.status));r(new Map),t(new Map),v(null),p.refresh()}catch{z(k("project.unreachable"))}finally{x(!1)}}return(0,d.jsxs)(d.Fragment,{children:[c.length>0&&(0,d.jsxs)("section",{className:"mt-8",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold",children:k("twin.proposalsTitle")}),(0,d.jsx)("p",{className:"mt-1 max-w-2xl text-sm leading-relaxed text-smoke",children:k("twin.proposalsNote")}),(0,d.jsx)("ul",{className:"mt-4 flex flex-col gap-3",role:"list",children:c.map(a=>(0,d.jsxs)("li",{className:`rounded-lg border px-4 py-4 ${s.has(a.id)?"border-l-2 border-l-chalk border-edge":"border-edge"}`,children:[(0,d.jsxs)("p",{className:"eyebrow",children:[l(a.topic,k),a.supersedes&&a.supersedes.length>1?` \xb7 ${k("twin.proposalJoins",{n:a.supersedes.length})}`:""]}),a.supersedes?.map(a=>(0,d.jsx)("p",{className:"mt-1 max-w-2xl text-sm leading-relaxed text-smoke line-through decoration-faint",children:a},a)),(0,d.jsx)("p",{className:"mt-2 max-w-2xl text-base leading-relaxed",children:a.statement}),(0,d.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,d.jsx)(o,{label:k("twin.proposalAccept"),toggle:!0,active:!0===s.get(a.id),onClick:()=>t(m(s,a.id,!0))}),(0,d.jsx)(o,{label:k("twin.proposalReject"),toggle:!0,active:!1===s.get(a.id),onClick:()=>t(m(s,a.id,!1))})]})]},a.id))})]}),A.map(([a,b])=>(0,d.jsxs)("section",{className:"mt-8",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold",children:l(a,k)}),(0,d.jsx)("ul",{className:"mt-4 flex flex-col gap-3",role:"list",children:b.map(a=>(0,d.jsx)(n,{belief:a,locale:j,gesture:q.get(a.id),stranded:"forming"!==a.badge&&h.has(a.id),editing:u===a.id,onEdit:b=>v(b?a.id:null),onGesture:b=>(function(a,b){let c=q.get(a),d=c?.kind==="sign"&&void 0!==c.statement;c&&c.kind===b.kind&&!d?C(a,void 0):C(a,b)})(a.id,b),onWrite:b=>C(a.id,{kind:"sign",statement:b}),translate:k},a.id))})]},a)),b.length>0&&(0,d.jsxs)("section",{className:"mt-8",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold",children:k("twin.graveyardTitle")}),(0,d.jsx)("p",{className:"mt-1 max-w-2xl text-sm leading-relaxed text-smoke",children:k("twin.graveyardNote")}),(0,d.jsx)("ul",{className:"mt-4 flex flex-col gap-2",role:"list",children:b.map(a=>(0,d.jsx)("li",{className:"rounded-lg border border-edge px-4 py-3 opacity-60",children:(0,d.jsx)("p",{className:"text-sm leading-relaxed text-smoke line-through decoration-faint",children:a.statement})},a.id))})]}),B&&(0,d.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,d.jsx)("span",{className:"font-mono text-xs text-smoke",children:k("twin.markedGestures",{n:q.size+s.size})}),(0,d.jsx)(i.rA,{tone:"accent",type:"button",onClick:D,busy:w,busyLabel:k("twin.saving"),children:k("twin.save")}),(0,d.jsx)(i.rA,{tone:"quiet",type:"button",onClick:()=>{r(new Map),t(new Map),v(null)},disabled:w,children:k("twin.cancel")}),y&&(0,d.jsx)("span",{className:"font-mono text-xs text-fail",children:k("twin.saveFailed",{detail:y})})]})]})}function l(a,b){let c=(0,h.Jj)(a);return c?b(c):a}function m(a,b,c){let d=new Map(a);return d.get(b)===c?d.delete(b):d.set(b,c),d}function n({belief:a,locale:b,gesture:c,stranded:f,editing:g,onEdit:k,onGesture:l,onWrite:m,translate:n}){let[p,q]=(0,e.useState)(!1),[r,s]=(0,e.useState)(a.statement),t=c?.kind==="sign"?c.statement:void 0;return(0,d.jsxs)("li",{id:`belief-${a.id}`,tabIndex:-1,className:["scroll-mt-24 rounded-lg border px-4 py-4 transition-colors",c?.kind==="sign"?"border-l-2 border-l-live border-edge bg-live/[0.05]":c?.kind==="veto"?"border-l-2 border-l-faint border-edge opacity-60":void 0!==c?"border-l-2 border-l-chalk border-edge":"border-edge"].join(" "),children:[(0,d.jsxs)("p",{className:"eyebrow",children:[(0,d.jsx)("span",{className:"forming"===a.badge?"text-idle":"",children:n(j[a.badge])}),a.scope?` \xb7 ${n("twin.scopedTag",{project:a.scope})}`:"",f?(0,d.jsx)("span",{className:"text-idle",children:` \xb7 ${n("twin.notInFile")}`}):null]}),f?(0,d.jsx)("p",{className:"mt-1 max-w-2xl text-xs leading-relaxed text-smoke",children:n("twin.notInFileWhy")}):null,g?(0,d.jsxs)("div",{className:"mt-2",children:[(0,d.jsx)(i.fs,{label:n("twin.editText"),hideLabel:!0,rows:3,className:"max-w-2xl",value:r,onChange:a=>s(a.target.value)}),(0,d.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[(0,d.jsx)(o,{label:n("twin.editSave"),active:!0,onClick:()=>{""!==r.trim()&&(m(r.trim()),k(!1))}}),(0,d.jsx)(o,{label:n("twin.cancel"),onClick:()=>{s(a.statement),k(!1)}})]})]}):(0,d.jsx)("p",{className:"mt-1 max-w-2xl text-base leading-relaxed",children:t??a.statement}),(0,d.jsxs)("p",{className:"mt-2 font-mono text-xs text-smoke",children:[a.authored?n("twinTeach.ownerEvidence"):n("twin.support",{observations:a.support.observations,projects:a.support.projects,days:a.support.days}),"forming"===a.badge?(0,d.jsx)("span",{className:"text-idle",children:` \xb7 ${n("twin.formingWhy")}`}):null,a.citations.length>0&&(0,d.jsxs)(d.Fragment,{children:[" \xb7 ",(0,d.jsx)("button",{type:"button",onClick:()=>q(a=>!a),className:"underline-offset-2 hover:underline",children:n(p?"twin.hideCitations":"twin.showCitations",{n:a.citations.length})})]})]}),p&&(0,d.jsx)("ul",{className:"mt-3 flex flex-col gap-2.5 border-l border-edge pl-3",role:"list",children:a.citations.map(a=>(0,d.jsxs)("li",{children:[(0,d.jsxs)("p",{className:"line-clamp-2 text-sm italic leading-snug text-smoke",title:a.quote,children:["\xab",a.quote,"\xbb"]}),(0,d.jsxs)("p",{className:"mt-0.5 font-mono text-xs text-faint",children:[(0,h.mL)(a.at,b),a.project?` \xb7 ${n("twin.citedIn",{project:a.project})}`:""]})]},a.verdictId))}),!g&&(0,d.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:["signed"!==a.badge&&(0,d.jsx)(o,{label:n("twin.sign"),toggle:!0,active:c?.kind==="sign"&&void 0===t,onClick:()=>l({kind:"sign"})}),(0,d.jsx)(o,{label:n("twin.edit"),toggle:!0,active:void 0!==t,onClick:()=>{s(t??a.statement),k(!0)}}),(0,d.jsx)(o,{label:n("twin.veto"),toggle:!0,active:c?.kind==="veto",onClick:()=>l({kind:"veto"})}),a.scope?(0,d.jsx)(o,{label:n("twin.scopeAll"),toggle:!0,active:c?.kind==="scope"&&null===c.identity,onClick:()=>l({kind:"scope",identity:null})}):a.learnedIn?(0,d.jsx)(o,{label:n("twin.scopeOnly",{project:a.learnedIn.name}),toggle:!0,active:c?.kind==="scope",onClick:()=>l({kind:"scope",identity:a.learnedIn?.identity??null})}):null]})]})}function o({label:a,active:b,toggle:c=!1,onClick:e}){return(0,d.jsx)(i.rA,{tone:b?"accent":"plain",type:"button",...c?{"aria-pressed":b??!1}:{},onClick:e,children:a})}},79428:a=>{"use strict";a.exports=require("buffer")},79646:a=>{"use strict";a.exports=require("child_process")},79748:a=>{"use strict";a.exports=require("fs/promises")},80314:(a,b,c)=>{"use strict";c.d(b,{Jj:()=>e,qC:()=>f});let d={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 e(a){return d[a]}function f(a,b={}){var c;let d=b.names??{},e=a.identity?d[a.identity]:void 0,g="signed"===a.state?"signed":!0===b.stands?"standing":"forming",h=Array.isArray(c=a.citations)?c.flatMap(a=>{if("object"!=typeof a||null===a)return[];let b="string"==typeof a.quote?a.quote:void 0,c="string"==typeof a.at?a.at:void 0;if(!b||!c)return[];let d="string"==typeof a.project?a.project:void 0;return[{verdictId:"string"==typeof a.verdictId?a.verdictId:`${b}${c}`,quote:b,at:c,...d?{project:d}:{}}]}):[];return{id:a.id,topic:a.topic,statement:a.statement,badge:g,..."owner"===a.model?{authored:!0}:{},support:function(a){if("object"!=typeof a||null===a)return{observations:0,projects:0,days:0};let b=b=>"number"==typeof a[b]?Math.max(0,a[b]):0;return{observations:b("observations"),projects:b("projects"),days:b("days")}}(a.support),...e?{scope:e}:{},...e?{}:function(a,b){let c=new Set(a.map(a=>a.project??""));if(1!==c.size)return{};let d=[...c][0],e=b[d];return e?{learnedIn:{identity:e,name:d}}:{}}(h,b.identities??{}),...b.supersedes&&b.supersedes.length>0?{supersedes:b.supersedes}:{},updatedAt:"string"==typeof a.updatedAt?a.updatedAt:a.updatedAt.toISOString(),citations:h}}},81085:(a,b,c)=>{"use strict";c.d(b,{BeliefEditor:()=>d});let d=(0,c(61746).registerClientReference)(function(){throw Error("Attempted to call BeliefEditor() from the server but BeliefEditor is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/private/tmp/panoma-0.10.3/apps/web/components/belief-editor.tsx","BeliefEditor")},81630:a=>{"use strict";a.exports=require("http")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},86732:(a,b,c)=>{"use strict";c.d(b,{TwinLab:()=>d});let d=(0,c(61746).registerClientReference)(function(){throw Error("Attempted to call TwinLab() from the server but TwinLab is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/private/tmp/panoma-0.10.3/apps/web/components/twin-lab.tsx","TwinLab")},87842:(a,b)=>{"use strict";function c(a){return a.startsWith("/")?a:"/"+a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ensureLeadingSlash",{enumerable:!0,get:function(){return c}})},88885:(a,b,c)=>{"use strict";c.d(b,{TwinSources:()=>i});var d=c(17016),e=c(65065),f=c(74198),g=c(65862),h=c(66384);function i({sources:a}){let b=(0,g.kj)(),c=(0,f.useRouter)(),[i,j]=(0,e.useState)(null),[k,l]=(0,e.useState)(null),[m,n]=(0,e.useState)(a);async function o(a,d){j(a),l(null);try{let b=await fetch("/api/twin/sources",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:a,allowed:d})}),e=await b.json();if(!b.ok)return void l(e.error??String(b.status));e.sources&&n(e.sources),c.refresh()}catch{l(b("project.unreachable"))}finally{j(null)}}let p=m.filter(a=>"absent"!==a.state);return 0===p.length?(0,d.jsxs)(h.Zp,{as:"section",tone:"plain","aria-labelledby":"twin-sources-title",children:[(0,d.jsx)("h2",{id:"twin-sources-title",className:"text-base font-semibold",children:b("twin.sourcesTitle")}),(0,d.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed",children:b("twin.sourcesNone")})]}):(0,d.jsxs)(h.Zp,{as:"section",tone:"plain","aria-labelledby":"twin-sources-title",children:[(0,d.jsx)("h2",{id:"twin-sources-title",className:"text-base font-semibold",children:b("twin.sourcesTitle")}),(0,d.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed",children:b("twin.sourcesLead")}),(0,d.jsx)("div",{className:"mt-3 flex flex-col gap-2",children:p.map(a=>(0,d.jsxs)("div",{className:"grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-4 gap-y-1",children:[(0,d.jsxs)("span",{className:"min-w-0",children:[(0,d.jsx)("span",{className:"font-mono text-xs",children:a.label})," ",(0,d.jsx)("span",{className:"font-mono text-xs text-smoke",children:a.present?b("twin.sourceSize",{files:a.files,size:(0,h.z3)(a.bytes)}):b("twin.sourceGone")})]}),"noReader"===a.state?(0,d.jsx)("span",{className:"justify-self-end font-mono text-xs text-idle",children:b("twin.sourceNoReader")}):(0,d.jsx)(h.rA,{tone:"allowed"===a.state?"plain":"accent",type:"button",onClick:()=>o(a.id,"allowed"!==a.state),busy:i===a.id,busyLabel:b("twin.saving"),disabled:null!==i,className:"justify-self-end",children:b("allowed"===a.state?"twin.sourceRevoke":"twin.sourceAllow")})]},a.id))}),(0,d.jsx)("p",{className:"mt-3 max-w-2xl font-mono text-xs text-faint",children:b("twin.sourcesRevokeNote")}),k&&(0,d.jsx)(h.lZ,{text:k,className:"mt-2"})]})}},90635:(a,b,c)=>{"use strict";c.d(b,{TwinSynthesize:()=>i});var d=c(17016),e=c(65065),f=c(74198),g=c(65862),h=c(66384);function i({pending:a,ready:b,compact:c}){let i=(0,g.kj)(),j=(0,f.useRouter)(),[k,l]=(0,e.useState)(!1),[m,n]=(0,e.useState)(null);async function o(){l(!0),n(null);try{let b=0;if(a>0){let a=await fetch("/api/twin/classify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),c=await a.json();if(!a.ok)return void n(c.error??i("twin.synthFailed"));b+=c.truncated??0}let c=await fetch("/api/twin/synthesize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),d=await c.json();if(!c.ok)return void n(d.error??i("twin.synthFailed"));b+=d.truncated??0;let e=d.created??0,f=d.refined??0,g=d.retired??0,h=d.proposed??0,k=e+f+g+h,l=d.unchanged??0,m=0===d.topics?l>0?i("twin.synthUpToDate"):i("twin.synthNothing"):i("twin.synthSame"),o=i("twin.synthDone",{created:e,refined:f,retired:g}),p=0===k?m:0===h?o:`${o} ${i("twin.synthAsks",{n:h})}`;n(b>0?`${p} ${i("twin.synthTruncated",{n:b})}`:p),j.refresh()}catch{n(i("project.unreachable"))}finally{l(!1)}}return(0,d.jsxs)("div",{className:c?"flex items-center gap-2":"mt-3 flex flex-col gap-1",children:[(0,d.jsx)(h.rA,{tone:"plain",type:"button",onClick:o,busy:k,busyLabel:i("twin.synthesizing"),disabled:!b,"aria-describedby":b?void 0:"twin-synth-why",className:"self-start",children:i("twin.synthesize")}),b?(0,d.jsx)("div",{role:"status","aria-live":"polite",children:m?(0,d.jsx)("p",{className:"font-mono text-xs text-smoke",children:m}):c?null:(0,d.jsx)("p",{className:"text-xs leading-relaxed text-smoke",children:i("twin.synthHint")})}):(0,d.jsx)("p",{id:"twin-synth-why",className:"text-xs leading-relaxed text-smoke",children:i("twin.synthNothing")})]})}},94304:(a,b,c)=>{"use strict";c.d(b,{TwinMemory:()=>d});let d=(0,c(61746).registerClientReference)(function(){throw Error("Attempted to call TwinMemory() from the server but TwinMemory is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/private/tmp/panoma-0.10.3/apps/web/components/twin-memory.tsx","TwinMemory")},98723:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{normalizeAppPath:function(){return f},normalizeRscURL:function(){return g}});let d=c(87842),e=c(53392);function f(a){return(0,d.ensureLeadingSlash)(a.split("/").reduce((a,b,c,d)=>!b||(0,e.isGroupSegment)(b)||"@"===b[0]||("page"===b||"route"===b)&&c===d.length-1?a:a+"/"+b,""))}function g(a){return a.replace(/\.rsc($|\?)/,"$1")}},99232:(a,b,c)=>{"use strict";c.d(b,{d:()=>g,q:()=>f});var d=c(62490);let e=a=>null!=a&&!1!==a;function f({eyebrow:a,title:b,lead:c,note:f,headExtra:g,measure:h="text",children:i}){return(0,d.jsx)("main",{id:"app-main",tabIndex:-1,className:`app-main page-shell page-shell--${h}`,children:(0,d.jsxs)("div",{className:"page-shell__inner",children:[e(a)||e(b)||e(c)||e(f)||e(g)?(0,d.jsxs)("header",{className:"page-shell__head",children:[e(a)?(0,d.jsx)("p",{className:"eyebrow",children:a}):null,e(b)?(0,d.jsx)("h1",{className:"page-shell__title",children:b}):null,e(c)?(0,d.jsx)("p",{className:"page-shell__lead",children:c}):null,e(f)?(0,d.jsx)("p",{className:"page-shell__note",children:f}):null,g]}):null,i]})})}function g({id:a,title:b,labelledBy:c,children:f}){return(0,d.jsxs)("section",{...a?{id:a,tabIndex:-1}:{},...c&&!e(b)?{"aria-labelledby":c}:{},className:`page-shell__section${a?" scroll-mt-24":""}`,children:[e(b)?(0,d.jsx)("h2",{className:"eyebrow page-shell__section-title",children:b}):null,f]})}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2387,987,9938,1646,8463,3171,6913,1214,7245,4810,4478,2658,7865,8280,6384,993],()=>b(b.s=56498));module.exports=c})();
|