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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=8345,exports.ids=[8345],exports.modules={28345:(a,b,c)=>{c.d(b,{Dk:()=>s,Jb:()=>r,Wp:()=>u,i:()=>o,px:()=>q});var d=c(4528),e=c(28388),f=c(63351),g=c(90336),h=c(54699),i=c(86247);let j=/(?<![A-Za-z0-9])file:\/\/\S*/gi,k=/(?<![A-Za-z0-9])[A-Za-z]:[\\/][^\s"'<>|*?]*(?:[ \t][^\s"'<>|*?\\/]*[\\/][^\s"'<>|*?]*)*/g,l=/(^|[\s("'=])\/(?=[^\s/])[^\s"'<>)]*/g,m=/[^\s"'<>|*?]*\\[^\s"'<>|*?]*/g,n="[local path]";function o(a){return"string"==typeof a?a.replace(j,n).replace(k,n).replace(l,`$1${n}`).replace(m,n):a instanceof Date?a.toISOString():Array.isArray(a)?a.map(o):a&&"object"==typeof a?Object.fromEntries(Object.entries(a).filter(([a])=>!["path","home","root","entry","packageRoot","rootAtCreation","pid"].includes(a)).map(([a,b])=>[a,o(b)])):a}function p(a){return a.enabled&&!!a.version&&["installed","staged"].includes(a.status)&&(0,g.no)(a.requirements,(0,g.Jh)(a.manifest))}async function q(a,b={}){let g=(0,d.lb)(a),{ensureAppSupervisor:j}=await Promise.all([c.e(4810),c.e(5103),c.e(7711)]).then(c.bind(c,35103));await j();let{db:k}=await (0,f.db)(),l=await (0,e.SxX)(k,a);if(!l)throw new i.G8("unknown-app");let m=b.space?(0,d.Q2)(a):void 0,[n,r,s,t]=await Promise.all([(0,d.eZ)(g.pkg).catch(()=>void 0),(0,e.cvP)(k,{appId:a,limit:15}),m?(0,d.pF)(m.root):void 0,m?(0,d.pF)(m.data):void 0]),u=(0,d.no)();return{...l,manifest:function a(b){return b instanceof Date?b.toISOString():Array.isArray(b)?b.map(a):b&&"object"==typeof b?Object.fromEntries(Object.entries(b).map(([b,c])=>[b,a(c)])):b}(l.manifest),requirements:o(l.requirements),error:o(l.error),ready:p(l),latestVersion:n?.version??null,registryAt:n?.checkedAt??null,...m?{space:{packageBytes:s??0,dataBytes:t??0}}:{},npm:{present:!!u,source:u?.source??null},jobs:r.map(({input:a,result:b,pid:c,...d})=>({...o(d),...(0,h.u4)(b)&&!0===b.unchanged?{unchanged:!0}:{}}))}}async function r(a){try{let{ensureAppSupervisor:b}=await Promise.all([c.e(4810),c.e(5103),c.e(7711)]).then(c.bind(c,35103));await b();let{db:d}=await (0,f.db)(),g=await (0,e.SxX)(d,a);return!!g&&p(g)}catch{return!1}}async function s(){return{apps:await Promise.all(d.iC.map(a=>q(a.id)))}}let t=["none","auto","claude","codex","anthropic","openai"];async function u(a,b){if((0,d.lb)(a),Object.keys(b).some(a=>!["brain","voice","confirm"].includes(a)))throw new i.G8("unknown-setting");let c=b.brain;if(void 0!==b.brain&&!t.includes(c))throw new i.G8("invalid-brain");if(void 0!==b.voice&&"boolean"!=typeof b.voice)throw new i.G8("invalid-voice");let{db:g}=await (0,f.db)();return(0,e.NfF)(async()=>{let c=await (0,e.SxX)(g,a);if(!c)throw new i.G8("unknown-app");let d={...c.settings,...b};if(delete d.confirm,("none"!==d.brain&&d.brain!==c.settings.brain||d.voice&&!c.settings.voice)&&!0!==b.confirm)throw new i.G8("provider-confirmation-required");return await (0,e.fyc)(g,a,{settings:d}),d})}},54699:(a,b,c)=>{c.d(b,{E3:()=>f,Sx:()=>i,kX:()=>g,nb:()=>j,u4:()=>h});var d=c(4528),e=c(86247);let f=["install","browser","update","rollback","enable","disable","uninstall","clean","doctor","check"],g={panoma_video_auto:["goal","format","new_story","theme","langs","until","force","voice","url","brain","music","dance","creative_brief"],panoma_video_render:["brief_id","theme","hook","lang","format","force","voice","brain"],panoma_video_review:["render_id","detail"],panoma_video_revise:["brief_id","expectedRevision","edits","instruction","restoreRevision","note","brain"],panoma_video_story:["brief_id"],panoma_video_scout:["detail"]};function h(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function i(a,b){if(!g[a]||!d.wh[a])throw new e.G8("unknown-app-tool");if(!h(b)||JSON.stringify(b).length>64e3)throw new e.G8("invalid-app-input");if(Object.keys(b).some(b=>!g[a].includes(b)))throw new e.G8("unknown-app-input");if(void 0!==b.url){let a;try{a=new URL(String(b.url))}catch{throw new e.G8("local-url-required")}if(!["http:","https:"].includes(a.protocol)||a.username||a.password||!["localhost","127.0.0.1","[::1]"].includes(a.hostname))throw new e.G8("local-url-required")}for(let a of["brief_id","render_id","hook"])if(void 0!==b[a]&&("string"!=typeof b[a]||!/^[a-z0-9][a-z0-9-]{0,199}$/.test(b[a])))throw new e.G8(`invalid-${a}`);return b}function j(a,b,c){if("panoma_video_review"===b&&"fail"===a.status||h(a.review)&&"fail"===a.review.status)return"review-failed";if(h(a.stages)){let b=Object.entries(a.stages).find(([,a])=>h(a)&&"failed"===a.status);if(b)return"stage-failed: "+b[0]}if(Array.isArray(a.renders)){if(a.renders.some(a=>h(a)&&h(a.review)&&"fail"===a.review.status))return"review-failed";if("panoma_video_auto"===b&&"plan"!==c.until&&!a.renders.length)return"no-supported-production"}}},86247:(a,b,c)=>{c.d(b,{G8:()=>d.G8,Kl:()=>d.Kl});var d=c(97445)},90336:(a,b,c)=>{c.d(b,{Jh:()=>o,Q9:()=>q,ge:()=>m,no:()=>p});var d=c(73024),e=c(51455),f=c(76760),g=c(96622),h=c(37602),i=c(79161),j=c(4528),k=c(28388),l=c(86247);class m extends Error{constructor(a,b){super(a),this.result=b}}function n(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function o(a){return n(a)&&Array.isArray(a.requirements)?a.requirements.map(a=>n(a)&&"string"==typeof a.id?a.id:"").filter(Boolean):[]}function p(a,b){return!!n(a)&&!!b.length&&b.every(b=>n(a[b])&&!0===a[b].present)}async function q(a,b={}){let c,o=(0,j.Q2)(a.id),p=(0,j.Pi)(a.id,{jobId:b.jobId,brain:b.brain??"none",providerEnv:b.providerEnv,maxBrainCalls:b.maxBrainCalls??0});if(await (0,j.LS)(o.logs),await (0,j.LS)(o.data),await (0,e.mkdir)(o.logs,{recursive:!0,mode:448}),b.jobId&&!/^[a-zA-Z0-9-]{1,100}$/.test(b.jobId))throw new l.G8("invalid-job-id");let r=await (0,e.open)((0,f.join)(o.logs,"job-"+(b.jobId??"probe")+".log"),d.constants.O_WRONLY|d.constants.O_CREAT|d.constants.O_TRUNC|(d.constants.O_NOFOLLOW??0),384),s=0,t="",u=!1,v=Promise.resolve(),w=new g.K({name:"panoma-app-host",version:"1"},{capabilities:{}}),x=new h.oQ({command:process.execPath,args:["-e",'const {spawn}=require("node:child_process");\nconst parent=process.ppid;\nconst child=spawn(process.execPath,[process.argv[1]],{env:process.env,cwd:process.cwd(),detached:process.platform!=="win32",stdio:["pipe","pipe","pipe"],windowsHide:true});\nlet closing=false;\nfunction stop(code=0){if(closing)return;closing=true;clearInterval(watch);\nif(process.platform==="win32"){const k=spawn("taskkill",["/T","/F","/PID",String(child.pid)],{windowsHide:true,stdio:"ignore"});k.on("error",()=>process.exit(code));k.on("exit",()=>process.exit(code));}\nelse{try{process.kill(-child.pid,"SIGTERM")}catch{}setTimeout(()=>{try{process.kill(-child.pid,"SIGKILL")}catch{}process.exit(code)},1000)}\nsetTimeout(()=>process.exit(code),1800).unref();}\nconst watch=setInterval(()=>{try{process.kill(parent,0);if(process.ppid!==parent)stop(1)}catch{stop(1)}},1000);\nchild.stdout.pipe(process.stdout);child.stderr.pipe(process.stderr);process.stdin.pipe(child.stdin);\nprocess.stdout.on("error",()=>stop(1));process.stderr.on("error",()=>stop(1));\nprocess.stdin.on("end",()=>stop());process.stdin.on("error",()=>stop(1));\nchild.stdin.on("error",()=>{});child.on("error",()=>stop(1));child.on("exit",code=>stop(code||0));\nprocess.on("SIGTERM",()=>stop());process.on("SIGINT",()=>stop());',a.entry],cwd:a.root,env:p,stderr:"pipe"});function y(a){for(let c of Object.values(b.providerEnv??{}))c&&(a=a.split(c).join("[redacted]"));return a.replace(/(?:sk-[A-Za-z0-9_-]{10,}|panoma_[A-Za-z0-9_-]{15,})/g,"[redacted]")}function z(a){if(s>=1048576)return;let b=Buffer.from(y(a)).subarray(0,1048576-s);s+=b.length,v=v.then(async()=>{await r.write(b)}).catch(()=>{})}x.stderr?.on("data",a=>{let d=(t+a.toString("utf8")).split("\n");for(let a of(t=d.pop(),d)){let d=u||a.length>65536;if(u=!1,!d){try{let d=JSON.parse(a);"panoma-app-spend"===d.event&&d.job===b.jobId&&n(d.spend)&&Number.isSafeInteger(d.spend.calls)&&d.spend.calls>=0&&d.spend.calls<=k.q8B&&d.spend.calls>=(c?.calls??0)&&(c=d.spend)}catch{}z(a+"\n")}}t.length>65536&&(t="",u=!0)});let A=!1;async function B(){A||(A=!0,await w.close().catch(()=>{}),u||z(t),await v,await r.close())}async function C(a,b,c={}){let d=await w.callTool({name:a,arguments:b,...c.token?{_meta:{progressToken:c.token}}:{}},i.TF,{signal:c.signal,timeout:c.timeout??2e4,maxTotalTimeout:c.timeout??2e4,onprogress:c.onProgress}),e=n(d.structuredContent)?d.structuredContent:void 0;if(d.isError){let a=d.content;throw new m(y(a.find(a=>"text"===a.type)?.text??"app-error").slice(0,4e3),e)}if(!e)throw new m("malformed-app-result");return e}try{await w.connect(x,{timeout:2e4,signal:b.signal}),x.pid&&b.onPid?.(x.pid);let d=b.deepProbe?{probe:"deep"}:{};return{guide:function(a,b,c){if(!n(a)||"string"!=typeof a.version)throw new l.G8("malformed-guide");if(a.version!==b)throw new l.G8("protocol-mismatch");if(!n(a.requirements))throw new l.G8("malformed-requirements");if(!c.length)throw Error("malformed-requirements: none declared");for(let b of c){let c=a.requirements[b];if(!n(c)||"boolean"!=typeof c.present)throw Error("malformed-requirements: "+b)}return a}(await C("panoma_video_guide",d,{signal:b.signal,timeout:j.SG}),a.manifest.protocol,a.manifest.requirements.map(a=>a.id)),pid:x.pid,get spend(){return c},call:C,close:B}}catch(a){throw await B(),a}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
exports.id=8404,exports.ids=[8404],exports.modules={28345:(a,b,c)=>{"use strict";c.d(b,{Dk:()=>r,Jb:()=>q,Wp:()=>t,i:()=>n,px:()=>p});var d=c(4528),e=c(28388),f=c(63351),g=c(90336),h=c(86247);let i=/(?<![A-Za-z0-9])file:\/\/\S*/gi,j=/(?<![A-Za-z0-9])[A-Za-z]:[\\/][^\s"'<>|*?]*(?:[ \t][^\s"'<>|*?\\/]*[\\/][^\s"'<>|*?]*)*/g,k=/(^|[\s("'=])\/(?=[^\s/])[^\s"'<>)]*/g,l=/[^\s"'<>|*?]*\\[^\s"'<>|*?]*/g,m="[local path]";function n(a){return"string"==typeof a?a.replace(i,m).replace(j,m).replace(k,`$1${m}`).replace(l,m):a instanceof Date?a.toISOString():Array.isArray(a)?a.map(n):a&&"object"==typeof a?Object.fromEntries(Object.entries(a).filter(([a])=>!["path","home","root","entry","packageRoot","rootAtCreation","pid"].includes(a)).map(([a,b])=>[a,n(b)])):a}function o(a){return a.enabled&&!!a.version&&["installed","staged"].includes(a.status)&&(0,g.no)(a.requirements,(0,g.Jh)(a.manifest))}async function p(a,b={}){let g=(0,d.lb)(a),{ensureAppSupervisor:i}=await Promise.all([c.e(4810),c.e(5103),c.e(7957)]).then(c.bind(c,35103));await i();let{db:j}=await (0,f.db)(),k=await (0,e.SxX)(j,a);if(!k)throw new h.G8("unknown-app");let l=b.space?(0,d.Q2)(a):void 0,[m,q,r,s]=await Promise.all([(0,d.eZ)(g.pkg).catch(()=>void 0),(0,e.cvP)(j,{appId:a,limit:15}),l?(0,d.pF)(l.root):void 0,l?(0,d.pF)(l.data):void 0]),t=(0,d.no)();return{...k,manifest:function a(b){return b instanceof Date?b.toISOString():Array.isArray(b)?b.map(a):b&&"object"==typeof b?Object.fromEntries(Object.entries(b).map(([b,c])=>[b,a(c)])):b}(k.manifest),requirements:n(k.requirements),error:n(k.error),ready:o(k),latestVersion:m?.version??null,registryAt:m?.checkedAt??null,...l?{space:{packageBytes:r??0,dataBytes:s??0}}:{},npm:{present:!!t,source:t?.source??null},jobs:q.map(({input:a,result:b,pid:c,...d})=>n(d))}}async function q(a){try{let{ensureAppSupervisor:b}=await Promise.all([c.e(4810),c.e(5103),c.e(7957)]).then(c.bind(c,35103));await b();let{db:d}=await (0,f.db)(),g=await (0,e.SxX)(d,a);return!!g&&o(g)}catch{return!1}}async function r(){return{apps:await Promise.all(d.iC.map(a=>p(a.id)))}}let s=["none","auto","claude","codex","anthropic","openai"];async function t(a,b){if((0,d.lb)(a),Object.keys(b).some(a=>!["brain","voice","confirm"].includes(a)))throw new h.G8("unknown-setting");let c=b.brain;if(void 0!==b.brain&&!s.includes(c))throw new h.G8("invalid-brain");if(void 0!==b.voice&&"boolean"!=typeof b.voice)throw new h.G8("invalid-voice");let{db:g}=await (0,f.db)();return(0,e.NfF)(async()=>{let c=await (0,e.SxX)(g,a);if(!c)throw new h.G8("unknown-app");let d={...c.settings,...b};if(delete d.confirm,("none"!==d.brain&&d.brain!==c.settings.brain||d.voice&&!c.settings.voice)&&!0!==b.confirm)throw new h.G8("provider-confirmation-required");return await (0,e.fyc)(g,a,{settings:d}),d})}},47033:()=>{},54699:(a,b,c)=>{"use strict";c.d(b,{E3:()=>f,Sx:()=>i,kX:()=>g,nb:()=>j,u4:()=>h});var d=c(4528),e=c(86247);let f=["install","browser","update","rollback","enable","disable","uninstall","clean","doctor","check"],g={panoma_video_auto:["goal","format","new_story","theme","langs","until","force","voice","url","brain","music","dance","creative_brief"],panoma_video_render:["brief_id","theme","hook","lang","format","force","voice","brain"],panoma_video_review:["render_id","detail"],panoma_video_revise:["brief_id","expectedRevision","edits","instruction","restoreRevision","note","brain"],panoma_video_story:["brief_id"],panoma_video_scout:["detail"]};function h(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function i(a,b){if(!g[a]||!d.wh[a])throw new e.G8("unknown-app-tool");if(!h(b)||JSON.stringify(b).length>64e3)throw new e.G8("invalid-app-input");if(Object.keys(b).some(b=>!g[a].includes(b)))throw new e.G8("unknown-app-input");if(void 0!==b.url){let a;try{a=new URL(String(b.url))}catch{throw new e.G8("local-url-required")}if(!["http:","https:"].includes(a.protocol)||a.username||a.password||!["localhost","127.0.0.1","[::1]"].includes(a.hostname))throw new e.G8("local-url-required")}for(let a of["brief_id","render_id","hook"])if(void 0!==b[a]&&("string"!=typeof b[a]||!/^[a-z0-9][a-z0-9-]{0,199}$/.test(b[a])))throw new e.G8(`invalid-${a}`);return b}function j(a,b,c){if("panoma_video_review"===b&&"fail"===a.status||h(a.review)&&"fail"===a.review.status)return"review-failed";if(h(a.stages)){let b=Object.entries(a.stages).find(([,a])=>h(a)&&"failed"===a.status);if(b)return"stage-failed: "+b[0]}if(Array.isArray(a.renders)){if(a.renders.some(a=>h(a)&&h(a.review)&&"fail"===a.review.status))return"review-failed";if("panoma_video_auto"===b&&"plan"!==c.until&&!a.renders.length)return"no-supported-production"}}},55130:(a,b,c)=>{"use strict";c.d(b,{Me:()=>k,Um:()=>h,Z6:()=>i,ar:()=>g});var d=c(54699),e=c(28345),f=c(86247);function g(a){let{pid:b,...c}=a,{_projectId:d,...e}=a.input;return{...c,input:e}}function h(){if(process.env.DATABASE_URL)return Response.json({error:"local-catalog-required"},{status:403})}async function i(a){let b;if(!a.body)throw new f.G8("invalid-body");let c=a.body.getReader(),e=[],g=0;try{for(;;){let{value:a,done:b}=await c.read();if(b)break;if((g+=a.length)>65536)throw await c.cancel(),new f.G8("body-too-large");e.push(a)}}finally{c.releaseLock()}try{b=JSON.parse(Buffer.concat(e).toString("utf8"))}catch{throw new f.G8("invalid-body")}if(!(0,d.u4)(b))throw new f.G8("invalid-body");return b}let j={"local-catalog-required":403,"unknown-app":404,"unknown-app-operation":404,"job-not-found":404,"app-job-not-found":404,"project-not-found":404,"artifact-not-found":404,"not-installed":409,"app-not-enabled":409,"app-budget-exhausted":409,"provider-not-enabled":409,"provider-confirmation-required":409,"ambiguous-project":409};function k(a){let{code:b,detail:c}=(0,f.Kl)(a),d=b?{error:b,...c?{detail:(0,e.i)(c)}:{}}:{error:(0,e.i)(a instanceof Error?a.message:"app-request-failed")};return Response.json(d,{status:(b&&j[b])??400})}},76744:(a,b,c)=>{"use strict";a.exports=c(44870)},78022:(a,b,c)=>{"use strict";c.d(b,{U:()=>i,N:()=>g});var d=c(89267),e=c(17245);let f=new Set(["localhost","127.0.0.1","::1","[::1]","0.0.0.0"]);function g(a){let b=(0,e.dT)(a),c=a.headers.get("sec-fetch-site");if(c&&"same-origin"!==c&&"none"!==c)return h(b,(0,e.t)(b,"guard.otherSite",{site:c}));let d=a.headers.get("origin"),f=a.headers.get("host");if(d&&f&&function(a){try{return new URL(a).host}catch{return null}}(d)!==f)return h(b,(0,e.t)(b,"guard.otherOrigin",{origin:d}))}function h(a,b){return Response.json({error:(0,e.t)(a,"guard.rejected",{detail:b}),hint:(0,e.t)(a,"guard.rejectedHint")},{status:403})}function i(a){let b=(process.env.PANOMA_OPERATOR_KEY??"").trim();if(!b){if(!function(){if((process.env.PANOMA_ACCESS_KEY??"").trim())return!0;let a=(process.env.PANOMA_HOST??"").trim().replace(/:\d+$/,"").toLowerCase();return!!a&&("0.0.0.0"===a||"::"===a||"[::]"===a||!f.has(a))}())return;return j(a)}let c=function(a){let b=a.headers.get("x-panoma-operator");if(b)return b;for(let b of(a.headers.get("cookie")??"").split(";")){let a=b.indexOf("=");if(-1!==a&&"panoma-operator"===b.slice(0,a).trim())try{return decodeURIComponent(b.slice(a+1).trim())}catch{return b.slice(a+1).trim()}}return""}(a);if(!(c&&function(a,b){if(a.length!==b.length)return!1;let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(c,b)))return j(a)}function j(a){let b=(0,e.dT)(a);return Response.json({error:(0,e.t)(b,"guard.localOperatorOnly"),hint:(0,e.t)(b,"guard.localOperatorOnlyHint",{cli:(0,d._)()})},{status:403})}},81901:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(67605),e=c(78784),f=c(82335);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},83481:()=>{},86247:(a,b,c)=>{"use strict";c.d(b,{G8:()=>d.G8,Kl:()=>d.Kl});var d=c(97445)},89267:(a,b,c)=>{"use strict";function d(){return e()?"npx panoma":"panoma"}function e(){return"1"===process.env.PANOMA_EPHEMERAL}c.d(b,{_:()=>d,a:()=>e})},90336:(a,b,c)=>{"use strict";c.d(b,{Jh:()=>o,Q9:()=>q,ge:()=>m,no:()=>p});var d=c(73024),e=c(51455),f=c(76760),g=c(96622),h=c(37602),i=c(79161),j=c(4528),k=c(28388),l=c(86247);class m extends Error{constructor(a,b){super(a),this.result=b}}function n(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function o(a){return n(a)&&Array.isArray(a.requirements)?a.requirements.map(a=>n(a)&&"string"==typeof a.id?a.id:"").filter(Boolean):[]}function p(a,b){return!!n(a)&&!!b.length&&b.every(b=>n(a[b])&&!0===a[b].present)}async function q(a,b={}){let c,o=(0,j.Q2)(a.id),p=(0,j.Pi)(a.id,{jobId:b.jobId,brain:b.brain??"none",providerEnv:b.providerEnv,maxBrainCalls:b.maxBrainCalls??0});if(await (0,j.LS)(o.logs),await (0,j.LS)(o.data),await (0,e.mkdir)(o.logs,{recursive:!0,mode:448}),b.jobId&&!/^[a-zA-Z0-9-]{1,100}$/.test(b.jobId))throw new l.G8("invalid-job-id");let r=await (0,e.open)((0,f.join)(o.logs,"job-"+(b.jobId??"probe")+".log"),d.constants.O_WRONLY|d.constants.O_CREAT|d.constants.O_TRUNC|(d.constants.O_NOFOLLOW??0),384),s=0,t="",u=!1,v=Promise.resolve(),w=new g.K({name:"panoma-app-host",version:"1"},{capabilities:{}}),x=new h.oQ({command:process.execPath,args:["-e",'const {spawn}=require("node:child_process");\nconst parent=process.ppid;\nconst child=spawn(process.execPath,[process.argv[1]],{env:process.env,cwd:process.cwd(),detached:process.platform!=="win32",stdio:["pipe","pipe","pipe"],windowsHide:true});\nlet closing=false;\nfunction stop(code=0){if(closing)return;closing=true;clearInterval(watch);\nif(process.platform==="win32"){const k=spawn("taskkill",["/T","/F","/PID",String(child.pid)],{windowsHide:true,stdio:"ignore"});k.on("error",()=>process.exit(code));k.on("exit",()=>process.exit(code));}\nelse{try{process.kill(-child.pid,"SIGTERM")}catch{}setTimeout(()=>{try{process.kill(-child.pid,"SIGKILL")}catch{}process.exit(code)},1000)}\nsetTimeout(()=>process.exit(code),1800).unref();}\nconst watch=setInterval(()=>{try{process.kill(parent,0);if(process.ppid!==parent)stop(1)}catch{stop(1)}},1000);\nchild.stdout.pipe(process.stdout);child.stderr.pipe(process.stderr);process.stdin.pipe(child.stdin);\nprocess.stdout.on("error",()=>stop(1));process.stderr.on("error",()=>stop(1));\nprocess.stdin.on("end",()=>stop());process.stdin.on("error",()=>stop(1));\nchild.stdin.on("error",()=>{});child.on("error",()=>stop(1));child.on("exit",code=>stop(code||0));\nprocess.on("SIGTERM",()=>stop());process.on("SIGINT",()=>stop());',a.entry],cwd:a.root,env:p,stderr:"pipe"});function y(a){for(let c of Object.values(b.providerEnv??{}))c&&(a=a.split(c).join("[redacted]"));return a.replace(/(?:sk-[A-Za-z0-9_-]{10,}|panoma_[A-Za-z0-9_-]{15,})/g,"[redacted]")}function z(a){if(s>=1048576)return;let b=Buffer.from(y(a)).subarray(0,1048576-s);s+=b.length,v=v.then(async()=>{await r.write(b)}).catch(()=>{})}x.stderr?.on("data",a=>{let d=(t+a.toString("utf8")).split("\n");for(let a of(t=d.pop(),d)){let d=u||a.length>65536;if(u=!1,!d){try{let d=JSON.parse(a);"panoma-app-spend"===d.event&&d.job===b.jobId&&n(d.spend)&&Number.isSafeInteger(d.spend.calls)&&d.spend.calls>=0&&d.spend.calls<=k.q8B&&d.spend.calls>=(c?.calls??0)&&(c=d.spend)}catch{}z(a+"\n")}}t.length>65536&&(t="",u=!0)});let A=!1;async function B(){A||(A=!0,await w.close().catch(()=>{}),u||z(t),await v,await r.close())}async function C(a,b,c={}){let d=await w.callTool({name:a,arguments:b,...c.token?{_meta:{progressToken:c.token}}:{}},i.TF,{signal:c.signal,timeout:c.timeout??2e4,maxTotalTimeout:c.timeout??2e4,onprogress:c.onProgress}),e=n(d.structuredContent)?d.structuredContent:void 0;if(d.isError){let a=d.content;throw new m(y(a.find(a=>"text"===a.type)?.text??"app-error").slice(0,4e3),e)}if(!e)throw new m("malformed-app-result");return e}try{await w.connect(x,{timeout:2e4,signal:b.signal}),x.pid&&b.onPid?.(x.pid);let d=b.deepProbe?{probe:"deep"}:{};return{guide:function(a,b,c){if(!n(a)||"string"!=typeof a.version)throw new l.G8("malformed-guide");if(a.version!==b)throw new l.G8("protocol-mismatch");if(!n(a.requirements))throw new l.G8("malformed-requirements");if(!c.length)throw Error("malformed-requirements: none declared");for(let b of c){let c=a.requirements[b];if(!n(c)||"boolean"!=typeof c.present)throw Error("malformed-requirements: "+b)}return a}(await C("panoma_video_guide",d,{signal:b.signal,timeout:j.SG}),a.manifest.protocol,a.manifest.requirements.map(a=>a.id)),pid:x.pid,get spend(){return c},call:C,close:B}}catch(a){throw await B(),a}}}};
|
|
1
|
+
exports.id=8404,exports.ids=[8404],exports.modules={47033:()=>{},55130:(a,b,c)=>{"use strict";c.d(b,{Me:()=>k,Um:()=>h,Z6:()=>i,ar:()=>g});var d=c(54699),e=c(28345),f=c(86247);function g(a){let{pid:b,...c}=a,{_projectId:d,...e}=a.input;return{...c,input:e}}function h(){if(process.env.DATABASE_URL)return Response.json({error:"local-catalog-required"},{status:403})}async function i(a){let b;if(!a.body)throw new f.G8("invalid-body");let c=a.body.getReader(),e=[],g=0;try{for(;;){let{value:a,done:b}=await c.read();if(b)break;if((g+=a.length)>65536)throw await c.cancel(),new f.G8("body-too-large");e.push(a)}}finally{c.releaseLock()}try{b=JSON.parse(Buffer.concat(e).toString("utf8"))}catch{throw new f.G8("invalid-body")}if(!(0,d.u4)(b))throw new f.G8("invalid-body");return b}let j={"local-catalog-required":403,"unknown-app":404,"unknown-app-operation":404,"job-not-found":404,"app-job-not-found":404,"project-not-found":404,"artifact-not-found":404,"not-installed":409,"app-not-enabled":409,"app-budget-exhausted":409,"provider-not-enabled":409,"provider-confirmation-required":409,"ambiguous-project":409};function k(a){let{code:b,detail:c}=(0,f.Kl)(a),d=b?{error:b,...c?{detail:(0,e.i)(c)}:{}}:{error:(0,e.i)(a instanceof Error?a.message:"app-request-failed")};return Response.json(d,{status:(b&&j[b])??400})}},76744:(a,b,c)=>{"use strict";a.exports=c(44870)},78022:(a,b,c)=>{"use strict";c.d(b,{U:()=>i,N:()=>g});var d=c(89267),e=c(17245);let f=new Set(["localhost","127.0.0.1","::1","[::1]","0.0.0.0"]);function g(a){let b=(0,e.dT)(a),c=a.headers.get("sec-fetch-site");if(c&&"same-origin"!==c&&"none"!==c)return h(b,(0,e.t)(b,"guard.otherSite",{site:c}));let d=a.headers.get("origin"),f=a.headers.get("host");if(d&&f&&function(a){try{return new URL(a).host}catch{return null}}(d)!==f)return h(b,(0,e.t)(b,"guard.otherOrigin",{origin:d}))}function h(a,b){return Response.json({error:(0,e.t)(a,"guard.rejected",{detail:b}),hint:(0,e.t)(a,"guard.rejectedHint")},{status:403})}function i(a){let b=(process.env.PANOMA_OPERATOR_KEY??"").trim();if(!b){if(!function(){if((process.env.PANOMA_ACCESS_KEY??"").trim())return!0;let a=(process.env.PANOMA_HOST??"").trim().replace(/:\d+$/,"").toLowerCase();return!!a&&("0.0.0.0"===a||"::"===a||"[::]"===a||!f.has(a))}())return;return j(a)}let c=function(a){let b=a.headers.get("x-panoma-operator");if(b)return b;for(let b of(a.headers.get("cookie")??"").split(";")){let a=b.indexOf("=");if(-1!==a&&"panoma-operator"===b.slice(0,a).trim())try{return decodeURIComponent(b.slice(a+1).trim())}catch{return b.slice(a+1).trim()}}return""}(a);if(!(c&&function(a,b){if(a.length!==b.length)return!1;let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(c,b)))return j(a)}function j(a){let b=(0,e.dT)(a);return Response.json({error:(0,e.t)(b,"guard.localOperatorOnly"),hint:(0,e.t)(b,"guard.localOperatorOnlyHint",{cli:(0,d._)()})},{status:403})}},81901:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(67605),e=c(78784),f=c(82335);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},83481:()=>{},89267:(a,b,c)=>{"use strict";function d(){return e()?"npx panoma":"panoma"}function e(){return"1"===process.env.PANOMA_EPHEMERAL}c.d(b,{_:()=>d,a:()=>e})}};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";exports.id=9511,exports.ids=[9511],exports.modules={2735:(a,b,c)=>{c.d(b,{Kl:()=>d.Kl,ny:()=>d.ny,zA:()=>d.zA});var d=c(81033)},14032:(a,b,c)=>{c.d(b,{S2:()=>f,_f:()=>h,eE:()=>g});var d=c(49256);let e=globalThis;function f(){return e.__panomaHandoffStores??{}}function g(a){let b=a.now??Date.now,c=`${[...new Set(a.cwds)].sort().join("\0")}
|
|
2
|
-
${a.cwd??""}`,g=e.panomaHandoffDiscovery??=new Map;for(let[a,c]of g)b()-c.at>=3e4&&g.delete(a);let h=g.get(c);if(!a.fresh&&h)return h.value;let i=(0,d.y9)({...f(),cwds:a.cwds,...void 0!==a.cwd?{cwd:a.cwd}:{}}).catch(a=>{throw g.get(c)?.value===i&&g.delete(c),a});return g.set(c,{at:b(),value:i}),i}function h(){e.panomaHandoffDiscovery=void 0}},28345:(a,b,c)=>{c.d(b,{Dk:()=>r,Jb:()=>q,Wp:()=>t,i:()=>n,px:()=>p});var d=c(4528),e=c(28388),f=c(63351),g=c(90336),h=c(86247);let i=/(?<![A-Za-z0-9])file:\/\/\S*/gi,j=/(?<![A-Za-z0-9])[A-Za-z]:[\\/][^\s"'<>|*?]*(?:[ \t][^\s"'<>|*?\\/]*[\\/][^\s"'<>|*?]*)*/g,k=/(^|[\s("'=])\/(?=[^\s/])[^\s"'<>)]*/g,l=/[^\s"'<>|*?]*\\[^\s"'<>|*?]*/g,m="[local path]";function n(a){return"string"==typeof a?a.replace(i,m).replace(j,m).replace(k,`$1${m}`).replace(l,m):a instanceof Date?a.toISOString():Array.isArray(a)?a.map(n):a&&"object"==typeof a?Object.fromEntries(Object.entries(a).filter(([a])=>!["path","home","root","entry","packageRoot","rootAtCreation","pid"].includes(a)).map(([a,b])=>[a,n(b)])):a}function o(a){return a.enabled&&!!a.version&&["installed","staged"].includes(a.status)&&(0,g.no)(a.requirements,(0,g.Jh)(a.manifest))}async function p(a,b={}){let g=(0,d.lb)(a),{ensureAppSupervisor:i}=await Promise.all([c.e(4810),c.e(5103),c.e(7957)]).then(c.bind(c,35103));await i();let{db:j}=await (0,f.db)(),k=await (0,e.SxX)(j,a);if(!k)throw new h.G8("unknown-app");let l=b.space?(0,d.Q2)(a):void 0,[m,q,r,s]=await Promise.all([(0,d.eZ)(g.pkg).catch(()=>void 0),(0,e.cvP)(j,{appId:a,limit:15}),l?(0,d.pF)(l.root):void 0,l?(0,d.pF)(l.data):void 0]),t=(0,d.no)();return{...k,manifest:function a(b){return b instanceof Date?b.toISOString():Array.isArray(b)?b.map(a):b&&"object"==typeof b?Object.fromEntries(Object.entries(b).map(([b,c])=>[b,a(c)])):b}(k.manifest),requirements:n(k.requirements),error:n(k.error),ready:o(k),latestVersion:m?.version??null,registryAt:m?.checkedAt??null,...l?{space:{packageBytes:r??0,dataBytes:s??0}}:{},npm:{present:!!t,source:t?.source??null},jobs:q.map(({input:a,result:b,pid:c,...d})=>n(d))}}async function q(a){try{let{ensureAppSupervisor:b}=await Promise.all([c.e(4810),c.e(5103),c.e(7957)]).then(c.bind(c,35103));await b();let{db:d}=await (0,f.db)(),g=await (0,e.SxX)(d,a);return!!g&&o(g)}catch{return!1}}async function r(){return{apps:await Promise.all(d.iC.map(a=>p(a.id)))}}let s=["none","auto","claude","codex","anthropic","openai"];async function t(a,b){if((0,d.lb)(a),Object.keys(b).some(a=>!["brain","voice","confirm"].includes(a)))throw new h.G8("unknown-setting");let c=b.brain;if(void 0!==b.brain&&!s.includes(c))throw new h.G8("invalid-brain");if(void 0!==b.voice&&"boolean"!=typeof b.voice)throw new h.G8("invalid-voice");let{db:g}=await (0,f.db)();return(0,e.NfF)(async()=>{let c=await (0,e.SxX)(g,a);if(!c)throw new h.G8("unknown-app");let d={...c.settings,...b};if(delete d.confirm,("none"!==d.brain&&d.brain!==c.settings.brain||d.voice&&!c.settings.voice)&&!0!==b.confirm)throw new h.G8("provider-confirmation-required");return await (0,e.fyc)(g,a,{settings:d}),d})}},49256:(a,b,c)=>{c.d(b,{$6:()=>J,Bo:()=>l,Cb:()=>t,Gt:()=>ba,IZ:()=>o,JA:()=>y,Mo:()=>b1,NS:()=>b2,NV:()=>B,O7:()=>bj,PX:()=>ah,Sx:()=>q,TM:()=>M,TU:()=>u,ZT:()=>b3,_q:()=>n,oK:()=>ar,q_:()=>O,qp:()=>I,xe:()=>aj,xk:()=>D,y9:()=>bH,zl:()=>w});var d=c(81033),e=c(55511),f=c(29021),g=c(21820),h=c(33873),i=c(79748),j=c(26913),k=["claude-cli","codex-cli","opencode","gemini-cli","cursor-agent","copilot-cli","aider","amp-cli","goose"],l=["claude-cli","codex-cli","opencode","gemini-cli"],m=["cli","app"];function n(a){return m.includes(a)}var o={"claude-cli":{id:"claude-app",name:"Claude (app)",bundle:"Claude"},"codex-cli":{id:"codex-app",name:"Codex (app)",bundle:"ChatGPT"}},p={"claude-app":"claude-cli","codex-app":"codex-cli"};function q(a){return p[a.trim().toLowerCase()]}var r={claude:"claude-cli",codex:"codex-cli",opencode:"opencode",gemini:"gemini-cli",cursor:"cursor-agent",copilot:"copilot-cli",aider:"aider",amp:"amp-cli",goose:"goose"},s={"claude-cli":"Claude Code","codex-cli":"Codex CLI",opencode:"OpenCode","gemini-cli":"Gemini CLI","cursor-agent":"Cursor Agent","copilot-cli":"GitHub Copilot",aider:"Aider","amp-cli":"Amp",goose:"Goose"};function t(a){let b=a.trim().toLowerCase();return k.includes(b)?b:r[b]}function u(a){return k.includes(a)}var v=["full","compact","brief"];function w(a){return v.includes(a)}Object.freeze({thinking:0,images:0,subagents:0,offloaded:0,secrets:0,other:0});var x=/^[A-Za-z0-9_-]{1,80}$/;function y(a){return x.test(a)}var z=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,A=/^ses_[A-Za-z0-9]{20,40}$/;function B(a,b){if(!y(b))return!1;switch(a){case"opencode":return A.test(b);case"claude-cli":case"codex-cli":case"gemini-cli":return z.test(b);default:return!0}}function C(a,b){return("opencode"===a&&b.startsWith("ses_")?b.slice(4):b).slice(0,8)}function D(a){let b=a.indexOf(":");if(!(b<=0)&&b!==a.length-1)return{agent:a.slice(0,b),sessionId:a.slice(b+1)}}var E={uuid:()=>(0,e.randomUUID)(),hex:a=>(0,e.randomBytes)(a).toString("hex")},F=["thinking and reasoning (never travels)","images","subagent runs"],G={"claude-cli":{agent:"claude-cli",native:!0,carries:["every message","tool calls and their results, balanced","the source's own summary","the title"],leaves:[...F],testedWith:"Claude Code 2.1.258 (11-Sep-2026)",resumeShape:"claude --resume <id> finds the file from any folder"},"codex-cli":{agent:"codex-cli",native:!0,carries:["every message","tool calls and results as text notes","the source's own summary","the title as the preview"],leaves:[...F,"structured tool calls (Codex's own importer drops them too)"],testedWith:"Codex CLI 0.153.0 (11-Sep-2026)",resumeShape:"codex resume <id> from the project folder; the picker is scoped to it"},opencode:{agent:"opencode",native:!0,carries:["every message","tool calls and results as text notes","the source's own summary as a compaction","the title"],leaves:[...F,"the source's model: the next turn needs -m provider/model"],testedWith:"OpenCode 1.2.6 import (11-Sep-2026)",resumeShape:"opencode import <file>, then opencode -s <id>"},"gemini-cli":{agent:"gemini-cli",native:!0,carries:["every message","tool calls and results as text notes","the source's own summary","the title"],leaves:[...F,"structured tool calls"],resumeShape:"gemini --resume <id> from the project folder"},"cursor-agent":H("cursor-agent"),"copilot-cli":H("copilot-cli"),aider:H("aider"),"amp-cli":H("amp-cli"),goose:H("goose")};function H(a){return{agent:a,native:!1,carries:["a document with the digest and the last turns, to paste as the first message"],leaves:[...F,"the agent's own resume: it does not know this conversation"],resumeShape:`${s[a]} cannot resume a written conversation; it gets a document`}}function I(a){return G[a]}function J(a){return l.includes(a)}var K={"claude-cli":{command:"claude",args:a=>["--resume",a]},"codex-cli":{command:"codex",args:a=>["resume",a]},opencode:{command:"opencode",args:a=>["-s",a]},"gemini-cli":{command:"gemini",args:a=>["--resume",a]}};function L(a,b=process.platform){return"win32"===b?`'${a.replace(/'/g,"''")}'`:`'${a.replace(/'/g,"'\\''")}'`}function M(a,b,c,d=process.platform){let e=K[a];if(!e||!B(a,b))return;let f=e.args(b);return{command:e.command,args:f,line:function(a,b,c,d){let e=[a,...b].join(" ");return"win32"===d?`Set-Location -LiteralPath ${L(c,d)}; ${e}`:`cd ${L(c,d)} && ${e}`}(e.command,f,c,d)}}var N={"claude-cli":a=>`claude://resume?session=${a}`,"codex-cli":a=>`codex://threads/${a}`};function O(a,b,c,d=process.platform){let e=o[a],f=N[a];if(!e||!f||"darwin"!==d||!B(a,b))return;let g=f(b);return{app:e,url:g,line:`open ${L(g,d)}`,sentence:"claude-cli"===a?`Open Claude, the Code tab, the folder ${c}, and pick the conversation ${b}`:`Open the Codex app, the folder ${c}, and pick the thread ${b}`}}function P(a={}){let b=a.platform??process.platform;return{home:a.home??(0,g.homedir)(),env:a.env??process.env,platform:b,path:"win32"===b?h.win32:h.posix}}function Q(a,b){return a[b]?.trim()||void 0}function R(a){try{return(0,f.existsSync)(a)}catch{return!1}}function S(){return"win32"===process.platform?h.win32:h.posix}function T(a={}){let b=P(a),{path:c}=b,d=Q(b.env,"CLAUDE_CONFIG_DIR")??c.join(b.home,".claude");return{root:d,projects:c.join(d,"projects"),resolved:b}}function U(a,b={}){let c=P(b);return{root:a,projects:c.path.join(a,"projects"),resolved:c}}function V(a){return R(a.projects)}function W(a){let b=a.replace(/[^A-Za-z0-9]/g,"-");if(b.length<=200)return b;let c=(0,e.createHash)("sha256").update(a).digest("hex").slice(0,8);return`${b.slice(0,200-c.length-1)}-${c}`}function X(a,b){let{path:c}=b;return{root:a,sessions:c.join(a,"sessions"),index:c.join(a,"session_index.jsonl"),config:c.join(a,"config.toml"),resolved:b}}function Y(a={}){let b=P(a);return X(Q(b.env,"CODEX_HOME")??b.path.join(b.home,".codex"),b)}function Z(a,b={}){return X(a,P(b))}function $(a){return R(a.sessions)}function _(a){let b=a=>String(a).padStart(2,"0");return[String(a.getFullYear()).padStart(4,"0"),b(a.getMonth()+1),b(a.getDate()),b(a.getHours()),b(a.getMinutes()),b(a.getSeconds())]}async function aa(a){let b,c={model:"gpt-5-codex",reasoningEffort:"medium",approvalPolicy:"on-request",sandboxMode:"workspace-write"};try{b=await (0,i.readFile)(a.config,"utf8")}catch{return c}let d=/^[ \t]*\[/m.exec(b),e=d?b.slice(0,d.index):b,f=a=>RegExp(`^[ \\t]*${a}[ \\t]*=[ \\t]*"([^"\\n]+)"`,"m").exec(e)?.[1]?.trim(),g=f("model"),h=f("model_reasoning_effort"),j=f("approval_policy"),k=f("sandbox_mode");return g&&(c.model=g),h&&(c.reasoningEffort=h),j&&(c.approvalPolicy=j),k&&(c.sandboxMode=k),c}function ab(a){let b=/^rollout-\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}-([0-9a-f-]{36})(?:_[0-9a-f-]{36})?\.jsonl$/i.exec(a);return b?.[1]}function ac(a,b){let{path:c}=b;return{root:a,db:c.join(a,"opencode.db"),storage:c.join(a,"storage"),resolved:b}}function ad(a={}){let b=P(a),{path:c,env:d,home:e,platform:f}=b,g=Q(d,"XDG_DATA_HOME")??("win32"===f?Q(d,"LOCALAPPDATA")??c.join(e,"AppData","Local"):c.join(e,".local","share"));return ac(c.join(g,"opencode"),b)}function ae(a,b={}){return ac(a,P(b))}function af(a){return R(a.db)||R(a.resolved.path.join(a.storage,"session"))}var ag=/^panoma-import-(ses_[A-Za-z0-9]+)\.json$/;async function ah(a){if(!a)return a;let b=(0,h.resolve)(a);return(0,i.realpath)(b).catch(()=>b)}function ai(a,b){let c=a.replace(/\\/g,"/").replace(/\/+$/,"");return"win32"===b?c.toLowerCase():c}function aj(a,b,c=process.platform){if(!a)return!1;let d=ai(a,c),e=ai(b,c);return d===e||d.startsWith(`${e}/`)}function ak(a,b,c=process.platform){return!!a&&!!b&&ai(a,c)===ai(b,c)}function al(a,b){let{path:c}=b;return{root:a,tmp:c.join(a,"tmp"),registry:c.join(a,"projects.json"),resolved:b}}function am(a={}){let b=P(a);return al(b.path.join(b.home,".gemini"),b)}function an(a,b={}){return al(a,P(b))}function ao(a){return(0,e.createHash)("sha256").update(a).digest("hex")}function ap(a){let b,c;try{b=(0,f.readFileSync)(a.registry,"utf8")}catch{return}try{c=JSON.parse(b)}catch{return}if("object"!=typeof c||null===c)return;let d=c,e="object"==typeof d.projects&&null!==d.projects?d.projects:d,g=new Map;for(let[a,b]of Object.entries(e))"string"==typeof b&&b.length>0&&g.set(a.replace(/[\\/]+$/,""),b);return g}function aq(a,b){let c=new Map,d=ap(a);if(d)for(let[a,b]of d)c.set(b,a);for(let a of b)c.set(ao(a),a);return c}function ar(a){switch(a.kind){case"text":case"summary":return a.text;case"tool_call":return`[tool call: ${a.name}]
|
|
2
|
+
${a.cwd??""}`,g=e.panomaHandoffDiscovery??=new Map;for(let[a,c]of g)b()-c.at>=3e4&&g.delete(a);let h=g.get(c);if(!a.fresh&&h)return h.value;let i=(0,d.y9)({...f(),cwds:a.cwds,...void 0!==a.cwd?{cwd:a.cwd}:{}}).catch(a=>{throw g.get(c)?.value===i&&g.delete(c),a});return g.set(c,{at:b(),value:i}),i}function h(){e.panomaHandoffDiscovery=void 0}},49256:(a,b,c)=>{c.d(b,{$6:()=>J,Bo:()=>l,Cb:()=>t,Gt:()=>ba,IZ:()=>o,JA:()=>y,Mo:()=>b1,NS:()=>b2,NV:()=>B,O7:()=>bj,PX:()=>ah,Sx:()=>q,TM:()=>M,TU:()=>u,ZT:()=>b3,_q:()=>n,oK:()=>ar,q_:()=>O,qp:()=>I,xe:()=>aj,xk:()=>D,y9:()=>bH,zl:()=>w});var d=c(81033),e=c(55511),f=c(29021),g=c(21820),h=c(33873),i=c(79748),j=c(26913),k=["claude-cli","codex-cli","opencode","gemini-cli","cursor-agent","copilot-cli","aider","amp-cli","goose"],l=["claude-cli","codex-cli","opencode","gemini-cli"],m=["cli","app"];function n(a){return m.includes(a)}var o={"claude-cli":{id:"claude-app",name:"Claude (app)",bundle:"Claude"},"codex-cli":{id:"codex-app",name:"Codex (app)",bundle:"ChatGPT"}},p={"claude-app":"claude-cli","codex-app":"codex-cli"};function q(a){return p[a.trim().toLowerCase()]}var r={claude:"claude-cli",codex:"codex-cli",opencode:"opencode",gemini:"gemini-cli",cursor:"cursor-agent",copilot:"copilot-cli",aider:"aider",amp:"amp-cli",goose:"goose"},s={"claude-cli":"Claude Code","codex-cli":"Codex CLI",opencode:"OpenCode","gemini-cli":"Gemini CLI","cursor-agent":"Cursor Agent","copilot-cli":"GitHub Copilot",aider:"Aider","amp-cli":"Amp",goose:"Goose"};function t(a){let b=a.trim().toLowerCase();return k.includes(b)?b:r[b]}function u(a){return k.includes(a)}var v=["full","compact","brief"];function w(a){return v.includes(a)}Object.freeze({thinking:0,images:0,subagents:0,offloaded:0,secrets:0,other:0});var x=/^[A-Za-z0-9_-]{1,80}$/;function y(a){return x.test(a)}var z=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,A=/^ses_[A-Za-z0-9]{20,40}$/;function B(a,b){if(!y(b))return!1;switch(a){case"opencode":return A.test(b);case"claude-cli":case"codex-cli":case"gemini-cli":return z.test(b);default:return!0}}function C(a,b){return("opencode"===a&&b.startsWith("ses_")?b.slice(4):b).slice(0,8)}function D(a){let b=a.indexOf(":");if(!(b<=0)&&b!==a.length-1)return{agent:a.slice(0,b),sessionId:a.slice(b+1)}}var E={uuid:()=>(0,e.randomUUID)(),hex:a=>(0,e.randomBytes)(a).toString("hex")},F=["thinking and reasoning (never travels)","images","subagent runs"],G={"claude-cli":{agent:"claude-cli",native:!0,carries:["every message","tool calls and their results, balanced","the source's own summary","the title"],leaves:[...F],testedWith:"Claude Code 2.1.258 (11-Sep-2026)",resumeShape:"claude --resume <id> finds the file from any folder"},"codex-cli":{agent:"codex-cli",native:!0,carries:["every message","tool calls and results as text notes","the source's own summary","the title as the preview"],leaves:[...F,"structured tool calls (Codex's own importer drops them too)"],testedWith:"Codex CLI 0.153.0 (11-Sep-2026)",resumeShape:"codex resume <id> from the project folder; the picker is scoped to it"},opencode:{agent:"opencode",native:!0,carries:["every message","tool calls and results as text notes","the source's own summary as a compaction","the title"],leaves:[...F,"the source's model: the next turn needs -m provider/model"],testedWith:"OpenCode 1.2.6 import (11-Sep-2026)",resumeShape:"opencode import <file>, then opencode -s <id>"},"gemini-cli":{agent:"gemini-cli",native:!0,carries:["every message","tool calls and results as text notes","the source's own summary","the title"],leaves:[...F,"structured tool calls"],resumeShape:"gemini --resume <id> from the project folder"},"cursor-agent":H("cursor-agent"),"copilot-cli":H("copilot-cli"),aider:H("aider"),"amp-cli":H("amp-cli"),goose:H("goose")};function H(a){return{agent:a,native:!1,carries:["a document with the digest and the last turns, to paste as the first message"],leaves:[...F,"the agent's own resume: it does not know this conversation"],resumeShape:`${s[a]} cannot resume a written conversation; it gets a document`}}function I(a){return G[a]}function J(a){return l.includes(a)}var K={"claude-cli":{command:"claude",args:a=>["--resume",a]},"codex-cli":{command:"codex",args:a=>["resume",a]},opencode:{command:"opencode",args:a=>["-s",a]},"gemini-cli":{command:"gemini",args:a=>["--resume",a]}};function L(a,b=process.platform){return"win32"===b?`'${a.replace(/'/g,"''")}'`:`'${a.replace(/'/g,"'\\''")}'`}function M(a,b,c,d=process.platform){let e=K[a];if(!e||!B(a,b))return;let f=e.args(b);return{command:e.command,args:f,line:function(a,b,c,d){let e=[a,...b].join(" ");return"win32"===d?`Set-Location -LiteralPath ${L(c,d)}; ${e}`:`cd ${L(c,d)} && ${e}`}(e.command,f,c,d)}}var N={"claude-cli":a=>`claude://resume?session=${a}`,"codex-cli":a=>`codex://threads/${a}`};function O(a,b,c,d=process.platform){let e=o[a],f=N[a];if(!e||!f||"darwin"!==d||!B(a,b))return;let g=f(b);return{app:e,url:g,line:`open ${L(g,d)}`,sentence:"claude-cli"===a?`Open Claude, the Code tab, the folder ${c}, and pick the conversation ${b}`:`Open the Codex app, the folder ${c}, and pick the thread ${b}`}}function P(a={}){let b=a.platform??process.platform;return{home:a.home??(0,g.homedir)(),env:a.env??process.env,platform:b,path:"win32"===b?h.win32:h.posix}}function Q(a,b){return a[b]?.trim()||void 0}function R(a){try{return(0,f.existsSync)(a)}catch{return!1}}function S(){return"win32"===process.platform?h.win32:h.posix}function T(a={}){let b=P(a),{path:c}=b,d=Q(b.env,"CLAUDE_CONFIG_DIR")??c.join(b.home,".claude");return{root:d,projects:c.join(d,"projects"),resolved:b}}function U(a,b={}){let c=P(b);return{root:a,projects:c.path.join(a,"projects"),resolved:c}}function V(a){return R(a.projects)}function W(a){let b=a.replace(/[^A-Za-z0-9]/g,"-");if(b.length<=200)return b;let c=(0,e.createHash)("sha256").update(a).digest("hex").slice(0,8);return`${b.slice(0,200-c.length-1)}-${c}`}function X(a,b){let{path:c}=b;return{root:a,sessions:c.join(a,"sessions"),index:c.join(a,"session_index.jsonl"),config:c.join(a,"config.toml"),resolved:b}}function Y(a={}){let b=P(a);return X(Q(b.env,"CODEX_HOME")??b.path.join(b.home,".codex"),b)}function Z(a,b={}){return X(a,P(b))}function $(a){return R(a.sessions)}function _(a){let b=a=>String(a).padStart(2,"0");return[String(a.getFullYear()).padStart(4,"0"),b(a.getMonth()+1),b(a.getDate()),b(a.getHours()),b(a.getMinutes()),b(a.getSeconds())]}async function aa(a){let b,c={model:"gpt-5-codex",reasoningEffort:"medium",approvalPolicy:"on-request",sandboxMode:"workspace-write"};try{b=await (0,i.readFile)(a.config,"utf8")}catch{return c}let d=/^[ \t]*\[/m.exec(b),e=d?b.slice(0,d.index):b,f=a=>RegExp(`^[ \\t]*${a}[ \\t]*=[ \\t]*"([^"\\n]+)"`,"m").exec(e)?.[1]?.trim(),g=f("model"),h=f("model_reasoning_effort"),j=f("approval_policy"),k=f("sandbox_mode");return g&&(c.model=g),h&&(c.reasoningEffort=h),j&&(c.approvalPolicy=j),k&&(c.sandboxMode=k),c}function ab(a){let b=/^rollout-\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}-([0-9a-f-]{36})(?:_[0-9a-f-]{36})?\.jsonl$/i.exec(a);return b?.[1]}function ac(a,b){let{path:c}=b;return{root:a,db:c.join(a,"opencode.db"),storage:c.join(a,"storage"),resolved:b}}function ad(a={}){let b=P(a),{path:c,env:d,home:e,platform:f}=b,g=Q(d,"XDG_DATA_HOME")??("win32"===f?Q(d,"LOCALAPPDATA")??c.join(e,"AppData","Local"):c.join(e,".local","share"));return ac(c.join(g,"opencode"),b)}function ae(a,b={}){return ac(a,P(b))}function af(a){return R(a.db)||R(a.resolved.path.join(a.storage,"session"))}var ag=/^panoma-import-(ses_[A-Za-z0-9]+)\.json$/;async function ah(a){if(!a)return a;let b=(0,h.resolve)(a);return(0,i.realpath)(b).catch(()=>b)}function ai(a,b){let c=a.replace(/\\/g,"/").replace(/\/+$/,"");return"win32"===b?c.toLowerCase():c}function aj(a,b,c=process.platform){if(!a)return!1;let d=ai(a,c),e=ai(b,c);return d===e||d.startsWith(`${e}/`)}function ak(a,b,c=process.platform){return!!a&&!!b&&ai(a,c)===ai(b,c)}function al(a,b){let{path:c}=b;return{root:a,tmp:c.join(a,"tmp"),registry:c.join(a,"projects.json"),resolved:b}}function am(a={}){let b=P(a);return al(b.path.join(b.home,".gemini"),b)}function an(a,b={}){return al(a,P(b))}function ao(a){return(0,e.createHash)("sha256").update(a).digest("hex")}function ap(a){let b,c;try{b=(0,f.readFileSync)(a.registry,"utf8")}catch{return}try{c=JSON.parse(b)}catch{return}if("object"!=typeof c||null===c)return;let d=c,e="object"==typeof d.projects&&null!==d.projects?d.projects:d,g=new Map;for(let[a,b]of Object.entries(e))"string"==typeof b&&b.length>0&&g.set(a.replace(/[\\/]+$/,""),b);return g}function aq(a,b){let c=new Map,d=ap(a);if(d)for(let[a,b]of d)c.set(b,a);for(let a of b)c.set(ao(a),a);return c}function ar(a){switch(a.kind){case"text":case"summary":return a.text;case"tool_call":return`[tool call: ${a.name}]
|
|
3
3
|
${function(a){if("object"==typeof a&&null!==a&&!Array.isArray(a)){let b=[];for(let[c,d]of Object.entries(a)){let a="string"==typeof d?d:as(d);b.push(`${c}: ${at(a,8e3)}`)}return b.join("\n")}return"string"==typeof a?at(a,8e3):at(as(a),8e3)}(a.input)}`;case"tool_result":let b=a.isError?"[tool result: error]":"[tool result]";return`${b}
|
|
4
4
|
${at(a.output,16e3)}`}}function as(a){try{return JSON.stringify(a)??""}catch{return""}}function at(a,b){return a.length>b?`${a.slice(0,b)}\u2026`:a}function au(a,b,c,d){let e=d.toISOString().slice(0,10);return`${j.qN}${s[a]} conversation ${b} by panoma on ${e} \xb7 tier ${c}`}function av(a){return(0,e.createHash)("sha256").update(JSON.stringify(function(a){let b=[];for(let c of a){let a=c.parts.map(ar).filter(a=>a.length>0),d=b[b.length-1];d&&d.role===c.role?d.parts.push(...a):b.push({role:c.role,parts:a})}return b.filter(a=>a.parts.length>0)}(a))).digest("hex")}function aw(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function ax(a){return"string"==typeof a&&a.length>0?a:void 0}function ay(a){return"number"==typeof a&&Number.isFinite(a)?a:void 0}function az(){return{thinking:0,images:0,subagents:0,offloaded:0,secrets:0,other:0}}function aA(a){let b=ay(a);if(void 0!==b&&!(b<=0))return new Date(b>1e12?b:1e3*b).toISOString()}function aB(a){let b=ay(a);return void 0===b||b<=0?void 0:new Date(b).toISOString()}var aC=class{push(a,b,c){let d=this.turns[this.turns.length-1];if(d&&d.role===a&&!d.parts.some(a=>"summary"===a.kind)&&"summary"!==b.kind)return void d.parts.push(b);let e={role:a,parts:[b]};c&&(e.at=c),this.turns.push(e)}open(a,b,c){if(0===b.length)return;let d={role:a,parts:b};c&&(d.at=c),this.turns.push(d)}reset(){this.turns.length=0}constructor(){this.turns=[]}};async function aD(a){let b;try{b=(await (0,i.stat)(a)).size}catch(a){throw(0,d.zA)(a,"conversation-not-found")}if(b>0x4000000)throw new d.ny("too-large",String(b));try{return await (0,i.readFile)(a,"utf8")}catch(a){throw(0,d.zA)(a,"unreadable-transcript")}}function aE(a){let b=[];for(let c of a.split("\n")){let a=c.trim();if(!(a.length<2))try{b.push(JSON.parse(a))}catch{}}return b}function aF(a,b,c,d){var e,f;let g=b[0]?.parts[0];g&&("text"===g.kind||"summary"===g.kind)&&(g.text=function(a){if(!a.startsWith(j.qN))return a;let b=a.indexOf("\n");return -1===b?"":a.slice(b+1).replace(/^\n+/,"")}(g.text),0===g.text.length&&(b[0].parts.shift(),0===b[0].parts.length&&b.shift()));let h={id:(e=a.agent,f=a.sessionId,`${e}:${f}`),agent:a.agent,sessionId:a.sessionId,handle:C(a.agent,a.sessionId),path:a.path,cwd:a.cwd,updatedAt:a.updatedAt,turnCount:b.length,bytes:a.bytes,compacted:a.compacted||c.length>0};return a.gitBranch&&(h.gitBranch=a.gitBranch),a.title&&(h.title=a.title),a.model&&(h.model=a.model),a.startedAt&&(h.startedAt=a.startedAt),a.limit&&(h.limit=a.limit),a.surface&&(h.surface=a.surface),{...h,version:1,hash:av(b),turns:b,compactions:c,dropped:d}}function aG(a,b=80){let c=a.split(/\r?\n/).map(a=>a.trim()).find(a=>a.length>0);if(c)return c.length>b?`${c.slice(0,b-1).trimEnd()}\u2026`:c}var aH=["claude-desktop","claude-desktop-3p"],aI=/Full output saved to: (.+?)(?:\r?\n|$)/,aJ=[/<system-reminder>[\s\S]*?<\/system-reminder>/g,/<task-notification>[\s\S]*?<\/task-notification>/g,/<local-command-caveat>[\s\S]*?<\/local-command-caveat>/g,/<local-command-stdout>[\s\S]*?<\/local-command-stdout>/g,/<local-command-stderr>[\s\S]*?<\/local-command-stderr>/g,/<command-name>[\s\S]*?<\/command-name>/g,/<command-message>[\s\S]*?<\/command-message>/g,/<command-args>[\s\S]*?<\/command-args>/g],aK=[/^\[Request interrupted[^\n]*$/gm,/^Caveat: The messages below[^\n]*$/gm];async function aL(a,b={}){P(b);let c=await aD(a),d=S(),e=await (0,i.stat)(a);return aM(c,{path:a,sessionId:d.basename(a,".jsonl"),bytes:e.size,mtime:e.mtime.toISOString(),sidecar:function(a,b=S()){let c=b.dirname(a),d=b.basename(a,".jsonl");return b.join(c,d)}(a,d)})}async function aM(a,b){let c,d,e,f,g,h,i,j=S(),{sidecar:k,sessionId:l}=b,m=new aC,n=[],o=az(),p={agent:"claude-cli",sessionId:l,path:b.path,cwd:"",updatedAt:b.mtime,bytes:b.bytes,compacted:!1,surface:"cli"};for(let b of aE(a)){if(!aw(b))continue;let a=b.type,l=ax(b.timestamp);if(void 0===c){var q;void 0!==(c=ax(b.entrypoint))&&(p.surface=void 0!==(q=c)&&aH.includes(q)?"app":"cli")}if("custom-title"===a){d=ax(b.customTitle)??d;continue}if("ai-title"===a){e=ax(b.aiTitle)??e;continue}if("system"===a){if("compact_boundary"!==b.subtype)continue;m.reset(),n.length=0,p.compacted=!0,f=void 0;let a=b.compactMetadata;g={at:l,tokensBefore:aw(a)?ay(a.preTokens):void 0};continue}if("user"!==a&&"assistant"!==a)continue;l&&(p.startedAt??=l,i=l);let r=ax(b.cwd);r&&!p.cwd&&(p.cwd=r);let s=ax(b.gitBranch);if(s&&(p.gitBranch=s),!0===b.isSidechain){o.other+=1;continue}let t=b.message;if(!aw(t))continue;if("user"===a){if(!0===b.isMeta){o.other+=1;continue}if(!0===b.isCompactSummary){let a=aO(t.content);m.open("user",[{kind:"summary",text:a}],l);let b={text:a},c=g?.at??l;c&&(b.at=c),g?.tokensBefore!==void 0&&(b.tokensBefore=g.tokensBefore),n.push(b),g=void 0;continue}let a=await aN(t.content,k,o,j);if(void 0===f){let b=a.find(a=>"text"===a.kind);b&&"text"===b.kind&&(f=b.text)}for(let b of a)m.push("user",b,l);continue}if(!0===b.isApiErrorMessage){h=function(a,b){let c=a.quotaLimits;if(429!==ay(a.apiErrorStatus)&&!aw(c))return;let d={at:b??""};if(aw(c)){let a=aA(c.resetsAt);a&&(d.resetsAt=a);let b=ax(c.rateLimitType);b&&(d.kind=b)}return d}(b,l)??h,o.other+=1;continue}h=void 0;let u=ax(t.model);for(let a of(u&&"<synthetic>"!==u&&!p.model&&(p.model=u),function(a,b){if("string"==typeof a)return a.length>0?[{kind:"text",text:a}]:[];if(!Array.isArray(a))return[];let c=[];for(let d of a){if(!aw(d))continue;let a=d.type;if("text"===a){let a=ax(d.text);a&&c.push({kind:"text",text:a})}else if("tool_use"===a){let a=ax(d.id),b=ax(d.name);a&&b&&c.push({kind:"tool_call",id:a,name:b,input:d.input??{}})}else"thinking"===a||"redacted_thinking"===a?b.thinking+=1:"image"===a?b.images+=1:b.other+=1}return c}(t.content,o)))m.push("assistant",a,l)}return i&&(p.updatedAt=i),p.title=d??e??(f?aG(f):void 0),h&&(p.limit=h),k&&(o.subagents+=await aQ(j.join(k,"subagents"),j)),aF(p,m.turns,n,o)}async function aN(a,b,c,d){let e=[],f=a=>{let b=function(a){let b=a;for(let a of aJ)b=b.replace(a," ");for(let a of aK)b=b.replace(a," ");return b===a?a:b.trim()}(a);b?e.push({kind:"text",text:b}):c.other+=1};if("string"==typeof a)return a.length>0&&f(a),e;if(!Array.isArray(a))return[];for(let g of a){if(!aw(g))continue;let a=g.type;if("text"===a){let a=ax(g.text);a&&f(a)}else if("tool_result"===a){let a=ax(g.tool_use_id);if(!a)continue;let f=aO(g.content,c),h={kind:"tool_result",callId:a,output:f=await aP(f,b,c,d)};!0===g.is_error&&(h.isError=!0),e.push(h)}else"image"===a?c.images+=1:c.other+=1}return e}function aO(a,b){if("string"==typeof a)return a;if(!Array.isArray(a))return"";let c=[];for(let d of a)if(aw(d))if("text"===d.type){let a=ax(d.text);a&&c.push(a)}else"image"===d.type&&b&&(b.images+=1);return c.join("\n")}async function aP(a,b,c,d){if(!a.startsWith("<persisted-output>"))return a;let e=aI.exec(a)?.[1]?.trim(),f=b?d.join(b,"tool-results"):void 0;if(!e||!f||d.dirname(e)!==f||!e.endsWith(".txt")||d.basename(e).includes(".."))return c.offloaded+=1,a;try{let b=await (0,i.stat)(e);if(!b.isFile()||b.size>65536)return c.offloaded+=1,a;return await (0,i.readFile)(e,"utf8")}catch{return c.offloaded+=1,a}}async function aQ(a,b,c=0){let d;if(c>4)return 0;try{d=await (0,i.readdir)(a,{withFileTypes:!0})}catch{return 0}let e=0;for(let f of d)f.isDirectory()?e+=await aQ(b.join(a,f.name),b,c+1):f.isFile()&&/^agent-.*\.jsonl$/i.test(f.name)&&(e+=1);return e}var aR=["<environment_context>","<app-context>","<user_instructions>","<permissions instructions>","<turn_aborted>","<user_shell>","# AGENTS.md instructions","<recommended_plugins>","<subagent_notification>","<skill>","<in-app-browser-context","<realtime_delegation>"],aS=/^##[ \t]+My request(?:[ \t]+for[ \t]+Codex)?:[ \t]*$/m;async function aT(a,b={}){let c=Y(b),d=await aD(a),e=await (0,i.stat)(a),f=await aX(c.index);return aU(d,{path:a,bytes:e.size,mtime:e.mtime.toISOString(),names:f})}function aU(a,b){let c,d,e,f=S(),{path:g}=b,h=new aC,i=[],j=az(),k={agent:"codex-cli",sessionId:ab(f.basename(g))??f.basename(g,".jsonl"),path:g,cwd:"",updatedAt:b.mtime,bytes:b.bytes,compacted:!1,surface:"cli"},l=!1;for(let b of aE(a)){if(!aw(b))continue;let a=b.payload;if(!aw(a))continue;let f=b.type,g=ax(b.timestamp);if(g&&(e=g),"session_meta"===f){if(l)continue;l=!0;let b=ax(a.id)??ax(a.session_id);b&&(k.sessionId=b),k.cwd=ax(a.cwd)??k.cwd,k.startedAt=ax(a.timestamp)??g,"Codex Desktop"===a.originator&&(k.surface="app");let c=a.git,d=aw(c)?ax(c.branch):void 0;d&&(k.gitBranch=d);continue}if("turn_context"===f){let b=ax(a.cwd);b&&(k.cwd=b);let c=ax(a.model);c&&!k.model&&(k.model=c);continue}if("compacted"===f){h.reset(),i.length=0,k.compacted=!0;let b=ax(a.message);if(b){h.open("user",[{kind:"summary",text:b}],g);let a={text:b};g&&(a.at=g),i.push(a)}let d=a.replacement_history;if(Array.isArray(d))for(let a of d)aw(a)&&aV(a,h,j,g,a=>{c??=a});continue}if("event_msg"===f){"token_count"===a.type&&(d=function(a,b){let c,d=a.rate_limits;if(!aw(d))return;let e=ax(d.rate_limit_reached_type),f=[["primary",d.primary],["secondary",d.secondary]];for(let[a,b]of f){if(!aw(b))continue;let d=ay(b.used_percent);if(void 0!==d&&d>=100){c={name:a};let d=aA(b.resets_at);d&&(c.resetsAt=d);break}}if(!e&&!c)return;let g={at:b??"",kind:e??c.name},h=c?.resetsAt??function(a){let b;for(let[,c]of a){if(!aw(c))continue;let a=aA(c.resets_at);a&&(!b||a<b)&&(b=a)}return b}(f);return h&&(g.resetsAt=h),g}(a,g));continue}"response_item"===f&&aV(a,h,j,g,a=>{c??=a})}return e&&(k.updatedAt=e),k.title=b.names?.get(k.sessionId)??(c?aG(c):void 0),d&&(k.limit=d),aF(k,h.turns,i,j)}function aV(a,b,c,d,e){let f=a.type;if("message"===f){let f=a.role;if("user"!==f&&"assistant"!==f){c.other+=1;return}for(let g of aW(a.content,c)){let a="user"===f?function(a){let b=aS.exec(a);if(null!==b){let c=a.slice(b.index+b[0].length).trim();return c.length>0?c:void 0}return!function(a){let b=a.trimStart();return aR.some(a=>b.startsWith(a))}(a)?a:void 0}(g):g;if(void 0===a){c.other+=1;continue}"user"===f&&e(a),b.push(f,{kind:"text",text:a},d)}return}if("function_call"===f||"custom_tool_call"===f||"local_shell_call"===f){var g;let c=ax(a.call_id)??ax(a.id);if(!c)return;let e=ax(a.name)??("local_shell_call"===f?"shell":"tool"),h="function_call"===f?function(a){if("string"!=typeof a)return a??{};try{return JSON.parse(a)}catch{return a}}(a.arguments):"custom_tool_call"===f?a.input:a.action;b.push("assistant",{kind:"tool_call",id:c,name:e,input:aw(g=h)?g:{input:g??""}},d);return}if("function_call_output"===f||"custom_tool_call_output"===f){let e=ax(a.call_id);if(!e)return;let f=a.output,g="string"==typeof f?f:aW(f,c).join("\n");b.push("user",{kind:"tool_result",callId:e,output:g},d);return}if("reasoning"===f){c.thinking+=1;return}c.other+=1}function aW(a,b){if("string"==typeof a)return a.length>0?[a]:[];if(!Array.isArray(a))return[];let c=[];for(let d of a){if(!aw(d))continue;let a=d.type;if("input_text"===a||"output_text"===a||"text"===a){let a=ax(d.text);a&&c.push(a)}else"input_image"===a||"image"===a?b.images+=1:"encrypted_content"===a?b.thinking+=1:b.other+=1}return c}async function aX(a){let b,c=new Map;try{b=await (0,i.readFile)(a,"utf8")}catch{return c}for(let a of aE(b)){if(!aw(a))continue;let b=ax(a.id),d=ax(a.thread_name);b&&d&&c.set(b,d)}return c}async function aY(a,b={},c={}){let d=am(b),e=await aD(a),f=S(),g=await (0,i.stat)(a),h=f.basename(f.dirname(f.dirname(a))),j=aq(d,c.cwds??[]).get(h),k={path:a,bytes:g.size,mtime:g.mtime.toISOString(),legacy:a.toLowerCase().endsWith(".json")};return j&&(k.cwd=j),aZ(e,k)}function aZ(a,b){let c,d,e=S(),{path:f}=b,g=b.legacy?function(a){let b;try{b=JSON.parse(a)}catch{return[]}if(!aw(b))return[];let{messages:c,...d}=b;return[d,...Array.isArray(c)?c:[]]}(a):aE(a),h=new aC,i=az(),j={agent:"gemini-cli",sessionId:"",path:f,cwd:b.cwd??"",updatedAt:b.mtime,bytes:b.bytes,compacted:!1},k=new Map;for(let a of g){if(!aw(a))continue;let b=a.$set;if(aw(b)){let a=ax(b.summary);a&&(c=a);let d=b.messages;Array.isArray(d)&&(k.clear(),d.forEach((a,b)=>{aw(a)&&k.set(ax(a.id)??`#${b}`,a)}));continue}let d=ax(a.$rewindTo);if(d){let a=!1;for(let b of[...k.keys()])b===d&&(a=!0),a&&k.delete(b);continue}let e=a.id;if("string"==typeof e){k.set(e,a);continue}let f=ax(a.sessionId);f&&(j.sessionId=f);let g=ax(a.startTime);g&&(j.startedAt=g);let h=ax(a.lastUpdated);h&&(j.updatedAt=h);let i=ax(a.summary);i&&(c=i)}for(let a of(j.sessionId||(j.sessionId=e.basename(f).replace(/\.jsonl?$/i,"")),k.values())){let b=ax(a.timestamp);b&&(j.updatedAt=b);let c=a.type;if("user"===c){for(let c of a$(a.content,i))d??=c,h.push("user",{kind:"text",text:c},b);continue}if("gemini"!==c){i.other+=1;continue}let e=ax(a.model);for(let c of(e&&!j.model&&(j.model=e),Array.isArray(a.thoughts)&&a.thoughts.length>0&&(i.thinking+=1),a$(a.content,i)))h.push("assistant",{kind:"text",text:c},b);for(let c of Array.isArray(a.toolCalls)?a.toolCalls:[]){if(!aw(c))continue;let a=ax(c.id),d=ax(c.name);if(!a||!d)continue;h.push("assistant",{kind:"tool_call",id:a,name:d,input:c.args??{}},b);let e=function(a){if(null==a)return;if("string"==typeof a)return a;if(!Array.isArray(a))return JSON.stringify(a);let b=[];for(let c of a){if(!aw(c))continue;let a=aw(c.functionResponse)?c.functionResponse.response:void 0;if(aw(a)){let c=a.output??a.error;b.push("string"==typeof c?c:JSON.stringify(a))}else"string"==typeof c.text&&b.push(c.text)}return b.join("\n")}(c.result);if(void 0!==e){let d={kind:"tool_result",callId:a,output:e};"error"===c.status&&(d.isError=!0),h.push("user",d,b)}}}return j.title=c??(d?aG(d):void 0),aF(j,h.turns,[],i)}function a$(a,b){if("string"==typeof a)return a.length>0?[a]:[];if(!Array.isArray(a))return[];let c=[];for(let d of a){if(!aw(d))continue;let a=ax(d.text);a?c.push(a):void 0!==d.inlineData||void 0!==d.fileData?b.images+=1:void 0===d.functionCall&&void 0===d.functionResponse&&(b.other+=1)}return c}async function a_(a,b={},c={}){P(b);let d=S(),e=d.basename(a.path);if(ag.exec(e)?.[1])return a8(a.path,a.sessionId);let f=e.toLowerCase().endsWith(".db"),g=f?d.dirname(a.path):a.path;if(f){let b=await a1(a.path,a.sessionId,c);if(b)return b}return a3(d.join(g,"storage"),a.sessionId,a.path)}async function a0(a={}){if(a.sqlite)return a.sqlite;try{let a=await import("node:sqlite");return{open(b){let c=new a.DatabaseSync(b,{readOnly:!0});return{all:(a,...b)=>c.prepare(a).all(...b),close:()=>c.close()}}}}catch{return}}async function a1(a,b,c){let e,f=await a0(c);if(f){try{e=f.open(a)}catch{return}try{let c=e.all("SELECT id, directory, title, time_created, time_updated FROM session WHERE id = ?",b)[0];if(!c)throw new d.ny("conversation-not-found",b);let f={id:b,directory:ax(c.directory)??"",created:ay(c.time_created),updated:ay(c.time_updated)},g=ax(c.title);g&&(f.title=g);let h=e.all("SELECT id, time_created, data FROM message WHERE session_id = ? ORDER BY time_created, id",b).map(a2).filter(a=>void 0!==a),i=new Map;for(let a of e.all("SELECT id, message_id, time_created, data FROM part WHERE session_id = ? ORDER BY time_created, id",b)){let b=a2(a),c=ax(a.message_id);if(!b||!c)continue;let d=i.get(c)??[];d.push(b),i.set(c,d)}let j=ay(e.all("SELECT COALESCE(SUM(LENGTH(data)), 0) AS bytes FROM message WHERE session_id = ?",b)[0]?.bytes)??0,k=ay(e.all("SELECT COALESCE(SUM(LENGTH(data)), 0) AS bytes FROM part WHERE session_id = ?",b)[0]?.bytes)??0;return a9(f,h,i,a,j+k)}finally{e.close()}}}function a2(a){let b=ax(a.id),c=ay(a.time_created)??0,d=a.data,e=d;if("string"==typeof d)try{e=JSON.parse(d)}catch{return}if(b&&aw(e))return{id:b,created:c,data:e}}async function a3(a,b,c){let e=S(),f=await a5(e.join(a,"session"),b);if(!f)throw new d.ny("conversation-not-found",b);let g=await a7(f);if(!aw(g))throw new d.ny("unreadable-transcript",f);let h=aw(g.time)?g.time:{},j={id:b,directory:ax(g.directory)??"",created:ay(h.created),updated:ay(h.updated)},k=ax(g.title);k&&(j.title=k);let l=0,m=[],n=new Map,o=e.join(a,"message",b);for(let b of(await a6(o))){let c=await a7(e.join(o,b));if(l+=(await (0,i.stat)(e.join(o,b)).catch(()=>({size:0}))).size,!aw(c))continue;let d=ax(c.id)??e.basename(b,".json"),f=aw(c.time)?ay(c.time.created)??0:0;m.push({id:d,created:f,data:c});let g=e.join(a,"part",d),h=[];for(let a of(await a6(g))){let b=await a7(e.join(g,a));if(l+=(await (0,i.stat)(e.join(g,a)).catch(()=>({size:0}))).size,!aw(b))continue;let c=ax(b.id)??e.basename(a,".json"),d=aw(b.time)?ay(b.time.start)??0:0;h.push({id:c,created:d,data:b})}n.set(d,a4(h))}return a9(j,a4(m),n,c,l)}function a4(a){return a.sort((a,b)=>a.created-b.created||(a.id<b.id?-1:+(a.id>b.id)))}async function a5(a,b){let c,d=S();try{c=await (0,i.readdir)(a)}catch{return}for(let e of c){let c=d.join(a,e,`${b}.json`);try{if((await (0,i.stat)(c)).isFile())return c}catch{}}}async function a6(a){try{return(await (0,i.readdir)(a)).filter(a=>a.endsWith(".json")).sort()}catch{return[]}}async function a7(a){try{return JSON.parse(await (0,i.readFile)(a,"utf8"))}catch(a){throw(0,d.zA)(a,"unreadable-transcript")}}async function a8(a,b){let c=await a7(a);if(!aw(c)||!aw(c.info)||!Array.isArray(c.messages))throw new d.ny("unreadable-transcript",a);let e=c.info,f=aw(e.time)?e.time:{},g={id:ax(e.id)??b,directory:ax(e.directory)??"",created:ay(f.created),updated:ay(f.updated)},h=ax(e.title);h&&(g.title=h);let j=[],k=new Map;for(let a of c.messages){if(!aw(a)||!aw(a.info))continue;let b=a.info,c=ax(b.id);if(!c)continue;let d=aw(b.time)?ay(b.time.created)??0:0;j.push({id:c,created:d,data:b});let e=[];for(let b of Array.isArray(a.parts)?a.parts:[])aw(b)&&e.push({id:ax(b.id)??"",created:0,data:b});k.set(c,e)}let l=(await (0,i.stat)(a)).size;return a9(g,j,k,a,l)}function a9(a,b,c,d,e){let f,g=new aC,h=[],i=az(),j={agent:"opencode",sessionId:a.id,path:d,cwd:a.directory,updatedAt:aB(a.updated)??new Date(0).toISOString(),bytes:e,compacted:!1},k=aB(a.created);k&&(j.startedAt=k),a.title&&(j.title=a.title);let l=!1;for(let a of b){let b=a.data,d=b.role,e=aB(aw(b.time)?b.time.created:a.created),k=c.get(a.id)??[];if("user"!==d&&"assistant"!==d){i.other+=1;continue}if("user"===d){if(k.some(a=>"compaction"===a.data.type)){g.reset(),h.length=0,j.compacted=!0,l=!0;continue}for(let a of k){var m=a.data,n=g,o=i,p=e;let b=m.type;if("text"===b){let a=ax(m.text);a&&n.push("user",{kind:"text",text:a},p)}else"file"===b&&(ax(m.mime)??"").startsWith("image/")?o.images+=1:o.other+=1}continue}let q=ax(b.providerID),r=ax(b.modelID);r&&(j.model=q?`${q}/${r}`:r);let s=b.error;if(aw(s)){if(f=function(a,b){let c=ay((aw(a.data)?a.data:{}).statusCode);if(429===c||402===c)return{at:b??"",kind:429===c?"rate-limit":"credits"}}(s,e)??f,k.every(a=>"text"!==a.data.type)){i.other+=1;continue}}else f=void 0;if(l&&!0===b.summary){l=!1;let a=k.filter(a=>"text"===a.data.type).map(a=>ax(a.data.text)??"").filter(a=>a.length>0).join("\n");g.open("user",[{kind:"summary",text:a}],e);let b={text:a};e&&(b.at=e),h.push(b);continue}for(let a of k)!function(a,b,c,d){let e=a.type;if("text"===e){let c=ax(a.text);c&&b.push("assistant",{kind:"text",text:c},d);return}if("tool"===e){let c=ax(a.callID)??ax(a.id),e=ax(a.tool)??"tool";if(!c)return;let f=aw(a.state)?a.state:{};b.push("assistant",{kind:"tool_call",id:c,name:e,input:f.input??{}},d);let g=ax(f.status);if("completed"===g||"error"===g){let a={kind:"tool_result",callId:c,output:ax(f.output)??ax(f.error)??""};b.push("user","error"===g?{...a,isError:!0}:a,d)}return}if("reasoning"===e){c.thinking+=1;return}if("subtask"===e){c.subagents+=1;return}"file"===e&&((ax(a.mime)??"").startsWith("image/")?c.images+=1:c.other+=1)}(a.data,g,i,e)}return f&&(j.limit=f),aF(j,g.turns,h,i)}async function ba(a,b={},c={}){switch(a.agent){case"claude-cli":return aL(a.path,b);case"codex-cli":return aT(a.path,b);case"opencode":{if(!a.sessionId)throw new d.ny("invalid-id","an OpenCode session id is needed");let e=c.sqlite?{sqlite:c.sqlite}:{};return a_({path:a.path,sessionId:a.sessionId},b,e)}case"gemini-cli":return aY(a.path,b,c.cwds?{cwds:c.cwds}:{});default:throw new d.ny("unsupported-target",a.agent)}}var bb=/^(?:[-*•]\s*)?(?:\*\*)?(?:decision|decided|we will|we'll|i'll|i will|let's go with|going with|chose|choosing|settled on|the plan is)\b/i,bc=/^(?:[-*•]\s*\[ \]\s*|(?:[-*•]|\d+[.)])\s*(?:todo|next|then|remaining|pending|still|left to|to do)\b|todo\b|next(?: step)?s?\b|pending\b|remaining\b|still to\b|left to\b)/i,bd=/^#{0,6}\s*(?:\*\*)?(?:next steps?|open items?|remaining|pending|todos?|what's left|left to do)(?:\*\*)?\s*:?\s*$/i,be=new Set(["Edit","Write","MultiEdit","NotebookEdit","apply_patch","edit","write","multiedit"]),bf=["file_path","path","notebook_path","filePath"],bg=/^\*\*\* (?:Add|Update|Delete) File: (.+)$/gm,bh=new Set(["Bash","bash","exec","shell","exec_command","run_shell_command","shell_command"]),bi=/^\s*<command-(?:name|message)>[\s\S]*$/;function bj(a){let b=a.turns,c=bk(b,"user",a=>!bi.test(a))??bk(b,"user"),d=a.title??(c?bo(c.split(/\r?\n/).map(a=>a.trim()).find(a=>a.length>0)??"",80):"Untitled conversation"),e=c?bp(c,600):"",f=a.compactions[a.compactions.length-1]?.text,g=[],h=new Set,i=[],k=0;for(let a of b)for(let b of a.parts){if("text"===b.kind&&"assistant"===a.role)for(let a of b.text.split(/\r?\n/)){let b=a.trim();g.length<8&&bb.test(b)&&g.push(bo(b,200))}if("tool_call"!==b.kind)continue;for(let a of(k+=1,function(a){let b=[],c=a.input;if(be.has(a.name)){if("object"==typeof c&&null!==c){for(let a of bf){let d=c[a];"string"==typeof d&&d.length>0&&b.push(d)}let a=c.patch??c.input;if("string"==typeof a)for(let c of a.matchAll(bg))b.push(c[1].trim())}else if("string"==typeof c)for(let a of c.matchAll(bg))b.push(a[1].trim())}let d=bm(a);return d&&b.push(...function(a){let b=[];for(let c of a.split(/\s*(?:&&|\|\||;|\|)\s*/)){let a=function(a){let b,c=[],d="",e=!1;for(let f of a){if(b){f===b?b=void 0:d+=f;continue}"'"===f||'"'===f?(b=f,e=!0):/\s/.test(f)?(e&&c.push(d),d="",e=!1):(d+=f,e=!0)}return e&&c.push(d),c}(c),d=a[0];if("mv"===d||"cp"===d||"touch"===d)for(let c of a.slice(1))c.startsWith("-")||0===c.length||/^\\+$/.test(c)||b.push(c)}return b}(d)),b}(b)))h.size<40&&h.add(a);let c=bm(b);c&&i.length<30&&i.push(bo(c,200))}let l=bl(b,"user"),m=bl(b,"assistant"),n={};l&&(n.user=bp(l,600)),m&&(n.assistant=bp(m,600));let o={by:"panoma",title:d,goal:e,decisions:g,filesTouched:[...h],commandsRun:i,openItems:m?function(a){let b=[],c=!1;for(let d of a.split(/\r?\n/)){let a=d.trim();if(0===a.length){c=!1;continue}if(bd.test(a)){c=!0;continue}let e=/^(?:[-*•]|\d+[.)])\s+/.test(a);if(c&&e||bc.test(a)){if(b.push(bo(a.replace(/^(?:[-*•]|\d+[.)])\s+/,""),200)),b.length>=8)break}else e||(c=!1)}return b}(m):[],lastExchange:n,stats:{turns:b.length,toolCalls:k,estimatedTokens:(0,j.bP)(b.map(a=>a.parts.map(ar).join("\n")).join("\n"))}};return f&&(o.summary=f),o}function bk(a,b,c=()=>!0){for(let d of a){if(d.role!==b)continue;let a=d.parts.find(a=>"text"===a.kind&&a.text.trim().length>0&&c(a.text.trim()));if(a&&"text"===a.kind)return a.text.trim()}}function bl(a,b){for(let c=a.length-1;c>=0;c-=1){let d=a[c];if(d.role!==b)continue;let e=d.parts.filter(a=>"text"===a.kind&&a.text.trim().length>0);if(e.length>0)return e.map(a=>a.text.trim()).join("\n\n")}}function bm(a){if(!bh.has(a.name))return;let b=a.input;if("string"==typeof b){var c=b;let a=/"cmd"\s*:\s*"((?:[^"\\]|\\.)*)"/.exec(c);if(a)try{return bn(JSON.parse(`"${a[1]}"`))}catch{;}return}if("object"!=typeof b||null===b)return;let d=b.command??b.cmd;return"string"==typeof d?bn(d):Array.isArray(d)?bn(d.map(String).join(" ")):void 0}function bn(a){return a.replace(/\s+/g," ").trim()}function bo(a,b){let c=bn(a);return c.length>b?`${c.slice(0,b-1).trimEnd()}\u2026`:c}function bp(a,b){let c=a.trim();return c.length>b?`${c.slice(0,b-1).trimEnd()}\u2026`:c}function bq(a){let b=[`# ${a.title}`,""];a.goal&&b.push("## Goal","",a.goal,""),a.summary&&b.push("## Summary","",a.summary.trim(),""),a.decisions.length>0&&b.push("## Decisions","",...a.decisions.map(a=>`- ${a}`),""),a.filesTouched.length>0&&b.push("## Files touched","",...a.filesTouched.map(a=>`- \`${a}\``),""),a.commandsRun.length>0&&b.push("## Commands run","",...a.commandsRun.map(a=>`- \`${a}\``),""),a.openItems.length>0&&b.push("## Open items","",...a.openItems.map(a=>`- ${a}`),""),(a.lastExchange.user||a.lastExchange.assistant)&&(b.push("## Last exchange",""),a.lastExchange.user&&b.push(`**User:** ${a.lastExchange.user}`,""),a.lastExchange.assistant&&b.push(`**Assistant:** ${a.lastExchange.assistant}`,""));let{turns:c,toolCalls:d,estimatedTokens:e}=a.stats;return b.push(`_Digest by ${a.by} \xb7 tool calls: ${d} \xb7 tokens (estimated): ${e} \xb7 turns: ${c}_`),`${b.join("\n")}
|
|
5
5
|
`}var br=class{text(a){let b=(0,j.fp)(a);return b!==a&&(this.count+=bs(b)-bs(a)),b}constructor(){this.count=0}};function bs(a){return a.split(j.XF).length-1}function bt(a,b){let{conversation:c,tier:d,now:e}=b,f=au(c.agent,c.sessionId,d,e),g=a.map(a=>({...a,parts:a.parts.map(a=>({...a}))})),h=g[0],i=h?.parts[0];return h&&"user"===h.role&&i&&("text"===i.kind||"summary"===i.kind)?(i.text=`${f}
|
|
@@ -13,4 +13,4 @@ ${e.output}`)})}return c}(a.parts,m);0!==d.length&&d.forEach((c,e)=>{t({...s(a.a
|
|
|
13
13
|
`,u=await bu(k,t,l,i);return bv("gemini-cli",a,i,k,q,u,m)}async function bF(a,b){if(!a)return;let c=a.replace(/[\\/]+$/,"")||a,d=await ah(c);return{folders:[...new Set([c,d])],platform:b}}function bG(a,b){return a.folders.some(c=>aj(b,c,a.platform))}async function bH(a={}){let b=P(a),c=Math.max(1,Math.floor(a.limit??40)),d=a.agents??l,e=await bF(a.cwd,b.platform),f=[],g=[];for(let b of d){let d=await bI(b,a,c,e);d&&(g.push(d.report),f.push(...d.refs))}let h=e?f.filter(a=>bG(e,a.cwd)):f;return h.sort((a,b)=>a.updatedAt<b.updatedAt?1:a.updatedAt>b.updatedAt?-1:a.id.localeCompare(b.id)),{conversations:h,stores:g}}async function bI(a,b,c,d){switch(a){case"claude-cli":return bS(b,c,d);case"codex-cli":return bU(b,c,d);case"opencode":return bZ(b,c,d);case"gemini-cli":return bY(b,c,d);default:return}}function bJ(a,b){return a.sort((a,b)=>b.mtimeMs-a.mtimeMs||a.path.localeCompare(b.path)).slice(0,b)}async function bK(a,b,c){let d=[];for(let e of a){let a;try{a=c(await bL(e))}catch{a=void 0}null!==a&&(void 0===a||bG(b,a))&&d.push(e)}return d}async function bL(a){let b=await (0,i.open)(a.path,"r");try{let c=Math.min(a.bytes,65536),d=Buffer.alloc(c),{bytesRead:e}=await b.read(d,0,c,0);return d.subarray(0,e).toString("utf8")}finally{await b.close()}}function bM(a){let b=a.indexOf("\n");try{let c=JSON.parse(-1===b?a:a.slice(0,b));return aw(c)?c:void 0}catch{return}}async function bN(a,b){let c,d=S();try{c=await (0,i.readdir)(a,{withFileTypes:!0})}catch{return[]}let e=[];for(let f of c){if(!f.isFile()||!b(f.name))continue;let c=d.join(a,f.name),g=await (0,i.stat)(c).catch(()=>void 0);g&&e.push({path:c,mtimeMs:g.mtimeMs,bytes:g.size})}return e}async function bO(a){let b=S();try{return(await (0,i.readdir)(a,{withFileTypes:!0})).filter(a=>a.isDirectory()).map(c=>b.join(a,c.name))}catch{return[]}}async function bP(a){let b=await (0,i.open)(a.path,"r");try{if(a.bytes<=2097152){let c=Buffer.alloc(a.bytes),{bytesRead:d}=await b.read(c,0,a.bytes,0),e=c.subarray(0,d).toString("utf8");return{whole:!0,head:e,tail:e}}let c=Buffer.alloc(65536),d=Buffer.alloc(65536),e=await b.read(c,0,65536,0),f=await b.read(d,0,65536,a.bytes-65536),g=c.subarray(0,e.bytesRead).toString("utf8"),h=d.subarray(0,f.bytesRead).toString("utf8"),i=h.indexOf("\n");return{whole:!1,head:g,tail:-1===i?"":h.slice(i+1)}}finally{await b.close()}}function bQ(a,b){let{version:c,hash:d,turns:e,compactions:f,dropped:g,...h}=a;return{...h,turnCount:b}}function bR(a,b,c){let d=bQ(a,null);return d.updatedAt=b.updatedAt>a.updatedAt?b.updatedAt:a.updatedAt,d.compacted=a.compacted||b.compacted,b.limit?d.limit=b.limit:delete d.limit,c&&b.title&&(d.title=b.title),d}async function bS(a,b,c){let d=T(a),e=V(d),f=[],g=S(),h=a=>{if(!c)return"own";let b=c.folders.map(b=>(function(a,b,c=process.platform){let d=a=>"win32"===c?a.toLowerCase():a,e=d(W(b.replace(/[\\/]+$/,""))),f=`${e}-`.slice(0,191);return d(a)===e?"own":!!d(a).startsWith(f)&&"maybe"})(g.basename(a),b,c.platform));return b.includes("own")?"own":!!b.includes("maybe")&&"maybe"},i=[],j=0;if(e){for(let a of(await bO(d.projects))){let b=await bN(a,a=>a.toLowerCase().endsWith(".jsonl"));j+=b.length;let c=h(a);"own"===c?f.push(...b):"maybe"===c&&i.push(...b)}c&&i.length>0&&f.push(...await bK(i,c,bT))}let k={agent:"claude-cli",path:d.projects,found:e,conversations:j},l=[];for(let a of bJ(f,b))try{let b=await bP(a),c={path:a.path,sessionId:g.basename(a.path,".jsonl"),bytes:a.bytes,mtime:new Date(a.mtimeMs).toISOString()};if(b.whole){let a=await aM(b.head,c);l.push(bQ(a,a.turnCount))}else{let a=await aM(b.head,c),d=await aM(b.tail,c),e=b.tail.includes('"custom-title"')||b.tail.includes('"ai-title"');l.push(bR(a,d,e))}}catch{}return{report:k,refs:l}}function bT(a){for(let b of a.split("\n")){let a;if(!b.includes('"cwd"'))continue;try{a=JSON.parse(b)}catch{continue}if(!aw(a)||"user"!==a.type&&"assistant"!==a.type)continue;let c=ax(a.cwd);if(c)return c}}async function bU(a,b,c){let d=Y(a),e=$(d),f=[];if(e)for(let a of(await bO(d.sessions)))for(let b of(await bO(a)))for(let a of(await bO(b)))f.push(...await bN(a,a=>void 0!==ab(a)));let g=new Map,h=S();for(let a of f){let b=ab(h.basename(a.path))??a.path,c=g.get(b);(!c||c.mtimeMs<a.mtimeMs)&&g.set(b,a)}let i=[...g.values()],j={agent:"codex-cli",path:d.sessions,found:e,conversations:i.length},k=[],l=bJ(c?await bK(i,c,bW):i,b),m=l.length>0?await aX(d.index):new Map;for(let a of l)try{let b=await bP(a),c={path:a.path,bytes:a.bytes,mtime:new Date(a.mtimeMs).toISOString(),names:m};if(b.whole){let a=aU(b.head,c);if(bV(b.head))continue;k.push(bQ(a,a.turnCount))}else{if(bV(b.head))continue;let a=aU(b.head,c),d=aU(b.tail,c),e=bR(a,d,!1);e.compacted=e.compacted||b.tail.includes('"type":"compacted"'),k.push(e)}}catch{}return{report:j,refs:k}}function bV(a){let b=bM(a)?.payload;if(!aw(b))return!1;let c=b.source;return aw(c)&&void 0!==c.subagent}function bW(a){if(bV(a))return null;let b=bM(a);if(b&&"session_meta"===b.type&&aw(b.payload))return ax(b.payload.cwd)}function bX(a){let b=S();return b.basename(b.dirname(b.dirname(a.path)))}async function bY(a,b,c){let d=am(a),e=R(d.tmp),f=[];if(e)for(let a of(await bO(d.tmp))){let b=S().join(a,"chats");f.push(...await bN(b,a=>/^session-.*\.jsonl?$/i.test(a)))}let g={agent:"gemini-cli",path:d.tmp,found:e,conversations:f.length},h=[],i=f.length>0?aq(d,[...a.cwds??[],...c?.folders??[]]):new Map,j=bJ(c?f.filter(a=>{let b=i.get(bX(a));return void 0!==b&&bG(c,b)}):f,b),k=new Set;for(let a of j)try{let b,c=await bP(a),d=bX(a),e=a.path.toLowerCase().endsWith(".json"),f=i.get(d),g={path:a.path,bytes:a.bytes,mtime:new Date(a.mtimeMs).toISOString(),legacy:e,...f?{cwd:f}:{}};if(c.whole){let a=aZ(c.head,g);b=bQ(a,a.turnCount)}else{if(e)continue;b=bR(aZ(c.head,g),aZ(c.tail,g),c.tail.includes('"$set"'))}if(k.has(b.sessionId))continue;k.add(b.sessionId),h.push(b)}catch{}return{report:g,refs:h}}async function bZ(a,b,c){let d,e=ad(a),f=af(e),g={agent:"opencode",path:e.db,found:f,conversations:0};if(!f)return{report:g,refs:[]};let h=await a0(a.sqlite?{sqlite:a.sqlite}:{});if(h)try{d=h.open(e.db)}catch{d=void 0}if(d)try{return function(a,b,c,d,e){let f=a.all("SELECT id, directory, title, time_created, time_updated FROM session WHERE parent_id IS NULL ORDER BY time_updated DESC");c.conversations=f.length;let g=[];for(let c of(e?f.filter(a=>bG(e,ax(a.directory)??"")):f).slice(0,d)){let d=ax(c.id);if(!d)continue;let e=(ay(a.all("SELECT COALESCE(SUM(LENGTH(data)), 0) AS b FROM message WHERE session_id = ?",d)[0]?.b)??0)+(ay(a.all("SELECT COALESCE(SUM(LENGTH(data)), 0) AS b FROM part WHERE session_id = ?",d)[0]?.b)??0),f=a.all('SELECT 1 AS one FROM part WHERE session_id = ? AND data LIKE \'%"type":"compaction"%\' LIMIT 1',d).length>0,h=a.all("SELECT data, time_created FROM message WHERE session_id = ? ORDER BY time_created DESC, id DESC LIMIT 1",d)[0],i=b$(b,d,c,null,e,f),j=h?function(a){let b=a.data;if("string"==typeof b)try{b=JSON.parse(b)}catch{return}if(!aw(b)||"assistant"!==b.role||!aw(b.error))return;let c=ay((aw(b.error.data)?b.error.data:{}).statusCode);if(429===c||402===c)return{at:aB((aw(b.time)?b.time:{}).created)??aB(a.time_created)??"",kind:429===c?"rate-limit":"credits"}}(h):void 0;j&&(i.limit=j),g.push(i)}return{report:c,refs:g}}(d,e.db,g,b,c)}finally{d.close()}return b0(e.storage,e.db,g,b,c)}function b$(a,b,c,d,e,f){let g={id:`opencode:${b}`,agent:"opencode",sessionId:b,handle:C("opencode",b),path:a,cwd:ax(c.directory)??"",updatedAt:aB(c.time_updated)??new Date(0).toISOString(),turnCount:d,bytes:e,compacted:f},h=ax(c.title);h&&(g.title=h);let i=aB(c.time_created);return i&&(g.startedAt=i),g}function b_(a){let b;try{b=JSON.parse(a)}catch{return}if(aw(b))return ax(b.parentID)?null:ax(b.directory)}async function b0(a,b,c,d,e){let f=S(),g=[];for(let b of(await bO(f.join(a,"session"))))g.push(...await bN(b,a=>a.startsWith("ses_")&&a.endsWith(".json")));c.conversations=g.length;let h=[];for(let c of bJ(e?await bK(g,e,b_):g,d))try{let d=await bP(c);if(!d.whole)continue;let e=JSON.parse(d.head);if(!aw(e)||ax(e.parentID))continue;let g=ax(e.id)??f.basename(c.path,".json"),i=aw(e.time)?e.time:{},j=await bN(f.join(a,"message",g),a=>a.endsWith(".json")),k={directory:e.directory,title:e.title,time_created:i.created,time_updated:i.updated};h.push(b$(b,g,k,null,j.reduce((a,b)=>a+b.bytes,0),!1))}catch{}return{report:c,refs:h}}function b1(a){let[b]=a;if(!b)return{newest:void 0,rival:void 0};let c=Date.parse(b.updatedAt),d=a.slice(1).find(a=>a.agent!==b.agent&&c-Date.parse(a.updatedAt)<36e5);return{newest:b,rival:d}}async function b2(a){let b=await b4(a);if("document"===b.kind)return b7(a,b.digest,b.now,b.keepTurns);switch(b.target){case"claude-cli":return bz(b.request);case"codex-cli":return bA(b.request);case"opencode":return bD(b.request);case"gemini-cli":return bE(b.request);default:throw new d.ny("unsupported-target",b.target)}}async function b3(a){await b4(a)}async function b4(a){let b=a.options??{},c=P(b),{conversation:e,target:f,tier:g}=a;if(!u(f))throw new d.ny("unsupported-target",String(f));if(e.bytes>0x4000000)throw new d.ny("too-large",String(e.bytes));let h=a.now??new Date,j=a.random??E,k=Math.max(1,Math.floor(a.keepTurns??12)),l=a.digest??bj(e);if(!J(f)||"brief"===g)return{kind:"document",digest:l,now:h,keepTurns:k};if(f===e.agent&&"full"===g&&!a.targetHome)throw new d.ny("same-store",f);let m=await b5(f,a.targetHome,b,e,g),n=a.cwd??e.cwd;if(!n)throw new d.ny("cwd-missing");let o=await (0,i.stat)(n).catch(()=>void 0);if(!o?.isDirectory())throw new d.ny("cwd-missing",n);let p="compact"===g?function(a,b,c={}){let d=Math.max(1,Math.floor(c.keepTurns??12)),e=a.turns,f=Math.max(0,e.length-d);for(;f<e.length&&e[f].parts.every(a=>"summary"===a.kind);)f+=1;let g=e[f];f>0&&g&&"user"===g.role&&g.parts.some(a=>"tool_result"===a.kind)&&(f-=1);let h=e.slice(f).map(a=>({...a,parts:[...a.parts]})),i={role:"user",parts:[{kind:"summary",text:bq(b)}]},j=h[0]?.at??a.startedAt;j&&(i.at=j);let k=[i,...h];return{...a,turns:k,turnCount:k.length,compacted:!0,hash:av(k),compactions:[...a.compactions],dropped:{...a.dropped}}}(e,l,{keepTurns:k}):e;if(!p.turns.some(a=>a.parts.some(a=>"tool_call"===a.kind||("tool_result"===a.kind?a.output.length>0:a.text.trim().length>0))))throw new d.ny("nothing-to-carry");let q={conversation:p,tier:g,root:m,cwd:n,title:l.title,now:h,random:j,platform:c.platform,surface:a.surface??"cli"},r=a.gitBranch??e.gitBranch;return r&&(q.gitBranch=r),{kind:"native",target:f,request:q}}async function b5(a,b,c,e,f){let g=P(c);if(void 0!==b){if("win32"===g.platform?!h.win32.isAbsolute(b):!h.posix.isAbsolute(b))throw new d.ny("target-store-missing","must be absolute");if(!function(a,b,c){switch(a){case"claude-cli":return{exists:V(U(b,c))};case"codex-cli":return{exists:$(Z(b,c))};case"opencode":return{exists:af(ae(b,c))};case"gemini-cli":return{exists:R(an(b,c).tmp)};default:throw new d.ny("unsupported-target",a)}}(a,b,c).exists)throw new d.ny("target-store-missing",b);if(a===e.agent&&"full"===f){let e=b6(a,c),[f,h]=await Promise.all([ah(b),ah(e)]);if(ak(f,h,g.platform))throw new d.ny("same-store",b)}return b}let i=b6(a,c);if(!R(i))throw new d.ny("target-store-missing",i);return i}function b6(a,b){switch(a){case"claude-cli":return T(b).root;case"codex-cli":return Y(b).root;case"opencode":return ad(b).root;case"gemini-cli":return am(b).root;default:throw new d.ny("unsupported-target",a)}}async function b7(a,b,c,d){let{conversation:e,target:f}=a,g=new br,h=function(a,b,c={}){let d=c.now??new Date,e=c.redactor??new br,f=Math.max(0,Math.floor(c.keepTurns??12)),g=f>0?a.turns.slice(-f):[],h=[au(a.agent,a.sessionId,"brief",d),"",e.text(bq(b)).trimEnd(),""];if(g.length>0)for(let b of(h.push(`## Last turns (${s[a.agent]})`,""),g))h.push(...function(a,b){let c="user"===a.role?"User":"Assistant",d=a.parts.map(a=>"text"===a.kind||"summary"===a.kind?a.text:`\`\`\`
|
|
14
14
|
${ar(a)}
|
|
15
15
|
\`\`\``).join("\n\n");return[`### ${c}`,"",b.text(d).trimEnd()]}(b,e),"");return h.push("---","","This document was written by panoma from a conversation kept by another agent. Continue the work from here; the original transcript was not modified."),`${h.join("\n")}
|
|
16
|
-
`}(e,b,{keepTurns:d,now:c,redactor:g}),i=`${e.agent}-${e.handle}-${c.toISOString().slice(0,10)}`,k=a.out??(0,j.iu)("handoff",`${i}.md`),l=await bx(k,h);return{agent:f,surface:a.surface??"cli",sessionId:i,path:k,resume:void 0,resumeInApp:void 0,steps:[],fidelity:G[f],provenance:{sourceAgent:e.agent,sourceSessionId:e.sessionId,sourceHash:e.hash,tier:"brief",at:c.toISOString(),by:"panoma"},turns:Math.min(d,e.turns.length),bytes:l,dropped:{...e.dropped,secrets:e.dropped.secrets+g.count}}}},79488:(a,b,c)=>{c.d(b,{Df:()=>j,eD:()=>i,jF:()=>h,st:()=>l});var d=c(49256),e=c(2735),f=c(28345);let g={"invalid-id":400,"cwd-missing":400,"target-store-missing":400,"conversation-not-found":404,"store-missing":404,"ambiguous-id":409,"same-store":409,"too-large":413,"import-command-missing":501,"unsupported-target":501};function h(a,b={}){let c=(0,e.Kl)(a),d=a?.code,i=c.code?c:"string"==typeof d?(0,e.Kl)((0,e.zA)(a)):{code:null,detail:a instanceof Error?a.message:void 0},j=b.headers?{headers:b.headers}:{};if(!i.code)return Response.json({error:"handoff-failed",...i.detail?{detail:(0,f.i)(i.detail)}:{}},{status:500,...j});let k=b.hints?.[i.code];return Response.json({error:i.code,...i.detail?{detail:(0,f.i)(i.detail)}:{},...k?{hint:k}:{}},{status:g[i.code]??500,...j})}async function i(a,b){let c=await Promise.all(b.map(async a=>({entry:a,root:await (0,d.PX)(a.root)})));return function(a,b,c=process.platform){let e;for(let f of b)(0,d.xe)(a,f.root,c)&&(!e||f.root.length>e.root.length)&&(e=f);return e}(await (0,d.PX)(a),c)?.entry}function j(a,b,c,e="cli"){if(!(0,d.TU)(a)||!(0,d.$6)(a))return null;let f=(0,d.TM)(a,b,c)?.line??null;return"app"===e?(0,d.q_)(a,b,c)?.line??f:f}let k=/^(?:claude:\/\/resume\?session=|codex:\/\/threads\/)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function l(a){return k.test(a)}},81033:(a,b,c)=>{c.d(b,{Kl:()=>f,ny:()=>e,zA:()=>h});var d=new Set(["store-missing","conversation-not-found","ambiguous-id","invalid-id","unreadable-transcript","unsupported-target","target-store-missing","cwd-missing","write-failed","import-command-missing","import-command-failed","bundle-invalid","too-large","nothing-to-carry","same-store","no-space-left","permission-denied","read-only-disk","disk-error"]),e=class extends Error{constructor(a,b,c){super(b?`${a}: ${b}`:a,c),this.code=a,this.detail=b,this.name="HandoffFault"}};function f(a){let b=a instanceof Error?a.message:"string"==typeof a?a:"",c=b.indexOf(": "),e=-1===c?b:b.slice(0,c);return d.has(e)?-1===c?{code:e}:{code:e,detail:b.slice(c+2)}:{code:null,...b?{detail:b}:{}}}var g={ENOSPC:"no-space-left",EDQUOT:"no-space-left",EACCES:"permission-denied",EPERM:"permission-denied",EROFS:"read-only-disk",EMFILE:"disk-error",ENFILE:"disk-error",ELOOP:"disk-error",EIO:"disk-error"};function h(a,b="disk-error"){if(a instanceof e)return a;let c=a?.code;return"string"==typeof c&&g[c]?new e(g[c],c,{cause:a}):new e(b,a instanceof Error?a.message:"string"==typeof a?a:void 0,{cause:a})}}
|
|
16
|
+
`}(e,b,{keepTurns:d,now:c,redactor:g}),i=`${e.agent}-${e.handle}-${c.toISOString().slice(0,10)}`,k=a.out??(0,j.iu)("handoff",`${i}.md`),l=await bx(k,h);return{agent:f,surface:a.surface??"cli",sessionId:i,path:k,resume:void 0,resumeInApp:void 0,steps:[],fidelity:G[f],provenance:{sourceAgent:e.agent,sourceSessionId:e.sessionId,sourceHash:e.hash,tier:"brief",at:c.toISOString(),by:"panoma"},turns:Math.min(d,e.turns.length),bytes:l,dropped:{...e.dropped,secrets:e.dropped.secrets+g.count}}}},79488:(a,b,c)=>{c.d(b,{Df:()=>j,eD:()=>i,jF:()=>h,st:()=>l});var d=c(49256),e=c(2735),f=c(28345);let g={"invalid-id":400,"cwd-missing":400,"target-store-missing":400,"conversation-not-found":404,"store-missing":404,"ambiguous-id":409,"same-store":409,"too-large":413,"import-command-missing":501,"unsupported-target":501};function h(a,b={}){let c=(0,e.Kl)(a),d=a?.code,i=c.code?c:"string"==typeof d?(0,e.Kl)((0,e.zA)(a)):{code:null,detail:a instanceof Error?a.message:void 0},j=b.headers?{headers:b.headers}:{};if(!i.code)return Response.json({error:"handoff-failed",...i.detail?{detail:(0,f.i)(i.detail)}:{}},{status:500,...j});let k=b.hints?.[i.code];return Response.json({error:i.code,...i.detail?{detail:(0,f.i)(i.detail)}:{},...k?{hint:k}:{}},{status:g[i.code]??500,...j})}async function i(a,b){let c=await Promise.all(b.map(async a=>({entry:a,root:await (0,d.PX)(a.root)})));return function(a,b,c=process.platform){let e;for(let f of b)(0,d.xe)(a,f.root,c)&&(!e||f.root.length>e.root.length)&&(e=f);return e}(await (0,d.PX)(a),c)?.entry}function j(a,b,c,e="cli"){if(!(0,d.TU)(a)||!(0,d.$6)(a))return null;let f=(0,d.TM)(a,b,c)?.line??null;return"app"===e?(0,d.q_)(a,b,c)?.line??f:f}let k=/^(?:claude:\/\/resume\?session=|codex:\/\/threads\/)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function l(a){return k.test(a)}},81033:(a,b,c)=>{c.d(b,{Kl:()=>f,ny:()=>e,zA:()=>h});var d=new Set(["store-missing","conversation-not-found","ambiguous-id","invalid-id","unreadable-transcript","unsupported-target","target-store-missing","cwd-missing","write-failed","import-command-missing","import-command-failed","bundle-invalid","too-large","nothing-to-carry","same-store","no-space-left","permission-denied","read-only-disk","disk-error"]),e=class extends Error{constructor(a,b,c){super(b?`${a}: ${b}`:a,c),this.code=a,this.detail=b,this.name="HandoffFault"}};function f(a){let b=a instanceof Error?a.message:"string"==typeof a?a:"",c=b.indexOf(": "),e=-1===c?b:b.slice(0,c);return d.has(e)?-1===c?{code:e}:{code:e,detail:b.slice(c+2)}:{code:null,...b?{detail:b}:{}}}var g={ENOSPC:"no-space-left",EDQUOT:"no-space-left",EACCES:"permission-denied",EPERM:"permission-denied",EROFS:"read-only-disk",EMFILE:"disk-error",ENFILE:"disk-error",ELOOP:"disk-error",EIO:"disk-error"};function h(a,b="disk-error"){if(a instanceof e)return a;let c=a?.code;return"string"==typeof c&&g[c]?new e(g[c],c,{cause:a}):new e(b,a instanceof Error?a.message:"string"==typeof a?a:void 0,{cause:a})}}};
|
|
@@ -19,6 +19,9 @@
|
|
|
19
19
|
"/api/disk": {
|
|
20
20
|
"maxDuration": 900
|
|
21
21
|
},
|
|
22
|
+
"/api/enrich": {
|
|
23
|
+
"maxDuration": 300
|
|
24
|
+
},
|
|
22
25
|
"/api/handoff/digest": {
|
|
23
26
|
"maxDuration": 120
|
|
24
27
|
},
|
|
@@ -28,24 +31,21 @@
|
|
|
28
31
|
"/api/roots": {
|
|
29
32
|
"maxDuration": 300
|
|
30
33
|
},
|
|
31
|
-
"/api/runs/[id]": {
|
|
32
|
-
"maxDuration": 120
|
|
33
|
-
},
|
|
34
34
|
"/api/runs": {
|
|
35
35
|
"maxDuration": 900
|
|
36
36
|
},
|
|
37
37
|
"/api/search": {
|
|
38
38
|
"maxDuration": 120
|
|
39
39
|
},
|
|
40
|
+
"/api/runs/[id]": {
|
|
41
|
+
"maxDuration": 120
|
|
42
|
+
},
|
|
40
43
|
"/api/secrets": {
|
|
41
44
|
"maxDuration": 300
|
|
42
45
|
},
|
|
43
46
|
"/api/twin/classify": {
|
|
44
47
|
"maxDuration": 300
|
|
45
48
|
},
|
|
46
|
-
"/api/enrich": {
|
|
47
|
-
"maxDuration": 300
|
|
48
|
-
},
|
|
49
49
|
"/api/twin/distill": {
|
|
50
50
|
"maxDuration": 600
|
|
51
51
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:["static/chunks/webpack-a286bbf864e6618a.js","static/chunks/bed79bbe-48e9828a39c35383.js","static/chunks/6823-e1004a1b90458d2d.js","static/chunks/main-app-
|
|
1
|
+
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:["static/chunks/webpack-a286bbf864e6618a.js","static/chunks/bed79bbe-48e9828a39c35383.js","static/chunks/6823-e1004a1b90458d2d.js","static/chunks/main-app-bde594e3a17b5c95.js"],rootMainFilesTree:{},pages:{"/_app":["static/chunks/webpack-a286bbf864e6618a.js","static/chunks/framework-d5e4b15967daa90f.js","static/chunks/main-8ce36a8e89504138.js","static/chunks/pages/_app-9697265615ef43a0.js"],"/_error":["static/chunks/webpack-a286bbf864e6618a.js","static/chunks/framework-d5e4b15967daa90f.js","static/chunks/main-8ce36a8e89504138.js","static/chunks/pages/_error-ddfe0e0bd29e2283.js"]},ampFirstPages:[]},globalThis.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"];
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
"wasm": [],
|
|
19
19
|
"assets": [],
|
|
20
20
|
"env": {
|
|
21
|
-
"__NEXT_BUILD_ID": "
|
|
22
|
-
"NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "
|
|
23
|
-
"__NEXT_PREVIEW_MODE_ID": "
|
|
24
|
-
"__NEXT_PREVIEW_MODE_SIGNING_KEY": "
|
|
25
|
-
"__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "
|
|
21
|
+
"__NEXT_BUILD_ID": "goMZpqW7N7YNi-BWPnlZ_",
|
|
22
|
+
"NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "kDrUdQs8XpiEnJHSgN8ju5XrcFUfEfavRskis37ftEM=",
|
|
23
|
+
"__NEXT_PREVIEW_MODE_ID": "1e29d54883c923bc4563ae1dc81d46dc",
|
|
24
|
+
"__NEXT_PREVIEW_MODE_SIGNING_KEY": "e0b074636899d47b75fa7078a0e1e71ad24a0824153e55ee2b92257d3af7f259",
|
|
25
|
+
"__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "9945b909b11931b11a0b19c958f6a8102f2ae2d192561b43963414dc9502f793"
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
},
|