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 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1080],{4737:(e,s,t)=>{"use strict";t.d(s,{VideoProduction:()=>I});var a=t(38657),l=t(3953),n=t.n(l),o=t(32165),i=t(3043),r=t(9144),d=t(57776),c=t(76982),p=t(52948),m=t(97234);let u=Object.fromEntries(m.t3.map(e=>[e.value,e.ratio])),x={es:"Espa\xf1ol",en:"English"},b="mt-2 block w-full rounded border border-edge bg-surface p-2",j="rounded-xl border border-edge p-5";function h(e){let{width:s,height:t}=e,l=s>=t?22:Math.round(22*s/t),n=t>=s?22:Math.round(22*t/s);return(0,a.jsx)("svg",{"aria-hidden":!0,viewBox:"0 0 24 24",className:"size-6 shrink-0",children:(0,a.jsx)("rect",{x:(24-l)/2,y:(24-n)/2,width:l,height:n,rx:"2",fill:"none",stroke:"currentColor",strokeWidth:"1.5"})})}function v(e){let{value:s,onChange:t,label:l,disabled:n=!1}=e,i=(0,r.kj)(),d=(0,o.useId)();return(0,a.jsxs)("fieldset",{className:"min-w-0 text-sm",disabled:n,children:[(0,a.jsx)("legend",{children:l}),(0,a.jsx)("div",{className:"mt-2 grid grid-cols-3 gap-2",children:m.t3.map(e=>{let l=s===e.value;return(0,a.jsxs)("label",{className:"flex cursor-pointer flex-col items-center gap-1 rounded border px-2 py-2 text-center has-[:focus-visible]:outline-2 has-[:focus-visible]:outline-offset-2 has-[:focus-visible]:outline-accent ".concat(l?"border-accent bg-raised text-chalk":"border-edge text-smoke hover:border-edge-bright"),title:i("apps.jobs.formatFor".concat(e.value.toUpperCase())),children:[(0,a.jsx)("input",{type:"radio",name:d,value:e.value,checked:l,onChange:()=>t(e.value),className:"sr-only"}),(0,a.jsx)(h,{width:e.width,height:e.height}),(0,a.jsx)("span",{className:"text-xs font-semibold",children:i(e.key)}),(0,a.jsx)("span",{className:"font-mono text-[10px] text-faint",children:e.ratio}),(0,a.jsx)("span",{className:"sr-only",children:i("apps.jobs.formatFor".concat(e.value.toUpperCase()))})]},e.value)})})]})}function f(e){var s,t,l,o,i;let{t:r,app:d,identity:u,slug:x,credential:b}=e,h=(0,m.CG)(d),v=e=>{let s=h.find(s=>s.id===e);return(null==s?void 0:s.present)===!0?{tone:"live",text:r("apps.present")}:(null==s?void 0:s.present)===!1?{tone:"idle",text:r("apps.missing")}:{tone:"neutral",text:r("apps.unchecked")}},f=null!=(o=null==(s=d.settings)?void 0:s.brain)?o:"none",g="none"===f?r("apps.none"):"auto"===f?r("apps.auto"):null!=(i=null==(t=c.n.find(e=>e.value===f))?void 0:t.label)?i:f,N=!!(null==(l=d.settings)?void 0:l.voice),k=N&&null!==b&&!b.configured,y=N?k?{tone:"idle",text:"".concat(r("apps.jobs.voiceOn")," \xb7 ").concat(r("apps.key.missing"))}:{tone:"live",text:(null==b?void 0:b.configured)?"".concat(r("apps.jobs.voiceOn")," \xb7 ").concat(r("apps.key.configured")):r("apps.jobs.voiceOn")}:{tone:"neutral",text:r("apps.jobs.voiceOff")},w=[{label:r("apps.jobs.beforeApp"),tone:d.version?"live":"idle",text:d.version?"panoma video ".concat(d.version):r("apps.status.absent")},{label:r("apps.browser"),...v("browser")},{label:r("apps.ffmpeg"),...v("ffmpeg")},{label:r("apps.jobs.beforeBrain"),tone:"none"===f?"neutral":"live",text:g},{label:r("apps.jobs.beforeVoice"),...y},{label:r("apps.jobs.beforeProject"),tone:u?"live":"idle",text:u?x:r("apps.jobs.noIdentity")}],C=!!(d.ready&&!1!==d.enabled&&u&&!k);return(0,a.jsxs)("section",{className:"mt-5 ".concat(j),"aria-labelledby":"video-preflight-title",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,a.jsx)("h2",{id:"video-preflight-title",className:"font-display text-xl font-semibold",children:r("apps.jobs.beforeTitle")}),(0,a.jsx)(p.vw,{size:"md",tone:C?"live":"idle",children:r(C?"apps.jobs.beforeReady":"apps.jobs.beforeNotReady")})]}),(0,a.jsx)("p",{className:"mt-2 text-sm text-smoke",children:r("apps.jobs.beforeIntro")}),(0,a.jsx)("dl",{className:"mt-4 grid gap-x-6 gap-y-2 text-sm sm:grid-cols-2",children:w.map(e=>(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3 border-t border-edge pt-2",children:[(0,a.jsx)("dt",{className:"text-smoke",children:e.label}),(0,a.jsx)("dd",{children:(0,a.jsx)(p.vw,{size:"md",tone:e.tone,children:e.text})})]},e.label))}),(0,a.jsx)(n(),{className:"mt-4 inline-block text-sm underline underline-offset-4",href:"/apps/panoma-video?project=".concat(encodeURIComponent(x)),children:r("apps.jobs.changeInApp")})]})}function g(e){let{value:s,tracks:t,onChange:l,label:n}=e;return(0,a.jsxs)("label",{className:"text-sm",children:[n,(0,a.jsx)("select",{className:b,value:s,onChange:e=>l(e.target.value),children:t.map(e=>(0,a.jsx)("option",{value:e,children:x[e]},e))})]})}function N(e){let{t:s,locked:t,onStart:l}=e,n=(0,r.Ym)(),[i,d]=(0,o.useState)("promo"),[c,p]=(0,o.useState)("v"),[m,u]=(0,o.useState)(n),[x,h]=(0,o.useState)("");return(0,a.jsxs)("form",{className:"mt-7 ".concat(j),onSubmit:e=>{e.preventDefault(),l({goal:i,format:c,language:m,url:x})},children:[(0,a.jsxs)("div",{className:"grid gap-4 sm:grid-cols-[1fr_auto_1fr]",children:[(0,a.jsxs)("label",{className:"text-sm",children:[s("apps.jobs.goal"),(0,a.jsxs)("select",{className:b,value:i,onChange:e=>d(e.target.value),children:[(0,a.jsx)("option",{value:"promo",children:s("apps.jobs.promo")}),(0,a.jsx)("option",{value:"tutorial",children:s("apps.jobs.tutorial")}),(0,a.jsx)("option",{value:"spotlight",children:s("apps.jobs.spotlight")})]})]}),(0,a.jsx)(v,{value:c,onChange:p,label:s("apps.jobs.format")}),(0,a.jsx)(g,{value:m,tracks:["es","en"],onChange:u,label:s("apps.jobs.language")})]}),(0,a.jsxs)("label",{className:"mt-4 block text-sm",children:[s("apps.jobs.url"),(0,a.jsx)("input",{className:b,type:"url",inputMode:"url",placeholder:"http://127.0.0.1:4173",value:x,onChange:e=>h(e.target.value)}),(0,a.jsx)("span",{className:"mt-1 block text-xs text-faint",children:s("apps.jobs.urlHint")})]}),(0,a.jsx)("button",{className:"apps-button apps-button-primary mt-5",disabled:t,children:s("apps.jobs.start")})]})}function k(e){let{state:s}=e;return"done"===s?(0,a.jsx)(i.mmf,{"aria-hidden":!0,className:"size-4 shrink-0 text-live"}):"failed"===s?(0,a.jsx)(i.fZH,{"aria-hidden":!0,className:"size-4 shrink-0 text-fail"}):"skipped"===s?(0,a.jsx)(i.YJZ,{"aria-hidden":!0,className:"size-4 shrink-0 text-faint"}):(0,a.jsx)("span",{"aria-hidden":!0,className:"flex size-4 shrink-0 items-center justify-center",children:(0,a.jsx)("span",{className:"size-2 rounded-full ".concat("current"===s?"bg-accent animate-pulse":"border border-edge-bright")})})}function y(e){let{t:s,job:t}=e,{asked:l,others:n}=(0,m.hY)(t);if(!l.length&&!n.length)return null;let o="string"==typeof t.input.goal?t.input.goal:"all",i=e=>{let t=m.i9[e];return t?s(t):e},r=l.length?l:n,d=l.length?n:[];return(0,a.jsxs)("div",{className:"mt-4 rounded border border-edge bg-raised p-3 text-sm",children:[(0,a.jsx)("p",{className:"text-smoke",children:"all"!==o&&l.length?s("apps.jobs.notPlanned",{goal:i(o)}):s("apps.jobs.notPlannedAny")}),(0,a.jsx)("ul",{className:"mt-2 space-y-2",children:r.map(e=>(0,a.jsxs)("li",{children:[(0,a.jsx)("p",{className:"font-semibold",children:i(e.goal)}),(0,a.jsx)("blockquote",{className:"mt-1 break-words",children:e.why})]},e.goal))}),d.length>0&&(0,a.jsxs)("details",{className:"mt-3",children:[(0,a.jsx)("summary",{className:"text-smoke",children:s("apps.jobs.otherGoals")}),(0,a.jsx)("ul",{className:"mt-2 space-y-2",children:d.map(e=>(0,a.jsxs)("li",{children:[(0,a.jsx)("p",{className:"font-semibold",children:i(e.goal)}),(0,a.jsx)("blockquote",{className:"mt-1 break-words text-smoke",children:e.why})]},e.goal))})]})]})}function w(e){var s,t;let{t:l,job:n,locked:i,onCancel:r}=e,c=m.Cn.has(n.status),[u,x]=(0,o.useState)(()=>Date.now());(0,o.useEffect)(()=>{if(!c)return;let e=setInterval(()=>x(Date.now()),1e3);return()=>clearInterval(e)},[c]);let b=(0,m.X0)(n),h=(0,m.p_)(n,u),v=c&&!m.I.includes(null!=(t=null==(s=n.progress)?void 0:s.stage)?t:""),f=b.find(e=>"plan"===e.name&&"failed"===e.state),{asked:g,others:N}=(0,m.hY)(n),w=!!(f&&(g.length||N.length));return(0,a.jsxs)("section",{className:"mt-7 ".concat(j),"aria-labelledby":"video-stages-title","aria-live":c?"polite":void 0,children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,a.jsx)("h2",{id:"video-stages-title",className:"font-display text-xl font-semibold",children:l(c?"apps.jobs.stages":"apps.jobs.report")}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[!c&&(0,a.jsx)(p.vw,{size:"md",tone:"done"===n.status?"live":"failed"===n.status?"fail":"neutral",children:l("apps.jobs.".concat("done"===n.status?"done":"failed"===n.status?"failed":"cancelled"))}),c&&r&&(0,a.jsx)("button",{className:"apps-button",disabled:i&&"cancelling"===n.status,onClick:()=>r(n),children:l("apps.jobs.cancel")})]})]}),void 0!==h&&(0,a.jsxs)("p",{className:"mt-2 text-sm text-smoke",children:[l(c?"apps.jobs.elapsed":"apps.jobs.took",{time:h<60?l("apps.jobs.seconds",{s:h}):l("apps.jobs.minutes",{m:Math.floor(h/60),s:h%60})}),n.requestedBy&&(0,a.jsxs)(a.Fragment,{children:[" ",l("apps.jobs.requestedBy",{name:n.requestedBy})]})]}),v&&(0,a.jsx)("p",{className:"mt-2 text-sm text-smoke",children:l("apps.jobs.starting")}),(0,a.jsx)("ol",{className:"mt-4 grid gap-x-6 gap-y-1 sm:grid-cols-2",children:b.map(e=>(0,a.jsxs)("li",{className:"flex gap-2 py-1 text-sm ".concat("pending"===e.state||"skipped"===e.state?"text-faint":"text-chalk"),"aria-current":"current"===e.state?"step":void 0,children:[(0,a.jsx)("span",{className:"mt-0.5",children:(0,a.jsx)(k,{state:e.state})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsxs)("p",{className:"current"===e.state?"font-semibold":"",children:[l("apps.jobs.stage.".concat(e.name)),(0,a.jsxs)("span",{className:"sr-only",children:[" \xb7 ",l("apps.jobs.stageState.".concat(e.state))]})]}),e.summary&&!("plan"===e.name&&w)&&(0,a.jsx)("blockquote",{className:"mt-0.5 break-words text-xs text-smoke",children:e.summary})]})]},e.name))}),!c&&n.error&&(0,a.jsx)(d.uV,{error:n.error}),f&&(0,a.jsx)(y,{t:l,job:n}),!c&&"done"===n.status&&(0,a.jsx)("p",{className:"mt-3 text-sm text-smoke",children:l("apps.jobs.reportDone")})]})}function C(e){var s;let{t,job:l,locked:n,onEnqueue:o}=e,i=(0,m.Zp)(l),r=i.find(e=>"video"===e.kind),d=i.find(e=>"image"===e.kind),c=l.result,p=null!=(s=null==c?void 0:c.renders)?s:(null==c?void 0:c.render_id)?[{id:c.render_id,file:""}]:[];return(0,a.jsxs)("section",{className:"mt-7 ".concat(j),children:[(0,a.jsx)("h2",{className:"font-display text-xl font-semibold",children:t("apps.jobs.preview")}),r&&(0,a.jsx)("video",{controls:!0,preload:"metadata",className:"mt-4 max-h-[540px] w-full rounded bg-raised",src:(0,m.Wk)(l.id,r.path),"aria-label":t("apps.jobs.preview")}),d&&(0,a.jsx)("a",{href:(0,m.Wk)(l.id,d.path),target:"_blank",rel:"noreferrer",children:(0,a.jsx)("img",{className:"mt-4 max-h-80 w-full rounded object-contain",src:(0,m.Wk)(l.id,d.path),alt:t("apps.jobs.contacts")})}),(0,a.jsx)("h3",{className:"mt-4 text-sm font-semibold",children:t("apps.jobs.artifacts")}),(0,a.jsx)("ul",{className:"mt-2 space-y-1 text-sm",children:i.map(e=>(0,a.jsx)("li",{children:(0,a.jsx)("a",{className:"break-all underline",href:(0,m.Wk)(l.id,e.path),download:e.name,children:e.name})},e.path))}),(0,a.jsx)("div",{className:"mt-4 flex flex-wrap gap-2",children:p.map(e=>(0,a.jsxs)("button",{className:"apps-button",disabled:n,onClick:()=>o("panoma_video_review",{render_id:e.id}),children:[t("apps.jobs.review"),p.length>1?" \xb7 ".concat(e.id):""]},e.id))})]})}function _(e){var s;let{t,production:l,brief:n,historical:o,current:i,languages:r,format:d,language:c,locked:p,onFormat:b,onLanguage:h,onEnqueue:f,onOpenCurrent:N}=e;if(o)return(0,a.jsxs)("section",{className:"mt-5 ".concat(j),children:[(0,a.jsx)("p",{className:"text-sm text-smoke",children:t("apps.jobs.historical")}),i&&(0,a.jsx)("button",{className:"apps-button mt-3",onClick:()=>N(i.id),children:t("apps.jobs.current")})]});let k=n?t("apps.jobs.exportVariant",{format:null!=(s=u[d])?s:d,language:x[c]}):t("apps.jobs.export");return(0,a.jsxs)("section",{className:"mt-5 ".concat(j),children:[(0,a.jsx)("p",{className:"text-sm text-smoke",children:t("apps.jobs.savedStory")}),n&&(0,a.jsxs)("div",{className:"mt-4 grid gap-4 sm:grid-cols-[auto_1fr]",children:[(0,a.jsx)(v,{value:d,onChange:b,label:t("apps.jobs.format"),disabled:p}),(0,a.jsx)(g,{value:c,tracks:r,onChange:h,label:t("apps.jobs.language")})]}),(0,a.jsxs)("div",{className:"mt-4 flex flex-wrap gap-3",children:[(0,a.jsx)("button",{className:"apps-button",disabled:p,onClick:()=>{let e=(0,m.KU)(l,{language:c,format:d});f(e.tool,e.input)},children:k}),n&&(0,a.jsx)("button",{className:"apps-button",disabled:p,onClick:()=>f("panoma_video_story",{brief_id:n}),children:t("apps.jobs.story")})]})]})}function S(e){let{t:s,story:t,brief:l,language:n,format:i,locked:d,onEnqueue:c}=e,p=(0,r.Ym)(),[m,u]=(0,o.useState)(""),[x,h]=(0,o.useState)("");return(0,o.useEffect)(()=>{u(""),h("")},[t.revision,n]),(0,a.jsxs)("section",{className:"mt-7 ".concat(j),children:[(0,a.jsx)("h2",{className:"font-display text-xl font-semibold",children:s("apps.jobs.revise")}),(0,a.jsx)("p",{className:"mt-2 text-sm text-smoke",children:s("apps.jobs.revisionHelp")}),(0,a.jsxs)("label",{className:"mt-4 block text-sm",children:[s("apps.jobs.scene"),(0,a.jsxs)("select",{className:b,value:m,onChange:e=>{var s;u(e.target.value);let a=t.scenes.find(s=>s.id===e.target.value);h(null!=(s=null==a?void 0:a.text[n])?s:"")},children:[(0,a.jsx)("option",{value:"",children:"—"}),t.scenes.filter(e=>e.editable).map(e=>(0,a.jsxs)("option",{value:e.id,children:[e.id," \xb7 ",e.text[n]]},e.id))]})]}),(0,a.jsxs)("label",{className:"mt-4 block text-sm",children:[s("apps.jobs.revision"),(0,a.jsx)("textarea",{className:"mt-2 block min-h-28 w-full rounded border border-edge bg-surface p-3",value:x,maxLength:1e3,onChange:e=>h(e.target.value)})]}),(0,a.jsx)("button",{className:"apps-button mt-4",disabled:d||!m||!x.trim(),onClick:()=>c("panoma_video_revise",{brief_id:l,expectedRevision:t.revision,edits:[{kind:"text",sceneId:m,lang:n,text:x}]}),children:s("apps.jobs.revise")}),l&&(0,a.jsx)("button",{className:"apps-button ml-3 mt-4",disabled:d,onClick:()=>c("panoma_video_render",{brief_id:l,lang:n,format:i}),children:s("apps.jobs.start")}),t.history&&(0,a.jsxs)("details",{className:"mt-5",children:[(0,a.jsx)("summary",{className:"text-sm",children:s("apps.jobs.history")}),(0,a.jsx)("ul",{className:"mt-3 space-y-3",children:t.history.map(e=>(0,a.jsxs)("li",{className:"rounded border border-edge p-3",children:[(0,a.jsxs)("p",{className:"text-xs text-smoke",children:[new Date(e.at).toLocaleString(p)," \xb7 ",e.number]}),(0,a.jsx)("blockquote",{className:"mt-1 text-sm",children:e.note}),e.revision!==t.revision&&(0,a.jsx)("button",{className:"apps-button mt-2",disabled:d,onClick:()=>c("panoma_video_revise",{brief_id:l,expectedRevision:t.revision,restoreRevision:e.revision}),children:s("apps.jobs.restore")})]},e.revision))})]})]})}function E(e){var s,t;let{t:l,job:n}=e,o=n.result,i=null!=(s=null==o?void 0:o.checks)?s:[];return(0,a.jsxs)("details",{className:"mt-4 rounded border border-edge p-4",children:[(0,a.jsx)("summary",{children:l("apps.jobs.reviewStatus",{status:null!=(t=null==o?void 0:o.status)?t:n.status})}),(0,a.jsx)("h3",{className:"mt-3 text-sm font-semibold",children:l("apps.jobs.reviewChecks")}),(0,a.jsx)("ul",{className:"mt-2 space-y-2 text-sm",children:i.map(e=>{var s;return(0,a.jsxs)("li",{className:"rounded border border-edge p-3",children:[(0,a.jsxs)("p",{className:"font-mono text-xs",children:[e.id," \xb7 ",e.status]}),(0,a.jsx)("blockquote",{className:"mt-1",children:e.summary}),e.threshold&&(0,a.jsx)("p",{className:"mt-1 text-xs text-smoke",children:e.threshold}),(null==(s=e.fix)?void 0:s.hint)&&(0,a.jsx)("blockquote",{className:"mt-1 text-xs text-smoke",children:e.fix.hint})]},e.id)})})]})}function q(e){let{t:s,jobs:t,locked:l,onCancel:n,onEnqueue:o}=e;return(0,a.jsxs)("section",{className:"mt-8",children:[(0,a.jsx)("h2",{className:"font-display text-xl font-semibold",children:s("apps.jobs.title")}),(0,a.jsx)(d.jY,{jobs:t,onCancel:n}),t.filter(e=>"failed"===e.status||"cancelled"===e.status).map(e=>(0,a.jsxs)("button",{className:"apps-button mr-2 mt-3",disabled:l,onClick:()=>o(e.tool,e.input),children:[s("apps.jobs.retry")," \xb7 ",e.tool]},e.id)),t.filter(e=>"panoma_video_review"===e.tool&&e.result).map(e=>(0,a.jsx)(E,{t:s,job:e},e.id))]})}function I(e){var s,t,l;let{projectId:i,identity:c,slug:p}=e,u=(0,r.kj)(),x=(0,r.Ym)(),[j,h]=(0,o.useState)(null),[v,g]=(0,o.useState)([]),[k,y]=(0,o.useState)(null),[E,I]=(0,o.useState)(!1),[z,O]=(0,o.useState)(""),[R,P]=(0,o.useState)(null),[T,Y]=(0,o.useState)(null),[A,D]=(0,o.useState)(null),F=(0,o.useCallback)(async()=>{try{let e=await (0,m.Tl)("/api/apps/panoma-video");if(h(e),c){let e="identity=".concat(encodeURIComponent(c)),s=await (0,m.Tl)("/api/apps/panoma-video/jobs?".concat(e));g(s.jobs)}y(null)}catch(e){y(e.message)}},[c]);(0,o.useEffect)(()=>{F()},[F]);let U=!!(null==j||null==(s=j.settings)?void 0:s.voice);(0,o.useEffect)(()=>{if(!U)return void D(null);let e=new AbortController;return(0,m.Tl)("/api/apps/panoma-video/credentials",void 0,"GET",e.signal).then(s=>{e.signal.aborted||D(s)}).catch(()=>{e.signal.aborted||D(null)}),()=>e.abort()},[U]);let B=v.find(e=>m.Cn.has(e.status)),L=null==B?void 0:B.id;(0,o.useEffect)(()=>{if(!L)return;let e=new AbortController;return(0,m.E4)(L,e.signal,e=>{g(s=>s.map(s=>s.id===e.id?e:s)),y(null),m.Cn.has(e.status)||F()},y),()=>e.abort()},[L,F]);let V=(0,o.useCallback)((e,s)=>{c&&(I(!0),y(null),(0,m.Tl)("/api/apps/panoma-video/jobs",{identity:c,projectId:i,tool:e,input:s}).then(F).catch(e=>y(e.message)).finally(()=>I(!1)))},[c,i,F]),W=v.filter(e=>e.result&&"panoma_video_auto"===e.tool&&"done"===e.status),H=null!=(t=W.find(e=>e.id===z))?t:W[0],M=v.find(e=>"panoma_video_auto"===e.tool),{brief:Z,job:G}=(0,m.Lu)(v,H),J=null==G?void 0:G.result,K=(0,m.nn)(v,H),Q=!!(H&&(null==K?void 0:K.id)!==H.id),X=(0,m.Ht)(H,G),$=R&&X.includes(R)?R:X[0],ee=null==H?void 0:H.input.format,es=null!=T?T:(0,m.Fv)(ee)?ee:"v";(0,o.useEffect)(()=>{P(null),Y(null)},[null==H?void 0:H.id]);let et=E||!!B||!(null==j?void 0:j.ready)||!1===j.enabled||!c,ea=v.filter(e=>"panoma_video_review"!==e.tool&&(0,m.Zp)(e).length>0&&(!Q||e.id===(null==H?void 0:H.id))&&("panoma_video_auto"!==e.tool||e.id===(null==H?void 0:H.id))),el=e=>{(0,m.Tl)("/api/apps/jobs/".concat(e.id,"/cancel"),{}).then(F).catch(e=>y(e.message))};return(0,a.jsxs)(a.Fragment,{children:[!c&&(0,a.jsx)("p",{className:"mt-5 rounded border border-edge p-4 text-sm",children:u("apps.jobs.noIdentity")}),j&&(!j.ready||!1===j.enabled)&&(0,a.jsxs)("div",{className:"mt-5 rounded border border-edge p-4",children:[(0,a.jsx)("p",{className:"text-sm",children:u("apps.needsSetup")}),(0,a.jsx)(n(),{className:"apps-button mt-3 inline-flex",href:"/apps/panoma-video?project=".concat(encodeURIComponent(p)),children:u("apps.open")})]}),j&&(0,a.jsx)(f,{t:u,app:j,identity:c,slug:p,credential:A}),(0,a.jsx)(N,{t:u,locked:et,onStart:e=>V("panoma_video_auto",(0,m.EQ)(e))}),(0,a.jsx)(d.uV,{error:k}),B&&(0,a.jsx)(w,{t:u,job:B,locked:et,onCancel:el}),!B&&M&&"done"!==M.status&&(0,a.jsx)(w,{t:u,job:M,locked:et}),W.length>1&&(0,a.jsxs)("label",{className:"mt-6 block text-sm",children:[u("apps.jobs.chooseProduction"),(0,a.jsx)("select",{className:b,value:null!=(l=null==H?void 0:H.id)?l:"",onChange:e=>O(e.target.value),children:W.map(e=>{var s,t;let l=null==(s=e.result.briefs)?void 0:s.map(e=>e.id).join(", "),n=new Date(null!=(t=e.requestedAt)?t:"").toLocaleString(x);return(0,a.jsxs)("option",{value:e.id,children:[n," \xb7 ",null!=l?l:e.id]},e.id)})})]}),ea.map(e=>(0,a.jsx)(C,{t:u,job:e,locked:et,onEnqueue:V},e.id)),H&&(0,a.jsx)(_,{t:u,production:H,brief:Z,historical:Q,current:K,languages:X,format:es,language:$,locked:et,onFormat:Y,onLanguage:P,onEnqueue:V,onOpenCurrent:O}),!Q&&(null==J?void 0:J.scenes)&&J.revision&&(0,a.jsx)(S,{t:u,story:J,brief:Z,language:$,format:es,locked:et,onEnqueue:V}),(0,a.jsx)(q,{t:u,jobs:v,locked:et,onCancel:el,onEnqueue:V})]})}},40707:(e,s,t)=>{Promise.resolve().then(t.bind(t,4737)),Promise.resolve().then(t.t.bind(t,3953,23))}},e=>{e.O(0,[6587,3953,2575,2948,1369,2921,1305,6823,7358],()=>e(e.s=40707)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1080],{4737:(e,s,t)=>{"use strict";t.d(s,{VideoProduction:()=>I});var a=t(38657),l=t(3953),n=t.n(l),o=t(32165),i=t(3043),r=t(9144),d=t(57776),c=t(76982),p=t(52948),m=t(97234);let u=Object.fromEntries(m.t3.map(e=>[e.value,e.ratio])),x={es:"Espa\xf1ol",en:"English"},b="mt-2 block w-full rounded border border-edge bg-surface p-2",j="rounded-xl border border-edge p-5";function h(e){let{width:s,height:t}=e,l=s>=t?22:Math.round(22*s/t),n=t>=s?22:Math.round(22*t/s);return(0,a.jsx)("svg",{"aria-hidden":!0,viewBox:"0 0 24 24",className:"size-6 shrink-0",children:(0,a.jsx)("rect",{x:(24-l)/2,y:(24-n)/2,width:l,height:n,rx:"2",fill:"none",stroke:"currentColor",strokeWidth:"1.5"})})}function v(e){let{value:s,onChange:t,label:l,disabled:n=!1}=e,i=(0,r.kj)(),d=(0,o.useId)();return(0,a.jsxs)("fieldset",{className:"min-w-0 text-sm",disabled:n,children:[(0,a.jsx)("legend",{children:l}),(0,a.jsx)("div",{className:"mt-2 grid grid-cols-3 gap-2",children:m.t3.map(e=>{let l=s===e.value;return(0,a.jsxs)("label",{className:"flex cursor-pointer flex-col items-center gap-1 rounded border px-2 py-2 text-center has-[:focus-visible]:outline-2 has-[:focus-visible]:outline-offset-2 has-[:focus-visible]:outline-accent ".concat(l?"border-accent bg-raised text-chalk":"border-edge text-smoke hover:border-edge-bright"),title:i("apps.jobs.formatFor".concat(e.value.toUpperCase())),children:[(0,a.jsx)("input",{type:"radio",name:d,value:e.value,checked:l,onChange:()=>t(e.value),className:"sr-only"}),(0,a.jsx)(h,{width:e.width,height:e.height}),(0,a.jsx)("span",{className:"text-xs font-semibold",children:i(e.key)}),(0,a.jsx)("span",{className:"font-mono text-[10px] text-faint",children:e.ratio}),(0,a.jsx)("span",{className:"sr-only",children:i("apps.jobs.formatFor".concat(e.value.toUpperCase()))})]},e.value)})})]})}function f(e){var s,t,l,o,i;let{t:r,app:d,identity:u,slug:x,credential:b}=e,h=(0,m.CG)(d),v=e=>{let s=h.find(s=>s.id===e);return(null==s?void 0:s.present)===!0?{tone:"live",text:r("apps.present")}:(null==s?void 0:s.present)===!1?{tone:"idle",text:r("apps.missing")}:{tone:"neutral",text:r("apps.unchecked")}},f=null!=(o=null==(s=d.settings)?void 0:s.brain)?o:"none",g="none"===f?r("apps.none"):"auto"===f?r("apps.auto"):null!=(i=null==(t=c.n.find(e=>e.value===f))?void 0:t.label)?i:f,N=!!(null==(l=d.settings)?void 0:l.voice),k=N&&null!==b&&!b.configured,y=N?k?{tone:"idle",text:"".concat(r("apps.jobs.voiceOn")," \xb7 ").concat(r("apps.key.missing"))}:{tone:"live",text:(null==b?void 0:b.configured)?"".concat(r("apps.jobs.voiceOn")," \xb7 ").concat(r("apps.key.configured")):r("apps.jobs.voiceOn")}:{tone:"neutral",text:r("apps.jobs.voiceOff")},w=[{label:r("apps.jobs.beforeApp"),tone:d.version?"live":"idle",text:d.version?"panoma video ".concat(d.version):r("apps.status.absent")},{label:r("apps.browser"),...v("browser")},{label:r("apps.ffmpeg"),...v("ffmpeg")},{label:r("apps.jobs.beforeBrain"),tone:"none"===f?"neutral":"live",text:g},{label:r("apps.jobs.beforeVoice"),...y},{label:r("apps.jobs.beforeProject"),tone:u?"live":"idle",text:u?x:r("apps.jobs.noIdentity")}],C=!!(d.ready&&!1!==d.enabled&&u&&!k);return(0,a.jsxs)("section",{className:"mt-5 ".concat(j),"aria-labelledby":"video-preflight-title",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,a.jsx)("h2",{id:"video-preflight-title",className:"font-display text-xl font-semibold",children:r("apps.jobs.beforeTitle")}),(0,a.jsx)(p.vw,{size:"md",tone:C?"live":"idle",children:r(C?"apps.jobs.beforeReady":"apps.jobs.beforeNotReady")})]}),(0,a.jsx)("p",{className:"mt-2 text-sm text-smoke",children:r("apps.jobs.beforeIntro")}),(0,a.jsx)("dl",{className:"mt-4 grid gap-x-6 gap-y-2 text-sm sm:grid-cols-2",children:w.map(e=>(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3 border-t border-edge pt-2",children:[(0,a.jsx)("dt",{className:"text-smoke",children:e.label}),(0,a.jsx)("dd",{children:(0,a.jsx)(p.vw,{size:"md",tone:e.tone,children:e.text})})]},e.label))}),(0,a.jsx)(n(),{className:"mt-4 inline-block text-sm underline underline-offset-4",href:"/apps/panoma-video?project=".concat(encodeURIComponent(x)),children:r("apps.jobs.changeInApp")})]})}function g(e){let{value:s,tracks:t,onChange:l,label:n}=e;return(0,a.jsxs)("label",{className:"text-sm",children:[n,(0,a.jsx)("select",{className:b,value:s,onChange:e=>l(e.target.value),children:t.map(e=>(0,a.jsx)("option",{value:e,children:x[e]},e))})]})}function N(e){let{t:s,locked:t,onStart:l}=e,n=(0,r.Ym)(),[i,d]=(0,o.useState)("promo"),[c,p]=(0,o.useState)("v"),[m,u]=(0,o.useState)(n),[x,h]=(0,o.useState)("");return(0,a.jsxs)("form",{className:"mt-7 ".concat(j),onSubmit:e=>{e.preventDefault(),l({goal:i,format:c,language:m,url:x})},children:[(0,a.jsxs)("div",{className:"grid gap-4 sm:grid-cols-[1fr_auto_1fr]",children:[(0,a.jsxs)("label",{className:"text-sm",children:[s("apps.jobs.goal"),(0,a.jsxs)("select",{className:b,value:i,onChange:e=>d(e.target.value),children:[(0,a.jsx)("option",{value:"promo",children:s("apps.jobs.promo")}),(0,a.jsx)("option",{value:"tutorial",children:s("apps.jobs.tutorial")}),(0,a.jsx)("option",{value:"spotlight",children:s("apps.jobs.spotlight")})]})]}),(0,a.jsx)(v,{value:c,onChange:p,label:s("apps.jobs.format")}),(0,a.jsx)(g,{value:m,tracks:["es","en"],onChange:u,label:s("apps.jobs.language")})]}),(0,a.jsxs)("label",{className:"mt-4 block text-sm",children:[s("apps.jobs.url"),(0,a.jsx)("input",{className:b,type:"url",inputMode:"url",placeholder:"http://127.0.0.1:4173",value:x,onChange:e=>h(e.target.value)}),(0,a.jsx)("span",{className:"mt-1 block text-xs text-faint",children:s("apps.jobs.urlHint")})]}),(0,a.jsx)("button",{className:"apps-button apps-button-primary mt-5",disabled:t,children:s("apps.jobs.start")})]})}function k(e){let{state:s}=e;return"done"===s?(0,a.jsx)(i.mmf,{"aria-hidden":!0,className:"size-4 shrink-0 text-live"}):"failed"===s?(0,a.jsx)(i.fZH,{"aria-hidden":!0,className:"size-4 shrink-0 text-fail"}):"skipped"===s?(0,a.jsx)(i.YJZ,{"aria-hidden":!0,className:"size-4 shrink-0 text-faint"}):(0,a.jsx)("span",{"aria-hidden":!0,className:"flex size-4 shrink-0 items-center justify-center",children:(0,a.jsx)("span",{className:"size-2 rounded-full ".concat("current"===s?"bg-accent animate-pulse":"border border-edge-bright")})})}function y(e){let{t:s,job:t}=e,{asked:l,others:n}=(0,m.hY)(t);if(!l.length&&!n.length)return null;let o="string"==typeof t.input.goal?t.input.goal:"all",i=e=>{let t=m.i9[e];return t?s(t):e},r=l.length?l:n,d=l.length?n:[];return(0,a.jsxs)("div",{className:"mt-4 rounded border border-edge bg-raised p-3 text-sm",children:[(0,a.jsx)("p",{className:"text-smoke",children:"all"!==o&&l.length?s("apps.jobs.notPlanned",{goal:i(o)}):s("apps.jobs.notPlannedAny")}),(0,a.jsx)("ul",{className:"mt-2 space-y-2",children:r.map(e=>(0,a.jsxs)("li",{children:[(0,a.jsx)("p",{className:"font-semibold",children:i(e.goal)}),(0,a.jsx)("blockquote",{className:"mt-1 break-words",children:e.why})]},e.goal))}),d.length>0&&(0,a.jsxs)("details",{className:"mt-3",children:[(0,a.jsx)("summary",{className:"text-smoke",children:s("apps.jobs.otherGoals")}),(0,a.jsx)("ul",{className:"mt-2 space-y-2",children:d.map(e=>(0,a.jsxs)("li",{children:[(0,a.jsx)("p",{className:"font-semibold",children:i(e.goal)}),(0,a.jsx)("blockquote",{className:"mt-1 break-words text-smoke",children:e.why})]},e.goal))})]})]})}function w(e){var s,t;let{t:l,job:n,locked:i,onCancel:r}=e,c=m.Cn.has(n.status),[u,x]=(0,o.useState)(()=>Date.now());(0,o.useEffect)(()=>{if(!c)return;let e=setInterval(()=>x(Date.now()),1e3);return()=>clearInterval(e)},[c]);let b=(0,m.X0)(n),h=(0,m.p_)(n,u),v=c&&!m.I.includes(null!=(t=null==(s=n.progress)?void 0:s.stage)?t:""),f=b.find(e=>"plan"===e.name&&"failed"===e.state),{asked:g,others:N}=(0,m.hY)(n),w=!!(f&&(g.length||N.length));return(0,a.jsxs)("section",{className:"mt-7 ".concat(j),"aria-labelledby":"video-stages-title","aria-live":c?"polite":void 0,children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,a.jsx)("h2",{id:"video-stages-title",className:"font-display text-xl font-semibold",children:l(c?"apps.jobs.stages":"apps.jobs.report")}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[!c&&(0,a.jsx)(p.vw,{size:"md",tone:"done"===n.status?"live":"failed"===n.status?"fail":"neutral",children:l("apps.jobs.".concat("done"===n.status?"done":"failed"===n.status?"failed":"cancelled"))}),c&&r&&(0,a.jsx)("button",{className:"apps-button",disabled:i&&"cancelling"===n.status,onClick:()=>r(n),children:l("apps.jobs.cancel")})]})]}),void 0!==h&&(0,a.jsxs)("p",{className:"mt-2 text-sm text-smoke",children:[l(c?"apps.jobs.elapsed":"apps.jobs.took",{time:h<60?l("apps.jobs.seconds",{s:h}):l("apps.jobs.minutes",{m:Math.floor(h/60),s:h%60})}),n.requestedBy&&(0,a.jsxs)(a.Fragment,{children:[" ",l("apps.jobs.requestedBy",{name:n.requestedBy})]})]}),v&&(0,a.jsx)("p",{className:"mt-2 text-sm text-smoke",children:l("apps.jobs.starting")}),(0,a.jsx)("ol",{className:"mt-4 grid gap-x-6 gap-y-1 sm:grid-cols-2",children:b.map(e=>(0,a.jsxs)("li",{className:"flex gap-2 py-1 text-sm ".concat("pending"===e.state||"skipped"===e.state?"text-faint":"text-chalk"),"aria-current":"current"===e.state?"step":void 0,children:[(0,a.jsx)("span",{className:"mt-0.5",children:(0,a.jsx)(k,{state:e.state})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsxs)("p",{className:"current"===e.state?"font-semibold":"",children:[l("apps.jobs.stage.".concat(e.name)),(0,a.jsxs)("span",{className:"sr-only",children:[" \xb7 ",l("apps.jobs.stageState.".concat(e.state))]})]}),e.summary&&!("plan"===e.name&&w)&&(0,a.jsx)("blockquote",{className:"mt-0.5 break-words text-xs text-smoke",children:e.summary})]})]},e.name))}),!c&&n.error&&(0,a.jsx)(d.uV,{error:n.error}),f&&(0,a.jsx)(y,{t:l,job:n}),!c&&"done"===n.status&&(0,a.jsx)("p",{className:"mt-3 text-sm text-smoke",children:l("apps.jobs.reportDone")})]})}function C(e){var s;let{t,job:l,locked:n,onEnqueue:o}=e,i=(0,m.Zp)(l),r=i.find(e=>"video"===e.kind),d=i.find(e=>"image"===e.kind),c=l.result,p=null!=(s=null==c?void 0:c.renders)?s:(null==c?void 0:c.render_id)?[{id:c.render_id,file:""}]:[];return(0,a.jsxs)("section",{className:"mt-7 ".concat(j),children:[(0,a.jsx)("h2",{className:"font-display text-xl font-semibold",children:t("apps.jobs.preview")}),r&&(0,a.jsx)("video",{controls:!0,preload:"metadata",className:"mt-4 max-h-[540px] w-full rounded bg-raised",src:(0,m.Wk)(l.id,r.path),"aria-label":t("apps.jobs.preview")}),d&&(0,a.jsx)("a",{href:(0,m.Wk)(l.id,d.path),target:"_blank",rel:"noreferrer",children:(0,a.jsx)("img",{className:"mt-4 max-h-80 w-full rounded object-contain",src:(0,m.Wk)(l.id,d.path),alt:t("apps.jobs.contacts")})}),(0,a.jsx)("h3",{className:"mt-4 text-sm font-semibold",children:t("apps.jobs.artifacts")}),(0,a.jsx)("ul",{className:"mt-2 space-y-1 text-sm",children:i.map(e=>(0,a.jsx)("li",{children:(0,a.jsx)("a",{className:"break-all underline",href:(0,m.Wk)(l.id,e.path),download:e.name,children:e.name})},e.path))}),(0,a.jsx)("div",{className:"mt-4 flex flex-wrap gap-2",children:p.map(e=>(0,a.jsxs)("button",{className:"apps-button",disabled:n,onClick:()=>o("panoma_video_review",{render_id:e.id}),children:[t("apps.jobs.review"),p.length>1?" \xb7 ".concat(e.id):""]},e.id))})]})}function _(e){var s;let{t,production:l,brief:n,historical:o,current:i,languages:r,format:d,language:c,locked:p,onFormat:b,onLanguage:h,onEnqueue:f,onOpenCurrent:N}=e;if(o)return(0,a.jsxs)("section",{className:"mt-5 ".concat(j),children:[(0,a.jsx)("p",{className:"text-sm text-smoke",children:t("apps.jobs.historical")}),i&&(0,a.jsx)("button",{className:"apps-button mt-3",onClick:()=>N(i.id),children:t("apps.jobs.current")})]});let k=n?t("apps.jobs.exportVariant",{format:null!=(s=u[d])?s:d,language:x[c]}):t("apps.jobs.export");return(0,a.jsxs)("section",{className:"mt-5 ".concat(j),children:[(0,a.jsx)("p",{className:"text-sm text-smoke",children:t("apps.jobs.savedStory")}),n&&(0,a.jsxs)("div",{className:"mt-4 grid gap-4 sm:grid-cols-[auto_1fr]",children:[(0,a.jsx)(v,{value:d,onChange:b,label:t("apps.jobs.format"),disabled:p}),(0,a.jsx)(g,{value:c,tracks:r,onChange:h,label:t("apps.jobs.language")})]}),(0,a.jsxs)("div",{className:"mt-4 flex flex-wrap gap-3",children:[(0,a.jsx)("button",{className:"apps-button",disabled:p,onClick:()=>{let e=(0,m.KU)(l,{language:c,format:d});f(e.tool,e.input)},children:k}),n&&(0,a.jsx)("button",{className:"apps-button",disabled:p,onClick:()=>f("panoma_video_story",{brief_id:n}),children:t("apps.jobs.story")})]})]})}function S(e){let{t:s,story:t,brief:l,language:n,format:i,locked:d,onEnqueue:c}=e,p=(0,r.Ym)(),[m,u]=(0,o.useState)(""),[x,h]=(0,o.useState)("");return(0,o.useEffect)(()=>{u(""),h("")},[t.revision,n]),(0,a.jsxs)("section",{className:"mt-7 ".concat(j),children:[(0,a.jsx)("h2",{className:"font-display text-xl font-semibold",children:s("apps.jobs.revise")}),(0,a.jsx)("p",{className:"mt-2 text-sm text-smoke",children:s("apps.jobs.revisionHelp")}),(0,a.jsxs)("label",{className:"mt-4 block text-sm",children:[s("apps.jobs.scene"),(0,a.jsxs)("select",{className:b,value:m,onChange:e=>{var s;u(e.target.value);let a=t.scenes.find(s=>s.id===e.target.value);h(null!=(s=null==a?void 0:a.text[n])?s:"")},children:[(0,a.jsx)("option",{value:"",children:"—"}),t.scenes.filter(e=>e.editable).map(e=>(0,a.jsxs)("option",{value:e.id,children:[e.id," \xb7 ",e.text[n]]},e.id))]})]}),(0,a.jsxs)("label",{className:"mt-4 block text-sm",children:[s("apps.jobs.revision"),(0,a.jsx)("textarea",{className:"mt-2 block min-h-28 w-full rounded border border-edge bg-surface p-3",value:x,maxLength:1e3,onChange:e=>h(e.target.value)})]}),(0,a.jsx)("button",{className:"apps-button mt-4",disabled:d||!m||!x.trim(),onClick:()=>c("panoma_video_revise",{brief_id:l,expectedRevision:t.revision,edits:[{kind:"text",sceneId:m,lang:n,text:x}]}),children:s("apps.jobs.revise")}),l&&(0,a.jsx)("button",{className:"apps-button ml-3 mt-4",disabled:d,onClick:()=>c("panoma_video_render",{brief_id:l,lang:n,format:i}),children:s("apps.jobs.start")}),t.history&&(0,a.jsxs)("details",{className:"mt-5",children:[(0,a.jsx)("summary",{className:"text-sm",children:s("apps.jobs.history")}),(0,a.jsx)("ul",{className:"mt-3 space-y-3",children:t.history.map(e=>(0,a.jsxs)("li",{className:"rounded border border-edge p-3",children:[(0,a.jsxs)("p",{className:"text-xs text-smoke",children:[new Date(e.at).toLocaleString(p)," \xb7 ",e.number]}),(0,a.jsx)("blockquote",{className:"mt-1 text-sm",children:e.note}),e.revision!==t.revision&&(0,a.jsx)("button",{className:"apps-button mt-2",disabled:d,onClick:()=>c("panoma_video_revise",{brief_id:l,expectedRevision:t.revision,restoreRevision:e.revision}),children:s("apps.jobs.restore")})]},e.revision))})]})]})}function E(e){var s,t;let{t:l,job:n}=e,o=n.result,i=null!=(s=null==o?void 0:o.checks)?s:[];return(0,a.jsxs)("details",{className:"mt-4 rounded border border-edge p-4",children:[(0,a.jsx)("summary",{children:l("apps.jobs.reviewStatus",{status:null!=(t=null==o?void 0:o.status)?t:n.status})}),(0,a.jsx)("h3",{className:"mt-3 text-sm font-semibold",children:l("apps.jobs.reviewChecks")}),(0,a.jsx)("ul",{className:"mt-2 space-y-2 text-sm",children:i.map(e=>{var s;return(0,a.jsxs)("li",{className:"rounded border border-edge p-3",children:[(0,a.jsxs)("p",{className:"font-mono text-xs",children:[e.id," \xb7 ",e.status]}),(0,a.jsx)("blockquote",{className:"mt-1",children:e.summary}),e.threshold&&(0,a.jsx)("p",{className:"mt-1 text-xs text-smoke",children:e.threshold}),(null==(s=e.fix)?void 0:s.hint)&&(0,a.jsx)("blockquote",{className:"mt-1 text-xs text-smoke",children:e.fix.hint})]},e.id)})})]})}function q(e){let{t:s,jobs:t,locked:l,onCancel:n,onEnqueue:o}=e;return(0,a.jsxs)("section",{className:"mt-8",children:[(0,a.jsx)("h2",{className:"font-display text-xl font-semibold",children:s("apps.jobs.title")}),(0,a.jsx)(d.jY,{jobs:t,onCancel:n}),(0,m.PB)(t).map(e=>{var t;return(0,a.jsxs)("button",{className:"apps-button mr-2 mt-3",disabled:l,onClick:()=>o(e.tool,e.input),children:[s("apps.jobs.retry")," \xb7 ",null!=(t=(0,d.rA)(s,e))?t:e.tool]},e.id)}),t.filter(e=>"panoma_video_review"===e.tool&&e.result).map(e=>(0,a.jsx)(E,{t:s,job:e},e.id))]})}function I(e){var s,t,l;let{projectId:i,identity:c,slug:p}=e,u=(0,r.kj)(),x=(0,r.Ym)(),[j,h]=(0,o.useState)(null),[v,g]=(0,o.useState)([]),[k,y]=(0,o.useState)(null),[E,I]=(0,o.useState)(!1),[z,O]=(0,o.useState)(""),[P,R]=(0,o.useState)(null),[A,T]=(0,o.useState)(null),[Y,B]=(0,o.useState)(null),D=(0,o.useCallback)(async()=>{try{let e=await (0,m.Tl)("/api/apps/panoma-video");if(h(e),c){let e="identity=".concat(encodeURIComponent(c)),s=await (0,m.Tl)("/api/apps/panoma-video/jobs?".concat(e));g(s.jobs)}y(null)}catch(e){y(e.message)}},[c]);(0,o.useEffect)(()=>{D()},[D]);let F=!!(null==j||null==(s=j.settings)?void 0:s.voice);(0,o.useEffect)(()=>{if(!F)return void B(null);let e=new AbortController;return(0,m.Tl)("/api/apps/panoma-video/credentials",void 0,"GET",e.signal).then(s=>{e.signal.aborted||B(s)}).catch(()=>{e.signal.aborted||B(null)}),()=>e.abort()},[F]);let U=v.find(e=>m.Cn.has(e.status)),L=null==U?void 0:U.id;(0,o.useEffect)(()=>{if(!L)return;let e=new AbortController;return(0,m.E4)(L,e.signal,e=>{g(s=>s.map(s=>s.id===e.id?e:s)),y(null),m.Cn.has(e.status)||D()},y),()=>e.abort()},[L,D]);let V=(0,o.useCallback)((e,s)=>{c&&(I(!0),y(null),(0,m.Tl)("/api/apps/panoma-video/jobs",{identity:c,projectId:i,tool:e,input:s}).then(D).catch(e=>y(e.message)).finally(()=>I(!1)))},[c,i,D]),W=v.filter(e=>e.result&&"panoma_video_auto"===e.tool&&"done"===e.status),H=null!=(t=W.find(e=>e.id===z))?t:W[0],M=v.find(e=>"panoma_video_auto"===e.tool),{brief:Z,job:G}=(0,m.Lu)(v,H),J=null==G?void 0:G.result,K=(0,m.nn)(v,H),Q=!!(H&&(null==K?void 0:K.id)!==H.id),X=(0,m.Ht)(H,G),$=P&&X.includes(P)?P:X[0],ee=null==H?void 0:H.input.format,es=null!=A?A:(0,m.Fv)(ee)?ee:"v";(0,o.useEffect)(()=>{R(null),T(null)},[null==H?void 0:H.id]);let et=E||!!U||!(null==j?void 0:j.ready)||!1===j.enabled||!c,ea=v.filter(e=>"panoma_video_review"!==e.tool&&(0,m.Zp)(e).length>0&&(!Q||e.id===(null==H?void 0:H.id))&&("panoma_video_auto"!==e.tool||e.id===(null==H?void 0:H.id))),el=e=>{(0,m.Tl)("/api/apps/jobs/".concat(e.id,"/cancel"),{}).then(D).catch(e=>y(e.message))};return(0,a.jsxs)(a.Fragment,{children:[!c&&(0,a.jsx)("p",{className:"mt-5 rounded border border-edge p-4 text-sm",children:u("apps.jobs.noIdentity")}),j&&(!j.ready||!1===j.enabled)&&(0,a.jsxs)("div",{className:"mt-5 rounded border border-edge p-4",children:[(0,a.jsx)("p",{className:"text-sm",children:u("apps.needsSetup")}),(0,a.jsx)(n(),{className:"apps-button mt-3 inline-flex",href:"/apps/panoma-video?project=".concat(encodeURIComponent(p)),children:u("apps.open")})]}),j&&(0,a.jsx)(f,{t:u,app:j,identity:c,slug:p,credential:Y}),(0,a.jsx)(N,{t:u,locked:et,onStart:e=>V("panoma_video_auto",(0,m.EQ)(e))}),(0,a.jsx)(d.uV,{error:k}),U&&(0,a.jsx)(w,{t:u,job:U,locked:et,onCancel:el}),!U&&M&&"done"!==M.status&&(0,a.jsx)(w,{t:u,job:M,locked:et}),W.length>1&&(0,a.jsxs)("label",{className:"mt-6 block text-sm",children:[u("apps.jobs.chooseProduction"),(0,a.jsx)("select",{className:b,value:null!=(l=null==H?void 0:H.id)?l:"",onChange:e=>O(e.target.value),children:W.map(e=>{var s,t;let l=null==(s=e.result.briefs)?void 0:s.map(e=>e.id).join(", "),n=new Date(null!=(t=e.requestedAt)?t:"").toLocaleString(x);return(0,a.jsxs)("option",{value:e.id,children:[n," \xb7 ",null!=l?l:e.id]},e.id)})})]}),ea.map(e=>(0,a.jsx)(C,{t:u,job:e,locked:et,onEnqueue:V},e.id)),H&&(0,a.jsx)(_,{t:u,production:H,brief:Z,historical:Q,current:K,languages:X,format:es,language:$,locked:et,onFormat:T,onLanguage:R,onEnqueue:V,onOpenCurrent:O}),!Q&&(null==J?void 0:J.scenes)&&J.revision&&(0,a.jsx)(S,{t:u,story:J,brief:Z,language:$,format:es,locked:et,onEnqueue:V}),(0,a.jsx)(q,{t:u,jobs:v,locked:et,onCancel:el,onEnqueue:V})]})}},59531:(e,s,t)=>{Promise.resolve().then(t.bind(t,4737)),Promise.resolve().then(t.t.bind(t,3953,23))}},e=>{e.O(0,[6587,3953,2575,2948,1369,2921,1305,6823,7358],()=>e(e.s=59531)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9415],{10354:(e,t,a)=>{"use strict";var n=a(61990);a.o(n,"usePathname")&&a.d(t,{usePathname:function(){return n.usePathname}}),a.o(n,"useRouter")&&a.d(t,{useRouter:function(){return n.useRouter}}),a.o(n,"useSearchParams")&&a.d(t,{useSearchParams:function(){return n.useSearchParams}})},26602:(e,t,a)=>{Promise.resolve().then(a.bind(a,79840)),Promise.resolve().then(a.bind(a,29443)),Promise.resolve().then(a.t.bind(a,3953,23))},29443:(e,t,a)=>{"use strict";a.d(t,{ProjectStore:()=>ei});var n=a(38657),s=a(3953),l=a.n(s),i=a(10354),r=a(32165),o=a(3043),c=a(2575);let d=new Set(["flutter","react native","expo","android","ios","swift","kotlin","dart"]),h=new Set(["next.js","react","vue","nuxt","svelte","sveltekit","angular","astro","remix / react router","solidjs","vite","tailwind css","shadcn/ui","electron","tauri"]),u=new Set(["express","fastify","nestjs","hono","django","flask","fastapi","ruby on rails","laravel","symfony","sinatra","gin","echo","fiber","axum","actix web"]),m=new Set(["mcp"]),p=new Set(["html","css","scss"]),x=new Set(["python","go","rust","ruby","php","java","c#","elixir"]),j=new Set(["dart","swift","kotlin","objective-c"]),f=new Set(["postgresql","mysql","mongodb","redis","mariadb"]),g=new Set(["vercel","netlify","cloudflare workers"]);var b=a(9144),v=a(52948);function y(e){let{id:t,name:a}=e,s=(0,b.kj)(),[l,i]=(0,r.useState)("ready");async function o(){i("opening");try{let e=await fetch("/api/open",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:t,tool:"editor"})});i(e.ok?"ready":"error")}catch(e){i("error")}}return(0,n.jsx)(v.rA,{tone:"surface",type:"button",onClick:o,busy:"opening"===l,busyLabel:s("today.opening"),title:s("today.openNamed",{name:a}),className:"shrink-0",children:s("error"===l?"today.openFailed":"today.resume")})}function w(e){var t,a,s,i;let{report:c}=e,d=(0,b.kj)(),h=(0,b.Ym)(),{summary:u}=c,[m,p]=(0,r.useState)(!1),x=(0,r.useId)(),j=c.critic,f=(null!=(a=null==j?void 0:j.lookFindings)?a:0)+(null!=(s=null==j?void 0:j.reviewFindings)?s:0),g=u.commits>0||u.proposals>0||u.born>0||u.touchedProjects>0||f>0,w=c.since?d("today.since",{when:(0,v.KW)(c.since,h)}):d("today.last24h");return g?(0,n.jsxs)("section",{className:"brief","aria-label":d("today.activity"),children:[(0,n.jsxs)("button",{type:"button",className:"brief__line",onClick:()=>p(e=>!e),"aria-expanded":m,"aria-controls":x,children:[(0,n.jsx)(o.efr,{"aria-hidden":!0}),(0,n.jsx)("strong",{children:d("today.activity")}),(0,n.jsxs)("span",{className:"brief__facts",children:[u.proposals>0&&(0,n.jsx)("span",{className:"brief__decision",children:d("today.proposalCount",{n:u.proposals})}),f>0&&(0,n.jsx)("span",{className:"brief__decision",children:d("today.findingCount",{n:f})}),u.commits>0&&(0,n.jsx)("span",{children:d("today.commitCount",{n:u.commits})}),0===u.commits&&u.touchedProjects>0&&(0,n.jsx)("span",{children:d("today.projectCount",{n:u.touchedProjects})}),u.born>0&&(0,n.jsx)("span",{children:d("today.bornCount",{n:u.born})})]}),(0,n.jsx)(o.bv7,{className:"brief__arrow","aria-hidden":!0})]}),(0,n.jsx)("div",{id:x,hidden:!m,children:m&&(0,n.jsxs)("div",{className:"brief__detail",children:[(0,n.jsx)("p",{className:"brief__when",children:w}),c.proposals.length>0&&(0,n.jsxs)("div",{className:"brief__decisions",children:[(0,n.jsx)("p",{className:"brief__label",children:d("proposals.waiting")}),(0,n.jsx)("ul",{children:c.proposals.slice(0,4).map(e=>(0,n.jsxs)("li",{children:[(0,n.jsxs)(l(),{href:"/runs/".concat(e.id),children:[e.pkgName,e.a?" → ".concat(e.a):""]}),(0,n.jsx)("span",{className:"brief__where",children:d("today.inProject",{project:e.project})}),e.repeats>1&&(0,n.jsx)("span",{className:"brief__attempts",children:d("today.attempts",{n:e.repeats})}),(0,n.jsxs)("span",{className:"brief__meta",children:[d(e.verified?"proposals.testsGreen":"proposals.unverified")," \xb7 ",(0,v.KW)(e.when,h)]})]},e.id))})]}),(null!=(i=null==j||null==(t=j.where)?void 0:t.length)?i:0)>0&&(0,n.jsxs)("div",{className:"brief__decisions",children:[(0,n.jsx)("p",{className:"brief__label",children:d("today.criticWhere")}),(0,n.jsx)("ul",{children:j.where.slice(0,4).map(e=>(0,n.jsxs)("li",{children:[(0,n.jsx)(l(),{href:"/p/".concat(e.slug,"#assignments"),children:e.name}),(0,n.jsx)("span",{className:"brief__meta",children:d(1===e.findings?"today.criticFindingOne":"today.criticFindingMany",{n:e.findings})})]},e.slug))})]}),u.commits>0&&(0,n.jsxs)("p",{className:"brief__meta",children:[d(1===u.touchedProjects?"today.inProjectsOne":"today.inProjectsMany",{c:d(1===u.commits?"today.commitOne":"today.commitMany",{n:u.commits}),n:u.touchedProjects}),u.byAgents>0&&" ".concat(d("today.fromAgents",{n:u.byAgents}))]}),c.projects.length>0&&(0,n.jsx)("ul",{className:"brief__projects",children:c.projects.slice(0,5).map(e=>(0,n.jsxs)("li",{children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(l(),{href:"/p/".concat(e.slug),children:e.name}),e.commits[0]&&(0,n.jsxs)("p",{className:"brief__subject",children:[e.commits[0].subject,e.commits[0].agent&&(0,n.jsx)("span",{className:"brief__agent",children:e.commits[0].agent})]}),(0,n.jsxs)("p",{className:"brief__meta",children:[e.commits.length>0&&(0,n.jsxs)(n.Fragment,{children:[d(1===e.commits.length?"today.commitOne":"today.commitMany",{n:e.commits.length})," \xb7 ",(0,v.KW)(e.commits[0].at,h)]}),e.agents.length>0&&(0,n.jsxs)(n.Fragment,{children:[e.commits.length>0&&" \xb7 ",e.agents.map(e=>d("today.agentNoted",{name:e.name,n:e.activities})).join(", ")]})]})]}),(0,n.jsx)(y,{id:e.id,name:e.name})]},e.slug))}),c.born.length>0&&(0,n.jsxs)("p",{className:"brief__born",children:[d("today.born")," ",c.born.slice(0,4).map((e,t)=>(0,n.jsxs)("span",{children:[t>0&&", ",(0,n.jsx)(l(),{href:"/p/".concat(e.slug),children:e.name})]},e.slug))]})]})})]}):(0,n.jsxs)("section",{className:"brief brief--quiet","aria-label":d("today.activity"),children:[(0,n.jsx)(o.efr,{"aria-hidden":!0}),(0,n.jsx)("strong",{children:d("today.activity")}),(0,n.jsx)("span",{children:d("today.nothing",{period:w})})]})}var N=a(48804),k=a(79840);function _(e){let{total:t}=e,a=(0,b.kj)(),s=(0,i.useRouter)(),[,l]=(0,r.useTransition)(),[c,d]=(0,r.useState)(null),[h,u]=(0,r.useState)(!1),[m,p]=(0,r.useState)(""),[x,j]=(0,r.useState)(!1),[f,g]=(0,r.useState)(!1),[v,y]=(0,r.useState)(null),[w,N]=(0,r.useState)(null),k=(0,r.useCallback)(async()=>{try{var e;let t=await fetch("/api/roots"),a=await t.json();d(null!=(e=a.roots)?e:[])}catch(e){d([])}},[]);(0,r.useEffect)(()=>{k()},[k]);let[_,S]=(0,r.useState)(null);async function P(e,t){if(!x&&t.trim()){j(!0),N(null);try{var n,i,r;let o=await fetch("/api/roots",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e,path:t.trim()})}),c=await o.json().catch(()=>({}));if(!o.ok)return void N({text:null!=(n=c.error)?n:a("sites.failed"),bad:!0});if(p(""),await k(),"add"===e){let e=null!=(i=c.found)?i:0;N({text:a(1===e?"sites.addedOne":"sites.addedMany",{n:e}),bad:!1}),l(()=>s.refresh())}else N({text:a("sites.removed",{n:null!=(r=c.removed)?r:0}),bad:!1}),l(()=>s.refresh())}catch(e){N({text:a("task.unreachable"),bad:!0})}finally{j(!1)}}}async function O(){if(!f&&!x){g(!0),N(null);try{var e,t;let n=await fetch("/api/roots",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"search"})}),s=await n.json();y(null!=(e=s.candidates)?e:[]),0===(null!=(t=s.candidates)?t:[]).length&&N({text:a("sites.searchNone"),bad:!1})}catch(e){N({text:a("task.unreachable"),bad:!0})}finally{g(!1)}}}if(!c||0===c.length)return null;let M=c.map(e=>C(e.path));return(0,n.jsxs)("div",{className:"sites",children:[(0,n.jsxs)("button",{type:"button",className:"sites__line",onClick:()=>u(!h),"aria-expanded":h,children:[(0,n.jsx)(o.gBk,{"aria-hidden":!0}),(0,n.jsx)("span",{children:a(1===t?"sites.summaryOne":"sites.summaryMany",{n:t,where:M.slice(0,2).join(", "),extra:M.length>2?" ".concat(a("sites.andMore",{n:M.length-2})):""})}),(0,n.jsx)("span",{className:"sites__action",children:a(h?"sites.close":"sites.manage")})]}),h&&(0,n.jsxs)("div",{className:"sites__detail",children:[(0,n.jsx)("ul",{children:c.map(e=>(0,n.jsxs)("li",{children:[(0,n.jsx)("code",{title:e.path,children:C(e.path)}),(0,n.jsxs)("span",{children:[a(1===e.projects?"sites.countOne":"sites.countMany",{n:e.projects}),!e.exists&&" \xb7 ".concat(a("sites.missing"))]}),_===e.path?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{type:"button",onClick:()=>{S(null),P("remove",e.path)},disabled:x,className:"sites__confirm",children:a("sites.removeConfirm",{n:e.projects})}),(0,n.jsx)("button",{type:"button",onClick:()=>S(null),disabled:x,className:"sites__cancel",children:a("accounts.cancel")})]}):(0,n.jsx)("button",{type:"button",onClick:()=>S(e.path),disabled:x,children:a("sites.remove")})]},e.path))}),(0,n.jsxs)("form",{onSubmit:e=>{e.preventDefault(),P("add",m)},children:[(0,n.jsx)("input",{value:m,onChange:e=>p(e.target.value),placeholder:a("sites.placeholder"),"aria-label":a("sites.fieldLabel"),spellCheck:!1}),(0,n.jsxs)("button",{type:"submit",disabled:x||!m.trim(),children:[(0,n.jsx)(o.K0m,{"aria-hidden":!0}),a(x?"sites.adding":"sites.add")]})]}),(0,n.jsxs)("div",{className:"sites__search",children:[(0,n.jsxs)("button",{type:"button",onClick:O,disabled:f||x,children:[(0,n.jsx)(o.JJh,{"aria-hidden":!0}),a(f?"sites.searching":"sites.search")]}),(0,n.jsx)("span",{children:a("sites.searchHint")})]}),v&&v.length>0&&(0,n.jsx)("ul",{className:"sites__candidates",children:v.map(e=>(0,n.jsxs)("li",{children:[(0,n.jsx)("code",{title:e.path,children:C(e.path)}),(0,n.jsx)("span",{children:a(1===e.projects?"sites.countOne":"sites.countMany",{n:e.projects})}),(0,n.jsx)("button",{type:"button",onClick:()=>{y(t=>(null!=t?t:[]).filter(t=>t.path!==e.path)),P("add",e.path)},disabled:x,children:a("sites.add")})]},e.path))}),(0,n.jsx)("p",{className:"sites__note",children:a("sites.note")}),w&&(0,n.jsx)("p",{className:w.bad?"sites__error":"sites__note",children:w.text})]})]})}function C(e){return e.replace(/^\/Users\/[^/]+/,"~")}function S(e){let{stats:t,total:a,children:s}=e,l=(0,b.kj)(),i=(0,N.t)(),c=(0,r.useId)(),d=null==i?void 0:i.catalog,h=!d&&(null==i?void 0:i.active)===!1;return(0,n.jsx)("section",{className:"catalog-context","aria-labelledby":c,children:d?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("h2",{id:c,className:"catalog-context__heading",children:l("watch.catalogDetails")}),(0,n.jsx)(N.K,{failure:d})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"catalog-context__summary",children:[(0,n.jsx)("h2",{id:c,className:"catalog-context__heading",children:l("watch.catalogDetails")}),(0,n.jsx)(k.CatalogSummary,{stats:t})]}),(0,n.jsxs)("div",{className:"catalog-context__folders",children:[(0,n.jsx)("h3",{className:"catalog-context__heading",children:l("watch.catalogFolders")}),(0,n.jsx)(_,{total:a})]}),h&&(0,n.jsxs)("p",{className:"catalog-context__warning",role:"status",children:[(0,n.jsx)(o.z1N,{"aria-hidden":!0}),(0,n.jsx)("span",{children:l("watch.off")})]}),s]})})}function P(e){let{discreet:t,onToggleDiscreet:a,onShare:s}=e,l=(0,b.kj)();return(0,n.jsxs)("div",{className:"catalog-actions",role:"group","aria-label":l("catalog.presentation"),children:[(0,n.jsxs)("button",{type:"button","aria-pressed":t,onClick:a,title:l(t?"store.showNames":"store.hideNames"),children:[t?(0,n.jsx)(o.EgV,{"aria-hidden":!0}):(0,n.jsx)(o.bZk,{"aria-hidden":!0}),(0,n.jsx)("span",{children:l("catalog.discreet")})]}),(0,n.jsxs)("button",{type:"button",onClick:s,children:[(0,n.jsx)(o.XcM,{"aria-hidden":!0}),(0,n.jsx)("span",{children:l("catalog.share")})]})]})}var O=a(67112),M=a(38058),T=a(67923),A=a(1810),E=a(52302),R=a(8901);let D='"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif';function F(e){return String(Math.max(0,Math.trunc(e)))}function I(e){return e>=75?R.fN:e>=50?R.sV:R.kS}function L(e,t,a,n,s,l){e.beginPath(),e.moveTo(t+l,a),e.arcTo(t+n,a,t+n,a+s,l),e.arcTo(t+n,a+s,t,a+s,l),e.arcTo(t,a+s,t,a,l),e.arcTo(t,a,t+n,a,l),e.closePath()}function W(e){return new Promise(t=>{let a=new Image;a.onload=()=>t(a),a.onerror=()=>t(null),a.src=e})}function K(e){let{data:t,discreet:a,onClose:s}=e,l=(0,b.kj)(),i=(0,b.Ym)(),d=(0,r.useRef)(null),h=(0,r.useRef)(null),u=(0,r.useRef)(null);(0,A.y)(h,!0,s),(0,E.r)(h,!0),(0,r.useEffect)(()=>{let e=requestAnimationFrame(()=>{var e;return null==(e=u.current)?void 0:e.focus()});return()=>cancelAnimationFrame(e)},[]);let[m,p]=(0,T.F)("share:user","","compartir:usuario"),[x,j]=(0,T.F)("share:language",i,"compartir:idioma"),[f,g]=(0,r.useState)(!a),[v,y]=(0,r.useState)(!1),[w,N]=(0,r.useState)("idle"),[k,_]=(0,r.useState)("idle"),C=(0,r.useCallback)((e,t)=>(0,c.t)(x,e,t),[x]),S=(0,r.useCallback)(async()=>{let e=d.current;if(!e)return;let a=await W("/assets/brand/panoma.svg"),n=function(e,t,a){let n=Math.max(0,Math.trunc(t));if(n<=8&&e.length>=n)return e.slice(0,n);let s=e.slice(0,Math.min(7,n)),l=Math.max(0,n-s.length);return l>0?[...s,a(l)]:s}(f?(await Promise.all(t.featuredProjects.slice(0,8).map(async e=>({...e,loadedIcon:await W(e.icon)})))).flatMap(e=>{let{loadedIcon:t,...a}=e;return t?[{...a,icon:t}]:[]}):t.featuredProjects.slice(0,8).map((e,t)=>({name:C("store.hidden",{n:t+1}),health:e.health,icon:null,concealed:!0})),t.projects,e=>({name:C("share.more",{n:e}),health:0,icon:a,panomaMark:!0,summary:!0}));!function(e,t){var a,n,s;let l=e.getContext("2d");if(!l)return;e.width=1600,e.height=900,l.fillStyle=R.PE,l.fillRect(0,0,1600,900),l.strokeStyle=R.KG,l.lineWidth=2,l.strokeRect(1,1,1598,898),function(e,t,a,n){if(t)try{e.drawImage(t,t.naturalWidth*(280/1024),t.naturalHeight*(222/1024),.515625*t.naturalWidth,t.naturalHeight*(586/1024),82,66,60,66)}catch(e){}e.fillStyle=R.Pg,e.font="650 42px ".concat(D),e.fillText("panoma",a+66+22,n+48)}(l,t.logo,82,66),l.font="500 25px ".concat(D),l.fillStyle=R.ux,l.textAlign="right",l.fillText(t.domain,1518,105),l.textAlign="left",l.fillStyle=R.Pg,function(e,t,a,n){let s=n;for(e.font="650 ".concat(s,"px ").concat(D);s>62&&e.measureText(t).width>1436;)s-=2,e.font="650 ".concat(s,"px ").concat(D)}(l,t.texts.title,1436,t.featuredProjects.length>0?86:102),l.fillText(t.texts.title,82,t.featuredProjects.length>0?278:350),t.featuredProjects.length>0&&function(e,t,a,n,s){let l=t.slice(0,8),i=1436/l.length,r=398,o=Math.min(122,i-28);e.fillStyle=R.ux,e.font="600 18px ".concat(D),e.fillText(s.health.toUpperCase(),a,n),function(e,t,a,n){let s=[[n.healthGood,R.fN],[n.healthReview,R.sV],[n.healthAttention,R.kS]];e.font="550 17px ".concat(D);let l=t-(s.map(t=>{let[a]=t;return 14+e.measureText(a).width}).reduce((e,t)=>e+t,0)+28*(s.length-1));for(let[t,n]of s)e.fillStyle=n,e.beginPath(),e.arc(l+5,a-6,5,0,2*Math.PI),e.fill(),e.fillStyle=R.fi,e.fillText(t,l+16,a),l+=14+e.measureText(t).width+28}(e,1600-a,n,s),l.forEach((t,n)=>{let s=a+i*n+i/2,l=s-37;if(e.save(),L(e,l,r,74,74,18),e.clip(),e.fillStyle=R.PE,e.fill(),t.concealed){var c,d=e,h=l,u=r,m=74,p=n;d.fillStyle=R.gX,d.fillRect(h,u,74,m),d.save(),d.strokeStyle=R.tu,d.lineWidth=1.5;let t=null!=(c=[0,7,-5,12][p%4])?c:0;for(let e=-m;e<2*m;e+=17)d.beginPath(),d.moveTo(h+e+t,u+m),d.lineTo(h+e+m+t,u),d.stroke();d.restore(),d.save(),d.shadowColor=R.Cv,d.shadowBlur=6,d.fillStyle=R.Mw,L(d,h+(m-44)/2,u+(m-10)/2,44,10,6),d.fill(),d.restore(),d.fillStyle=R.yU;for(let e=0;e<4;e+=1)L(d,h+m/2-11+7*e,u+m/2-2,2,4,1),d.fill()}else if(t.icon)try{t.panomaMark&&t.icon instanceof HTMLImageElement?function(e,t,a,n,s,l,i){let r=document.createElement("canvas");r.width=Math.round(88),r.height=Math.round(100);let o=r.getContext("2d");o&&(o.drawImage(t,t.naturalWidth*(280/1024),t.naturalHeight*(222/1024),.515625*t.naturalWidth,t.naturalHeight*(586/1024),0,0,r.width,r.height),o.globalCompositeOperation="source-in",o.fillStyle=i,o.fillRect(0,0,r.width,r.height),e.drawImage(r,a,n,s,l))}(e,t.icon,l+15,r+11,44,50,t.summary?R.Pg:I(t.health)):e.drawImage(t.icon,l,r,74,74)}catch(e){}if(e.restore(),e.strokeStyle=R.KG,e.lineWidth=1.5,L(e,l,r,74,74,18),e.stroke(),e.fillStyle=R.Pg,e.font="600 21px ".concat(D),e.textAlign="center",e.fillText(function(e,t,a){if(e.measureText(t).width<=a)return t;let n=t;for(;n.length>1&&e.measureText("".concat(n,"…")).width>a;)n=n.slice(0,-1);return"".concat(n,"…")}(e,t.name,i-16),s,r+104),t.summary){e.textAlign="left";return}let x=s-o/2,j=r+128;e.fillStyle=R.KG,L(e,x,j,o,10,5),e.fill(),e.fillStyle=I(t.health),L(e,x,j,Math.max(10,o*(Math.min(100,Math.max(0,t.health))/100)),10,5),e.fill(),e.fillStyle=I(t.health),e.font="650 19px ".concat(D),e.fillText("".concat(t.health,"/100"),s,r+171),e.textAlign="left"})}(l,t.featuredProjects,82,348,t.texts);let i=t.featuredProjects.length>0?655:505;a=l,n=82,s=i,a.strokeStyle=R.KG,a.lineWidth=1.5,a.beginPath(),a.moveTo(82,s),a.lineTo(n+1436,s),a.stroke(),function(e,t,a,n){let s=[[F(t.projects),t.texts.projects],[F(t.commits),t.texts.commits],[F(t.technologies),t.texts.technologies]];null!==t.agents&&s.push(["".concat(t.agents,"%"),t.texts.agents]);let l=1436/s.length;s.forEach((t,s)=>{let[i,r]=t,o=a+l*s;s>0&&(e.strokeStyle=R.KG,e.lineWidth=1.5,e.beginPath(),e.moveTo(o-34,n-10),e.lineTo(o-34,n+79),e.stroke()),e.fillStyle=R.Pg,e.font="650 54px ".concat(D),e.fillText(i,o,n+45),e.fillStyle=R.ux,e.font="500 22px ".concat(D),e.fillText(r,o,n+78)})}(l,t,82,i+51),t.user&&(l.fillStyle=R.fi,l.font="550 27px ".concat(D),l.fillText(t.user,82,839)),l.fillStyle=R.ux,l.font="500 23px ".concat(D),l.textAlign="right",l.fillText(t.texts.localFirst,1518,839),l.textAlign="left"}(e,{...t,logo:a,featuredProjects:n,user:m.trim()?m.trim().replace(/^@?/,"@"):void 0,domain:U,texts:{title:C("share.titulo",{n:t.projects}),projects:C("share.proyectos"),technologies:C("share.tecnologias"),commits:C("share.commits"),agents:C("share.agentes"),health:C("share.salud"),healthGood:C("share.saludBien"),healthReview:C("share.saludRevisar"),healthAttention:C("share.saludAtencion"),localFirst:C("share.local")}})},[f,t,C,m]);async function P(){let e=await H(d.current);e&&G(e)}async function K(){try{await navigator.clipboard.writeText(V(t,C)),y(!0),setTimeout(()=>y(!1),1800)}catch(e){}}async function q(){N("preparing");let e=await H(d.current);if(!e)return void N("failed");let a=V(t,C),n=new File([e],z,{type:"image/png"});if(function(e){if("function"!=typeof navigator.share||"function"!=typeof navigator.canShare)return!1;try{return navigator.canShare({files:[e]})}catch(e){return!1}}(n))try{await navigator.share({files:[n],text:a,title:"Panoma"}),N("idle");return}catch(e){if(e instanceof DOMException&&"AbortError"===e.name)return void N("idle")}let s=await B(e);s||G(e),N(s?"copied":"downloaded"),window.setTimeout(()=>N("idle"),2600)}async function Z(){_("preparing");let e=function(e){if(!e)return null;try{let t=e.toDataURL("image/png"),a=t.slice(t.indexOf(",")+1),n=window.atob(a),s=new Uint8Array(n.length);for(let e=0;e<n.length;e+=1)s[e]=n.charCodeAt(e);return new Blob([s],{type:"image/png"})}catch(e){return null}}(d.current);if(!e)return void _("failed");let a=B(e);var n=V(t,C);let s=document.createElement("a");s.href="https://x.com/intent/post?text=".concat(encodeURIComponent(n)),s.target="_blank",s.rel="noreferrer noopener",s.click();let l=await a;l||G(e),_(l?"copied":"downloaded"),window.setTimeout(()=>_("idle"),2600)}return(0,r.useEffect)(()=>{S()},[S]),(0,O.createPortal)((0,n.jsxs)("div",{className:"share",role:"dialog","aria-modal":"true","aria-label":l("share.abrir"),children:[(0,n.jsxs)("div",{className:"share__box",ref:h,children:[(0,n.jsxs)("header",{children:[(0,n.jsx)("h2",{children:l("share.abrir")}),(0,n.jsx)("button",{ref:u,type:"button",onClick:s,"aria-label":l("share.cerrar"),children:(0,n.jsx)(o.fZH,{"aria-hidden":!0})})]}),(0,n.jsx)("canvas",{ref:d,className:"share__canvas",width:1600,height:900,role:"img","aria-label":l("share.preview")}),(0,n.jsxs)("div",{className:"share__options",children:[(0,n.jsxs)("div",{className:"share__language",children:[(0,n.jsx)("span",{children:l("share.idioma")}),(0,n.jsxs)("div",{role:"group","aria-label":l("share.idioma"),children:[(0,n.jsx)("button",{type:"button",className:"es"===x?"is-active":void 0,"aria-pressed":"es"===x,onClick:()=>j("es"),children:"Espa\xf1ol"}),(0,n.jsx)("button",{type:"button",className:"en"===x?"is-active":void 0,"aria-pressed":"en"===x,onClick:()=>j("en"),children:"English"})]})]}),(0,n.jsxs)("label",{children:[(0,n.jsx)("span",{children:l("share.usuario")}),(0,n.jsx)("input",{value:m,onChange:e=>p(e.target.value),placeholder:l("share.usuarioVacio"),spellCheck:!1,maxLength:40})]}),(0,n.jsx)("button",{type:"button",className:"share__visibility".concat(f?"":" is-private"),onClick:()=>g(e=>!e),"aria-pressed":!f,"aria-label":l(f?"store.hideNames":"store.showNames"),title:l(f?"store.hideNames":"store.showNames"),children:f?(0,n.jsx)(o.bZk,{"aria-hidden":!0}):(0,n.jsx)(o.EgV,{"aria-hidden":!0})})]}),(0,n.jsx)("p",{className:"share__note",children:l("share.nota")}),(0,n.jsxs)("footer",{children:[(0,n.jsxs)("button",{type:"button",className:"share__primary",onClick:P,children:[(0,n.jsx)(o.Dho,{"aria-hidden":!0}),l("share.descargar")]}),(0,n.jsx)("button",{type:"button",onClick:K,children:l(v?"share.textoCopiado":"share.copiarTexto")}),(0,n.jsxs)("button",{type:"button",onClick:q,disabled:"preparing"===w,children:[(0,n.jsx)(o.XcM,{"aria-hidden":!0}),l("share.image.".concat(w))]}),(0,n.jsxs)("button",{type:"button",onClick:Z,disabled:"preparing"===k,children:[(0,n.jsx)(M.vIh,{"aria-hidden":!0}),l("share.x.".concat(k))]})]})]}),(0,n.jsx)("button",{type:"button",className:"share__backdrop",onClick:s,"aria-label":l("share.cerrar")})]}),document.body)}let U="panoma.ai",z="panoma-projects.png";function H(e){return new Promise(t=>{if(!e)return void t(null);e.toBlob(t,"image/png")})}function G(e){let t=URL.createObjectURL(e),a=document.createElement("a");a.href=t,a.download=z,a.click(),URL.revokeObjectURL(t)}async function B(e){var t;if("undefined"==typeof ClipboardItem||"function"!=typeof(null==(t=navigator.clipboard)?void 0:t.write))return!1;try{return await navigator.clipboard.write([new ClipboardItem({"image/png":e})]),!0}catch(e){return!1}}function V(e,t){return t("share.texto",{n:e.projects,domain:U})}var q=a(5483),Z=a(65330),$=a(41268);let J={anthropic:{icon:M.Njx,color:"#d97757"},typescript:{icon:M.cyb,color:"#3178c6"},nextdotjs:{icon:M.wlC,color:"#111111"},nextjs:{icon:M.wlC,color:"#111111"},"next.js":{icon:M.wlC,color:"#111111"},react:{icon:M.GWR,color:"#149eca"},flutter:{icon:M.FuR,color:"#02569b"},dart:{icon:M.A7B,color:"#0175c2"},nodedotjs:{icon:M.h$$,color:"#5fa04e"},nodejs:{icon:M.h$$,color:"#5fa04e"},"node.js":{icon:M.h$$,color:"#5fa04e"},python:{icon:M.ptC,color:"#3776ab"},rust:{icon:M.xZd,color:"#111111"},go:{icon:M.ZRx,color:"#00add8"},vue:{icon:M.Zmg,color:"#42b883"},"vue.js":{icon:M.Zmg,color:"#42b883"},svelte:{icon:M.Qmm,color:"#ff3e00"},swift:{icon:M.cp,color:"#f05138"},kotlin:{icon:M.sjH,color:"#7f52ff"},ruby:{icon:M.LfU,color:"#cc342d"},php:{icon:M.XeU,color:"#777bb4"},express:{icon:M.t5I,color:"#111111"},tailwind:{icon:M.IR8,color:"#06b6d4"},tailwindcss:{icon:M.IR8,color:"#06b6d4"},docker:{icon:M.tih,color:"#2496ed"},postgresql:{icon:M.$Wy,color:"#4169e1"},drizzle:{icon:M.FkC,color:"#c5f74f"},supabase:{icon:M.lLb,color:"#3ecf8e"},firebase:{icon:M.iWE,color:"#ffca28"}};var Y=a(30953);let X=["all","attention","favorites","not-mine","web","mobile","backend","tools","ai","other"],Q={all:"filter.all",attention:"filter.attention",favorites:"filter.favorites","not-mine":"filter.notMine",web:"filter.web",mobile:"filter.mobile",backend:"filter.backend",tools:"filter.tools",ai:"filter.ai",other:"filter.other"};function ee(e){let{name:t,onOpen:a}=e,s=(0,b.kj)();return(0,n.jsx)("button",{type:"button",className:"open-handle",title:s("catalog.openHandle",{name:t}),"aria-label":s("catalog.openHandle",{name:t}),onClick:e=>{e.stopPropagation(),a()},onDoubleClick:e=>e.stopPropagation(),children:(0,n.jsx)(o.OvC,{"aria-hidden":!0})})}function et(){let e=(0,b.kj)();return(0,n.jsx)("span",{className:"opening-spinner",role:"status","aria-label":e("catalog.opening")})}function ea(e){var t;return null!=(t=e.proposedRuns)?t:0}function en(e){return ea(e)>0||e.risks.length>0||e.vulnCount>0||e.outdatedDeps>0||!!e.depsUnresolved}function es(e){return"A"===e||"B"===e?"good":"C"===e?"warn":"bad"}function el(e){return e.replace(/^\/(?:Users|home)\/[^/]+/,"~")}function ei(e){var t,a,s;let{projects:c,stats:v,report:y}=e,N=(0,i.useRouter)(),k=(0,b.kj)(),{query:_,setQuery:C}=(0,$.S)(),[O,M]=(0,T.F)("filter","all","filtro"),A=X.includes(O)?O:"all",[E,R]=(0,T.F)("sort","recent","orden"),[D,F]=(0,T.F)("view","grid","vista"),[I,L]=(0,T.F)("discreet",!1,"discreto"),[W,U]=(0,r.useState)(!1),[z,H]=(0,T.F)("favorites",[],"favoritos"),G=(0,r.useMemo)(()=>new Set(z),[z]),[B,V]=(0,r.useState)(null!=(s=null==(t=c[0])?void 0:t.id)?s:null),q=(0,r.useRef)(!1),Z=(0,r.useRef)(null),J=(0,r.useRef)(null),[ee,et]=(0,r.useState)(null),[ea,es]=(0,r.useState)(null),el=(0,r.useMemo)(()=>c.filter(en).length,[c]),ei=(0,r.useMemo)(()=>c.filter(e=>G.has(e.id)).length,[G,c]),ed=(0,r.useMemo)(()=>{let e=(0,Y.A)(_.trim());return c.filter(t=>{let a=!e||(0,Y.A)([t.name,t.description,t.primaryLanguage,...t.technologies.flatMap(e=>[e.name,e.version]),...t.agents.map(e=>e.name)].filter(Boolean).join(" ")).includes(e),n="all"===A||("attention"===A?en(t):"favorites"===A?G.has(t.id):"not-mine"===A?"foreign"===t.originKind||"forked"===t.originKind||"template"===t.originKind:(function(e){var t;let a=new Set,n=(null!=(t=e.primaryLanguage)?t:"").toLowerCase();for(let t of e.technologies){let e=t.name.toLowerCase();"model"===t.kind&&a.add("ai"),d.has(e)&&a.add("mobile"),(h.has(e)||g.has(e))&&a.add("web"),(u.has(e)||f.has(e))&&a.add("backend"),m.has(e)&&a.add("tools")}return j.has(n)&&a.add("mobile"),p.has(n)&&a.add("web"),x.has(n)&&a.add("backend"),0===a.size&&/\b(cli|tool|tools|runner|script|scripts|terminal|bot|daemon|agent)\b/.test(e.name.toLowerCase())&&a.add("tools"),0===a.size&&e.technologies.some(e=>"runtime"===e.kind&&["node.js","deno","bun"].includes(e.name.toLowerCase()))&&a.add("backend"),0===a.size&&a.add("other"),a})(t).has(A));return a&&n}).sort((e,t)=>{let a=Number(G.has(t.id))-Number(G.has(e.id));return 0!==a?a:"name"===E?e.name.localeCompare(t.name,"es"):"health"===E?t.healthScore-e.healthScore:(t.lastCommitAt?Date.parse(t.lastCommitAt):0)-(e.lastCommitAt?Date.parse(e.lastCommitAt):0)})},[G,A,c,_,E]),eh=(0,r.useMemo)(()=>ed.findIndex(e=>e.id===B),[ed,B]),eu=-1===eh?null:ed[eh];(0,r.useEffect)(()=>{if(q.current)return;let e=ed[0];e&&e.id!==B&&V(e.id)},[ed,B]);let em=(0,r.useCallback)(e=>{q.current=!0,V(e),et(null)},[]),[ex,ej]=(0,r.useTransition)(),[ef,eg]=(0,r.useState)(null),eb=(0,r.useCallback)(e=>{eg(e.id),ej(()=>N.push("/p/".concat(e.slug)))},[N]),ev=(0,r.useCallback)(()=>{var e;let t=null==(e=Z.current)?void 0:e.querySelectorAll("[data-index]"),a=null==t?void 0:t[0];if(!a)return 1;let n=a.offsetTop,s=0;for(let e of t){if(e.offsetTop!==n)break;s+=1}return Math.max(1,s)},[]);function ey(e){var t,a;if(0===ed.length)return;let n=ed.findIndex(e=>e.id===B),s=-1===n?0:Math.min(ed.length-1,Math.max(0,n+e)),l=ed[s];l&&(em(l.id),null==(a=Z.current)||null==(t=a.querySelector('[data-index="'.concat(s,'"]')))||t.focus())}async function ew(e){var t,a,n;let s;et(null);try{s=await fetch("/api/project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"ocultar",id:e})})}catch(e){et(k("project.unreachable"));return}if(!s.ok)return void et(null!=(a=(await s.json().catch(()=>({}))).error)?a:k("project.actionFailed"));B===e&&em(null),es({id:e,name:null!=(n=null==(t=c.find(t=>t.id===e))?void 0:t.name)?n:""}),N.refresh()}async function eN(e){et(null);try{let a=await fetch("/api/project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mostrar",id:e})});if(!a.ok){var t;let e=await a.json().catch(()=>({}));et(null!=(t=e.error)?t:k("project.actionFailed"));return}}catch(e){et(k("project.unreachable"));return}es(null),N.refresh()}let ek={all:c.length,attention:el,favorites:ei};function e_(){var e;M("all"),null==(e=J.current)||e.scrollTo({left:0}),C(""),window.location.search&&N.replace("/",{scroll:!1})}return 0===c.length?null:(0,n.jsx)("main",{id:"app-main",tabIndex:-1,className:"app-main catalog-screen",children:(0,n.jsxs)("div",{className:"catalog-screen__inner",children:[ea&&(0,n.jsxs)("p",{className:"brief brief--dismissed",role:"status",children:[(0,n.jsx)(o.EgV,{"aria-hidden":!0}),(0,n.jsx)("span",{children:k("store.justHidden",{name:ea.name})}),(0,n.jsx)("button",{type:"button",onClick:()=>void eN(ea.id),children:k("store.undoHide")}),(0,n.jsx)(l(),{href:"/hidden",children:k("store.seeHidden")})]}),(0,n.jsxs)("header",{className:"catalog-bar",children:[(0,n.jsx)("div",{className:"catalog-bar__heading",children:(0,n.jsxs)("div",{className:"catalog-bar__title",children:[(0,n.jsx)("h1",{children:k("catalog.title")}),(0,n.jsx)("span",{className:"catalog-count",role:"status",children:ed.length===c.length?k(1===c.length?"catalog.countOne":"catalog.count",{n:c.length}):"".concat(ed.length," / ").concat(c.length)})]})}),(0,n.jsx)("div",{className:"catalog-bar__tools",children:(0,n.jsx)(P,{discreet:I,onToggleDiscreet:()=>L(!I),onShare:()=>U(!0)})})]}),(0,n.jsx)(S,{stats:v,total:c.length,children:(0,n.jsxs)("div",{className:"catalog-activity",children:[(0,n.jsx)(w,{report:y}),(null==(a=c[0])?void 0:a.lastCommitAt)&&(0,n.jsx)(er,{project:c[0],discreet:I})]})}),(0,n.jsxs)("div",{className:"catalog-toolbar",children:[(0,n.jsxs)("div",{className:"catalog-toolbar__heading",children:[(0,n.jsx)("span",{children:k("store.filterAria")}),(0,n.jsx)("p",{children:k("catalog.hint")})]}),(0,n.jsx)("div",{ref:J,className:"catalog-filters",role:"group","aria-label":k("store.filterAria"),children:X.map(e=>(0,n.jsxs)("button",{type:"button",onClick:()=>M(e),className:A===e?"is-active":void 0,"aria-pressed":A===e,children:[k(Q[e]),ek[e]?(0,n.jsx)("span",{children:ek[e]}):null]},e))}),(0,n.jsxs)("div",{className:"catalog-view-tools",children:[(0,n.jsxs)("label",{className:"catalog-sort",children:[(0,n.jsx)("span",{children:k("catalog.sort")}),(0,n.jsxs)("select",{value:E,onChange:e=>R(e.target.value),children:[(0,n.jsx)("option",{value:"recent",children:k("store.sortRecent")}),(0,n.jsx)("option",{value:"name",children:k("store.sortName")}),(0,n.jsx)("option",{value:"health",children:k("store.sortHealth")})]})]}),(0,n.jsxs)("div",{className:"view-switch",role:"group","aria-label":k("store.viewAria"),children:[(0,n.jsxs)("button",{type:"button",onClick:()=>F("list"),className:"list"===D?"is-active":void 0,"aria-label":k("store.viewList"),"aria-pressed":"list"===D,title:k("store.viewList"),children:[(0,n.jsx)(o.$mg,{"aria-hidden":!0}),(0,n.jsx)("span",{children:k("catalog.list")})]}),(0,n.jsxs)("button",{type:"button",onClick:()=>F("grid"),className:"grid"===D?"is-active":void 0,"aria-label":k("store.viewGrid"),"aria-pressed":"grid"===D,title:k("store.viewGrid"),children:[(0,n.jsx)(o.ENP,{"aria-hidden":!0}),(0,n.jsx)("span",{children:k("catalog.grid")})]})]})]})]}),("all"!==A||_.trim())&&(0,n.jsxs)("div",{className:"catalog-filter-state",children:[(0,n.jsxs)("p",{children:[k("catalog.filteredBy",{filter:k(Q[A])}),_.trim()&&(0,n.jsxs)("span",{children:[" \xb7 ",_.trim()]})]}),(0,n.jsxs)("button",{type:"button",onClick:e_,children:[(0,n.jsx)(o.fZH,{"aria-hidden":!0}),k("store.clearFilters")]})]}),W&&(0,n.jsx)(K,{data:function(e){let t=e.reduce((e,t)=>{var a;return e+(null!=(a=t.gitCommitCount)?a:0)},0),a=new Set(e.flatMap(e=>e.technologies.map(e=>e.name))),n=e.reduce((e,t)=>e+t.agents.reduce((e,t)=>e+t.commits,0),0);return{projects:e.length,technologies:a.size,commits:t,agents:t>0&&n>0?Math.min(100,Math.round(n/t*100)):null,featuredProjects:e.filter(e=>e.hasIcon).slice(0,8).map(e=>({name:e.name,health:e.healthScore,icon:"/icon/".concat(e.id)}))}}(c),discreet:I,onClose:()=>U(!1)}),(0,n.jsxs)("div",{className:"catalog-split","data-open":eu?"true":"false",children:[(0,n.jsx)("div",{className:"catalog-body",children:ed.length>0?(0,n.jsxs)(n.Fragment,{children:["list"===D&&(0,n.jsxs)("div",{className:"catalog-columns","aria-hidden":!0,children:[(0,n.jsx)("span",{children:k("catalog.colProject")}),(0,n.jsx)("span",{children:k("catalog.colHealth")}),(0,n.jsx)("span",{children:k("catalog.colStack")}),(0,n.jsx)("span",{children:k("catalog.colActivity")})]}),(0,n.jsx)("div",{ref:Z,role:"listbox","aria-label":k("catalog.rowsAria"),className:"catalog-rows catalog-rows--".concat(D),onKeyDown:function(e){let t="grid"===D?ev():1,a={ArrowDown:t,ArrowUp:-t,..."grid"===D?{ArrowRight:1,ArrowLeft:-1}:{}}[e.key];if(void 0!==a){e.preventDefault(),ey(a);return}if("Home"===e.key||"End"===e.key){e.preventDefault(),ey("Home"===e.key?-ed.length:ed.length);return}"Escape"===e.key&&B&&(e.preventDefault(),em(null))},children:ed.map((e,t)=>{let a={project:e,index:t,selected:e.id===B,tabbable:t===(-1===eh?0:eh),favorite:G.has(e.id),opening:ex&&ef===e.id,discreet:I,onSelect:()=>em(e.id),onOpen:()=>eb(e)};return"list"===D?(0,n.jsx)(eo,{...a},e.id):(0,n.jsx)(ec,{...a},e.id)})})]}):(0,n.jsxs)("div",{className:"catalog-empty",role:"status",children:[(0,n.jsx)(o.ENP,{"aria-hidden":!0}),(0,n.jsx)("h2",{children:k("store.noResults")}),(0,n.jsx)("p",{children:k("store.noResultsBody")}),(0,n.jsx)("button",{type:"button",onClick:e_,children:k("store.clearFilters")})]})}),eu&&(0,n.jsx)(ep,{project:eu,discreet:I,index:Math.max(0,ed.findIndex(e=>e.id===eu.id)),favorite:G.has(eu.id),onFavorite:()=>{var e;return e=eu.id,void H(G.has(e)?z.filter(t=>t!==e):[...z,e])},onHide:()=>ew(eu.id),onClose:()=>em(null),error:ee},eu.id)]})]})})}function er(e){let{project:t,discreet:a}=e,s=(0,b.kj)(),i=(0,b.Ym)();return(0,n.jsxs)("section",{className:"catalog-latest","aria-label":s("catalog.latestCommit"),children:[(0,n.jsxs)("div",{className:"catalog-latest__heading",children:[(0,n.jsx)("h2",{children:s("catalog.latestCommit")}),(0,n.jsx)("span",{children:(0,v.Pp)(t.lastCommitAt,i)})]}),(0,n.jsxs)(l(),{href:"/p/".concat(t.slug),children:[a?s("store.hidden",{n:1}):t.name,(0,n.jsx)(o.OvC,{"aria-hidden":!0})]}),!a&&t.lastCommitSubject&&(0,n.jsx)("p",{title:t.lastCommitSubject,children:t.lastCommitSubject})]})}function eo(e){let{project:t,index:a,selected:s,tabbable:l,favorite:i,opening:r,discreet:d,onSelect:h,onOpen:u}=e,m=(0,b.kj)(),p=(0,b.Ym)(),x=ea(t);return(0,n.jsxs)("div",{id:"catalog-".concat(t.id),role:"option","aria-selected":s,"aria-busy":r,tabIndex:l?0:-1,"data-index":a,className:"catalog-row",title:d?m("store.hidden",{n:a+1}):t.root,onClick:h,onDoubleClick:u,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),u())," "===e.key&&(e.preventDefault(),h())},children:[(0,n.jsxs)("span",{className:"catalog-row__identity",children:[d?(0,n.jsx)(ed,{size:"row",variant:a}):(0,n.jsx)(v.hV,{locale:p,name:t.name,src:t.hasIcon?"/icon/".concat(t.id):null,size:40,tone:"neutral"}),(0,n.jsxs)("span",{className:"catalog-row__names",children:[(0,n.jsxs)("span",{className:"catalog-row__name",children:[(0,n.jsx)("span",{children:d?m("store.hidden",{n:a+1}):t.name}),i&&(0,n.jsx)(o.K7t,{className:"catalog-row__star","aria-hidden":!0}),x>0&&(0,n.jsxs)("span",{className:"waiting-badge",title:m(1===x?"store.proposalsWaitingOne":"store.proposalsWaitingMany",{n:x}),children:[(0,n.jsx)("span",{"aria-hidden":!0,children:x}),(0,n.jsx)("span",{className:"sr-only",children:m(1===x?"store.proposalsWaitingOne":"store.proposalsWaitingMany",{n:x})})]}),t.risks.length>0&&(0,n.jsx)(o.Dco,{className:"risk-mark",title:t.risks.map(e=>(0,c.P3)(m,e)).join(" \xb7 ")})]}),!d&&(0,n.jsxs)("span",{className:"catalog-row__path",children:[el(t.root),t.copyCount>0&&(0,n.jsxs)("span",{title:m("store.alsoCopiesTitle"),children:[" ",m("store.alsoCopies",{n:t.copyCount})]})]})]})]}),(0,n.jsx)(eh,{score:t.healthScore,grade:t.healthGrade}),(0,n.jsx)(eu,{technologies:t.technologies}),(0,n.jsxs)("span",{className:"catalog-row__activity",children:[(0,n.jsx)(em,{state:t.state}),(0,v.Pp)(t.lastCommitAt,p)]}),(0,n.jsx)("span",{className:"catalog-row__handle",children:r?(0,n.jsx)(et,{}):(0,n.jsx)(ee,{name:d?m("store.hidden",{n:a+1}):t.name,onOpen:u})})]})}function ec(e){let{project:t,index:a,selected:s,tabbable:l,favorite:i,opening:r,discreet:d,onSelect:h,onOpen:u}=e,m=(0,b.Ym)(),p=(0,b.kj)();return(0,n.jsxs)("div",{id:"catalog-".concat(t.id),role:"option","aria-selected":s,"aria-busy":r,tabIndex:l?0:-1,"data-index":a,className:"catalog-tile",title:d?p("store.hidden",{n:a+1}):t.root,onClick:h,onDoubleClick:u,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),u())," "===e.key&&(e.preventDefault(),h())},children:[(0,n.jsx)(eh,{score:t.healthScore,grade:t.healthGrade}),(0,n.jsx)("span",{className:"catalog-tile__handle",children:r?(0,n.jsx)(et,{}):(0,n.jsx)(ee,{name:d?p("store.hidden",{n:a+1}):t.name,onOpen:u})}),d?(0,n.jsx)(ed,{size:"tile",variant:a}):(0,n.jsx)(v.hV,{locale:m,name:t.name,src:t.hasIcon?"/icon/".concat(t.id):null,size:76,tone:"neutral"}),(0,n.jsxs)("span",{className:"catalog-tile__name",children:[i&&(0,n.jsx)(o.K7t,{"aria-hidden":!0}),(0,n.jsx)("span",{children:d?p("store.hidden",{n:a+1}):t.name}),!d&&t.copyCount>0&&(0,n.jsx)(o.Zs_,{title:p("store.alsoCopiesMark",{n:t.copyCount})})]}),(0,n.jsxs)("span",{className:"catalog-tile__meta",children:[(0,n.jsx)(em,{state:t.state}),(0,v.Pp)(t.lastCommitAt,m),t.risks.length>0&&(0,n.jsx)(o.Dco,{className:"risk-mark",title:t.risks.map(e=>(0,c.P3)(p,e)).join(" \xb7 ")})]})]})}function ed(e){let{size:t,variant:a}=e;return(0,n.jsx)("span",{className:"catalog-private-mark catalog-private-mark--".concat(t),"data-variant":a%4,"aria-hidden":!0,children:(0,n.jsx)("span",{className:"catalog-private-mark__seal"})})}function eh(e){let{score:t,grade:a}=e,s=(0,b.kj)(),l=2*Math.PI*11,i=Math.max(0,Math.min(100,t))/100*l;return(0,n.jsxs)("span",{className:"health-dial health-dial--".concat(es(a)),title:s("catalog.healthOf",{n:t}),children:[(0,n.jsxs)("svg",{viewBox:"0 0 26 26","aria-hidden":!0,children:[(0,n.jsx)("circle",{className:"health-dial__track",cx:"13",cy:"13",r:11}),(0,n.jsx)("circle",{className:"health-dial__arc",cx:"13",cy:"13",r:11,strokeDasharray:"".concat(i," ").concat(l)})]}),(0,n.jsx)("span",{children:t})]})}function eu(e){var t,a;let{technologies:s}=e,l=s.find(e=>"framework"===e.kind||"language"===e.kind);if(!l)return(0,n.jsx)("span",{className:"stack-mark stack-mark--empty",children:"—"});let i=null!=(a=J[(t=l.name).toLowerCase()])?a:J[t.toLowerCase()],r=null==i?void 0:i.icon;return(0,n.jsxs)("span",{className:"stack-mark",children:[r?(0,n.jsx)(r,{"aria-hidden":!0,style:{color:i.color}}):null,(0,n.jsx)("span",{children:l.name})]})}function em(e){let{state:t}=e,a=(0,b.kj)();return(0,n.jsx)("span",{className:"state-dot state-dot--".concat(t),title:a(ex(t)),children:(0,n.jsx)("span",{className:"sr-only",children:a(ex(t))})})}function ep(e){var t,a;let{project:s,discreet:i,index:r,favorite:d,onFavorite:h,onHide:u,onClose:m,error:p}=e,x=(0,b.kj)(),j=(0,b.Ym)(),f=ea(s),g=es(s.healthGrade),y=i?x("store.hidden",{n:r+1}):s.name,w=!1===s.gitVersioned?x("catalog.noGit"):s.gitRemoteUrl?x("catalog.remote"):x("catalog.localOnly"),N="foreign"===s.originKind?x("origin.foreign"):"forked"===s.originKind?x("origin.forked"):"template"===s.originKind?x("origin.template"):null;return(0,n.jsxs)("aside",{className:"detail-panel","aria-label":x("catalog.detailsOf",{name:y}),children:[(0,n.jsxs)("header",{className:"detail-panel__head",children:[i?(0,n.jsx)(ed,{size:"row",variant:r}):(0,n.jsx)(v.hV,{locale:j,name:s.name,src:s.hasIcon?"/icon/".concat(s.id):null,size:38,tone:"neutral"}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h2",{children:y}),!i&&(0,n.jsx)("p",{title:s.root,children:el(s.root)})]}),(0,n.jsx)("button",{type:"button",onClick:m,"aria-label":x("catalog.close"),children:(0,n.jsx)(o.fZH,{"aria-hidden":!0})})]}),(0,n.jsxs)("div",{className:"detail-panel__open",children:[(0,n.jsx)(Z.q,{projectId:s.id,path:s.root,locale:j}),(0,n.jsx)(q.w,{projectId:s.id,projectName:s.name,compact:!0})]}),(0,n.jsxs)("section",{className:"detail-health detail-health--".concat(g),children:[(0,n.jsxs)("p",{children:[(0,n.jsx)(em,{state:s.state}),x("catalog.colHealth")]}),(0,n.jsxs)("p",{className:"detail-health__score",children:[(0,n.jsx)("strong",{children:s.healthScore}),(0,n.jsx)("span",{children:"/100"})]}),(0,n.jsx)("span",{className:"detail-health__meter",children:(0,n.jsx)("span",{style:{width:"".concat(Math.max(0,Math.min(100,s.healthScore)),"%")}})})]}),(0,n.jsxs)("dl",{className:"detail-facts",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("dt",{children:x("catalog.colStack")}),(0,n.jsx)("dd",{children:(0,n.jsx)(eu,{technologies:s.technologies})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("dt",{children:x("catalog.colActivity")}),(0,n.jsx)("dd",{children:(0,v.Pp)(s.lastCommitAt,j)})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("dt",{children:x("catalog.commits")}),(0,n.jsx)("dd",{children:null!=(t=s.gitCommitCount)?t:"—"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("dt",{children:x("catalog.repository")}),(0,n.jsx)("dd",{children:w})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("dt",{children:x("catalog.size")}),(0,n.jsx)("dd",{children:(0,v.z3)(s.sourceBytes)})]}),N&&(0,n.jsxs)("div",{children:[(0,n.jsx)("dt",{children:x("catalog.origin")}),(0,n.jsx)("dd",{title:null!=(a=s.originStartedBy)?a:void 0,children:N})]})]}),en(s)&&(0,n.jsxs)("section",{className:"detail-review",children:[(0,n.jsx)("h3",{children:x("catalog.needsReview")}),f>0&&(0,n.jsxs)(l(),{href:"/p/".concat(s.slug,"#propuestas"),className:"detail-review__waiting",children:[(0,n.jsx)(o.V83,{"aria-hidden":!0}),(0,n.jsx)("span",{children:x(1===f?"store.proposalsWaitingOne":"store.proposalsWaitingMany",{n:f})})]}),(0,n.jsxs)("ul",{children:[s.risks.map(e=>(0,n.jsx)("li",{className:"is-danger",children:(0,n.jsx)(l(),{href:"/p/".concat(s.slug,"#unsaved"),title:x("catalog.reviewUnsaved"),children:(0,c.P3)(x,e)})},e.code)),s.vulnCount>0&&(0,n.jsx)("li",{className:"is-danger",children:(0,n.jsx)(l(),{href:"/p/".concat(s.slug,"#security"),title:x("catalog.reviewSecurity"),children:1===s.vulnCount?x("store.noticeOne"):x("store.noticesMany",{n:s.vulnCount})})}),s.outdatedDeps>0&&(0,n.jsx)("li",{children:(0,n.jsx)(l(),{href:"/p/".concat(s.slug,"#dependencies"),title:x("catalog.reviewDeps"),children:x("store.depsBehindRatio",{n:s.outdatedDeps,total:s.directDeps||0})})}),s.depsUnresolved&&(0,n.jsx)("li",{children:(0,n.jsx)(l(),{href:"/p/".concat(s.slug,"#dependencies"),title:x("project.depsUncheckedWhy",{file:s.depsUnresolved}),children:x("store.depsUnchecked")})})]})]}),p&&(0,n.jsx)("p",{className:"detail-panel__error",role:"alert",children:p}),(0,n.jsxs)("footer",{className:"detail-panel__foot",children:[(0,n.jsxs)(l(),{href:"/p/".concat(s.slug),children:[x("catalog.fullDetail")," ",(0,n.jsx)(o.OvC,{"aria-hidden":!0})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("button",{type:"button",onClick:h,"aria-label":d?x("store.favoriteRemove",{name:s.name}):x("store.favoriteAdd",{name:s.name}),"aria-pressed":d,children:d?(0,n.jsx)(o.K7t,{"aria-hidden":!0}):(0,n.jsx)(o.sdO,{"aria-hidden":!0})}),(0,n.jsx)("button",{type:"button",onClick:u,"aria-label":x("store.hideNamed",{name:s.name}),children:(0,n.jsx)(o.EgV,{"aria-hidden":!0})})]})]})]})}function ex(e){return"active"===e?"state.active":"paused"===e?"state.paused":"dormant"===e?"state.dormant":"state.no-git"}},30953:(e,t,a)=>{"use strict";function n(e){return(null!=e?e:"").toLowerCase().normalize("NFD").replace(RegExp("\\p{Diacritic}","gu"),"")}a.d(t,{A:()=>n})},41268:(e,t,a)=>{"use strict";a.d(t,{SearchProvider:()=>c,S:()=>o});var n=a(38657),s=a(10354),l=a(32165);function i(e,t){var a;return"/"!==e?"":null!=(a=("string"==typeof t?new URLSearchParams(t):t).get("q"))?a:""}let r=(0,l.createContext)({query:"",setQuery:()=>{}});function o(){return(0,l.useContext)(r)}function c(e){let{children:t}=e,a=(0,s.usePathname)(),o=(0,s.useSearchParams)(),[c,d]=(0,l.useState)(()=>i(a,o));(0,l.useEffect)(()=>{d(i(a,o))},[a,o]);let h=(0,l.useMemo)(()=>({query:c,setQuery:d}),[c]);return(0,n.jsx)(r.Provider,{value:h,children:t})}},48804:(e,t,a)=>{"use strict";a.d(t,{K:()=>o,t:()=>r});var n=a(38657),s=a(32165),l=a(3043),i=a(9144);function r(){let[e,t]=(0,s.useState)();return(0,s.useEffect)(()=>{let e=!0;return fetch("/api/watch").then(e=>e.json()).then(a=>{e&&t(a)}).catch(()=>void 0),()=>{e=!1}},[]),e}function o(e){let{failure:t}=e,a=(0,i.kj)();return(0,n.jsxs)("section",{className:"catalog-down",role:"alert",children:[(0,n.jsxs)("h2",{children:[(0,n.jsx)(l.z1N,{"aria-hidden":!0}),a("catalog.down.title")]}),(0,n.jsx)("p",{children:a("catalog.down.body",{path:t.path})}),(0,n.jsx)("p",{className:"catalog-down__detail",children:(0,n.jsx)("code",{children:a("catalog.down.detail",{detail:t.detail})})})]})}},56684:(e,t,a)=>{"use strict";a.d(t,{k5:()=>d});var n=a(32165),s={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},l=n.createContext&&n.createContext(s),i=["attr","size","title"];function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e}).apply(null,arguments)}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function c(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){var n,s,l;n=e,s=t,l=a[t],(s=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(s))in n?Object.defineProperty(n,s,{value:l,enumerable:!0,configurable:!0,writable:!0}):n[s]=l}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function d(e){return t=>n.createElement(h,r({attr:c({},e.attr)},t),function e(t){return t&&t.map((t,a)=>n.createElement(t.tag,c({key:a},t.attr),e(t.child)))}(e.child))}function h(e){var t=t=>{var a,s=e.attr,l=e.size,o=e.title,d=function(e,t){if(null==e)return{};var a,n,s=function(e,t){if(null==e)return{};var a={};for(var n in e)if(({}).hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],-1===t.indexOf(a)&&({}).propertyIsEnumerable.call(e,a)&&(s[a]=e[a])}return s}(e,i),h=l||t.size||"1em";return t.className&&(a=t.className),e.className&&(a=(a?a+" ":"")+e.className),n.createElement("svg",r({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,s,d,{className:a,style:c(c({color:e.color||t.color},t.style),e.style),height:h,width:h,xmlns:"http://www.w3.org/2000/svg"}),o&&n.createElement("title",null,o),e.children)};return void 0!==l?n.createElement(l.Consumer,null,e=>t(e)):t(s)}},79840:(e,t,a)=>{"use strict";a.d(t,{CatalogSummary:()=>l});var n=a(38657),s=a(9144);function l(e){let{stats:t}=e,a=(0,s.kj)();return(0,n.jsxs)("div",{className:"catalog-overview",role:"group","aria-label":a("shell.summary"),children:[(0,n.jsxs)("dl",{className:"catalog-overview__states",children:[(0,n.jsx)(i,{label:a("shell.live"),value:t.live,tone:"live"}),(0,n.jsx)(i,{label:a("shell.paused"),value:t.paused,tone:"paused"}),(0,n.jsx)(i,{label:a("shell.dormant"),value:t.dormant}),(0,n.jsx)(i,{label:a("shell.noGit"),value:t.noGit})]}),(0,n.jsxs)("dl",{className:"catalog-overview__aside",children:[(0,n.jsx)(i,{label:a("shell.copies"),value:t.copies}),t.hidden>0&&(0,n.jsx)(i,{label:a("shell.hidden"),value:t.hidden})]})]})}function i(e){let{label:t,value:a,tone:s}=e;return(0,n.jsxs)("div",{className:"catalog-overview__item","data-tone":s,children:[(0,n.jsx)("dt",{children:t}),(0,n.jsx)("dd",{children:a})]})}}},e=>{e.O(0,[6587,3052,2583,3953,2575,2948,1369,2202,1305,6823,7358],()=>e(e.s=26602)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[668],{9144:(e,t,r)=>{"use strict";r.d(t,{I18nProvider:()=>s,Ym:()=>c,Zs:()=>u,kj:()=>d});var n=r(38657),a=r(32165),i=r(2575);let o=(0,a.createContext)("en"),l=(0,a.createContext)("panoma");function s(e){let{locale:t,cli:r,children:a}=e;return(0,n.jsx)(o.Provider,{value:t,children:(0,n.jsx)(l.Provider,{value:r,children:a})})}function c(){return(0,a.useContext)(o)}function u(){return(0,a.useContext)(l)}function d(){let e=(0,a.useContext)(o),t=(0,a.useContext)(l);return(0,a.useCallback)((r,n)=>(0,i.t)(e,r,{cli:t,...n}),[e,t])}},10354:(e,t,r)=>{"use strict";var n=r(61990);r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})},21248:(e,t,r)=>{"use strict";r.d(t,{h:()=>a});var n=r(38657);function a(e){let{text:t,slots:r}=e,a=t.split(/\{(\w+)\}/g);return(0,n.jsx)(n.Fragment,{children:a.map((e,t)=>{var a;return t%2==0?e:(0,n.jsx)("span",{children:null!=(a=r[e])?a:"{".concat(e,"}")},t)})})}},56684:(e,t,r)=>{"use strict";r.d(t,{k5:()=>u});var n=r(32165),a={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},i=n.createContext&&n.createContext(a),o=["attr","size","title"];function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach(function(t){var n,a,i;n=e,a=t,i=r[t],(a=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(a))in n?Object.defineProperty(n,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[a]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function u(e){return t=>n.createElement(d,l({attr:c({},e.attr)},t),function e(t){return t&&t.map((t,r)=>n.createElement(t.tag,c({key:r},t.attr),e(t.child)))}(e.child))}function d(e){var t=t=>{var r,a=e.attr,i=e.size,s=e.title,u=function(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r={};for(var n in e)if(({}).hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],-1===t.indexOf(r)&&({}).propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(e,o),d=i||t.size||"1em";return t.className&&(r=t.className),e.className&&(r=(r?r+" ":"")+e.className),n.createElement("svg",l({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,a,u,{className:r,style:c(c({color:e.color||t.color},t.style),e.style),height:d,width:d,xmlns:"http://www.w3.org/2000/svg"}),s&&n.createElement("title",null,s),e.children)};return void 0!==i?n.createElement(i.Consumer,null,e=>t(e)):t(a)}},81339:(e,t,r)=>{Promise.resolve().then(r.bind(r,98623)),Promise.resolve().then(r.t.bind(r,3953,23))},98623:(e,t,r)=>{"use strict";r.d(t,{RunActions:()=>c});var n=r(38657),a=r(10354),i=r(32165),o=r(9144),l=r(21248),s=r(52948);function c(e){let{runId:t,branch:r}=e,c=(0,o.kj)(),u=(0,a.useRouter)(),[d,f]=(0,i.useState)(null),[p,b]=(0,i.useState)(null);async function m(e){f(e),b(null);try{var r,n;let a=await fetch("/api/runs/".concat(t),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e})}),i=await a.json();b({ok:!!i.ok,detail:null!=(n=null!=(r=i.detail)?r:i.error)?n:c("runActions.noDetail")}),i.ok&&u.refresh()}catch(e){b({ok:!1,detail:c("runActions.unreachable")})}finally{f(null)}}return(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,n.jsx)(s.rA,{tone:"accent",size:"lg",onClick:()=>m("aplicar"),busy:"aplicar"===d,busyLabel:c("runActions.merging"),disabled:null!==d,children:c("runActions.apply")}),(0,n.jsx)(s.rA,{tone:"plain",size:"lg",onClick:()=>m("descartar"),busy:"descartar"===d,busyLabel:c("runActions.discarding"),disabled:null!==d,children:c("runActions.discard")})]}),(0,n.jsx)("p",{className:"mt-2 font-mono text-[11px] text-faint",children:(0,n.jsx)(l.h,{text:c("runActions.note"),slots:{branch:(0,n.jsx)("span",{className:"text-smoke",children:r})}})}),p&&(0,n.jsx)("p",{className:"mt-3 rounded border px-3 py-2 text-xs ".concat(p.ok?"border-live/30 bg-live/10 text-live":"border-idle/30 bg-idle/10 text-idle"),children:p.detail})]})}}},e=>{e.O(0,[6587,3953,2575,2948,1305,6823,7358],()=>e(e.s=81339)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2229,2966,4345,4709],{75206:(e,s,_)=>{Promise.resolve().then(_.t.bind(_,3953,23))}},e=>{e.O(0,[3953,1305,6823,7358],()=>e(e.s=75206)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7712],{9144:(e,t,r)=>{"use strict";r.d(t,{I18nProvider:()=>i,Ym:()=>o,Zs:()=>u,kj:()=>d});var n=r(38657),a=r(32165),s=r(2575);let l=(0,a.createContext)("en"),c=(0,a.createContext)("panoma");function i(e){let{locale:t,cli:r,children:a}=e;return(0,n.jsx)(l.Provider,{value:t,children:(0,n.jsx)(c.Provider,{value:r,children:a})})}function o(){return(0,a.useContext)(l)}function u(){return(0,a.useContext)(c)}function d(){let e=(0,a.useContext)(l),t=(0,a.useContext)(c);return(0,a.useCallback)((r,n)=>(0,s.t)(e,r,{cli:t,...n}),[e,t])}},13e3:(e,t,r)=>{"use strict";let n;r.d(t,{R:()=>i,b:()=>l});var a=r(32165);let s={remote:!1,editor:null,editors:[],desktopApps:[],agents:[]};function l(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],[t,r]=(0,a.useState)(s);return(0,a.useEffect)(()=>{if(!e)return;null!=n||(n=fetch("/api/open").then(e=>e.json()).catch(()=>s));let t=!0;return n.then(e=>{t&&r(e)}),()=>{t=!1}},[e]),t}let c={cursor:"cursor",code:"vscode",windsurf:"windsurf",zed:"zed"};function i(e,t,r,n){let a=c[null!=e?e:"code"];if(!a)return null;let s=encodeURI("".concat(t.replace(/\/$/,""),"/").concat(r)).replace(/#/g,"%23").replace(/\?/g,"%3F");return"".concat(a,"://file").concat(s.startsWith("/")?"":"/").concat(s,":").concat(n)}},
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7712],{9144:(e,t,r)=>{"use strict";r.d(t,{I18nProvider:()=>i,Ym:()=>o,Zs:()=>u,kj:()=>d});var n=r(38657),a=r(32165),s=r(2575);let l=(0,a.createContext)("en"),c=(0,a.createContext)("panoma");function i(e){let{locale:t,cli:r,children:a}=e;return(0,n.jsx)(l.Provider,{value:t,children:(0,n.jsx)(c.Provider,{value:r,children:a})})}function o(){return(0,a.useContext)(l)}function u(){return(0,a.useContext)(c)}function d(){let e=(0,a.useContext)(l),t=(0,a.useContext)(c);return(0,a.useCallback)((r,n)=>(0,s.t)(e,r,{cli:t,...n}),[e,t])}},13e3:(e,t,r)=>{"use strict";let n;r.d(t,{R:()=>i,b:()=>l});var a=r(32165);let s={remote:!1,editor:null,editors:[],desktopApps:[],agents:[]};function l(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],[t,r]=(0,a.useState)(s);return(0,a.useEffect)(()=>{if(!e)return;null!=n||(n=fetch("/api/open").then(e=>e.json()).catch(()=>s));let t=!0;return n.then(e=>{t&&r(e)}),()=>{t=!1}},[e]),t}let c={cursor:"cursor",code:"vscode",windsurf:"windsurf",zed:"zed"};function i(e,t,r,n){let a=c[null!=e?e:"code"];if(!a)return null;let s=encodeURI("".concat(t.replace(/\/$/,""),"/").concat(r)).replace(/#/g,"%23").replace(/\?/g,"%3F");return"".concat(a,"://file").concat(s.startsWith("/")?"":"/").concat(s,":").concat(n)}},18822:(e,t,r)=>{Promise.resolve().then(r.bind(r,82582))},56684:(e,t,r)=>{"use strict";r.d(t,{k5:()=>u});var n=r(32165),a={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},s=n.createContext&&n.createContext(a),l=["attr","size","title"];function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach(function(t){var n,a,s;n=e,a=t,s=r[t],(a=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(a))in n?Object.defineProperty(n,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):n[a]=s}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function u(e){return t=>n.createElement(d,c({attr:o({},e.attr)},t),function e(t){return t&&t.map((t,r)=>n.createElement(t.tag,o({key:r},t.attr),e(t.child)))}(e.child))}function d(e){var t=t=>{var r,a=e.attr,s=e.size,i=e.title,u=function(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r={};for(var n in e)if(({}).hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],-1===t.indexOf(r)&&({}).propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(e,l),d=s||t.size||"1em";return t.className&&(r=t.className),e.className&&(r=(r?r+" ":"")+e.className),n.createElement("svg",c({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,a,u,{className:r,style:o(o({color:e.color||t.color},t.style),e.style),height:d,width:d,xmlns:"http://www.w3.org/2000/svg"}),i&&n.createElement("title",null,i),e.children)};return void 0!==s?n.createElement(s.Consumer,null,e=>t(e)):t(a)}},82582:(e,t,r)=>{"use strict";r.d(t,{CodeSearch:()=>o});var n=r(38657),a=r(32165),s=r(3043),l=r(9144),c=r(52948),i=r(13e3);function o(e){let{initialQuery:t}=e,r=(0,l.kj)(),[o,d]=(0,a.useState)(t),[h,p]=(0,a.useState)("ready"),[f,m]=(0,a.useState)(null),[x,j]=(0,a.useState)(null),b=(0,a.useRef)(null),{remote:y,editor:v}=(0,i.b)(),g=(0,a.useCallback)(async e=>{if(!(e.trim().length<2)){p("searching"),j(null);try{var t;let n=await fetch("/api/search?q=".concat(encodeURIComponent(e.trim()))),a=await n.json();n.ok?m(a):j(null!=(t=a.error)?t:r("search.failed"))}catch(e){j(r("search.unreachable"))}finally{p("ready")}}},[r]);return(0,a.useEffect)(()=>{var e;t.trim().length>=2?g(t):null==(e=b.current)||e.focus()},[t,g]),(0,n.jsxs)("div",{children:[(0,n.jsxs)("form",{className:"flex flex-wrap items-center gap-2",onSubmit:e=>{e.preventDefault(),g(o);let t=new URL(window.location.href);t.searchParams.set("q",o.trim()),window.history.replaceState(null,"",t)},children:[(0,n.jsx)(s.JJh,{"aria-hidden":!0}),(0,n.jsx)("input",{ref:b,value:o,onChange:e=>d(e.target.value),placeholder:"stripe.webhook, TODO, API_KEY…","aria-label":r("search.fieldLabel"),className:"min-w-0 flex-1 rounded border border-edge bg-raised px-2.5 py-1.5 text-xs text-chalk placeholder:text-faint focus:border-accent focus:outline-none"}),(0,n.jsx)(c.rA,{tone:"raised",type:"submit",busy:"searching"===h,busyLabel:r("search.searching"),disabled:"searching"===h||o.trim().length<2,children:r("search.submit")})]}),(0,n.jsxs)("p",{className:"mt-2 font-mono text-[11px] text-faint",children:[r("search.scopeNote")," ",r("search.scopeVendors")," ",(0,n.jsx)("code",{children:"Pods"}),", ",(0,n.jsx)("code",{children:"vendor"}),","," ",(0,n.jsx)("code",{children:"third_party"}),", ",(0,n.jsx)("code",{children:"node_modules"}),"."]}),x&&(0,n.jsx)("p",{className:"mt-3 font-mono text-xs text-fail",children:x}),f&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("p",{className:"mt-6 flex flex-wrap gap-x-4 font-mono text-xs text-faint",children:[(0,n.jsxs)("span",{className:"text-chalk",children:[r(1===f.total?"search.matchOne":"search.matchMany",{n:f.total})," ",r(1===f.results.length?"search.inProjectOne":"search.inProjectMany",{n:f.results.length})]}),(0,n.jsx)("span",{children:r("search.reposSearched",{n:f.searched})}),f.skipped>0&&(0,n.jsx)("span",{className:"text-idle",title:r("search.skippedTitle"),children:r("search.skipped",{n:f.skipped})}),!y&&f.results.length>0&&(0,n.jsx)("span",{className:"ml-auto",children:r("search.clickToOpen")})]}),0===f.results.length?(0,n.jsx)(c.pp,{className:"mt-4",title:r("search.noMatch",{query:f.query})}):(0,n.jsx)("ul",{className:"mt-4 space-y-3",children:f.results.map(e=>(0,n.jsxs)(c.Zp,{as:"li",pad:"none",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-1 border-b border-edge px-4 py-2.5",children:[(0,n.jsx)("a",{href:"/p/".concat(e.slug),className:"text-sm font-medium hover:text-accent",children:e.name}),(0,n.jsx)("span",{className:"font-mono text-[11px] text-faint",title:e.root,children:function(e){let t=e.split("/");return t.length<=3?e:"…/".concat(t.slice(-2).join("/"))}(e.root)}),(0,n.jsxs)("span",{className:"ml-auto font-mono text-[11px] text-accent",children:[e.matches.length,e.truncated&&"+"]}),!y&&(0,n.jsx)(u,{id:e.id})]}),(0,n.jsx)("ul",{className:"divide-y divide-edge/50",children:e.matches.map(t=>{let a=y?null:(0,i.R)(v,e.root,t.file,t.line),s=(0,n.jsxs)(n.Fragment,{children:[t.file,(0,n.jsxs)("span",{className:"text-accent",children:[":",t.line]})]});return(0,n.jsxs)("li",{className:"flex gap-3 px-4 py-1.5 font-mono text-[11px]",children:[a?(0,n.jsx)("a",{href:a,className:"w-56 shrink-0 truncate text-faint hover:text-accent",title:r("search.openAt",{file:t.file,line:t.line}),children:s}):(0,n.jsx)("span",{className:"w-56 shrink-0 truncate text-faint",title:t.file,children:s}),(0,n.jsx)("code",{className:"min-w-0 flex-1 truncate text-smoke",children:t.text})]},"".concat(t.file,":").concat(t.line))})}),e.truncated&&(0,n.jsx)("p",{className:"px-4 py-1.5 font-mono text-[10px] text-faint",children:r("search.truncated",{n:e.matches.length})})]},e.id))})]})]})}function u(e){let{id:t}=e,r=(0,l.kj)(),[c,i]=(0,a.useState)(null);return(0,n.jsx)("button",{type:"button",title:null!=c?c:r("search.openFolder"),onClick:async()=>{try{let n=await fetch("/api/open",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:t})});if(!n.ok){var e;let t=await n.json();i(null!=(e=t.error)?e:r("search.openFailed"))}}catch(e){i(r("search.unreachable"))}},className:"shrink-0 ".concat(c?"text-fail":"text-faint hover:text-accent"),"aria-label":r("search.openFolderAria"),children:(0,n.jsx)(s.gBk,{className:"h-4 w-4","aria-hidden":!0})})}}},e=>{e.O(0,[6587,2575,2948,1305,6823,7358],()=>e(e.s=18822)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5172],{9144:(e,t,s)=>{"use strict";s.d(t,{I18nProvider:()=>o,Ym:()=>c,Zs:()=>d,kj:()=>p});var n=s(38657),a=s(32165),r=s(2575);let l=(0,a.createContext)("en"),i=(0,a.createContext)("panoma");function o(e){let{locale:t,cli:s,children:a}=e;return(0,n.jsx)(l.Provider,{value:t,children:(0,n.jsx)(i.Provider,{value:s,children:a})})}function c(){return(0,a.useContext)(l)}function d(){return(0,a.useContext)(i)}function p(){let e=(0,a.useContext)(l),t=(0,a.useContext)(i);return(0,a.useCallback)((s,n)=>(0,r.t)(e,s,{cli:t,...n}),[e,t])}},10354:(e,t,s)=>{"use strict";var n=s(61990);s.o(n,"usePathname")&&s.d(t,{usePathname:function(){return n.usePathname}}),s.o(n,"useRouter")&&s.d(t,{useRouter:function(){return n.useRouter}}),s.o(n,"useSearchParams")&&s.d(t,{useSearchParams:function(){return n.useSearchParams}})},32830:(e,t,s)=>{Promise.resolve().then(s.bind(s,44653))},44653:(e,t,s)=>{"use strict";s.d(t,{SpendControls:()=>f});var n=s(38657),a=s(10354),r=s(32165),l=s(9144),i=s(52948);function o(e){return"es"===e?"es-ES":"en-US"}function c(e,t){return new Intl.NumberFormat(o(t)).format(e)}let d={read:"spend.family.read",look:"spend.family.look",memory:"spend.family.memory",ask:"spend.family.ask",rehearse:"spend.family.rehearse",episodes:"spend.family.episodes",card:"spend.family.card",app:"spend.family.app",handoff:"spend.family.handoff"},p={read:"spend.familyHint.read",look:"spend.familyHint.look",memory:"spend.familyHint.memory",ask:"spend.familyHint.ask",rehearse:"spend.familyHint.rehearse",episodes:"spend.familyHint.episodes",card:"spend.familyHint.card",app:"spend.familyHint.app",handoff:"spend.familyHint.handoff"},m={factory:"spend.source.factory",file:"spend.source.file",env:"spend.source.env",paused:"spend.source.paused"};function u(e){return Object.fromEntries(e.map(e=>[e.key,{input:e.rate?String(e.rate.input):"",output:e.rate?String(e.rate.output):""}]))}function x(e){return Object.fromEntries(e.families.map(t=>{let s=e.chosen[t.family];return[t.family,void 0===s?"":String(s)]}))}function h(e){return e&&(""!==e.input.trim()||""!==e.output.trim())?{input:Number(e.input||0),output:Number(e.output||0)}:null}function f(e){let{initial:t}=e,s=(0,l.kj)(),d=(0,l.Ym)(),p=(0,a.useRouter)(),[m,f]=(0,r.useState)(()=>x(t)),[j,v]=(0,r.useState)(()=>u(t.models)),[g,N]=(0,r.useState)(t.currency),[k,w]=(0,r.useState)(t.paused),[O,C]=(0,r.useState)(t.shots),[S,P]=(0,r.useState)(!1),[E,H]=(0,r.useState)(!1),[D,F]=(0,r.useState)(!1),[z,R]=(0,r.useState)(null),M=(0,r.useRef)(!1),A=3===g.trim().length?g.trim().toUpperCase():t.currency;function I(){F(!0),H(!1),R(null)}function _(e,t,s){v(n=>{var a;return{...n,[e]:{...null!=(a=n[e])?a:{input:"",output:""},[t]:s}}}),I()}function L(e){C(e),I()}async function U(e){if(e.preventDefault(),M.current)return;M.current=!0,P(!0),I();let n={caps:Object.fromEntries(t.families.filter(e=>void 0===e.env).map(e=>{var t;let s=(null!=(t=m[e.family])?t:"").trim();return[e.family,""===s?null:Number(s)]})),rates:{...t.rates,...Object.fromEntries(t.models.map(e=>[e.key,h(j[e.key])]))},currency:g.trim().toUpperCase(),paused:k,shots:O};try{let e=await fetch("/api/spend",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}),t=await e.json().catch(()=>({}));if(!e.ok){var a;R([null!=(a=t.error)?a:s("spend.failed"),t.hint].filter(Boolean).join(" "));return}if(!Array.isArray(t.families)||!Array.isArray(t.models))return void R(s("spend.failed"));f(x(t)),v(u(t.models)),N(t.currency),w(t.paused),C(t.shots),H(!0),F(!1),p.refresh()}catch(e){R(s("project.unreachable"))}finally{M.current=!1,P(!1)}}return(0,n.jsxs)("form",{onSubmit:U,"aria-busy":S,className:"mt-6 space-y-4",children:[(0,n.jsxs)(i.Zp,{as:"section","aria-labelledby":"spend-caps-title",children:[(0,n.jsx)("h2",{id:"spend-caps-title",className:"text-base font-semibold",children:s("spend.caps")}),(0,n.jsx)("p",{className:"mt-2 max-w-2xl text-xs leading-relaxed text-smoke",children:s("spend.capsHint")}),(0,n.jsx)("div",{className:"mt-4 border-b border-edge pb-4",children:(0,n.jsxs)(i.Jl,{checked:k,disabled:S,onChange:e=>{w(e.target.checked),I()},children:[s("spend.pause"),(0,n.jsx)("span",{className:"mt-1 block text-xs leading-relaxed text-smoke",children:s("spend.pauseHint")})]})}),(0,n.jsx)("ul",{className:"mt-4 space-y-4",children:t.families.map(e=>{var t;return(0,n.jsx)(b,{line:e,value:null!=(t=m[e.family])?t:"",disabled:S,onChange:t=>{f(s=>({...s,[e.family]:t})),I()}},e.family)})})]}),(0,n.jsxs)(i.Zp,{as:"section","aria-labelledby":"spend-rates-title",children:[(0,n.jsx)("h2",{id:"spend-rates-title",className:"text-base font-semibold",children:s("spend.byModel")}),(0,n.jsx)("p",{className:"mt-2 max-w-2xl text-xs leading-relaxed text-smoke",children:s("spend.rateHint")}),(0,n.jsxs)("div",{className:"mt-4",children:[(0,n.jsx)(i.D0,{label:s("spend.currency"),"aria-describedby":"spend-currency-hint",type:"text",maxLength:3,autoCapitalize:"characters",spellCheck:!1,value:g,disabled:S,onChange:e=>{N(e.target.value),I()},className:"w-24"}),(0,n.jsx)("p",{id:"spend-currency-hint",className:"mt-1 max-w-2xl text-xs leading-relaxed text-smoke",children:s("spend.currencyHint")})]}),0===t.models.length?(0,n.jsx)(i.pp,{variant:"bare",className:"mt-4",title:s("spend.monthEmpty"),children:s("spend.modelsEmptyHint")}):(0,n.jsx)("div",{className:"mt-4 overflow-x-auto",children:(0,n.jsxs)("table",{className:"w-full min-w-[40rem] text-sm",children:[(0,n.jsxs)("caption",{className:"sr-only",children:[s("spend.byModel")," \xb7 ",s("spend.month")]}),(0,n.jsx)("thead",{children:(0,n.jsxs)("tr",{className:"text-left font-mono text-[11px] text-smoke",children:[(0,n.jsx)("th",{scope:"col",className:"py-1 pr-3 font-normal",children:s("spend.model")}),(0,n.jsx)("th",{scope:"col",className:"py-1 pr-3 text-right font-normal",children:s("spend.colCalls")}),(0,n.jsx)("th",{scope:"col",className:"py-1 pr-3 text-right font-normal",children:s("spend.colIn")}),(0,n.jsx)("th",{scope:"col",className:"py-1 pr-3 text-right font-normal",children:s("spend.colOut")}),(0,n.jsx)("th",{scope:"col",className:"py-1 pr-3 text-right font-normal",children:s("spend.colUnmetered")}),(0,n.jsx)("th",{scope:"col",className:"py-1 pr-3 font-normal",children:s("spend.colRateIn")}),(0,n.jsx)("th",{scope:"col",className:"py-1 pr-3 font-normal",children:s("spend.colRateOut")}),(0,n.jsx)("th",{scope:"col",className:"py-1 text-right font-normal",children:s("spend.colCost")})]})}),(0,n.jsx)("tbody",{children:t.models.map(e=>{var t,a;let r=null!=(t=j[e.key])?t:{input:"",output:""},l=(a=h(r))?e.input/1e6*a.input+e.output/1e6*a.output:null;return(0,n.jsxs)("tr",{className:"border-t border-edge",children:[(0,n.jsx)("th",{scope:"row",className:"py-2 pr-3 text-left font-mono text-xs font-normal",children:e.key}),(0,n.jsx)("td",{className:"py-2 pr-3 text-right font-mono text-xs",children:c(e.calls,d)}),(0,n.jsx)("td",{className:"py-2 pr-3 text-right font-mono text-xs",children:c(e.input,d)}),(0,n.jsx)("td",{className:"py-2 pr-3 text-right font-mono text-xs",children:c(e.output,d)}),(0,n.jsx)("td",{className:"py-2 pr-3 text-right font-mono text-xs",children:c(e.unmetered,d)}),(0,n.jsx)("td",{className:"py-2 pr-3",children:(0,n.jsx)(i.D0,{label:s("spend.rateInLabel",{model:e.key}),hideLabel:!0,size:"sm",className:"w-24",type:"number",min:0,step:"any",inputMode:"decimal",placeholder:"—",value:r.input,disabled:S,onChange:t=>_(e.key,"input",t.target.value)})}),(0,n.jsx)("td",{className:"py-2 pr-3",children:(0,n.jsx)(i.D0,{label:s("spend.rateOutLabel",{model:e.key}),hideLabel:!0,size:"sm",className:"w-24",type:"number",min:0,step:"any",inputMode:"decimal",placeholder:"—",value:r.output,disabled:S,onChange:t=>_(e.key,"output",t.target.value)})}),(0,n.jsx)("td",{className:"py-2 text-right font-mono text-xs",children:e.calls>0&&e.unmetered===e.calls&&e.input+e.output===0?s("spend.rateUnmetered"):null===l?s("spend.rateMissing"):function(e,t,s){try{return new Intl.NumberFormat(o(s),{style:"currency",currency:t,minimumFractionDigits:2,maximumFractionDigits:4}).format(e)}catch(s){return"".concat(e.toFixed(2)," ").concat(t)}}(l,A,d)})]},e.key)})})]})})]}),(0,n.jsxs)(i.Zp,{as:"section","aria-labelledby":"spend-shots-title",children:[(0,n.jsx)("h2",{id:"spend-shots-title",className:"text-base font-semibold",children:s("spend.shots")}),(0,n.jsx)("p",{id:"spend-shots-hint",className:"mt-2 max-w-2xl text-xs leading-relaxed text-smoke",children:s("spend.shotsHint")}),(0,n.jsxs)("fieldset",{"aria-labelledby":"spend-shots-title","aria-describedby":"spend-shots-hint",className:"mt-4 flex flex-col gap-3 border-0 p-0",children:[(0,n.jsx)(y,{value:"full",chosen:O,disabled:S,label:s("spend.shotFull"),hint:s("spend.shotFullHint"),onChoose:L}),(0,n.jsx)(y,{value:"fit",chosen:O,disabled:S,label:s("spend.shotFit",{n:c(t.shotEdge,d)}),hint:s("spend.shotFitHint"),onChoose:L})]}),(0,n.jsx)("p",{className:"mt-3 max-w-2xl text-xs leading-relaxed text-smoke",children:s("spend.shotsPng")})]}),(0,n.jsxs)("div",{className:D||S||E?"sticky bottom-[calc(var(--dock-height)+env(safe-area-inset-bottom,0px)+var(--space-2))] rounded-lg border border-edge bg-surface p-3 min-[761px]:bottom-4":"py-2",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,n.jsx)(i.rA,{type:"submit",tone:"accent",busy:S,busyLabel:s("spend.saving"),children:s("spend.save")}),(0,n.jsx)("p",{role:"status","aria-live":"polite",className:"text-xs text-smoke",children:D?s("spend.dirty"):E?s("spend.saved"):""})]}),z&&(0,n.jsx)(i.lZ,{text:z,className:"mt-3"})]})]})}function y(e){let{value:t,chosen:s,disabled:a,label:r,hint:l,onChoose:i}=e,o="spend-shots-".concat(t);return(0,n.jsxs)("label",{htmlFor:o,className:"flex items-start gap-2 text-sm",children:[(0,n.jsx)("input",{id:o,type:"radio",name:"spend-shots",value:t,checked:s===t,disabled:a,onChange:()=>i(t),className:"mt-1"}),(0,n.jsxs)("span",{className:"max-w-2xl",children:[r,(0,n.jsx)("span",{className:"mt-0.5 block text-xs leading-relaxed text-smoke",children:l})]})]})}function b(e){var t,s,a,r;let{line:o,value:u,disabled:x,onChange:h}=e,f=(0,l.kj)(),y=(0,l.Ym)(),b="spend-cap-".concat(o.family),v=void 0!==o.env,g="paused"===o.source,N=0===o.cap,k=o.used>=o.cap,w="env"===o.source?f("spend.source.env",{name:o.variable}):f(m[o.source]);return(0,n.jsxs)("li",{className:"border-t border-edge pt-4 first:border-0 first:pt-0",children:[(0,n.jsxs)("div",{className:"grid gap-3 sm:grid-cols-[minmax(0,1fr)_7rem] sm:gap-x-6",children:[(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-baseline gap-2",children:[(0,n.jsx)("label",{id:"".concat(b,"-name"),htmlFor:b,className:"text-sm font-semibold",children:f(d[o.family])}),(0,n.jsx)(i.vw,{tone:g||N||k?"strong":"neutral",size:"md",children:f(g?"spend.state.paused":N?"spend.state.disabled":k?"spend.state.exhausted":"spend.state.enabled")})]}),(0,n.jsx)("p",{id:"".concat(b,"-hint"),className:"mt-1 text-xs leading-relaxed text-smoke",children:f(p[o.family])}),(0,n.jsx)("p",{className:"mt-2 font-mono text-xs text-smoke",children:f("app"===o.family?"spend.usageAttempts":"spend.usageCalls",{used:c(o.used,y),cap:c(o.cap,y)})}),(0,n.jsx)("div",{className:"mt-2 h-1 overflow-hidden rounded-full bg-raised","aria-hidden":!0,children:(0,n.jsx)("div",{className:"h-full bg-chalk",style:{width:"".concat((a=o.used,(r=o.cap)<=0?100*(a>0):Math.min(100,Math.round(a/r*100))),"%")}})}),(0,n.jsxs)("div",{className:"mt-2 flex flex-wrap items-baseline gap-2 text-xs text-smoke",children:[(0,n.jsx)(i.vw,{size:"md",children:w}),"factory"!==o.source&&(0,n.jsx)("span",{children:f("spend.factory",{n:c(o.factory,y)})})]}),(0,n.jsx)(j,{row:o})]}),(0,n.jsxs)("div",{className:"max-w-28",children:[(0,n.jsx)("span",{id:"".concat(b,"-unit"),className:"mb-1 block text-xs leading-relaxed text-smoke",children:f("app"===o.family?"spend.capAttempts":"spend.capCalls")}),(0,n.jsx)("input",{id:b,"aria-labelledby":"".concat(b,"-name ").concat(b,"-unit"),"aria-describedby":"".concat(b,"-hint").concat(v?" ".concat(b,"-env"):""),type:"number",min:0,max:1e5,step:1,inputMode:"numeric",placeholder:String(o.factory),value:v?String(o.cap):u,disabled:x||v,onChange:e=>h(e.target.value),className:"block w-full rounded border border-edge bg-surface px-2 py-1.5 font-mono text-xs disabled:opacity-50"})]})]}),v&&(0,n.jsx)("p",{id:"".concat(b,"-env"),className:"mt-2 text-xs leading-relaxed text-smoke",children:!1===o.envReadable?f("spend.envUnread",{name:o.variable,value:null!=(t=o.env)?t:"",factory:o.factory}):f("spend.envDecides",{name:o.variable,value:null!=(s=o.env)?s:""})}),"app"===o.family&&(0,n.jsx)("p",{className:"mt-2 text-xs leading-relaxed text-smoke",children:f("spend.appReservationsHint")})]})}function j(e){let{row:t}=e,s=(0,l.kj)(),a=(0,l.Ym)();if(!(t.input>0||t.output>0||t.unmetered>0||t.images>0))return null;let r=[];return t.input+t.output>0&&r.push(s("spend.tokens",{input:c(t.input,a),output:c(t.output,a)})),t.unmetered>0&&r.push(s("spend.unmetered",{n:c(t.unmetered,a)})),t.images>0&&r.push(s("spend.images",{n:c(t.images,a)})),(0,n.jsx)("p",{className:"mt-2 font-mono text-xs leading-relaxed text-smoke",children:r.join(" \xb7 ")})}},56684:(e,t,s)=>{"use strict";s.d(t,{k5:()=>d});var n=s(32165),a={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},r=n.createContext&&n.createContext(a),l=["attr","size","title"];function i(){return(i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)({}).hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e}).apply(null,arguments)}function o(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)}return s}function c(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?o(Object(s),!0).forEach(function(t){var n,a,r;n=e,a=t,r=s[t],(a=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var n=s.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(a))in n?Object.defineProperty(n,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[a]=r}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):o(Object(s)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))})}return e}function d(e){return t=>n.createElement(p,i({attr:c({},e.attr)},t),function e(t){return t&&t.map((t,s)=>n.createElement(t.tag,c({key:s},t.attr),e(t.child)))}(e.child))}function p(e){var t=t=>{var s,a=e.attr,r=e.size,o=e.title,d=function(e,t){if(null==e)return{};var s,n,a=function(e,t){if(null==e)return{};var s={};for(var n in e)if(({}).hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;s[n]=e[n]}return s}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)s=r[n],-1===t.indexOf(s)&&({}).propertyIsEnumerable.call(e,s)&&(a[s]=e[s])}return a}(e,l),p=r||t.size||"1em";return t.className&&(s=t.className),e.className&&(s=(s?s+" ":"")+e.className),n.createElement("svg",i({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,a,d,{className:s,style:c(c({color:e.color||t.color},t.style),e.style),height:p,width:p,xmlns:"http://www.w3.org/2000/svg"}),o&&n.createElement("title",null,o),e.children)};return void 0!==r?n.createElement(r.Consumer,null,e=>t(e)):t(a)}}},e=>{e.O(0,[6587,2575,2948,1305,6823,7358],()=>e(e.s=32830)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2168],{665:(e,t,n)=>{Promise.resolve().then(n.bind(n,38444))},9144:(e,t,n)=>{"use strict";n.d(t,{I18nProvider:()=>i,Ym:()=>c,Zs:()=>u,kj:()=>d});var l=n(38657),o=n(32165),a=n(2575);let r=(0,o.createContext)("en"),s=(0,o.createContext)("panoma");function i(e){let{locale:t,cli:n,children:o}=e;return(0,l.jsx)(r.Provider,{value:t,children:(0,l.jsx)(s.Provider,{value:n,children:o})})}function c(){return(0,o.useContext)(r)}function u(){return(0,o.useContext)(s)}function d(){let e=(0,o.useContext)(r),t=(0,o.useContext)(s);return(0,o.useCallback)((n,l)=>(0,a.t)(e,n,{cli:t,...l}),[e,t])}},10354:(e,t,n)=>{"use strict";var l=n(61990);n.o(l,"usePathname")&&n.d(t,{usePathname:function(){return l.usePathname}}),n.o(l,"useRouter")&&n.d(t,{useRouter:function(){return l.useRouter}}),n.o(l,"useSearchParams")&&n.d(t,{useSearchParams:function(){return l.useSearchParams}})},31821:(e,t,n)=>{"use strict";let l;n.d(t,{q:()=>a});var o=n(32165);function a(){let[e,t]=(0,o.useState)({available:!1,agent:null});return(0,o.useEffect)(()=>{null!=l||(l=fetch("/api/assignments/launch").then(e=>e.json()).catch(()=>({available:!1,agent:null})));let e=!0;return l.then(n=>{e&&t(n)}),()=>{e=!1}},[]),e}},38444:(e,t,n)=>{"use strict";n.d(t,{LookFindings:()=>f,TwinLook:()=>m});var l=n(38657),o=n(32165),a=n(10354),r=n(9144),s=n(31821),i=n(52948);let c=["image/png","image/jpeg","image/webp","image/gif"],u={format:"look.whyFormat",variant:"look.whyVariant",already:"look.whyAlready",broken:"look.whyBroken",huge:"look.whyHuge"};function d(e,t){var n,l,o;return void 0===t||"fit"!==t.policy?null:void 0===t.fitted?e("look.fitAsked",{edge:t.maxEdge}):t.fitted?e("look.fitSent",{size:"".concat(t.width,"\xd7").concat(t.height),from:"".concat(null==(n=t.from)?void 0:n.width,"\xd7").concat(null==(l=t.from)?void 0:l.height)}):e("look.fitWhole",{why:e(u[null!=(o=t.why)?o:"broken"])})}function m(e){var t,n;let{boards:s,projects:u,maxBytes:m,shots:f}=e,h=(0,r.kj)(),g=(0,r.Ym)(),b=(0,a.useRouter)(),k=(0,o.useRef)(null),[j,y]=(0,o.useState)(null),[v,w]=(0,o.useState)(null),[N,O]=(0,o.useState)(null),[S,C]=(0,o.useState)(null!=(n=null==(t=u[0])?void 0:t.slug)?n:"");async function P(e,t,n){y(t),w(null),O(null);try{var l,o,a,r;let t=await p({...(r=e,Object.fromEntries(Object.entries(r).filter(e=>{let[t]=e;return"image"!==t}))),dryRun:!0});if(t.error)return void w(t.error);let s=void 0!==t.width&&void 0!==t.height?" \xb7 ".concat(t.width,"\xd7").concat(t.height):"",c=d(h,t.sent);w(h("look.estimate",{statements:null!=(l=t.statements)?l:0,tokens:null!=(o=t.estimatedTokens)?o:0,size:(0,i.z3)(null!=(a=t.imageBytes)?a:0)})+s+(null===c?"":" \xb7 ".concat(c)));let u=await p({...e,dryRun:!1});if(u.error)return void w(u.error);O({subject:n,receipt:u}),w(null),b.refresh()}catch(e){w(h("project.unreachable"))}finally{y(null)}}async function E(e){if(!c.includes(e.type))return void w(h("look.badType"));if(e.size>m)return void w(h("look.tooBig",{size:(0,i.z3)(e.size),cap:(0,i.z3)(m)}));let t=function(e){let t="";for(let n=0;n<e.length;n+=8192)t+=String.fromCharCode(...e.subarray(n,n+8192));return btoa(t)}(new Uint8Array(await e.arrayBuffer()));await P({slug:S,image:t,mediaType:e.type,imageBytes:e.size},"upload",e.name)}return(0,l.jsxs)("section",{className:"mt-8 flex flex-col gap-6",children:[(0,l.jsx)("p",{className:"font-mono text-xs text-idle",children:h("look.notRedacted")}),0===s.length?(0,l.jsxs)(i.Zp,{tone:"plain",children:[(0,l.jsx)("p",{className:"eyebrow",children:h("look.inboxTitle")}),(0,l.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed",children:h("look.noInbox")}),(0,l.jsx)("p",{className:"mt-1 max-w-2xl font-mono text-xs text-smoke",children:h("look.noInboxHint")})]}):s.map(e=>(0,l.jsxs)(i.Zp,{tone:"plain",children:[(0,l.jsx)("p",{className:"eyebrow",children:h("look.inboxOf",{project:e.name})}),(0,l.jsx)("p",{className:"mt-1 font-mono text-xs text-faint",children:e.dir}),0===e.shots.length?(0,l.jsx)("p",{className:"mt-3 max-w-2xl text-sm leading-relaxed text-smoke",children:h("look.inboxEmpty")}):(0,l.jsx)("div",{className:"mt-3 grid gap-3 sm:grid-cols-2",children:e.shots.map(t=>{let n="".concat(e.slug,"/").concat(t.name);return(0,l.jsxs)("div",{className:"flex gap-3 rounded border border-edge p-2",children:[(0,l.jsx)("img",{src:"/api/twin/shot?slug=".concat(encodeURIComponent(e.slug),"&name=").concat(encodeURIComponent(t.name)),alt:t.name,className:"h-20 w-28 shrink-0 rounded border border-edge bg-raised object-cover"}),(0,l.jsxs)("div",{className:"flex min-w-0 flex-col gap-1",children:[(0,l.jsx)("span",{className:"truncate font-mono text-xs",children:t.name}),(0,l.jsxs)("span",{className:"font-mono text-xs text-faint",children:[(0,i.z3)(t.bytes)," \xb7 ",new Date(t.at).toLocaleString(g)]}),null!==t.findings&&(0,l.jsx)("span",{className:"font-mono text-xs text-smoke",children:0===t.findings?h("look.lookedClean"):h("look.looked",{n:t.findings})}),(0,l.jsx)(i.rA,{tone:"plain",type:"button",onClick:()=>P({slug:e.slug,shot:t.name},n,t.name),busy:j===n,busyLabel:h("look.looking"),disabled:null!==j,className:"mt-auto self-start",children:h(null===t.findings?"look.button":"look.buttonAgain")})]})]},n)})}),e.skipped>0&&(0,l.jsx)("p",{className:"mt-2 font-mono text-xs text-faint",children:h("look.inboxSkipped",{n:e.skipped})})]},e.slug)),u.length>0&&(0,l.jsxs)(i.Zp,{tone:"plain",children:[(0,l.jsx)("p",{className:"eyebrow",children:h("look.uploadTitle")}),(0,l.jsx)("p",{className:"mt-1 max-w-2xl text-sm leading-relaxed text-smoke",children:h("look.uploadHint")}),(0,l.jsx)("p",{className:"mt-1 font-mono text-xs text-faint",children:h("fit"===f?"look.uploadCapFit":"look.uploadCapFull",{cap:(0,i.z3)(m)})}),(0,l.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,l.jsx)("select",{value:S,onChange:e=>C(e.target.value),"aria-label":h("look.uploadTarget"),className:"rounded border border-edge bg-transparent px-2 py-1 font-mono text-xs",children:u.map(e=>(0,l.jsx)("option",{value:e.slug,children:e.name},e.slug))}),(0,l.jsx)("input",{ref:k,type:"file",accept:c.join(","),className:"hidden",onChange:e=>{var t;let n=null==(t=e.target.files)?void 0:t[0];e.target.value="",n&&E(n)}}),(0,l.jsx)(i.rA,{tone:"plain",type:"button",onClick:()=>{var e;return null==(e=k.current)?void 0:e.click()},busy:"upload"===j,busyLabel:h("look.looking"),disabled:null!==j||""===S,children:h("look.uploadPick")})]})]}),v&&(0,l.jsx)("p",{className:"font-mono text-xs text-smoke",children:v}),N&&(0,l.jsx)(x,{subject:N.subject,receipt:N.receipt})]})}function x(e){var t,n,o,a,s;let{subject:c,receipt:u}=e,m=(0,r.kj)(),x=null!=(t=u.findings)?t:[],p=d(m,u.sent);return(0,l.jsxs)(i.Zp,{tone:"plain",children:[(0,l.jsx)("p",{className:"eyebrow",children:m("look.verdictOf",{subject:c})}),u.unreadable?(0,l.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed text-idle",children:m("look.unreadable")}):0===x.length?(0,l.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed",children:m("look.clean")}):(0,l.jsx)(f,{lookId:null!=(n=u.lookId)?n:"",findings:x,assigned:{}}),(0,l.jsxs)("p",{className:"mt-3 font-mono text-xs text-faint",children:[m("look.measured",{statements:null!=(o=u.statements)?o:0}),u.model?" \xb7 ".concat(u.model):""]}),null!==p&&(0,l.jsx)("p",{className:"mt-1 font-mono text-xs text-faint",children:p}),(null!=(a=u.dropped)?a:0)>0&&(0,l.jsx)("p",{className:"mt-1 font-mono text-xs text-faint",children:m("look.dropped",{n:null!=(s=u.dropped)?s:0})})]})}function f(e){let{lookId:t,findings:n,assigned:c,launched:u=[],discarded:d=[]}=e,m=(0,r.kj)(),x=(0,a.useRouter)(),f=(0,s.q)(),[p,h]=(0,o.useState)(c),[g,b]=(0,o.useState)(()=>new Set(u)),[k,j]=(0,o.useState)(()=>new Set(d)),[y,v]=(0,o.useState)(null),[w,N]=(0,o.useState)({});function O(e,t){N(n=>({...n,[e]:t}))}async function S(e){v(e);try{var n,l,o;let a=await fetch("/api/twin/assign",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({lookId:t,finding:e})}),r=await a.json();if(!a.ok){r.id&&h(t=>({...t,[e]:r.id})),O(e,null!=(n=r.error)?n:String(a.status));return}r.id&&h(t=>({...t,[e]:r.id})),j(t=>{let n=new Set(t);return n.delete(e),n}),O(e,m("look.assignDone",{project:null!=(l=r.project)?l:"",title:null!=(o=r.title)?o:""})),x.refresh()}catch(t){O(e,m("project.unreachable"))}finally{v(null)}}async function C(e){v(e);try{let l=await fetch("/api/twin/assign",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({lookId:t,finding:e,decision:"discard"})}),o=await l.json();if(!l.ok){var n;O(e,null!=(n=o.error)?n:String(l.status));return}j(t=>new Set(t).add(e)),h(t=>{let n={...t};return delete n[e],n}),O(e,m("look.dismissDone")),x.refresh()}catch(t){O(e,m("project.unreachable"))}finally{v(null)}}async function P(e,t){v(e);try{var n,l;let o=await fetch("/api/assignments/launch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:t})}),a=await o.json();o.ok&&b(e=>new Set(e).add(t)),O(e,o.ok?m("look.assignLaunched",{agent:null!=(n=a.agent)?n:""}):null!=(l=a.error)?l:String(o.status))}catch(t){O(e,m("project.unreachable"))}finally{v(null)}}return(0,l.jsx)("ol",{className:"mt-3 flex flex-col gap-4",role:"list",children:n.map((e,n)=>{let o=p[n],a=k.has(n);return(0,l.jsxs)("li",{className:"flex flex-col gap-1",children:[(0,l.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed",children:e.what}),(0,l.jsx)("p",{className:"max-w-2xl font-mono text-xs text-faint",children:e.where}),(0,l.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-smoke",children:m("look.fix",{fix:e.fix})}),e.cites.map(e=>(0,l.jsx)("p",{className:"max-w-2xl font-mono text-xs text-faint",children:m("look.against",{statement:e})},e)),""!==t&&(0,l.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-2",children:[(0,l.jsx)(i.rA,{tone:"plain",type:"button",onClick:()=>void S(n),busy:y===n&&void 0===o,busyLabel:m("look.assigning"),disabled:null!==y||void 0!==o,children:void 0!==o?m("look.assigned"):m("look.assignButton")}),!a&&(0,l.jsx)(i.rA,{tone:"quiet",type:"button",onClick:()=>void C(n),disabled:null!==y,children:m("look.dismissButton")}),a&&(0,l.jsx)("span",{className:"font-mono text-xs text-faint",children:m("look.dismissed")}),void 0!==o&&f.available&&(0,l.jsx)(i.rA,{tone:"accent",type:"button",onClick:()=>void P(n,o),disabled:null!==y,children:m(g.has(o)?"look.assignAgain":"look.assignNow")})]}),w[n]&&(0,l.jsx)("p",{className:"max-w-2xl font-mono text-xs text-smoke",children:w[n]})]},n)})})}async function p(e){var t;let n=await fetch("/api/twin/look",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),l=await n.json();return n.ok?l:{...l,error:null!=(t=l.error)?t:String(n.status)}}},56684:(e,t,n)=>{"use strict";n.d(t,{k5:()=>u});var l=n(32165),o={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},a=l.createContext&&l.createContext(o),r=["attr","size","title"];function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)({}).hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e}).apply(null,arguments)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,l)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach(function(t){var l,o,a;l=e,o=t,a=n[t],(o=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var l=n.call(e,t||"default");if("object"!=typeof l)return l;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(o))in l?Object.defineProperty(l,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):l[o]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function u(e){return t=>l.createElement(d,s({attr:c({},e.attr)},t),function e(t){return t&&t.map((t,n)=>l.createElement(t.tag,c({key:n},t.attr),e(t.child)))}(e.child))}function d(e){var t=t=>{var n,o=e.attr,a=e.size,i=e.title,u=function(e,t){if(null==e)return{};var n,l,o=function(e,t){if(null==e)return{};var n={};for(var l in e)if(({}).hasOwnProperty.call(e,l)){if(-1!==t.indexOf(l))continue;n[l]=e[l]}return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l<a.length;l++)n=a[l],-1===t.indexOf(n)&&({}).propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,r),d=a||t.size||"1em";return t.className&&(n=t.className),e.className&&(n=(n?n+" ":"")+e.className),l.createElement("svg",s({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,o,u,{className:n,style:c(c({color:e.color||t.color},t.style),e.style),height:d,width:d,xmlns:"http://www.w3.org/2000/svg"}),i&&l.createElement("title",null,i),e.children)};return void 0!==a?l.createElement(a.Consumer,null,e=>t(e)):t(o)}}},e=>{e.O(0,[6587,2575,2948,1305,6823,7358],()=>e(e.s=665)),_N_E=e.O()}]);
|