@tasselx/pi-web 1.3.1 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +22 -20
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.js +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +20 -6
- package/.next/server/app/_global-error/page.js +2 -2
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
- package/.next/server/app/api/agent/[id]/events/route.js +2 -2
- package/.next/server/app/api/agent/[id]/lease/route.js +1 -1
- package/.next/server/app/api/agent/[id]/route.js +1 -1
- package/.next/server/app/api/agent/debug/route.js +2 -2
- package/.next/server/app/api/agent/new/route.js +1 -1
- package/.next/server/app/api/agent/running/route.js +1 -1
- package/.next/server/app/api/app-update/route.js +1 -1
- package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/login/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/providers/route.js +1 -1
- package/.next/server/app/api/cache-miss-notices/route.js +1 -1
- package/.next/server/app/api/cwd/browse/route.js +1 -1
- package/.next/server/app/api/cwd/pick/route.js +1 -1
- package/.next/server/app/api/cwd/validate/route.js +1 -1
- package/.next/server/app/api/default-cwd/route.js +1 -1
- package/.next/server/app/api/file-index/route.js +1 -1
- package/.next/server/app/api/files/[...path]/route.js +1 -1
- package/.next/server/app/api/git/diff/route.js +2 -2
- package/.next/server/app/api/git/status/route.js +1 -1
- package/.next/server/app/api/home/route.js +1 -1
- package/.next/server/app/api/mcp/route.js +1 -1
- package/.next/server/app/api/mcp/sign-in/[flowId]/route.js +1 -1
- package/.next/server/app/api/mcp/sign-in/route.js +1 -1
- package/.next/server/app/api/mcp/test/route.js +1 -1
- package/.next/server/app/api/models/enabled/route.js +1 -1
- package/.next/server/app/api/models/enabled/route.js.nft.json +1 -1
- package/.next/server/app/api/models/refresh/route.js +1 -1
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/models-config/catalog/route.js +1 -1
- package/.next/server/app/api/models-config/discover/route.js +1 -1
- package/.next/server/app/api/models-config/route.js +1 -1
- package/.next/server/app/api/models-config/test/route.js +1 -1
- package/.next/server/app/api/open-in-explorer/route.js +1 -1
- package/.next/server/app/api/plugins/check/route.js +1 -1
- package/.next/server/app/api/plugins/route.js +1 -1
- package/.next/server/app/api/project-trust/route.js +1 -1
- package/.next/server/app/api/provider-usage/query/route.js +1 -1
- package/.next/server/app/api/push/config/route.js +1 -1
- package/.next/server/app/api/push/subscribe/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/auto-name/route.js +2 -2
- package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js +14 -4
- package/.next/server/app/api/sessions/[id]/fork/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/share/route.js +55 -0
- package/.next/server/app/api/sessions/[id]/share/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/share/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
- package/.next/server/app/api/sessions/delete/route.js +1 -1
- package/.next/server/app/api/sessions/import/pick/route.js +1 -0
- package/.next/server/app/api/sessions/import/pick/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/import/pick/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/import/route.js +2 -0
- package/.next/server/app/api/{models/default → sessions/import}/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/import/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/search/route.js +1 -1
- package/.next/server/app/api/sessions/stats/route.js +1 -1
- package/.next/server/app/api/sessions/ui-state/route.js +1 -1
- package/.next/server/app/api/skills/check/route.js +1 -1
- package/.next/server/app/api/skills/content/route.js +1 -1
- package/.next/server/app/api/skills/install/route.js +1 -1
- package/.next/server/app/api/skills/route.js +1 -1
- package/.next/server/app/api/skills/search/route.js +1 -1
- package/.next/server/app/api/skills/update/route.js +1 -1
- package/.next/server/app/api/sleep-inhibit/route.js +1 -1
- package/.next/server/app/api/subagents/[id]/route.js +1 -1
- package/.next/server/app/api/subagents/profiles/route.js +1 -1
- package/.next/server/app/api/subagents/settings/route.js +1 -1
- package/.next/server/app/api/terminal/[id]/events/route.js +1 -1
- package/.next/server/app/api/terminal/[id]/route.js +1 -1
- package/.next/server/app/api/terminal/route.js +1 -1
- package/.next/server/app/api/tools/settings/route.js +1 -1
- package/.next/server/app/api/web-auth/route.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +5 -5
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +5 -5
- package/.next/server/app/index.segments/_full.segment.rsc +5 -5
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login/page.js +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +1 -1
- package/.next/server/app/login.rsc +3 -3
- package/.next/server/app/login.segments/_full.segment.rsc +3 -3
- package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/.next/server/app/page.js +12 -14
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +22 -20
- package/.next/server/chunks/2243.js +1 -1
- package/.next/server/chunks/7979.js +1 -1
- package/.next/server/functions-config-manifest.json +1 -0
- package/.next/server/instrumentation.js.nft.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware.js +2 -2
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/preview-props.json +3 -3
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/R5PN1Mg8bAb01xwQ2DM9k/_buildManifest.js +1 -0
- package/.next/static/chunks/1278-8eaba54dabdd20f4.js +1 -0
- package/.next/static/chunks/app/_global-error/page-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/bash-output/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/events/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/lease/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/agent/debug/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/agent/running/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/app-update/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/auth/login/[provider]/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/auth/providers/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/cache-miss-notices/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/cwd/browse/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/cwd/pick/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/cwd/validate/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/default-cwd/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/file-index/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/files/[...path]/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/git/diff/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/git/status/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/home/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/mcp/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/mcp/sign-in/[flowId]/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/mcp/sign-in/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/mcp/test/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/models/enabled/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/models/refresh/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/models/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/models-config/catalog/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/models-config/discover/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/models-config/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/models-config/test/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/open-in-explorer/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/plugins/check/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/project-trust/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/provider-usage/query/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/push/config/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/push/subscribe/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/context/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/fork/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/share/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/state/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/sessions/delete/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/sessions/import/pick/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/sessions/import/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/sessions/search/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/sessions/stats/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/sessions/ui-state/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/skills/check/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/skills/content/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/skills/install/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/skills/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/skills/search/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/skills/update/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/sleep-inhibit/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/subagents/[id]/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/subagents/profiles/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/subagents/settings/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/terminal/[id]/events/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/terminal/[id]/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/terminal/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/tools/settings/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/web-auth/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/{layout-e6046f8c0bc1768d.js → layout-5f83006eeeda0674.js} +1 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/app/page-5c9e0f41ea07cfdd.js +1129 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-372b1b76af46907f.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-372b1b76af46907f.js +1 -0
- package/.next/trace +183 -61
- package/.next/trace-build +1 -1
- package/.next/types/app/api/sessions/[id]/share/route.ts +355 -0
- package/.next/types/app/api/sessions/import/pick/route.ts +355 -0
- package/.next/types/app/api/{models/default → sessions/import}/route.ts +3 -3
- package/.next/types/routes.d.ts +4 -2
- package/.next/types/validator.ts +30 -10
- package/package.json +2 -2
- package/.next/server/app/api/models/default/route.js +0 -1
- package/.next/server/app/api/models/default/route_client-reference-manifest.js +0 -1
- package/.next/server/chunks/27.js +0 -1
- package/.next/static/3au4SIYjchaubI1HowdKE/_buildManifest.js +0 -1
- package/.next/static/chunks/1278-7900e52add02a581.js +0 -1
- package/.next/static/chunks/app/_global-error/page-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/bash-output/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/events/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/lease/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/agent/debug/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/agent/new/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/agent/running/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/app-update/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/auth/login/[provider]/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/auth/providers/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/cache-miss-notices/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/cwd/browse/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/cwd/pick/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/cwd/validate/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/default-cwd/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/file-index/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/files/[...path]/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/git/diff/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/git/status/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/home/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/mcp/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/mcp/sign-in/[flowId]/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/mcp/sign-in/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/mcp/test/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/models/default/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/models/enabled/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/models/refresh/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/models/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/models-config/catalog/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/models-config/discover/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/models-config/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/models-config/test/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/open-in-explorer/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/plugins/check/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/plugins/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/project-trust/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/provider-usage/query/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/push/config/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/push/subscribe/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/context/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/export/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/fork/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/state/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/sessions/delete/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/sessions/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/sessions/search/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/sessions/stats/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/sessions/ui-state/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/skills/check/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/skills/content/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/skills/install/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/skills/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/skills/search/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/skills/update/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/sleep-inhibit/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/subagents/[id]/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/subagents/profiles/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/subagents/settings/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/terminal/[id]/events/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/terminal/[id]/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/terminal/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/tools/settings/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/web-auth/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/app/page-203e16d5e1138523.js +0 -1131
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-ff5f37ea6085322e.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-ff5f37ea6085322e.js +0 -1
- /package/.next/static/{3au4SIYjchaubI1HowdKE → R5PN1Mg8bAb01xwQ2DM9k}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=6709,a.ids=[6709],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},6004:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>j});var e=c(23211),f=c(40402),g=c(56429),h=c(59506),i=a([f,g,h]);async function j(a,{params:b}){let{id:c}=await b,d=new URL(a.url),i=d.searchParams.get("leafId")??void 0,k=d.searchParams.has("deferThinking"),l=d.searchParams.has("deferMedia"),m=Number(d.searchParams.get("tail")),n=Number.isFinite(m)&&m>0?Math.min(m,1e3):50,o=d.searchParams.get("before")??void 0;try{let a=(0,g.hH)(c),b=a?.isAlive()?a:void 0,d=b?null:await (0,f.os)(c);if(!b&&!d)return e.NextResponse.json({error:"Session not found"},{status:404});let j=b?.inner.sessionManager??(0,f.G1)(d),m=j.getEntries(),p=(0,h.Kp)({entries:m,cwd:j.getHeader()?.cwd??"",leafId:i??j.getLeafId(),models:b?.inner.modelRuntime}),q=(0,h.dt)((0,f.Uv)(m,o??i,{deferThinking:k,deferToolResultImages:l,tail:n,excludeLeaf:!!o,sessionId:c}),p);return e.NextResponse.json({context:q,tail:n,before:o??null})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}[f,g,h]=i.then?(await i)():i,d()}catch(a){d(a)}})},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{a.exports=require("assert")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},28802:a=>{a.exports=import("@earendil-works/pi-ai")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29862:a=>{a.exports=import("@earendil-works/pi-tui")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},
|
|
1
|
+
"use strict";(()=>{var a={};a.id=6709,a.ids=[6709],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},6004:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>j});var e=c(23211),f=c(40402),g=c(56429),h=c(59506),i=a([f,g,h]);async function j(a,{params:b}){let{id:c}=await b,d=new URL(a.url),i=d.searchParams.get("leafId")??void 0,k=d.searchParams.has("deferThinking"),l=d.searchParams.has("deferMedia"),m=Number(d.searchParams.get("tail")),n=Number.isFinite(m)&&m>0?Math.min(m,1e3):50,o=d.searchParams.get("before")??void 0;try{let a=(0,g.hH)(c),b=a?.isAlive()?a:void 0,d=b?null:await (0,f.os)(c);if(!b&&!d)return e.NextResponse.json({error:"Session not found"},{status:404});let j=b?.inner.sessionManager??(0,f.G1)(d),m=j.getEntries(),p=(0,h.Kp)({entries:m,cwd:j.getHeader()?.cwd??"",leafId:i??j.getLeafId(),models:b?.inner.modelRuntime}),q=(0,h.dt)((0,f.Uv)(m,o??i,{deferThinking:k,deferToolResultImages:l,tail:n,excludeLeaf:!!o,sessionId:c}),p);return e.NextResponse.json({context:q,tail:n,before:o??null})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}[f,g,h]=i.then?(await i)():i,d()}catch(a){d(a)}})},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{a.exports=require("assert")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},28802:a=>{a.exports=import("@earendil-works/pi-ai")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29862:a=>{a.exports=import("@earendil-works/pi-tui")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46574:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/sessions/[id]/context/route",pathname:"/api/sessions/[id]/context",filename:"route",bundlePath:"app/api/sessions/[id]/context/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/tassel/pi-web/app/api/sessions/[id]/context/route.ts",nextConfigOutput:"",userland:()=>c(6004),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/sessions/[id]/context/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},48161:a=>{a.exports=require("node:os")},51181:a=>{a.exports=require("web-push")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},81115:a=>{a.exports=require("constants")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},94735:a=>{a.exports=require("events")},98995:a=>{a.exports=require("node:module")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,426,974,5582,2498,3757,2650,2243,6216,6429],()=>b(b.s=46574));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=8429,a.ids=[8429],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12180:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>h});var e=c(23211),f=c(40402),g=a([f]);async function h(a,{params:b}){let{id:c,entryId:d}=await b,g=new URL(a.url).searchParams.get("blockIndex"),i=null===g?0/0:Number(g);if(!Number.isSafeInteger(i)||i<0)return e.NextResponse.json({error:"Valid blockIndex is required"},{status:400});try{let a=await (0,f.os)(c);if(!a)return e.NextResponse.json({error:"Session not found"},{status:404});let b=(0,f.DK)(a).find(a=>a.id===d);if(!b||"message"!==b.type||"assistant"!==b.message.role)return e.NextResponse.json({error:"Assistant message not found"},{status:404});let g=b.message.content[i];if(!g||"thinking"!==g.type)return e.NextResponse.json({error:"Thinking block not found"},{status:404});return e.NextResponse.json({thinking:g.thinking})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}f=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},
|
|
1
|
+
"use strict";(()=>{var a={};a.id=8429,a.ids=[8429],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12180:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>h});var e=c(23211),f=c(40402),g=a([f]);async function h(a,{params:b}){let{id:c,entryId:d}=await b,g=new URL(a.url).searchParams.get("blockIndex"),i=null===g?0/0:Number(g);if(!Number.isSafeInteger(i)||i<0)return e.NextResponse.json({error:"Valid blockIndex is required"},{status:400});try{let a=await (0,f.os)(c);if(!a)return e.NextResponse.json({error:"Session not found"},{status:404});let b=(0,f.DK)(a).find(a=>a.id===d);if(!b||"message"!==b.type||"assistant"!==b.message.role)return e.NextResponse.json({error:"Assistant message not found"},{status:404});let g=b.message.content[i];if(!g||"thinking"!==g.type)return e.NextResponse.json({error:"Thinking block not found"},{status:404});return e.NextResponse.json({thinking:g.thinking})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}f=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63198:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/sessions/[id]/entries/[entryId]/thinking/route",pathname:"/api/sessions/[id]/entries/[entryId]/thinking",filename:"route",bundlePath:"app/api/sessions/[id]/entries/[entryId]/thinking/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/tassel/pi-web/app/api/sessions/[id]/entries/[entryId]/thinking/route.ts",nextConfigOutput:"",userland:()=>c(12180),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/sessions/[id]/entries/[entryId]/thinking/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},73024:a=>{a.exports=require("node:fs")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,426,5582],()=>b(b.s=63198));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=8539,a.ids=[8539],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},88250:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>j});var e=c(23211),f=c(40402),g=c(79535),h=a([f]);function i(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}async function j(a,{params:b}){let{id:c,entryId:d}=await b,h=new URL(a.url).searchParams.get("blockIndex"),k=null===h?0/0:Number(h);if(!Number.isSafeInteger(k)||k<0)return e.NextResponse.json({error:"Valid blockIndex is required"},{status:400});try{var l;let a=await (0,f.os)(c);if(!a)return e.NextResponse.json({error:"Session not found"},{status:404});let b=(0,f.DK)(a).find(a=>a.id===d);if(!b||"message"!==b.type||"toolResult"!==b.message.role)return e.NextResponse.json({error:"Tool result not found"},{status:404});let h=(l=b.message.content[k],i(l)&&"image"===l.type?"string"==typeof l.data&&"string"==typeof l.mimeType?{data:l.data,mime:l.mimeType}:i(l.source)&&"base64"===l.source.type&&"string"==typeof l.source.data&&"string"==typeof l.source.media_type?{data:l.source.data,mime:l.source.media_type}:null:null);if(!h)return e.NextResponse.json({error:"Tool result image not found"},{status:404});if(!g.N.has(h.mime))return e.NextResponse.json({error:"Unsupported image type"},{status:415});let j=function(a){if(0===a.length||a.length>Math.ceil(4*g.c/3)+4||a.length%4!=0||!/^[A-Za-z0-9+/]*={0,2}$/.test(a))return null;let b=Buffer.from(a,"base64");return 0===b.length||b.length>g.c?null:new Uint8Array(b)}(h.data);if(!j)return e.NextResponse.json({error:"Invalid or oversized image data"},{status:413});let m=new ArrayBuffer(j.byteLength);return new Uint8Array(m).set(j),new Response(m,{headers:{"Content-Type":h.mime,"Content-Length":String(j.byteLength),"Cache-Control":"private, max-age=31536000, immutable","X-Content-Type-Options":"nosniff"}})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},91313:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/sessions/[id]/entries/[entryId]/tool-result-image/route",pathname:"/api/sessions/[id]/entries/[entryId]/tool-result-image",filename:"route",bundlePath:"app/api/sessions/[id]/entries/[entryId]/tool-result-image/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/tassel/pi-web/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.ts",nextConfigOutput:"",userland:()=>c(88250),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/sessions/[id]/entries/[entryId]/tool-result-image/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}}};var b=require("../../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,426,5582],()=>b(b.s=91313));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=8539,a.ids=[8539],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},47218:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/sessions/[id]/entries/[entryId]/tool-result-image/route",pathname:"/api/sessions/[id]/entries/[entryId]/tool-result-image",filename:"route",bundlePath:"app/api/sessions/[id]/entries/[entryId]/tool-result-image/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/tassel/pi-web/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.ts",nextConfigOutput:"",userland:()=>c(88250),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/sessions/[id]/entries/[entryId]/tool-result-image/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},88250:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>j});var e=c(23211),f=c(40402),g=c(79535),h=a([f]);function i(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}async function j(a,{params:b}){let{id:c,entryId:d}=await b,h=new URL(a.url).searchParams.get("blockIndex"),k=null===h?0/0:Number(h);if(!Number.isSafeInteger(k)||k<0)return e.NextResponse.json({error:"Valid blockIndex is required"},{status:400});try{var l;let a=await (0,f.os)(c);if(!a)return e.NextResponse.json({error:"Session not found"},{status:404});let b=(0,f.DK)(a).find(a=>a.id===d);if(!b||"message"!==b.type||"toolResult"!==b.message.role)return e.NextResponse.json({error:"Tool result not found"},{status:404});let h=(l=b.message.content[k],i(l)&&"image"===l.type?"string"==typeof l.data&&"string"==typeof l.mimeType?{data:l.data,mime:l.mimeType}:i(l.source)&&"base64"===l.source.type&&"string"==typeof l.source.data&&"string"==typeof l.source.media_type?{data:l.source.data,mime:l.source.media_type}:null:null);if(!h)return e.NextResponse.json({error:"Tool result image not found"},{status:404});if(!g.N.has(h.mime))return e.NextResponse.json({error:"Unsupported image type"},{status:415});let j=function(a){if(0===a.length||a.length>Math.ceil(4*g.c/3)+4||a.length%4!=0||!/^[A-Za-z0-9+/]*={0,2}$/.test(a))return null;let b=Buffer.from(a,"base64");return 0===b.length||b.length>g.c?null:new Uint8Array(b)}(h.data);if(!j)return e.NextResponse.json({error:"Invalid or oversized image data"},{status:413});let m=new ArrayBuffer(j.byteLength);return new Uint8Array(m).set(j),new Response(m,{headers:{"Content-Type":h.mime,"Content-Length":String(j.byteLength),"Cache-Control":"private, max-age=31536000, immutable","X-Content-Type-Options":"nosniff"}})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})}};var b=require("../../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,426,5582],()=>b(b.s=47218));module.exports=c})();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(()=>{var a={};a.id=2138,a.ids=[2138],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1932:a=>{"use strict";a.exports=require("url")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},34185:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/sessions/[id]/export/route",pathname:"/api/sessions/[id]/export",filename:"route",bundlePath:"app/api/sessions/[id]/export/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/tassel/pi-web/app/api/sessions/[id]/export/route.ts",nextConfigOutput:"",userland:()=>c(39421),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/sessions/[id]/export/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},39421:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>r,runtime:()=>t});var e=c(55511),f=c(79646),g=c(29021),h=c(21820),i=c(33873),j=c(28354),k=c(1932),l=c(23211),m=c(40402),n=a([m]);m=(n.then?(await n)():n)[0];let s=(0,j.promisify)(f.execFile),t="nodejs";async function o(){try{let{getPackageDir:a}=await Promise.resolve().then(c.bind(c,75430));return a()}catch{return null}}async function p(){let a=new Set,b=await o();b&&a.add((0,i.join)(b,"dist","cli.js"));try{let b;if("function"==typeof b){let c=await b("@earendil-works/pi-coding-agent");a.add((0,i.join)((0,i.dirname)((0,k.fileURLToPath)(c)),"cli.js"))}}catch{}for(let b of(a.add((0,i.join)(process.cwd(),"node_modules","@earendil-works","pi-coding-agent","dist","cli.js")),a))if((0,g.existsSync)(b))return b;return null}async function q(a,b){let d=await p();if(d)return void await s(process.execPath,[d,"--export",a,b],{cwd:process.cwd(),timeout:3e4,env:{...process.env,PI_OFFLINE:"1",PI_SKIP_VERSION_CHECK:"1"},maxBuffer:1048576});let e=await o();if(!e)throw Error("pi CLI not found");let f=(0,k.pathToFileURL)((0,i.join)(e,"dist","core","export-html","index.js")).href,{exportFromFile:g}=await c(79405)(f);await g(a,b)}async function r(a,{params:b}){let{id:c}=await b,d="1"===new URL(a.url).searchParams.get("inline");try{let a=await (0,m.os)(c);if(!a)return l.NextResponse.json({error:"Session not found"},{status:404});let b=(0,i.join)((0,h.tmpdir)(),"pi-web-export");(0,g.mkdirSync)(b,{recursive:!0});let n=(0,i.basename)(a,".jsonl"),o=`pi-session-${n}.html`,p=(0,i.join)(b,`${(0,e.randomUUID)()}.html`);try{var f,j,k;let b,c;await q(a,p);let e=(f=(f=(0,g.readFileSync)(p,"utf8")).replace(/\r\n/g,"\n"),f=(b=(a,b,c,d)=>{let e=c.replace(/\r\n/g,"\n"),f=d.replace(/\r\n/g,"\n"),g=a.split(e).length-1;if(1!==g)throw Error(`Failed to patch exported HTML: ${b} expected 1 match, found ${g}`);return a.replace(e,f)})(f,"sortChildren",` function sortChildren(node) {
|
|
1
|
+
(()=>{var a={};a.id=2138,a.ids=[2138],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},33873:a=>{"use strict";a.exports=require("path")},34019:(a,b,c)=>{"use strict";c.d(b,{Bd:()=>i,Ce:()=>h,Us:()=>g,Ux:()=>k,Vr:()=>m,YU:()=>l});var d=c(79646),e=c(33873),f=c.n(e);function g(a,b){return"darwin"!==a?null:{command:"osascript",args:["-e","on run argv","-e","return POSIX path of (choose folder with prompt (item 1 of argv))","-e","end run",b]}}function h(a,b){return"darwin"!==a?null:{command:"osascript",args:["-e","on run argv","-e","return POSIX path of (choose file with prompt (item 1 of argv))","-e","end run",b]}}function i(a,b,c){return"darwin"!==a?null:{command:"osascript",args:["-e","on run argv","-e","return POSIX path of (choose file name with prompt (item 1 of argv) default name (item 2 of argv))","-e","end run",b,c]}}function j(a,b){return b.aborted?Promise.resolve({cancelled:!0}):new Promise((c,e)=>{let g=(0,d.spawn)(a.command,a.args,{stdio:["ignore","pipe","pipe"]}),h="",i="";g.stdout.setEncoding("utf8"),g.stderr.setEncoding("utf8"),g.stdout.on("data",a=>{h+=a}),g.stderr.on("data",a=>{i+=a});let j=()=>{g.kill()};b.addEventListener("abort",j,{once:!0}),g.once("error",a=>{b.removeEventListener("abort",j),e(a)}),g.once("close",d=>{if(b.removeEventListener("abort",j),0===d){let a=h.trim();c(a?{path:f().resolve(a)}:{cancelled:!0});return}b.aborted||/\(-128\)/.test(i)?c({cancelled:!0}):e(Error(i.trim()||`${a.command} exited with ${d}`))})})}function k(a,b,c=process.platform){let d=g(c,a);return d?j(d,b):Promise.reject(Error(`Unsupported platform: ${c}`))}function l(a,b,c=process.platform){let d=h(c,a);return d?j(d,b):Promise.reject(Error(`Unsupported platform: ${c}`))}function m(a,b,c,d=process.platform){let e=i(d,a,b);return e?j(e,c):Promise.reject(Error(`Unsupported platform: ${d}`))}},34778:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/sessions/[id]/export/route",pathname:"/api/sessions/[id]/export",filename:"route",bundlePath:"app/api/sessions/[id]/export/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/tassel/pi-web/app/api/sessions/[id]/export/route.ts",nextConfigOutput:"",userland:()=>c(39421),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/sessions/[id]/export/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},39421:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>n,POST:()=>o,runtime:()=>p});var e=c(29021),f=c(33873),g=c(23211),h=c(34019),i=c(98571),j=c(66544),k=c(93127),l=c(40402),m=a([k,l]);[k,l]=m.then?(await m)():m;let p="nodejs",q=!1;async function n(a,{params:b}){let{id:c}=await b,d=new URL(a.url).searchParams,e="1"===d.get("inline"),f=(0,k.hg)(d.get("format")),h=d.get("leafId")?.trim()||null;try{var i,j;let a,b=await (0,l.os)(c);if(!b)return g.NextResponse.json({error:"Session not found"},{status:404});let{content:d,contentType:m,fileName:n}=await (0,k.YY)(b,f,h);return new Response(d,{headers:{"Content-Type":m,"Content-Disposition":(i=n,j=e&&"html"===f,a=i.replace(/[^\x20-\x7E]|["\\;\r\n]/g,"_")||"session.html",`${j?"inline":"attachment"}; filename="${a}"; filename*=UTF-8''${encodeURIComponent(i).replace(/[!'()*]/g,a=>`%${a.charCodeAt(0).toString(16).toUpperCase()}`)}`),"Cache-Control":"no-cache","Content-Security-Policy":"frame-ancestors 'none'","X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY"}})}catch(a){return g.NextResponse.json({error:String(a)},{status:500})}}async function o(a,{params:b}){if(!(0,j.EN)(a))return g.NextResponse.json({error:"Untrusted API request"},{status:403});if(!(0,j.E2)(a))return g.NextResponse.json({error:"Content-Type must be application/json"},{status:415});if(!(0,i.cW)(a.headers.get("host")))return g.NextResponse.json({error:"remote"},{status:403});if("function"!=typeof h.Bd||!(0,h.Bd)(process.platform,"",""))return g.NextResponse.json({error:"unsupported-platform"},{status:403});if(q)return g.NextResponse.json({error:"busy"},{status:409});let{id:c}=await b,d=await (0,l.os)(c);if(!d)return g.NextResponse.json({error:"Session not found",stage:"export"},{status:404});q=!0;try{let b,c,i=await a.json().catch(()=>({})),j=(0,k.hg)(i.format),l="string"==typeof i.leafId&&i.leafId.trim()?i.leafId.trim():null,m="string"==typeof i.prompt&&i.prompt.trim()?i.prompt.trim().slice(0,200):"Export session";try{b=await (0,k.YY)(d,j,l)}catch(a){return g.NextResponse.json({error:a instanceof Error?a.message:String(a),stage:"export"},{status:500})}try{c=await (0,h.Vr)(m,b.fileName,a.signal)}catch(a){return g.NextResponse.json({error:a instanceof Error?a.message:String(a),stage:"dialog"},{status:503})}if("cancelled"in c)return g.NextResponse.json({cancelled:!0});return(0,e.mkdirSync)((0,f.dirname)(c.path),{recursive:!0}),(0,e.writeFileSync)(c.path,b.content,"utf-8"),g.NextResponse.json({savedPath:c.path})}catch(a){return g.NextResponse.json({error:a instanceof Error?a.message:String(a),stage:"export"},{status:500})}finally{q=!1}}d()}catch(a){d(a)}})},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},55511:a=>{"use strict";a.exports=require("crypto")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66544:(a,b,c)=>{"use strict";c.d(b,{E2:()=>k,EN:()=>j});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;let c=e(b.hostname);return b.port?`${c}:${b.port}`:c}catch{return null}}function h(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function i(a){try{return new URL(a).origin}catch{return null}}function j(a,b=h()){return!!function(a,b=h()){let c=a.headers.get("host"),g=c?f(c):null;return!!g&&(!!("localhost"===g||g.endsWith(".localhost")||(0,d.isIP)(g))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===g}))}(a,b)&&(!!function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{let b=new URL(a.url);return/^\/api\/sessions\/[^/]+\/export$/.test(b.pathname)||function(a){if(!a.pathname.startsWith("/api/files/")||"read"!==a.searchParams.get("type"))return!1;let b=a.pathname.slice(a.pathname.lastIndexOf("/")+1);try{return decodeURIComponent(b).toLowerCase().endsWith(".pdf")}catch{return!1}}(b)}catch{return!1}}(a)||!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))||function(a){let b,c,d,e=a.headers.get("origin");if("cross-site"===a.headers.get("sec-fetch-site"))return!1;if(!e)return!0;let f=(b=new URL(a.url),(c=a.headers.get("host"))?i(`${b.protocol}//${c}`):null);if(null!==f&&i(e)===f)return!0;if("same-origin"!==a.headers.get("sec-fetch-site")||!a.headers.get("x-forwarded-proto"))return!1;let h=a.headers.get("host");if(!h)return!1;try{d=new URL(e).host}catch{return!1}let j=g(d);return null!==j&&j===g(h)}(a))}function k(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},73024:a=>{"use strict";a.exports=require("node:fs")},73071:a=>{function b(a){return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b})}b.keys=()=>[],b.resolve=b,b.id=73071,a.exports=b},73136:a=>{"use strict";a.exports=require("node:url")},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},79646:a=>{"use strict";a.exports=require("child_process")},79748:a=>{"use strict";a.exports=require("fs/promises")},81879:(a,b,c)=>{"use strict";c.d(b,{r:()=>l});var d=c(31421),e=c(73024),f=c(76760),g=c(73136);let h=(0,c(57975).promisify)(d.execFile);async function i(){try{let{getPackageDir:a}=await Promise.resolve().then(c.bind(c,75430));return a()}catch{return null}}async function j(){let a=new Set,b=await i();b&&a.add((0,f.join)(b,"dist","cli.js"));try{let b;if("function"==typeof b){let c=await b("@earendil-works/pi-coding-agent");a.add((0,f.join)((0,f.dirname)((0,g.fileURLToPath)(c)),"cli.js"))}}catch{}for(let b of(a.add((0,f.join)(process.cwd(),"node_modules","@earendil-works","pi-coding-agent","dist","cli.js")),a))if((0,e.existsSync)(b))return b;return null}async function k(a,b){let d=await j();if(d)return void await h(process.execPath,[d,"--export",a,b],{cwd:process.cwd(),timeout:3e4,env:{...process.env,PI_OFFLINE:"1",PI_SKIP_VERSION_CHECK:"1"},maxBuffer:1048576});let e=await i();if(!e)throw Error("pi CLI not found");let k=(0,g.pathToFileURL)((0,f.join)(e,"dist","core","export-html","index.js")).href,{exportFromFile:l}=await c(73071)(k);await l(a,b)}async function l(a,b){var c;let d;await k(a,b);let f=(c=(c=(0,e.readFileSync)(b,"utf8")).replace(/\r\n/g,"\n"),c=(d=(a,b,c,d)=>{let e=c.replace(/\r\n/g,"\n"),f=d.replace(/\r\n/g,"\n"),g=a.split(e).length-1;if(1!==g)throw Error(`Failed to patch exported HTML: ${b} expected 1 match, found ${g}`);return a.replace(e,f)})(c,"sortChildren",` function sortChildren(node) {
|
|
2
2
|
node.children.sort((a, b) =>
|
|
3
3
|
new Date(a.entry.timestamp).getTime() - new Date(b.entry.timestamp).getTime()
|
|
4
4
|
);
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
stack.push(node.children[i]);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
}`),
|
|
17
|
+
}`),c=d(c,"mapNodes",` function mapNodes(node) {
|
|
18
18
|
treeNodeMap.set(node.entry.id, node);
|
|
19
19
|
node.children.forEach(mapNodes);
|
|
20
20
|
}
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
for (let i = node.children.length - 1; i >= 0; i--) {
|
|
26
26
|
stack.push(node.children[i]);
|
|
27
27
|
}
|
|
28
|
-
}`),
|
|
28
|
+
}`),c=d(c,"markActive",` function markActive(node) {
|
|
29
29
|
let has = activePathIds.has(node.entry.id);
|
|
30
30
|
for (const child of node.children) {
|
|
31
31
|
if (markActive(child)) has = true;
|
|
@@ -51,4 +51,14 @@
|
|
|
51
51
|
}
|
|
52
52
|
containsActive.set(node, has);
|
|
53
53
|
}
|
|
54
|
-
}`));return
|
|
54
|
+
}`));return(0,e.writeFileSync)(b,f,"utf8"),f}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},93127:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{YY:()=>n,hg:()=>l});var e=c(77598),f=c(73024),g=c(48161),h=c(76760),i=c(75430),j=c(81879),k=a([i]);function l(a){return"jsonl"===a||"md"===a||"html"===a?a:"html"}function m(a){if("string"==typeof a)return a.trim();if(!Array.isArray(a))return"";let b=[];for(let c of a)if(c&&"object"==typeof c)if("text"===c.type&&"string"==typeof c.text&&c.text.trim())b.push(c.text.trim());else if("thinking"===c.type&&"string"==typeof c.thinking&&c.thinking.trim())b.push(`<details>
|
|
55
|
+
<summary>Thinking</summary>
|
|
56
|
+
|
|
57
|
+
${c.thinking.trim()}
|
|
58
|
+
|
|
59
|
+
</details>`);else if("toolCall"===c.type){let a="string"==typeof c.toolName?c.toolName:"string"==typeof c.name?c.name:"tool",d=c.input??c.arguments??{},e="";try{e=JSON.stringify(d,null,2)}catch{e=String(d)}b.push(`**Tool Call: \`${a}\`**
|
|
60
|
+
\`\`\`json
|
|
61
|
+
${e}
|
|
62
|
+
\`\`\``)}else"image"===c.type&&b.push("*(Image attachment)*");return b.join("\n\n")}async function n(a,b,c){let d=(0,h.basename)(a,".jsonl");if("jsonl"===b)return{content:function(a,b){if(!b){let b=(0,f.readFileSync)(a,"utf-8");return b.endsWith("\n")?b:`${b}
|
|
63
|
+
`}let c=i.SessionManager.open(a,void 0);return[...[c.getHeader()??{type:"session",version:3,id:c.getSessionId(),timestamp:new Date().toISOString(),cwd:c.getCwd()},...c.getBranch(b)].map(a=>JSON.stringify(a)),""].join("\n")}(a,c),contentType:"application/jsonl; charset=utf-8",fileName:`pi-session-${d}.jsonl`};if("md"===b)return{content:function(a,b){let c=i.SessionManager.open(a,void 0),d=c.getHeader(),e=c.getSessionName(),f=b?c.getBranch(b):c.getBranch(),g=[];for(let a of(g.push(`# ${e||`Session ${c.getSessionId()}`}`),g.push(""),g.push(`- **Session ID**: \`${c.getSessionId()}\``),c.getCwd()&&g.push(`- **Workspace**: \`${c.getCwd()}\``),d?.timestamp&&g.push(`- **Created**: ${d.timestamp}`),g.push(""),g.push("---"),g.push(""),f)){if("compaction"===a.type&&"string"==typeof a.summary){g.push("## Compaction Summary"),g.push(""),g.push(a.summary.trim()),g.push("");continue}if("message"!==a.type||!a.message||"object"!=typeof a.message)continue;let b=a.message,c="string"==typeof b.role?b.role:"unknown";if("system"!==c){if("user"===c){g.push("## User"),g.push("");let a=m(b.content);a&&g.push(a),g.push("")}else if("assistant"===c){let a="string"==typeof b.provider&&"string"==typeof b.model?`Assistant (${b.provider}/${b.model})`:"Assistant";g.push(`## ${a}`),g.push("");let c=m(b.content);c&&g.push(c),g.push("")}else if("toolResult"===c){let a="string"==typeof b.toolName?b.toolName:"tool",c=m(b.content);g.push(`### Tool Result: \`${a}\`${b.isError?" (error)":""}`),g.push(""),c&&(g.push("```"),g.push(c),g.push("```"),g.push(""))}}}return`${g.join("\n").trimEnd()}
|
|
64
|
+
`}(a,c),contentType:"text/markdown; charset=utf-8",fileName:`pi-session-${d}.md`};let k=(0,h.join)((0,g.tmpdir)(),"pi-web-export");(0,f.mkdirSync)(k,{recursive:!0});let l=(0,h.join)(k,`${(0,e.randomUUID)()}.html`);try{return{content:await (0,j.r)(a,l),contentType:"text/html; charset=utf-8",fileName:`pi-session-${d}.html`}}finally{(0,f.rmSync)(l,{force:!0})}}i=(k.then?(await k)():k)[0],d()}catch(a){d(a)}})},98571:(a,b,c)=>{"use strict";c.d(b,{a0:()=>g,cW:()=>h,Jh:()=>i});var d=c(79646);let e=require("net"),f=new Map([["win32","explorer.exe"],["darwin","open"],["linux","xdg-open"]]);function g(a){return f.has(a)}function h(a){if(!a)return!1;let b=a.trim().toLowerCase(),c=b.indexOf("]"),d=b.startsWith("[")&&-1!==c?b.slice(1,c):b.split(":")[0];return!!("localhost"===d||d.endsWith(".localhost"))||"::1"===d||4===(0,e.isIP)(d)&&d.startsWith("127.")}function i(a,b=process.platform){let c,e=(c=f.get(b))?{command:c,args:[a]}:null;return e?new Promise((a,b)=>{let c=(0,d.spawn)(e.command,e.args,{detached:!0,stdio:"ignore"});c.once("error",b),c.once("spawn",()=>{c.unref(),a()})}):Promise.reject(Error(`Unsupported platform: ${b}`))}}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,426,5582],()=>b(b.s=34778));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=2072,a.ids=[2072],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{a.exports=require("assert")},12821:(a,b,c)=>{c.d(b,{dJ:()=>f,mA:()=>g});var d=c(69114);let e=/ · [0-9a-f]{4}$/;function f(a){return a.name||((0,d.d)(a.firstMessage)??a.firstMessage)||a.id.slice(0,12)}function g(a,b,c){var d;let f,g=a.replace(/\s+/g," ").trim();return c&&(g=g.replace(e,"").trimEnd()),(g=(f=Array.from(d=g)).length<=40?d:`${f.slice(0,39).join("").trimEnd()}…`)?`${g} \xb7 ${b}`:b}},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},27910:a=>{a.exports=require("stream")},28297:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Lc:()=>m,fo:()=>n,mR:()=>l});var e=c(55511),f=c(29021),g=c(75430),h=c(12821),i=c(766),j=c(7048),k=a([g,i,j]);[g,i,j]=k.then?(await k)():k;class n extends Error{constructor(a,b){super(b),this.code=a,this.name="SessionForkError"}}async function l(a){let b=await (0,i._p)(a);if(b)return b.name||"(no messages)"!==b.firstMessage?(0,h.dJ)(b).trim()||void 0:null}function m(a,b,c){let d=void 0!==b;if(!(0,f.existsSync)(a))throw d?new n("unsaved","This session has not been saved yet. Send a message before forking it."):new n("not_found","Session not found");let i=g.SessionManager.open(a),k=d?b:i.getLeafId();if(!k)throw new n("empty","Nothing to fork: the session has no messages");if(!i.getEntry(k))throw new n("unsaved","This session has not been saved yet. Send a message before forking it.");let l=i.getBranch(k);if((0,j.$u)(l,"",a))throw new n("subagent","A subagent session cannot be forked");if(!l.some(a=>"message"===a.type))throw new n("empty","Nothing to fork: the session has no messages");let m=null===c?void 0:(0,h.mA)(c?.trim()||i.getSessionId().slice(0,12),(0,e.randomBytes)(2).toString("hex"),"string"==typeof i.getHeader()?.parentSession),o=i.createBranchedSession(k);if(m&&i.appendSessionInfo(m),o&&!(0,f.existsSync)(o)){let a=i.getHeader();if(a){let b=[a,...i.getEntries()].map(a=>JSON.stringify(a)).join("\n")+"\n";(0,f.writeFileSync)(o,b,{encoding:"utf8",flag:"wx"})}}if(!o||!(0,f.existsSync)(o))throw Error("Failed to fork the session");return{sessionId:i.getSessionId(),path:o,name:m}}d()}catch(a){d(a)}})},28354:a=>{a.exports=require("util")},28802:a=>{a.exports=import("@earendil-works/pi-ai")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29862:a=>{a.exports=import("@earendil-works/pi-tui")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{a.exports=require("node:os")},49603:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>l,dynamic:()=>m});var e=c(23211),f=c(56429),g=c(66544),h=c(28297),i=c(40402),j=a([f,h,i]);[f,h,i]=j.then?(await j)():j;let m="force-dynamic",n={"Cache-Control":"no-store"};function k(a,b,c){return e.NextResponse.json({error:c,code:b},{status:a,headers:n})}async function l(a,{params:b}){if(!(0,g.EN)(a))return k(403,"request-denied","Untrusted API request");if(!(0,g.E2)(a))return k(415,"request-denied","Content-Type must be application/json");let{id:c}=await b;try{let a=(0,f.hH)(c),b=(a?.isAlive()?a.sessionFile:"")||await (0,i.os)(c);if(!b)return(0,i.mD)(),k(404,"not_found","Session not found");let d=await (0,h.mR)(b),g=(0,f.hH)(c),j=g?.isAlive()?g.inner.sessionManager.getLeafId():void 0;if(g&&void 0!==j&&!g.isRunning()){let a=(0,i.H6)(g.sessionFile);a&&!g.inner.sessionManager.getEntry(a)&&(j=void 0)}let l=(0,h.Lc)(b,j,d);(0,i.O8)(l.sessionId,l.path),(0,i.mD)();let m=await (0,i.z)(l.path);if(!m)throw Error("The forked session could not be read");let o={...m,parentSessionId:c,relation:{kind:"fork",originSessionId:c}};return e.NextResponse.json({sessionId:l.sessionId,session:o},{headers:n})}catch(a){if(a instanceof h.fo){if("not_found"===a.code)return(0,i.BR)(c),(0,i.mD)(),k(404,a.code,a.message);return k(409,a.code,a.message)}return k(500,"failed",a instanceof Error?a.message:String(a))}}d()}catch(a){d(a)}})},51181:a=>{a.exports=require("web-push")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66173:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/sessions/[id]/fork/route",pathname:"/api/sessions/[id]/fork",filename:"route",bundlePath:"app/api/sessions/[id]/fork/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/tassel/pi-web/app/api/sessions/[id]/fork/route.ts",nextConfigOutput:"",userland:()=>c(49603),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/sessions/[id]/fork/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},66544:(a,b,c)=>{c.d(b,{E2:()=>k,EN:()=>j});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;let c=e(b.hostname);return b.port?`${c}:${b.port}`:c}catch{return null}}function h(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function i(a){try{return new URL(a).origin}catch{return null}}function j(a,b=h()){return!!function(a,b=h()){let c=a.headers.get("host"),g=c?f(c):null;return!!g&&(!!("localhost"===g||g.endsWith(".localhost")||(0,d.isIP)(g))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===g}))}(a,b)&&(!!function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{let b=new URL(a.url);return/^\/api\/sessions\/[^/]+\/export$/.test(b.pathname)||function(a){if(!a.pathname.startsWith("/api/files/")||"read"!==a.searchParams.get("type"))return!1;let b=a.pathname.slice(a.pathname.lastIndexOf("/")+1);try{return decodeURIComponent(b).toLowerCase().endsWith(".pdf")}catch{return!1}}(b)}catch{return!1}}(a)||!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))||function(a){let b,c,d,e=a.headers.get("origin");if("cross-site"===a.headers.get("sec-fetch-site"))return!1;if(!e)return!0;let f=(b=new URL(a.url),(c=a.headers.get("host"))?i(`${b.protocol}//${c}`):null);if(null!==f&&i(e)===f)return!0;if("same-origin"!==a.headers.get("sec-fetch-site")||!a.headers.get("x-forwarded-proto"))return!1;let h=a.headers.get("host");if(!h)return!1;try{d=new URL(e).host}catch{return!1}let j=g(d);return null!==j&&j===g(h)}(a))}function k(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},81115:a=>{a.exports=require("constants")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},94735:a=>{a.exports=require("events")},98995:a=>{a.exports=require("node:module")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,426,974,5582,2498,3757,2650,2243,6216,6429],()=>b(b.s=66173));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=2072,a.ids=[2072],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{a.exports=require("assert")},12821:(a,b,c)=>{c.d(b,{dJ:()=>f,mA:()=>g});var d=c(69114);let e=/ · [0-9a-f]{4}$/;function f(a){return a.name||((0,d.d)(a.firstMessage)??a.firstMessage)||a.id.slice(0,12)}function g(a,b,c){var d;let f,g=a.replace(/\s+/g," ").trim();return c&&(g=g.replace(e,"").trimEnd()),(g=(f=Array.from(d=g)).length<=40?d:`${f.slice(0,39).join("").trimEnd()}…`)?`${g} \xb7 ${b}`:b}},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},27910:a=>{a.exports=require("stream")},28297:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Lc:()=>m,fo:()=>n,mR:()=>l});var e=c(55511),f=c(29021),g=c(75430),h=c(12821),i=c(766),j=c(7048),k=a([g,i,j]);[g,i,j]=k.then?(await k)():k;class n extends Error{constructor(a,b){super(b),this.code=a,this.name="SessionForkError"}}async function l(a){let b=await (0,i._p)(a);if(b)return b.name||"(no messages)"!==b.firstMessage?(0,h.dJ)(b).trim()||void 0:null}function m(a,b,c){let d=void 0!==b;if(!(0,f.existsSync)(a))throw d?new n("unsaved","This session has not been saved yet. Send a message before forking it."):new n("not_found","Session not found");let i=g.SessionManager.open(a),k=d?b:i.getLeafId();if(!k)throw new n("empty","Nothing to fork: the session has no messages");if(!i.getEntry(k))throw new n("unsaved","This session has not been saved yet. Send a message before forking it.");let l=i.getBranch(k);if((0,j.$u)(l,"",a))throw new n("subagent","A subagent session cannot be forked");if(!l.some(a=>"message"===a.type))throw new n("empty","Nothing to fork: the session has no messages");let m=null===c?void 0:(0,h.mA)(c?.trim()||i.getSessionId().slice(0,12),(0,e.randomBytes)(2).toString("hex"),"string"==typeof i.getHeader()?.parentSession),o=i.createBranchedSession(k);if(m&&i.appendSessionInfo(m),o&&!(0,f.existsSync)(o)){let a=i.getHeader();if(a){let b=[a,...i.getEntries()].map(a=>JSON.stringify(a)).join("\n")+"\n";(0,f.writeFileSync)(o,b,{encoding:"utf8",flag:"wx"})}}if(!o||!(0,f.existsSync)(o))throw Error("Failed to fork the session");return{sessionId:i.getSessionId(),path:o,name:m}}d()}catch(a){d(a)}})},28354:a=>{a.exports=require("util")},28802:a=>{a.exports=import("@earendil-works/pi-ai")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29862:a=>{a.exports=import("@earendil-works/pi-tui")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{a.exports=require("node:os")},49603:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>l,dynamic:()=>m});var e=c(23211),f=c(56429),g=c(66544),h=c(28297),i=c(40402),j=a([f,h,i]);[f,h,i]=j.then?(await j)():j;let m="force-dynamic",n={"Cache-Control":"no-store"};function k(a,b,c){return e.NextResponse.json({error:c,code:b},{status:a,headers:n})}async function l(a,{params:b}){if(!(0,g.EN)(a))return k(403,"request-denied","Untrusted API request");if(!(0,g.E2)(a))return k(415,"request-denied","Content-Type must be application/json");let{id:c}=await b;try{let a=(0,f.hH)(c),b=(a?.isAlive()?a.sessionFile:"")||await (0,i.os)(c);if(!b)return(0,i.mD)(),k(404,"not_found","Session not found");let d=await (0,h.mR)(b),g=(0,f.hH)(c),j=g?.isAlive()?g.inner.sessionManager.getLeafId():void 0;if(g&&void 0!==j&&!g.isRunning()){let a=(0,i.H6)(g.sessionFile);a&&!g.inner.sessionManager.getEntry(a)&&(j=void 0)}let l=(0,h.Lc)(b,j,d);(0,i.O8)(l.sessionId,l.path),(0,i.mD)();let m=await (0,i.z)(l.path);if(!m)throw Error("The forked session could not be read");let o={...m,parentSessionId:c,relation:{kind:"fork",originSessionId:c}};return e.NextResponse.json({sessionId:l.sessionId,session:o},{headers:n})}catch(a){if(a instanceof h.fo){if("not_found"===a.code)return(0,i.BR)(c),(0,i.mD)(),k(404,a.code,a.message);return k(409,a.code,a.message)}return k(500,"failed",a instanceof Error?a.message:String(a))}}d()}catch(a){d(a)}})},51181:a=>{a.exports=require("web-push")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66544:(a,b,c)=>{c.d(b,{E2:()=>k,EN:()=>j});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;let c=e(b.hostname);return b.port?`${c}:${b.port}`:c}catch{return null}}function h(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function i(a){try{return new URL(a).origin}catch{return null}}function j(a,b=h()){return!!function(a,b=h()){let c=a.headers.get("host"),g=c?f(c):null;return!!g&&(!!("localhost"===g||g.endsWith(".localhost")||(0,d.isIP)(g))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===g}))}(a,b)&&(!!function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{let b=new URL(a.url);return/^\/api\/sessions\/[^/]+\/export$/.test(b.pathname)||function(a){if(!a.pathname.startsWith("/api/files/")||"read"!==a.searchParams.get("type"))return!1;let b=a.pathname.slice(a.pathname.lastIndexOf("/")+1);try{return decodeURIComponent(b).toLowerCase().endsWith(".pdf")}catch{return!1}}(b)}catch{return!1}}(a)||!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))||function(a){let b,c,d,e=a.headers.get("origin");if("cross-site"===a.headers.get("sec-fetch-site"))return!1;if(!e)return!0;let f=(b=new URL(a.url),(c=a.headers.get("host"))?i(`${b.protocol}//${c}`):null);if(null!==f&&i(e)===f)return!0;if("same-origin"!==a.headers.get("sec-fetch-site")||!a.headers.get("x-forwarded-proto"))return!1;let h=a.headers.get("host");if(!h)return!1;try{d=new URL(e).host}catch{return!1}let j=g(d);return null!==j&&j===g(h)}(a))}function k(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},81115:a=>{a.exports=require("constants")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},93270:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/sessions/[id]/fork/route",pathname:"/api/sessions/[id]/fork",filename:"route",bundlePath:"app/api/sessions/[id]/fork/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/tassel/pi-web/app/api/sessions/[id]/fork/route.ts",nextConfigOutput:"",userland:()=>c(49603),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/sessions/[id]/fork/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},94735:a=>{a.exports=require("events")},98995:a=>{a.exports=require("node:module")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,426,974,5582,2498,3757,2650,2243,6216,6429],()=>b(b.s=93270));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=6849,a.ids=[6849],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{a.exports=require("assert")},14858:(a,b,c)=>{c.d(b,{eW:()=>e,yP:()=>i});var d=c(85963);function e(a){let b=[],c=[];for(let d=a.length-1;d>=0;d--)c.push({input:a[d],into:b});for(;c.length>0;){let a=c.pop(),{input:b}=a,d={entry:{id:b.entry.id,parentId:b.entry.parentId??null,type:b.entry.type,timestamp:b.entry.timestamp??""},children:[],...b.compressedEntryIds?.length?{compressedEntryIds:b.compressedEntryIds}:{},...b.branchPreview?{branchPreview:b.branchPreview}:{}};a.into.push(d);for(let a=b.children.length-1;a>=0;a--)c.push({input:b.children[a],into:d.children})}return b}function f(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function g(a,b){if("string"!=typeof b||a.length>40)return a;let c=b.replace(/\s+/g," ").trim();if(!c)return a;let d=a?" ":"",e=a+d;if(e.length>=41)return e.slice(0,41);let f=41-e.length;return e+c.slice(0,f)}function h(a){if("message"!==a.type||!f(a.message)||"string"!=typeof a.message.role||"system"===a.message.role)return;let b=a.message.content,c="",d=!1;if("string"==typeof b)c=g(c,b);else if(Array.isArray(b)){for(let a of b)if(f(a)&&("image"===a.type&&(d=!0),"text"===a.type&&(c=g(c,a.text)),c.length>40))break}c.length>40?c=c.slice(0,40)+"…":c||(c=d?"[image]":"assistant"===a.message.role?"[assistant]":"message");let e="user"===a.message.role||"assistant"===a.message.role?a.message.role:void 0;return{...e?{role:e}:{},text:c}}function i(a){let b=new Set,c=new Set(a),e=new Set,f=[...a];for(;f.length>0;){let a=f.pop();if(!e.has(a))for(let d of(e.add(a),(c.has(a)||1!==a.children.length)&&b.add(a),a.children))f.push(d)}let g=(a,b,c)=>{let e="message"===a.entry.type?(0,d.r)(a.entry.message):a.entry.message;return{...a,entry:e===a.entry.message?a.entry:{...a.entry,message:e},children:[],...b?.length?{compressedEntryIds:b}:{},...c?{branchPreview:c}:{}}},i=a.map(a=>g(a,void 0,h(a.entry))),j=a.map((a,b)=>({source:a,projected:i[b],depth:1})),k=(a,c)=>{let d=[{node:a,compressedEntryIds:[],branchPreview:void 0}],e=new Set;for(;d.length>0;){let{node:a,compressedEntryIds:f,branchPreview:i}=d.pop();if(e.has(a))continue;e.add(a);let j=i??h(a.entry);b.has(a)&&c.children.push(g(a,f,j));for(let c=a.children.length-1;c>=0;c--)d.push({node:a.children[c],compressedEntryIds:b.has(a)?[]:[...f,a.entry.id],branchPreview:b.has(a)?void 0:j})}};for(;j.length>0;){let{source:a,projected:c,depth:d}=j.pop();for(let e of a.children){let a=e;if(d>=200){k(a,c);continue}let f=[],i=h(a.entry);for(;!b.has(a)&&1===a.children.length;)f.push(a.entry.id),a=a.children[0],i??=h(a.entry);if(!b.has(a))continue;let l=g(a,f,i);c.children.push(l),j.push({source:a,projected:l,depth:d+1})}}return i}},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},28802:a=>{a.exports=import("@earendil-works/pi-ai")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29862:a=>{a.exports=import("@earendil-works/pi-tui")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},45648:(a,b,c)=>{c.d(b,{T:()=>f});var d=c(55511),e=c(29021);function f(a){try{return(0,d.createHash)("sha1").update(JSON.stringify({fp:function(a){try{let b=(0,e.statSync)(a);return`${b.size}:${b.mtimeMs}:${b.ctimeMs}`}catch{return"missing"}}(a.filePath),source:a.sourceId,entries:a.entryCount,latest:a.latestEntryId,leaf:a.leafId})).digest("base64url").slice(0,22)}catch{return null}}},48161:a=>{a.exports=require("node:os")},51181:a=>{a.exports=require("web-push")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},77850:(a,b,c)=>{c.d(b,{Y:()=>d});function d(a,b,c={}){var e;let f,g=JSON.stringify(b),h=Buffer.byteLength(g)>=1024,i=new Headers(c.headers);return i.set("Content-Type","application/json; charset=utf-8"),(h&&(e="Accept-Encoding",(f=i.get("Vary"))?f.split(",").some(a=>a.trim().toLowerCase()===e.toLowerCase())||i.set("Vary",`${f}, ${e}`):i.set("Vary",e)),h&&function(a,b){let c;for(let d of a.split(",")){let[a,...e]=d.trim().split(";"),f=a.trim().toLowerCase(),g=1;for(let a of e){let b=/^\s*q\s*=\s*(.*?)\s*$/i.exec(a);if(!b)continue;let c=b[1];g=/^(?:0(?:\.\d{0,3})?|1(?:\.0{0,3})?)$/.test(c)?Number(c):0}if(f===b)return g;"*"===f&&(c=g)}return c??0}(a.headers.get("Accept-Encoding")??"","gzip")>0)?(i.set("Content-Encoding","gzip"),new Response(new Blob([g]).stream().pipeThrough(new CompressionStream("gzip")),{...c,headers:i})):new Response(g,{...c,headers:i})}},78517:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/sessions/[id]/route",pathname:"/api/sessions/[id]",filename:"route",bundlePath:"app/api/sessions/[id]/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/tassel/pi-web/app/api/sessions/[id]/route.ts",nextConfigOutput:"",userland:()=>c(98192),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/sessions/[id]/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},81115:a=>{a.exports=require("constants")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},88914:(a,b,c)=>{function d(a,b){b&&(a.tokens.input+=b.input??0,a.tokens.output+=b.output??0,a.tokens.cacheRead+=b.cacheRead??0,a.tokens.cacheWrite+=b.cacheWrite??0,a.cost+=b.cost?.total??0)}function e(a){var b;let c={userMessages:0,assistantMessages:0,toolCalls:0,toolResults:0,totalMessages:0,tokens:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0},cost:0};for(let e of a){if("compaction"===e.type||"branch_summary"===e.type||"usage"===e.type){d(c,e.usage);continue}"message"===e.type&&(b=e.message,c.totalMessages+=1,"user"===b.role?c.userMessages+=1:"toolResult"===b.role?(c.toolResults+=1,d(c,b.usage)):"assistant"===b.role&&(c.assistantMessages+=1,Array.isArray(b.content)&&(c.toolCalls+=b.content.filter(a=>"toolCall"===a.type).length),d(c,b.usage)))}return c.tokens.total=c.tokens.input+c.tokens.output+c.tokens.cacheRead+c.tokens.cacheWrite,c}c.d(b,{P:()=>e})},94735:a=>{a.exports=require("events")},95337:(a,b,c)=>{c.d(b,{h:()=>e});let d="1"===process.env.PI_WEB_PERF;function e(a){if(!d)return;let b=crypto.randomUUID().slice(0,8),c=performance.now(),e=c,f=new Map;return{span(a){let b=performance.now();f.set(a,(f.get(a)??0)+(b-e)),e=b},totalMs:()=>performance.now()-c,attach(d){let e=performance.now()-c,g=[...f.entries()].map(([a,b])=>`${a};dur=${b.toFixed(1)}`).join(", ");d.headers.set("Server-Timing",g?`${g}, total;dur=${e.toFixed(1)}`:`total;dur=${e.toFixed(1)}`);let h={};for(let[a,b]of f)h[a]=Number(b.toFixed(1));return console.log(JSON.stringify({perf:!0,route:a,requestId:b,totalMs:Number(e.toFixed(1)),phases:h})),d}}}},98192:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{DELETE:()=>v,GET:()=>t,PATCH:()=>u});var e=c(23211),f=c(29021),g=c(40402),h=c(56429),i=c(14858),j=c(89691),k=c(88914),l=c(95337),m=c(45648),n=c(7048),o=c(21560),p=c(77850),q=c(21906),r=c(59506),s=a([g,h,n,q,r]);async function t(a,{params:b}){let{id:c}=await b,d=(0,l.h)("GET /api/sessions/[id]");try{let b;d?.span("resolve");let l=(0,h.hH)(c),q=new URL(a.url).searchParams,s="1"===q.get("force"),t=l?.isAlive()?l:void 0,u=!1;s&&t?.evictIfDiskAhead()&&(u=!0,t=void 0);let v=t,w=v?null:await (0,g.os)(c);if(!v&&!w)return e.NextResponse.json({error:"Session not found"},{status:404});let x=v?.inner.sessionManager??(0,g.G1)(w);d?.span("open");let y=v?.sessionFile||x.getSessionFile()||w||"",z=x.getEntries(),A=x.getLeafId(),B="summary"===q.get("tree"),C=B?(0,i.eW)((0,i.yP)(x.getTree())):(0,i.yP)(x.getTree());d?.span("tree");let D=q.has("deferThinking"),E=q.has("deferMedia"),F=Number(q.get("tail")),G=Number.isFinite(F)&&F>0?Math.min(F,1e3):50,H=(0,r.Kp)({entries:z,cwd:x.getHeader()?.cwd??"",leafId:A,models:v?.inner.modelRuntime}),I=(0,r.dt)((0,g.Uv)(z,A,{deferThinking:D,deferToolResultImages:E,tail:G,sessionId:c}),H);d?.span("context");let J=(0,j.c)(z),K=(0,k.P)(z);d?.span("stats");let L=z[z.length-1],M=(0,m.T)({filePath:y,sourceId:`${v?`runtime:${String(v.inner.sessionId)}`:"disk"}${H?"+notices":""}`,entryCount:z.length,latestEntryId:"string"==typeof L?.id?L.id:null,leafId:A??null}),N=x.getSessionName(),O=z.find(a=>"message"===a.type&&"user"===a.message.role),P=O?.type==="message"?O.message:void 0,Q=x.getHeader(),R=Q?.timestamp??new Date().toISOString();try{R=(0,f.statSync)(y).mtime.toISOString()}catch{}let S=Q?.parentSession?await (0,g.u1)(Q.parentSession):void 0,T=Q?(0,n.$u)(z,Q.id,y):null,U=(0,n.ph)(z)?.tools??(0,o.dS)(z),V=Q?(await (0,g.zH)([{path:y,id:Q.id,cwd:Q.cwd??"",name:N,created:Q.timestamp,modified:R,messageCount:K.totalMessages,firstMessage:P?(b=P.content,"string"==typeof b?b:(Array.isArray(b)?b.find(a=>"text"===a.type)?.text??"":"")||"(no messages)"):"(no messages)",parentSessionId:S,...T?{relation:{kind:"subagent",parentSessionId:T.parentSessionId,profile:T.profile,description:T.description,status:(0,h.Iu)(Q.id,T.status)}}:Q.parentSession?{relation:{kind:"fork",...S?{originSessionId:S}:{}}}:{},transient:!y||!(0,f.existsSync)(y)}]))[0]:null;return d?.attach((0,p.Y)(a,{sessionId:c,filePath:y,info:V,leafId:A,tree:C,...B?{treeFormat:"summary"}:{},snapshotRevision:M,context:I,stats:K,totalActiveMs:J,...void 0!==U?{toolNames:U}:{},...u?{wrapperRebuilt:!0}:{}}))??(0,p.Y)(a,{sessionId:c,filePath:y,info:V,leafId:A,tree:C,...B?{treeFormat:"summary"}:{},snapshotRevision:M,context:I,stats:K,totalActiveMs:J,...void 0!==U?{toolNames:U}:{},...u?{wrapperRebuilt:!0}:{}})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}async function u(a,{params:b}){let{id:c}=await b;try{let{name:b}=await a.json();if("string"!=typeof b)return e.NextResponse.json({error:"name is required"},{status:400});let d=await (0,g.os)(c),f=b.trim();if(!await (0,h.wq)(c,f,()=>!!d&&((0,g.G1)(d,{mutable:!0}).appendSessionInfo(f),(0,g.j6)(d),(0,g.mD)(),!0)))return e.NextResponse.json({error:"Session not found"},{status:404});return e.NextResponse.json({ok:!0})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}async function v(a,{params:b}){let{id:c}=await b;try{let{missing:a}=await (0,q.j)([c]);if(a.length>0)return e.NextResponse.json({error:"Session not found"},{status:404});return e.NextResponse.json({ok:!0})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}[g,h,n,q,r]=s.then?(await s)():s,d()}catch(a){d(a)}})},98995:a=>{a.exports=require("node:module")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,426,974,5582,2498,3757,2650,2243,6216,6429,2069,1906],()=>b(b.s=78517));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=6849,a.ids=[6849],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{a.exports=require("assert")},14858:(a,b,c)=>{c.d(b,{eW:()=>e,yP:()=>i});var d=c(85963);function e(a){let b=[],c=[];for(let d=a.length-1;d>=0;d--)c.push({input:a[d],into:b});for(;c.length>0;){let a=c.pop(),{input:b}=a,d={entry:{id:b.entry.id,parentId:b.entry.parentId??null,type:b.entry.type,timestamp:b.entry.timestamp??""},children:[],...b.compressedEntryIds?.length?{compressedEntryIds:b.compressedEntryIds}:{},...b.branchPreview?{branchPreview:b.branchPreview}:{}};a.into.push(d);for(let a=b.children.length-1;a>=0;a--)c.push({input:b.children[a],into:d.children})}return b}function f(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function g(a,b){if("string"!=typeof b||a.length>40)return a;let c=b.replace(/\s+/g," ").trim();if(!c)return a;let d=a?" ":"",e=a+d;if(e.length>=41)return e.slice(0,41);let f=41-e.length;return e+c.slice(0,f)}function h(a){if("message"!==a.type||!f(a.message)||"string"!=typeof a.message.role||"system"===a.message.role)return;let b=a.message.content,c="",d=!1;if("string"==typeof b)c=g(c,b);else if(Array.isArray(b)){for(let a of b)if(f(a)&&("image"===a.type&&(d=!0),"text"===a.type&&(c=g(c,a.text)),c.length>40))break}c.length>40?c=c.slice(0,40)+"…":c||(c=d?"[image]":"assistant"===a.message.role?"[assistant]":"message");let e="user"===a.message.role||"assistant"===a.message.role?a.message.role:void 0;return{...e?{role:e}:{},text:c}}function i(a){let b=new Set,c=new Set(a),e=new Set,f=[...a];for(;f.length>0;){let a=f.pop();if(!e.has(a))for(let d of(e.add(a),(c.has(a)||1!==a.children.length)&&b.add(a),a.children))f.push(d)}let g=(a,b,c)=>{let e="message"===a.entry.type?(0,d.r)(a.entry.message):a.entry.message;return{...a,entry:e===a.entry.message?a.entry:{...a.entry,message:e},children:[],...b?.length?{compressedEntryIds:b}:{},...c?{branchPreview:c}:{}}},i=a.map(a=>g(a,void 0,h(a.entry))),j=a.map((a,b)=>({source:a,projected:i[b],depth:1})),k=(a,c)=>{let d=[{node:a,compressedEntryIds:[],branchPreview:void 0}],e=new Set;for(;d.length>0;){let{node:a,compressedEntryIds:f,branchPreview:i}=d.pop();if(e.has(a))continue;e.add(a);let j=i??h(a.entry);b.has(a)&&c.children.push(g(a,f,j));for(let c=a.children.length-1;c>=0;c--)d.push({node:a.children[c],compressedEntryIds:b.has(a)?[]:[...f,a.entry.id],branchPreview:b.has(a)?void 0:j})}};for(;j.length>0;){let{source:a,projected:c,depth:d}=j.pop();for(let e of a.children){let a=e;if(d>=200){k(a,c);continue}let f=[],i=h(a.entry);for(;!b.has(a)&&1===a.children.length;)f.push(a.entry.id),a=a.children[0],i??=h(a.entry);if(!b.has(a))continue;let l=g(a,f,i);c.children.push(l),j.push({source:a,projected:l,depth:d+1})}}return i}},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},28802:a=>{a.exports=import("@earendil-works/pi-ai")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29862:a=>{a.exports=import("@earendil-works/pi-tui")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},45648:(a,b,c)=>{c.d(b,{T:()=>f});var d=c(55511),e=c(29021);function f(a){try{return(0,d.createHash)("sha1").update(JSON.stringify({fp:function(a){try{let b=(0,e.statSync)(a);return`${b.size}:${b.mtimeMs}:${b.ctimeMs}`}catch{return"missing"}}(a.filePath),source:a.sourceId,entries:a.entryCount,latest:a.latestEntryId,leaf:a.leafId})).digest("base64url").slice(0,22)}catch{return null}}},48161:a=>{a.exports=require("node:os")},51181:a=>{a.exports=require("web-push")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},60446:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/sessions/[id]/route",pathname:"/api/sessions/[id]",filename:"route",bundlePath:"app/api/sessions/[id]/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/tassel/pi-web/app/api/sessions/[id]/route.ts",nextConfigOutput:"",userland:()=>c(98192),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/sessions/[id]/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},77850:(a,b,c)=>{c.d(b,{Y:()=>d});function d(a,b,c={}){var e;let f,g=JSON.stringify(b),h=Buffer.byteLength(g)>=1024,i=new Headers(c.headers);return i.set("Content-Type","application/json; charset=utf-8"),(h&&(e="Accept-Encoding",(f=i.get("Vary"))?f.split(",").some(a=>a.trim().toLowerCase()===e.toLowerCase())||i.set("Vary",`${f}, ${e}`):i.set("Vary",e)),h&&function(a,b){let c;for(let d of a.split(",")){let[a,...e]=d.trim().split(";"),f=a.trim().toLowerCase(),g=1;for(let a of e){let b=/^\s*q\s*=\s*(.*?)\s*$/i.exec(a);if(!b)continue;let c=b[1];g=/^(?:0(?:\.\d{0,3})?|1(?:\.0{0,3})?)$/.test(c)?Number(c):0}if(f===b)return g;"*"===f&&(c=g)}return c??0}(a.headers.get("Accept-Encoding")??"","gzip")>0)?(i.set("Content-Encoding","gzip"),new Response(new Blob([g]).stream().pipeThrough(new CompressionStream("gzip")),{...c,headers:i})):new Response(g,{...c,headers:i})}},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},81115:a=>{a.exports=require("constants")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},88914:(a,b,c)=>{function d(a,b){b&&(a.tokens.input+=b.input??0,a.tokens.output+=b.output??0,a.tokens.cacheRead+=b.cacheRead??0,a.tokens.cacheWrite+=b.cacheWrite??0,a.cost+=b.cost?.total??0)}function e(a){var b;let c={userMessages:0,assistantMessages:0,toolCalls:0,toolResults:0,totalMessages:0,tokens:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0},cost:0};for(let e of a){if("compaction"===e.type||"branch_summary"===e.type||"usage"===e.type){d(c,e.usage);continue}"message"===e.type&&(b=e.message,c.totalMessages+=1,"user"===b.role?c.userMessages+=1:"toolResult"===b.role?(c.toolResults+=1,d(c,b.usage)):"assistant"===b.role&&(c.assistantMessages+=1,Array.isArray(b.content)&&(c.toolCalls+=b.content.filter(a=>"toolCall"===a.type).length),d(c,b.usage)))}return c.tokens.total=c.tokens.input+c.tokens.output+c.tokens.cacheRead+c.tokens.cacheWrite,c}c.d(b,{P:()=>e})},94735:a=>{a.exports=require("events")},95337:(a,b,c)=>{c.d(b,{h:()=>e});let d="1"===process.env.PI_WEB_PERF;function e(a){if(!d)return;let b=crypto.randomUUID().slice(0,8),c=performance.now(),e=c,f=new Map;return{span(a){let b=performance.now();f.set(a,(f.get(a)??0)+(b-e)),e=b},totalMs:()=>performance.now()-c,attach(d){let e=performance.now()-c,g=[...f.entries()].map(([a,b])=>`${a};dur=${b.toFixed(1)}`).join(", ");d.headers.set("Server-Timing",g?`${g}, total;dur=${e.toFixed(1)}`:`total;dur=${e.toFixed(1)}`);let h={};for(let[a,b]of f)h[a]=Number(b.toFixed(1));return console.log(JSON.stringify({perf:!0,route:a,requestId:b,totalMs:Number(e.toFixed(1)),phases:h})),d}}}},98192:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{DELETE:()=>v,GET:()=>t,PATCH:()=>u});var e=c(23211),f=c(29021),g=c(40402),h=c(56429),i=c(14858),j=c(89691),k=c(88914),l=c(95337),m=c(45648),n=c(7048),o=c(21560),p=c(77850),q=c(21906),r=c(59506),s=a([g,h,n,q,r]);async function t(a,{params:b}){let{id:c}=await b,d=(0,l.h)("GET /api/sessions/[id]");try{let b;d?.span("resolve");let l=(0,h.hH)(c),q=new URL(a.url).searchParams,s="1"===q.get("force"),t=l?.isAlive()?l:void 0,u=!1;s&&t?.evictIfDiskAhead()&&(u=!0,t=void 0);let v=t,w=v?null:await (0,g.os)(c);if(!v&&!w)return e.NextResponse.json({error:"Session not found"},{status:404});let x=v?.inner.sessionManager??(0,g.G1)(w);d?.span("open");let y=v?.sessionFile||x.getSessionFile()||w||"",z=x.getEntries(),A=x.getLeafId(),B="summary"===q.get("tree"),C=B?(0,i.eW)((0,i.yP)(x.getTree())):(0,i.yP)(x.getTree());d?.span("tree");let D=q.has("deferThinking"),E=q.has("deferMedia"),F=Number(q.get("tail")),G=Number.isFinite(F)&&F>0?Math.min(F,1e3):50,H=(0,r.Kp)({entries:z,cwd:x.getHeader()?.cwd??"",leafId:A,models:v?.inner.modelRuntime}),I=(0,r.dt)((0,g.Uv)(z,A,{deferThinking:D,deferToolResultImages:E,tail:G,sessionId:c}),H);d?.span("context");let J=(0,j.c)(z),K=(0,k.P)(z);d?.span("stats");let L=z[z.length-1],M=(0,m.T)({filePath:y,sourceId:`${v?`runtime:${String(v.inner.sessionId)}`:"disk"}${H?"+notices":""}`,entryCount:z.length,latestEntryId:"string"==typeof L?.id?L.id:null,leafId:A??null}),N=x.getSessionName(),O=z.find(a=>"message"===a.type&&"user"===a.message.role),P=O?.type==="message"?O.message:void 0,Q=x.getHeader(),R=Q?.timestamp??new Date().toISOString();try{R=(0,f.statSync)(y).mtime.toISOString()}catch{}let S=Q?.parentSession?await (0,g.u1)(Q.parentSession):void 0,T=Q?(0,n.$u)(z,Q.id,y):null,U=(0,n.ph)(z)?.tools??(0,o.dS)(z),V=Q?(await (0,g.zH)([{path:y,id:Q.id,cwd:Q.cwd??"",name:N,created:Q.timestamp,modified:R,messageCount:K.totalMessages,firstMessage:P?(b=P.content,"string"==typeof b?b:(Array.isArray(b)?b.find(a=>"text"===a.type)?.text??"":"")||"(no messages)"):"(no messages)",parentSessionId:S,...T?{relation:{kind:"subagent",parentSessionId:T.parentSessionId,profile:T.profile,description:T.description,status:(0,h.Iu)(Q.id,T.status)}}:Q.parentSession?{relation:{kind:"fork",...S?{originSessionId:S}:{}}}:{},transient:!y||!(0,f.existsSync)(y)}]))[0]:null;return d?.attach((0,p.Y)(a,{sessionId:c,filePath:y,info:V,leafId:A,tree:C,...B?{treeFormat:"summary"}:{},snapshotRevision:M,context:I,stats:K,totalActiveMs:J,...void 0!==U?{toolNames:U}:{},...u?{wrapperRebuilt:!0}:{}}))??(0,p.Y)(a,{sessionId:c,filePath:y,info:V,leafId:A,tree:C,...B?{treeFormat:"summary"}:{},snapshotRevision:M,context:I,stats:K,totalActiveMs:J,...void 0!==U?{toolNames:U}:{},...u?{wrapperRebuilt:!0}:{}})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}async function u(a,{params:b}){let{id:c}=await b;try{let{name:b}=await a.json();if("string"!=typeof b)return e.NextResponse.json({error:"name is required"},{status:400});let d=await (0,g.os)(c),f=b.trim();if(!await (0,h.wq)(c,f,()=>!!d&&((0,g.G1)(d,{mutable:!0}).appendSessionInfo(f),(0,g.j6)(d),(0,g.mD)(),!0)))return e.NextResponse.json({error:"Session not found"},{status:404});return e.NextResponse.json({ok:!0})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}async function v(a,{params:b}){let{id:c}=await b;try{let{missing:a}=await (0,q.j)([c]);if(a.length>0)return e.NextResponse.json({error:"Session not found"},{status:404});return e.NextResponse.json({ok:!0})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}[g,h,n,q,r]=s.then?(await s)():s,d()}catch(a){d(a)}})},98995:a=>{a.exports=require("node:module")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,426,974,5582,2498,3757,2650,2243,6216,6429,2069,1906],()=>b(b.s=60446));module.exports=c})();
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
(()=>{var a={};a.id=1169,a.ids=[1169],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{"use strict";a.exports=require("assert")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},28802:a=>{"use strict";a.exports=import("@earendil-works/pi-ai")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29862:a=>{"use strict";a.exports=import("@earendil-works/pi-tui")},31421:a=>{"use strict";a.exports=require("node:child_process")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{"use strict";a.exports=require("node:os")},50914:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{UF:()=>t,iI:()=>r});var e=c(31421),f=c(77598),g=c(73024),h=c(48161),i=c(76760),j=c(57975),k=c(75430),l=c(60268),m=c(81879),n=a([k,l]);[k,l]=n.then?(await n)():n;let s=(0,j.promisify)(e.execFile);class t extends Error{constructor(a,b){super(b),this.code=a,this.name="SessionShareError"}}async function o(){let a=await (0,l.OH)();if("function"!=typeof a.getProvider||"function"!=typeof a.getAuth||!a.getProvider("radius"))return;var b=await a.getAuth("radius",{minOAuthValidityMs:3e5});if(b?.auth?.apiKey)return b.auth.apiKey;let c=Object.entries(b?.auth?.headers??{}).find(([a])=>"authorization"===a.toLowerCase())?.[1];return"string"==typeof c?/^Bearer\s+(.+)$/iu.exec(c)?.[1]:void 0}async function p(){try{return await s("gh",["auth","status"],{timeout:15e3}),"ok"}catch(a){if(a?.code==="ENOENT")return"missing";return"unauthenticated"}}async function q(a){try{let{stdout:b}=await s("gh",["gist","create","--public=false",a],{timeout:3e4});return b.trim()}catch(b){let a=b?.stderr?.trim()||b?.message||"Unknown error";throw new t("gist_failed",`Failed to create gist: ${a}`)}}async function r(a,b={}){if(!a.sessionPath||!(0,g.existsSync)(a.sessionPath))throw new t("not_found","Session not found");let c=k.SessionManager.open(a.sessionPath),d=void 0!==a.leafId&&null!==a.leafId&&c.getEntry(a.leafId)?a.leafId:c.getLeafId();if(0===(d?c.getBranch(d):[]).length)throw new t("empty","Nothing to share yet - start a conversation first");let e=function(a,b={}){let c=b.timestamp??new Date().toISOString(),d=void 0!==b.leafId&&null!==b.leafId&&a.getEntry(b.leafId)?b.leafId:a.getLeafId(),e=d?a.getBranch(d):[],g=[{type:"session",version:3,id:a.getSessionId(),timestamp:c,cwd:a.getCwd()}],h=null;for(let a of e)g.push({...a,parentId:h}),h=a.id;return g.push({type:"custom",customType:"pi.share",id:b.shareEntryId??(0,f.randomUUID)().slice(0,8),parentId:h,timestamp:c,data:{systemPrompt:b.systemPrompt??"",tools:(b.tools??[]).map(a=>({name:a.name,description:a.description,...void 0!==a.parameters?{parameters:a.parameters}:{}}))}}),`${g.map(a=>JSON.stringify(a)).join("\n")}
|
|
2
|
+
`}(c,{leafId:d,systemPrompt:a.systemPrompt,tools:a.tools}),j=(b.getDestination??(a=>k.SettingsManager.create(a,(0,k.getAgentDir)()).getSessionShareDestination()))(c.getCwd());if("gist"!==j){let a=b.getRadiusToken??o,c=await a();if(c){let a,d=b.fetchImpl??fetch,f=Buffer.from(e,"utf8"),g=new URL("/v1/artifacts","https://radius.pi.dev");g.searchParams.set("visibility","organization"),g.searchParams.set("title","Pi session");try{a=await d(g,{method:"POST",headers:{Authorization:`Bearer ${c}`,"Content-Type":"application/x-ndjson","Content-Length":String(f.byteLength)},body:f})}catch(a){throw new t("radius_failed",`Failed to upload Radius artifact: ${a instanceof Error?a.message:"Unknown error"}`)}let h=await a.json().catch(()=>null);if(!a.ok||!h?.artifact?.canonical_url)throw new t("radius_failed",`Failed to upload Radius artifact: ${h?.error||a.statusText||a.status}`);return{destination:"radius",shareUrl:h.artifact.canonical_url}}if("radius"===j)throw new t("radius_unconfigured","Radius authentication is not configured. Run '/login radius' first.")}let l=b.checkGhAuth??p,n=await l();if("missing"===n)throw new t("gh_missing","GitHub CLI (gh) is not installed. Install it from https://cli.github.com/");if("unauthenticated"===n)throw new t("gh_unauthenticated","GitHub CLI is not logged in. Run 'gh auth login' first.");let s=(0,g.mkdtempSync)((0,i.join)((0,h.tmpdir)(),"pi-share-")),u=(0,i.join)(s,"session.jsonl"),v=(0,i.join)(s,"session.html");try{let a;(0,g.writeFileSync)(u,e,"utf8");let c=b.exportHtml??m.r;await c(u,v);let d=b.createGist??q,f=await d(v),h=f.split("/").filter(Boolean).pop();if(!h)throw new t("gist_failed","Failed to parse gist ID from gh output");return{destination:"gist",shareUrl:(a=process.env.PI_SHARE_VIEWER_URL||"https://pi.dev/session/",`${a}#${h}`),gistUrl:f}}finally{try{(0,g.rmSync)(s,{recursive:!0,force:!0})}catch{}}}d()}catch(a){d(a)}})},51181:a=>{"use strict";a.exports=require("web-push")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},55511:a=>{"use strict";a.exports=require("crypto")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66544:(a,b,c)=>{"use strict";c.d(b,{E2:()=>k,EN:()=>j});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;let c=e(b.hostname);return b.port?`${c}:${b.port}`:c}catch{return null}}function h(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function i(a){try{return new URL(a).origin}catch{return null}}function j(a,b=h()){return!!function(a,b=h()){let c=a.headers.get("host"),g=c?f(c):null;return!!g&&(!!("localhost"===g||g.endsWith(".localhost")||(0,d.isIP)(g))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===g}))}(a,b)&&(!!function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{let b=new URL(a.url);return/^\/api\/sessions\/[^/]+\/export$/.test(b.pathname)||function(a){if(!a.pathname.startsWith("/api/files/")||"read"!==a.searchParams.get("type"))return!1;let b=a.pathname.slice(a.pathname.lastIndexOf("/")+1);try{return decodeURIComponent(b).toLowerCase().endsWith(".pdf")}catch{return!1}}(b)}catch{return!1}}(a)||!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))||function(a){let b,c,d,e=a.headers.get("origin");if("cross-site"===a.headers.get("sec-fetch-site"))return!1;if(!e)return!0;let f=(b=new URL(a.url),(c=a.headers.get("host"))?i(`${b.protocol}//${c}`):null);if(null!==f&&i(e)===f)return!0;if("same-origin"!==a.headers.get("sec-fetch-site")||!a.headers.get("x-forwarded-proto"))return!1;let h=a.headers.get("host");if(!h)return!1;try{d=new URL(e).host}catch{return!1}let j=g(d);return null!==j&&j===g(h)}(a))}function k(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},73024:a=>{"use strict";a.exports=require("node:fs")},73071:a=>{function b(a){return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b})}b.keys=()=>[],b.resolve=b,b.id=73071,a.exports=b},73136:a=>{"use strict";a.exports=require("node:url")},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77196:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>l,dynamic:()=>m});var e=c(23211),f=c(56429),g=c(66544),h=c(40402),i=c(50914),j=a([f,h,i]);[f,h,i]=j.then?(await j)():j;let m="force-dynamic",n={"Cache-Control":"no-store"};function k(a,b,c){return e.NextResponse.json({error:c,code:b},{status:a,headers:n})}async function l(a,{params:b}){if(!(0,g.EN)(a))return k(403,"request-denied","Untrusted API request");if(!(0,g.E2)(a))return k(415,"request-denied","Content-Type must be application/json");let{id:c}=await b,d={};try{let b=await a.json();b&&"object"==typeof b&&(d=b)}catch{return k(400,"invalid-body","Invalid JSON body")}try{let a=(0,f.hH)(c),b=(a?.isAlive()?a.sessionFile:"")||await (0,h.os)(c);if(!b)return(0,h.mD)(),k(404,"not_found","Session not found");let g=a?.isAlive()?a.inner.sessionManager.getLeafId():void 0;if(a&&void 0!==g&&!a.isRunning()){let b=(0,h.H6)(a.sessionFile);b&&!a.inner.sessionManager.getEntry(b)&&(g=void 0)}let j="string"==typeof d.leafId?d.leafId:g,l=a?.isAlive()?a.inner.agent?.state?.systemPrompt||a.inner.systemPrompt:void 0,m=a?.isAlive()?a.inner.agent?.state?.tools:void 0,o=await (0,i.iI)({sessionPath:b,leafId:j,systemPrompt:l,tools:m});return e.NextResponse.json(o,{headers:n})}catch(a){if(a instanceof i.UF){if("not_found"===a.code)return(0,h.BR)(c),(0,h.mD)(),k(404,a.code,a.message);return k("empty"===a.code||"radius_unconfigured"===a.code||"gh_missing"===a.code||"gh_unauthenticated"===a.code?409:502,a.code,a.message)}return k(500,"failed",a instanceof Error?a.message:String(a))}}d()}catch(a){d(a)}})},77598:a=>{"use strict";a.exports=require("node:crypto")},79646:a=>{"use strict";a.exports=require("child_process")},79748:a=>{"use strict";a.exports=require("fs/promises")},81115:a=>{"use strict";a.exports=require("constants")},81879:(a,b,c)=>{"use strict";c.d(b,{r:()=>l});var d=c(31421),e=c(73024),f=c(76760),g=c(73136);let h=(0,c(57975).promisify)(d.execFile);async function i(){try{let{getPackageDir:a}=await Promise.resolve().then(c.bind(c,75430));return a()}catch{return null}}async function j(){let a=new Set,b=await i();b&&a.add((0,f.join)(b,"dist","cli.js"));try{let b;if("function"==typeof b){let c=await b("@earendil-works/pi-coding-agent");a.add((0,f.join)((0,f.dirname)((0,g.fileURLToPath)(c)),"cli.js"))}}catch{}for(let b of(a.add((0,f.join)(process.cwd(),"node_modules","@earendil-works","pi-coding-agent","dist","cli.js")),a))if((0,e.existsSync)(b))return b;return null}async function k(a,b){let d=await j();if(d)return void await h(process.execPath,[d,"--export",a,b],{cwd:process.cwd(),timeout:3e4,env:{...process.env,PI_OFFLINE:"1",PI_SKIP_VERSION_CHECK:"1"},maxBuffer:1048576});let e=await i();if(!e)throw Error("pi CLI not found");let k=(0,g.pathToFileURL)((0,f.join)(e,"dist","core","export-html","index.js")).href,{exportFromFile:l}=await c(73071)(k);await l(a,b)}async function l(a,b){var c;let d;await k(a,b);let f=(c=(c=(0,e.readFileSync)(b,"utf8")).replace(/\r\n/g,"\n"),c=(d=(a,b,c,d)=>{let e=c.replace(/\r\n/g,"\n"),f=d.replace(/\r\n/g,"\n"),g=a.split(e).length-1;if(1!==g)throw Error(`Failed to patch exported HTML: ${b} expected 1 match, found ${g}`);return a.replace(e,f)})(c,"sortChildren",` function sortChildren(node) {
|
|
3
|
+
node.children.sort((a, b) =>
|
|
4
|
+
new Date(a.entry.timestamp).getTime() - new Date(b.entry.timestamp).getTime()
|
|
5
|
+
);
|
|
6
|
+
node.children.forEach(sortChildren);
|
|
7
|
+
}`,` function sortChildren(root) {
|
|
8
|
+
const stack = [root];
|
|
9
|
+
while (stack.length) {
|
|
10
|
+
const node = stack.pop();
|
|
11
|
+
node.children.sort((a, b) =>
|
|
12
|
+
new Date(a.entry.timestamp).getTime() - new Date(b.entry.timestamp).getTime()
|
|
13
|
+
);
|
|
14
|
+
for (let i = node.children.length - 1; i >= 0; i--) {
|
|
15
|
+
stack.push(node.children[i]);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}`),c=d(c,"mapNodes",` function mapNodes(node) {
|
|
19
|
+
treeNodeMap.set(node.entry.id, node);
|
|
20
|
+
node.children.forEach(mapNodes);
|
|
21
|
+
}
|
|
22
|
+
tree.forEach(mapNodes);`,` const stack = [...tree].reverse();
|
|
23
|
+
while (stack.length) {
|
|
24
|
+
const node = stack.pop();
|
|
25
|
+
treeNodeMap.set(node.entry.id, node);
|
|
26
|
+
for (let i = node.children.length - 1; i >= 0; i--) {
|
|
27
|
+
stack.push(node.children[i]);
|
|
28
|
+
}
|
|
29
|
+
}`),c=d(c,"markActive",` function markActive(node) {
|
|
30
|
+
let has = activePathIds.has(node.entry.id);
|
|
31
|
+
for (const child of node.children) {
|
|
32
|
+
if (markActive(child)) has = true;
|
|
33
|
+
}
|
|
34
|
+
containsActive.set(node, has);
|
|
35
|
+
return has;
|
|
36
|
+
}`,` function markActive(root) {
|
|
37
|
+
// Post-order traversal using two stacks
|
|
38
|
+
const stack1 = [root];
|
|
39
|
+
const stack2 = [];
|
|
40
|
+
while (stack1.length) {
|
|
41
|
+
const node = stack1.pop();
|
|
42
|
+
stack2.push(node);
|
|
43
|
+
for (const child of node.children) {
|
|
44
|
+
stack1.push(child);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
while (stack2.length) {
|
|
48
|
+
const node = stack2.pop();
|
|
49
|
+
let has = activePathIds.has(node.entry.id);
|
|
50
|
+
for (const child of node.children) {
|
|
51
|
+
if (containsActive.get(child)) has = true;
|
|
52
|
+
}
|
|
53
|
+
containsActive.set(node, has);
|
|
54
|
+
}
|
|
55
|
+
}`));return(0,e.writeFileSync)(b,f,"utf8"),f}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},90986:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/sessions/[id]/share/route",pathname:"/api/sessions/[id]/share",filename:"route",bundlePath:"app/api/sessions/[id]/share/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/tassel/pi-web/app/api/sessions/[id]/share/route.ts",nextConfigOutput:"",userland:()=>c(77196),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/sessions/[id]/share/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},94735:a=>{"use strict";a.exports=require("events")},98995:a=>{"use strict";a.exports=require("node:module")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,426,974,5582,2498,3757,2650,2243,6216,6429],()=>b(b.s=90986));module.exports=c})();
|