@castlekit/castle 0.3.2 → 0.4.1
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/standalone/.next/BUILD_ID +1 -0
- package/.next/standalone/.next/app-path-routes-manifest.json +29 -0
- package/.next/standalone/.next/build-manifest.json +20 -0
- package/.next/standalone/.next/package.json +1 -0
- package/.next/standalone/.next/prerender-manifest.json +186 -0
- package/.next/standalone/.next/required-server-files.json +322 -0
- package/.next/standalone/.next/routes-manifest.json +213 -0
- package/.next/standalone/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +17 -0
- package/.next/standalone/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
- package/.next/standalone/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/_global-error/page.js +10 -0
- package/.next/standalone/.next/server/app/_global-error/page.js.map +5 -0
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/_global-error.html +2 -0
- package/.next/standalone/.next/server/app/_global-error.meta +15 -0
- package/.next/standalone/.next/server/app/_global-error.rsc +12 -0
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +12 -0
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +4 -0
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/standalone/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +17 -0
- package/.next/standalone/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/_not-found/page.js +15 -0
- package/.next/standalone/.next/server/app/_not-found/page.js.map +5 -0
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/_not-found.html +1 -0
- package/.next/standalone/.next/server/app/_not-found.meta +16 -0
- package/.next/standalone/.next/server/app/_not-found.rsc +17 -0
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +17 -0
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +8 -0
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +4 -0
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -0
- package/.next/standalone/.next/server/app/api/avatars/[id]/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/avatars/[id]/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/avatars/[id]/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/avatars/[id]/route.js +9 -0
- package/.next/standalone/.next/server/app/api/avatars/[id]/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/avatars/[id]/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/avatars/[id]/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/[id]/avatar/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/[id]/avatar/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/[id]/avatar/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/[id]/avatar/route.js +9 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/[id]/avatar/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/[id]/avatar/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/[id]/avatar/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/route.js +9 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/status/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/status/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/status/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/status/route.js +13 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/status/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/status/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/openclaw/agents/status/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/attachments/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/attachments/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/attachments/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/attachments/route.js +13 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/attachments/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/attachments/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/attachments/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/channels/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/channels/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/channels/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/channels/route.js +13 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/channels/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/channels/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/channels/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/route.js +14 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/search/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/search/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/search/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/search/route.js +13 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/search/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/search/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/search/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/storage/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/storage/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/storage/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/storage/route.js +13 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/storage/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/storage/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/openclaw/chat/storage/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/openclaw/config/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/openclaw/config/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/openclaw/config/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/openclaw/config/route.js +9 -0
- package/.next/standalone/.next/server/app/api/openclaw/config/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/openclaw/config/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/openclaw/config/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/openclaw/events/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/openclaw/events/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/openclaw/events/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/openclaw/events/route.js +8 -0
- package/.next/standalone/.next/server/app/api/openclaw/events/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/openclaw/events/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/openclaw/events/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/openclaw/logs/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/openclaw/logs/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/openclaw/logs/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/openclaw/logs/route.js +8 -0
- package/.next/standalone/.next/server/app/api/openclaw/logs/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/openclaw/logs/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/openclaw/logs/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/openclaw/ping/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/openclaw/ping/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/openclaw/ping/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/openclaw/ping/route.js +9 -0
- package/.next/standalone/.next/server/app/api/openclaw/ping/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/openclaw/ping/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/openclaw/ping/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/openclaw/restart/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/openclaw/restart/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/openclaw/restart/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/openclaw/restart/route.js +7 -0
- package/.next/standalone/.next/server/app/api/openclaw/restart/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/openclaw/restart/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/openclaw/restart/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/openclaw/session/context/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/openclaw/session/context/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/openclaw/session/context/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/openclaw/session/context/route.js +14 -0
- package/.next/standalone/.next/server/app/api/openclaw/session/context/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/openclaw/session/context/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/openclaw/session/context/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/openclaw/session/status/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/openclaw/session/status/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/openclaw/session/status/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/openclaw/session/status/route.js +8 -0
- package/.next/standalone/.next/server/app/api/openclaw/session/status/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/openclaw/session/status/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/openclaw/session/status/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/openclaw/sessions/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/openclaw/sessions/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/openclaw/sessions/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/openclaw/sessions/route.js +8 -0
- package/.next/standalone/.next/server/app/api/openclaw/sessions/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/openclaw/sessions/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/openclaw/sessions/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/settings/avatar/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/settings/avatar/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/settings/avatar/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/settings/avatar/route.js +13 -0
- package/.next/standalone/.next/server/app/api/settings/avatar/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/settings/avatar/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/settings/avatar/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/settings/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/settings/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/settings/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/settings/route.js +13 -0
- package/.next/standalone/.next/server/app/api/settings/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/settings/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/chat/[channelId]/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/chat/[channelId]/page/build-manifest.json +17 -0
- package/.next/standalone/.next/server/app/chat/[channelId]/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/chat/[channelId]/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/chat/[channelId]/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/chat/[channelId]/page.js +18 -0
- package/.next/standalone/.next/server/app/chat/[channelId]/page.js.map +5 -0
- package/.next/standalone/.next/server/app/chat/[channelId]/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/chat/[channelId]/page_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/chat/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/chat/page/build-manifest.json +17 -0
- package/.next/standalone/.next/server/app/chat/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/chat/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/chat/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/chat/page.js +18 -0
- package/.next/standalone/.next/server/app/chat/page.js.map +5 -0
- package/.next/standalone/.next/server/app/chat/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/chat/page_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/chat.html +1 -0
- package/.next/standalone/.next/server/app/chat.meta +15 -0
- package/.next/standalone/.next/server/app/chat.rsc +26 -0
- package/.next/standalone/.next/server/app/chat.segments/_full.segment.rsc +26 -0
- package/.next/standalone/.next/server/app/chat.segments/_head.segment.rsc +6 -0
- package/.next/standalone/.next/server/app/chat.segments/_index.segment.rsc +8 -0
- package/.next/standalone/.next/server/app/chat.segments/_tree.segment.rsc +4 -0
- package/.next/standalone/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +9 -0
- package/.next/standalone/.next/server/app/chat.segments/chat.segment.rsc +7 -0
- package/.next/standalone/.next/server/app/icon.png/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/icon.png/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/icon.png/route.js +8 -0
- package/.next/standalone/.next/server/app/icon.png/route.js.map +5 -0
- package/.next/standalone/.next/server/app/icon.png/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/icon.png.body +0 -0
- package/.next/standalone/.next/server/app/icon.png.meta +1 -0
- package/.next/standalone/.next/server/app/index.html +1 -0
- package/.next/standalone/.next/server/app/index.meta +14 -0
- package/.next/standalone/.next/server/app/index.rsc +23 -0
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +9 -0
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +23 -0
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +6 -0
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +8 -0
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +4 -0
- package/.next/standalone/.next/server/app/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/page/build-manifest.json +17 -0
- package/.next/standalone/.next/server/app/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/page.js +17 -0
- package/.next/standalone/.next/server/app/page.js.map +5 -0
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/settings/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/settings/page/build-manifest.json +17 -0
- package/.next/standalone/.next/server/app/settings/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/settings/page.js +17 -0
- package/.next/standalone/.next/server/app/settings/page.js.map +5 -0
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/settings.html +1 -0
- package/.next/standalone/.next/server/app/settings.meta +15 -0
- package/.next/standalone/.next/server/app/settings.rsc +23 -0
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +23 -0
- package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +6 -0
- package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +8 -0
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +4 -0
- package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +9 -0
- package/.next/standalone/.next/server/app/settings.segments/settings.segment.rsc +4 -0
- package/.next/standalone/.next/server/app/ui-kit/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/ui-kit/page/build-manifest.json +17 -0
- package/.next/standalone/.next/server/app/ui-kit/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/ui-kit/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/ui-kit/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/ui-kit/page.js +17 -0
- package/.next/standalone/.next/server/app/ui-kit/page.js.map +5 -0
- package/.next/standalone/.next/server/app/ui-kit/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/ui-kit/page_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/ui-kit.html +1 -0
- package/.next/standalone/.next/server/app/ui-kit.meta +15 -0
- package/.next/standalone/.next/server/app/ui-kit.rsc +23 -0
- package/.next/standalone/.next/server/app/ui-kit.segments/_full.segment.rsc +23 -0
- package/.next/standalone/.next/server/app/ui-kit.segments/_head.segment.rsc +6 -0
- package/.next/standalone/.next/server/app/ui-kit.segments/_index.segment.rsc +8 -0
- package/.next/standalone/.next/server/app/ui-kit.segments/_tree.segment.rsc +4 -0
- package/.next/standalone/.next/server/app/ui-kit.segments/ui-kit/__PAGE__.segment.rsc +9 -0
- package/.next/standalone/.next/server/app/ui-kit.segments/ui-kit.segment.rsc +4 -0
- package/.next/standalone/.next/server/app-paths-manifest.json +29 -0
- package/.next/standalone/.next/server/chunks/[externals]_next_dist_a6d89067._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2824c41d._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__28c35c7d._.js +11 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2aa60cfc._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2e91224f._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__361bce14._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__36b434e7._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__47efedcd._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4b157e5a._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__56815e49._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5ef29d48._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5f6aa90c._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__7114163c._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8f5ebbc3._.js +7 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__93758a40._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a80a1099._.js +31 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__af3cebf7._.js +138 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b3182da1._.js +4 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b39f673e._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__bbd3b47c._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c223b7d3._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c7ce1c43._.js +4 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e50da949._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__f41df55c._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__faf9ad2e._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__fe76fb40._.js +3 -0
- package/.next/standalone/.next/server/chunks/[turbopack]_runtime.js +795 -0
- package/.next/standalone/.next/server/chunks/_b137597c._.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_avatars_[id]_route_actions_21e11acd.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_openclaw_agents_[id]_avatar_route_actions_1cb9863b.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_openclaw_agents_route_actions_82d135b1.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_openclaw_agents_status_route_actions_0b88c8a6.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_openclaw_chat_attachments_route_actions_07ce0270.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_openclaw_chat_channels_route_actions_945f54a8.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_openclaw_chat_route_actions_cd398c8d.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_openclaw_chat_search_route_actions_d1599780.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_openclaw_chat_storage_route_actions_fd3e7369.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_openclaw_config_route_actions_3c2a30de.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_openclaw_events_route_actions_24b1acfe.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_openclaw_logs_route_actions_151f8335.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_openclaw_ping_route_actions_3079a70c.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_openclaw_restart_route_actions_25b671bb.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_openclaw_session_context_route_actions_14ebc427.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_openclaw_session_status_route_actions_060ba4f4.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_openclaw_sessions_route_actions_0c00f4a9.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_settings_avatar_route_actions_e222d284.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_a476013b.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_icon_png_route_actions_fa3562e2.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_drizzle-orm_a549359e._.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_drizzle-orm_f8415f57._.js +4 -0
- package/.next/standalone/.next/server/chunks/node_modules_drizzle-orm_index_d5f6a514.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_next_1402a1da._.js +17 -0
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_97dac613.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__03219135._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0f7b131d._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1690ee0d._.js +10 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__31de57f6._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__4e637dc9._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__55ece10e._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__69f5a83d._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__a457c799._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__a5ce2f72._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__aecdcbb6._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__b4ed2322._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__ca05f4a0._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__e2f86be8._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__e375a3a7._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__ea12eca9._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__ed06de41._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__f907a2ce._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[turbopack]_runtime.js +795 -0
- package/.next/standalone/.next/server/chunks/ssr/_0bb5ce6a._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_30d6fdaa._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_3b2b917b._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/_3bf0a72b._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/_539da066._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/_6caa74c9._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_7a67de23._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_7b52fbee._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_84fe35ec._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_ac1c4494._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_ca23d3b0._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/_d04daf62._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_e6db8164._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/_ef4d503b._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_75761787.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_554ec2bf.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_chat_[channelId]_page_actions_6220414d.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_chat_page_actions_c92d15a6.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_page_actions_39d4fc33.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_settings_page_actions_840229cd.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_ui-kit_page_actions_8486bfbd.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_45598cbe._.js +6 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_d3586d0c._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_95f27697._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_08570d7f._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_65e60196._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_681edc0a._.js +6 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_9774470f._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_45780354.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_ece394eb.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_15817684.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_02f39477.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_f9713a08._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_0c8a77b8._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_chat_layout_tsx_31cd0231._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_chat_layout_tsx_be09920b._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_chat_page_tsx_2a0793ad._.js +3 -0
- package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__25fe7590._.js +15 -0
- package/.next/standalone/.next/server/edge/chunks/node_modules_next_dist_esm_build_templates_edge-wrapper_78fa9d6a.js +3 -0
- package/.next/standalone/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_99e3e1b8.js +6 -0
- package/.next/standalone/.next/server/functions-config-manifest.json +6 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +21 -0
- package/.next/standalone/.next/server/middleware-manifest.json +33 -0
- package/.next/standalone/.next/server/next-font-manifest.js +1 -0
- package/.next/standalone/.next/server/next-font-manifest.json +31 -0
- package/.next/standalone/.next/server/pages/404.html +1 -0
- package/.next/standalone/.next/server/pages/500.html +2 -0
- package/.next/standalone/.next/server/pages-manifest.json +4 -0
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/server-reference-manifest.json +5 -0
- package/.next/standalone/.next/static/IDGX3MGCjqUE6NQVlug5A/_buildManifest.js +11 -0
- package/.next/standalone/.next/static/IDGX3MGCjqUE6NQVlug5A/_clientMiddlewareManifest.json +6 -0
- package/.next/standalone/.next/static/IDGX3MGCjqUE6NQVlug5A/_ssgManifest.js +1 -0
- package/.next/standalone/.next/static/chunks/1c362778d42e76b0.js +1 -0
- package/.next/standalone/.next/static/chunks/2b48886a383c2e37.js +1 -0
- package/.next/standalone/.next/static/chunks/3c2b51fd3ab2ac34.css +3 -0
- package/.next/standalone/.next/static/chunks/3fef23e63934711e.js +1 -0
- package/.next/standalone/.next/static/chunks/5781c606560d6f13.js +1 -0
- package/.next/standalone/.next/static/chunks/5a1105a61e9390f8.js +1 -0
- package/.next/standalone/.next/static/chunks/6468938847443ae8.js +1 -0
- package/.next/standalone/.next/static/chunks/76c064224d953678.js +4 -0
- package/.next/standalone/.next/static/chunks/77868ed664ba62d2.js +1 -0
- package/.next/standalone/.next/static/chunks/7de9141b1af425c3.js +1 -0
- package/.next/standalone/.next/static/chunks/868f09ea8b0a7649.js +1 -0
- package/.next/standalone/.next/static/chunks/97d384ea34b6283a.js +1 -0
- package/.next/standalone/.next/static/chunks/a6dad97d9634a72d.js +1 -0
- package/.next/standalone/.next/static/chunks/a6dad97d9634a72d.js.map +1 -0
- package/.next/standalone/.next/static/chunks/afd967a636289a73.js +1 -0
- package/.next/standalone/.next/static/chunks/bffbc071b1075ac3.js +1 -0
- package/.next/standalone/.next/static/chunks/d11263c7e8894d27.js +1 -0
- package/.next/standalone/.next/static/chunks/f1f489dad7e35d90.js +2 -0
- package/.next/standalone/.next/static/chunks/turbopack-1da073e19f58dee0.js +4 -0
- package/.next/standalone/.next/static/media/4fa387ec64143e14-s.c1fdd6c2.woff2 +0 -0
- package/.next/standalone/.next/static/media/7178b3e590c64307-s.b97b3418.woff2 +0 -0
- package/.next/standalone/.next/static/media/797e433ab948586e-s.p.dbea232f.woff2 +0 -0
- package/.next/standalone/.next/static/media/8a480f0b521d4e75-s.8e0177b5.woff2 +0 -0
- package/.next/standalone/.next/static/media/bbc41e54d2fcbd21-s.799d8ef8.woff2 +0 -0
- package/.next/standalone/.next/static/media/caa3a2e1cccd8315-s.p.853070df.woff2 +0 -0
- package/.next/standalone/.next/static/media/icon.4cc5e0bd.png +0 -0
- package/.next/standalone/CHANGELOG.md +194 -0
- package/.next/standalone/CONTRIBUTING.md +46 -0
- package/.next/standalone/LICENSE +21 -0
- package/.next/standalone/README.md +54 -0
- package/.next/standalone/SECURITY.md +80 -0
- package/.next/standalone/bin/castle.js +193 -0
- package/.next/standalone/castle_secrets.py +29 -0
- package/.next/standalone/drizzle.config.ts +7 -0
- package/.next/standalone/index.js +1 -0
- package/.next/standalone/install.ps1 +437 -0
- package/.next/standalone/install.sh +780 -0
- package/.next/standalone/next.config.ts +9 -0
- package/.next/standalone/package-lock.json +8115 -0
- package/.next/standalone/package.json +106 -0
- package/.next/standalone/postcss.config.mjs +7 -0
- package/.next/standalone/server.js +44 -0
- package/.next/standalone/src/app/api/avatars/[id]/route.ts +172 -0
- package/.next/standalone/src/app/api/openclaw/agents/[id]/avatar/route.ts +216 -0
- package/.next/standalone/src/app/api/openclaw/agents/route.ts +149 -0
- package/.next/standalone/src/app/api/openclaw/agents/status/route.ts +55 -0
- package/.next/standalone/src/app/api/openclaw/chat/attachments/route.ts +230 -0
- package/.next/standalone/src/app/api/openclaw/chat/channels/route.ts +217 -0
- package/.next/standalone/src/app/api/openclaw/chat/route.ts +283 -0
- package/.next/standalone/src/app/api/openclaw/chat/search/route.ts +150 -0
- package/.next/standalone/src/app/api/openclaw/chat/storage/route.ts +75 -0
- package/.next/standalone/src/app/api/openclaw/config/route.ts +137 -0
- package/.next/standalone/src/app/api/openclaw/events/route.ts +140 -0
- package/.next/standalone/src/app/api/openclaw/logs/route.ts +74 -0
- package/.next/standalone/src/app/api/openclaw/ping/route.ts +73 -0
- package/.next/standalone/src/app/api/openclaw/restart/route.ts +73 -0
- package/.next/standalone/src/app/api/openclaw/session/context/route.ts +163 -0
- package/.next/standalone/src/app/api/openclaw/session/status/route.ts +210 -0
- package/.next/standalone/src/app/api/openclaw/sessions/route.ts +64 -0
- package/.next/standalone/src/app/api/settings/avatar/route.ts +190 -0
- package/.next/standalone/src/app/api/settings/route.ts +88 -0
- package/.next/standalone/src/app/chat/[channelId]/error-boundary.tsx +64 -0
- package/.next/standalone/src/app/chat/[channelId]/page.tsx +385 -0
- package/.next/standalone/src/app/chat/layout.tsx +96 -0
- package/.next/standalone/src/app/chat/page.tsx +52 -0
- package/.next/standalone/src/app/globals.css +383 -0
- package/.next/standalone/src/app/icon.png +0 -0
- package/.next/standalone/src/app/layout.tsx +48 -0
- package/.next/standalone/src/app/page.tsx +390 -0
- package/.next/standalone/src/app/settings/page.tsx +300 -0
- package/.next/standalone/src/app/ui-kit/page.tsx +684 -0
- package/.next/standalone/src/cli/onboarding.ts +883 -0
- package/.next/standalone/src/components/chat/agent-mention-popup.tsx +89 -0
- package/.next/standalone/src/components/chat/archived-channels.tsx +190 -0
- package/.next/standalone/src/components/chat/channel-list.tsx +140 -0
- package/.next/standalone/src/components/chat/chat-input.tsx +328 -0
- package/.next/standalone/src/components/chat/create-channel-dialog.tsx +171 -0
- package/.next/standalone/src/components/chat/markdown-content.tsx +205 -0
- package/.next/standalone/src/components/chat/message-bubble.tsx +168 -0
- package/.next/standalone/src/components/chat/message-list.tsx +666 -0
- package/.next/standalone/src/components/chat/message-queue.tsx +68 -0
- package/.next/standalone/src/components/chat/session-divider.tsx +61 -0
- package/.next/standalone/src/components/chat/session-stats-panel.tsx +444 -0
- package/.next/standalone/src/components/chat/storage-indicator.tsx +76 -0
- package/.next/standalone/src/components/dashboard/agent-status.tsx +107 -0
- package/.next/standalone/src/components/dashboard/glass-card.tsx +28 -0
- package/.next/standalone/src/components/dashboard/goal-widget.tsx +174 -0
- package/.next/standalone/src/components/dashboard/greeting-widget.tsx +78 -0
- package/.next/standalone/src/components/dashboard/index.ts +7 -0
- package/.next/standalone/src/components/dashboard/stat-widget.tsx +61 -0
- package/.next/standalone/src/components/dashboard/stock-widget.tsx +164 -0
- package/.next/standalone/src/components/dashboard/weather-widget.tsx +68 -0
- package/.next/standalone/src/components/icons/castle-icon.tsx +21 -0
- package/.next/standalone/src/components/kanban/index.ts +3 -0
- package/.next/standalone/src/components/kanban/kanban-board.tsx +391 -0
- package/.next/standalone/src/components/kanban/kanban-card.tsx +137 -0
- package/.next/standalone/src/components/kanban/kanban-column.tsx +98 -0
- package/.next/standalone/src/components/layout/index.ts +4 -0
- package/.next/standalone/src/components/layout/page-header.tsx +20 -0
- package/.next/standalone/src/components/layout/sidebar.tsx +209 -0
- package/.next/standalone/src/components/layout/theme-toggle.tsx +59 -0
- package/.next/standalone/src/components/layout/user-menu.tsx +97 -0
- package/.next/standalone/src/components/providers/presence-provider.tsx +8 -0
- package/.next/standalone/src/components/providers/search-provider.tsx +110 -0
- package/.next/standalone/src/components/search/search-dialog.tsx +269 -0
- package/.next/standalone/src/components/ui/alert.tsx +72 -0
- package/.next/standalone/src/components/ui/avatar.tsx +89 -0
- package/.next/standalone/src/components/ui/badge.tsx +39 -0
- package/.next/standalone/src/components/ui/button.tsx +43 -0
- package/.next/standalone/src/components/ui/card.tsx +107 -0
- package/.next/standalone/src/components/ui/checkbox.tsx +56 -0
- package/.next/standalone/src/components/ui/clock.tsx +171 -0
- package/.next/standalone/src/components/ui/dialog.tsx +111 -0
- package/.next/standalone/src/components/ui/index.ts +34 -0
- package/.next/standalone/src/components/ui/input.tsx +112 -0
- package/.next/standalone/src/components/ui/option-card.tsx +151 -0
- package/.next/standalone/src/components/ui/progress.tsx +103 -0
- package/.next/standalone/src/components/ui/radio.tsx +109 -0
- package/.next/standalone/src/components/ui/select.tsx +46 -0
- package/.next/standalone/src/components/ui/slider.tsx +62 -0
- package/.next/standalone/src/components/ui/tabs.tsx +132 -0
- package/.next/standalone/src/components/ui/toggle-group.tsx +85 -0
- package/.next/standalone/src/components/ui/toggle.tsx +78 -0
- package/.next/standalone/src/components/ui/tooltip.tsx +162 -0
- package/.next/standalone/src/components/ui/twemoji-text.tsx +37 -0
- package/.next/standalone/src/components/ui/uptime.tsx +106 -0
- package/.next/standalone/src/lib/api-security.ts +188 -0
- package/.next/standalone/src/lib/config.ts +227 -0
- package/.next/standalone/src/lib/date-utils.ts +79 -0
- package/.next/standalone/src/lib/db/index.ts +652 -0
- package/.next/standalone/src/lib/db/queries.ts +1144 -0
- package/.next/standalone/src/lib/db/schema.ts +164 -0
- package/.next/standalone/src/lib/device-identity.ts +303 -0
- package/.next/standalone/src/lib/gateway-connection.ts +649 -0
- package/.next/standalone/src/lib/hooks/use-agent-status.ts +251 -0
- package/.next/standalone/src/lib/hooks/use-chat.ts +753 -0
- package/.next/standalone/src/lib/hooks/use-compaction-events.ts +132 -0
- package/.next/standalone/src/lib/hooks/use-context-boundary.ts +82 -0
- package/.next/standalone/src/lib/hooks/use-openclaw.ts +185 -0
- package/.next/standalone/src/lib/hooks/use-search.ts +114 -0
- package/.next/standalone/src/lib/hooks/use-session-stats.ts +60 -0
- package/.next/standalone/src/lib/hooks/use-user-settings.ts +46 -0
- package/.next/standalone/src/lib/sse-singleton.ts +184 -0
- package/.next/standalone/src/lib/types/chat.ts +202 -0
- package/.next/standalone/src/lib/types/search.ts +60 -0
- package/.next/standalone/src/lib/utils.ts +6 -0
- package/.next/standalone/src/middleware.ts +52 -0
- package/.next/standalone/tsconfig.json +34 -0
- package/.next/standalone/vitest.config.ts +14 -0
- package/.next/standalone/vitest.stress.config.ts +14 -0
- package/.next/standalone/zizmor.yml +17 -0
- package/.next/static/IDGX3MGCjqUE6NQVlug5A/_buildManifest.js +11 -0
- package/.next/static/IDGX3MGCjqUE6NQVlug5A/_clientMiddlewareManifest.json +6 -0
- package/.next/static/IDGX3MGCjqUE6NQVlug5A/_ssgManifest.js +1 -0
- package/.next/static/chunks/1c362778d42e76b0.js +1 -0
- package/.next/static/chunks/2b48886a383c2e37.js +1 -0
- package/.next/static/chunks/3c2b51fd3ab2ac34.css +3 -0
- package/.next/static/chunks/3fef23e63934711e.js +1 -0
- package/.next/static/chunks/5781c606560d6f13.js +1 -0
- package/.next/static/chunks/5a1105a61e9390f8.js +1 -0
- package/.next/static/chunks/6468938847443ae8.js +1 -0
- package/.next/static/chunks/76c064224d953678.js +4 -0
- package/.next/static/chunks/77868ed664ba62d2.js +1 -0
- package/.next/static/chunks/7de9141b1af425c3.js +1 -0
- package/.next/static/chunks/868f09ea8b0a7649.js +1 -0
- package/.next/static/chunks/97d384ea34b6283a.js +1 -0
- package/.next/static/chunks/a6dad97d9634a72d.js +1 -0
- package/.next/static/chunks/a6dad97d9634a72d.js.map +1 -0
- package/.next/static/chunks/afd967a636289a73.js +1 -0
- package/.next/static/chunks/bffbc071b1075ac3.js +1 -0
- package/.next/static/chunks/d11263c7e8894d27.js +1 -0
- package/.next/static/chunks/f1f489dad7e35d90.js +2 -0
- package/.next/static/chunks/turbopack-1da073e19f58dee0.js +4 -0
- package/.next/static/media/4fa387ec64143e14-s.c1fdd6c2.woff2 +0 -0
- package/.next/static/media/7178b3e590c64307-s.b97b3418.woff2 +0 -0
- package/.next/static/media/797e433ab948586e-s.p.dbea232f.woff2 +0 -0
- package/.next/static/media/8a480f0b521d4e75-s.8e0177b5.woff2 +0 -0
- package/.next/static/media/bbc41e54d2fcbd21-s.799d8ef8.woff2 +0 -0
- package/.next/static/media/caa3a2e1cccd8315-s.p.853070df.woff2 +0 -0
- package/.next/static/media/icon.4cc5e0bd.png +0 -0
- package/bin/castle.js +17 -0
- package/install.ps1 +437 -0
- package/install.sh +4 -0
- package/next.config.ts +1 -0
- package/package.json +6 -1
- package/src/cli/onboarding.ts +197 -50
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
module.exports=[27699,(e,t,s)=>{t.exports=e.x("events",()=>require("events"))},24836,(e,t,s)=>{t.exports=e.x("https",()=>require("https"))},21517,(e,t,s)=>{t.exports=e.x("http",()=>require("http"))},4446,(e,t,s)=>{t.exports=e.x("net",()=>require("net"))},55004,(e,t,s)=>{t.exports=e.x("tls",()=>require("tls"))},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},88947,(e,t,s)=>{t.exports=e.x("stream",()=>require("stream"))},92509,(e,t,s)=>{t.exports=e.x("url",()=>require("url"))},6461,(e,t,s)=>{t.exports=e.x("zlib",()=>require("zlib"))},74836,(e,t,s)=>{"use strict";let r=["nodebuffer","arraybuffer","fragments"],i="u">typeof Blob;i&&r.push("blob"),t.exports={BINARY_TYPES:r,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:i,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}},97970,(e,t,s)=>{"use strict";let{EMPTY_BUFFER:r}=e.r(74836),i=Buffer[Symbol.species];function o(e,t,s,r,i){for(let o=0;o<i;o++)s[r+o]=e[o]^t[3&o]}function n(e,t){for(let s=0;s<e.length;s++)e[s]^=t[3&s]}function a(e){let t;return(a.readOnly=!0,Buffer.isBuffer(e))?e:(e instanceof ArrayBuffer?t=new i(e):ArrayBuffer.isView(e)?t=new i(e.buffer,e.byteOffset,e.byteLength):(t=Buffer.from(e),a.readOnly=!1),t)}if(t.exports={concat:function(e,t){if(0===e.length)return r;if(1===e.length)return e[0];let s=Buffer.allocUnsafe(t),o=0;for(let t=0;t<e.length;t++){let r=e[t];s.set(r,o),o+=r.length}return o<t?new i(s.buffer,s.byteOffset,o):s},mask:o,toArrayBuffer:function(e){return e.length===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.length)},toBuffer:a,unmask:n},!process.env.WS_NO_BUFFER_UTIL)try{let e=(()=>{let e=Error("Cannot find module 'bufferutil'");throw e.code="MODULE_NOT_FOUND",e})();t.exports.mask=function(t,s,r,i,n){n<48?o(t,s,r,i,n):e.mask(t,s,r,i,n)},t.exports.unmask=function(t,s){t.length<32?n(t,s):e.unmask(t,s)}}catch(e){}},62048,(e,t,s)=>{"use strict";let r=Symbol("kDone"),i=Symbol("kRun");t.exports=class{constructor(e){this[r]=()=>{this.pending--,this[i]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[i]()}[i](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[r])}}}},80295,(e,t,s)=>{"use strict";let r,i=e.r(6461),o=e.r(97970),n=e.r(62048),{kStatusCode:a}=e.r(74836),l=Buffer[Symbol.species],h=Buffer.from([0,0,255,255]),c=Symbol("permessage-deflate"),d=Symbol("total-length"),u=Symbol("callback"),f=Symbol("buffers"),_=Symbol("error");function p(e){this[f].push(e),this[d]+=e.length}function m(e){(this[d]+=e.length,this[c]._maxPayload<1||this[d]<=this[c]._maxPayload)?this[f].push(e):(this[_]=RangeError("Max payload size exceeded"),this[_].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[_][a]=1009,this.removeListener("data",m),this.reset())}function y(e){(this[c]._inflate=null,this[_])?this[u](this[_]):(e[a]=1007,this[u](e))}t.exports=class{constructor(e,t,s){this._maxPayload=0|s,this._options=e||{},this._threshold=void 0!==this._options.threshold?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,r||(r=new n(void 0!==this._options.concurrencyLimit?this._options.concurrencyLimit:10))}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:null==this._options.clientMaxWindowBits&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[u];this._deflate.close(),this._deflate=null,e&&e(Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,s=e.find(e=>(!1!==t.serverNoContextTakeover||!e.server_no_context_takeover)&&(!e.server_max_window_bits||!1!==t.serverMaxWindowBits&&("number"!=typeof t.serverMaxWindowBits||!(t.serverMaxWindowBits>e.server_max_window_bits)))&&("number"!=typeof t.clientMaxWindowBits||!!e.client_max_window_bits));if(!s)throw Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(s.server_no_context_takeover=!0),t.clientNoContextTakeover&&(s.client_no_context_takeover=!0),"number"==typeof t.serverMaxWindowBits&&(s.server_max_window_bits=t.serverMaxWindowBits),"number"==typeof t.clientMaxWindowBits?s.client_max_window_bits=t.clientMaxWindowBits:(!0===s.client_max_window_bits||!1===t.clientMaxWindowBits)&&delete s.client_max_window_bits,s}acceptAsClient(e){let t=e[0];if(!1===this._options.clientNoContextTakeover&&t.client_no_context_takeover)throw Error('Unexpected parameter "client_no_context_takeover"');if(t.client_max_window_bits){if(!1===this._options.clientMaxWindowBits||"number"==typeof this._options.clientMaxWindowBits&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw Error('Unexpected or invalid parameter "client_max_window_bits"')}else"number"==typeof this._options.clientMaxWindowBits&&(t.client_max_window_bits=this._options.clientMaxWindowBits);return t}normalizeParams(e){return e.forEach(e=>{Object.keys(e).forEach(t=>{let s=e[t];if(s.length>1)throw Error(`Parameter "${t}" must have only a single value`);if(s=s[0],"client_max_window_bits"===t){if(!0!==s){let e=+s;if(!Number.isInteger(e)||e<8||e>15)throw TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else if(!this._isServer)throw TypeError(`Invalid value for parameter "${t}": ${s}`)}else if("server_max_window_bits"===t){let e=+s;if(!Number.isInteger(e)||e<8||e>15)throw TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else if("client_no_context_takeover"===t||"server_no_context_takeover"===t){if(!0!==s)throw TypeError(`Invalid value for parameter "${t}": ${s}`)}else throw Error(`Unknown parameter "${t}"`);e[t]=s})}),e}decompress(e,t,s){r.add(r=>{this._decompress(e,t,(e,t)=>{r(),s(e,t)})})}compress(e,t,s){r.add(r=>{this._compress(e,t,(e,t)=>{r(),s(e,t)})})}_decompress(e,t,s){let r=this._isServer?"client":"server";if(!this._inflate){let e=`${r}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._inflate=i.createInflateRaw({...this._options.zlibInflateOptions,windowBits:t}),this._inflate[c]=this,this._inflate[d]=0,this._inflate[f]=[],this._inflate.on("error",y),this._inflate.on("data",m)}this._inflate[u]=s,this._inflate.write(e),t&&this._inflate.write(h),this._inflate.flush(()=>{let e=this._inflate[_];if(e){this._inflate.close(),this._inflate=null,s(e);return}let i=o.concat(this._inflate[f],this._inflate[d]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[d]=0,this._inflate[f]=[],t&&this.params[`${r}_no_context_takeover`]&&this._inflate.reset()),s(null,i)})}_compress(e,t,s){let r=this._isServer?"server":"client";if(!this._deflate){let e=`${r}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._deflate=i.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:t}),this._deflate[d]=0,this._deflate[f]=[],this._deflate.on("data",p)}this._deflate[u]=s,this._deflate.write(e),this._deflate.flush(i.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let e=o.concat(this._deflate[f],this._deflate[d]);t&&(e=new l(e.buffer,e.byteOffset,e.length-4)),this._deflate[u]=null,this._deflate[d]=0,this._deflate[f]=[],t&&this.params[`${r}_no_context_takeover`]&&this._deflate.reset(),s(null,e)})}}},874,(e,t,s)=>{t.exports=e.x("buffer",()=>require("buffer"))},58739,(e,t,s)=>{"use strict";let{isUtf8:r}=e.r(874),{hasBlob:i}=e.r(74836);function o(e){let t=e.length,s=0;for(;s<t;)if((128&e[s])==0)s++;else if((224&e[s])==192){if(s+1===t||(192&e[s+1])!=128||(254&e[s])==192)return!1;s+=2}else if((240&e[s])==224){if(s+2>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||224===e[s]&&(224&e[s+1])==128||237===e[s]&&(224&e[s+1])==160)return!1;s+=3}else{if((248&e[s])!=240||s+3>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||(192&e[s+3])!=128||240===e[s]&&(240&e[s+1])==128||244===e[s]&&e[s+1]>143||e[s]>244)return!1;s+=4}return!0}if(t.exports={isBlob:function(e){return i&&"object"==typeof e&&"function"==typeof e.arrayBuffer&&"string"==typeof e.type&&"function"==typeof e.stream&&("Blob"===e[Symbol.toStringTag]||"File"===e[Symbol.toStringTag])},isValidStatusCode:function(e){return e>=1e3&&e<=1014&&1004!==e&&1005!==e&&1006!==e||e>=3e3&&e<=4999},isValidUTF8:o,tokenChars:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0]},r)t.exports.isValidUTF8=function(e){return e.length<24?o(e):r(e)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let e=(()=>{let e=Error("Cannot find module 'utf-8-validate'");throw e.code="MODULE_NOT_FOUND",e})();t.exports.isValidUTF8=function(t){return t.length<32?o(t):e(t)}}catch(e){}},29485,(e,t,s)=>{"use strict";let{Writable:r}=e.r(88947),i=e.r(80295),{BINARY_TYPES:o,EMPTY_BUFFER:n,kStatusCode:a,kWebSocket:l}=e.r(74836),{concat:h,toArrayBuffer:c,unmask:d}=e.r(97970),{isValidStatusCode:u,isValidUTF8:f}=e.r(58739),_=Buffer[Symbol.species];t.exports=class extends r{constructor(e={}){super(),this._allowSynchronousEvents=void 0===e.allowSynchronousEvents||e.allowSynchronousEvents,this._binaryType=e.binaryType||o[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=0|e.maxPayload,this._skipUTF8Validation=!!e.skipUTF8Validation,this[l]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(e,t,s){if(8===this._opcode&&0==this._state)return s();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(s)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let t=this._buffers[0];return this._buffers[0]=new _(t.buffer,t.byteOffset+e,t.length-e),new _(t.buffer,t.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let s=this._buffers[0],r=t.length-e;e>=s.length?t.set(this._buffers.shift(),r):(t.set(new Uint8Array(s.buffer,s.byteOffset,e),r),this._buffers[0]=new _(s.buffer,s.byteOffset+e,s.length-e)),e-=s.length}while(e>0)return t}startLoop(e){this._loop=!0;do switch(this._state){case 0:this.getInfo(e);break;case 1:this.getPayloadLength16(e);break;case 2:this.getPayloadLength64(e);break;case 3:this.getMask();break;case 4:this.getData(e);break;case 5:case 6:this._loop=!1;return}while(this._loop)this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((48&t[0])!=0)return void e(this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3"));let s=(64&t[0])==64;if(s&&!this._extensions[i.extensionName])return void e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._fin=(128&t[0])==128,this._opcode=15&t[0],this._payloadLength=127&t[1],0===this._opcode){if(s)return void e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(!this._fragmented)return void e(this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE"));this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented)return void e(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));this._compressed=s}else{if(!(this._opcode>7)||!(this._opcode<11))return void e(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));if(!this._fin)return void e(this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN"));if(s)return void e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._payloadLength>125||8===this._opcode&&1===this._payloadLength)return void e(this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"))}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=(128&t[1])==128,this._isServer){if(!this._masked)return void e(this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK"))}else if(this._masked)return void e(this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK"));126===this._payloadLength?this._state=1:127===this._payloadLength?this._state=2:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),s=t.readUInt32BE(0);s>2097151?e(this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH")):(this._payloadLength=0x100000000*s+t.readUInt32BE(4),this.haveLength(e))}haveLength(e){this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)?e(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH")):this._masked?this._state=3:this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(e){let t=n;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!=0&&d(t,this._mask)}if(this._opcode>7)return void this.controlMessage(t,e);if(this._compressed){this._state=5,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[i.extensionName].decompress(e,this._fin,(e,s)=>{if(e)return t(e);if(s.length){if(this._messageLength+=s.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return void t(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._fragments.push(s)}this.dataMessage(t),0===this._state&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=0;return}let t=this._messageLength,s=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let r;r="nodebuffer"===this._binaryType?h(s,t):"arraybuffer"===this._binaryType?c(h(s,t)):"blob"===this._binaryType?new Blob(s):s,this._allowSynchronousEvents?(this.emit("message",r,!0),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",r,!0),this._state=0,this.startLoop(e)}))}else{let r=h(s,t);if(!this._skipUTF8Validation&&!f(r))return void e(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));5===this._state||this._allowSynchronousEvents?(this.emit("message",r,!1),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",r,!1),this._state=0,this.startLoop(e)}))}}controlMessage(e,t){if(8===this._opcode){if(0===e.length)this._loop=!1,this.emit("conclude",1005,n),this.end();else{let s=e.readUInt16BE(0);if(!u(s))return void t(this.createError(RangeError,`invalid status code ${s}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE"));let r=new _(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!f(r))return void t(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));this._loop=!1,this.emit("conclude",s,r),this.end()}this._state=0;return}this._allowSynchronousEvents?(this.emit(9===this._opcode?"ping":"pong",e),this._state=0):(this._state=6,setImmediate(()=>{this.emit(9===this._opcode?"ping":"pong",e),this._state=0,this.startLoop(t)}))}createError(e,t,s,r,i){this._loop=!1,this._errored=!0;let o=new e(s?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(o,this.createError),o.code=i,o[a]=r,o}}},16735,(e,t,s)=>{"use strict";let r,{Duplex:i}=e.r(88947),{randomFillSync:o}=e.r(54799),n=e.r(80295),{EMPTY_BUFFER:a,kWebSocket:l,NOOP:h}=e.r(74836),{isBlob:c,isValidStatusCode:d}=e.r(58739),{mask:u,toBuffer:f}=e.r(97970),_=Symbol("kByteLength"),p=Buffer.alloc(4),m=8192;class y{constructor(e,t,s){this._extensions=t||{},s&&(this._generateMask=s,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=0,this.onerror=h,this[l]=void 0}static frame(e,t){let s,i,n=!1,a=2,l=!1;t.mask&&(s=t.maskBuffer||p,t.generateMask?t.generateMask(s):(8192===m&&(void 0===r&&(r=Buffer.alloc(8192)),o(r,0,8192),m=0),s[0]=r[m++],s[1]=r[m++],s[2]=r[m++],s[3]=r[m++]),l=(s[0]|s[1]|s[2]|s[3])==0,a=6),"string"==typeof e?i=(!t.mask||l)&&void 0!==t[_]?t[_]:(e=Buffer.from(e)).length:(i=e.length,n=t.mask&&t.readOnly&&!l);let h=i;i>=65536?(a+=8,h=127):i>125&&(a+=2,h=126);let c=Buffer.allocUnsafe(n?i+a:a);return(c[0]=t.fin?128|t.opcode:t.opcode,t.rsv1&&(c[0]|=64),c[1]=h,126===h?c.writeUInt16BE(i,2):127===h&&(c[2]=c[3]=0,c.writeUIntBE(i,4,6)),t.mask)?(c[1]|=128,c[a-4]=s[0],c[a-3]=s[1],c[a-2]=s[2],c[a-1]=s[3],l)?[c,e]:n?(u(e,s,c,a,i),[c]):(u(e,s,e,0,i),[c,e]):[c,e]}close(e,t,s,r){let i;if(void 0===e)i=a;else if("number"==typeof e&&d(e))if(void 0!==t&&t.length){let s=Buffer.byteLength(t);if(s>123)throw RangeError("The message must not be greater than 123 bytes");(i=Buffer.allocUnsafe(2+s)).writeUInt16BE(e,0),"string"==typeof t?i.write(t,2):i.set(t,2)}else(i=Buffer.allocUnsafe(2)).writeUInt16BE(e,0);else throw TypeError("First argument must be a valid error code number");let o={[_]:i.length,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};0!==this._state?this.enqueue([this.dispatch,i,!1,o,r]):this.sendFrame(y.frame(i,o),r)}ping(e,t,s){let r,i;if("string"==typeof e?(r=Buffer.byteLength(e),i=!1):c(e)?(r=e.size,i=!1):(r=(e=f(e)).length,i=f.readOnly),r>125)throw RangeError("The data size must not be greater than 125 bytes");let o={[_]:r,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:i,rsv1:!1};c(e)?0!==this._state?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):0!==this._state?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(y.frame(e,o),s)}pong(e,t,s){let r,i;if("string"==typeof e?(r=Buffer.byteLength(e),i=!1):c(e)?(r=e.size,i=!1):(r=(e=f(e)).length,i=f.readOnly),r>125)throw RangeError("The data size must not be greater than 125 bytes");let o={[_]:r,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:i,rsv1:!1};c(e)?0!==this._state?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):0!==this._state?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(y.frame(e,o),s)}send(e,t,s){let r,i,o=this._extensions[n.extensionName],a=t.binary?2:1,l=t.compress;"string"==typeof e?(r=Buffer.byteLength(e),i=!1):c(e)?(r=e.size,i=!1):(r=(e=f(e)).length,i=f.readOnly),this._firstFragment?(this._firstFragment=!1,l&&o&&o.params[o._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(l=r>=o._threshold),this._compress=l):(l=!1,a=0),t.fin&&(this._firstFragment=!0);let h={[_]:r,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:a,readOnly:i,rsv1:l};c(e)?0!==this._state?this.enqueue([this.getBlobData,e,this._compress,h,s]):this.getBlobData(e,this._compress,h,s):0!==this._state?this.enqueue([this.dispatch,e,this._compress,h,s]):this.dispatch(e,this._compress,h,s)}getBlobData(e,t,s,r){this._bufferedBytes+=s[_],this._state=2,e.arrayBuffer().then(e=>{if(this._socket.destroyed){let e=Error("The socket was closed while the blob was being read");process.nextTick(g,this,e,r);return}this._bufferedBytes-=s[_];let i=f(e);t?this.dispatch(i,t,s,r):(this._state=0,this.sendFrame(y.frame(i,s),r),this.dequeue())}).catch(e=>{process.nextTick(v,this,e,r)})}dispatch(e,t,s,r){if(!t)return void this.sendFrame(y.frame(e,s),r);let i=this._extensions[n.extensionName];this._bufferedBytes+=s[_],this._state=1,i.compress(e,s.fin,(e,t)=>{this._socket.destroyed?g(this,Error("The socket was closed while data was being compressed"),r):(this._bufferedBytes-=s[_],this._state=0,s.readOnly=!1,this.sendFrame(y.frame(t,s),r),this.dequeue())})}dequeue(){for(;0===this._state&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][_],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][_],this._queue.push(e)}sendFrame(e,t){2===e.length?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}}function g(e,t,s){"function"==typeof s&&s(t);for(let s=0;s<e._queue.length;s++){let r=e._queue[s],i=r[r.length-1];"function"==typeof i&&i(t)}}function v(e,t,s){g(e,t,s),e.onerror(t)}t.exports=y},70494,(e,t,s)=>{"use strict";let{kForOnEventAttribute:r,kListener:i}=e.r(74836),o=Symbol("kCode"),n=Symbol("kData"),a=Symbol("kError"),l=Symbol("kMessage"),h=Symbol("kReason"),c=Symbol("kTarget"),d=Symbol("kType"),u=Symbol("kWasClean");class f{constructor(e){this[c]=null,this[d]=e}get target(){return this[c]}get type(){return this[d]}}Object.defineProperty(f.prototype,"target",{enumerable:!0}),Object.defineProperty(f.prototype,"type",{enumerable:!0});class _ extends f{constructor(e,t={}){super(e),this[o]=void 0===t.code?0:t.code,this[h]=void 0===t.reason?"":t.reason,this[u]=void 0!==t.wasClean&&t.wasClean}get code(){return this[o]}get reason(){return this[h]}get wasClean(){return this[u]}}Object.defineProperty(_.prototype,"code",{enumerable:!0}),Object.defineProperty(_.prototype,"reason",{enumerable:!0}),Object.defineProperty(_.prototype,"wasClean",{enumerable:!0});class p extends f{constructor(e,t={}){super(e),this[a]=void 0===t.error?null:t.error,this[l]=void 0===t.message?"":t.message}get error(){return this[a]}get message(){return this[l]}}Object.defineProperty(p.prototype,"error",{enumerable:!0}),Object.defineProperty(p.prototype,"message",{enumerable:!0});class m extends f{constructor(e,t={}){super(e),this[n]=void 0===t.data?null:t.data}get data(){return this[n]}}function y(e,t,s){"object"==typeof e&&e.handleEvent?e.handleEvent.call(e,s):e.call(t,s)}Object.defineProperty(m.prototype,"data",{enumerable:!0}),t.exports={CloseEvent:_,ErrorEvent:p,Event:f,EventTarget:{addEventListener(e,t,s={}){let o;for(let o of this.listeners(e))if(!s[r]&&o[i]===t&&!o[r])return;if("message"===e)o=function(e,s){let r=new m("message",{data:s?e:e.toString()});r[c]=this,y(t,this,r)};else if("close"===e)o=function(e,s){let r=new _("close",{code:e,reason:s.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});r[c]=this,y(t,this,r)};else if("error"===e)o=function(e){let s=new p("error",{error:e,message:e.message});s[c]=this,y(t,this,s)};else{if("open"!==e)return;o=function(){let e=new f("open");e[c]=this,y(t,this,e)}}o[r]=!!s[r],o[i]=t,s.once?this.once(e,o):this.on(e,o)},removeEventListener(e,t){for(let s of this.listeners(e))if(s[i]===t&&!s[r]){this.removeListener(e,s);break}}},MessageEvent:m}},96903,(e,t,s)=>{"use strict";let{tokenChars:r}=e.r(58739);function i(e,t,s){void 0===e[t]?e[t]=[s]:e[t].push(s)}t.exports={format:function(e){return Object.keys(e).map(t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map(e=>[t].concat(Object.keys(e).map(t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map(e=>!0===e?t:`${t}=${e}`).join("; ")})).join("; ")).join(", ")}).join(", ")},parse:function(e){let t,s,o=Object.create(null),n=Object.create(null),a=!1,l=!1,h=!1,c=-1,d=-1,u=-1,f=0;for(;f<e.length;f++)if(d=e.charCodeAt(f),void 0===t)if(-1===u&&1===r[d])-1===c&&(c=f);else if(0!==f&&(32===d||9===d))-1===u&&-1!==c&&(u=f);else if(59===d||44===d){if(-1===c)throw SyntaxError(`Unexpected character at index ${f}`);-1===u&&(u=f);let s=e.slice(c,u);44===d?(i(o,s,n),n=Object.create(null)):t=s,c=u=-1}else throw SyntaxError(`Unexpected character at index ${f}`);else if(void 0===s)if(-1===u&&1===r[d])-1===c&&(c=f);else if(32===d||9===d)-1===u&&-1!==c&&(u=f);else if(59===d||44===d){if(-1===c)throw SyntaxError(`Unexpected character at index ${f}`);-1===u&&(u=f),i(n,e.slice(c,u),!0),44===d&&(i(o,t,n),n=Object.create(null),t=void 0),c=u=-1}else if(61===d&&-1!==c&&-1===u)s=e.slice(c,f),c=u=-1;else throw SyntaxError(`Unexpected character at index ${f}`);else if(l){if(1!==r[d])throw SyntaxError(`Unexpected character at index ${f}`);-1===c?c=f:a||(a=!0),l=!1}else if(h)if(1===r[d])-1===c&&(c=f);else if(34===d&&-1!==c)h=!1,u=f;else if(92===d)l=!0;else throw SyntaxError(`Unexpected character at index ${f}`);else if(34===d&&61===e.charCodeAt(f-1))h=!0;else if(-1===u&&1===r[d])-1===c&&(c=f);else if(-1!==c&&(32===d||9===d))-1===u&&(u=f);else if(59===d||44===d){if(-1===c)throw SyntaxError(`Unexpected character at index ${f}`);-1===u&&(u=f);let r=e.slice(c,u);a&&(r=r.replace(/\\/g,""),a=!1),i(n,s,r),44===d&&(i(o,t,n),n=Object.create(null),t=void 0),s=void 0,c=u=-1}else throw SyntaxError(`Unexpected character at index ${f}`);if(-1===c||h||32===d||9===d)throw SyntaxError("Unexpected end of input");-1===u&&(u=f);let _=e.slice(c,u);return void 0===t?i(o,_,n):(void 0===s?i(n,_,!0):a?i(n,s,_.replace(/\\/g,"")):i(n,s,_),i(o,t,n)),o}}},35065,(e,t,s)=>{"use strict";let r=e.r(27699),i=e.r(24836),o=e.r(21517),n=e.r(4446),a=e.r(55004),{randomBytes:l,createHash:h}=e.r(54799),{Duplex:c,Readable:d}=e.r(88947),{URL:u}=e.r(92509),f=e.r(80295),_=e.r(29485),p=e.r(16735),{isBlob:m}=e.r(58739),{BINARY_TYPES:y,CLOSE_TIMEOUT:g,EMPTY_BUFFER:v,GUID:b,kForOnEventAttribute:S,kListener:w,kStatusCode:E,kWebSocket:k,NOOP:x}=e.r(74836),{EventTarget:{addEventListener:T,removeEventListener:C}}=e.r(70494),{format:O,parse:N}=e.r(96903),{toBuffer:L}=e.r(97970),R=Symbol("kAborted"),P=[8,13],I=["CONNECTING","OPEN","CLOSING","CLOSED"],D=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;class B extends r{constructor(e,t,s){super(),this._binaryType=y[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=v,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=B.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,null!==e?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,void 0===t?t=[]:Array.isArray(t)||("object"==typeof t&&null!==t?(s=t,t=[]):t=[t]),function e(t,s,r,n){let a,c,d,_,p={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:g,protocolVersion:P[1],maxPayload:0x6400000,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...n,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=p.autoPong,t._closeTimeout=p.closeTimeout,!P.includes(p.protocolVersion))throw RangeError(`Unsupported protocol version: ${p.protocolVersion} (supported versions: ${P.join(", ")})`);if(s instanceof u)a=s;else try{a=new u(s)}catch(e){throw SyntaxError(`Invalid URL: ${s}`)}"http:"===a.protocol?a.protocol="ws:":"https:"===a.protocol&&(a.protocol="wss:"),t._url=a.href;let m="wss:"===a.protocol,y="ws+unix:"===a.protocol;if("ws:"===a.protocol||m||y?y&&!a.pathname?c="The URL's pathname is empty":a.hash&&(c="The URL contains a fragment identifier"):c='The URL\'s protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"',c){let e=SyntaxError(c);if(0!==t._redirects)return void U(t,e);throw e}let v=m?443:80,S=l(16).toString("base64"),w=m?i.request:o.request,E=new Set;if(p.createConnection=p.createConnection||(m?G:A),p.defaultPort=p.defaultPort||v,p.port=a.port||v,p.host=a.hostname.startsWith("[")?a.hostname.slice(1,-1):a.hostname,p.headers={...p.headers,"Sec-WebSocket-Version":p.protocolVersion,"Sec-WebSocket-Key":S,Connection:"Upgrade",Upgrade:"websocket"},p.path=a.pathname+a.search,p.timeout=p.handshakeTimeout,p.perMessageDeflate&&(d=new f(!0!==p.perMessageDeflate?p.perMessageDeflate:{},!1,p.maxPayload),p.headers["Sec-WebSocket-Extensions"]=O({[f.extensionName]:d.offer()})),r.length){for(let e of r){if("string"!=typeof e||!D.test(e)||E.has(e))throw SyntaxError("An invalid or duplicated subprotocol was specified");E.add(e)}p.headers["Sec-WebSocket-Protocol"]=r.join(",")}if(p.origin&&(p.protocolVersion<13?p.headers["Sec-WebSocket-Origin"]=p.origin:p.headers.Origin=p.origin),(a.username||a.password)&&(p.auth=`${a.username}:${a.password}`),y){let e=p.path.split(":");p.socketPath=e[0],p.path=e[1]}if(p.followRedirects){if(0===t._redirects){t._originalIpc=y,t._originalSecure=m,t._originalHostOrSocketPath=y?p.socketPath:a.host;let e=n&&n.headers;if(n={...n,headers:{}},e)for(let[t,s]of Object.entries(e))n.headers[t.toLowerCase()]=s}else if(0===t.listenerCount("redirect")){let e=y?!!t._originalIpc&&p.socketPath===t._originalHostOrSocketPath:!t._originalIpc&&a.host===t._originalHostOrSocketPath;e&&(!t._originalSecure||m)||(delete p.headers.authorization,delete p.headers.cookie,e||delete p.headers.host,p.auth=void 0)}p.auth&&!n.headers.authorization&&(n.headers.authorization="Basic "+Buffer.from(p.auth).toString("base64")),_=t._req=w(p),t._redirects&&t.emit("redirect",t.url,_)}else _=t._req=w(p);p.timeout&&_.on("timeout",()=>{M(t,_,"Opening handshake has timed out")}),_.on("error",e=>{null===_||_[R]||(_=t._req=null,U(t,e))}),_.on("response",i=>{let o=i.headers.location,a=i.statusCode;if(o&&p.followRedirects&&a>=300&&a<400){let i;if(++t._redirects>p.maxRedirects)return void M(t,_,"Maximum redirects exceeded");_.abort();try{i=new u(o,s)}catch(e){U(t,SyntaxError(`Invalid URL: ${o}`));return}e(t,i,r,n)}else t.emit("unexpected-response",_,i)||M(t,_,`Unexpected server response: ${i.statusCode}`)}),_.on("upgrade",(e,s,r)=>{let i;if(t.emit("upgrade",e),t.readyState!==B.CONNECTING)return;_=t._req=null;let o=e.headers.upgrade;if(void 0===o||"websocket"!==o.toLowerCase())return void M(t,s,"Invalid Upgrade header");let n=h("sha1").update(S+b).digest("base64");if(e.headers["sec-websocket-accept"]!==n)return void M(t,s,"Invalid Sec-WebSocket-Accept header");let a=e.headers["sec-websocket-protocol"];if(void 0!==a?E.size?E.has(a)||(i="Server sent an invalid subprotocol"):i="Server sent a subprotocol but none was requested":E.size&&(i="Server sent no subprotocol"),i)return void M(t,s,i);a&&(t._protocol=a);let l=e.headers["sec-websocket-extensions"];if(void 0!==l){let e;if(!d)return void M(t,s,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");try{e=N(l)}catch(e){M(t,s,"Invalid Sec-WebSocket-Extensions header");return}let r=Object.keys(e);if(1!==r.length||r[0]!==f.extensionName)return void M(t,s,"Server indicated an extension that was not requested");try{d.accept(e[f.extensionName])}catch(e){M(t,s,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[f.extensionName]=d}t.setSocket(s,r,{allowSynchronousEvents:p.allowSynchronousEvents,generateMask:p.generateMask,maxPayload:p.maxPayload,skipUTF8Validation:p.skipUTF8Validation})}),p.finishRequest?p.finishRequest(_,t):_.end()}(this,e,t,s)):(this._autoPong=s.autoPong,this._closeTimeout=s.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){y.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,s){let r=new _({allowSynchronousEvents:s.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation}),i=new p(e,this._extensions,s.generateMask);this._receiver=r,this._sender=i,this._socket=e,r[k]=this,i[k]=this,e[k]=this,r.on("conclude",W),r.on("drain",F),r.on("error",j),r.on("message",V),r.on("ping",z),r.on("pong",K),i.onerror=J,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",Z),e.on("data",Y),e.on("end",Q),e.on("error",ee),this._readyState=B.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=B.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[f.extensionName]&&this._extensions[f.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=B.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==B.CLOSED){if(this.readyState===B.CONNECTING)return void M(this,this._req,"WebSocket was closed before the connection was established");if(this.readyState===B.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=B.CLOSING,this._sender.close(e,t,!this._isServer,e=>{!e&&(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),X(this)}}pause(){this.readyState!==B.CONNECTING&&this.readyState!==B.CLOSED&&(this._paused=!0,this._socket.pause())}ping(e,t,s){if(this.readyState===B.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");("function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState!==B.OPEN)?$(this,e,s):(void 0===t&&(t=!this._isServer),this._sender.ping(e||v,t,s))}pong(e,t,s){if(this.readyState===B.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");("function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState!==B.OPEN)?$(this,e,s):(void 0===t&&(t=!this._isServer),this._sender.pong(e||v,t,s))}resume(){this.readyState!==B.CONNECTING&&this.readyState!==B.CLOSED&&(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,s){if(this.readyState===B.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof t&&(s=t,t={}),"number"==typeof e&&(e=e.toString()),this.readyState!==B.OPEN)return void $(this,e,s);let r={binary:"string"!=typeof e,mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[f.extensionName]||(r.compress=!1),this._sender.send(e||v,r,s)}terminate(){if(this.readyState!==B.CLOSED){if(this.readyState===B.CONNECTING)return void M(this,this._req,"WebSocket was closed before the connection was established");this._socket&&(this._readyState=B.CLOSING,this._socket.destroy())}}}function U(e,t){e._readyState=B.CLOSING,e._errorEmitted=!0,e.emit("error",t),e.emitClose()}function A(e){return e.path=e.socketPath,n.connect(e)}function G(e){return e.path=void 0,e.servername||""===e.servername||(e.servername=n.isIP(e.host)?"":e.host),a.connect(e)}function M(e,t,s){e._readyState=B.CLOSING;let r=Error(s);Error.captureStackTrace(r,M),t.setHeader?(t[R]=!0,t.abort(),t.socket&&!t.socket.destroyed&&t.socket.destroy(),process.nextTick(U,e,r)):(t.destroy(r),t.once("error",e.emit.bind(e,"error")),t.once("close",e.emitClose.bind(e)))}function $(e,t,s){if(t){let s=m(t)?t.size:L(t).length;e._socket?e._sender._bufferedBytes+=s:e._bufferedAmount+=s}if(s){let t=Error(`WebSocket is not open: readyState ${e.readyState} (${I[e.readyState]})`);process.nextTick(s,t)}}function W(e,t){let s=this[k];s._closeFrameReceived=!0,s._closeMessage=t,s._closeCode=e,void 0!==s._socket[k]&&(s._socket.removeListener("data",Y),process.nextTick(H,s._socket),1005===e?s.close():s.close(e,t))}function F(){let e=this[k];e.isPaused||e._socket.resume()}function j(e){let t=this[k];void 0!==t._socket[k]&&(t._socket.removeListener("data",Y),process.nextTick(H,t._socket),t.close(e[E])),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e))}function q(){this[k].emitClose()}function V(e,t){this[k].emit("message",e,t)}function z(e){let t=this[k];t._autoPong&&t.pong(e,!this._isServer,x),t.emit("ping",e)}function K(e){this[k].emit("pong",e)}function H(e){e.resume()}function J(e){let t=this[k];t.readyState!==B.CLOSED&&(t.readyState===B.OPEN&&(t._readyState=B.CLOSING,X(t)),this._socket.end(),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e)))}function X(e){e._closeTimer=setTimeout(e._socket.destroy.bind(e._socket),e._closeTimeout)}function Z(){let e=this[k];if(this.removeListener("close",Z),this.removeListener("data",Y),this.removeListener("end",Q),e._readyState=B.CLOSING,!this._readableState.endEmitted&&!e._closeFrameReceived&&!e._receiver._writableState.errorEmitted&&0!==this._readableState.length){let t=this.read(this._readableState.length);e._receiver.write(t)}e._receiver.end(),this[k]=void 0,clearTimeout(e._closeTimer),e._receiver._writableState.finished||e._receiver._writableState.errorEmitted?e.emitClose():(e._receiver.on("error",q),e._receiver.on("finish",q))}function Y(e){this[k]._receiver.write(e)||this.pause()}function Q(){let e=this[k];e._readyState=B.CLOSING,e._receiver.end(),this.end()}function ee(){let e=this[k];this.removeListener("error",ee),this.on("error",x),e&&(e._readyState=B.CLOSING,this.destroy())}Object.defineProperty(B,"CONNECTING",{enumerable:!0,value:I.indexOf("CONNECTING")}),Object.defineProperty(B.prototype,"CONNECTING",{enumerable:!0,value:I.indexOf("CONNECTING")}),Object.defineProperty(B,"OPEN",{enumerable:!0,value:I.indexOf("OPEN")}),Object.defineProperty(B.prototype,"OPEN",{enumerable:!0,value:I.indexOf("OPEN")}),Object.defineProperty(B,"CLOSING",{enumerable:!0,value:I.indexOf("CLOSING")}),Object.defineProperty(B.prototype,"CLOSING",{enumerable:!0,value:I.indexOf("CLOSING")}),Object.defineProperty(B,"CLOSED",{enumerable:!0,value:I.indexOf("CLOSED")}),Object.defineProperty(B.prototype,"CLOSED",{enumerable:!0,value:I.indexOf("CLOSED")}),["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(e=>{Object.defineProperty(B.prototype,e,{enumerable:!0})}),["open","error","close","message"].forEach(e=>{Object.defineProperty(B.prototype,`on${e}`,{enumerable:!0,get(){for(let t of this.listeners(e))if(t[S])return t[w];return null},set(t){for(let t of this.listeners(e))if(t[S]){this.removeListener(e,t);break}"function"==typeof t&&this.addEventListener(e,t,{[S]:!0})}})}),B.prototype.addEventListener=T,B.prototype.removeEventListener=C,t.exports=B},21365,(e,t,s)=>{"use strict";e.r(35065);let{Duplex:r}=e.r(88947);function i(e){e.emit("close")}function o(){!this.destroyed&&this._writableState.finished&&this.destroy()}function n(e){this.removeListener("error",n),this.destroy(),0===this.listenerCount("error")&&this.emit("error",e)}t.exports=function(e,t){let s=!0,a=new r({...t,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return e.on("message",function(t,s){let r=!s&&a._readableState.objectMode?t.toString():t;a.push(r)||e.pause()}),e.once("error",function(e){a.destroyed||(s=!1,a.destroy(e))}),e.once("close",function(){a.destroyed||a.push(null)}),a._destroy=function(t,r){if(e.readyState===e.CLOSED){r(t),process.nextTick(i,a);return}let o=!1;e.once("error",function(e){o=!0,r(e)}),e.once("close",function(){o||r(t),process.nextTick(i,a)}),s&&e.terminate()},a._final=function(t){e.readyState===e.CONNECTING?e.once("open",function(){a._final(t)}):null!==e._socket&&(e._socket._writableState.finished?(t(),a._readableState.endEmitted&&a.destroy()):(e._socket.once("finish",function(){t()}),e.close()))},a._read=function(){e.isPaused&&e.resume()},a._write=function(t,s,r){e.readyState===e.CONNECTING?e.once("open",function(){a._write(t,s,r)}):e.send(t,r)},a.on("end",o),a.on("error",n),a}},42977,(e,t,s)=>{"use strict";let{tokenChars:r}=e.r(58739);t.exports={parse:function(e){let t=new Set,s=-1,i=-1,o=0;for(;o<e.length;o++){let n=e.charCodeAt(o);if(-1===i&&1===r[n])-1===s&&(s=o);else if(0!==o&&(32===n||9===n))-1===i&&-1!==s&&(i=o);else if(44===n){if(-1===s)throw SyntaxError(`Unexpected character at index ${o}`);-1===i&&(i=o);let r=e.slice(s,i);if(t.has(r))throw SyntaxError(`The "${r}" subprotocol is duplicated`);t.add(r),s=i=-1}else throw SyntaxError(`Unexpected character at index ${o}`)}if(-1===s||-1!==i)throw SyntaxError("Unexpected end of input");let n=e.slice(s,o);if(t.has(n))throw SyntaxError(`The "${n}" subprotocol is duplicated`);return t.add(n),t}}},17198,(e,t,s)=>{"use strict";let r=e.r(27699),i=e.r(21517),{Duplex:o}=e.r(88947),{createHash:n}=e.r(54799),a=e.r(96903),l=e.r(80295),h=e.r(42977),c=e.r(35065),{CLOSE_TIMEOUT:d,GUID:u,kWebSocket:f}=e.r(74836),_=/^[+/0-9A-Za-z]{22}==$/;function p(e){e._state=2,e.emit("close")}function m(){this.destroy()}function y(e,t,s,r){s=s||i.STATUS_CODES[t],r={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(s),...r},e.once("finish",e.destroy),e.end(`HTTP/1.1 ${t} ${i.STATUS_CODES[t]}\r
|
|
2
|
+
`+Object.keys(r).map(e=>`${e}: ${r[e]}`).join("\r\n")+"\r\n\r\n"+s)}function g(e,t,s,r,i,o){if(e.listenerCount("wsClientError")){let r=Error(i);Error.captureStackTrace(r,g),e.emit("wsClientError",r,s,t)}else y(s,r,i,o)}t.exports=class extends r{constructor(e,t){if(super(),null==(e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:0x6400000,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:d,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:c,...e}).port&&!e.server&&!e.noServer||null!=e.port&&(e.server||e.noServer)||e.server&&e.noServer)throw TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(null!=e.port?(this._server=i.createServer((e,t)=>{let s=i.STATUS_CODES[426];t.writeHead(426,{"Content-Length":s.length,"Content-Type":"text/plain"}),t.end(s)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){const e=this.emit.bind(this,"connection");this._removeListeners=function(e,t){for(let s of Object.keys(t))e.on(s,t[s]);return function(){for(let s of Object.keys(t))e.removeListener(s,t[s])}}(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(t,s,r)=>{this.handleUpgrade(t,s,r,e)}})}!0===e.perMessageDeflate&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=0}address(){if(this.options.noServer)throw Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(2===this._state){e&&this.once("close",()=>{e(Error("The server is not running"))}),process.nextTick(p,this);return}if(e&&this.once("close",e),1!==this._state)if(this._state=1,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients&&this.clients.size?this._shouldEmitClose=!0:process.nextTick(p,this);else{let e=this._server;this._removeListeners(),this._removeListeners=this._server=null,e.close(()=>{p(this)})}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((-1!==t?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,s,r){t.on("error",m);let i=e.headers["sec-websocket-key"],o=e.headers.upgrade,n=+e.headers["sec-websocket-version"];if("GET"!==e.method)return void g(this,e,t,405,"Invalid HTTP method");if(void 0===o||"websocket"!==o.toLowerCase())return void g(this,e,t,400,"Invalid Upgrade header");if(void 0===i||!_.test(i))return void g(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");if(13!==n&&8!==n)return void g(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});if(!this.shouldHandle(e))return void y(t,400);let c=e.headers["sec-websocket-protocol"],d=new Set;if(void 0!==c)try{d=h.parse(c)}catch(s){g(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let u=e.headers["sec-websocket-extensions"],f={};if(this.options.perMessageDeflate&&void 0!==u){let s=new l(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let e=a.parse(u);e[l.extensionName]&&(s.accept(e[l.extensionName]),f[l.extensionName]=s)}catch(s){g(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let o={origin:e.headers[`${8===n?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(2===this.options.verifyClient.length)return void this.options.verifyClient(o,(o,n,a,l)=>{if(!o)return y(t,n||401,a,l);this.completeUpgrade(f,i,d,e,t,s,r)});if(!this.options.verifyClient(o))return y(t,401)}this.completeUpgrade(f,i,d,e,t,s,r)}completeUpgrade(e,t,s,r,i,o,h){if(!i.readable||!i.writable)return i.destroy();if(i[f])throw Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>0)return y(i,503);let c=n("sha1").update(t+u).digest("base64"),d=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${c}`],_=new this.options.WebSocket(null,void 0,this.options);if(s.size){let e=this.options.handleProtocols?this.options.handleProtocols(s,r):s.values().next().value;e&&(d.push(`Sec-WebSocket-Protocol: ${e}`),_._protocol=e)}if(e[l.extensionName]){let t=e[l.extensionName].params,s=a.format({[l.extensionName]:[t]});d.push(`Sec-WebSocket-Extensions: ${s}`),_._extensions=e}this.emit("headers",d,r),i.write(d.concat("\r\n").join("\r\n")),i.removeListener("error",m),_.setSocket(i,o,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(_),_.on("close",()=>{this.clients.delete(_),this._shouldEmitClose&&!this.clients.size&&process.nextTick(p,this)})),h(_,r)}}},74605,e=>{"use strict";e.i(21365),e.i(29485),e.i(16735);var t=e.i(35065);e.i(17198);let s=t.default;var r=e.i(27699),i=e.i(54799),o=e.i(33405),n=e.i(22734),a=e.i(14747),l=e.i(98003),h=e.i(46786);function c(){return(0,a.join)((0,l.getCastleDir)(),"device.json")}function d(e){let t=e.split("\n").filter(e=>!e.includes("BEGIN")&&!e.includes("END")&&e.trim()).join(""),s=Buffer.from(t,"base64").slice(12);return(0,i.createHash)("sha256").update(s).digest("hex")}function u(e){let t=c();if((0,l.ensureCastleDir)(),(0,n.writeFileSync)(t,JSON.stringify(e,null,2),"utf-8"),"win32"===(0,h.platform)());else try{(0,n.chmodSync)(t,384)}catch{}}function f(){let e=c();if((0,n.existsSync)(e))try{let t=(0,n.readFileSync)(e,"utf-8"),s=JSON.parse(t);if(s.deviceId&&s.publicKey&&s.privateKey){if(!s.publicKey.startsWith("-----BEGIN "))return console.log("[Device] Upgrading key format from hex to PEM — regenerating keypair"),_();let e=d(s.publicKey);return s.deviceId!==e&&(console.log("[Device] Fixing deviceId — deriving from public key per Gateway protocol"),s.deviceId=e,u(s)),s}}catch{}return _()}function _(){let{publicKey:e,privateKey:t}=(0,i.generateKeyPairSync)("ed25519",{publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}}),s={deviceId:d(e),publicKey:e,privateKey:t,createdAt:new Date().toISOString()};return u(s),s}function p(e,t){let s=f();s.deviceToken=e,s.pairedAt=new Date().toISOString(),t&&(s.gatewayUrl=t),u(s)}function m(){let e=c();if(!(0,n.existsSync)(e))return null;try{let t=(0,n.readFileSync)(e,"utf-8");return JSON.parse(t).deviceToken||null}catch{return null}}function y(e){return e.replace(/rew_[a-f0-9]+/gi,"rew_***").replace(/-----BEGIN [A-Z ]+-----[\s\S]*?-----END [A-Z ]+-----/g,"[REDACTED KEY]").replace(/[a-f0-9]{32,}/gi,e=>e.slice(0,8)+"***")}class g extends r.EventEmitter{ws=null;pending=new Map;_state="disconnected";reconnectTimer=null;reconnectAttempts=0;maxReconnectDelay=3e4;baseReconnectDelay=1e3;requestTimeout=15e3;connectTimeout=1e4;_serverInfo={};_features={};shouldReconnect=!0;_skipDeviceAuth=!1;_avatarUrls=new Map;get state(){return this._state}get serverInfo(){return this._serverInfo}setAvatarUrl(e,t){this._avatarUrls.set(e,t)}getAvatarUrl(e){return this._avatarUrls.get(e)||null}get isConnected(){return"connected"===this._state}get isConfigured(){return!!this.resolveToken()}start(){"connecting"!==this._state&&"connected"!==this._state&&(this.shouldReconnect=!0,this._skipDeviceAuth=!1,this.connect())}stop(){this.shouldReconnect=!1,this.clearReconnectTimer(),this.cleanup()}connect(){let e=this.resolveToken();if(!e){this._state="error",this.emit("stateChange",this._state),console.error("[Gateway] No token available. Run 'castle setup' to configure.");return}let t=(0,l.getGatewayUrl)();this._state="connecting",this.emit("stateChange",this._state);try{this.ws=new s(t)}catch(e){console.error("[Gateway] Failed to create WebSocket:",e.message),this._state="error",this.emit("stateChange",this._state),this.scheduleReconnect();return}let r=setTimeout(()=>{console.error("[Gateway] Connect timeout"),this.cleanup(),this.scheduleReconnect()},this.connectTimeout),h=null;if(this._skipDeviceAuth)console.log("[Gateway] Device auth disabled — using token-only");else try{let e=f();h={deviceId:e.deviceId,publicKey:e.publicKey}}catch(e){console.warn("[Gateway] Could not load device identity:",e.message)}let d=m();this.ws.on("open",()=>{let s=(0,i.randomUUID)(),l=!1,_="gateway-client",m="backend",g="operator",v=["operator.admin"],b=d||e,S=e=>{let t={minProtocol:3,maxProtocol:3,client:{id:_,displayName:"Castle",version:"0.0.1",platform:process.platform,mode:m},auth:{token:b},role:g,scopes:v,caps:[]};return e&&h&&(t.device={id:h.deviceId,publicKey:h.publicKey,signature:e.signature,nonce:e.nonce,signedAt:e.signedAt}),{type:"req",id:s,method:"connect",params:t}},w=e=>{let E=Buffer.isBuffer(e)?e.length:Buffer.byteLength(e.toString());if(E>0xa00000)return void console.error(`[Gateway] Message too large (${E} bytes) — ignoring`);try{let E=JSON.parse(e.toString());if("event"===E.type&&"connect.challenge"===E.event){let e=E.payload?.nonce;if(e&&"string"==typeof e&&e.length>1024)return void console.error(`[Gateway] Challenge nonce too large (${e.length} bytes) — rejecting`);if(e&&"string"==typeof e&&h){l=!0,console.log("[Gateway] Challenge received — signing with device key");try{var k;let t,s,r,{signature:o,signedAt:n}=(k={nonce:e,clientId:_,clientMode:m,role:g,scopes:v,token:b},t=f(),s=Date.now(),r=["v2",t.deviceId,k.clientId,k.clientMode,k.role,k.scopes.join(","),String(s),k.token,k.nonce].join("|"),{signature:(0,i.sign)(null,Buffer.from(r,"utf-8"),t.privateKey).toString("base64").replaceAll("+","-").replaceAll("/","_").replace(/=+$/g,""),signedAt:s}),a=S({nonce:e,signature:o,signedAt:n});this.ws?.send(JSON.stringify(a))}catch(e){console.error("[Gateway] Failed to sign challenge:",e.message),l=!1}}else console.log("[Gateway] Challenge received but no device identity — skipping");return}if("event"===E.type&&"device.pairing.required"===E.event){console.log("[Gateway] Device pairing approval required"),console.log("[Gateway] Approve this device in your OpenClaw dashboard to continue..."),this._state="pairing",this.emit("stateChange",this._state),this.emit("pairingRequired",E.payload),this.emit("gatewayEvent",{event:E.event,payload:E.payload,seq:E.seq});return}if("event"===E.type&&"device.pairing.approved"===E.event){let e=E.payload?.deviceToken;if(e&&"string"==typeof e){console.log("[Gateway] Device pairing approved — saving token");try{p(e,t)}catch(e){console.error("[Gateway] Failed to save device token:",e.message)}}this.emit("pairingApproved",E.payload),this.emit("gatewayEvent",{event:E.event,payload:E.payload,seq:E.seq});return}if("res"===E.type&&E.id===s){if(!E.ok&&l)return void console.log("[Gateway] Ignoring error from initial connect — challenge response pending");if(clearTimeout(r),E.ok){let e=E.payload||{},s=e.auth?.deviceToken||e.deviceToken;if(s&&"string"==typeof s)try{p(s,t),console.log("[Gateway] Device token received and saved")}catch(e){console.error("[Gateway] Failed to save device token:",e.message)}if(this._state="connected",this._serverInfo=e.server||{},!this._serverInfo.version||"dev"===this._serverInfo.version)try{let e=(0,o.execSync)("which openclaw",{timeout:2e3,encoding:"utf-8"}).trim(),t=(0,n.realpathSync)(e),s=(0,a.join)((0,a.dirname)(t),"package.json"),r=JSON.parse((0,n.readFileSync)(s,"utf-8"));r.version&&(this._serverInfo.version=r.version)}catch{}this._features=e.features||{},this.reconnectAttempts=0,this.emit("stateChange",this._state),this.emit("connected",e),console.log(`[Gateway] Connected to OpenClaw ${this._serverInfo.version||"unknown"}`),this.ws?.off("message",w),this.ws?.on("message",this.onMessage.bind(this))}else{let e=E.error?.code,t=E.error?.message||"Connect rejected";if(console.error(`[Gateway] Connect failed: ${y(t)}`),this.ws?.off("message",w),this.cleanup(),"auth_failed"===e)if(d){console.log("[Gateway] Device token rejected — clearing and retrying with gateway token");let e=c();if((0,n.existsSync)(e))try{let t=(0,n.readFileSync)(e,"utf-8"),s=JSON.parse(t);delete s.deviceToken,delete s.pairedAt,delete s.gatewayUrl,u(s),console.log("[Device] Cleared device token")}catch{}this._skipDeviceAuth=!1,this.reconnectAttempts=0,this.scheduleReconnect()}else this._state="error",this.emit("stateChange",this._state),this.emit("authError",E.error);else"protocol_mismatch"===e||"protocol_unsupported"===e?(console.error("[Gateway] Protocol version not supported by this Gateway"),this._state="error",this.emit("stateChange",this._state),this.emit("authError",E.error)):this.scheduleReconnect()}return}"event"===E.type&&this.emit("gatewayEvent",{event:E.event,payload:E.payload,seq:E.seq})}catch(e){console.error("[Gateway] Failed to parse handshake message:",e.message)}};this.ws.on("message",w),this.ws.send(JSON.stringify(S()))}),this.ws.on("unexpected-response",(e,t)=>{clearTimeout(r),console.error(`[Gateway] WebSocket upgrade failed (HTTP ${t.statusCode})`),401===t.statusCode||403===t.statusCode?console.error("[Gateway] Authentication rejected at HTTP level"):(502===t.statusCode||503===t.statusCode)&&console.error("[Gateway] Gateway may be behind a reverse proxy that doesn't support WebSocket"),this.cleanup(),this.scheduleReconnect()}),this.ws.on("error",e=>{clearTimeout(r),console.error("[Gateway] WebSocket error:",e.message),this.cleanup(),this.scheduleReconnect()}),this.ws.on("close",(e,t)=>{clearTimeout(r);let s="connected"===this._state,i=t?.toString()||"none";if(this.cleanup(),1008===e&&!this._skipDeviceAuth){console.log(`[Gateway] Device auth rejected (${i}) — retrying with token-only auth`),this._skipDeviceAuth=!0,this.reconnectAttempts=0,this.scheduleReconnect();return}s&&console.log(`[Gateway] Disconnected (code: ${e}, reason: ${i})`),this.scheduleReconnect()})}onMessage(e){let t,s=Buffer.isBuffer(e)?e.length:Buffer.byteLength(e.toString());if(s>0xa00000)return void console.error(`[Gateway] Message too large (${s} bytes) — ignoring`);try{t=JSON.parse(e.toString())}catch(e){console.warn("[Gateway] Failed to parse message:",e.message);return}if("res"===t.type){let e=t,s=this.pending.get(e.id);s&&(clearTimeout(s.timer),this.pending.delete(e.id),e.ok?s.resolve(e.payload):s.reject(Error(e.error?.message||"Request failed")))}else if("event"===t.type){let e=t;this.emit("gatewayEvent",{event:e.event,payload:e.payload,seq:e.seq})}}async request(e,t={}){if(!this.ws||"connected"!==this._state)throw Error("Gateway not connected");let s=(0,i.randomUUID)(),r={type:"req",id:s,method:e,params:t},o=Date.now();return new Promise((t,i)=>{let n=setTimeout(()=>{this.pending.delete(s);let t=Date.now()-o;console.error(`[Gateway RPC] ${e} TIMEOUT after ${t}ms`),i(Error(`Request timeout: ${e}`))},this.requestTimeout);this.pending.set(s,{resolve:s=>{let r=Date.now()-o;r>2e3?console.warn(`[Gateway RPC] ${e} OK (slow: ${r}ms)`):console.log(`[Gateway RPC] ${e} OK (${r}ms)`),t(s)},reject:t=>{let s=Date.now()-o;console.error(`[Gateway RPC] ${e} FAILED (${s}ms): ${y(t.message)}`),i(t)},timer:n}),this.ws.send(JSON.stringify(r),t=>{if(t){clearTimeout(n),this.pending.delete(s);let r=Date.now()-o;console.error(`[Gateway RPC] ${e} SEND ERROR (${r}ms): ${t.message}`),i(Error(`Send failed: ${t.message}`))}})})}resolveToken(){let e=m();if(e)return e;if((0,l.configExists)()){let e=(0,l.readConfig)();if(e.openclaw.gateway_token)return e.openclaw.gateway_token}return(0,l.readOpenClawToken)()}cleanup(){if(this.ws){if(this.ws.removeAllListeners(),this.ws.readyState===s.OPEN||this.ws.readyState===s.CONNECTING)try{this.ws.close()}catch{}this.ws=null}for(let[e,t]of(this.pending.size>0&&console.warn(`[Gateway] Rejecting ${this.pending.size} pending request(s) due to connection close`),this.pending))clearTimeout(t.timer),t.reject(Error("Connection closed")),this.pending.delete(e);"error"!==this._state&&"pairing"!==this._state&&(this._state="disconnected",this.emit("stateChange",this._state))}scheduleReconnect(){if(!this.shouldReconnect)return;this.clearReconnectTimer();let e=Math.min(this.baseReconnectDelay*Math.pow(2,this.reconnectAttempts),this.maxReconnectDelay);this.reconnectAttempts++,console.log(`[Gateway] Reconnecting in ${e}ms (attempt ${this.reconnectAttempts})`),this.reconnectTimer=setTimeout(()=>{this.connect()},e)}clearReconnectTimer(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}}let v="__castle_gateway__";function b(){let e=function(){let e=globalThis[v]??null;if(!e){var t;t=e=new g,globalThis[v]=t}return e}();return"disconnected"===e.state&&e.start(),e}e.s(["ensureGateway",()=>b],74605)}];
|
|
3
|
+
|
|
4
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__b3182da1._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},32611,e=>{"use strict";var t=e.i(89171);let r=new Map,s=null;function n(e,a,o=6e4){!s&&"object"==typeof(s=setInterval(()=>{let e=Date.now();for(let[t,s]of r.entries())s.timestamps=s.timestamps.filter(t=>e-t<6e4),0===s.timestamps.length&&r.delete(t)},3e5))&&"unref"in s&&s.unref();let i=Date.now(),l=r.get(e);return(l||(l={timestamps:[]},r.set(e,l)),l.timestamps=l.timestamps.filter(e=>i-e<o),l.timestamps.length>=a)?t.NextResponse.json({error:"Too many requests — please slow down"},{status:429}):(l.timestamps.push(i),null)}function a(e,t){let r=e.headers.get("x-forwarded-for")?.split(",")[0].trim()||e.headers.get("x-real-ip")||"local";return`${r}:${t}`}function o(e){let r=e.headers.get("origin"),s=e.headers.get("referer"),n=e.headers.get("host")||"localhost:3333",a=new Set([`http://${n}`,`https://${n}`,"http://localhost:3333","http://127.0.0.1:3333","http://[::1]:3333"]);if(r)return a.has(r)?null:t.NextResponse.json({error:"Forbidden — cross-origin request rejected"},{status:403});if(s){try{let e=new URL(s).origin;if(a.has(e))return null}catch{}return t.NextResponse.json({error:"Forbidden — cross-origin request rejected"},{status:403})}return null}function i(e){return e.replace(/rew_[a-f0-9]+/gi,"rew_***").replace(/-----BEGIN [A-Z ]+-----[\s\S]*?-----END [A-Z ]+-----/g,"[REDACTED KEY]").replace(/\b[a-f0-9]{32,}\b/gi,e=>e.slice(0,8)+"***")}e.s(["checkCsrf",()=>o,"checkRateLimit",()=>n,"rateLimitKey",()=>a,"sanitizeForApi",()=>i])},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},99905,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),n=e.i(59756),a=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(74838),m=e.i(10372),f=e.i(93695);e.i(52474);var g=e.i(220),R=e.i(89171),w=e.i(74605),v=e.i(32611),y=e.i(50837);async function E(t){let{searchParams:r}=new URL(t.url),s=r.get("sessionKey"),n=r.get("channelId");if(!s)return R.NextResponse.json({error:"sessionKey is required"},{status:400});try{let t=(0,y.getCompactionBoundary)(s),r=(0,w.ensureGateway)(),a=!1,o=t;try{let t=await r.request("sessions.preview",{keys:[s],limit:100,maxChars:2e4}),i=t.messages||t.entries||[];if(i.length>0&&n){let{getDb:t}=await e.A(35040),{messages:r}=await e.A(32989),{eq:l,asc:d}=await e.A(96359),u=t(),p=i[0],c=p?.timestamp;if(c){let e=u.select({id:r.id,createdAt:r.createdAt}).from(r).where(l(r.channelId,n)).orderBy(d(r.createdAt)).all(),t=null,i=1/0;for(let r of e){let e=Math.abs(r.createdAt-c);e<i&&(i=e,t=r.id)}t&&i<6e4&&(o=t,a=!0,(0,y.setCompactionBoundary)(s,t))}}}catch(e){console.warn("[Session Context] sessions.preview failed, using cached boundary:",e.message)}let i={boundaryMessageId:o,fresh:a};return R.NextResponse.json(i)}catch(t){let e=t.message;return console.error("[Session Context] Failed:",e),R.NextResponse.json({error:(0,v.sanitizeForApi)(e)},{status:502})}}async function C(e){try{let{sessionKey:t,boundaryMessageId:r}=await e.json();if(!t||!r)return R.NextResponse.json({error:"sessionKey and boundaryMessageId are required"},{status:400});return(0,y.setCompactionBoundary)(t,r),R.NextResponse.json({ok:!0})}catch(e){return R.NextResponse.json({error:e.message},{status:500})}}e.s(["GET",()=>E,"POST",()=>C],8146);var A=e.i(8146);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/openclaw/session/context/route",pathname:"/api/openclaw/session/context",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/openclaw/session/context/route.ts",nextConfigOutput:"standalone",userland:A}),{workAsyncStorage:N,workUnitAsyncStorage:j,serverHooks:q}=b;function T(){return(0,s.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:j})}async function _(e,t,s){b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/openclaw/session/context/route";R=R.replace(/\/index$/,"")||"/";let w=await b.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:v,params:y,nextConfig:E,parsedUrl:C,isDraftMode:A,prerenderManifest:N,routerServerContext:j,isOnDemandRevalidate:q,revalidateOnlyGenerated:T,resolvedPathname:_,clientReferenceManifest:P,serverActionsManifest:k}=w,S=(0,i.normalizeAppPath)(R),O=!!(N.dynamicRoutes[S]||N.routes[_]),I=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,C,!1):t.end("This page could not be found"),null);if(O&&!A){let e=!!N.routes[_],t=N.dynamicRoutes[S];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await I();throw new f.NoFallbackError}}let D=null;!O||b.isDev||A||(D="/index"===(D=_)?"/":D);let U=!0===b.isDev||!O,H=O&&!U;k&&P&&(0,o.setManifestsSingleton)({page:R,clientReferenceManifest:P,serverActionsManifest:k});let M=e.method||"GET",F=(0,a.getTracer)(),K=F.getActiveScopeSpan(),$={params:y,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,n)=>b.onRequestError(e,t,s,n,j)},sharedContext:{buildId:v}},B=new l.NodeNextRequest(e),L=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let o=async e=>b.handle(G,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${M} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${R}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var a,l;let d=async({previousCacheEntry:r})=>{try{if(!i&&q&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(n);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&s.waitUntil&&(s.waitUntil(l),l=void 0);let d=$.renderOpts.collectedTags;if(!O)return await (0,c.sendResponse)(B,L,a,$.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,s=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:q})},!1,j),t}},u=await b.handleResponse({req:e,nextConfig:E,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:T,responseGenerator:d,waitUntil:s.waitUntil,isMinimalMode:i});if(!O)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",q?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&O||f.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,x.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(B,L,new Response(u.value.body,{headers:f,status:u.value.status||200})),null};K?await l(K):await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${R}`,kind:a.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof f.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:q})},!1,j),O)throw t;return await (0,c.sendResponse)(B,L,new Response(null,{status:500})),null}}e.s(["handler",()=>_,"patchFetch",()=>T,"routeModule",()=>b,"serverHooks",()=>q,"workAsyncStorage",()=>N,"workUnitAsyncStorage",()=>j],99905)},35040,e=>{e.v(e=>Promise.resolve().then(()=>e(84501)))},32989,e=>{e.v(e=>Promise.resolve().then(()=>e(7304)))},96359,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_drizzle-orm_index_d5f6a514.js"].map(t=>e.l(t))).then(()=>t(32628)))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__b39f673e._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},57993,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),o=e.i(61916),s=e.i(74677),i=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),x=e.i(74838),f=e.i(10372),g=e.i(93695);e.i(52474);var R=e.i(220),w=e.i(89171),v=e.i(74605);async function m(){let e=(0,v.ensureGateway)();if(!e.isConfigured)return w.NextResponse.json({ok:!1,configured:!1,error:"No OpenClaw token found. Run 'castle setup' or check ~/.openclaw/openclaw.json"});if("connecting"===e.state&&await new Promise(t=>{let r=setTimeout(t,5e3),n=()=>{clearTimeout(r),e.off("stateChange",n),t()};e.on("stateChange",n)}),!e.isConnected)return w.NextResponse.json({ok:!1,configured:!0,state:e.state,error:"error"===e.state?"Failed to connect to OpenClaw Gateway. Is it running?":"Connecting to OpenClaw Gateway..."});try{let t=Date.now();await e.request("health",{});let r=Date.now()-t;return r>1e3&&console.warn(`[Ping] Health check slow: ${r}ms`),w.NextResponse.json({ok:!0,configured:!0,latency_ms:r,server:e.serverInfo})}catch(e){return console.error("[Ping] Health check failed:",e instanceof Error?e.message:"Unknown error"),w.NextResponse.json({ok:!1,configured:!0,error:e instanceof Error?e.message:"Health check failed"})}}async function E(){return m()}e.s(["GET",()=>E,"POST",()=>m,"dynamic",0,"force-dynamic"],75092);var y=e.i(75092);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/openclaw/ping/route",pathname:"/api/openclaw/ping",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/openclaw/ping/route.ts",nextConfigOutput:"standalone",userland:y}),{workAsyncStorage:k,workUnitAsyncStorage:A,serverHooks:N}=C;function T(){return(0,n.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:A})}async function b(e,t,n){C.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/openclaw/ping/route";w=w.replace(/\/index$/,"")||"/";let v=await C.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:m,params:E,nextConfig:y,parsedUrl:k,isDraftMode:A,prerenderManifest:N,routerServerContext:T,isOnDemandRevalidate:b,revalidateOnlyGenerated:P,resolvedPathname:O,clientReferenceManifest:q,serverActionsManifest:_}=v,j=(0,i.normalizeAppPath)(w),H=!!(N.dynamicRoutes[j]||N.routes[O]),S=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,k,!1):t.end("This page could not be found"),null);if(H&&!A){let e=!!N.routes[O],t=N.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await S();throw new g.NoFallbackError}}let I=null;!H||C.isDev||A||(I="/index"===(I=O)?"/":I);let U=!0===C.isDev||!H,D=H&&!U;_&&q&&(0,s.setManifestsSingleton)({page:w,clientReferenceManifest:q,serverActionsManifest:_});let M=e.method||"GET",$=(0,o.getTracer)(),F=$.getActiveScopeSpan(),K={params:E,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>C.onRequestError(e,t,n,a,T)},sharedContext:{buildId:m}},G=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),L=d.NextRequestAdapter.fromNodeNextRequest(G,(0,d.signalFromNodeResponse)(t));try{let s=async e=>C.handle(L,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${w}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var o,l;let d=async({previousCacheEntry:r})=>{try{if(!i&&b&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await s(a);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=K.renderOpts.collectedTags;if(!H)return await (0,p.sendResponse)(G,B,o,K.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(o.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:b})},!1,T),t}},u=await C.handleResponse({req:e,nextConfig:y,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:P,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:i});if(!H)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",b?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&H||g.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,x.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(G,B,new Response(u.value.body,{headers:g,status:u.value.status||200})),null};F?await l(F):await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${w}`,kind:o.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:b})},!1,T),H)throw t;return await (0,p.sendResponse)(G,B,new Response(null,{status:500})),null}}e.s(["handler",()=>b,"patchFetch",()=>T,"routeModule",()=>C,"serverHooks",()=>N,"workAsyncStorage",()=>k,"workUnitAsyncStorage",()=>A],57993)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__bbd3b47c._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},32611,e=>{"use strict";var t=e.i(89171);let r=new Map,a=null;function n(e,s,i=6e4){!a&&"object"==typeof(a=setInterval(()=>{let e=Date.now();for(let[t,a]of r.entries())a.timestamps=a.timestamps.filter(t=>e-t<6e4),0===a.timestamps.length&&r.delete(t)},3e5))&&"unref"in a&&a.unref();let o=Date.now(),l=r.get(e);return(l||(l={timestamps:[]},r.set(e,l)),l.timestamps=l.timestamps.filter(e=>o-e<i),l.timestamps.length>=s)?t.NextResponse.json({error:"Too many requests — please slow down"},{status:429}):(l.timestamps.push(o),null)}function s(e,t){let r=e.headers.get("x-forwarded-for")?.split(",")[0].trim()||e.headers.get("x-real-ip")||"local";return`${r}:${t}`}function i(e){let r=e.headers.get("origin"),a=e.headers.get("referer"),n=e.headers.get("host")||"localhost:3333",s=new Set([`http://${n}`,`https://${n}`,"http://localhost:3333","http://127.0.0.1:3333","http://[::1]:3333"]);if(r)return s.has(r)?null:t.NextResponse.json({error:"Forbidden — cross-origin request rejected"},{status:403});if(a){try{let e=new URL(a).origin;if(s.has(e))return null}catch{}return t.NextResponse.json({error:"Forbidden — cross-origin request rejected"},{status:403})}return null}function o(e){return e.replace(/rew_[a-f0-9]+/gi,"rew_***").replace(/-----BEGIN [A-Z ]+-----[\s\S]*?-----END [A-Z ]+-----/g,"[REDACTED KEY]").replace(/\b[a-f0-9]{32,}\b/gi,e=>e.slice(0,8)+"***")}e.s(["checkCsrf",()=>i,"checkRateLimit",()=>n,"rateLimitKey",()=>s,"sanitizeForApi",()=>o])},24308,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),p=e.i(87718),u=e.i(95169),d=e.i(47587),c=e.i(66012),g=e.i(70101),h=e.i(74838),m=e.i(10372),f=e.i(93695);e.i(52474);var x=e.i(220),R=e.i(89171),w=e.i(22734),v=e.i(14747),y=e.i(46786),E=e.i(89960),j=e.i(32611),C=e.i(98003),N=e.i(50837);let b=new Set(["image/png","image/jpeg","image/webp","image/gif","audio/mpeg","audio/ogg","audio/wav"]);function A(){return(0,v.join)((0,C.getCastleDir)(),"data","attachments")}function S(e,t){let r=(0,v.resolve)(e),a=(0,v.resolve)(t);return r.startsWith(a)}async function T(t){let r=(0,j.checkCsrf)(t);if(r)return r;let a=await t.formData(),n=a.get("file"),s=a.get("channelId"),i=a.get("messageId");if(!n||!s)return R.NextResponse.json({error:"file and channelId are required"},{status:400});if(n.size>0xa00000)return R.NextResponse.json({error:"File too large (max 10MB)"},{status:400});if(!b.has(n.type))return R.NextResponse.json({error:`Unsupported file type: ${n.type}`},{status:400});try{let t={"image/png":".png","image/jpeg":".jpg","image/webp":".webp","image/gif":".gif","audio/mpeg":".mp3","audio/ogg":".ogg","audio/wav":".wav"}[n.type]||".bin",r=`${(0,E.v4)()}${t}`,a=(0,v.join)(A(),s);(0,w.existsSync)(a)||(0,w.mkdirSync)(a,{recursive:!0,mode:448});let o=(0,v.join)(a,r);if(!S(o,A()))return R.NextResponse.json({error:"Invalid path"},{status:400});let l=Buffer.from(await n.arrayBuffer());if((0,w.writeFileSync)(o,l),"win32"!==(0,y.platform)())try{let{chmodSync:t}=await e.A(23970);t(o,384)}catch{}let p=n.type.startsWith("image/")?"image":"audio",u=null;return i&&(u=(0,N.createAttachment)({messageId:i,attachmentType:p,filePath:`${s}/${r}`,mimeType:n.type,fileSize:n.size,originalName:n.name})),R.NextResponse.json({id:u?.id??(0,E.v4)(),filePath:`${s}/${r}`,mimeType:n.type,fileSize:n.size,originalName:n.name},{status:201})}catch(e){return console.error("[Attachments] Upload failed:",e.message),R.NextResponse.json({error:"Upload failed"},{status:500})}}async function q(e){let{searchParams:t}=new URL(e.url),r=t.get("path"),a=t.get("messageId");if(a)try{let e=(0,N.getAttachmentsByMessage)(a);return R.NextResponse.json({attachments:e})}catch(e){return console.error("[Attachments] List failed:",e.message),R.NextResponse.json({error:"Failed to list attachments"},{status:500})}if(!r)return R.NextResponse.json({error:"path or messageId parameter required"},{status:400});let n=A(),s=(0,v.join)(n,r);if(!S(s,n))return R.NextResponse.json({error:"Invalid path"},{status:400});if(!(0,w.existsSync)(s))return R.NextResponse.json({error:"Attachment not found"},{status:404});try{let e=(0,w.readFileSync)(s),t={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".webp":"image/webp",".gif":"image/gif",".mp3":"audio/mpeg",".ogg":"audio/ogg",".wav":"audio/wav"}[s.substring(s.lastIndexOf(".")).toLowerCase()]||"application/octet-stream",r=(0,w.statSync)(s);return new R.NextResponse(e,{status:200,headers:{"Content-Type":t,"Content-Length":String(r.size),"Content-Disposition":"inline","Cache-Control":"public, max-age=86400"}})}catch(e){return console.error("[Attachments] Serve failed:",e.message),R.NextResponse.json({error:"Failed to serve attachment"},{status:500})}}e.s(["GET",()=>q,"POST",()=>T],46340);var P=e.i(46340);let k=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/openclaw/chat/attachments/route",pathname:"/api/openclaw/chat/attachments",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/openclaw/chat/attachments/route.ts",nextConfigOutput:"standalone",userland:P}),{workAsyncStorage:I,workUnitAsyncStorage:O,serverHooks:_}=k;function D(){return(0,a.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:O})}async function U(e,t,a){k.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/openclaw/chat/attachments/route";R=R.replace(/\/index$/,"")||"/";let w=await k.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:y,nextConfig:E,parsedUrl:j,isDraftMode:C,prerenderManifest:N,routerServerContext:b,isOnDemandRevalidate:A,revalidateOnlyGenerated:S,resolvedPathname:T,clientReferenceManifest:q,serverActionsManifest:P}=w,I=(0,o.normalizeAppPath)(R),O=!!(N.dynamicRoutes[I]||N.routes[T]),_=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,j,!1):t.end("This page could not be found"),null);if(O&&!C){let e=!!N.routes[T],t=N.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await _();throw new f.NoFallbackError}}let D=null;!O||k.isDev||C||(D="/index"===(D=T)?"/":D);let U=!0===k.isDev||!O,$=O&&!U;P&&q&&(0,i.setManifestsSingleton)({page:R,clientReferenceManifest:q,serverActionsManifest:P});let H=e.method||"GET",F=(0,s.getTracer)(),M=F.getActiveScopeSpan(),L={params:y,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>k.onRequestError(e,t,a,n,b)},sharedContext:{buildId:v}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),z=p.NextRequestAdapter.fromNodeNextRequest(B,(0,p.signalFromNodeResponse)(t));try{let i=async e=>k.handle(z,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${H} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${R}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let p=async({previousCacheEntry:r})=>{try{if(!o&&A&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=L.renderOpts.fetchMetrics;let l=L.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let p=L.renderOpts.collectedTags;if(!O)return await (0,c.sendResponse)(B,K,s,L.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(s.headers);p&&(t[m.NEXT_CACHE_TAGS_HEADER]=p),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,a=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:A})},!1,b),t}},u=await k.handleResponse({req:e,nextConfig:E,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:S,responseGenerator:p,waitUntil:a.waitUntil,isMinimalMode:o});if(!O)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",A?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&O||f.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(B,K,new Response(u.value.body,{headers:f,status:u.value.status||200})),null};M?await l(M):await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${H} ${R}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof f.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:A})},!1,b),O)throw t;return await (0,c.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>U,"patchFetch",()=>D,"routeModule",()=>k,"serverHooks",()=>_,"workAsyncStorage",()=>I,"workUnitAsyncStorage",()=>O],24308)},23970,e=>{e.v(e=>Promise.resolve().then(()=>e(22734)))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__c223b7d3._.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
module.exports=[54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},27699,(e,t,s)=>{t.exports=e.x("events",()=>require("events"))},24836,(e,t,s)=>{t.exports=e.x("https",()=>require("https"))},21517,(e,t,s)=>{t.exports=e.x("http",()=>require("http"))},4446,(e,t,s)=>{t.exports=e.x("net",()=>require("net"))},55004,(e,t,s)=>{t.exports=e.x("tls",()=>require("tls"))},88947,(e,t,s)=>{t.exports=e.x("stream",()=>require("stream"))},92509,(e,t,s)=>{t.exports=e.x("url",()=>require("url"))},6461,(e,t,s)=>{t.exports=e.x("zlib",()=>require("zlib"))},74836,(e,t,s)=>{"use strict";let r=["nodebuffer","arraybuffer","fragments"],i="u">typeof Blob;i&&r.push("blob"),t.exports={BINARY_TYPES:r,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:i,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}},97970,(e,t,s)=>{"use strict";let{EMPTY_BUFFER:r}=e.r(74836),i=Buffer[Symbol.species];function o(e,t,s,r,i){for(let o=0;o<i;o++)s[r+o]=e[o]^t[3&o]}function n(e,t){for(let s=0;s<e.length;s++)e[s]^=t[3&s]}function a(e){let t;return(a.readOnly=!0,Buffer.isBuffer(e))?e:(e instanceof ArrayBuffer?t=new i(e):ArrayBuffer.isView(e)?t=new i(e.buffer,e.byteOffset,e.byteLength):(t=Buffer.from(e),a.readOnly=!1),t)}if(t.exports={concat:function(e,t){if(0===e.length)return r;if(1===e.length)return e[0];let s=Buffer.allocUnsafe(t),o=0;for(let t=0;t<e.length;t++){let r=e[t];s.set(r,o),o+=r.length}return o<t?new i(s.buffer,s.byteOffset,o):s},mask:o,toArrayBuffer:function(e){return e.length===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.length)},toBuffer:a,unmask:n},!process.env.WS_NO_BUFFER_UTIL)try{let e=(()=>{let e=Error("Cannot find module 'bufferutil'");throw e.code="MODULE_NOT_FOUND",e})();t.exports.mask=function(t,s,r,i,n){n<48?o(t,s,r,i,n):e.mask(t,s,r,i,n)},t.exports.unmask=function(t,s){t.length<32?n(t,s):e.unmask(t,s)}}catch(e){}},62048,(e,t,s)=>{"use strict";let r=Symbol("kDone"),i=Symbol("kRun");t.exports=class{constructor(e){this[r]=()=>{this.pending--,this[i]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[i]()}[i](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[r])}}}},80295,(e,t,s)=>{"use strict";let r,i=e.r(6461),o=e.r(97970),n=e.r(62048),{kStatusCode:a}=e.r(74836),l=Buffer[Symbol.species],h=Buffer.from([0,0,255,255]),c=Symbol("permessage-deflate"),d=Symbol("total-length"),u=Symbol("callback"),f=Symbol("buffers"),_=Symbol("error");function p(e){this[f].push(e),this[d]+=e.length}function m(e){(this[d]+=e.length,this[c]._maxPayload<1||this[d]<=this[c]._maxPayload)?this[f].push(e):(this[_]=RangeError("Max payload size exceeded"),this[_].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[_][a]=1009,this.removeListener("data",m),this.reset())}function y(e){(this[c]._inflate=null,this[_])?this[u](this[_]):(e[a]=1007,this[u](e))}t.exports=class{constructor(e,t,s){this._maxPayload=0|s,this._options=e||{},this._threshold=void 0!==this._options.threshold?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,r||(r=new n(void 0!==this._options.concurrencyLimit?this._options.concurrencyLimit:10))}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:null==this._options.clientMaxWindowBits&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[u];this._deflate.close(),this._deflate=null,e&&e(Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,s=e.find(e=>(!1!==t.serverNoContextTakeover||!e.server_no_context_takeover)&&(!e.server_max_window_bits||!1!==t.serverMaxWindowBits&&("number"!=typeof t.serverMaxWindowBits||!(t.serverMaxWindowBits>e.server_max_window_bits)))&&("number"!=typeof t.clientMaxWindowBits||!!e.client_max_window_bits));if(!s)throw Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(s.server_no_context_takeover=!0),t.clientNoContextTakeover&&(s.client_no_context_takeover=!0),"number"==typeof t.serverMaxWindowBits&&(s.server_max_window_bits=t.serverMaxWindowBits),"number"==typeof t.clientMaxWindowBits?s.client_max_window_bits=t.clientMaxWindowBits:(!0===s.client_max_window_bits||!1===t.clientMaxWindowBits)&&delete s.client_max_window_bits,s}acceptAsClient(e){let t=e[0];if(!1===this._options.clientNoContextTakeover&&t.client_no_context_takeover)throw Error('Unexpected parameter "client_no_context_takeover"');if(t.client_max_window_bits){if(!1===this._options.clientMaxWindowBits||"number"==typeof this._options.clientMaxWindowBits&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw Error('Unexpected or invalid parameter "client_max_window_bits"')}else"number"==typeof this._options.clientMaxWindowBits&&(t.client_max_window_bits=this._options.clientMaxWindowBits);return t}normalizeParams(e){return e.forEach(e=>{Object.keys(e).forEach(t=>{let s=e[t];if(s.length>1)throw Error(`Parameter "${t}" must have only a single value`);if(s=s[0],"client_max_window_bits"===t){if(!0!==s){let e=+s;if(!Number.isInteger(e)||e<8||e>15)throw TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else if(!this._isServer)throw TypeError(`Invalid value for parameter "${t}": ${s}`)}else if("server_max_window_bits"===t){let e=+s;if(!Number.isInteger(e)||e<8||e>15)throw TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else if("client_no_context_takeover"===t||"server_no_context_takeover"===t){if(!0!==s)throw TypeError(`Invalid value for parameter "${t}": ${s}`)}else throw Error(`Unknown parameter "${t}"`);e[t]=s})}),e}decompress(e,t,s){r.add(r=>{this._decompress(e,t,(e,t)=>{r(),s(e,t)})})}compress(e,t,s){r.add(r=>{this._compress(e,t,(e,t)=>{r(),s(e,t)})})}_decompress(e,t,s){let r=this._isServer?"client":"server";if(!this._inflate){let e=`${r}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._inflate=i.createInflateRaw({...this._options.zlibInflateOptions,windowBits:t}),this._inflate[c]=this,this._inflate[d]=0,this._inflate[f]=[],this._inflate.on("error",y),this._inflate.on("data",m)}this._inflate[u]=s,this._inflate.write(e),t&&this._inflate.write(h),this._inflate.flush(()=>{let e=this._inflate[_];if(e){this._inflate.close(),this._inflate=null,s(e);return}let i=o.concat(this._inflate[f],this._inflate[d]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[d]=0,this._inflate[f]=[],t&&this.params[`${r}_no_context_takeover`]&&this._inflate.reset()),s(null,i)})}_compress(e,t,s){let r=this._isServer?"server":"client";if(!this._deflate){let e=`${r}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._deflate=i.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:t}),this._deflate[d]=0,this._deflate[f]=[],this._deflate.on("data",p)}this._deflate[u]=s,this._deflate.write(e),this._deflate.flush(i.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let e=o.concat(this._deflate[f],this._deflate[d]);t&&(e=new l(e.buffer,e.byteOffset,e.length-4)),this._deflate[u]=null,this._deflate[d]=0,this._deflate[f]=[],t&&this.params[`${r}_no_context_takeover`]&&this._deflate.reset(),s(null,e)})}}},874,(e,t,s)=>{t.exports=e.x("buffer",()=>require("buffer"))},58739,(e,t,s)=>{"use strict";let{isUtf8:r}=e.r(874),{hasBlob:i}=e.r(74836);function o(e){let t=e.length,s=0;for(;s<t;)if((128&e[s])==0)s++;else if((224&e[s])==192){if(s+1===t||(192&e[s+1])!=128||(254&e[s])==192)return!1;s+=2}else if((240&e[s])==224){if(s+2>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||224===e[s]&&(224&e[s+1])==128||237===e[s]&&(224&e[s+1])==160)return!1;s+=3}else{if((248&e[s])!=240||s+3>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||(192&e[s+3])!=128||240===e[s]&&(240&e[s+1])==128||244===e[s]&&e[s+1]>143||e[s]>244)return!1;s+=4}return!0}if(t.exports={isBlob:function(e){return i&&"object"==typeof e&&"function"==typeof e.arrayBuffer&&"string"==typeof e.type&&"function"==typeof e.stream&&("Blob"===e[Symbol.toStringTag]||"File"===e[Symbol.toStringTag])},isValidStatusCode:function(e){return e>=1e3&&e<=1014&&1004!==e&&1005!==e&&1006!==e||e>=3e3&&e<=4999},isValidUTF8:o,tokenChars:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0]},r)t.exports.isValidUTF8=function(e){return e.length<24?o(e):r(e)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let e=(()=>{let e=Error("Cannot find module 'utf-8-validate'");throw e.code="MODULE_NOT_FOUND",e})();t.exports.isValidUTF8=function(t){return t.length<32?o(t):e(t)}}catch(e){}},29485,(e,t,s)=>{"use strict";let{Writable:r}=e.r(88947),i=e.r(80295),{BINARY_TYPES:o,EMPTY_BUFFER:n,kStatusCode:a,kWebSocket:l}=e.r(74836),{concat:h,toArrayBuffer:c,unmask:d}=e.r(97970),{isValidStatusCode:u,isValidUTF8:f}=e.r(58739),_=Buffer[Symbol.species];t.exports=class extends r{constructor(e={}){super(),this._allowSynchronousEvents=void 0===e.allowSynchronousEvents||e.allowSynchronousEvents,this._binaryType=e.binaryType||o[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=0|e.maxPayload,this._skipUTF8Validation=!!e.skipUTF8Validation,this[l]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(e,t,s){if(8===this._opcode&&0==this._state)return s();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(s)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let t=this._buffers[0];return this._buffers[0]=new _(t.buffer,t.byteOffset+e,t.length-e),new _(t.buffer,t.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let s=this._buffers[0],r=t.length-e;e>=s.length?t.set(this._buffers.shift(),r):(t.set(new Uint8Array(s.buffer,s.byteOffset,e),r),this._buffers[0]=new _(s.buffer,s.byteOffset+e,s.length-e)),e-=s.length}while(e>0)return t}startLoop(e){this._loop=!0;do switch(this._state){case 0:this.getInfo(e);break;case 1:this.getPayloadLength16(e);break;case 2:this.getPayloadLength64(e);break;case 3:this.getMask();break;case 4:this.getData(e);break;case 5:case 6:this._loop=!1;return}while(this._loop)this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((48&t[0])!=0)return void e(this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3"));let s=(64&t[0])==64;if(s&&!this._extensions[i.extensionName])return void e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._fin=(128&t[0])==128,this._opcode=15&t[0],this._payloadLength=127&t[1],0===this._opcode){if(s)return void e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(!this._fragmented)return void e(this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE"));this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented)return void e(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));this._compressed=s}else{if(!(this._opcode>7)||!(this._opcode<11))return void e(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));if(!this._fin)return void e(this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN"));if(s)return void e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._payloadLength>125||8===this._opcode&&1===this._payloadLength)return void e(this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"))}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=(128&t[1])==128,this._isServer){if(!this._masked)return void e(this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK"))}else if(this._masked)return void e(this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK"));126===this._payloadLength?this._state=1:127===this._payloadLength?this._state=2:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),s=t.readUInt32BE(0);s>2097151?e(this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH")):(this._payloadLength=0x100000000*s+t.readUInt32BE(4),this.haveLength(e))}haveLength(e){this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)?e(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH")):this._masked?this._state=3:this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(e){let t=n;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!=0&&d(t,this._mask)}if(this._opcode>7)return void this.controlMessage(t,e);if(this._compressed){this._state=5,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[i.extensionName].decompress(e,this._fin,(e,s)=>{if(e)return t(e);if(s.length){if(this._messageLength+=s.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return void t(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._fragments.push(s)}this.dataMessage(t),0===this._state&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=0;return}let t=this._messageLength,s=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let r;r="nodebuffer"===this._binaryType?h(s,t):"arraybuffer"===this._binaryType?c(h(s,t)):"blob"===this._binaryType?new Blob(s):s,this._allowSynchronousEvents?(this.emit("message",r,!0),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",r,!0),this._state=0,this.startLoop(e)}))}else{let r=h(s,t);if(!this._skipUTF8Validation&&!f(r))return void e(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));5===this._state||this._allowSynchronousEvents?(this.emit("message",r,!1),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",r,!1),this._state=0,this.startLoop(e)}))}}controlMessage(e,t){if(8===this._opcode){if(0===e.length)this._loop=!1,this.emit("conclude",1005,n),this.end();else{let s=e.readUInt16BE(0);if(!u(s))return void t(this.createError(RangeError,`invalid status code ${s}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE"));let r=new _(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!f(r))return void t(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));this._loop=!1,this.emit("conclude",s,r),this.end()}this._state=0;return}this._allowSynchronousEvents?(this.emit(9===this._opcode?"ping":"pong",e),this._state=0):(this._state=6,setImmediate(()=>{this.emit(9===this._opcode?"ping":"pong",e),this._state=0,this.startLoop(t)}))}createError(e,t,s,r,i){this._loop=!1,this._errored=!0;let o=new e(s?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(o,this.createError),o.code=i,o[a]=r,o}}},16735,(e,t,s)=>{"use strict";let r,{Duplex:i}=e.r(88947),{randomFillSync:o}=e.r(54799),n=e.r(80295),{EMPTY_BUFFER:a,kWebSocket:l,NOOP:h}=e.r(74836),{isBlob:c,isValidStatusCode:d}=e.r(58739),{mask:u,toBuffer:f}=e.r(97970),_=Symbol("kByteLength"),p=Buffer.alloc(4),m=8192;class y{constructor(e,t,s){this._extensions=t||{},s&&(this._generateMask=s,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=0,this.onerror=h,this[l]=void 0}static frame(e,t){let s,i,n=!1,a=2,l=!1;t.mask&&(s=t.maskBuffer||p,t.generateMask?t.generateMask(s):(8192===m&&(void 0===r&&(r=Buffer.alloc(8192)),o(r,0,8192),m=0),s[0]=r[m++],s[1]=r[m++],s[2]=r[m++],s[3]=r[m++]),l=(s[0]|s[1]|s[2]|s[3])==0,a=6),"string"==typeof e?i=(!t.mask||l)&&void 0!==t[_]?t[_]:(e=Buffer.from(e)).length:(i=e.length,n=t.mask&&t.readOnly&&!l);let h=i;i>=65536?(a+=8,h=127):i>125&&(a+=2,h=126);let c=Buffer.allocUnsafe(n?i+a:a);return(c[0]=t.fin?128|t.opcode:t.opcode,t.rsv1&&(c[0]|=64),c[1]=h,126===h?c.writeUInt16BE(i,2):127===h&&(c[2]=c[3]=0,c.writeUIntBE(i,4,6)),t.mask)?(c[1]|=128,c[a-4]=s[0],c[a-3]=s[1],c[a-2]=s[2],c[a-1]=s[3],l)?[c,e]:n?(u(e,s,c,a,i),[c]):(u(e,s,e,0,i),[c,e]):[c,e]}close(e,t,s,r){let i;if(void 0===e)i=a;else if("number"==typeof e&&d(e))if(void 0!==t&&t.length){let s=Buffer.byteLength(t);if(s>123)throw RangeError("The message must not be greater than 123 bytes");(i=Buffer.allocUnsafe(2+s)).writeUInt16BE(e,0),"string"==typeof t?i.write(t,2):i.set(t,2)}else(i=Buffer.allocUnsafe(2)).writeUInt16BE(e,0);else throw TypeError("First argument must be a valid error code number");let o={[_]:i.length,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};0!==this._state?this.enqueue([this.dispatch,i,!1,o,r]):this.sendFrame(y.frame(i,o),r)}ping(e,t,s){let r,i;if("string"==typeof e?(r=Buffer.byteLength(e),i=!1):c(e)?(r=e.size,i=!1):(r=(e=f(e)).length,i=f.readOnly),r>125)throw RangeError("The data size must not be greater than 125 bytes");let o={[_]:r,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:i,rsv1:!1};c(e)?0!==this._state?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):0!==this._state?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(y.frame(e,o),s)}pong(e,t,s){let r,i;if("string"==typeof e?(r=Buffer.byteLength(e),i=!1):c(e)?(r=e.size,i=!1):(r=(e=f(e)).length,i=f.readOnly),r>125)throw RangeError("The data size must not be greater than 125 bytes");let o={[_]:r,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:i,rsv1:!1};c(e)?0!==this._state?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):0!==this._state?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(y.frame(e,o),s)}send(e,t,s){let r,i,o=this._extensions[n.extensionName],a=t.binary?2:1,l=t.compress;"string"==typeof e?(r=Buffer.byteLength(e),i=!1):c(e)?(r=e.size,i=!1):(r=(e=f(e)).length,i=f.readOnly),this._firstFragment?(this._firstFragment=!1,l&&o&&o.params[o._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(l=r>=o._threshold),this._compress=l):(l=!1,a=0),t.fin&&(this._firstFragment=!0);let h={[_]:r,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:a,readOnly:i,rsv1:l};c(e)?0!==this._state?this.enqueue([this.getBlobData,e,this._compress,h,s]):this.getBlobData(e,this._compress,h,s):0!==this._state?this.enqueue([this.dispatch,e,this._compress,h,s]):this.dispatch(e,this._compress,h,s)}getBlobData(e,t,s,r){this._bufferedBytes+=s[_],this._state=2,e.arrayBuffer().then(e=>{if(this._socket.destroyed){let e=Error("The socket was closed while the blob was being read");process.nextTick(g,this,e,r);return}this._bufferedBytes-=s[_];let i=f(e);t?this.dispatch(i,t,s,r):(this._state=0,this.sendFrame(y.frame(i,s),r),this.dequeue())}).catch(e=>{process.nextTick(v,this,e,r)})}dispatch(e,t,s,r){if(!t)return void this.sendFrame(y.frame(e,s),r);let i=this._extensions[n.extensionName];this._bufferedBytes+=s[_],this._state=1,i.compress(e,s.fin,(e,t)=>{this._socket.destroyed?g(this,Error("The socket was closed while data was being compressed"),r):(this._bufferedBytes-=s[_],this._state=0,s.readOnly=!1,this.sendFrame(y.frame(t,s),r),this.dequeue())})}dequeue(){for(;0===this._state&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][_],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][_],this._queue.push(e)}sendFrame(e,t){2===e.length?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}}function g(e,t,s){"function"==typeof s&&s(t);for(let s=0;s<e._queue.length;s++){let r=e._queue[s],i=r[r.length-1];"function"==typeof i&&i(t)}}function v(e,t,s){g(e,t,s),e.onerror(t)}t.exports=y},70494,(e,t,s)=>{"use strict";let{kForOnEventAttribute:r,kListener:i}=e.r(74836),o=Symbol("kCode"),n=Symbol("kData"),a=Symbol("kError"),l=Symbol("kMessage"),h=Symbol("kReason"),c=Symbol("kTarget"),d=Symbol("kType"),u=Symbol("kWasClean");class f{constructor(e){this[c]=null,this[d]=e}get target(){return this[c]}get type(){return this[d]}}Object.defineProperty(f.prototype,"target",{enumerable:!0}),Object.defineProperty(f.prototype,"type",{enumerable:!0});class _ extends f{constructor(e,t={}){super(e),this[o]=void 0===t.code?0:t.code,this[h]=void 0===t.reason?"":t.reason,this[u]=void 0!==t.wasClean&&t.wasClean}get code(){return this[o]}get reason(){return this[h]}get wasClean(){return this[u]}}Object.defineProperty(_.prototype,"code",{enumerable:!0}),Object.defineProperty(_.prototype,"reason",{enumerable:!0}),Object.defineProperty(_.prototype,"wasClean",{enumerable:!0});class p extends f{constructor(e,t={}){super(e),this[a]=void 0===t.error?null:t.error,this[l]=void 0===t.message?"":t.message}get error(){return this[a]}get message(){return this[l]}}Object.defineProperty(p.prototype,"error",{enumerable:!0}),Object.defineProperty(p.prototype,"message",{enumerable:!0});class m extends f{constructor(e,t={}){super(e),this[n]=void 0===t.data?null:t.data}get data(){return this[n]}}function y(e,t,s){"object"==typeof e&&e.handleEvent?e.handleEvent.call(e,s):e.call(t,s)}Object.defineProperty(m.prototype,"data",{enumerable:!0}),t.exports={CloseEvent:_,ErrorEvent:p,Event:f,EventTarget:{addEventListener(e,t,s={}){let o;for(let o of this.listeners(e))if(!s[r]&&o[i]===t&&!o[r])return;if("message"===e)o=function(e,s){let r=new m("message",{data:s?e:e.toString()});r[c]=this,y(t,this,r)};else if("close"===e)o=function(e,s){let r=new _("close",{code:e,reason:s.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});r[c]=this,y(t,this,r)};else if("error"===e)o=function(e){let s=new p("error",{error:e,message:e.message});s[c]=this,y(t,this,s)};else{if("open"!==e)return;o=function(){let e=new f("open");e[c]=this,y(t,this,e)}}o[r]=!!s[r],o[i]=t,s.once?this.once(e,o):this.on(e,o)},removeEventListener(e,t){for(let s of this.listeners(e))if(s[i]===t&&!s[r]){this.removeListener(e,s);break}}},MessageEvent:m}},96903,(e,t,s)=>{"use strict";let{tokenChars:r}=e.r(58739);function i(e,t,s){void 0===e[t]?e[t]=[s]:e[t].push(s)}t.exports={format:function(e){return Object.keys(e).map(t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map(e=>[t].concat(Object.keys(e).map(t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map(e=>!0===e?t:`${t}=${e}`).join("; ")})).join("; ")).join(", ")}).join(", ")},parse:function(e){let t,s,o=Object.create(null),n=Object.create(null),a=!1,l=!1,h=!1,c=-1,d=-1,u=-1,f=0;for(;f<e.length;f++)if(d=e.charCodeAt(f),void 0===t)if(-1===u&&1===r[d])-1===c&&(c=f);else if(0!==f&&(32===d||9===d))-1===u&&-1!==c&&(u=f);else if(59===d||44===d){if(-1===c)throw SyntaxError(`Unexpected character at index ${f}`);-1===u&&(u=f);let s=e.slice(c,u);44===d?(i(o,s,n),n=Object.create(null)):t=s,c=u=-1}else throw SyntaxError(`Unexpected character at index ${f}`);else if(void 0===s)if(-1===u&&1===r[d])-1===c&&(c=f);else if(32===d||9===d)-1===u&&-1!==c&&(u=f);else if(59===d||44===d){if(-1===c)throw SyntaxError(`Unexpected character at index ${f}`);-1===u&&(u=f),i(n,e.slice(c,u),!0),44===d&&(i(o,t,n),n=Object.create(null),t=void 0),c=u=-1}else if(61===d&&-1!==c&&-1===u)s=e.slice(c,f),c=u=-1;else throw SyntaxError(`Unexpected character at index ${f}`);else if(l){if(1!==r[d])throw SyntaxError(`Unexpected character at index ${f}`);-1===c?c=f:a||(a=!0),l=!1}else if(h)if(1===r[d])-1===c&&(c=f);else if(34===d&&-1!==c)h=!1,u=f;else if(92===d)l=!0;else throw SyntaxError(`Unexpected character at index ${f}`);else if(34===d&&61===e.charCodeAt(f-1))h=!0;else if(-1===u&&1===r[d])-1===c&&(c=f);else if(-1!==c&&(32===d||9===d))-1===u&&(u=f);else if(59===d||44===d){if(-1===c)throw SyntaxError(`Unexpected character at index ${f}`);-1===u&&(u=f);let r=e.slice(c,u);a&&(r=r.replace(/\\/g,""),a=!1),i(n,s,r),44===d&&(i(o,t,n),n=Object.create(null),t=void 0),s=void 0,c=u=-1}else throw SyntaxError(`Unexpected character at index ${f}`);if(-1===c||h||32===d||9===d)throw SyntaxError("Unexpected end of input");-1===u&&(u=f);let _=e.slice(c,u);return void 0===t?i(o,_,n):(void 0===s?i(n,_,!0):a?i(n,s,_.replace(/\\/g,"")):i(n,s,_),i(o,t,n)),o}}},35065,(e,t,s)=>{"use strict";let r=e.r(27699),i=e.r(24836),o=e.r(21517),n=e.r(4446),a=e.r(55004),{randomBytes:l,createHash:h}=e.r(54799),{Duplex:c,Readable:d}=e.r(88947),{URL:u}=e.r(92509),f=e.r(80295),_=e.r(29485),p=e.r(16735),{isBlob:m}=e.r(58739),{BINARY_TYPES:y,CLOSE_TIMEOUT:g,EMPTY_BUFFER:v,GUID:b,kForOnEventAttribute:S,kListener:w,kStatusCode:E,kWebSocket:k,NOOP:x}=e.r(74836),{EventTarget:{addEventListener:T,removeEventListener:C}}=e.r(70494),{format:O,parse:N}=e.r(96903),{toBuffer:L}=e.r(97970),R=Symbol("kAborted"),P=[8,13],I=["CONNECTING","OPEN","CLOSING","CLOSED"],D=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;class B extends r{constructor(e,t,s){super(),this._binaryType=y[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=v,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=B.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,null!==e?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,void 0===t?t=[]:Array.isArray(t)||("object"==typeof t&&null!==t?(s=t,t=[]):t=[t]),function e(t,s,r,n){let a,c,d,_,p={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:g,protocolVersion:P[1],maxPayload:0x6400000,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...n,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=p.autoPong,t._closeTimeout=p.closeTimeout,!P.includes(p.protocolVersion))throw RangeError(`Unsupported protocol version: ${p.protocolVersion} (supported versions: ${P.join(", ")})`);if(s instanceof u)a=s;else try{a=new u(s)}catch(e){throw SyntaxError(`Invalid URL: ${s}`)}"http:"===a.protocol?a.protocol="ws:":"https:"===a.protocol&&(a.protocol="wss:"),t._url=a.href;let m="wss:"===a.protocol,y="ws+unix:"===a.protocol;if("ws:"===a.protocol||m||y?y&&!a.pathname?c="The URL's pathname is empty":a.hash&&(c="The URL contains a fragment identifier"):c='The URL\'s protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"',c){let e=SyntaxError(c);if(0!==t._redirects)return void U(t,e);throw e}let v=m?443:80,S=l(16).toString("base64"),w=m?i.request:o.request,E=new Set;if(p.createConnection=p.createConnection||(m?G:A),p.defaultPort=p.defaultPort||v,p.port=a.port||v,p.host=a.hostname.startsWith("[")?a.hostname.slice(1,-1):a.hostname,p.headers={...p.headers,"Sec-WebSocket-Version":p.protocolVersion,"Sec-WebSocket-Key":S,Connection:"Upgrade",Upgrade:"websocket"},p.path=a.pathname+a.search,p.timeout=p.handshakeTimeout,p.perMessageDeflate&&(d=new f(!0!==p.perMessageDeflate?p.perMessageDeflate:{},!1,p.maxPayload),p.headers["Sec-WebSocket-Extensions"]=O({[f.extensionName]:d.offer()})),r.length){for(let e of r){if("string"!=typeof e||!D.test(e)||E.has(e))throw SyntaxError("An invalid or duplicated subprotocol was specified");E.add(e)}p.headers["Sec-WebSocket-Protocol"]=r.join(",")}if(p.origin&&(p.protocolVersion<13?p.headers["Sec-WebSocket-Origin"]=p.origin:p.headers.Origin=p.origin),(a.username||a.password)&&(p.auth=`${a.username}:${a.password}`),y){let e=p.path.split(":");p.socketPath=e[0],p.path=e[1]}if(p.followRedirects){if(0===t._redirects){t._originalIpc=y,t._originalSecure=m,t._originalHostOrSocketPath=y?p.socketPath:a.host;let e=n&&n.headers;if(n={...n,headers:{}},e)for(let[t,s]of Object.entries(e))n.headers[t.toLowerCase()]=s}else if(0===t.listenerCount("redirect")){let e=y?!!t._originalIpc&&p.socketPath===t._originalHostOrSocketPath:!t._originalIpc&&a.host===t._originalHostOrSocketPath;e&&(!t._originalSecure||m)||(delete p.headers.authorization,delete p.headers.cookie,e||delete p.headers.host,p.auth=void 0)}p.auth&&!n.headers.authorization&&(n.headers.authorization="Basic "+Buffer.from(p.auth).toString("base64")),_=t._req=w(p),t._redirects&&t.emit("redirect",t.url,_)}else _=t._req=w(p);p.timeout&&_.on("timeout",()=>{M(t,_,"Opening handshake has timed out")}),_.on("error",e=>{null===_||_[R]||(_=t._req=null,U(t,e))}),_.on("response",i=>{let o=i.headers.location,a=i.statusCode;if(o&&p.followRedirects&&a>=300&&a<400){let i;if(++t._redirects>p.maxRedirects)return void M(t,_,"Maximum redirects exceeded");_.abort();try{i=new u(o,s)}catch(e){U(t,SyntaxError(`Invalid URL: ${o}`));return}e(t,i,r,n)}else t.emit("unexpected-response",_,i)||M(t,_,`Unexpected server response: ${i.statusCode}`)}),_.on("upgrade",(e,s,r)=>{let i;if(t.emit("upgrade",e),t.readyState!==B.CONNECTING)return;_=t._req=null;let o=e.headers.upgrade;if(void 0===o||"websocket"!==o.toLowerCase())return void M(t,s,"Invalid Upgrade header");let n=h("sha1").update(S+b).digest("base64");if(e.headers["sec-websocket-accept"]!==n)return void M(t,s,"Invalid Sec-WebSocket-Accept header");let a=e.headers["sec-websocket-protocol"];if(void 0!==a?E.size?E.has(a)||(i="Server sent an invalid subprotocol"):i="Server sent a subprotocol but none was requested":E.size&&(i="Server sent no subprotocol"),i)return void M(t,s,i);a&&(t._protocol=a);let l=e.headers["sec-websocket-extensions"];if(void 0!==l){let e;if(!d)return void M(t,s,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");try{e=N(l)}catch(e){M(t,s,"Invalid Sec-WebSocket-Extensions header");return}let r=Object.keys(e);if(1!==r.length||r[0]!==f.extensionName)return void M(t,s,"Server indicated an extension that was not requested");try{d.accept(e[f.extensionName])}catch(e){M(t,s,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[f.extensionName]=d}t.setSocket(s,r,{allowSynchronousEvents:p.allowSynchronousEvents,generateMask:p.generateMask,maxPayload:p.maxPayload,skipUTF8Validation:p.skipUTF8Validation})}),p.finishRequest?p.finishRequest(_,t):_.end()}(this,e,t,s)):(this._autoPong=s.autoPong,this._closeTimeout=s.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){y.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,s){let r=new _({allowSynchronousEvents:s.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation}),i=new p(e,this._extensions,s.generateMask);this._receiver=r,this._sender=i,this._socket=e,r[k]=this,i[k]=this,e[k]=this,r.on("conclude",W),r.on("drain",F),r.on("error",j),r.on("message",V),r.on("ping",z),r.on("pong",K),i.onerror=J,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",Z),e.on("data",Y),e.on("end",Q),e.on("error",ee),this._readyState=B.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=B.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[f.extensionName]&&this._extensions[f.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=B.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==B.CLOSED){if(this.readyState===B.CONNECTING)return void M(this,this._req,"WebSocket was closed before the connection was established");if(this.readyState===B.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=B.CLOSING,this._sender.close(e,t,!this._isServer,e=>{!e&&(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),X(this)}}pause(){this.readyState!==B.CONNECTING&&this.readyState!==B.CLOSED&&(this._paused=!0,this._socket.pause())}ping(e,t,s){if(this.readyState===B.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");("function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState!==B.OPEN)?$(this,e,s):(void 0===t&&(t=!this._isServer),this._sender.ping(e||v,t,s))}pong(e,t,s){if(this.readyState===B.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");("function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState!==B.OPEN)?$(this,e,s):(void 0===t&&(t=!this._isServer),this._sender.pong(e||v,t,s))}resume(){this.readyState!==B.CONNECTING&&this.readyState!==B.CLOSED&&(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,s){if(this.readyState===B.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof t&&(s=t,t={}),"number"==typeof e&&(e=e.toString()),this.readyState!==B.OPEN)return void $(this,e,s);let r={binary:"string"!=typeof e,mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[f.extensionName]||(r.compress=!1),this._sender.send(e||v,r,s)}terminate(){if(this.readyState!==B.CLOSED){if(this.readyState===B.CONNECTING)return void M(this,this._req,"WebSocket was closed before the connection was established");this._socket&&(this._readyState=B.CLOSING,this._socket.destroy())}}}function U(e,t){e._readyState=B.CLOSING,e._errorEmitted=!0,e.emit("error",t),e.emitClose()}function A(e){return e.path=e.socketPath,n.connect(e)}function G(e){return e.path=void 0,e.servername||""===e.servername||(e.servername=n.isIP(e.host)?"":e.host),a.connect(e)}function M(e,t,s){e._readyState=B.CLOSING;let r=Error(s);Error.captureStackTrace(r,M),t.setHeader?(t[R]=!0,t.abort(),t.socket&&!t.socket.destroyed&&t.socket.destroy(),process.nextTick(U,e,r)):(t.destroy(r),t.once("error",e.emit.bind(e,"error")),t.once("close",e.emitClose.bind(e)))}function $(e,t,s){if(t){let s=m(t)?t.size:L(t).length;e._socket?e._sender._bufferedBytes+=s:e._bufferedAmount+=s}if(s){let t=Error(`WebSocket is not open: readyState ${e.readyState} (${I[e.readyState]})`);process.nextTick(s,t)}}function W(e,t){let s=this[k];s._closeFrameReceived=!0,s._closeMessage=t,s._closeCode=e,void 0!==s._socket[k]&&(s._socket.removeListener("data",Y),process.nextTick(H,s._socket),1005===e?s.close():s.close(e,t))}function F(){let e=this[k];e.isPaused||e._socket.resume()}function j(e){let t=this[k];void 0!==t._socket[k]&&(t._socket.removeListener("data",Y),process.nextTick(H,t._socket),t.close(e[E])),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e))}function q(){this[k].emitClose()}function V(e,t){this[k].emit("message",e,t)}function z(e){let t=this[k];t._autoPong&&t.pong(e,!this._isServer,x),t.emit("ping",e)}function K(e){this[k].emit("pong",e)}function H(e){e.resume()}function J(e){let t=this[k];t.readyState!==B.CLOSED&&(t.readyState===B.OPEN&&(t._readyState=B.CLOSING,X(t)),this._socket.end(),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e)))}function X(e){e._closeTimer=setTimeout(e._socket.destroy.bind(e._socket),e._closeTimeout)}function Z(){let e=this[k];if(this.removeListener("close",Z),this.removeListener("data",Y),this.removeListener("end",Q),e._readyState=B.CLOSING,!this._readableState.endEmitted&&!e._closeFrameReceived&&!e._receiver._writableState.errorEmitted&&0!==this._readableState.length){let t=this.read(this._readableState.length);e._receiver.write(t)}e._receiver.end(),this[k]=void 0,clearTimeout(e._closeTimer),e._receiver._writableState.finished||e._receiver._writableState.errorEmitted?e.emitClose():(e._receiver.on("error",q),e._receiver.on("finish",q))}function Y(e){this[k]._receiver.write(e)||this.pause()}function Q(){let e=this[k];e._readyState=B.CLOSING,e._receiver.end(),this.end()}function ee(){let e=this[k];this.removeListener("error",ee),this.on("error",x),e&&(e._readyState=B.CLOSING,this.destroy())}Object.defineProperty(B,"CONNECTING",{enumerable:!0,value:I.indexOf("CONNECTING")}),Object.defineProperty(B.prototype,"CONNECTING",{enumerable:!0,value:I.indexOf("CONNECTING")}),Object.defineProperty(B,"OPEN",{enumerable:!0,value:I.indexOf("OPEN")}),Object.defineProperty(B.prototype,"OPEN",{enumerable:!0,value:I.indexOf("OPEN")}),Object.defineProperty(B,"CLOSING",{enumerable:!0,value:I.indexOf("CLOSING")}),Object.defineProperty(B.prototype,"CLOSING",{enumerable:!0,value:I.indexOf("CLOSING")}),Object.defineProperty(B,"CLOSED",{enumerable:!0,value:I.indexOf("CLOSED")}),Object.defineProperty(B.prototype,"CLOSED",{enumerable:!0,value:I.indexOf("CLOSED")}),["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(e=>{Object.defineProperty(B.prototype,e,{enumerable:!0})}),["open","error","close","message"].forEach(e=>{Object.defineProperty(B.prototype,`on${e}`,{enumerable:!0,get(){for(let t of this.listeners(e))if(t[S])return t[w];return null},set(t){for(let t of this.listeners(e))if(t[S]){this.removeListener(e,t);break}"function"==typeof t&&this.addEventListener(e,t,{[S]:!0})}})}),B.prototype.addEventListener=T,B.prototype.removeEventListener=C,t.exports=B},21365,(e,t,s)=>{"use strict";e.r(35065);let{Duplex:r}=e.r(88947);function i(e){e.emit("close")}function o(){!this.destroyed&&this._writableState.finished&&this.destroy()}function n(e){this.removeListener("error",n),this.destroy(),0===this.listenerCount("error")&&this.emit("error",e)}t.exports=function(e,t){let s=!0,a=new r({...t,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return e.on("message",function(t,s){let r=!s&&a._readableState.objectMode?t.toString():t;a.push(r)||e.pause()}),e.once("error",function(e){a.destroyed||(s=!1,a.destroy(e))}),e.once("close",function(){a.destroyed||a.push(null)}),a._destroy=function(t,r){if(e.readyState===e.CLOSED){r(t),process.nextTick(i,a);return}let o=!1;e.once("error",function(e){o=!0,r(e)}),e.once("close",function(){o||r(t),process.nextTick(i,a)}),s&&e.terminate()},a._final=function(t){e.readyState===e.CONNECTING?e.once("open",function(){a._final(t)}):null!==e._socket&&(e._socket._writableState.finished?(t(),a._readableState.endEmitted&&a.destroy()):(e._socket.once("finish",function(){t()}),e.close()))},a._read=function(){e.isPaused&&e.resume()},a._write=function(t,s,r){e.readyState===e.CONNECTING?e.once("open",function(){a._write(t,s,r)}):e.send(t,r)},a.on("end",o),a.on("error",n),a}},42977,(e,t,s)=>{"use strict";let{tokenChars:r}=e.r(58739);t.exports={parse:function(e){let t=new Set,s=-1,i=-1,o=0;for(;o<e.length;o++){let n=e.charCodeAt(o);if(-1===i&&1===r[n])-1===s&&(s=o);else if(0!==o&&(32===n||9===n))-1===i&&-1!==s&&(i=o);else if(44===n){if(-1===s)throw SyntaxError(`Unexpected character at index ${o}`);-1===i&&(i=o);let r=e.slice(s,i);if(t.has(r))throw SyntaxError(`The "${r}" subprotocol is duplicated`);t.add(r),s=i=-1}else throw SyntaxError(`Unexpected character at index ${o}`)}if(-1===s||-1!==i)throw SyntaxError("Unexpected end of input");let n=e.slice(s,o);if(t.has(n))throw SyntaxError(`The "${n}" subprotocol is duplicated`);return t.add(n),t}}},17198,(e,t,s)=>{"use strict";let r=e.r(27699),i=e.r(21517),{Duplex:o}=e.r(88947),{createHash:n}=e.r(54799),a=e.r(96903),l=e.r(80295),h=e.r(42977),c=e.r(35065),{CLOSE_TIMEOUT:d,GUID:u,kWebSocket:f}=e.r(74836),_=/^[+/0-9A-Za-z]{22}==$/;function p(e){e._state=2,e.emit("close")}function m(){this.destroy()}function y(e,t,s,r){s=s||i.STATUS_CODES[t],r={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(s),...r},e.once("finish",e.destroy),e.end(`HTTP/1.1 ${t} ${i.STATUS_CODES[t]}\r
|
|
2
|
+
`+Object.keys(r).map(e=>`${e}: ${r[e]}`).join("\r\n")+"\r\n\r\n"+s)}function g(e,t,s,r,i,o){if(e.listenerCount("wsClientError")){let r=Error(i);Error.captureStackTrace(r,g),e.emit("wsClientError",r,s,t)}else y(s,r,i,o)}t.exports=class extends r{constructor(e,t){if(super(),null==(e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:0x6400000,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:d,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:c,...e}).port&&!e.server&&!e.noServer||null!=e.port&&(e.server||e.noServer)||e.server&&e.noServer)throw TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(null!=e.port?(this._server=i.createServer((e,t)=>{let s=i.STATUS_CODES[426];t.writeHead(426,{"Content-Length":s.length,"Content-Type":"text/plain"}),t.end(s)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){const e=this.emit.bind(this,"connection");this._removeListeners=function(e,t){for(let s of Object.keys(t))e.on(s,t[s]);return function(){for(let s of Object.keys(t))e.removeListener(s,t[s])}}(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(t,s,r)=>{this.handleUpgrade(t,s,r,e)}})}!0===e.perMessageDeflate&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=0}address(){if(this.options.noServer)throw Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(2===this._state){e&&this.once("close",()=>{e(Error("The server is not running"))}),process.nextTick(p,this);return}if(e&&this.once("close",e),1!==this._state)if(this._state=1,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients&&this.clients.size?this._shouldEmitClose=!0:process.nextTick(p,this);else{let e=this._server;this._removeListeners(),this._removeListeners=this._server=null,e.close(()=>{p(this)})}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((-1!==t?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,s,r){t.on("error",m);let i=e.headers["sec-websocket-key"],o=e.headers.upgrade,n=+e.headers["sec-websocket-version"];if("GET"!==e.method)return void g(this,e,t,405,"Invalid HTTP method");if(void 0===o||"websocket"!==o.toLowerCase())return void g(this,e,t,400,"Invalid Upgrade header");if(void 0===i||!_.test(i))return void g(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");if(13!==n&&8!==n)return void g(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});if(!this.shouldHandle(e))return void y(t,400);let c=e.headers["sec-websocket-protocol"],d=new Set;if(void 0!==c)try{d=h.parse(c)}catch(s){g(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let u=e.headers["sec-websocket-extensions"],f={};if(this.options.perMessageDeflate&&void 0!==u){let s=new l(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let e=a.parse(u);e[l.extensionName]&&(s.accept(e[l.extensionName]),f[l.extensionName]=s)}catch(s){g(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let o={origin:e.headers[`${8===n?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(2===this.options.verifyClient.length)return void this.options.verifyClient(o,(o,n,a,l)=>{if(!o)return y(t,n||401,a,l);this.completeUpgrade(f,i,d,e,t,s,r)});if(!this.options.verifyClient(o))return y(t,401)}this.completeUpgrade(f,i,d,e,t,s,r)}completeUpgrade(e,t,s,r,i,o,h){if(!i.readable||!i.writable)return i.destroy();if(i[f])throw Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>0)return y(i,503);let c=n("sha1").update(t+u).digest("base64"),d=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${c}`],_=new this.options.WebSocket(null,void 0,this.options);if(s.size){let e=this.options.handleProtocols?this.options.handleProtocols(s,r):s.values().next().value;e&&(d.push(`Sec-WebSocket-Protocol: ${e}`),_._protocol=e)}if(e[l.extensionName]){let t=e[l.extensionName].params,s=a.format({[l.extensionName]:[t]});d.push(`Sec-WebSocket-Extensions: ${s}`),_._extensions=e}this.emit("headers",d,r),i.write(d.concat("\r\n").join("\r\n")),i.removeListener("error",m),_.setSocket(i,o,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(_),_.on("close",()=>{this.clients.delete(_),this._shouldEmitClose&&!this.clients.size&&process.nextTick(p,this)})),h(_,r)}}},74605,e=>{"use strict";e.i(21365),e.i(29485),e.i(16735);var t=e.i(35065);e.i(17198);let s=t.default;var r=e.i(27699),i=e.i(54799),o=e.i(33405),n=e.i(22734),a=e.i(14747),l=e.i(98003),h=e.i(46786);function c(){return(0,a.join)((0,l.getCastleDir)(),"device.json")}function d(e){let t=e.split("\n").filter(e=>!e.includes("BEGIN")&&!e.includes("END")&&e.trim()).join(""),s=Buffer.from(t,"base64").slice(12);return(0,i.createHash)("sha256").update(s).digest("hex")}function u(e){let t=c();if((0,l.ensureCastleDir)(),(0,n.writeFileSync)(t,JSON.stringify(e,null,2),"utf-8"),"win32"===(0,h.platform)());else try{(0,n.chmodSync)(t,384)}catch{}}function f(){let e=c();if((0,n.existsSync)(e))try{let t=(0,n.readFileSync)(e,"utf-8"),s=JSON.parse(t);if(s.deviceId&&s.publicKey&&s.privateKey){if(!s.publicKey.startsWith("-----BEGIN "))return console.log("[Device] Upgrading key format from hex to PEM — regenerating keypair"),_();let e=d(s.publicKey);return s.deviceId!==e&&(console.log("[Device] Fixing deviceId — deriving from public key per Gateway protocol"),s.deviceId=e,u(s)),s}}catch{}return _()}function _(){let{publicKey:e,privateKey:t}=(0,i.generateKeyPairSync)("ed25519",{publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}}),s={deviceId:d(e),publicKey:e,privateKey:t,createdAt:new Date().toISOString()};return u(s),s}function p(e,t){let s=f();s.deviceToken=e,s.pairedAt=new Date().toISOString(),t&&(s.gatewayUrl=t),u(s)}function m(){let e=c();if(!(0,n.existsSync)(e))return null;try{let t=(0,n.readFileSync)(e,"utf-8");return JSON.parse(t).deviceToken||null}catch{return null}}function y(e){return e.replace(/rew_[a-f0-9]+/gi,"rew_***").replace(/-----BEGIN [A-Z ]+-----[\s\S]*?-----END [A-Z ]+-----/g,"[REDACTED KEY]").replace(/[a-f0-9]{32,}/gi,e=>e.slice(0,8)+"***")}class g extends r.EventEmitter{ws=null;pending=new Map;_state="disconnected";reconnectTimer=null;reconnectAttempts=0;maxReconnectDelay=3e4;baseReconnectDelay=1e3;requestTimeout=15e3;connectTimeout=1e4;_serverInfo={};_features={};shouldReconnect=!0;_skipDeviceAuth=!1;_avatarUrls=new Map;get state(){return this._state}get serverInfo(){return this._serverInfo}setAvatarUrl(e,t){this._avatarUrls.set(e,t)}getAvatarUrl(e){return this._avatarUrls.get(e)||null}get isConnected(){return"connected"===this._state}get isConfigured(){return!!this.resolveToken()}start(){"connecting"!==this._state&&"connected"!==this._state&&(this.shouldReconnect=!0,this._skipDeviceAuth=!1,this.connect())}stop(){this.shouldReconnect=!1,this.clearReconnectTimer(),this.cleanup()}connect(){let e=this.resolveToken();if(!e){this._state="error",this.emit("stateChange",this._state),console.error("[Gateway] No token available. Run 'castle setup' to configure.");return}let t=(0,l.getGatewayUrl)();this._state="connecting",this.emit("stateChange",this._state);try{this.ws=new s(t)}catch(e){console.error("[Gateway] Failed to create WebSocket:",e.message),this._state="error",this.emit("stateChange",this._state),this.scheduleReconnect();return}let r=setTimeout(()=>{console.error("[Gateway] Connect timeout"),this.cleanup(),this.scheduleReconnect()},this.connectTimeout),h=null;if(this._skipDeviceAuth)console.log("[Gateway] Device auth disabled — using token-only");else try{let e=f();h={deviceId:e.deviceId,publicKey:e.publicKey}}catch(e){console.warn("[Gateway] Could not load device identity:",e.message)}let d=m();this.ws.on("open",()=>{let s=(0,i.randomUUID)(),l=!1,_="gateway-client",m="backend",g="operator",v=["operator.admin"],b=d||e,S=e=>{let t={minProtocol:3,maxProtocol:3,client:{id:_,displayName:"Castle",version:"0.0.1",platform:process.platform,mode:m},auth:{token:b},role:g,scopes:v,caps:[]};return e&&h&&(t.device={id:h.deviceId,publicKey:h.publicKey,signature:e.signature,nonce:e.nonce,signedAt:e.signedAt}),{type:"req",id:s,method:"connect",params:t}},w=e=>{let E=Buffer.isBuffer(e)?e.length:Buffer.byteLength(e.toString());if(E>0xa00000)return void console.error(`[Gateway] Message too large (${E} bytes) — ignoring`);try{let E=JSON.parse(e.toString());if("event"===E.type&&"connect.challenge"===E.event){let e=E.payload?.nonce;if(e&&"string"==typeof e&&e.length>1024)return void console.error(`[Gateway] Challenge nonce too large (${e.length} bytes) — rejecting`);if(e&&"string"==typeof e&&h){l=!0,console.log("[Gateway] Challenge received — signing with device key");try{var k;let t,s,r,{signature:o,signedAt:n}=(k={nonce:e,clientId:_,clientMode:m,role:g,scopes:v,token:b},t=f(),s=Date.now(),r=["v2",t.deviceId,k.clientId,k.clientMode,k.role,k.scopes.join(","),String(s),k.token,k.nonce].join("|"),{signature:(0,i.sign)(null,Buffer.from(r,"utf-8"),t.privateKey).toString("base64").replaceAll("+","-").replaceAll("/","_").replace(/=+$/g,""),signedAt:s}),a=S({nonce:e,signature:o,signedAt:n});this.ws?.send(JSON.stringify(a))}catch(e){console.error("[Gateway] Failed to sign challenge:",e.message),l=!1}}else console.log("[Gateway] Challenge received but no device identity — skipping");return}if("event"===E.type&&"device.pairing.required"===E.event){console.log("[Gateway] Device pairing approval required"),console.log("[Gateway] Approve this device in your OpenClaw dashboard to continue..."),this._state="pairing",this.emit("stateChange",this._state),this.emit("pairingRequired",E.payload),this.emit("gatewayEvent",{event:E.event,payload:E.payload,seq:E.seq});return}if("event"===E.type&&"device.pairing.approved"===E.event){let e=E.payload?.deviceToken;if(e&&"string"==typeof e){console.log("[Gateway] Device pairing approved — saving token");try{p(e,t)}catch(e){console.error("[Gateway] Failed to save device token:",e.message)}}this.emit("pairingApproved",E.payload),this.emit("gatewayEvent",{event:E.event,payload:E.payload,seq:E.seq});return}if("res"===E.type&&E.id===s){if(!E.ok&&l)return void console.log("[Gateway] Ignoring error from initial connect — challenge response pending");if(clearTimeout(r),E.ok){let e=E.payload||{},s=e.auth?.deviceToken||e.deviceToken;if(s&&"string"==typeof s)try{p(s,t),console.log("[Gateway] Device token received and saved")}catch(e){console.error("[Gateway] Failed to save device token:",e.message)}if(this._state="connected",this._serverInfo=e.server||{},!this._serverInfo.version||"dev"===this._serverInfo.version)try{let e=(0,o.execSync)("which openclaw",{timeout:2e3,encoding:"utf-8"}).trim(),t=(0,n.realpathSync)(e),s=(0,a.join)((0,a.dirname)(t),"package.json"),r=JSON.parse((0,n.readFileSync)(s,"utf-8"));r.version&&(this._serverInfo.version=r.version)}catch{}this._features=e.features||{},this.reconnectAttempts=0,this.emit("stateChange",this._state),this.emit("connected",e),console.log(`[Gateway] Connected to OpenClaw ${this._serverInfo.version||"unknown"}`),this.ws?.off("message",w),this.ws?.on("message",this.onMessage.bind(this))}else{let e=E.error?.code,t=E.error?.message||"Connect rejected";if(console.error(`[Gateway] Connect failed: ${y(t)}`),this.ws?.off("message",w),this.cleanup(),"auth_failed"===e)if(d){console.log("[Gateway] Device token rejected — clearing and retrying with gateway token");let e=c();if((0,n.existsSync)(e))try{let t=(0,n.readFileSync)(e,"utf-8"),s=JSON.parse(t);delete s.deviceToken,delete s.pairedAt,delete s.gatewayUrl,u(s),console.log("[Device] Cleared device token")}catch{}this._skipDeviceAuth=!1,this.reconnectAttempts=0,this.scheduleReconnect()}else this._state="error",this.emit("stateChange",this._state),this.emit("authError",E.error);else"protocol_mismatch"===e||"protocol_unsupported"===e?(console.error("[Gateway] Protocol version not supported by this Gateway"),this._state="error",this.emit("stateChange",this._state),this.emit("authError",E.error)):this.scheduleReconnect()}return}"event"===E.type&&this.emit("gatewayEvent",{event:E.event,payload:E.payload,seq:E.seq})}catch(e){console.error("[Gateway] Failed to parse handshake message:",e.message)}};this.ws.on("message",w),this.ws.send(JSON.stringify(S()))}),this.ws.on("unexpected-response",(e,t)=>{clearTimeout(r),console.error(`[Gateway] WebSocket upgrade failed (HTTP ${t.statusCode})`),401===t.statusCode||403===t.statusCode?console.error("[Gateway] Authentication rejected at HTTP level"):(502===t.statusCode||503===t.statusCode)&&console.error("[Gateway] Gateway may be behind a reverse proxy that doesn't support WebSocket"),this.cleanup(),this.scheduleReconnect()}),this.ws.on("error",e=>{clearTimeout(r),console.error("[Gateway] WebSocket error:",e.message),this.cleanup(),this.scheduleReconnect()}),this.ws.on("close",(e,t)=>{clearTimeout(r);let s="connected"===this._state,i=t?.toString()||"none";if(this.cleanup(),1008===e&&!this._skipDeviceAuth){console.log(`[Gateway] Device auth rejected (${i}) — retrying with token-only auth`),this._skipDeviceAuth=!0,this.reconnectAttempts=0,this.scheduleReconnect();return}s&&console.log(`[Gateway] Disconnected (code: ${e}, reason: ${i})`),this.scheduleReconnect()})}onMessage(e){let t,s=Buffer.isBuffer(e)?e.length:Buffer.byteLength(e.toString());if(s>0xa00000)return void console.error(`[Gateway] Message too large (${s} bytes) — ignoring`);try{t=JSON.parse(e.toString())}catch(e){console.warn("[Gateway] Failed to parse message:",e.message);return}if("res"===t.type){let e=t,s=this.pending.get(e.id);s&&(clearTimeout(s.timer),this.pending.delete(e.id),e.ok?s.resolve(e.payload):s.reject(Error(e.error?.message||"Request failed")))}else if("event"===t.type){let e=t;this.emit("gatewayEvent",{event:e.event,payload:e.payload,seq:e.seq})}}async request(e,t={}){if(!this.ws||"connected"!==this._state)throw Error("Gateway not connected");let s=(0,i.randomUUID)(),r={type:"req",id:s,method:e,params:t},o=Date.now();return new Promise((t,i)=>{let n=setTimeout(()=>{this.pending.delete(s);let t=Date.now()-o;console.error(`[Gateway RPC] ${e} TIMEOUT after ${t}ms`),i(Error(`Request timeout: ${e}`))},this.requestTimeout);this.pending.set(s,{resolve:s=>{let r=Date.now()-o;r>2e3?console.warn(`[Gateway RPC] ${e} OK (slow: ${r}ms)`):console.log(`[Gateway RPC] ${e} OK (${r}ms)`),t(s)},reject:t=>{let s=Date.now()-o;console.error(`[Gateway RPC] ${e} FAILED (${s}ms): ${y(t.message)}`),i(t)},timer:n}),this.ws.send(JSON.stringify(r),t=>{if(t){clearTimeout(n),this.pending.delete(s);let r=Date.now()-o;console.error(`[Gateway RPC] ${e} SEND ERROR (${r}ms): ${t.message}`),i(Error(`Send failed: ${t.message}`))}})})}resolveToken(){let e=m();if(e)return e;if((0,l.configExists)()){let e=(0,l.readConfig)();if(e.openclaw.gateway_token)return e.openclaw.gateway_token}return(0,l.readOpenClawToken)()}cleanup(){if(this.ws){if(this.ws.removeAllListeners(),this.ws.readyState===s.OPEN||this.ws.readyState===s.CONNECTING)try{this.ws.close()}catch{}this.ws=null}for(let[e,t]of(this.pending.size>0&&console.warn(`[Gateway] Rejecting ${this.pending.size} pending request(s) due to connection close`),this.pending))clearTimeout(t.timer),t.reject(Error("Connection closed")),this.pending.delete(e);"error"!==this._state&&"pairing"!==this._state&&(this._state="disconnected",this.emit("stateChange",this._state))}scheduleReconnect(){if(!this.shouldReconnect)return;this.clearReconnectTimer();let e=Math.min(this.baseReconnectDelay*Math.pow(2,this.reconnectAttempts),this.maxReconnectDelay);this.reconnectAttempts++,console.log(`[Gateway] Reconnecting in ${e}ms (attempt ${this.reconnectAttempts})`),this.reconnectTimer=setTimeout(()=>{this.connect()},e)}clearReconnectTimer(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}}let v="__castle_gateway__";function b(){let e=function(){let e=globalThis[v]??null;if(!e){var t;t=e=new g,globalThis[v]=t}return e}();return"disconnected"===e.state&&e.start(),e}e.s(["ensureGateway",()=>b],74605)}];
|
|
3
|
+
|
|
4
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__c7ce1c43._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},32611,e=>{"use strict";var t=e.i(89171);let r=new Map,n=null;function a(e,s,i=6e4){!n&&"object"==typeof(n=setInterval(()=>{let e=Date.now();for(let[t,n]of r.entries())n.timestamps=n.timestamps.filter(t=>e-t<6e4),0===n.timestamps.length&&r.delete(t)},3e5))&&"unref"in n&&n.unref();let o=Date.now(),l=r.get(e);return(l||(l={timestamps:[]},r.set(e,l)),l.timestamps=l.timestamps.filter(e=>o-e<i),l.timestamps.length>=s)?t.NextResponse.json({error:"Too many requests — please slow down"},{status:429}):(l.timestamps.push(o),null)}function s(e,t){let r=e.headers.get("x-forwarded-for")?.split(",")[0].trim()||e.headers.get("x-real-ip")||"local";return`${r}:${t}`}function i(e){let r=e.headers.get("origin"),n=e.headers.get("referer"),a=e.headers.get("host")||"localhost:3333",s=new Set([`http://${a}`,`https://${a}`,"http://localhost:3333","http://127.0.0.1:3333","http://[::1]:3333"]);if(r)return s.has(r)?null:t.NextResponse.json({error:"Forbidden — cross-origin request rejected"},{status:403});if(n){try{let e=new URL(n).origin;if(s.has(e))return null}catch{}return t.NextResponse.json({error:"Forbidden — cross-origin request rejected"},{status:403})}return null}function o(e){return e.replace(/rew_[a-f0-9]+/gi,"rew_***").replace(/-----BEGIN [A-Z ]+-----[\s\S]*?-----END [A-Z ]+-----/g,"[REDACTED KEY]").replace(/\b[a-f0-9]{32,}\b/gi,e=>e.slice(0,8)+"***")}e.s(["checkCsrf",()=>i,"checkRateLimit",()=>a,"rateLimitKey",()=>s,"sanitizeForApi",()=>o])},50926,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),f=e.i(74838),x=e.i(10372),g=e.i(93695);e.i(52474);var m=e.i(220),R=e.i(89171),v=e.i(22734),w=e.i(14747),y=e.i(98003),E=e.i(32611);async function C(e){let{searchParams:t}=new URL(e.url),r=parseInt(t.get("lines")||"100",10),n=Math.min(Math.max(1,Number.isFinite(r)?r:100),1e4),a=t.get("file")?.trim()||"gateway",s=a.replace(/[^a-zA-Z0-9._-]/g,"");if(!s||s.includes("..")||s!==a)return R.NextResponse.json({error:"Invalid log file name"},{status:400});let i=(0,w.join)((0,y.getOpenClawDir)(),"logs");if(!(0,v.existsSync)(i))return R.NextResponse.json({logs:[],error:"No logs directory found"});let o=(0,v.existsSync)(i)?(0,v.readdirSync)(i).filter(e=>e.endsWith(".log")):[],l=o.find(e=>e.startsWith(s));if(!l)return R.NextResponse.json({logs:[],available:o,error:`Log file '${s}' not found`});try{let e=(0,w.join)(i,l);if(!(0,w.resolve)(e).startsWith((0,w.resolve)(i)))return R.NextResponse.json({error:"Invalid log file path"},{status:400});let t=(0,v.readFileSync)(e,"utf-8").split("\n").filter(Boolean),r=t.slice(-n).map(E.sanitizeForApi);return R.NextResponse.json({logs:r,file:l,totalLines:t.length,available:o})}catch(e){return R.NextResponse.json({error:e instanceof Error?e.message:"Failed to read logs"},{status:500})}}e.s(["GET",()=>C,"dynamic",0,"force-dynamic"],71234);var N=e.i(71234);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/openclaw/logs/route",pathname:"/api/openclaw/logs",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/openclaw/logs/route.ts",nextConfigOutput:"standalone",userland:N}),{workAsyncStorage:A,workUnitAsyncStorage:j,serverHooks:T}=b;function q(){return(0,n.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:j})}async function S(e,t,n){b.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/openclaw/logs/route";R=R.replace(/\/index$/,"")||"/";let v=await b.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:w,params:y,nextConfig:E,parsedUrl:C,isDraftMode:N,prerenderManifest:A,routerServerContext:j,isOnDemandRevalidate:T,revalidateOnlyGenerated:q,resolvedPathname:S,clientReferenceManifest:k,serverActionsManifest:P}=v,_=(0,o.normalizeAppPath)(R),O=!!(A.dynamicRoutes[_]||A.routes[S]),I=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,C,!1):t.end("This page could not be found"),null);if(O&&!N){let e=!!A.routes[S],t=A.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await I();throw new g.NoFallbackError}}let D=null;!O||b.isDev||N||(D="/index"===(D=S)?"/":D);let U=!0===b.isDev||!O,H=O&&!U;P&&k&&(0,i.setManifestsSingleton)({page:R,clientReferenceManifest:k,serverActionsManifest:P});let F=e.method||"GET",M=(0,s.getTracer)(),$=M.getActiveScopeSpan(),L={params:y,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>b.onRequestError(e,t,n,a,j)},sharedContext:{buildId:w}},K=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(K,(0,d.signalFromNodeResponse)(t));try{let i=async e=>b.handle(G,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${F} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${F} ${R}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&T&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=L.renderOpts.fetchMetrics;let l=L.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=L.renderOpts.collectedTags;if(!O)return await (0,c.sendResponse)(K,B,s,L.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[x.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,j),t}},u=await b.handleResponse({req:e,nextConfig:E,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:q,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:o});if(!O)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",T?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&O||g.delete(x.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(K,B,new Response(u.value.body,{headers:g,status:u.value.status||200})),null};$?await l($):await M.withPropagatedContext(e.headers,()=>M.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${R}`,kind:s.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,j),O)throw t;return await (0,c.sendResponse)(K,B,new Response(null,{status:500})),null}}e.s(["handler",()=>S,"patchFetch",()=>q,"routeModule",()=>b,"serverHooks",()=>T,"workAsyncStorage",()=>A,"workUnitAsyncStorage",()=>j],50926)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__e50da949._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},90758,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(74838),g=e.i(10372),R=e.i(93695);e.i(52474);var f=e.i(220),v=e.i(89171),m=e.i(22734),w=e.i(14747),y=e.i(98003),E=e.i(50837),C=e.i(84501);async function A(){try{let e=(0,E.getStorageStats)(),t=(0,C.getDbPath)(),r=0;(0,m.existsSync)(t)&&(r=(0,m.statSync)(t).size);let a=(0,w.join)((0,y.getCastleDir)(),"data","attachments"),n=function e(t){if(!(0,m.existsSync)(t))return 0;let r=0;for(let a of(0,m.readdirSync)(t,{withFileTypes:!0})){let n=(0,w.join)(t,a.name);if(a.isDirectory())r+=e(n);else try{r+=(0,m.statSync)(n).size}catch{}}return r}(a),s=[];return r>524288e3&&s.push(`Database is ${(r/1024/1024).toFixed(0)}MB — consider archiving old messages`),n>0x80000000&&s.push(`Attachments using ${(n/1024/1024/1024).toFixed(1)}GB of disk space`),v.NextResponse.json({...e,dbSizeBytes:r,attachmentsDirBytes:n,warnings:s})}catch(e){return console.error("[Storage] Stats failed:",e.message),v.NextResponse.json({error:"Failed to get storage stats"},{status:500})}}e.s(["GET",()=>A],27983);var b=e.i(27983);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/openclaw/chat/storage/route",pathname:"/api/openclaw/chat/storage",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/openclaw/chat/storage/route.ts",nextConfigOutput:"standalone",userland:b}),{workAsyncStorage:T,workUnitAsyncStorage:N,serverHooks:P}=S;function k(){return(0,a.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:N})}async function q(e,t,a){S.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/openclaw/chat/storage/route";v=v.replace(/\/index$/,"")||"/";let m=await S.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!m)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:y,nextConfig:E,parsedUrl:C,isDraftMode:A,prerenderManifest:b,routerServerContext:T,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,resolvedPathname:k,clientReferenceManifest:q,serverActionsManifest:j}=m,O=(0,o.normalizeAppPath)(v),_=!!(b.dynamicRoutes[O]||b.routes[k]),D=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,C,!1):t.end("This page could not be found"),null);if(_&&!A){let e=!!b.routes[k],t=b.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await D();throw new R.NoFallbackError}}let H=null;!_||S.isDev||A||(H="/index"===(H=k)?"/":H);let U=!0===S.isDev||!_,I=_&&!U;j&&q&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:q,serverActionsManifest:j});let M=e.method||"GET",F=(0,s.getTracer)(),$=F.getActiveScopeSpan(),B={params:y,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>S.onRequestError(e,t,a,n,T)},sharedContext:{buildId:w}},K=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),L=d.NextRequestAdapter.fromNodeNextRequest(K,(0,d.signalFromNodeResponse)(t));try{let i=async e=>S.handle(L,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${v}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&N&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=B.renderOpts.fetchMetrics;let l=B.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=B.renderOpts.collectedTags;if(!_)return await (0,c.sendResponse)(K,G,s,B.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[g.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:N})},!1,T),t}},u=await S.handleResponse({req:e,nextConfig:E,cacheKey:H,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:o});if(!_)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let R=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&_||R.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||R.get("Cache-Control")||R.set("Cache-Control",(0,x.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(K,G,new Response(u.value.body,{headers:R,status:u.value.status||200})),null};$?await l($):await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof R.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:N})},!1,T),_)throw t;return await (0,c.sendResponse)(K,G,new Response(null,{status:500})),null}}e.s(["handler",()=>q,"patchFetch",()=>k,"routeModule",()=>S,"serverHooks",()=>P,"workAsyncStorage",()=>T,"workUnitAsyncStorage",()=>N],90758)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__f41df55c._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},32611,e=>{"use strict";var t=e.i(89171);let r=new Map,n=null;function a(e,s,o=6e4){!n&&"object"==typeof(n=setInterval(()=>{let e=Date.now();for(let[t,n]of r.entries())n.timestamps=n.timestamps.filter(t=>e-t<6e4),0===n.timestamps.length&&r.delete(t)},3e5))&&"unref"in n&&n.unref();let i=Date.now(),l=r.get(e);return(l||(l={timestamps:[]},r.set(e,l)),l.timestamps=l.timestamps.filter(e=>i-e<o),l.timestamps.length>=s)?t.NextResponse.json({error:"Too many requests — please slow down"},{status:429}):(l.timestamps.push(i),null)}function s(e,t){let r=e.headers.get("x-forwarded-for")?.split(",")[0].trim()||e.headers.get("x-real-ip")||"local";return`${r}:${t}`}function o(e){let r=e.headers.get("origin"),n=e.headers.get("referer"),a=e.headers.get("host")||"localhost:3333",s=new Set([`http://${a}`,`https://${a}`,"http://localhost:3333","http://127.0.0.1:3333","http://[::1]:3333"]);if(r)return s.has(r)?null:t.NextResponse.json({error:"Forbidden — cross-origin request rejected"},{status:403});if(n){try{let e=new URL(n).origin;if(s.has(e))return null}catch{}return t.NextResponse.json({error:"Forbidden — cross-origin request rejected"},{status:403})}return null}function i(e){return e.replace(/rew_[a-f0-9]+/gi,"rew_***").replace(/-----BEGIN [A-Z ]+-----[\s\S]*?-----END [A-Z ]+-----/g,"[REDACTED KEY]").replace(/\b[a-f0-9]{32,}\b/gi,e=>e.slice(0,8)+"***")}e.s(["checkCsrf",()=>o,"checkRateLimit",()=>a,"rateLimitKey",()=>s,"sanitizeForApi",()=>i])},8484,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(74838),g=e.i(10372),f=e.i(93695);e.i(52474);var R=e.i(220),m=e.i(89171),v=e.i(50837),w=e.i(32611);let E=["idle","thinking","active"];async function y(){try{let e=(0,v.getAgentStatuses)();return m.NextResponse.json({statuses:e})}catch(e){return console.error("[Agent Status] GET failed:",e.message),m.NextResponse.json({error:"Failed to get agent statuses"},{status:500})}}async function C(e){let t,r=(0,w.checkCsrf)(e);if(r)return r;try{t=await e.json()}catch{return m.NextResponse.json({error:"Invalid JSON"},{status:400})}if(!t.agentId||"string"!=typeof t.agentId)return m.NextResponse.json({error:"agentId is required"},{status:400});if(!t.status||!E.includes(t.status))return m.NextResponse.json({error:`status must be one of: ${E.join(", ")}`},{status:400});try{return(0,v.setAgentStatus)(t.agentId,t.status),m.NextResponse.json({ok:!0})}catch(e){return console.error("[Agent Status] POST failed:",e.message),m.NextResponse.json({error:"Failed to set agent status"},{status:500})}}e.s(["GET",()=>y,"POST",()=>C],81566);var A=e.i(81566);let N=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/openclaw/agents/status/route",pathname:"/api/openclaw/agents/status",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/openclaw/agents/status/route.ts",nextConfigOutput:"standalone",userland:A}),{workAsyncStorage:b,workUnitAsyncStorage:j,serverHooks:T}=N;function S(){return(0,n.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:j})}async function k(e,t,n){N.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/openclaw/agents/status/route";m=m.replace(/\/index$/,"")||"/";let v=await N.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:y,parsedUrl:C,isDraftMode:A,prerenderManifest:b,routerServerContext:j,isOnDemandRevalidate:T,revalidateOnlyGenerated:S,resolvedPathname:k,clientReferenceManifest:q,serverActionsManifest:P}=v,O=(0,i.normalizeAppPath)(m),I=!!(b.dynamicRoutes[O]||b.routes[k]),_=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,C,!1):t.end("This page could not be found"),null);if(I&&!A){let e=!!b.routes[k],t=b.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await _();throw new f.NoFallbackError}}let D=null;!I||N.isDev||A||(D="/index"===(D=k)?"/":D);let H=!0===N.isDev||!I,U=I&&!H;P&&q&&(0,o.setManifestsSingleton)({page:m,clientReferenceManifest:q,serverActionsManifest:P});let $=e.method||"GET",F=(0,s.getTracer)(),M=F.getActiveScopeSpan(),K={params:E,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>N.onRequestError(e,t,n,a,j)},sharedContext:{buildId:w}},L=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let o=async e=>N.handle(G,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${$} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${m}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&T&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let u=K.renderOpts.collectedTags;if(!I)return await (0,c.sendResponse)(L,B,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[g.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await N.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,j),t}},d=await N.handleResponse({req:e,nextConfig:y,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:S,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:i});if(!I)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",T?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&I||f.delete(g.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,x.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(L,B,new Response(d.value.body,{headers:f,status:d.value.status||200})),null};M?await l(M):await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${m}`,kind:s.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l))}catch(t){if(t instanceof f.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,j),I)throw t;return await (0,c.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>k,"patchFetch",()=>S,"routeModule",()=>N,"serverHooks",()=>T,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>j],8484)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__faf9ad2e._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},32611,e=>{"use strict";var t=e.i(89171);let r=new Map,a=null;function n(e,s,o=6e4){!a&&"object"==typeof(a=setInterval(()=>{let e=Date.now();for(let[t,a]of r.entries())a.timestamps=a.timestamps.filter(t=>e-t<6e4),0===a.timestamps.length&&r.delete(t)},3e5))&&"unref"in a&&a.unref();let i=Date.now(),l=r.get(e);return(l||(l={timestamps:[]},r.set(e,l)),l.timestamps=l.timestamps.filter(e=>i-e<o),l.timestamps.length>=s)?t.NextResponse.json({error:"Too many requests — please slow down"},{status:429}):(l.timestamps.push(i),null)}function s(e,t){let r=e.headers.get("x-forwarded-for")?.split(",")[0].trim()||e.headers.get("x-real-ip")||"local";return`${r}:${t}`}function o(e){let r=e.headers.get("origin"),a=e.headers.get("referer"),n=e.headers.get("host")||"localhost:3333",s=new Set([`http://${n}`,`https://${n}`,"http://localhost:3333","http://127.0.0.1:3333","http://[::1]:3333"]);if(r)return s.has(r)?null:t.NextResponse.json({error:"Forbidden — cross-origin request rejected"},{status:403});if(a){try{let e=new URL(a).origin;if(s.has(e))return null}catch{}return t.NextResponse.json({error:"Forbidden — cross-origin request rejected"},{status:403})}return null}function i(e){return e.replace(/rew_[a-f0-9]+/gi,"rew_***").replace(/-----BEGIN [A-Z ]+-----[\s\S]*?-----END [A-Z ]+-----/g,"[REDACTED KEY]").replace(/\b[a-f0-9]{32,}\b/gi,e=>e.slice(0,8)+"***")}e.s(["checkCsrf",()=>o,"checkRateLimit",()=>n,"rateLimitKey",()=>s,"sanitizeForApi",()=>i])},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},95938,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),p=e.i(87718),d=e.i(95169),u=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(74838),f=e.i(10372),m=e.i(93695);e.i(52474);var R=e.i(220),g=e.i(89171),w=e.i(33405),v=e.i(32611);async function y(e){let t=(0,v.checkCsrf)(e);if(t)return t;let r=(0,v.checkRateLimit)((0,v.rateLimitKey)(e,"restart"),5);if(r)return r;try{try{return(0,w.execSync)("openclaw gateway restart",{timeout:1e4,stdio:"pipe"}),g.NextResponse.json({ok:!0,method:"openclaw gateway restart"})}catch{}try{let e=(0,w.execSync)("pgrep -f 'openclaw.*gateway'",{timeout:5e3,stdio:"pipe"}).toString().trim().split(/\s+/).filter(e=>/^\d+$/.test(e))[0];if(e)return(0,w.execSync)(`kill -HUP ${e}`,{timeout:5e3,stdio:"pipe"}),g.NextResponse.json({ok:!0,method:"SIGHUP",pid:parseInt(e,10)})}catch{}return g.NextResponse.json({ok:!1,error:"Could not restart gateway. Try manually: openclaw gateway restart"},{status:500})}catch(e){return g.NextResponse.json({ok:!1,error:e instanceof Error?e.message:"Restart failed"},{status:500})}}e.s(["POST",()=>y,"dynamic",0,"force-dynamic"],61022);var E=e.i(61022);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/openclaw/restart/route",pathname:"/api/openclaw/restart",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/openclaw/restart/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:A,workUnitAsyncStorage:b,serverHooks:N}=C;function k(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:b})}async function T(e,t,a){C.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/openclaw/restart/route";g=g.replace(/\/index$/,"")||"/";let w=await C.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:y,nextConfig:E,parsedUrl:A,isDraftMode:b,prerenderManifest:N,routerServerContext:k,isOnDemandRevalidate:T,revalidateOnlyGenerated:j,resolvedPathname:S,clientReferenceManifest:P,serverActionsManifest:q}=w,_=(0,i.normalizeAppPath)(g),O=!!(N.dynamicRoutes[_]||N.routes[S]),H=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,A,!1):t.end("This page could not be found"),null);if(O&&!b){let e=!!N.routes[S],t=N.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await H();throw new m.NoFallbackError}}let I=null;!O||C.isDev||b||(I="/index"===(I=S)?"/":I);let U=!0===C.isDev||!O,D=O&&!U;q&&P&&(0,o.setManifestsSingleton)({page:g,clientReferenceManifest:P,serverActionsManifest:q});let $=e.method||"GET",M=(0,s.getTracer)(),F=M.getActiveScopeSpan(),K={params:y,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,k)},sharedContext:{buildId:v}},L=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),G=p.NextRequestAdapter.fromNodeNextRequest(L,(0,p.signalFromNodeResponse)(t));try{let o=async e=>C.handle(G,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${g}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let p=async({previousCacheEntry:r})=>{try{if(!i&&T&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let p=K.renderOpts.collectedTags;if(!O)return await (0,c.sendResponse)(L,B,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);p&&(t[f.NEXT_CACHE_TAGS_HEADER]=p),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:T})},!1,k),t}},d=await C.handleResponse({req:e,nextConfig:E,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:j,responseGenerator:p,waitUntil:a.waitUntil,isMinimalMode:i});if(!O)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",T?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&O||m.delete(f.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,x.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(L,B,new Response(d.value.body,{headers:m,status:d.value.status||200})),null};F?await l(F):await M.withPropagatedContext(e.headers,()=>M.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${g}`,kind:s.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l))}catch(t){if(t instanceof m.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:T})},!1,k),O)throw t;return await (0,c.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>T,"patchFetch",()=>k,"routeModule",()=>C,"serverHooks",()=>N,"workAsyncStorage",()=>A,"workUnitAsyncStorage",()=>b],95938)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__fe76fb40._.js.map
|