antigravity-mobile-proxy 0.1.2 → 0.1.4
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 -1
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +5 -2
- package/.next/standalone/.next/server/app/_global-error/page.js +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/v1/artifacts/[convId]/[filename]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/artifacts/[convId]/[filename]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/artifacts/[convId]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/artifacts/[convId]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/artifacts/active/[filename]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/artifacts/active/[filename]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/artifacts/active/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/artifacts/active/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/artifacts/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/artifacts/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/action/route.js +6 -2
- package/.next/standalone/.next/server/app/api/v1/chat/action/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/approve/route.js +6 -2
- package/.next/standalone/.next/server/app/api/v1/chat/approve/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/history/route.js +6 -2
- package/.next/standalone/.next/server/app/api/v1/chat/history/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/mode/route.js +6 -2
- package/.next/standalone/.next/server/app/api/v1/chat/mode/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/new/route.js +6 -2
- package/.next/standalone/.next/server/app/api/v1/chat/new/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/reject/route.js +6 -2
- package/.next/standalone/.next/server/app/api/v1/chat/reject/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/route.js +6 -2
- package/.next/standalone/.next/server/app/api/v1/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/state/route.js +6 -2
- package/.next/standalone/.next/server/app/api/v1/chat/state/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/stream/route.js +7 -3
- package/.next/standalone/.next/server/app/api/v1/chat/stream/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/conversations/active/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/conversations/active/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/conversations/route.js +7 -3
- package/.next/standalone/.next/server/app/api/v1/conversations/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/conversations/select/route.js +6 -2
- package/.next/standalone/.next/server/app/api/v1/conversations/select/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/debug/dom/route.js +6 -2
- package/.next/standalone/.next/server/app/api/v1/debug/dom/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/debug/scrape/route.js +6 -2
- package/.next/standalone/.next/server/app/api/v1/debug/scrape/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/health/route.js +6 -2
- package/.next/standalone/.next/server/app/api/v1/health/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/cdp-start/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/windows/cdp-start/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/cdp-status/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/windows/cdp-status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/close/route.js +6 -2
- package/.next/standalone/.next/server/app/api/v1/windows/close/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/open/route.js +6 -2
- package/.next/standalone/.next/server/app/api/v1/windows/open/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/recent/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/windows/recent/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/route.js +6 -2
- package/.next/standalone/.next/server/app/api/v1/windows/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/windows/select/route.js +6 -2
- package/.next/standalone/.next/server/app/api/v1/windows/select/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/debug/page.js +1 -1
- package/.next/standalone/.next/server/app/debug/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/debug/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page.js +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d31b133._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__133ac672._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__151eca3a._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1535be2d._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ee7d416._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__25f5f8ec._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__26662154._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2f4a0b79._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__2ec5ba30._.js → [root-of-the-server]__3fe6d12c._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4b17d628._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4c540a38._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__8d2624da._.js → [root-of-the-server]__4d161104._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__53c4f34d._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__68965284._.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]__8f8bd59f._.js +20 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9166d84a._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__94275f7f._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c34d50c8._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__8fdd2340._.js → [root-of-the-server]__c696771d._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0bd52b41._.js → [root-of-the-server]__cd7ccfdd._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d5818e20._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__360475ac._.js → [root-of-the-server]__db7b3604._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__eeb89c13._.js → [root-of-the-server]__dc1db6cb._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__4effd91a._.js → [root-of-the-server]__e9181374._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__eb9ef4db._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__4448d3d4._.js → [root-of-the-server]__ec32b318._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__7f18ffd0._.js → [root-of-the-server]__f54bea3d._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__fabd57e0._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__fd0215df._.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_cdp_connection_ts_075c799e._.js +41 -0
- package/.next/standalone/.next/server/chunks/node_modules_151ca6ae._.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_1f8a2929._.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_2d9a2f12._.js +4 -0
- package/.next/standalone/.next/server/chunks/node_modules_3b486fee._.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_64199bef._.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_@puppeteer_browsers_lib_esm_main_83020de3.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_f81d3958._.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_next_1402a1da._.js +2 -2
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0272adf7.js +5 -0
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0b1e64d7.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_yargs_helpers_helpers_mjs_abe15519._.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_yargs_index_mjs_c4f6f97b._.js +56 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__703e5e24._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__edab6069._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/components_chat-container_tsx_fcbc457f._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_63dba3f8._.js +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/app/api/v1/chat/stream/route.ts +2 -2
- package/.next/standalone/app/api/v1/conversations/route.ts +6 -1
- package/.next/standalone/app/globals.css +6 -0
- package/.next/standalone/components/agent-message.tsx +4 -5
- package/.next/standalone/components/chat-container.tsx +0 -2
- package/.next/standalone/components/message-list.tsx +2 -6
- package/.next/standalone/diag.js +72 -0
- package/.next/standalone/hooks/use-chat.ts +18 -1
- package/.next/standalone/lib/scraper/agent-state.ts +43 -17
- package/.next/standalone/lib/scraper/chat-history.ts +4 -0
- package/.next/standalone/lib/scraper/workspace-filter.ts +209 -0
- package/.next/standalone/lib/sse/diff-states.ts +18 -3
- package/.next/standalone/next.config.js +19 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
- package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
- package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
- package/.next/standalone/node_modules/next/dist/build/generate-build-id.js +5 -1
- package/.next/standalone/package-lock.json +140 -129
- package/.next/standalone/package.json +4 -3
- package/.next/standalone/scripts/patch-next.js +69 -0
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/tsconfig.json +14 -4
- package/.next/standalone/tsconfig.tsbuildinfo +1 -1
- package/.next/static/chunks/{54866979a976deea.css → 073aeeb732614ba1.css} +1 -1
- package/.next/static/chunks/0b8f1079dec6b3ad.js +1 -0
- package/package.json +4 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__08f06ee9._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__15c96786._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__19ee93c1._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__324dc867._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__38025e07._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4a837477._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4f9fdc77._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__556e6cd5._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6479a312._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__693625a1._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6ec98c1f._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__7f696ede._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8aa4aa02._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9d217c47._.js +0 -7
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e54cdc1._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a73e4e4f._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__cd1b9505._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d850c12e._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ef121746._.js +0 -3
- package/.next/standalone/.next/server/chunks/_7273dcfc._.js +0 -3
- package/.next/standalone/.next/server/chunks/_8dd0f398._.js +0 -5
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__4fe85c38._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__85930638._.js +0 -3
- package/.next/standalone/next.config.ts +0 -10
- package/.next/standalone/node_modules/@puppeteer/browsers/package.json +0 -125
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/asyncify-helpers.js +0 -53
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/context-asyncify.js +0 -58
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/context.js +0 -691
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/debug.js +0 -6
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/deferred-promise.js +0 -96
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/errors.js +0 -58
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/esmHelpers.js +0 -19
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_SYNC.js +0 -387
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_SYNC.js +0 -71
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/index.js +0 -128
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/lifetime.js +0 -227
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/memory.js +0 -41
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/module-asyncify.js +0 -97
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/module-test.js +0 -77
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/module.js +0 -302
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/runtime-asyncify.js +0 -49
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/runtime.js +0 -300
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/types-ffi.js +0 -38
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/types.js +0 -58
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/variants.js +0 -169
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/vm-interface.js +0 -12
- package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/package.json +0 -60
- package/.next/standalone/node_modules/agent-base/dist/helpers.js +0 -66
- package/.next/standalone/node_modules/agent-base/dist/index.js +0 -178
- package/.next/standalone/node_modules/agent-base/package.json +0 -46
- package/.next/standalone/node_modules/ast-types/def/babel-core.js +0 -256
- package/.next/standalone/node_modules/ast-types/def/babel.js +0 -11
- package/.next/standalone/node_modules/ast-types/def/core.js +0 -298
- package/.next/standalone/node_modules/ast-types/def/es-proposals.js +0 -33
- package/.next/standalone/node_modules/ast-types/def/es2020.js +0 -16
- package/.next/standalone/node_modules/ast-types/def/es6.js +0 -210
- package/.next/standalone/node_modules/ast-types/def/es7.js +0 -34
- package/.next/standalone/node_modules/ast-types/def/esprima.js +0 -49
- package/.next/standalone/node_modules/ast-types/def/flow.js +0 -292
- package/.next/standalone/node_modules/ast-types/def/jsx.js +0 -103
- package/.next/standalone/node_modules/ast-types/def/type-annotations.js +0 -40
- package/.next/standalone/node_modules/ast-types/def/typescript.js +0 -344
- package/.next/standalone/node_modules/ast-types/fork.js +0 -52
- package/.next/standalone/node_modules/ast-types/gen/namedTypes.js +0 -6
- package/.next/standalone/node_modules/ast-types/lib/equiv.js +0 -154
- package/.next/standalone/node_modules/ast-types/lib/node-path.js +0 -411
- package/.next/standalone/node_modules/ast-types/lib/path-visitor.js +0 -343
- package/.next/standalone/node_modules/ast-types/lib/path.js +0 -331
- package/.next/standalone/node_modules/ast-types/lib/scope.js +0 -318
- package/.next/standalone/node_modules/ast-types/lib/shared.js +0 -47
- package/.next/standalone/node_modules/ast-types/lib/types.js +0 -780
- package/.next/standalone/node_modules/ast-types/main.js +0 -53
- package/.next/standalone/node_modules/ast-types/package.json +0 -65
- package/.next/standalone/node_modules/b4a/index.js +0 -188
- package/.next/standalone/node_modules/b4a/package.json +0 -49
- package/.next/standalone/node_modules/basic-ftp/dist/Client.js +0 -782
- package/.next/standalone/node_modules/basic-ftp/dist/FileInfo.js +0 -92
- package/.next/standalone/node_modules/basic-ftp/dist/FtpContext.js +0 -365
- package/.next/standalone/node_modules/basic-ftp/dist/ProgressTracker.js +0 -72
- package/.next/standalone/node_modules/basic-ftp/dist/StringEncoding.js +0 -2
- package/.next/standalone/node_modules/basic-ftp/dist/StringWriter.js +0 -23
- package/.next/standalone/node_modules/basic-ftp/dist/index.js +0 -28
- package/.next/standalone/node_modules/basic-ftp/dist/netUtils.js +0 -66
- package/.next/standalone/node_modules/basic-ftp/dist/parseControlResponse.js +0 -66
- package/.next/standalone/node_modules/basic-ftp/dist/parseList.js +0 -79
- package/.next/standalone/node_modules/basic-ftp/dist/parseListDOS.js +0 -52
- package/.next/standalone/node_modules/basic-ftp/dist/parseListMLSD.js +0 -187
- package/.next/standalone/node_modules/basic-ftp/dist/parseListUnix.js +0 -155
- package/.next/standalone/node_modules/basic-ftp/dist/transfer.js +0 -318
- package/.next/standalone/node_modules/basic-ftp/package.json +0 -52
- package/.next/standalone/node_modules/buffer-crc32/index.js +0 -111
- package/.next/standalone/node_modules/buffer-crc32/package.json +0 -39
- package/.next/standalone/node_modules/cliui/build/lib/index.js +0 -287
- package/.next/standalone/node_modules/cliui/build/lib/string-utils.js +0 -27
- package/.next/standalone/node_modules/cliui/index.mjs +0 -13
- package/.next/standalone/node_modules/cliui/package.json +0 -83
- package/.next/standalone/node_modules/data-uri-to-buffer/dist/common.js +0 -54
- package/.next/standalone/node_modules/data-uri-to-buffer/dist/node.js +0 -26
- package/.next/standalone/node_modules/data-uri-to-buffer/package.json +0 -48
- package/.next/standalone/node_modules/debug/package.json +0 -64
- package/.next/standalone/node_modules/debug/src/browser.js +0 -272
- package/.next/standalone/node_modules/debug/src/common.js +0 -292
- package/.next/standalone/node_modules/debug/src/index.js +0 -10
- package/.next/standalone/node_modules/debug/src/node.js +0 -263
- package/.next/standalone/node_modules/degenerator/dist/compile.js +0 -107
- package/.next/standalone/node_modules/degenerator/dist/degenerator.js +0 -156
- package/.next/standalone/node_modules/degenerator/dist/index.js +0 -19
- package/.next/standalone/node_modules/degenerator/package.json +0 -42
- package/.next/standalone/node_modules/end-of-stream/index.js +0 -96
- package/.next/standalone/node_modules/end-of-stream/package.json +0 -37
- package/.next/standalone/node_modules/escalade/package.json +0 -74
- package/.next/standalone/node_modules/escodegen/escodegen.js +0 -2667
- package/.next/standalone/node_modules/escodegen/package.json +0 -63
- package/.next/standalone/node_modules/esprima/dist/esprima.js +0 -6709
- package/.next/standalone/node_modules/esprima/package.json +0 -112
- package/.next/standalone/node_modules/estraverse/estraverse.js +0 -805
- package/.next/standalone/node_modules/estraverse/package.json +0 -40
- package/.next/standalone/node_modules/esutils/lib/ast.js +0 -144
- package/.next/standalone/node_modules/esutils/lib/code.js +0 -135
- package/.next/standalone/node_modules/esutils/lib/keyword.js +0 -165
- package/.next/standalone/node_modules/esutils/lib/utils.js +0 -33
- package/.next/standalone/node_modules/esutils/package.json +0 -44
- package/.next/standalone/node_modules/events-universal/default.js +0 -1
- package/.next/standalone/node_modules/events-universal/package.json +0 -39
- package/.next/standalone/node_modules/extract-zip/LICENSE +0 -23
- package/.next/standalone/node_modules/extract-zip/cli.js +0 -19
- package/.next/standalone/node_modules/extract-zip/index.js +0 -173
- package/.next/standalone/node_modules/extract-zip/package.json +0 -80
- package/.next/standalone/node_modules/extract-zip/readme.md +0 -57
- package/.next/standalone/node_modules/fast-fifo/fixed-size.js +0 -39
- package/.next/standalone/node_modules/fast-fifo/index.js +0 -48
- package/.next/standalone/node_modules/fast-fifo/package.json +0 -28
- package/.next/standalone/node_modules/fd-slicer/index.js +0 -296
- package/.next/standalone/node_modules/fd-slicer/package.json +0 -36
- package/.next/standalone/node_modules/get-stream/buffer-stream.js +0 -52
- package/.next/standalone/node_modules/get-stream/index.js +0 -60
- package/.next/standalone/node_modules/get-stream/package.json +0 -50
- package/.next/standalone/node_modules/get-uri/dist/data.js +0 -43
- package/.next/standalone/node_modules/get-uri/dist/file.js +0 -57
- package/.next/standalone/node_modules/get-uri/dist/ftp.js +0 -93
- package/.next/standalone/node_modules/get-uri/dist/http-error.js +0 -15
- package/.next/standalone/node_modules/get-uri/dist/http.js +0 -191
- package/.next/standalone/node_modules/get-uri/dist/https.js +0 -16
- package/.next/standalone/node_modules/get-uri/dist/index.js +0 -57
- package/.next/standalone/node_modules/get-uri/dist/notfound.js +0 -16
- package/.next/standalone/node_modules/get-uri/dist/notmodified.js +0 -17
- package/.next/standalone/node_modules/get-uri/package.json +0 -58
- package/.next/standalone/node_modules/has-flag/index.js +0 -8
- package/.next/standalone/node_modules/has-flag/package.json +0 -46
- package/.next/standalone/node_modules/http-proxy-agent/dist/index.js +0 -148
- package/.next/standalone/node_modules/http-proxy-agent/package.json +0 -47
- package/.next/standalone/node_modules/https-proxy-agent/dist/index.js +0 -180
- package/.next/standalone/node_modules/https-proxy-agent/dist/parse-proxy-response.js +0 -101
- package/.next/standalone/node_modules/https-proxy-agent/package.json +0 -50
- package/.next/standalone/node_modules/ip-address/dist/address-error.js +0 -12
- package/.next/standalone/node_modules/ip-address/dist/common.js +0 -46
- package/.next/standalone/node_modules/ip-address/dist/ip-address.js +0 -35
- package/.next/standalone/node_modules/ip-address/dist/ipv4.js +0 -360
- package/.next/standalone/node_modules/ip-address/dist/ipv6.js +0 -1003
- package/.next/standalone/node_modules/ip-address/dist/v4/constants.js +0 -8
- package/.next/standalone/node_modules/ip-address/dist/v6/constants.js +0 -76
- package/.next/standalone/node_modules/ip-address/dist/v6/helpers.js +0 -45
- package/.next/standalone/node_modules/ip-address/dist/v6/regular-expressions.js +0 -95
- package/.next/standalone/node_modules/ip-address/package.json +0 -78
- package/.next/standalone/node_modules/lru-cache/index.js +0 -1227
- package/.next/standalone/node_modules/lru-cache/package.json +0 -96
- package/.next/standalone/node_modules/ms/index.js +0 -162
- package/.next/standalone/node_modules/ms/package.json +0 -38
- package/.next/standalone/node_modules/netmask/lib/netmask.js +0 -208
- package/.next/standalone/node_modules/netmask/package.json +0 -36
- package/.next/standalone/node_modules/once/once.js +0 -42
- package/.next/standalone/node_modules/once/package.json +0 -33
- package/.next/standalone/node_modules/pac-proxy-agent/dist/index.js +0 -238
- package/.next/standalone/node_modules/pac-proxy-agent/package.json +0 -58
- package/.next/standalone/node_modules/pac-resolver/dist/dateRange.js +0 -73
- package/.next/standalone/node_modules/pac-resolver/dist/dnsDomainIs.js +0 -30
- package/.next/standalone/node_modules/pac-resolver/dist/dnsDomainLevels.js +0 -28
- package/.next/standalone/node_modules/pac-resolver/dist/dnsResolve.js +0 -32
- package/.next/standalone/node_modules/pac-resolver/dist/index.js +0 -87
- package/.next/standalone/node_modules/pac-resolver/dist/ip.js +0 -50
- package/.next/standalone/node_modules/pac-resolver/dist/isInNet.js +0 -42
- package/.next/standalone/node_modules/pac-resolver/dist/isPlainHostName.js +0 -23
- package/.next/standalone/node_modules/pac-resolver/dist/isResolvable.js +0 -23
- package/.next/standalone/node_modules/pac-resolver/dist/localHostOrDomainIs.js +0 -40
- package/.next/standalone/node_modules/pac-resolver/dist/myIpAddress.js +0 -50
- package/.next/standalone/node_modules/pac-resolver/dist/shExpMatch.js +0 -41
- package/.next/standalone/node_modules/pac-resolver/dist/timeRange.js +0 -92
- package/.next/standalone/node_modules/pac-resolver/dist/util.js +0 -22
- package/.next/standalone/node_modules/pac-resolver/dist/weekdayRange.js +0 -91
- package/.next/standalone/node_modules/pac-resolver/package.json +0 -47
- package/.next/standalone/node_modules/pend/index.js +0 -55
- package/.next/standalone/node_modules/pend/package.json +0 -18
- package/.next/standalone/node_modules/progress/index.js +0 -1
- package/.next/standalone/node_modules/progress/lib/node-progress.js +0 -236
- package/.next/standalone/node_modules/progress/package.json +0 -26
- package/.next/standalone/node_modules/proxy-agent/dist/index.js +0 -138
- package/.next/standalone/node_modules/proxy-agent/package.json +0 -60
- package/.next/standalone/node_modules/proxy-from-env/index.js +0 -108
- package/.next/standalone/node_modules/proxy-from-env/package.json +0 -34
- package/.next/standalone/node_modules/pump/index.js +0 -86
- package/.next/standalone/node_modules/pump/package.json +0 -30
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/package.json +0 -1
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.js +0 -204
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/BrowserContext.js +0 -182
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/CDPSession.js +0 -68
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/DeviceRequestPrompt.js +0 -34
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Dialog.js +0 -90
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.js +0 -1406
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandleSymbol.js +0 -10
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.js +0 -904
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.js +0 -461
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPResponse.js +0 -56
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Input.js +0 -211
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/JSHandle.js +0 -227
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.js +0 -1511
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Realm.js +0 -44
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Target.js +0 -49
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/WebWorker.js +0 -106
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.js +0 -22
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/locators.js +0 -769
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/bidi/BrowserConnector.js +0 -83
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Accessibility.js +0 -591
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Binding.js +0 -162
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/BluetoothEmulation.js +0 -26
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js +0 -327
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/BrowserConnector.js +0 -26
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/BrowserContext.js +0 -192
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CdpPreloadScript.js +0 -39
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CdpSession.js +0 -129
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js +0 -244
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Coverage.js +0 -372
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/DeviceRequestPrompt.js +0 -151
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Dialog.js +0 -23
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ElementHandle.js +0 -206
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/EmulationManager.js +0 -458
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ExecutionContext.js +0 -457
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ExtensionTransport.js +0 -175
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Frame.js +0 -358
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/FrameManager.js +0 -455
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/FrameManagerEvents.js +0 -24
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/FrameTree.js +0 -91
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/HTTPRequest.js +0 -195
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/HTTPResponse.js +0 -126
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Input.js +0 -499
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/IsolatedWorld.js +0 -157
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/IsolatedWorlds.js +0 -20
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/JSHandle.js +0 -101
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/LifecycleWatcher.js +0 -174
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/NetworkEventManager.js +0 -162
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/NetworkManager.js +0 -601
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Page.js +0 -1011
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.js +0 -69
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Target.js +0 -243
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/TargetManageEvents.js +0 -7
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/TargetManager.js +0 -320
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Tracing.js +0 -110
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/WebWorker.js +0 -73
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/cdp.js +0 -43
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/utils.js +0 -216
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js +0 -54
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserConnector.js +0 -129
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.js +0 -39
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/CSSQueryHandler.js +0 -18
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js +0 -133
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.js +0 -78
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/CustomQueryHandler.js +0 -114
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/Debug.js +0 -109
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/Device.js +0 -1604
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.js +0 -94
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.js +0 -128
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.js +0 -75
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/GetQueryHandler.js +0 -70
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/HandleIterator.js +0 -142
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/LazyArg.js +0 -23
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManagerEvents.js +0 -21
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.js +0 -58
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/PQueryHandler.js +0 -18
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/PSelectorParser.js +0 -100
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/PierceQueryHandler.js +0 -18
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.js +0 -98
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.js +0 -225
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/ScriptInjector.js +0 -51
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.js +0 -69
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.js +0 -24
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/TextQueryHandler.js +0 -15
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.js +0 -39
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/USKeyboardLayout.js +0 -394
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/WaitTask.js +0 -197
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/XPathQueryHandler.js +0 -21
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/common.js +0 -35
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.js +0 -375
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/environment.js +0 -24
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.js +0 -9
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/index-browser.js +0 -11
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/index.js +0 -8
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/puppeteer-core.js +0 -41
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.js +0 -14
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/AsyncIterableUtil.js +0 -29
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/Deferred.js +0 -105
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/ErrorLike.js +0 -41
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/Function.js +0 -70
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/Mutex.js +0 -46
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/assert.js +0 -18
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/decorators.js +0 -232
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/disposable.js +0 -342
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/encoding.js +0 -63
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/incremental-id-generator.js +0 -18
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/util.js +0 -13
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/version.js +0 -10
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/third_party/mitt/mitt.js +0 -44
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/third_party/parsel-js/parsel-js.js +0 -196
- package/.next/standalone/node_modules/puppeteer-core/lib/esm/third_party/rxjs/rxjs.js +0 -2887
- package/.next/standalone/node_modules/puppeteer-core/package.json +0 -169
- package/.next/standalone/node_modules/semver/functions/clean.js +0 -8
- package/.next/standalone/node_modules/semver/functions/compare-build.js +0 -9
- package/.next/standalone/node_modules/semver/functions/compare-loose.js +0 -5
- package/.next/standalone/node_modules/semver/functions/diff.js +0 -60
- package/.next/standalone/node_modules/semver/functions/inc.js +0 -21
- package/.next/standalone/node_modules/semver/functions/major.js +0 -5
- package/.next/standalone/node_modules/semver/functions/minor.js +0 -5
- package/.next/standalone/node_modules/semver/functions/patch.js +0 -5
- package/.next/standalone/node_modules/semver/functions/prerelease.js +0 -8
- package/.next/standalone/node_modules/semver/functions/rcompare.js +0 -5
- package/.next/standalone/node_modules/semver/functions/rsort.js +0 -5
- package/.next/standalone/node_modules/semver/functions/sort.js +0 -5
- package/.next/standalone/node_modules/semver/functions/valid.js +0 -8
- package/.next/standalone/node_modules/semver/index.js +0 -91
- package/.next/standalone/node_modules/semver/ranges/gtr.js +0 -6
- package/.next/standalone/node_modules/semver/ranges/intersects.js +0 -9
- package/.next/standalone/node_modules/semver/ranges/ltr.js +0 -6
- package/.next/standalone/node_modules/semver/ranges/max-satisfying.js +0 -27
- package/.next/standalone/node_modules/semver/ranges/min-satisfying.js +0 -26
- package/.next/standalone/node_modules/semver/ranges/min-version.js +0 -63
- package/.next/standalone/node_modules/semver/ranges/outside.js +0 -82
- package/.next/standalone/node_modules/semver/ranges/simplify.js +0 -49
- package/.next/standalone/node_modules/semver/ranges/subset.js +0 -249
- package/.next/standalone/node_modules/semver/ranges/to-comparators.js +0 -10
- package/.next/standalone/node_modules/semver/ranges/valid.js +0 -13
- package/.next/standalone/node_modules/smart-buffer/build/smartbuffer.js +0 -1233
- package/.next/standalone/node_modules/smart-buffer/build/utils.js +0 -108
- package/.next/standalone/node_modules/smart-buffer/package.json +0 -79
- package/.next/standalone/node_modules/socks/build/client/socksclient.js +0 -793
- package/.next/standalone/node_modules/socks/build/common/constants.js +0 -108
- package/.next/standalone/node_modules/socks/build/common/helpers.js +0 -167
- package/.next/standalone/node_modules/socks/build/common/receivebuffer.js +0 -43
- package/.next/standalone/node_modules/socks/build/common/util.js +0 -25
- package/.next/standalone/node_modules/socks/build/index.js +0 -18
- package/.next/standalone/node_modules/socks/package.json +0 -58
- package/.next/standalone/node_modules/socks-proxy-agent/dist/index.js +0 -195
- package/.next/standalone/node_modules/socks-proxy-agent/package.json +0 -142
- package/.next/standalone/node_modules/source-map/lib/array-set.js +0 -121
- package/.next/standalone/node_modules/source-map/lib/base64-vlq.js +0 -140
- package/.next/standalone/node_modules/source-map/lib/base64.js +0 -67
- package/.next/standalone/node_modules/source-map/lib/binary-search.js +0 -111
- package/.next/standalone/node_modules/source-map/lib/mapping-list.js +0 -79
- package/.next/standalone/node_modules/source-map/lib/quick-sort.js +0 -114
- package/.next/standalone/node_modules/source-map/lib/source-map-consumer.js +0 -1145
- package/.next/standalone/node_modules/source-map/lib/source-map-generator.js +0 -425
- package/.next/standalone/node_modules/source-map/lib/source-node.js +0 -413
- package/.next/standalone/node_modules/source-map/lib/util.js +0 -488
- package/.next/standalone/node_modules/source-map/package.json +0 -73
- package/.next/standalone/node_modules/source-map/source-map.js +0 -8
- package/.next/standalone/node_modules/streamx/index.js +0 -1184
- package/.next/standalone/node_modules/streamx/package.json +0 -34
- package/.next/standalone/node_modules/supports-color/index.js +0 -135
- package/.next/standalone/node_modules/supports-color/package.json +0 -53
- package/.next/standalone/node_modules/tar-stream/constants.js +0 -14
- package/.next/standalone/node_modules/tar-stream/extract.js +0 -406
- package/.next/standalone/node_modules/tar-stream/headers.js +0 -321
- package/.next/standalone/node_modules/tar-stream/index.js +0 -2
- package/.next/standalone/node_modules/tar-stream/pack.js +0 -287
- package/.next/standalone/node_modules/tar-stream/package.json +0 -42
- package/.next/standalone/node_modules/text-decoder/index.js +0 -64
- package/.next/standalone/node_modules/text-decoder/lib/pass-through-decoder.js +0 -19
- package/.next/standalone/node_modules/text-decoder/lib/utf8-decoder.js +0 -185
- package/.next/standalone/node_modules/text-decoder/package.json +0 -39
- package/.next/standalone/node_modules/tslib/package.json +0 -47
- package/.next/standalone/node_modules/tslib/tslib.js +0 -484
- package/.next/standalone/node_modules/wrappy/package.json +0 -29
- package/.next/standalone/node_modules/wrappy/wrappy.js +0 -33
- package/.next/standalone/node_modules/ws/lib/buffer-util.js +0 -131
- package/.next/standalone/node_modules/ws/lib/constants.js +0 -19
- package/.next/standalone/node_modules/ws/lib/event-target.js +0 -292
- package/.next/standalone/node_modules/ws/lib/extension.js +0 -203
- package/.next/standalone/node_modules/ws/lib/limiter.js +0 -55
- package/.next/standalone/node_modules/ws/lib/permessage-deflate.js +0 -528
- package/.next/standalone/node_modules/ws/lib/receiver.js +0 -706
- package/.next/standalone/node_modules/ws/lib/sender.js +0 -602
- package/.next/standalone/node_modules/ws/lib/stream.js +0 -161
- package/.next/standalone/node_modules/ws/lib/subprotocol.js +0 -62
- package/.next/standalone/node_modules/ws/lib/validation.js +0 -152
- package/.next/standalone/node_modules/ws/lib/websocket-server.js +0 -554
- package/.next/standalone/node_modules/ws/lib/websocket.js +0 -1393
- package/.next/standalone/node_modules/ws/package.json +0 -69
- package/.next/standalone/node_modules/ws/wrapper.mjs +0 -8
- package/.next/standalone/node_modules/y18n/build/lib/index.js +0 -174
- package/.next/standalone/node_modules/y18n/build/lib/platform-shims/node.js +0 -19
- package/.next/standalone/node_modules/y18n/index.mjs +0 -8
- package/.next/standalone/node_modules/y18n/package.json +0 -70
- package/.next/standalone/node_modules/yargs/build/lib/argsert.js +0 -62
- package/.next/standalone/node_modules/yargs/build/lib/command.js +0 -449
- package/.next/standalone/node_modules/yargs/build/lib/completion-templates.js +0 -48
- package/.next/standalone/node_modules/yargs/build/lib/completion.js +0 -243
- package/.next/standalone/node_modules/yargs/build/lib/middleware.js +0 -88
- package/.next/standalone/node_modules/yargs/build/lib/parse-command.js +0 -32
- package/.next/standalone/node_modules/yargs/build/lib/typings/common-types.js +0 -9
- package/.next/standalone/node_modules/yargs/build/lib/usage.js +0 -584
- package/.next/standalone/node_modules/yargs/build/lib/utils/apply-extends.js +0 -59
- package/.next/standalone/node_modules/yargs/build/lib/utils/is-promise.js +0 -5
- package/.next/standalone/node_modules/yargs/build/lib/utils/levenshtein.js +0 -34
- package/.next/standalone/node_modules/yargs/build/lib/utils/maybe-async-result.js +0 -17
- package/.next/standalone/node_modules/yargs/build/lib/utils/obj-filter.js +0 -10
- package/.next/standalone/node_modules/yargs/build/lib/utils/process-argv.js +0 -17
- package/.next/standalone/node_modules/yargs/build/lib/utils/set-blocking.js +0 -12
- package/.next/standalone/node_modules/yargs/build/lib/utils/which-module.js +0 -10
- package/.next/standalone/node_modules/yargs/build/lib/validation.js +0 -305
- package/.next/standalone/node_modules/yargs/build/lib/yargs-factory.js +0 -1512
- package/.next/standalone/node_modules/yargs/build/lib/yerror.js +0 -9
- package/.next/standalone/node_modules/yargs/helpers/helpers.mjs +0 -10
- package/.next/standalone/node_modules/yargs/index.mjs +0 -8
- package/.next/standalone/node_modules/yargs/lib/platform-shims/esm.mjs +0 -73
- package/.next/standalone/node_modules/yargs/package.json +0 -123
- package/.next/standalone/node_modules/yargs-parser/build/lib/index.js +0 -62
- package/.next/standalone/node_modules/yargs-parser/build/lib/string-utils.js +0 -65
- package/.next/standalone/node_modules/yargs-parser/build/lib/tokenize-arg-string.js +0 -40
- package/.next/standalone/node_modules/yargs-parser/build/lib/yargs-parser-types.js +0 -12
- package/.next/standalone/node_modules/yargs-parser/build/lib/yargs-parser.js +0 -1045
- package/.next/standalone/node_modules/yargs-parser/package.json +0 -92
- package/.next/standalone/node_modules/yauzl/LICENSE +0 -21
- package/.next/standalone/node_modules/yauzl/README.md +0 -658
- package/.next/standalone/node_modules/yauzl/index.js +0 -796
- package/.next/standalone/node_modules/yauzl/package.json +0 -40
- package/.next/static/chunks/75f35cd5abea89f2.js +0 -1
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/comparator.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/range.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/semver.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/cmp.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/coerce.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/compare.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/eq.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/gt.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/gte.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/lt.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/lte.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/neq.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/parse.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/satisfies.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/constants.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/debug.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/identifiers.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/lrucache.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/parse-options.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/re.js +0 -0
- /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/package.json +0 -0
- /package/.next/static/{dBszpiWXsbEAjYrgq1Nuz → standalone-build}/_buildManifest.js +0 -0
- /package/.next/static/{dBszpiWXsbEAjYrgq1Nuz → standalone-build}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{dBszpiWXsbEAjYrgq1Nuz → standalone-build}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-tertiary:#1a1a2e;--bg-hover:#22223a;--bg-glass:#1a1a2eb3;--bg-glass-strong:#1a1a2ee6;--text-primary:#e8e8f0;--text-secondary:#9898b0;--text-muted:#686888;--accent-primary:#6366f1;--accent-secondary:#a855f7;--accent-gradient:linear-gradient(135deg,#6366f1 0%,#a855f7 50%,#ec4899 100%);--accent-glow:#6366f14d;--border-subtle:#ffffff0f;--border-active:#6366f166;--user-bubble:#6366f126;--agent-bubble:#ffffff0a;--success:#34d399;--warning:#fbbf24;--error:#ef4444;--tool-running-border:#6366f166;--tool-running-bg:#6366f10f;--tool-done-border:#ffffff14;--tool-done-bg:#ffffff05;--tool-error-border:#ef444466;--tool-error-bg:#ef44440f;--hitl-bg:#fbbf2414;--hitl-border:#fbbf244d;--hitl-approve-bg:#34d39926;--hitl-approve-border:#34d39980;--hitl-reject-bg:#ef444426;--hitl-reject-border:#ef444480;--header-height:52px;--radius-sm:8px;--radius-md:12px;--radius-lg:14px;--radius-xl:18px;--transition-fast:.15s ease;--transition-smooth:.3s cubic-bezier(.4,0,.2,1);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-primary);height:100%;color:var(--text-primary);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes messageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes toolPulse{0%,to{box-shadow:0 0 #6366f100}50%{box-shadow:0 0 12px #6366f126}}@keyframes hitlSlideIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes typingBounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}@keyframes wm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-container{width:100%;height:100dvh;padding-top:var(--safe-top);flex-direction:column;display:flex}.header{height:var(--header-height);padding:0 10px;padding-left:calc(10px + var(--safe-left));padding-right:calc(10px + var(--safe-right));border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--bg-glass-strong);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;display:flex;position:sticky;top:0;overflow:visible}.header-left{flex-shrink:0;align-items:center;gap:8px;min-width:0;display:flex}.logo{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.header-title h1{letter-spacing:-.02em;white-space:nowrap;font-size:14px;font-weight:600}.header-subtitle{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;max-width:140px;font-size:10px;display:flex;overflow:hidden}.header-subtitle:before{content:"";background:var(--success);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s ease-in-out infinite pulse-dot}.status-streaming:before{background:var(--accent-primary);animation:.8s ease-in-out infinite pulse-dot}.status-hitl:before{background:var(--warning);animation:.6s ease-in-out infinite pulse-dot}.status-error:before{background:var(--error);animation:none}.status-disconnected:before{background:var(--error);opacity:.5;animation:none}.header-right{flex-shrink:1;align-items:center;gap:1px;min-width:0;display:flex;position:static}.icon-btn{width:34px;height:34px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.icon-btn:active{background:var(--bg-hover);color:var(--text-primary);transform:scale(.92)}.messages-area{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-behavior:smooth;flex:1;padding:12px 8px;overflow-y:auto}.messages-area::-webkit-scrollbar{display:none}.messages-area{scrollbar-width:none}.user-message{justify-content:flex-end;margin-bottom:14px;animation:.3s ease-out messageIn;display:flex}.message-content{border-radius:var(--radius-lg)var(--radius-lg)4px var(--radius-lg);background:var(--user-bubble);border:1px solid var(--border-active);white-space:pre-wrap;word-break:break-word;max-width:92%;padding:12px 14px;font-size:14px;line-height:1.6}.agent-message{margin-bottom:18px;animation:.3s ease-out messageIn}.agent-steps{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.agent-response{padding:0 2px;font-size:14px;line-height:1.7}.welcome-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:55vh;padding:0 20px;animation:.6s ease-out fadeIn;display:flex}.welcome-icon{margin-bottom:16px;animation:4s ease-in-out infinite float}.welcome-icon svg{width:48px;height:48px}.welcome-screen h2{margin-bottom:6px;font-size:20px;font-weight:700}.welcome-screen p{color:var(--text-secondary);margin-bottom:24px;font-size:13px;line-height:1.5}.quick-prompts{flex-direction:column;align-items:stretch;gap:8px;width:100%;display:flex}.quick-prompt{border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);text-align:left;-webkit-tap-highlight-color:transparent;padding:12px 16px;font-size:13px}.quick-prompt:hover{border-color:var(--border-active);color:var(--text-primary);background:var(--bg-tertiary)}.quick-prompt:active{background:var(--bg-tertiary);border-color:var(--border-active);color:var(--text-primary);transform:scale(.98)}.tool-call-card{border:1px solid var(--tool-done-border);background:var(--tool-done-bg);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-direction:column;gap:5px;padding:10px;font-size:12px;display:flex}.tool-call-card.running{border-color:var(--tool-running-border);background:var(--tool-running-bg);animation:2s infinite toolPulse}.tool-call-card.error{border-color:var(--tool-error-border);background:var(--tool-error-bg)}.tool-call-card.mcp{background:#a855f70f;border-color:#a855f766}.tool-header{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tool-icon{color:var(--text-muted);flex-shrink:0;align-items:center;display:flex}.tool-status-text{color:var(--text-primary);font-weight:500}.tool-path{color:var(--accent-primary);text-overflow:ellipsis;white-space:nowrap;flex-basis:100%;order:3;max-width:100%;font-family:JetBrains Mono,monospace;font-size:10px;overflow:hidden}.tool-command{-webkit-overflow-scrolling:touch;background:#0000004d;border-radius:4px;margin-top:4px;padding:6px 8px;overflow-x:auto}.tool-command code{color:var(--text-primary);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:11px}.tool-exit-code{color:var(--text-muted);margin-top:4px;font-size:10px}.tool-footer-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.tool-footer-btn{border:1px solid var(--border-subtle);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;border-radius:4px;min-height:36px;padding:6px 12px;font-size:11px}.tool-footer-btn:hover{border-color:var(--accent-primary);color:var(--text-primary)}.tool-footer-btn:active{transform:scale(.96)}.tool-file-changes{gap:6px;margin-top:2px;font-size:10px;display:flex}.tool-additions{color:var(--success);font-family:JetBrains Mono,monospace}.tool-deletions{color:var(--error);font-family:JetBrains Mono,monospace}.tool-terminal{-webkit-overflow-scrolling:touch;max-height:100px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;background:#0006;border-radius:4px;margin-top:6px;padding:8px;font-family:JetBrains Mono,monospace;font-size:10px;overflow-y:auto}.thinking-block{border-left:2px solid var(--accent-primary);border-radius:0 var(--radius-sm)var(--radius-sm)0;color:var(--text-secondary);background:#6366f10a;align-items:center;gap:8px;padding:8px 10px;font-size:12px;animation:.3s fadeIn;display:flex}.thinking-icon{color:var(--accent-primary);animation:2s ease-in-out infinite pulse-dot}.hitl-dialog{border:1px solid var(--hitl-border);background:var(--hitl-bg);border-radius:var(--radius-md);padding:14px 12px;animation:.3s ease-out hitlSlideIn}.hitl-dialog.resolved{opacity:.5;pointer-events:none;transition:opacity .5s}.hitl-label{color:var(--warning);align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.hitl-context{color:var(--text-secondary);word-break:break-word;-webkit-overflow-scrolling:touch;background:#0000004d;border-radius:4px;margin-bottom:12px;padding:6px 8px;font-family:JetBrains Mono,monospace;font-size:12px;overflow-x:auto}.hitl-actions{flex-direction:column;gap:8px;display:flex}.hitl-approve-btn,.hitl-reject-btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;border:1px solid;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.hitl-approve-btn{background:var(--hitl-approve-bg);border-color:var(--hitl-approve-border);color:var(--success)}.hitl-approve-btn:hover{background:#34d39940}.hitl-approve-btn:active{transform:scale(.97)}.hitl-reject-btn{background:var(--hitl-reject-bg);border-color:var(--hitl-reject-border);color:var(--error)}.hitl-reject-btn:hover{background:#ef444440}.hitl-reject-btn:active{transform:scale(.97)}.typing-indicator{align-items:center;gap:4px;padding:8px 0;display:flex}.typing-dot{background:var(--accent-primary);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite typingBounce}.typing-dot:nth-child(2){animation-delay:.16s}.typing-dot:nth-child(3){animation-delay:.32s}.file-change-indicator{color:var(--text-secondary);border-left:2px solid var(--success);background:#34d3990a;border-radius:0 4px 4px 0;align-items:center;gap:6px;padding:6px 10px;font-size:11px;display:flex}.file-change-name{color:var(--success);font-family:JetBrains Mono,monospace}.error-banner{background:var(--tool-error-bg);border:1px solid var(--tool-error-border);border-radius:var(--radius-sm);color:var(--error);word-break:break-word;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.input-area{padding:10px 8px;padding-left:calc(8px + var(--safe-left));padding-right:calc(8px + var(--safe-right));padding-bottom:calc(10px + var(--safe-bottom));border-top:1px solid var(--border-subtle);background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-shrink:0}.input-wrapper{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:border-color var(--transition-fast);align-items:flex-end;gap:6px;padding:6px 10px;display:flex}.input-wrapper:focus-within{border-color:var(--border-active)}.input-wrapper textarea{color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:120px;font-family:inherit;font-size:16px;line-height:1.5}.input-wrapper textarea::placeholder{color:var(--text-muted)}.send-btn{border-radius:var(--radius-sm);background:var(--accent-gradient);color:#fff;cursor:pointer;width:40px;height:40px;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.send-btn:disabled{opacity:.3;cursor:not-allowed}.send-btn:not(:disabled):hover{box-shadow:0 0 16px var(--accent-glow);transform:scale(1.05)}.send-btn:not(:disabled):active{transform:scale(.95)}.input-hint{display:none}.mode-toggle{border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-smooth);white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-shrink:0;align-items:center;gap:3px;min-height:32px;padding:4px 8px;font-family:inherit;font-size:11px;display:flex}.mode-toggle:active{transform:scale(.95)}.mode-toggle.planning{color:#a5b4fc;background:#6366f114;border-color:#6366f14d}.mode-toggle.fast{color:#fcd34d;background:#fbbf2414;border-color:#fbbf244d}.mode-icon{font-size:12px;line-height:1}.mode-label{letter-spacing:.02em;font-weight:500}.window-selector-wrapper{position:static;overflow:visible}.window-selector-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;flex-shrink:1;align-items:center;gap:4px;min-width:0;min-height:34px;padding:6px;font-family:inherit;font-size:11px;display:flex}.window-selector-btn:hover{border-color:var(--border-active);color:var(--text-primary)}.window-selector-btn .chevron{transition:transform .2s}.window-selector-wrapper.open .window-selector-btn{border-color:var(--accent-primary);color:var(--text-primary)}.window-selector-wrapper.open .chevron{transform:rotate(180deg)}.window-selector-btn>span:not(.cdp-indicator):not(.chevron):nth-child(2){display:none}.cdp-indicator{border-radius:50%;flex-shrink:0;width:6px;height:6px}.cdp-indicator.active{background:var(--success);animation:2s ease-in-out infinite pulse-dot;box-shadow:0 0 6px #34d39980}.cdp-indicator.inactive{background:var(--error);opacity:.6}.window-dropdown{width:auto;max-height:calc(100dvh - var(--header-height) - 20px);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);z-index:200;opacity:0;pointer-events:none;-webkit-overflow-scrolling:touch;margin-top:4px;transition:all .2s cubic-bezier(.4,0,.2,1);position:absolute;top:100%;left:10px;right:10px;overflow:hidden auto;transform:translateY(-4px)scale(.97);box-shadow:0 8px 32px #00000080}.window-dropdown.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.wm-cdp-status{border-bottom:1px solid var(--border-subtle);background:#0003;justify-content:space-between;align-items:center;padding:12px;display:flex}.wm-cdp-info{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.wm-cdp-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.wm-cdp-dot.active{background:var(--success);box-shadow:0 0 8px #34d39966}.wm-cdp-dot.inactive{background:var(--error);opacity:.7}.wm-cdp-start-btn{border-radius:var(--radius-sm);color:var(--success);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;background:#34d39914;border:1px solid #34d3994d;align-items:center;gap:5px;min-height:40px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:500;display:flex}.wm-cdp-start-btn:hover:not(:disabled){background:#34d39926;border-color:#34d39980}.wm-cdp-start-btn:active:not(:disabled){transform:scale(.97)}.wm-cdp-start-btn:disabled{opacity:.5;cursor:not-allowed}.window-dropdown-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);padding:10px 14px;font-size:11px;font-weight:600}.window-item{width:100%;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;padding:0;display:flex}.window-item:hover{background:var(--bg-hover)}.window-item.active{background:var(--tool-running-bg)}.window-item-select{color:var(--text-secondary);cursor:pointer;text-align:left;transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:1;align-items:center;gap:10px;min-width:0;min-height:48px;padding:14px;font-family:inherit;font-size:13px;display:flex}.window-item-select:hover{color:var(--text-primary)}.window-item.active .window-item-select{color:var(--accent-primary)}.window-item-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.window-item-close{width:40px;height:40px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);opacity:.6;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-right:8px;display:flex}.window-item-close:active{color:var(--error);background:#ef444426;transform:scale(.9)}.window-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:6px;height:6px}.window-item.active .window-dot{background:var(--success);box-shadow:0 0 6px #34d39966}.wm-open-section{border-top:1px solid var(--border-subtle);background:#0000001a;padding:14px}.wm-open-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:10px;font-size:11px;font-weight:600}.wm-open-form{gap:8px;display:flex}.wm-open-input{border:1px solid var(--border-subtle);background:var(--bg-tertiary);color:var(--text-primary);transition:border-color var(--transition-fast);border-radius:6px;outline:none;flex:1;min-width:0;min-height:44px;padding:10px 12px;font-family:JetBrains Mono,monospace;font-size:14px}.wm-open-input::placeholder{color:var(--text-muted);font-family:inherit}.wm-open-input:focus{border-color:var(--accent-primary)}.wm-open-input:disabled{opacity:.5}.wm-open-btn{border:1px solid var(--border-active);width:44px;height:44px;color:var(--accent-primary);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;background:#6366f11a;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.wm-open-btn:hover:not(:disabled){background:#6366f133}.wm-open-btn:active:not(:disabled){transform:scale(.95)}.wm-open-btn:disabled{opacity:.3;cursor:not-allowed}.wm-action-message{border-top:1px solid var(--border-subtle);word-break:break-word;padding:10px 14px;font-size:12px;animation:.2s fadeIn}.wm-action-message.success{color:var(--success);background:#34d3990f}.wm-action-message.error{color:var(--error);background:#ef44440f}.wm-recent-section{border-top:1px solid var(--border-subtle)}.wm-recent-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);background:var(--bg-secondary);z-index:1;padding:10px 14px;font-size:11px;font-weight:600;position:sticky;top:0}.wm-recent-item{width:100%;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:12px;min-height:52px;padding:12px 14px;font-family:inherit;display:flex}.wm-recent-item:hover,.wm-recent-item:active{background:var(--bg-hover);color:var(--text-primary)}.wm-recent-item:disabled{opacity:.5;cursor:not-allowed}.wm-recent-icon{color:var(--accent-primary);flex-shrink:0}.wm-recent-info{flex-direction:column;gap:2px;min-width:0;display:flex;overflow:hidden}.wm-recent-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.wm-recent-path{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-family:JetBrains Mono,monospace;font-size:10px;overflow:hidden}.wm-spinner{border:2px solid #ffffff26;border-top-color:currentColor;border-radius:50%;width:12px;height:12px;animation:.6s linear infinite wm-spin;display:inline-block}.artifact-panel{background:var(--bg-secondary);z-index:400;width:100%;height:100dvh;transition:transform var(--transition-smooth);border-left:none;flex-direction:column;display:flex;position:fixed;top:0;right:0;overflow:hidden;transform:translate(100%)}.artifact-panel.open{transform:translate(0);box-shadow:-8px 0 32px #00000080}.artifact-panel-header{padding:12px;padding-top:calc(12px + var(--safe-top));border-bottom:1px solid var(--border-subtle);background:var(--bg-glass-strong);align-items:center;gap:8px;min-height:50px;display:flex}.artifact-panel-header h3{white-space:nowrap;font-size:14px;font-weight:600}.artifact-list{-webkit-overflow-scrolling:touch;padding:8px;overflow-y:auto}.artifact-conv-item{border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent;min-height:48px;padding:12px}.artifact-conv-item:hover,.artifact-conv-item:active{background:var(--bg-hover)}.artifact-conv-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:14px;font-weight:500;overflow:hidden}.artifact-conv-id{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:10px}.artifact-file-list{flex-direction:column;gap:6px;padding:12px;display:flex}.artifact-file-item{background:var(--bg-tertiary);border:1px solid var(--border-subtle);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:6px;align-items:center;gap:10px;min-height:48px;padding:12px;transition:all .2s;display:flex}.artifact-file-item:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.artifact-file-item:active{transform:scale(.98)}.artifact-file-icon{color:var(--accent-primary);flex-shrink:0}.artifact-file-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.artifact-file-size{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:10px}.artifact-viewer{flex-direction:column;height:100%;display:flex}.artifact-viewer-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-tertiary);align-items:center;gap:8px;padding:8px 12px;display:flex}.artifact-back-btn{color:var(--accent-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:4px;min-height:36px;padding:6px 10px;font-size:13px;font-weight:500;transition:background .2s}.artifact-back-btn:hover{background:#6366f11a}.artifact-viewer-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;overflow:hidden}.artifact-viewer-body{-webkit-overflow-scrolling:touch;padding:14px 12px;padding-bottom:calc(14px + var(--safe-bottom));color:var(--text-primary);flex:1;font-size:13px;line-height:1.6;overflow-y:auto}.artifact-viewer-body pre{-webkit-overflow-scrolling:touch;background:#0000004d;border-radius:6px;padding:10px;font-size:11px;overflow-x:auto}.artifact-viewer-body code{font-family:JetBrains Mono,monospace;font-size:11px}.conv-selector-wrapper{overflow:visible}.conv-selector-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;flex-shrink:1;align-items:center;gap:4px;min-width:0;max-width:110px;min-height:34px;padding:4px 6px;font-family:inherit;font-size:11px;display:flex}.conv-selector-btn:hover{border-color:var(--border-active);color:var(--text-primary)}.conv-selector-btn>span{text-overflow:ellipsis;white-space:nowrap;max-width:70px;overflow:hidden}.conv-dropdown{width:auto;max-height:calc(100dvh - var(--header-height) - 20px);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);z-index:300;opacity:0;pointer-events:none;flex-direction:column;margin-top:4px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:100%;left:10px;right:10px;overflow:hidden;transform:translateY(-4px)scale(.97);box-shadow:0 8px 32px #00000080}.conv-dropdown.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.conv-dropdown-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);padding:10px 14px 8px;font-size:11px;font-weight:600}.conv-dropdown-list{-webkit-overflow-scrolling:touch;flex:1;padding:4px;overflow-y:auto}.conv-item{width:100%;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:6px;flex-direction:column;gap:4px;min-height:48px;padding:12px;font-family:inherit;font-size:13px;display:flex}.conv-item:hover,.conv-item:active{background:var(--bg-hover);color:var(--text-primary)}.conv-item.active{color:var(--text-primary);border-left:2px solid var(--accent-primary);background:#6366f11a}.agent-response h1,.agent-response h2,.agent-response h3,.agent-response h4{color:var(--text-primary);margin-top:.8em;margin-bottom:.3em}.agent-response h1{font-size:1.3em}.agent-response h2{border-bottom:1px solid var(--border-subtle);padding-bottom:4px;font-size:1.15em}.agent-response p{margin:.4em 0}.agent-response ul,.agent-response ol{margin:.4em 0;padding-left:18px}.agent-response li{margin-bottom:4px}.agent-response code{background:#ffffff0f;border-radius:4px;padding:2px 5px;font-family:JetBrains Mono,monospace;font-size:.85em}.agent-response pre{border-radius:var(--radius-sm);-webkit-overflow-scrolling:touch;border:1px solid var(--border-subtle);background:#0006;margin:8px 0;padding:12px;overflow-x:auto}.agent-response pre code{background:0 0;padding:0;font-size:12px}.agent-response a{color:var(--accent-primary);text-decoration:none}.agent-response a:hover{text-decoration:underline}.agent-response blockquote{border-left:3px solid var(--accent-primary);color:var(--text-secondary);margin:8px 0;padding-left:10px}.agent-response table{border-collapse:collapse;-webkit-overflow-scrolling:touch;width:100%;margin:8px 0;display:block;overflow-x:auto}.agent-response th,.agent-response td{border:1px solid var(--border-subtle);text-align:left;white-space:nowrap;padding:6px 8px;font-size:12px}.agent-response th{background:var(--bg-tertiary);font-weight:600}@media (min-width:480px){.header{padding:0 14px}.header-title h1{font-size:15px}.messages-area{padding:16px 12px}.message-content{max-width:88%;padding:13px 16px}.input-area{padding:12px;padding-bottom:calc(12px + var(--safe-bottom))}.input-wrapper{padding:8px 12px}.window-selector-btn>span:not(.cdp-indicator):not(.chevron):nth-child(2){white-space:nowrap;text-overflow:ellipsis;vertical-align:bottom;max-width:100px;display:inline-block;overflow:hidden}.conv-selector-btn>span{max-width:100px}.quick-prompts{flex-flow:wrap;justify-content:center;width:auto}.quick-prompt{white-space:nowrap;text-align:center}.hitl-actions{flex-direction:row}.hitl-approve-btn,.hitl-reject-btn{padding:10px 16px}.tool-path{flex-basis:auto;order:0;max-width:180px;margin-left:auto}}@media (min-width:768px){:root{--header-height:56px;--radius-lg:16px;--radius-xl:20px}.header{padding:0 16px}.header-left{gap:12px}.logo{width:34px;height:34px}.header-title h1{font-size:16px}.header-subtitle{max-width:200px;font-size:11px}.header-right{gap:4px;position:relative}.window-selector-wrapper{position:relative}.icon-btn{width:36px;height:36px}.messages-area{padding:20px 16px}.messages-area::-webkit-scrollbar{width:4px;display:block}.messages-area::-webkit-scrollbar-track{background:0 0}.messages-area::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:4px}.messages-area{scrollbar-width:thin;scrollbar-color:var(--border-subtle)transparent}.message-content{max-width:85%}.user-message{margin-bottom:18px}.agent-message{margin-bottom:22px}.welcome-icon svg{width:56px;height:56px}.welcome-screen h2{font-size:22px}.welcome-screen p{font-size:14px}.input-area{padding:12px 16px;padding-bottom:calc(12px + var(--safe-bottom))}.input-wrapper textarea{max-height:150px;font-size:14px}.input-hint{color:var(--text-muted);justify-content:space-between;padding:6px 4px 0;font-size:11px;display:flex}.mode-toggle{gap:4px;padding:4px 10px;font-size:12px}.mode-icon{font-size:13px}.tool-terminal{max-height:120px;font-size:11px}.tool-command code{font-size:11px}.tool-path{max-width:200px;font-size:11px}.conv-selector-btn{max-width:160px;padding:4px 8px}.conv-selector-btn>span{max-width:110px}.window-dropdown{width:340px;max-height:440px;left:auto;right:0}.conv-dropdown{width:340px;max-height:380px;left:auto;right:0}.wm-open-input{font-size:12px}.window-item-close{opacity:0}.window-item:hover .window-item-close{opacity:1}.window-item-close:hover{color:var(--error);background:#ef444426}.artifact-panel{border-left:1px solid var(--border-subtle);width:380px}.agent-response th,.agent-response td{padding:6px 10px;font-size:13px}}@media (min-width:1024px){:root{--header-height:60px}.app-container{max-width:900px;margin:0 auto}.logo{width:36px;height:36px;padding:4px}.header-title h1{font-size:16px}.header-subtitle{letter-spacing:.08em;max-width:none}.messages-area{padding:24px 16px}.message-content{padding:14px 18px}.agent-message{margin-bottom:24px}.user-message{margin-bottom:20px}.welcome-icon svg{width:64px;height:64px}.welcome-screen h2{font-size:24px}.welcome-screen{height:60vh}.icon-btn{width:36px;height:36px}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.quick-prompt:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.mode-toggle:hover{border-color:var(--border-active);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 2px 8px #0000004d}.mode-toggle.planning:hover{color:#c7d2fe;background:#6366f126;border-color:#6366f180}.mode-toggle.fast:hover{color:#fde68a;background:#fbbf2426;border-color:#fbbf2480}.hitl-approve-btn:hover,.hitl-reject-btn:hover{transform:translateY(-1px)}.window-selector-btn:hover{border-color:var(--border-active);color:var(--text-primary)}.wm-cdp-start-btn:hover:not(:disabled),.wm-open-btn:hover:not(:disabled){transform:translateY(-1px)}.wm-recent-item:hover{background:var(--bg-hover);color:var(--text-primary)}.agent-response h1{font-size:1.4em}.agent-response h2{font-size:1.2em}}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hidden{display:none!important}
|
|
1
|
+
:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-tertiary:#1a1a2e;--bg-hover:#22223a;--bg-glass:#1a1a2eb3;--bg-glass-strong:#1a1a2ee6;--text-primary:#e8e8f0;--text-secondary:#9898b0;--text-muted:#686888;--accent-primary:#6366f1;--accent-secondary:#a855f7;--accent-gradient:linear-gradient(135deg,#6366f1 0%,#a855f7 50%,#ec4899 100%);--accent-glow:#6366f14d;--border-subtle:#ffffff0f;--border-active:#6366f166;--user-bubble:#6366f126;--agent-bubble:#ffffff0a;--success:#34d399;--warning:#fbbf24;--error:#ef4444;--tool-running-border:#6366f166;--tool-running-bg:#6366f10f;--tool-done-border:#ffffff14;--tool-done-bg:#ffffff05;--tool-error-border:#ef444466;--tool-error-bg:#ef44440f;--hitl-bg:#fbbf2414;--hitl-border:#fbbf244d;--hitl-approve-bg:#34d39926;--hitl-approve-border:#34d39980;--hitl-reject-bg:#ef444426;--hitl-reject-border:#ef444480;--header-height:52px;--radius-sm:8px;--radius-md:12px;--radius-lg:14px;--radius-xl:18px;--transition-fast:.15s ease;--transition-smooth:.3s cubic-bezier(.4,0,.2,1);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-primary);height:100%;color:var(--text-primary);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes messageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes toolPulse{0%,to{box-shadow:0 0 #6366f100}50%{box-shadow:0 0 12px #6366f126}}@keyframes hitlSlideIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes typingBounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}@keyframes wm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-container{width:100%;height:100dvh;padding-top:var(--safe-top);flex-direction:column;display:flex}.header{height:var(--header-height);padding:0 10px;padding-left:calc(10px + var(--safe-left));padding-right:calc(10px + var(--safe-right));border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--bg-glass-strong);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;display:flex;position:sticky;top:0;overflow:visible}.header-left{flex-shrink:0;align-items:center;gap:8px;min-width:0;display:flex}.logo{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.header-title h1{letter-spacing:-.02em;white-space:nowrap;font-size:14px;font-weight:600}.header-subtitle{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;max-width:140px;font-size:10px;display:flex;overflow:hidden}.header-subtitle:before{content:"";background:var(--success);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s ease-in-out infinite pulse-dot}.status-streaming:before{background:var(--accent-primary);animation:.8s ease-in-out infinite pulse-dot}.status-hitl:before{background:var(--warning);animation:.6s ease-in-out infinite pulse-dot}.status-error:before{background:var(--error);animation:none}.status-disconnected:before{background:var(--error);opacity:.5;animation:none}.header-right{flex-shrink:1;align-items:center;gap:1px;min-width:0;display:flex;position:static}.icon-btn{width:34px;height:34px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.icon-btn:active{background:var(--bg-hover);color:var(--text-primary);transform:scale(.92)}.messages-area{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-behavior:smooth;flex:1;padding:12px 8px;overflow-y:auto}.messages-area::-webkit-scrollbar{display:none}.messages-area{scrollbar-width:none}.user-message{justify-content:flex-end;margin-bottom:14px;animation:.3s ease-out messageIn;display:flex}.message-content{border-radius:var(--radius-lg)var(--radius-lg)4px var(--radius-lg);background:var(--user-bubble);border:1px solid var(--border-active);white-space:pre-wrap;word-break:break-word;max-width:92%;padding:12px 14px;font-size:14px;line-height:1.6}.agent-message{margin-bottom:18px;animation:.3s ease-out messageIn}.agent-steps{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.agent-response{padding:0 2px;font-size:14px;line-height:1.7}.welcome-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:55vh;padding:0 20px;animation:.6s ease-out fadeIn;display:flex}.welcome-icon{margin-bottom:16px;animation:4s ease-in-out infinite float}.welcome-icon svg{width:48px;height:48px}.welcome-screen h2{margin-bottom:6px;font-size:20px;font-weight:700}.welcome-screen p{color:var(--text-secondary);margin-bottom:24px;font-size:13px;line-height:1.5}.quick-prompts{flex-direction:column;align-items:stretch;gap:8px;width:100%;display:flex}.quick-prompt{border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);text-align:left;-webkit-tap-highlight-color:transparent;padding:12px 16px;font-size:13px}.quick-prompt:hover{border-color:var(--border-active);color:var(--text-primary);background:var(--bg-tertiary)}.quick-prompt:active{background:var(--bg-tertiary);border-color:var(--border-active);color:var(--text-primary);transform:scale(.98)}.tool-call-card{border:1px solid var(--tool-done-border);background:var(--tool-done-bg);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-direction:column;gap:5px;padding:10px;font-size:12px;display:flex}.tool-call-card.running{border-color:var(--tool-running-border);background:var(--tool-running-bg);animation:2s infinite toolPulse}.tool-call-card.error{border-color:var(--tool-error-border);background:var(--tool-error-bg)}.tool-call-card.mcp{background:#a855f70f;border-color:#a855f766}.tool-header{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tool-icon{color:var(--text-muted);flex-shrink:0;align-items:center;display:flex}.tool-status-text{color:var(--text-primary);font-weight:500}.tool-path{color:var(--accent-primary);text-overflow:ellipsis;white-space:nowrap;flex-basis:100%;order:3;max-width:100%;font-family:JetBrains Mono,monospace;font-size:10px;overflow:hidden}.tool-command{-webkit-overflow-scrolling:touch;background:#0000004d;border-radius:4px;margin-top:4px;padding:6px 8px;overflow-x:auto}.tool-command code{color:var(--text-primary);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:11px}.tool-exit-code{color:var(--text-muted);margin-top:4px;font-size:10px}.tool-footer-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.tool-footer-btn{border:1px solid var(--border-subtle);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;border-radius:4px;min-height:36px;padding:6px 12px;font-size:11px}.tool-footer-btn:hover{border-color:var(--accent-primary);color:var(--text-primary)}.tool-footer-btn:active{transform:scale(.96)}.tool-file-changes{gap:6px;margin-top:2px;font-size:10px;display:flex}.tool-additions{color:var(--success);font-family:JetBrains Mono,monospace}.tool-deletions{color:var(--error);font-family:JetBrains Mono,monospace}.tool-terminal{-webkit-overflow-scrolling:touch;max-height:100px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;background:#0006;border-radius:4px;margin-top:6px;padding:8px;font-family:JetBrains Mono,monospace;font-size:10px;overflow-y:auto}.thinking-block{border-left:2px solid var(--accent-primary);border-radius:0 var(--radius-sm)var(--radius-sm)0;color:var(--text-secondary);background:#6366f10a;align-items:center;gap:8px;padding:8px 10px;font-size:12px;animation:.3s fadeIn;display:flex}.thinking-icon{color:var(--accent-primary);animation:2s ease-in-out infinite pulse-dot}.hitl-dialog{border:1px solid var(--hitl-border);background:var(--hitl-bg);border-radius:var(--radius-md);padding:14px 12px;animation:.3s ease-out hitlSlideIn}.hitl-dialog.resolved{opacity:.5;pointer-events:none;transition:opacity .5s}.hitl-label{color:var(--warning);align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.hitl-context{color:var(--text-secondary);word-break:break-word;-webkit-overflow-scrolling:touch;background:#0000004d;border-radius:4px;margin-bottom:12px;padding:6px 8px;font-family:JetBrains Mono,monospace;font-size:12px;overflow-x:auto}.hitl-actions{flex-direction:column;gap:8px;display:flex}.hitl-approve-btn,.hitl-reject-btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;border:1px solid;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.hitl-approve-btn{background:var(--hitl-approve-bg);border-color:var(--hitl-approve-border);color:var(--success)}.hitl-approve-btn:hover{background:#34d39940}.hitl-approve-btn:active{transform:scale(.97)}.hitl-reject-btn{background:var(--hitl-reject-bg);border-color:var(--hitl-reject-border);color:var(--error)}.hitl-reject-btn:hover{background:#ef444440}.hitl-reject-btn:active{transform:scale(.97)}.typing-indicator{align-items:center;gap:4px;padding:8px 0;display:flex}.typing-dot{background:var(--accent-primary);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite typingBounce}.typing-dot:nth-child(2){animation-delay:.16s}.typing-dot:nth-child(3){animation-delay:.32s}.file-change-indicator{color:var(--text-secondary);border-left:2px solid var(--success);background:#34d3990a;border-radius:0 4px 4px 0;align-items:center;gap:6px;padding:6px 10px;font-size:11px;display:flex}.file-change-name{color:var(--success);font-family:JetBrains Mono,monospace}.error-banner{background:var(--tool-error-bg);border:1px solid var(--tool-error-border);border-radius:var(--radius-sm);color:var(--error);word-break:break-word;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.input-area{padding:10px 8px;padding-left:calc(8px + var(--safe-left));padding-right:calc(8px + var(--safe-right));padding-bottom:calc(10px + var(--safe-bottom));border-top:1px solid var(--border-subtle);background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-shrink:0}.input-wrapper{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:border-color var(--transition-fast);align-items:flex-end;gap:6px;padding:6px 10px;display:flex}.input-wrapper:focus-within{border-color:var(--border-active)}.input-wrapper textarea{color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:120px;font-family:inherit;font-size:16px;line-height:1.5}.input-wrapper textarea::placeholder{color:var(--text-muted)}.send-btn{border-radius:var(--radius-sm);background:var(--accent-gradient);color:#fff;cursor:pointer;width:40px;height:40px;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.send-btn:disabled{opacity:.3;cursor:not-allowed}.send-btn:not(:disabled):hover{box-shadow:0 0 16px var(--accent-glow);transform:scale(1.05)}.send-btn:not(:disabled):active{transform:scale(.95)}.input-hint{display:none}.mode-toggle{border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-smooth);white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-shrink:0;align-items:center;gap:3px;min-height:32px;padding:4px 8px;font-family:inherit;font-size:11px;display:flex}.mode-toggle:active{transform:scale(.95)}.mode-toggle.planning{color:#a5b4fc;background:#6366f114;border-color:#6366f14d}.mode-toggle.fast{color:#fcd34d;background:#fbbf2414;border-color:#fbbf244d}.mode-icon{font-size:12px;line-height:1}.mode-label{letter-spacing:.02em;font-weight:500}.window-selector-wrapper{position:static;overflow:visible}.window-selector-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;flex-shrink:1;align-items:center;gap:4px;min-width:0;min-height:34px;padding:6px;font-family:inherit;font-size:11px;display:flex}.window-selector-btn:hover{border-color:var(--border-active);color:var(--text-primary)}.window-selector-btn .chevron{transition:transform .2s}.window-selector-wrapper.open .window-selector-btn{border-color:var(--accent-primary);color:var(--text-primary)}.window-selector-wrapper.open .chevron{transform:rotate(180deg)}.window-selector-btn>span:not(.cdp-indicator):not(.chevron):nth-child(2){display:none}.cdp-indicator{border-radius:50%;flex-shrink:0;width:6px;height:6px}.cdp-indicator.active{background:var(--success);animation:2s ease-in-out infinite pulse-dot;box-shadow:0 0 6px #34d39980}.cdp-indicator.inactive{background:var(--error);opacity:.6}.window-dropdown{width:auto;max-height:calc(100dvh - var(--header-height) - 20px);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);z-index:200;opacity:0;pointer-events:none;-webkit-overflow-scrolling:touch;margin-top:4px;transition:all .2s cubic-bezier(.4,0,.2,1);position:absolute;top:100%;left:10px;right:10px;overflow:hidden auto;transform:translateY(-4px)scale(.97);box-shadow:0 8px 32px #00000080}.window-dropdown.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.wm-cdp-status{border-bottom:1px solid var(--border-subtle);background:#0003;justify-content:space-between;align-items:center;padding:12px;display:flex}.wm-cdp-info{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.wm-cdp-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.wm-cdp-dot.active{background:var(--success);box-shadow:0 0 8px #34d39966}.wm-cdp-dot.inactive{background:var(--error);opacity:.7}.wm-cdp-start-btn{border-radius:var(--radius-sm);color:var(--success);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;background:#34d39914;border:1px solid #34d3994d;align-items:center;gap:5px;min-height:40px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:500;display:flex}.wm-cdp-start-btn:hover:not(:disabled){background:#34d39926;border-color:#34d39980}.wm-cdp-start-btn:active:not(:disabled){transform:scale(.97)}.wm-cdp-start-btn:disabled{opacity:.5;cursor:not-allowed}.window-dropdown-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);padding:10px 14px;font-size:11px;font-weight:600}.window-item{width:100%;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;padding:0;display:flex}.window-item:hover{background:var(--bg-hover)}.window-item.active{background:var(--tool-running-bg)}.window-item-select{color:var(--text-secondary);cursor:pointer;text-align:left;transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:1;align-items:center;gap:10px;min-width:0;min-height:48px;padding:14px;font-family:inherit;font-size:13px;display:flex}.window-item-select:hover{color:var(--text-primary)}.window-item.active .window-item-select{color:var(--accent-primary)}.window-item-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.window-item-close{width:40px;height:40px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);opacity:.6;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-right:8px;display:flex}.window-item-close:active{color:var(--error);background:#ef444426;transform:scale(.9)}.window-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:6px;height:6px}.window-item.active .window-dot{background:var(--success);box-shadow:0 0 6px #34d39966}.wm-open-section{border-top:1px solid var(--border-subtle);background:#0000001a;padding:14px}.wm-open-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:10px;font-size:11px;font-weight:600}.wm-open-form{gap:8px;display:flex}.wm-open-input{border:1px solid var(--border-subtle);background:var(--bg-tertiary);color:var(--text-primary);transition:border-color var(--transition-fast);border-radius:6px;outline:none;flex:1;min-width:0;min-height:44px;padding:10px 12px;font-family:JetBrains Mono,monospace;font-size:14px}.wm-open-input::placeholder{color:var(--text-muted);font-family:inherit}.wm-open-input:focus{border-color:var(--accent-primary)}.wm-open-input:disabled{opacity:.5}.wm-open-btn{border:1px solid var(--border-active);width:44px;height:44px;color:var(--accent-primary);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;background:#6366f11a;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.wm-open-btn:hover:not(:disabled){background:#6366f133}.wm-open-btn:active:not(:disabled){transform:scale(.95)}.wm-open-btn:disabled{opacity:.3;cursor:not-allowed}.wm-action-message{border-top:1px solid var(--border-subtle);word-break:break-word;padding:10px 14px;font-size:12px;animation:.2s fadeIn}.wm-action-message.success{color:var(--success);background:#34d3990f}.wm-action-message.error{color:var(--error);background:#ef44440f}.wm-recent-section{border-top:1px solid var(--border-subtle)}.wm-recent-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);background:var(--bg-secondary);z-index:1;padding:10px 14px;font-size:11px;font-weight:600;position:sticky;top:0}.wm-recent-item{width:100%;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:12px;min-height:52px;padding:12px 14px;font-family:inherit;display:flex}.wm-recent-item:hover,.wm-recent-item:active{background:var(--bg-hover);color:var(--text-primary)}.wm-recent-item:disabled{opacity:.5;cursor:not-allowed}.wm-recent-icon{color:var(--accent-primary);flex-shrink:0}.wm-recent-info{flex-direction:column;gap:2px;min-width:0;display:flex;overflow:hidden}.wm-recent-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.wm-recent-path{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-family:JetBrains Mono,monospace;font-size:10px;overflow:hidden}.wm-spinner{border:2px solid #ffffff26;border-top-color:currentColor;border-radius:50%;width:12px;height:12px;animation:.6s linear infinite wm-spin;display:inline-block}.artifact-panel{background:var(--bg-secondary);z-index:400;width:100%;height:100dvh;transition:transform var(--transition-smooth);border-left:none;flex-direction:column;display:flex;position:fixed;top:0;right:0;overflow:hidden;transform:translate(100%)}.artifact-panel.open{transform:translate(0);box-shadow:-8px 0 32px #00000080}.artifact-panel-header{padding:12px;padding-top:calc(12px + var(--safe-top));border-bottom:1px solid var(--border-subtle);background:var(--bg-glass-strong);align-items:center;gap:8px;min-height:50px;display:flex}.artifact-panel-header h3{white-space:nowrap;font-size:14px;font-weight:600}.artifact-list{-webkit-overflow-scrolling:touch;padding:8px;overflow-y:auto}.artifact-conv-item{border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent;min-height:48px;padding:12px}.artifact-conv-item:hover,.artifact-conv-item:active{background:var(--bg-hover)}.artifact-conv-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:14px;font-weight:500;overflow:hidden}.artifact-conv-id{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:10px}.artifact-file-list{flex-direction:column;gap:6px;padding:12px;display:flex}.artifact-file-item{background:var(--bg-tertiary);border:1px solid var(--border-subtle);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:6px;align-items:center;gap:10px;min-height:48px;padding:12px;transition:all .2s;display:flex}.artifact-file-item:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.artifact-file-item:active{transform:scale(.98)}.artifact-file-icon{color:var(--accent-primary);flex-shrink:0}.artifact-file-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.artifact-file-size{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:10px}.artifact-viewer{flex-direction:column;height:100%;display:flex}.artifact-viewer-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-tertiary);align-items:center;gap:8px;padding:8px 12px;display:flex}.artifact-back-btn{color:var(--accent-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:4px;min-height:36px;padding:6px 10px;font-size:13px;font-weight:500;transition:background .2s}.artifact-back-btn:hover{background:#6366f11a}.artifact-viewer-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;overflow:hidden}.artifact-viewer-body{-webkit-overflow-scrolling:touch;padding:14px 12px;padding-bottom:calc(14px + var(--safe-bottom));color:var(--text-primary);flex:1;font-size:13px;line-height:1.6;overflow-y:auto}.artifact-viewer-body pre{-webkit-overflow-scrolling:touch;background:#0000004d;border-radius:6px;padding:10px;font-size:11px;overflow-x:auto}.artifact-viewer-body code{font-family:JetBrains Mono,monospace;font-size:11px}.conv-selector-wrapper{overflow:visible}.conv-selector-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;flex-shrink:1;align-items:center;gap:4px;min-width:0;max-width:110px;min-height:34px;padding:4px 6px;font-family:inherit;font-size:11px;display:flex}.conv-selector-btn:hover{border-color:var(--border-active);color:var(--text-primary)}.conv-selector-btn>span{text-overflow:ellipsis;white-space:nowrap;max-width:70px;overflow:hidden}.conv-dropdown{width:auto;max-height:calc(100dvh - var(--header-height) - 20px);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);z-index:300;opacity:0;pointer-events:none;flex-direction:column;margin-top:4px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:100%;left:10px;right:10px;overflow:hidden;transform:translateY(-4px)scale(.97);box-shadow:0 8px 32px #00000080}.conv-dropdown.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.conv-dropdown-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);padding:10px 14px 8px;font-size:11px;font-weight:600}.conv-dropdown-list{-webkit-overflow-scrolling:touch;flex:1;padding:4px;overflow-y:auto}.conv-item{width:100%;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:6px;flex-direction:column;gap:4px;min-height:48px;padding:12px;font-family:inherit;font-size:13px;display:flex}.conv-item:hover,.conv-item:active{background:var(--bg-hover);color:var(--text-primary)}.conv-item.active{color:var(--text-primary);border-left:2px solid var(--accent-primary);background:#6366f11a}.agent-response h1,.agent-response h2,.agent-response h3,.agent-response h4{color:var(--text-primary);margin-top:.8em;margin-bottom:.3em}.agent-response h1{font-size:1.3em}.agent-response h2{border-bottom:1px solid var(--border-subtle);padding-bottom:4px;font-size:1.15em}.agent-response p{margin:.4em 0}.agent-response ul,.agent-response ol{margin:.4em 0;padding-left:18px}.agent-response li{margin-bottom:4px}.agent-response code{background:#ffffff0f;border-radius:4px;padding:2px 5px;font-family:JetBrains Mono,monospace;font-size:.85em}.agent-response pre{border-radius:var(--radius-sm);-webkit-overflow-scrolling:touch;border:1px solid var(--border-subtle);background:#0006;margin:8px 0;padding:12px;overflow-x:auto}.agent-response pre code{background:0 0;padding:0;font-size:12px}.agent-response a{color:var(--accent-primary);text-decoration:none}.agent-response a:hover{text-decoration:underline}.agent-response blockquote{border-left:3px solid var(--accent-primary);color:var(--text-secondary);margin:8px 0;padding-left:10px}.agent-response table{border-collapse:collapse;-webkit-overflow-scrolling:touch;width:100%;margin:8px 0;display:block;overflow-x:auto}.agent-response th,.agent-response td{border:1px solid var(--border-subtle);text-align:left;white-space:nowrap;padding:6px 8px;font-size:12px}.agent-response th{background:var(--bg-tertiary);font-weight:600}.agent-response svg[class*=cursor-pointer],.agent-response [class*=cursor-pointer][class*=opacity-70],.agent-response button[class*=opacity-70]{display:none!important}.agent-response svg:not([width]):not([class]){max-width:1.2em;max-height:1.2em}@media (min-width:480px){.header{padding:0 14px}.header-title h1{font-size:15px}.messages-area{padding:16px 12px}.message-content{max-width:88%;padding:13px 16px}.input-area{padding:12px;padding-bottom:calc(12px + var(--safe-bottom))}.input-wrapper{padding:8px 12px}.window-selector-btn>span:not(.cdp-indicator):not(.chevron):nth-child(2){white-space:nowrap;text-overflow:ellipsis;vertical-align:bottom;max-width:100px;display:inline-block;overflow:hidden}.conv-selector-btn>span{max-width:100px}.quick-prompts{flex-flow:wrap;justify-content:center;width:auto}.quick-prompt{white-space:nowrap;text-align:center}.hitl-actions{flex-direction:row}.hitl-approve-btn,.hitl-reject-btn{padding:10px 16px}.tool-path{flex-basis:auto;order:0;max-width:180px;margin-left:auto}}@media (min-width:768px){:root{--header-height:56px;--radius-lg:16px;--radius-xl:20px}.header{padding:0 16px}.header-left{gap:12px}.logo{width:34px;height:34px}.header-title h1{font-size:16px}.header-subtitle{max-width:200px;font-size:11px}.header-right{gap:4px;position:relative}.window-selector-wrapper{position:relative}.icon-btn{width:36px;height:36px}.messages-area{padding:20px 16px}.messages-area::-webkit-scrollbar{width:4px;display:block}.messages-area::-webkit-scrollbar-track{background:0 0}.messages-area::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:4px}.messages-area{scrollbar-width:thin;scrollbar-color:var(--border-subtle)transparent}.message-content{max-width:85%}.user-message{margin-bottom:18px}.agent-message{margin-bottom:22px}.welcome-icon svg{width:56px;height:56px}.welcome-screen h2{font-size:22px}.welcome-screen p{font-size:14px}.input-area{padding:12px 16px;padding-bottom:calc(12px + var(--safe-bottom))}.input-wrapper textarea{max-height:150px;font-size:14px}.input-hint{color:var(--text-muted);justify-content:space-between;padding:6px 4px 0;font-size:11px;display:flex}.mode-toggle{gap:4px;padding:4px 10px;font-size:12px}.mode-icon{font-size:13px}.tool-terminal{max-height:120px;font-size:11px}.tool-command code{font-size:11px}.tool-path{max-width:200px;font-size:11px}.conv-selector-btn{max-width:160px;padding:4px 8px}.conv-selector-btn>span{max-width:110px}.window-dropdown{width:340px;max-height:440px;left:auto;right:0}.conv-dropdown{width:340px;max-height:380px;left:auto;right:0}.wm-open-input{font-size:12px}.window-item-close{opacity:0}.window-item:hover .window-item-close{opacity:1}.window-item-close:hover{color:var(--error);background:#ef444426}.artifact-panel{border-left:1px solid var(--border-subtle);width:380px}.agent-response th,.agent-response td{padding:6px 10px;font-size:13px}}@media (min-width:1024px){:root{--header-height:60px}.app-container{max-width:900px;margin:0 auto}.logo{width:36px;height:36px;padding:4px}.header-title h1{font-size:16px}.header-subtitle{letter-spacing:.08em;max-width:none}.messages-area{padding:24px 16px}.message-content{padding:14px 18px}.agent-message{margin-bottom:24px}.user-message{margin-bottom:20px}.welcome-icon svg{width:64px;height:64px}.welcome-screen h2{font-size:24px}.welcome-screen{height:60vh}.icon-btn{width:36px;height:36px}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.quick-prompt:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.mode-toggle:hover{border-color:var(--border-active);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 2px 8px #0000004d}.mode-toggle.planning:hover{color:#c7d2fe;background:#6366f126;border-color:#6366f180}.mode-toggle.fast:hover{color:#fde68a;background:#fbbf2426;border-color:#fbbf2480}.hitl-approve-btn:hover,.hitl-reject-btn:hover{transform:translateY(-1px)}.window-selector-btn:hover{border-color:var(--border-active);color:var(--text-primary)}.wm-cdp-start-btn:hover:not(:disabled),.wm-open-btn:hover:not(:disabled){transform:translateY(-1px)}.wm-recent-item:hover{background:var(--bg-hover);color:var(--text-primary)}.agent-response h1{font-size:1.4em}.agent-response h2{font-size:1.2em}}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hidden{display:none!important}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,20552,e=>{"use strict";var t=e.i(43476),s=e.i(71645);let n="/api/v1",a="/api/v1";function i({conversations:e,activeConversation:n,onSelect:a}){let[i,r]=(0,s.useState)(!1),c=(0,s.useRef)(null);return(0,s.useEffect)(()=>{let e=e=>{c.current&&!c.current.contains(e.target)&&r(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,t.jsxs)("div",{ref:c,className:`conv-selector-wrapper ${i?"open":""}`,children:[(0,t.jsxs)("button",{className:"conv-selector-btn",onClick:()=>r(!i),title:"Switch conversation",children:[(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,t.jsx)("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})}),(0,t.jsx)("span",{children:n?.title?.substring(0,22)||"No conversation"}),(0,t.jsx)("svg",{className:"chevron",width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,t.jsx)("polyline",{points:"6 9 12 15 18 9"})})]}),(0,t.jsxs)("div",{className:`conv-dropdown ${i?"open":""}`,children:[(0,t.jsx)("div",{className:"conv-dropdown-header",children:"Conversations"}),(0,t.jsxs)("div",{className:"conv-dropdown-list",children:[e.map((e,s)=>{let i=e.title||e.id.substring(0,20)+"…",c=e.id&&e.id.length>5?e.id.substring(0,8):"",l=e.files?.slice(0,3)||[],o=e.files?e.files.length-3:0;return(0,t.jsxs)("button",{className:`conv-item ${e.title===n?.title?"active":""}`,onClick:()=>{e.title!==n?.title&&a(e.title),r(!1)},children:[(0,t.jsxs)("div",{className:"conv-item-header",children:[(0,t.jsx)("span",{className:`conv-item-dot ${e.active?"active":""}`}),(0,t.jsx)("span",{className:"conv-item-title",children:i}),c&&(0,t.jsx)("span",{className:"conv-item-id",children:c})]}),e.mtime&&(0,t.jsx)("span",{className:"conv-item-time",children:function(e){if(!e)return"";let t=new Date(e),s=Math.floor((Date.now()-t.getTime())/6e4);if(s<1)return"Just now";if(s<60)return`${s}m ago`;let n=Math.floor(s/60);if(n<24)return`${n}h ago`;let a=Math.floor(n/24);return`${a}d ago`}(e.mtime)}),e.files&&e.files.length>0&&(0,t.jsxs)("div",{className:"conv-item-files",children:[l.map((e,s)=>(0,t.jsx)("span",{className:"conv-item-file-badge",children:e.name},s)),o>0&&(0,t.jsxs)("span",{className:"conv-item-file-badge",children:["+",o]})]})]},`conv-${s}`)}),0===e.length&&(0,t.jsx)("div",{className:"conv-dropdown-empty",children:"No conversations found"})]})]})]})}function r({statusState:e,statusText:n,windows:a,conversations:r,activeConversation:c,cdpStatus:l,recentProjects:o,onSelectWindow:d,onSelectConversation:h,onNewChat:u,onToggleArtifacts:m,onStartCdp:x,onOpenWindow:p,onCloseWindow:w}){let[v,g]=(0,s.useState)(!1),[f,j]=(0,s.useState)(""),[y,N]=(0,s.useState)(!1),[C,k]=(0,s.useState)(!1),[b,S]=(0,s.useState)(null),$=(0,s.useRef)(null),W=(0,s.useRef)(null);(0,s.useEffect)(()=>{let e=e=>{$.current&&!$.current.contains(e.target)&&g(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,s.useEffect)(()=>{if(b){let e=setTimeout(()=>S(null),4e3);return()=>clearTimeout(e)}},[b]);let T=async()=>{k(!0),S(null);try{let e=await x(".",!1);S({text:e.message||(e.success?"CDP started!":"Failed to start CDP"),type:e.success?"success":"error"})}catch{S({text:"Failed to start CDP server",type:"error"})}finally{k(!1)}},B=async e=>{e.preventDefault();let t=f.trim();if(t&&!y){N(!0),S(null);try{let e=await p(t);S({text:e.message||(e.success?"Window opened!":"Failed to open"),type:e.success?"success":"error"}),e.success&&j("")}catch{S({text:"Failed to open window",type:"error"})}finally{N(!1)}}},M=async(e,t)=>{if(t.stopPropagation(),!window.confirm(`Close window "${a[e]?.title||e}"?`))return;let s=await w(e);S({text:s.message||(s.success?"Closed!":"Failed to close"),type:s.success?"success":"error"})};return(0,t.jsxs)("header",{className:"header",children:[(0,t.jsx)("div",{className:"header-left",children:(0,t.jsx)("div",{className:"logo",children:(0,t.jsxs)("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"url(#header-gradient)",strokeWidth:"1.5",children:[(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:"header-gradient",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[(0,t.jsx)("stop",{offset:"0%",style:{stopColor:"#6366f1"}}),(0,t.jsx)("stop",{offset:"100%",style:{stopColor:"#a855f7"}})]})}),(0,t.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,t.jsx)("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"}),(0,t.jsx)("line",{x1:"2",y1:"12",x2:"22",y2:"12"})]})})}),(0,t.jsxs)("div",{className:"header-right",children:[(0,t.jsx)(i,{conversations:r,activeConversation:c,onSelect:h}),(0,t.jsxs)("div",{ref:$,className:`window-selector-wrapper ${v?"open":""}`,children:[(0,t.jsxs)("button",{className:"window-selector-btn",onClick:()=>g(!v),title:"Manage Antigravity windows",children:[(0,t.jsx)("span",{className:`cdp-indicator ${l.active?"active":"inactive"}`}),(0,t.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,t.jsx)("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2",ry:"2"}),(0,t.jsx)("line",{x1:"8",y1:"21",x2:"16",y2:"21"}),(0,t.jsx)("line",{x1:"12",y1:"17",x2:"12",y2:"21"})]}),(0,t.jsx)("span",{style:{maxWidth:"120px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",display:"inline-block",verticalAlign:"bottom"},children:a.find(e=>e.active)?.title||"Windows"}),(0,t.jsx)("svg",{className:"chevron",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,t.jsx)("polyline",{points:"6 9 12 15 18 9"})})]}),(0,t.jsxs)("div",{className:`window-dropdown ${v?"open":""}`,children:[(0,t.jsxs)("div",{className:"wm-cdp-status",children:[(0,t.jsxs)("div",{className:"wm-cdp-info",children:[(0,t.jsx)("span",{className:`wm-cdp-dot ${l.active?"active":"inactive"}`}),(0,t.jsx)("span",{children:l.active?`CDP Active \xb7 ${l.windowCount} window${1!==l.windowCount?"s":""}`:"CDP Inactive"})]}),!l.active&&(0,t.jsxs)("button",{className:"wm-cdp-start-btn",onClick:T,disabled:C,title:"Start Antigravity with CDP",children:[C?(0,t.jsx)("span",{className:"wm-spinner"}):(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,t.jsx)("polygon",{points:"5 3 19 12 5 21 5 3"})}),C?"Starting...":"Start CDP"]})]}),(0,t.jsx)("div",{className:"window-dropdown-header",children:"Open Windows"}),a.map(e=>(0,t.jsxs)("div",{className:`window-item ${e.active?"active":""}`,children:[(0,t.jsxs)("button",{className:"window-item-select",onClick:()=>{d(e.index),g(!1)},children:[(0,t.jsx)("span",{className:"window-dot"}),(0,t.jsx)("span",{className:"window-item-title",children:e.title})]}),(0,t.jsx)("button",{className:"window-item-close",onClick:t=>M(e.index,t),title:`Close "${e.title}"`,children:(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,t.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,t.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},e.index)),0===a.length&&(0,t.jsx)("div",{style:{padding:"12px",color:"var(--text-muted)",fontSize:"12px"},children:"No windows detected"}),o.length>0&&(0,t.jsxs)("div",{className:"wm-recent-section",children:[(0,t.jsx)("div",{className:"wm-recent-header",children:"Recent Projects"}),o.map(e=>(0,t.jsxs)("button",{className:"wm-recent-item",onClick:async()=>{N(!0),S(null);try{let t=await p(e.path);S({text:t.message||(t.success?"Opened!":"Failed"),type:t.success?"success":"error"})}catch{S({text:"Failed to open",type:"error"})}finally{N(!1)}},disabled:y,title:e.path,children:[(0,t.jsx)("svg",{className:"wm-recent-icon",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,t.jsx)("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})}),(0,t.jsxs)("div",{className:"wm-recent-info",children:[(0,t.jsx)("span",{className:"wm-recent-name",children:e.name}),(0,t.jsx)("span",{className:"wm-recent-path",children:e.path})]})]},e.path))]}),(0,t.jsxs)("div",{className:"wm-open-section",children:[(0,t.jsx)("div",{className:"wm-open-label",children:"Open New Window"}),(0,t.jsxs)("form",{className:"wm-open-form",onSubmit:B,children:[(0,t.jsx)("input",{ref:W,type:"text",className:"wm-open-input",value:f,onChange:e=>j(e.target.value),placeholder:"/path/to/project",disabled:y}),(0,t.jsx)("button",{type:"submit",className:"wm-open-btn",disabled:y||!f.trim(),title:"Open directory in Antigravity",children:y?(0,t.jsx)("span",{className:"wm-spinner"}):(0,t.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,t.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,t.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})})]})]}),b&&(0,t.jsx)("div",{className:`wm-action-message ${b.type}`,children:b.text})]})]}),(0,t.jsx)("button",{className:"icon-btn",onClick:m,title:"Artifacts","aria-label":"Artifacts",children:(0,t.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,t.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,t.jsx)("polyline",{points:"14 2 14 8 20 8"}),(0,t.jsx)("line",{x1:"16",y1:"13",x2:"8",y2:"13"}),(0,t.jsx)("line",{x1:"16",y1:"17",x2:"8",y2:"17"}),(0,t.jsx)("polyline",{points:"10 9 9 9 8 9"})]})}),(0,t.jsx)("button",{className:"icon-btn",onClick:u,title:"New Chat","aria-label":"New Chat",children:(0,t.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,t.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,t.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})})]})]})}function c({onQuickPrompt:e}){return(0,t.jsxs)("div",{className:"welcome-screen",children:[(0,t.jsx)("div",{className:"welcome-icon",children:(0,t.jsxs)("svg",{width:"64",height:"64",viewBox:"0 0 24 24",fill:"none",stroke:"url(#gradient)",strokeWidth:"1.5",children:[(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:"gradient",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[(0,t.jsx)("stop",{offset:"0%",style:{stopColor:"#6366f1"}}),(0,t.jsx)("stop",{offset:"100%",style:{stopColor:"#a855f7"}})]})}),(0,t.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,t.jsx)("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"}),(0,t.jsx)("line",{x1:"2",y1:"12",x2:"22",y2:"12"})]})}),(0,t.jsx)("h2",{children:"Antigravity Agent"}),(0,t.jsx)("p",{children:"Ask anything. The agent has access to your IDE — files, terminal, search, and more."}),(0,t.jsxs)("div",{className:"quick-prompts",children:[(0,t.jsx)("button",{className:"quick-prompt",onClick:()=>e("What files are in the current workspace?"),children:"📁 List workspace files"}),(0,t.jsx)("button",{className:"quick-prompt",onClick:()=>e("Explain the architecture of this project"),children:"🏗️ Explain architecture"}),(0,t.jsx)("button",{className:"quick-prompt",onClick:()=>e("Help me debug the most recent error"),children:"🐛 Debug last error"})]})]})}function l({content:e}){return(0,t.jsx)("div",{className:"user-message",children:(0,t.jsx)("div",{className:"message-content",children:e})})}let o={command:'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="4 17 10 11 4 5"/><line x1="12" y1="19" x2="20" y2="19"/></svg>',file:'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>',search:'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>',read:'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>',browser:'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg>',mcp:'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2v6M12 22v-6M4.93 4.93l4.24 4.24M14.83 14.83l4.24 4.24M2 12h6M22 12h-6M4.93 19.07l4.24-4.24M14.83 9.17l4.24-4.24"/><circle cx="12" cy="12" r="4"/></svg>'};function d({data:e}){let s,n=(s=(e.status||"").toLowerCase()).startsWith("running")||s.startsWith("editing")||s.startsWith("creating")||s.startsWith("search")?"running":s.startsWith("ran")||s.startsWith("edited")||s.startsWith("created")||s.startsWith("read")||s.startsWith("viewed")||s.startsWith("analyzed")||s.startsWith("wrote")||s.startsWith("replaced")||s.startsWith("deleted")?"done":s.includes("error")||s.includes("fail")?"error":s.startsWith("mcp")?"mcp":"running",a=o[e.type]||o.file;return(0,t.jsxs)("div",{className:`tool-call-card ${n}`,"data-tool-index":e.index,children:[(0,t.jsxs)("div",{className:"tool-header",children:[(0,t.jsx)("span",{className:"tool-icon",dangerouslySetInnerHTML:{__html:a}}),(0,t.jsx)("span",{className:"tool-status-text",children:e.status}),e.path&&(0,t.jsx)("span",{className:"tool-path",title:e.path,children:e.path})]}),e.command&&(0,t.jsx)("div",{className:"tool-command",children:(0,t.jsx)("code",{children:e.command})}),(e.additions||e.deletions)&&(0,t.jsxs)("div",{className:"tool-file-changes",children:[e.additions&&(0,t.jsx)("span",{className:"tool-additions",children:e.additions}),e.deletions&&(0,t.jsx)("span",{className:"tool-deletions",children:e.deletions})]}),e.exitCode&&(0,t.jsx)("div",{className:"tool-exit-code",children:e.exitCode}),e.terminalOutput&&(0,t.jsx)("div",{className:"tool-terminal",children:e.terminalOutput}),e.footerButtons&&e.footerButtons.length>0&&(0,t.jsx)("div",{className:"tool-footer-actions",children:e.footerButtons.map((s,n)=>(0,t.jsx)("button",{className:"tool-footer-btn",onClick:async()=>{try{await fetch("/api/v1/chat/action",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({toolId:e.id,buttonText:s})})}catch{}},children:s},n))})]})}function h({time:e}){return(0,t.jsxs)("div",{className:"thinking-block",children:[(0,t.jsx)("span",{className:"thinking-icon",children:"💭"}),(0,t.jsx)("span",{children:e})]})}function u(){return(0,t.jsxs)("div",{className:"typing-indicator",children:[(0,t.jsx)("div",{className:"typing-dot"}),(0,t.jsx)("div",{className:"typing-dot"}),(0,t.jsx)("div",{className:"typing-dot"})]})}function m({content:e,steps:s,isStreaming:n,onRetry:a}){return(0,t.jsxs)("div",{className:`agent-message ${n?"streaming":""}`,children:[(0,t.jsxs)("div",{className:"agent-steps",children:[s.map((e,s)=>{switch(e.type){case"thinking":return(0,t.jsx)(h,{time:e.data.time},`step-${s}`);case"tool_call":return(0,t.jsx)(d,{data:e.data},`step-${s}`);case"hitl":case"notification":default:return null;case"file_change":return(0,t.jsxs)("div",{className:"file-change-indicator",children:[(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,t.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,t.jsx)("polyline",{points:"14 2 14 8 20 8"})]}),(0,t.jsx)("span",{className:"file-change-name",children:e.data.fileName})]},`step-${s}`);case"error":return(0,t.jsxs)("div",{className:"error-banner",children:[(0,t.jsxs)("div",{style:{marginBottom:!n&&a?"8px":"0"},children:["⚠️ ",String(e.data.message)]}),!n&&a&&(0,t.jsx)("button",{className:"px-3 py-1 bg-red-100 text-red-800 rounded hover:bg-red-200 transition-colors text-sm font-medium",onClick:a,children:"Try Again"})]},`step-${s}`)}}),n&&(0,t.jsx)(u,{})]}),e&&(0,t.jsx)("div",{className:"agent-response",dangerouslySetInnerHTML:{__html:e}})]})}function x({messages:e,currentSteps:s,currentResponse:n,isStreaming:a,onRetry:i}){return(0,t.jsxs)(t.Fragment,{children:[e.map((e,s)=>"user"===e.role?(0,t.jsx)(l,{content:e.content},`msg-${s}`):(0,t.jsx)(m,{content:e.content,steps:e.steps||[],isStreaming:!1,onRetry:i},`msg-${s}`)),a&&(0,t.jsx)(m,{content:n,steps:s,isStreaming:!0,onRetry:i})]})}function p({onSend:e,isStreaming:n,currentMode:a,onToggleMode:i}){let[r,c]=(0,s.useState)(""),l=(0,s.useRef)(null);return(0,s.useEffect)(()=>{l.current?.focus()},[]),(0,t.jsxs)("footer",{className:"input-area",children:[(0,t.jsxs)("div",{className:"input-wrapper",children:[(0,t.jsxs)("button",{className:`mode-toggle ${a}`,onClick:i,title:`Mode: ${"planning"===a?"Planning":"Fast"} — Click to switch`,"aria-label":`Switch mode (currently ${a})`,type:"button",children:[(0,t.jsx)("span",{className:"mode-icon",children:"planning"===a?"📋":"⚡"}),(0,t.jsx)("span",{className:"mode-label",children:"planning"===a?"Plan":"Fast"})]}),(0,t.jsx)("textarea",{ref:l,value:r,onChange:e=>{c(e.target.value);let t=e.target;t.style.height="auto",t.style.height=Math.min(t.scrollHeight,150)+"px"},onKeyDown:t=>{"Enter"===t.key&&(!t.shiftKey||t.ctrlKey||t.metaKey)&&(t.preventDefault(),!n&&r.trim()&&(e(r),c(""),l.current&&(l.current.style.height="auto")))},placeholder:"Ask the Antigravity agent...",rows:1,"aria-label":"Chat message input",enterKeyHint:"send",autoComplete:"off"}),(0,t.jsx)("button",{className:"send-btn",onClick:()=>{!n&&r.trim()&&(e(r),c(""),l.current&&(l.current.style.height="auto"))},disabled:n||!r.trim(),"aria-label":"Send message",children:(0,t.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,t.jsx)("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),(0,t.jsx)("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})})]}),(0,t.jsxs)("div",{className:"input-hint",children:[(0,t.jsx)("span",{children:"Enter to send · Shift+Enter for new line · Ctrl+N for new chat"}),(0,t.jsx)("span",{id:"model-info"})]})]})}function w({open:e,onClose:n,activeConversation:a,files:i}){let[r,c]=(0,s.useState)(null),[l,o]=(0,s.useState)(""),[d,h]=(0,s.useState)(!1),u=async e=>{if(a){h(!0),c(e);try{let t=await fetch(`/api/v1/artifacts/active/${encodeURIComponent(e)}`),s=await t.text();o(s)}catch(e){o(`Error loading file: ${e.message}`)}finally{h(!1)}}};return(0,t.jsxs)("div",{className:`artifact-panel ${e?"open":""}`,children:[(0,t.jsxs)("div",{className:"artifact-panel-header",children:[(0,t.jsx)("button",{className:"icon-btn",onClick:n,title:"Close panel",children:(0,t.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,t.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,t.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}),(0,t.jsx)("h3",{children:"Artifacts"})]}),a?(0,t.jsxs)("div",{style:{padding:"12px 16px",borderBottom:"1px solid var(--border-subtle)",background:"rgba(99,102,241,0.04)"},children:[(0,t.jsx)("div",{style:{fontSize:"13px",fontWeight:600,color:"var(--text-primary)",marginBottom:"2px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.title||"Untitled"}),(0,t.jsxs)("div",{style:{fontSize:"10px",fontFamily:"'JetBrains Mono', monospace",color:"var(--text-muted)"},children:[i.length," file",1!==i.length?"s":""]})]}):(0,t.jsx)("div",{style:{padding:"24px 16px",textAlign:"center",color:"var(--text-muted)",fontSize:"13px"},children:"No active conversation"}),r?(0,t.jsxs)("div",{className:"artifact-viewer",children:[(0,t.jsxs)("div",{className:"artifact-viewer-header",children:[(0,t.jsx)("button",{className:"artifact-back-btn",onClick:()=>{c(null),o("")},children:"← Back"}),(0,t.jsx)("span",{className:"artifact-viewer-title",children:r})]}),(0,t.jsx)("div",{className:"artifact-viewer-body",children:d?(0,t.jsx)("div",{style:{color:"var(--text-muted)",padding:"16px"},children:"Loading..."}):r.endsWith(".md")?(0,t.jsx)("div",{className:"agent-response",dangerouslySetInnerHTML:{__html:l.replace(/^### (.*$)/gim,"<h3>$1</h3>").replace(/^## (.*$)/gim,"<h2>$1</h2>").replace(/^# (.*$)/gim,"<h1>$1</h1>").replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/`([^`]+)`/g,"<code>$1</code>").replace(/^- (.*$)/gim,"<li>$1</li>").replace(/\n\n/g,"</p><p>").replace(/\n/g,"<br/>")}}):(0,t.jsx)("pre",{style:{margin:0,fontSize:"12px",lineHeight:1.6,color:"var(--text-secondary)",fontFamily:"'JetBrains Mono', monospace",whiteSpace:"pre-wrap",wordBreak:"break-all"},children:l})})]}):(0,t.jsxs)("div",{className:"artifact-file-list",children:[i.map(e=>{var s,n;let a;return(0,t.jsxs)("button",{className:"artifact-file-item",onClick:()=>u(e.name),children:[(0,t.jsx)("span",{className:"artifact-file-icon",children:(s=e.name).endsWith(".md")?"📄":s.endsWith(".json")?"📋":s.endsWith(".ts")||s.endsWith(".tsx")?"📘":s.endsWith(".css")?"🎨":"📁"}),(0,t.jsxs)("div",{style:{flex:1,overflow:"hidden"},children:[(0,t.jsx)("div",{className:"artifact-file-name",children:e.name}),(0,t.jsx)("div",{style:{fontSize:"10px",color:"var(--text-muted)"},children:(a=new Date(e.mtime)).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})+" · "+a.toLocaleDateString()})]}),(0,t.jsx)("span",{className:"artifact-file-size",children:(n=e.size)<1024?`${n}B`:n<1048576?`${(n/1024).toFixed(1)}KB`:`${(n/1048576).toFixed(1)}MB`})]},e.name)}),0===i.length&&a&&(0,t.jsx)("div",{style:{textAlign:"center",padding:"24px",color:"var(--text-muted)",fontSize:"13px"},children:"No artifacts in this conversation"})]})]})}function v(){let e=function(){let[e,t]=(0,s.useState)([]),[i,r]=(0,s.useState)(!1),[c,l]=(0,s.useState)(!1),[o,d]=(0,s.useState)("Agent"),[h,u]=(0,s.useState)("connected"),[m,x]=(0,s.useState)(!0),[p,w]=(0,s.useState)([]),[v,g]=(0,s.useState)(""),[f,j]=(0,s.useState)("planning"),y=(0,s.useRef)(null),N=(0,s.useRef)(null),C=(0,s.useRef)(""),k=(0,s.useRef)([]),b=(0,s.useCallback)(()=>{requestAnimationFrame(()=>{N.current?.scrollIntoView({behavior:"smooth"})})},[]),S=(0,s.useCallback)((e,t)=>{u(e),d(t)},[]),$=(0,s.useCallback)(async()=>{try{let e=await fetch(`${a}/chat/history`),s=await e.json();s.turns&&s.turns.length>0&&(x(!1),t(s.turns.map(e=>({role:e.role,content:e.content}))))}catch{}},[]),{artifactFiles:W,artifactPanelOpen:T,toggleArtifactPanel:B,openArtifactPanel:M,loadArtifacts:O}=function(e){let[t,n]=(0,s.useState)([]),[a,i]=(0,s.useState)(!1),r=(0,s.useRef)(""),c=(0,s.useRef)(null),l=(0,s.useCallback)(async()=>{try{let e=await fetch("/api/v1/artifacts/active"),t=(await e.json()).files||[],s=JSON.stringify(t.map(e=>e.name+e.size+e.mtime));s!==r.current&&(r.current=s,n(t))}catch{}},[]),o=(0,s.useCallback)(()=>{i(e=>!e)},[]),d=(0,s.useCallback)(()=>{i(!0)},[]);return(0,s.useEffect)(()=>(a?(l(),c.current=setInterval(l,3e3)):c.current&&(clearInterval(c.current),c.current=null),()=>{c.current&&(clearInterval(c.current),c.current=null)}),[a,l]),(0,s.useEffect)(()=>{},[void 0,l]),{artifactFiles:t,artifactPanelOpen:a,toggleArtifactPanel:o,openArtifactPanel:d,loadArtifacts:l}}(),{windows:P,conversations:A,activeConversation:R,cdpStatus:E,recentProjects:D,loadWindows:z,selectWindow:F,loadConversations:I,selectConversation:L,checkCdpStatus:J,startCdpServer:H,openNewWindow:_,closeWindowByIndex:K,loadRecentProjects:V}=function(e,t,a){let[i,r]=(0,s.useState)([]),[c,l]=(0,s.useState)([]),[o,d]=(0,s.useState)(null),[h,u]=(0,s.useState)({active:!1,windowCount:0}),[m,x]=(0,s.useState)([]),p=(0,s.useCallback)(async()=>{try{let e=await fetch(`${n}/windows`),t=await e.json();r(t.windows||[])}catch{}},[]),w=(0,s.useCallback)(async()=>{try{let e=await fetch(`${n}/windows/cdp-status`),t=await e.json();return u({active:t.active,windowCount:t.windowCount,error:t.error}),t.active}catch{return u({active:!1,windowCount:0,error:"Failed to check"}),!1}},[]),v=(0,s.useCallback)(async(e,t)=>{try{let s=await fetch(`${n}/windows/cdp-start`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectDir:e||".",killExisting:t||!1})}),a=await s.json();return a.success&&(await w(),await p()),a}catch(e){return{success:!1,message:e.message||"Failed to start CDP server"}}},[w,p]),g=(0,s.useCallback)(async e=>{try{let t=await fetch(`${n}/windows/open`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectDir:e})}),s=await t.json();return s.success&&(await p(),await w()),s}catch(e){return{success:!1,message:e.message||"Failed to open window"}}},[p,w]),f=(0,s.useCallback)(async e=>{try{let t=await fetch(`${n}/windows/close`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({index:e})}),s=await t.json();return s.success&&(await p(),await w()),s}catch(e){return{success:!1,message:e.message||"Failed to close window"}}},[p,w]),j=(0,s.useCallback)(async e=>{try{await fetch(`${n}/windows/select`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({index:e})}),await p()}catch{}},[p]),y=(0,s.useCallback)(async()=>{try{let e=await fetch(`${n}/conversations`),t=(await e.json()).conversations||[];l(t);let s=t.find(e=>e.active);s&&d(s)}catch{}},[]);return{windows:i,conversations:c,activeConversation:o,cdpStatus:h,recentProjects:m,loadWindows:p,selectWindow:j,loadConversations:y,selectConversation:(0,s.useCallback)(async s=>{try{let i=await fetch(`${n}/conversations/select`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:s})});if((await i.json()).success){t(!1);let i=0,r=async()=>{i++;try{let t=await fetch(`${n}/conversations`),r=(await t.json()).conversations||[],c=r.find(e=>e.active);if(c&&c.title===s||i>10){l(r),c&&d(c),await e(),a?.();return}}catch{}setTimeout(r,500)};r()}}catch{}},[e,t,a]),checkCdpStatus:w,startCdpServer:v,openNewWindow:g,closeWindowByIndex:f,loadRecentProjects:(0,s.useCallback)(async()=>{try{let e=await fetch(`${n}/windows/recent`),t=await e.json();x(t.recentProjects||[])}catch{}},[])}}($,x,(0,s.useCallback)(()=>{M(),O()},[M,O])),q=(0,s.useCallback)(async()=>{try{let e=await fetch(`${a}/chat/mode`),t=await e.json();t.mode&&j(t.mode)}catch{}},[]),U=(0,s.useCallback)(async()=>{let e="planning"===f?"fast":"planning";j(e);try{let t=await fetch(`${a}/chat/mode`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})}),s=await t.json();s.mode&&j(s.mode)}catch{j(f)}},[f]),G=(0,s.useCallback)(async()=>{try{let e=await fetch(`${a}/health`),t=await e.json();l(t.connected),S(t.connected?"connected":"disconnected",t.connected?"Agent":"Disconnected")}catch{l(!1),S("disconnected","Offline")}},[S]),Q=(0,s.useCallback)(e=>{let{type:t,...s}=e;switch(t){case"tool_call":w(e=>{let n,a=e.findIndex(e=>"tool_call"===e.type&&e.data?.id===s.id);return a>=0?(n=[...e])[a]={type:t,data:s}:n=[...e,{type:t,data:s}],k.current=n,n});break;case"thinking":case"hitl":case"file_change":case"error":case"notification":w(e=>{let n=[...e,{type:t,data:s}];return k.current=n,n});break;case"response":g(s.content||""),C.current=s.content||"";break;case"status":S(s.isRunning?"streaming":"connected",s.isRunning?"Agent working...":"Agent");break;case"done":s.finalResponse&&(g(s.finalResponse),C.current=s.finalResponse),S("connected","Agent"),r(!1)}b()},[S,b]),X=(0,s.useCallback)(async e=>{if(i||!e.trim())return;x(!1);let s=e.trim();t(e=>[...e,{role:"user",content:s}]),r(!0),w([]),g(""),C.current="",k.current=[],S("streaming","Agent typing...");let n=new AbortController;y.current=n;try{let e=(await fetch(`${a}/chat/stream`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:s}),signal:n.signal})).body.getReader(),t=new TextDecoder,i="";for(;;){let{done:s,value:n}=await e.read();if(s)break;let a=(i+=t.decode(n,{stream:!0})).split("\n");for(let e of(i=a.pop(),a))if(e.startsWith("data: "))try{let t=JSON.parse(e.slice(6));Q(t)}catch{}}}catch(e){"AbortError"!==e.name&&(w(t=>[...t,{type:"error",data:{message:e.message}}]),S("error","Error"))}finally{let e=C.current,s=[...k.current];r(!1),y.current=null,(e||s.length>0)&&t(t=>[...t,{role:"agent",content:e,steps:s}]),S("connected","Agent")}},[i,Q,S]),Y=(0,s.useCallback)(async()=>{y.current&&y.current.abort(),t([]),w([]),g(""),x(!0);try{let e=await fetch(`${a}/chat/new`,{method:"POST"});(await e.json()).success&&S("connected","New Chat")}catch{}},[S]),Z=(0,s.useCallback)(async()=>{try{await fetch(`${a}/chat/approve`,{method:"POST"}),S("streaming","Agent")}catch{}},[S]),ee=(0,s.useCallback)(async()=>{try{await fetch(`${a}/chat/reject`,{method:"POST"})}catch{}},[]);return(0,s.useEffect)(()=>{G(),z(),$(),I(),O(),q(),J(),V();let e=setInterval(G,3e4),t=setInterval(J,15e3);return()=>{clearInterval(e),clearInterval(t)}},[G,z,$,I,O,q,J,V]),(0,s.useEffect)(b,[e,p,v,b]),{messages:e,isStreaming:i,isConnected:c,statusText:o,statusState:h,showWelcome:m,currentSteps:p,currentResponse:v,windows:P,conversations:A,activeConversation:R,artifactFiles:W,artifactPanelOpen:T,currentMode:f,cdpStatus:E,recentProjects:D,sendMessage:X,startNewChat:Y,approve:Z,reject:ee,selectWindow:F,selectConversation:L,toggleArtifactPanel:B,openArtifactPanel:M,toggleMode:U,startCdpServer:H,openNewWindow:_,closeWindowByIndex:K,messagesEndRef:N,setShowWelcome:x}}();return(0,s.useEffect)(()=>{let t=t=>{"n"===t.key&&(t.ctrlKey||t.metaKey)&&(t.preventDefault(),e.startNewChat())};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[e]),(0,t.jsxs)("div",{className:"app-container",children:[(0,t.jsx)(r,{statusState:e.statusState,statusText:e.statusText,windows:e.windows,conversations:e.conversations,activeConversation:e.activeConversation,cdpStatus:e.cdpStatus,recentProjects:e.recentProjects,onSelectWindow:e.selectWindow,onSelectConversation:e.selectConversation,onNewChat:e.startNewChat,onToggleArtifacts:e.toggleArtifactPanel,onStartCdp:e.startCdpServer,onOpenWindow:e.openNewWindow,onCloseWindow:e.closeWindowByIndex}),(0,t.jsxs)("main",{className:"messages-area",role:"log","aria-live":"polite",children:[e.showWelcome?(0,t.jsx)(c,{onQuickPrompt:e.sendMessage}):(0,t.jsx)(x,{messages:e.messages,currentSteps:e.currentSteps,currentResponse:e.currentResponse,isStreaming:e.isStreaming,onRetry:async()=>{try{await fetch("/api/v1/health"),window.location.reload()}catch{}}}),(0,t.jsx)("div",{ref:e.messagesEndRef})]}),(0,t.jsx)(p,{onSend:e.sendMessage,isStreaming:e.isStreaming,currentMode:e.currentMode,onToggleMode:e.toggleMode}),(0,t.jsx)(w,{open:e.artifactPanelOpen,onClose:e.toggleArtifactPanel,activeConversation:e.activeConversation,files:e.artifactFiles})]})}e.s(["default",()=>v],20552)}]);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "antigravity-mobile-proxy",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "A web chat proxy for Antigravity IDE with ngrok OAuth tunnel support",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"antigravity",
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
],
|
|
23
23
|
"scripts": {
|
|
24
24
|
"dev": "next dev -p 5555",
|
|
25
|
+
"postinstall": "node scripts/patch-next.js",
|
|
25
26
|
"build": "next build",
|
|
26
27
|
"start": "next start -p 5555",
|
|
27
28
|
"tunnel": "node bin/cli.js",
|
|
@@ -38,10 +39,10 @@
|
|
|
38
39
|
},
|
|
39
40
|
"devDependencies": {
|
|
40
41
|
"@types/node": "^20",
|
|
41
|
-
"@types/react": "
|
|
42
|
+
"@types/react": "19.2.14",
|
|
42
43
|
"@types/react-dom": "^19",
|
|
43
44
|
"eslint": "^9.39.4",
|
|
44
45
|
"eslint-config-next": "^16.1.6",
|
|
45
|
-
"typescript": "
|
|
46
|
+
"typescript": "5.9.3"
|
|
46
47
|
}
|
|
47
48
|
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[53506,e=>e.a(async(t,n)=>{try{var r=e.i(29476),o=e.i(40911),a=e.i(93846),i=t([r]);[r]=i.then?(await i)():i;let l=!1,c=null;async function s(){l&&a.default.workbenchPage||(c||(c=(async()=>{try{await (0,r.connectToWorkbench)(a.default),l=!0,a.default.browser?.on("disconnected",()=>{o.logger.error("[CDP] Browser disconnected. Will reconnect on next request."),l=!1,c=null,a.default.workbenchPage=null,a.default.browser=null,a.default.allWorkbenches=[]}),a.default.workbenchPage?.on("close",()=>{o.logger.warn("[CDP] Workbench page closed. Will reconnect on next request."),l=!1,c=null,a.default.workbenchPage=null})}catch(e){o.logger.error("[CDP Init] Failed to connect:",e.message),c=null}})()),await c)}e.s(["ensureCdpConnection",()=>s]),n()}catch(e){n(e)}},!1),32319,(e,t,n)=>{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,n)=>{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"))},18622,(e,t,n)=>{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,n)=>{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"))},70406,(e,t,n)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,n)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},40911,e=>{"use strict";let t=new class{level="info";constructor(){this.level=process.env.LOG_LEVEL||"info"}shouldLog(e){let t=["debug","info","warn","error"];return t.indexOf(e)>=t.indexOf(this.level)}debug(e,t){this.shouldLog("debug")&&console.debug(`[DEBUG] ${e}`,t||"")}info(e,t){this.shouldLog("info")&&console.info(`[INFO] ${e}`,t||"")}warn(e,t){this.shouldLog("warn")&&console.warn(`[WARN] ${e}`,t||"")}error(e,t){this.shouldLog("error")&&console.error(`[ERROR] ${e}`,t||"")}};e.s(["logger",0,t])},93846,e=>{"use strict";let t=globalThis.__PROXY_CTX||{workbenchPage:null,browser:null,allWorkbenches:[],activeWindowIdx:0,activeConversationId:null,activeTitle:null,lastActionTimestamp:0};e.s(["default",0,t])},10343,e=>e.a(async(t,n)=>{try{let t=await e.y("puppeteer-core-3cc12a7b2479c6f0");e.n(t),n()}catch(e){n(e)}},!0),29476,e=>e.a(async(t,n)=>{try{var r=e.i(10343),o=e.i(40911),a=t([r]);[r]=a.then?(await a)():a;let c=process.env.CDP_PORT||"9223",d=parseInt(c,10);async function i(e){if(isNaN(d)||d<=0||d>65535)throw Error(`[CDP] Invalid CDP_PORT configured: "${c}". Please check your .env.local file.`);if(!e.browser||!e.browser.isConnected()){o.logger.info(`[CDP] Initializing connection on port ${d}...`);try{e.browser=await r.default.connect({browserURL:`http://localhost:${d}`,defaultViewport:null}),e.browser.on("disconnected",()=>{o.logger.info("[CDP] Browser disconnected. Resetting context..."),e.browser=null,e.workbenchPage=null,e.allWorkbenches=[]})}catch(e){throw o.logger.error(`[CDP] Failed to connect on port ${d}. Ensure IDE is running with --remote-debugging-port=${d}`),e}}let t=await e.browser.pages();for(let n of(e.allWorkbenches=[],t)){let t=n.url();if(t.includes("workbench.html")&&!t.includes("jetski")){let r=await n.title();e.allWorkbenches.push({page:n,title:r,url:t})}}return e.allWorkbenches}async function s(e){if(await i(e),0===e.allWorkbenches.length)throw Error("No workbench pages found. Is Antigravity running with --remote-debugging-port=9223?");o.logger.info(`[CDP] Found ${e.allWorkbenches.length} Antigravity window(s).`);for(let t=0;t<e.allWorkbenches.length;t++)o.logger.info(` [${t}] ${e.allWorkbenches[t].title}`);let t=parseInt(process.env.PROXY_PAGE||"0",10);e.activeWindowIdx=t,e.workbenchPage=e.allWorkbenches[t]?.page||e.allWorkbenches[0].page,e.workbenchPage.on("close",()=>{o.logger.info("[CDP] Workbench page closed. Resetting context..."),e.workbenchPage=null}),o.logger.info(`[CDP] Active window index set to ${e.activeWindowIdx}. Connected to: "${e.allWorkbenches[e.activeWindowIdx]?.title||"unknown"}"`)}function l(e,t){if(t<0||t>=e.allWorkbenches.length)throw Error(`Invalid window index ${t}. Available: 0-${e.allWorkbenches.length-1}`);return e.activeWindowIdx=t,e.workbenchPage=e.allWorkbenches[t].page,o.logger.info(`[CDP] Switched to window [${t}] ${e.allWorkbenches[t].title}`),e.allWorkbenches[t]}e.s(["connectToWorkbench",()=>s,"discoverWorkbenches",()=>i,"selectWindow",()=>l]),n()}catch(e){n(e)}},!1),90753,e=>e.a(async(t,n)=>{try{var r=e.i(89171),o=e.i(53506),a=e.i(93846),i=e.i(29476),s=t([o,i]);async function l(){await (0,o.ensureCdpConnection)();try{let e=await (0,i.discoverWorkbenches)(a.default);return r.NextResponse.json({windows:e.map((e,t)=>({index:t,title:e.title,url:e.url,active:t===a.default.activeWindowIdx}))})}catch(e){return r.NextResponse.json({error:e.message},{status:500})}}[o,i]=s.then?(await s)():s,e.s(["GET",()=>l,"dynamic",0,"force-dynamic"]),n()}catch(e){n(e)}},!1),61659,e=>e.a(async(t,n)=>{try{var r=e.i(47909),o=e.i(74017),a=e.i(96250),i=e.i(59756),s=e.i(61916),l=e.i(74677),c=e.i(69741),d=e.i(16795),u=e.i(87718),p=e.i(95169),h=e.i(47587),g=e.i(66012),w=e.i(70101),f=e.i(26937),v=e.i(10372),b=e.i(93695);e.i(52474);var x=e.i(220),R=e.i(90753),k=t([R]);[R]=k.then?(await k)():k;let m=new r.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/v1/windows/route",pathname:"/api/v1/windows",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/windows/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:E,workUnitAsyncStorage:P,serverHooks:A}=m;function y(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:P})}async function C(e,t,n){m.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/v1/windows/route";r=r.replace(/\/index$/,"")||"/";let a=await m.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!a)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:k,nextConfig:y,parsedUrl:C,isDraftMode:E,prerenderManifest:P,routerServerContext:A,isOnDemandRevalidate:W,revalidateOnlyGenerated:T,resolvedPathname:I,clientReferenceManifest:N,serverActionsManifest:O}=a,D=(0,c.normalizeAppPath)(r),$=!!(P.dynamicRoutes[D]||P.routes[I]),_=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,C,!1):t.end("This page could not be found"),null);if($&&!E){let e=!!P.routes[I],t=P.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await _();throw new b.NoFallbackError}}let q=null;!$||m.isDev||E||(q=I,q="/index"===q?"/":q);let j=!0===m.isDev||!$,S=$&&!j;O&&N&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:N,serverActionsManifest:O});let U=e.method||"GET",H=(0,s.getTracer)(),L=H.getActiveScopeSpan(),F={params:k,prerenderManifest:P,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,o)=>m.onRequestError(e,t,r,o,A)},sharedContext:{buildId:R}},M=new d.NodeNextRequest(e),B=new d.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest(M,(0,u.signalFromNodeResponse)(t));try{let a=async e=>m.handle(K,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=H.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=n.get("next.route");if(o){let t=`${U} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${r}`)}),l=!!(0,i.getRequestMeta)(e,"minimalMode"),c=async i=>{var s,c;let d=async({previousCacheEntry:o})=>{try{if(!l&&W&&T&&!o)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await a(i);e.fetchMetrics=F.renderOpts.fetchMetrics;let s=F.renderOpts.pendingWaitUntil;s&&n.waitUntil&&(n.waitUntil(s),s=void 0);let c=F.renderOpts.collectedTags;if(!$)return await (0,g.sendResponse)(M,B,r,F.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(r.headers);c&&(t[v.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,o=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:o}}}}catch(t){throw(null==o?void 0:o.isStale)&&await m.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:S,isOnDemandRevalidate:W})},!1,A),t}},u=await m.handleResponse({req:e,nextConfig:y,cacheKey:q,routeKind:o.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:W,revalidateOnlyGenerated:T,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:l});if(!$)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==(c=u.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",W?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,w.fromNodeOutgoingHttpHeaders)(u.value.headers);return l&&$||p.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,g.sendResponse)(M,B,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};L?await c(L):await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${r}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},c))}catch(t){if(t instanceof b.NoFallbackError||await m.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:S,isOnDemandRevalidate:W})},!1,A),$)throw t;return await (0,g.sendResponse)(M,B,new Response(null,{status:500})),null}}e.s(["handler",()=>C,"patchFetch",()=>y,"routeModule",()=>m,"serverHooks",()=>A,"workAsyncStorage",()=>E,"workUnitAsyncStorage",()=>P]),n()}catch(e){n(e)}},!1)];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__08f06ee9._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[14747,(e,t,n)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,n)=>{t.exports=e.x("fs",()=>require("fs"))},53506,e=>e.a(async(t,n)=>{try{var r=e.i(29476),o=e.i(40911),l=e.i(93846),i=t([r]);[r]=i.then?(await i)():i;let s=!1,c=null;async function a(){s&&l.default.workbenchPage||(c||(c=(async()=>{try{await (0,r.connectToWorkbench)(l.default),s=!0,l.default.browser?.on("disconnected",()=>{o.logger.error("[CDP] Browser disconnected. Will reconnect on next request."),s=!1,c=null,l.default.workbenchPage=null,l.default.browser=null,l.default.allWorkbenches=[]}),l.default.workbenchPage?.on("close",()=>{o.logger.warn("[CDP] Workbench page closed. Will reconnect on next request."),s=!1,c=null,l.default.workbenchPage=null})}catch(e){o.logger.error("[CDP Init] Failed to connect:",e.message),c=null}})()),await c)}e.s(["ensureCdpConnection",()=>a]),n()}catch(e){n(e)}},!1),32319,(e,t,n)=>{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,n)=>{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"))},18622,(e,t,n)=>{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,n)=>{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"))},70406,(e,t,n)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,n)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},40911,e=>{"use strict";let t=new class{level="info";constructor(){this.level=process.env.LOG_LEVEL||"info"}shouldLog(e){let t=["debug","info","warn","error"];return t.indexOf(e)>=t.indexOf(this.level)}debug(e,t){this.shouldLog("debug")&&console.debug(`[DEBUG] ${e}`,t||"")}info(e,t){this.shouldLog("info")&&console.info(`[INFO] ${e}`,t||"")}warn(e,t){this.shouldLog("warn")&&console.warn(`[WARN] ${e}`,t||"")}error(e,t){this.shouldLog("error")&&console.error(`[ERROR] ${e}`,t||"")}};e.s(["logger",0,t])},93846,e=>{"use strict";let t=globalThis.__PROXY_CTX||{workbenchPage:null,browser:null,allWorkbenches:[],activeWindowIdx:0,activeConversationId:null,activeTitle:null,lastActionTimestamp:0};e.s(["default",0,t])},10343,e=>e.a(async(t,n)=>{try{let t=await e.y("puppeteer-core-3cc12a7b2479c6f0");e.n(t),n()}catch(e){n(e)}},!0),29476,e=>e.a(async(t,n)=>{try{var r=e.i(10343),o=e.i(40911),l=t([r]);[r]=l.then?(await l)():l;let c=process.env.CDP_PORT||"9223",u=parseInt(c,10);async function i(e){if(isNaN(u)||u<=0||u>65535)throw Error(`[CDP] Invalid CDP_PORT configured: "${c}". Please check your .env.local file.`);if(!e.browser||!e.browser.isConnected()){o.logger.info(`[CDP] Initializing connection on port ${u}...`);try{e.browser=await r.default.connect({browserURL:`http://localhost:${u}`,defaultViewport:null}),e.browser.on("disconnected",()=>{o.logger.info("[CDP] Browser disconnected. Resetting context..."),e.browser=null,e.workbenchPage=null,e.allWorkbenches=[]})}catch(e){throw o.logger.error(`[CDP] Failed to connect on port ${u}. Ensure IDE is running with --remote-debugging-port=${u}`),e}}let t=await e.browser.pages();for(let n of(e.allWorkbenches=[],t)){let t=n.url();if(t.includes("workbench.html")&&!t.includes("jetski")){let r=await n.title();e.allWorkbenches.push({page:n,title:r,url:t})}}return e.allWorkbenches}async function a(e){if(await i(e),0===e.allWorkbenches.length)throw Error("No workbench pages found. Is Antigravity running with --remote-debugging-port=9223?");o.logger.info(`[CDP] Found ${e.allWorkbenches.length} Antigravity window(s).`);for(let t=0;t<e.allWorkbenches.length;t++)o.logger.info(` [${t}] ${e.allWorkbenches[t].title}`);let t=parseInt(process.env.PROXY_PAGE||"0",10);e.activeWindowIdx=t,e.workbenchPage=e.allWorkbenches[t]?.page||e.allWorkbenches[0].page,e.workbenchPage.on("close",()=>{o.logger.info("[CDP] Workbench page closed. Resetting context..."),e.workbenchPage=null}),o.logger.info(`[CDP] Active window index set to ${e.activeWindowIdx}. Connected to: "${e.allWorkbenches[e.activeWindowIdx]?.title||"unknown"}"`)}function s(e,t){if(t<0||t>=e.allWorkbenches.length)throw Error(`Invalid window index ${t}. Available: 0-${e.allWorkbenches.length-1}`);return e.activeWindowIdx=t,e.workbenchPage=e.allWorkbenches[t].page,o.logger.info(`[CDP] Switched to window [${t}] ${e.allWorkbenches[t].title}`),e.allWorkbenches[t]}e.s(["connectToWorkbench",()=>a,"discoverWorkbenches",()=>i,"selectWindow",()=>s]),n()}catch(e){n(e)}},!1),41444,e=>{"use strict";function t(e){return new Promise(t=>setTimeout(t,e))}e.s(["sleep",()=>t])},15198,e=>{"use strict";e.s(["SELECTORS",0,{chatInput:'#antigravity\\.agentSidePanelInputBox [contenteditable="true"][role="textbox"]',messageList:"#conversation > div:first-child .mx-auto.w-full",conversation:"#conversation",spinner:".antigravity-agent-side-panel .animate-spin"}])},40955,e=>{"use strict";var t=e.i(22734),n=e.i(14747),r=e.i(15198);let o=n.default.join("/tmp","proxy-debug-state.json");async function l(e){if(!e.workbenchPage)return{isRunning:!1,turnCount:0,stepGroupCount:0,thinking:[],toolCalls:[],responses:[],notifications:[],error:null,fileChanges:[],lastTurnResponseHTML:""};let n=await e.workbenchPage.evaluate(e=>{let t=e=>(e?.getAttribute?e.getAttribute("class"):"")||"",n=document.querySelector(".antigravity-agent-side-panel");if(!n)return{isRunning:!1,turnCount:0,stepGroupCount:0,thinking:[],toolCalls:[],responses:[],notifications:[],error:null,fileChanges:[],lastTurnResponseHTML:""};let r=!1,o=!1,l=document.querySelector("#antigravity\\.agentSidePanelInputBox");if(l||(l=n.querySelector('[id*="InputBox"]')),l){let e=l.closest(".flex")||l.parentElement?.parentElement||l.parentElement;if(e){window.__proxyInputBoxHTML=e.outerHTML;let t=e.querySelectorAll("button"),n=!1,l=!1;for(let e of t){let t=e.innerHTML||"",r=(e.getAttribute("aria-label")||"").toLowerCase(),o=(e.textContent||"").trim().toLowerCase(),i=(e.getAttribute("data-tooltip-id")||"").toLowerCase();(t.match(/lucide-square(?:[^a-z0-9-]|$)/i)||t.includes("lucide-circle-stop")||t.includes("lucide-octagon")||r.includes("stop")||r.includes("cancel")||"stop"===o||i.includes("stop"))&&(n=!0),(t.includes("lucide-send")||t.includes("lucide-arrow-up")||t.includes("lucide-arrow-right")||t.includes("codicon-send")||t.includes("lucide-corner-down-left")||r.includes("send")||r.includes("submit")||"send"===o||i.includes("send"))&&(l=!0)}n?(r=!0,o=!0):l&&(r=!1,o=!0)}}if(!o){for(let o of n.querySelectorAll(e)){let e=o,n=!1;for(;e;){let r=t(e);if(r.includes("invisible")||r.includes("opacity-0")){n=!0;break}e=e.parentElement}if(!n){r=!0;break}}if(!r)for(let e of n.querySelectorAll("button")){let t=(e.getAttribute("aria-label")||"").toLowerCase(),n=(e.textContent?.trim()||"").toLowerCase();if(("stop"===n||"abort"===n||t.includes("stop")||t.includes("abort")||t.includes("interrupt"))&&"none"!==getComputedStyle(e).display&&"hidden"!==getComputedStyle(e).visibility){r=!0;break}}}let i=n.querySelector("#conversation")||document.querySelector("#conversation"),a=i?.querySelector(".overflow-y-auto"),s=a?.querySelector(".mx-auto"),c=s?Array.from(s.children):[],u=c.length,d=c.length>0?c[c.length-1]:null,p=d?.querySelector(".relative.flex.flex-col.gap-y-3")||d,f=p?Array.from(p.children):[],g=f.length,h=d||n,m=["run","proceed","approve","allow","yes","accept","continue","save","confirm","deny","reject","cancel","no","allow once","allow this conversation","ask every time","relocate"],w=e=>{if(!e)return!1;let t=e.trim().toLowerCase();return m.some(e=>t===e||t.startsWith(e))},x=[];for(let e of Array.from(h.querySelectorAll("button")).filter(e=>e.textContent?.trim().startsWith("Thought for")))x.push({time:e.textContent.trim()});let y=[],b=h.querySelectorAll(".flex.flex-col.gap-2.border.rounded-lg.my-1"),C=window.__proxyToolCounter||0;for(let e of b){e.dataset.proxyToolId||(e.dataset.proxyToolId=String(C++));let t=e.dataset.proxyToolId,n=e.querySelector(".mb-1.px-2.py-1.text-sm"),r=n?.querySelector("span.opacity-60"),o=r?.textContent?.trim()||"",l=e.querySelector("span.font-mono.text-sm"),i=l?.textContent?.trim()||"",a="",s=e.querySelector("pre.whitespace-pre-wrap");if(s){let e=s.textContent?.trim()||"",t=e.indexOf("$");-1!==t&&(a=e.substring(t+1).trim())}let c=null;for(let t of e.querySelectorAll("span, div")){let e=t.textContent?.trim()||"";if(e.startsWith("Exit code")){c=e;break}}let u=Array.from(e.querySelectorAll("button")),d=u.some(e=>e.textContent?.trim()==="Cancel"),p=u.map(e=>e.textContent?.trim()||"").filter(w),f="unknown",g=o.toLowerCase();g.includes("command")?f="command":g.includes("file")||g.includes("edit")||g.includes("creat")||g.includes("writ")?f="file":g.includes("search")||g.includes("grep")?f="search":g.includes("read")||g.includes("view")?f="read":g.includes("brows")&&(f="browser");let h=e.querySelector(".component-shared-terminal"),m="";if(h){let e=h.querySelector(".xterm-rows")||h.querySelector(".xterm-screen")||h.querySelector('[class*="xterm"]');e&&(m=e.textContent?.substring(0,500)||""),m||(m=h.textContent?.substring(0,500)||"")}y.push({id:t,status:o,type:f,path:i,command:a||null,exitCode:c,hasCancelBtn:d,footerButtons:p,hasTerminal:!!h,terminalOutput:m||null})}window.__proxyToolCounter=C;let v=h.querySelectorAll(".flex.flex-col.space-y-2 > .flex.flex-row:not(.my-2)"),R=/^(Edited|Created|Analyzed|Read|Viewed|Wrote|Replaced|Searching|Deleted|Moved|Renamed|MCP Tool)/i;for(let e of v)try{let t=e.textContent?.trim()||"",n=t.match(R);if(!n)continue;let r=n[1];e.dataset.proxyToolId||(e.dataset.proxyToolId=String(C++));let o=e.dataset.proxyToolId,l=Array.from(e.querySelectorAll("span")),i="",a=null,s=null,c=null,u=null,d=null,p=null;if(r.startsWith("MCP")){let n=e.querySelector(".flex.flex-row.items-center.gap-1.overflow-hidden");if(n){let e=[];for(let t of n.childNodes)3===t.nodeType&&e.push(t.textContent.trim());p=e.join("").trim()||null}if(!p){let e=t.indexOf(":");if(e>-1){let n=t.substring(e+1).trim(),r=n.search(/\n|Show|Ran/);p=r>-1?n.substring(0,r).trim():n.substring(0,60).trim()}}i=p||"";let r=l.filter(e=>(e.className||"").startsWith("mtk"));r.length>0&&(u=r.map(e=>e.textContent).join("").trim()).length>500&&(u=u.substring(0,500)+"…");let o=l.find(e=>e.textContent?.trim()==="Output");if(o){let e=o.closest(".flex.flex-col")||o.parentElement;if(e){let t=e.textContent||"",n=t.indexOf("Output");n>-1&&(d=t.substring(n+6).trim()).length>500&&(d=d.substring(0,500)+"…")}}}else{let e=l.find(e=>{let t=e.className||"";return t.includes("inline-flex")&&t.includes("items-center")});i=e?.textContent?.trim()||"";let t=l.find(e=>(e.className||"").includes("text-green"));a=t?.textContent?.trim()||null;let n=l.find(e=>(e.className||"").includes("text-red"));s=n?.textContent?.trim()||null;let r=l.find(e=>/^#L\d/.test(e.textContent?.trim()||""));c=r?.textContent?.trim()||null}let f="file",g=r.toLowerCase();g.includes("search")||g.includes("grep")?f="search":g.includes("read")||g.includes("view")||g.includes("analyz")?f="read":g.startsWith("mcp")&&(f="mcp");let h=Array.from(e.querySelectorAll("button")),m=e.parentElement,x=0,b=[];for(;m&&x<5;){for(let e of Array.from(m.querySelectorAll("button"))){let t=(e.textContent||"").trim().toLowerCase();w(t)&&!b.includes(e)&&b.push(e)}if(b.length>0&&b.length<5){h=[...h,...b];break}m=m.parentElement,x++}let v=(h=[...new Set(h)]).map(e=>e.textContent?.trim()||"").filter(w),k=v.some(e=>"cancel"===e.toLowerCase());y.push({id:o,status:r,type:f,path:i,command:null,exitCode:null,hasCancelBtn:k,footerButtons:v,hasTerminal:!1,terminalOutput:null,additions:a,deletions:s,lineRange:c,mcpToolName:p,mcpArgs:u,mcpOutput:d})}catch{}window.__proxyToolCounter=C;try{for(let e of n.querySelectorAll(".flex.flex-col.space-y-2 > .flex.flex-row:not(.my-2)")){let t=e,n=Array.from(t.querySelectorAll("button")).map(e=>e.textContent?.trim()||"").filter(Boolean);if(!n.some(e=>/^(allow|deny|allow once|allow this conversation)$/i.test(e))||t.dataset?.proxyToolId&&y.some(e=>e.id===t.dataset.proxyToolId&&e.footerButtons.length>0))continue;let r=n.filter(w);if(0===r.length)continue;let o=[...y].reverse().find(e=>/^(Analyzed|Read|Viewed)/i.test(e.status));if(o&&0===o.footerButtons.length)o.footerButtons=r,o.hasCancelBtn=r.some(e=>"deny"===e.toLowerCase()||"cancel"===e.toLowerCase());else{t.dataset.proxyToolId||(t.dataset.proxyToolId=String(window.__proxyToolCounter++));let e=(t.textContent||"").match(/access to\s+(.+?)(?:\?|$)/i),n=e?e[1].trim():"";y.push({id:t.dataset.proxyToolId,status:"Permission Required",type:"read",path:n,command:null,exitCode:null,hasCancelBtn:!0,footerButtons:r,hasTerminal:!1,terminalOutput:null,additions:null,deletions:null,lineRange:null,mcpToolName:null,mcpArgs:null,mcpOutput:null})}}}catch{}if(!r&&y.some(e=>e.hasCancelBtn&&!e.exitCode)&&(r=!0),!r){let e=f[f.length-1];if(e){for(let n of e.querySelectorAll(".animate-spin")){if(n.classList.contains("w-4")&&n.classList.contains("h-4"))continue;let o=n,l=!1;for(;o&&o!==e;){let e=t(o);if(e.includes("invisible")||e.includes("opacity-0")||e.includes("hidden")){l=!0;break}o=o.parentElement}if(!l){r=!0;break}}if(!r)for(let n of e.querySelectorAll(".animate-pulse, .in-progress-checkbox, .typing-indicator")){let o=n,l=!1;for(;o&&o!==e;){let e=t(o);if(e.includes("invisible")||e.includes("opacity-0")||e.includes("hidden")){l=!0;break}o=o.parentElement}if(!l){r=!0;break}}if(!r)for(let n of e.querySelectorAll('[class*="text-sm"][class*="opacity"]')){if(t(n).includes("invisible"))continue;let e=(n.textContent||"").toLowerCase();if(e.includes("running")||e.includes("progress")||e.includes("navigat")||e.includes("executing")||e.includes("analyzing")||e.includes("processing")||e.includes("subagent")||e.includes("browser")){r=!0;break}}}}let k=[];for(let e of h.querySelectorAll(".notify-user-container")){let t=e.cloneNode(!0);t.querySelectorAll("style, script").forEach(e=>e.remove());let n=t.innerHTML?.trim();n&&k.push(n)}let S=[],A="",T=Array.from(h.querySelectorAll(".leading-relaxed.select-text")).filter(e=>{let n=e.parentElement,r=0;for(;n&&n!==h&&r<10;){if(t(n).includes("max-h-0"))return!1;n=n.parentElement,r++}return!!e.textContent?.trim()});for(let e of T){let t=e.cloneNode(!0);t.querySelectorAll("style, script").forEach(e=>e.remove());let n=t.innerHTML?.trim();n&&S.push(n)}T.length>0&&(A=T[T.length-1].innerHTML||"");let E=null,q=n.textContent||"";for(let e of["Agent terminated due to error","error persists","start a new conversation"])if(q.includes(e)){let e,t=document.createTreeWalker(n,NodeFilter.SHOW_TEXT,null);for(;e=t.nextNode();)if(e.textContent.includes("Agent terminated")){E=e.textContent.trim();break}E||(E="[Agent terminated due to error]");break}let P=[];for(let e of n.querySelectorAll("svg.lucide-file-diff")){let t=e.closest(".flex.items-center");if(t){let e=t.querySelector("span");e&&P.push({fileName:e.textContent?.trim()||"",type:"diff"})}}return{isRunning:r,turnCount:u,stepGroupCount:g,thinking:x,toolCalls:y,responses:S,notifications:k,error:E,fileChanges:P,lastTurnResponseHTML:A,inputBoxHTML:window.__proxyInputBoxHTML||""}},r.SELECTORS.spinner);try{let e={timestamp:new Date().toISOString(),isRunning:n.isRunning,turnCount:n.turnCount,toolCallsCount:n.toolCalls.length,responsesCount:n.responses.length,rawLastTurnResponseHTML:n.lastTurnResponseHTML,extractedResponses:n.responses,toolCalls:n.toolCalls,thinking:n.thinking,notifications:n.notifications,error:n.error,inputBoxHTML:n.inputBoxHTML||""};t.default.writeFileSync(o,JSON.stringify(e,null,2))}catch(e){console.error("Failed to write debug file",e)}return n}e.s(["getFullAgentState",()=>l])},23099,e=>{"use strict";var t=e.i(15198),n=e.i(41444),r=e.i(40911);async function o(e,o){if(!e.workbenchPage)throw Error("Not connected to Antigravity");r.logger.info(`[Chat] Sending message (${o.length} chars)...`),await e.workbenchPage.click(t.SELECTORS.chatInput),await (0,n.sleep)(200),await e.workbenchPage.evaluate(e=>{let t=document.querySelector(e);t&&(t.textContent="",t.focus())},t.SELECTORS.chatInput),await e.workbenchPage.keyboard.type(o),await (0,n.sleep)(300),await e.workbenchPage.keyboard.press("Enter"),r.logger.info("[Chat] Sent.")}e.s(["sendMessage",()=>o])},95309,e=>e.a(async(t,n)=>{try{var r=e.i(89171),o=e.i(53506),l=e.i(93846),i=e.i(23099),a=e.i(40955),s=e.i(41444),c=t([o]);async function u(e){if(await (0,o.ensureCdpConnection)(),!l.default.workbenchPage)return r.NextResponse.json({error:"Not connected to Antigravity"},{status:503});let{message:t}=await e.json();if(!t)return r.NextResponse.json({error:"message is required"},{status:400});try{await (0,i.sendMessage)(l.default,t);let e=Date.now(),n=0,o=!1,c=await (0,a.getFullAgentState)(l.default),u=c.responses.length+c.notifications.length;for(let e=0;e<40;e++){await (0,s.sleep)(300);let e=await (0,a.getFullAgentState)(l.default);if(e.isRunning){o=!0;break}if(e.responses.length+e.notifications.length>u){o=!0,await (0,s.sleep)(500);let e=await (0,a.getFullAgentState)(l.default);if(!e.isRunning){let t=e.notifications.length>0?e.notifications[e.notifications.length-1]:e.responses.length>0?e.responses[e.responses.length-1]:"";return r.NextResponse.json({response:t})}break}}if(!o){let e=await (0,a.getFullAgentState)(l.default),t=e.responses.length>0?e.responses[e.responses.length-1]:"[Agent did not respond]";return r.NextResponse.json({response:t})}for(;Date.now()-e<18e4;){let e=await (0,a.getFullAgentState)(l.default);if(e.error)return r.NextResponse.json({response:e.error});if(e.isRunning)n=0;else if(++n>=3){let t=e.notifications.length>0?e.notifications[e.notifications.length-1]:e.responses.length>0?e.responses[e.responses.length-1]:"[Agent did not produce a response]";return r.NextResponse.json({response:t})}await (0,s.sleep)(500)}let d=await (0,a.getFullAgentState)(l.default),p=d.responses.length>0?d.responses[d.responses.length-1]:"[Timeout: No response received]";return r.NextResponse.json({response:p})}catch(e){return r.NextResponse.json({error:e.message},{status:500})}}[o]=c.then?(await c)():c,e.s(["POST",()=>u,"dynamic",0,"force-dynamic"]),n()}catch(e){n(e)}},!1),63929,e=>e.a(async(t,n)=>{try{var r=e.i(47909),o=e.i(74017),l=e.i(96250),i=e.i(59756),a=e.i(61916),s=e.i(74677),c=e.i(69741),u=e.i(16795),d=e.i(87718),p=e.i(95169),f=e.i(47587),g=e.i(66012),h=e.i(70101),m=e.i(26937),w=e.i(10372),x=e.i(93695);e.i(52474);var y=e.i(220),b=e.i(95309),C=t([b]);[b]=C.then?(await C)():C;let k=new r.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/v1/chat/route",pathname:"/api/v1/chat",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/chat/route.ts",nextConfigOutput:"standalone",userland:b}),{workAsyncStorage:S,workUnitAsyncStorage:A,serverHooks:T}=k;function v(){return(0,l.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:A})}async function R(e,t,n){k.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/v1/chat/route";r=r.replace(/\/index$/,"")||"/";let l=await k.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!l)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:b,params:C,nextConfig:v,parsedUrl:R,isDraftMode:S,prerenderManifest:A,routerServerContext:T,isOnDemandRevalidate:E,revalidateOnlyGenerated:q,resolvedPathname:P,clientReferenceManifest:N,serverActionsManifest:I}=l,L=(0,c.normalizeAppPath)(r),O=!!(A.dynamicRoutes[L]||A.routes[P]),W=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,R,!1):t.end("This page could not be found"),null);if(O&&!S){let e=!!A.routes[P],t=A.dynamicRoutes[L];if(t&&!1===t.fallback&&!e){if(v.experimental.adapterPath)return await W();throw new x.NoFallbackError}}let _=null;!O||k.isDev||S||(_=P,_="/index"===_?"/":_);let j=!0===k.isDev||!O,D=O&&!j;I&&N&&(0,s.setManifestsSingleton)({page:r,clientReferenceManifest:N,serverActionsManifest:I});let H=e.method||"GET",$=(0,a.getTracer)(),M=$.getActiveScopeSpan(),B={params:C,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!v.experimental.authInterrupts},cacheComponents:!!v.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:v.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,o)=>k.onRequestError(e,t,r,o,T)},sharedContext:{buildId:b}},F=new u.NodeNextRequest(e),U=new u.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(F,(0,d.signalFromNodeResponse)(t));try{let l=async e=>k.handle(G,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=$.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=n.get("next.route");if(o){let t=`${H} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${r}`)}),s=!!(0,i.getRequestMeta)(e,"minimalMode"),c=async i=>{var a,c;let u=async({previousCacheEntry:o})=>{try{if(!s&&E&&q&&!o)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await l(i);e.fetchMetrics=B.renderOpts.fetchMetrics;let a=B.renderOpts.pendingWaitUntil;a&&n.waitUntil&&(n.waitUntil(a),a=void 0);let c=B.renderOpts.collectedTags;if(!O)return await (0,g.sendResponse)(F,U,r,B.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(r.headers);c&&(t[w.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,o=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:o}}}}catch(t){throw(null==o?void 0:o.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:E})},!1,T),t}},d=await k.handleResponse({req:e,nextConfig:v,cacheKey:_,routeKind:o.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:q,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:s});if(!O)return null;if((null==d||null==(a=d.value)?void 0:a.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(c=d.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return s&&O||p.delete(w.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,g.sendResponse)(F,U,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};M?await c(M):await $.withPropagatedContext(e.headers,()=>$.trace(p.BaseServerSpan.handleRequest,{spanName:`${H} ${r}`,kind:a.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},c))}catch(t){if(t instanceof x.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:L,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:E})},!1,T),O)throw t;return await (0,g.sendResponse)(F,U,new Response(null,{status:500})),null}}e.s(["handler",()=>R,"patchFetch",()=>v,"routeModule",()=>k,"serverHooks",()=>T,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>A]),n()}catch(e){n(e)}},!1)];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__15c96786._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[53506,e=>e.a(async(t,n)=>{try{var r=e.i(29476),a=e.i(40911),o=e.i(93846),i=t([r]);[r]=i.then?(await i)():i;let s=!1,c=null;async function l(){s&&o.default.workbenchPage||(c||(c=(async()=>{try{await (0,r.connectToWorkbench)(o.default),s=!0,o.default.browser?.on("disconnected",()=>{a.logger.error("[CDP] Browser disconnected. Will reconnect on next request."),s=!1,c=null,o.default.workbenchPage=null,o.default.browser=null,o.default.allWorkbenches=[]}),o.default.workbenchPage?.on("close",()=>{a.logger.warn("[CDP] Workbench page closed. Will reconnect on next request."),s=!1,c=null,o.default.workbenchPage=null})}catch(e){a.logger.error("[CDP Init] Failed to connect:",e.message),c=null}})()),await c)}e.s(["ensureCdpConnection",()=>l]),n()}catch(e){n(e)}},!1),32319,(e,t,n)=>{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,n)=>{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"))},18622,(e,t,n)=>{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,n)=>{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"))},70406,(e,t,n)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,n)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},40911,e=>{"use strict";let t=new class{level="info";constructor(){this.level=process.env.LOG_LEVEL||"info"}shouldLog(e){let t=["debug","info","warn","error"];return t.indexOf(e)>=t.indexOf(this.level)}debug(e,t){this.shouldLog("debug")&&console.debug(`[DEBUG] ${e}`,t||"")}info(e,t){this.shouldLog("info")&&console.info(`[INFO] ${e}`,t||"")}warn(e,t){this.shouldLog("warn")&&console.warn(`[WARN] ${e}`,t||"")}error(e,t){this.shouldLog("error")&&console.error(`[ERROR] ${e}`,t||"")}};e.s(["logger",0,t])},93846,e=>{"use strict";let t=globalThis.__PROXY_CTX||{workbenchPage:null,browser:null,allWorkbenches:[],activeWindowIdx:0,activeConversationId:null,activeTitle:null,lastActionTimestamp:0};e.s(["default",0,t])},10343,e=>e.a(async(t,n)=>{try{let t=await e.y("puppeteer-core-3cc12a7b2479c6f0");e.n(t),n()}catch(e){n(e)}},!0),29476,e=>e.a(async(t,n)=>{try{var r=e.i(10343),a=e.i(40911),o=t([r]);[r]=o.then?(await o)():o;let c=process.env.CDP_PORT||"9223",d=parseInt(c,10);async function i(e){if(isNaN(d)||d<=0||d>65535)throw Error(`[CDP] Invalid CDP_PORT configured: "${c}". Please check your .env.local file.`);if(!e.browser||!e.browser.isConnected()){a.logger.info(`[CDP] Initializing connection on port ${d}...`);try{e.browser=await r.default.connect({browserURL:`http://localhost:${d}`,defaultViewport:null}),e.browser.on("disconnected",()=>{a.logger.info("[CDP] Browser disconnected. Resetting context..."),e.browser=null,e.workbenchPage=null,e.allWorkbenches=[]})}catch(e){throw a.logger.error(`[CDP] Failed to connect on port ${d}. Ensure IDE is running with --remote-debugging-port=${d}`),e}}let t=await e.browser.pages();for(let n of(e.allWorkbenches=[],t)){let t=n.url();if(t.includes("workbench.html")&&!t.includes("jetski")){let r=await n.title();e.allWorkbenches.push({page:n,title:r,url:t})}}return e.allWorkbenches}async function l(e){if(await i(e),0===e.allWorkbenches.length)throw Error("No workbench pages found. Is Antigravity running with --remote-debugging-port=9223?");a.logger.info(`[CDP] Found ${e.allWorkbenches.length} Antigravity window(s).`);for(let t=0;t<e.allWorkbenches.length;t++)a.logger.info(` [${t}] ${e.allWorkbenches[t].title}`);let t=parseInt(process.env.PROXY_PAGE||"0",10);e.activeWindowIdx=t,e.workbenchPage=e.allWorkbenches[t]?.page||e.allWorkbenches[0].page,e.workbenchPage.on("close",()=>{a.logger.info("[CDP] Workbench page closed. Resetting context..."),e.workbenchPage=null}),a.logger.info(`[CDP] Active window index set to ${e.activeWindowIdx}. Connected to: "${e.allWorkbenches[e.activeWindowIdx]?.title||"unknown"}"`)}function s(e,t){if(t<0||t>=e.allWorkbenches.length)throw Error(`Invalid window index ${t}. Available: 0-${e.allWorkbenches.length-1}`);return e.activeWindowIdx=t,e.workbenchPage=e.allWorkbenches[t].page,a.logger.info(`[CDP] Switched to window [${t}] ${e.allWorkbenches[t].title}`),e.allWorkbenches[t]}e.s(["connectToWorkbench",()=>l,"discoverWorkbenches",()=>i,"selectWindow",()=>s]),n()}catch(e){n(e)}},!1),59956,e=>e.a(async(t,n)=>{try{var r=e.i(89171),a=e.i(53506),o=e.i(93846),i=t([a]);async function l(){if(await (0,a.ensureCdpConnection)(),!o.default.workbenchPage)return r.NextResponse.json({error:"Not connected to Antigravity"},{status:503});try{let e=await o.default.workbenchPage.evaluate(()=>{let e=document.querySelector(".antigravity-agent-side-panel");return e?e.innerHTML:"Panel not found"});return new Response(e,{headers:{"Content-Type":"text/html; charset=utf-8"}})}catch(e){return r.NextResponse.json({error:e.message},{status:500})}}[a]=i.then?(await i)():i,e.s(["GET",()=>l,"dynamic",0,"force-dynamic"]),n()}catch(e){n(e)}},!1),33328,e=>e.a(async(t,n)=>{try{var r=e.i(47909),a=e.i(74017),o=e.i(96250),i=e.i(59756),l=e.i(61916),s=e.i(74677),c=e.i(69741),d=e.i(16795),u=e.i(87718),p=e.i(95169),h=e.i(47587),g=e.i(66012),w=e.i(70101),f=e.i(26937),b=e.i(10372),v=e.i(93695);e.i(52474);var x=e.i(220),R=e.i(59956),y=t([R]);[R]=y.then?(await y)():y;let C=new r.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/v1/debug/dom/route",pathname:"/api/v1/debug/dom",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/debug/dom/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:P,workUnitAsyncStorage:E,serverHooks:A}=C;function k(){return(0,o.patchFetch)({workAsyncStorage:P,workUnitAsyncStorage:E})}async function m(e,t,n){C.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/v1/debug/dom/route";r=r.replace(/\/index$/,"")||"/";let o=await C.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!o)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:y,nextConfig:k,parsedUrl:m,isDraftMode:P,prerenderManifest:E,routerServerContext:A,isOnDemandRevalidate:T,revalidateOnlyGenerated:W,resolvedPathname:N,clientReferenceManifest:I,serverActionsManifest:O}=o,D=(0,c.normalizeAppPath)(r),$=!!(E.dynamicRoutes[D]||E.routes[N]),_=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,m,!1):t.end("This page could not be found"),null);if($&&!P){let e=!!E.routes[N],t=E.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(k.experimental.adapterPath)return await _();throw new v.NoFallbackError}}let q=null;!$||C.isDev||P||(q=N,q="/index"===q?"/":q);let S=!0===C.isDev||!$,j=$&&!S;O&&I&&(0,s.setManifestsSingleton)({page:r,clientReferenceManifest:I,serverActionsManifest:O});let H=e.method||"GET",U=(0,l.getTracer)(),L=U.getActiveScopeSpan(),M={params:y,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:S,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:k.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,a)=>C.onRequestError(e,t,r,a,A)},sharedContext:{buildId:R}},F=new d.NodeNextRequest(e),B=new d.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest(F,(0,u.signalFromNodeResponse)(t));try{let o=async e=>C.handle(K,M).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=U.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=n.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}`)}),s=!!(0,i.getRequestMeta)(e,"minimalMode"),c=async i=>{var l,c;let d=async({previousCacheEntry:a})=>{try{if(!s&&T&&W&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await o(i);e.fetchMetrics=M.renderOpts.fetchMetrics;let l=M.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let c=M.renderOpts.collectedTags;if(!$)return await (0,g.sendResponse)(F,B,r,M.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(r.headers);c&&(t[b.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=b.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,a=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=b.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:T})},!1,A),t}},u=await C.handleResponse({req:e,nextConfig:k,cacheKey:q,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:W,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:s});if(!$)return null;if((null==u||null==(l=u.value)?void 0:l.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(c=u.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",T?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),P&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,w.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&$||p.delete(b.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,g.sendResponse)(F,B,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};L?await c(L):await U.withPropagatedContext(e.headers,()=>U.trace(p.BaseServerSpan.handleRequest,{spanName:`${H} ${r}`,kind:l.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},c))}catch(t){if(t instanceof v.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:T})},!1,A),$)throw t;return await (0,g.sendResponse)(F,B,new Response(null,{status:500})),null}}e.s(["handler",()=>m,"patchFetch",()=>k,"routeModule",()=>C,"serverHooks",()=>A,"workAsyncStorage",()=>P,"workUnitAsyncStorage",()=>E]),n()}catch(e){n(e)}},!1)];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__19ee93c1._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},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"))},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"))},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"))},40911,e=>{"use strict";let t=new class{level="info";constructor(){this.level=process.env.LOG_LEVEL||"info"}shouldLog(e){let t=["debug","info","warn","error"];return t.indexOf(e)>=t.indexOf(this.level)}debug(e,t){this.shouldLog("debug")&&console.debug(`[DEBUG] ${e}`,t||"")}info(e,t){this.shouldLog("info")&&console.info(`[INFO] ${e}`,t||"")}warn(e,t){this.shouldLog("warn")&&console.warn(`[WARN] ${e}`,t||"")}error(e,t){this.shouldLog("error")&&console.error(`[ERROR] ${e}`,t||"")}};e.s(["logger",0,t])},93846,e=>{"use strict";let t=globalThis.__PROXY_CTX||{workbenchPage:null,browser:null,allWorkbenches:[],activeWindowIdx:0,activeConversationId:null,activeTitle:null,lastActionTimestamp:0};e.s(["default",0,t])},10343,e=>e.a(async(t,r)=>{try{let t=await e.y("puppeteer-core-3cc12a7b2479c6f0");e.n(t),r()}catch(e){r(e)}},!0),29476,e=>e.a(async(t,r)=>{try{var n=e.i(10343),s=e.i(40911),a=t([n]);[n]=a.then?(await a)():a;let c=process.env.CDP_PORT||"9223",d=parseInt(c,10);async function o(e){if(isNaN(d)||d<=0||d>65535)throw Error(`[CDP] Invalid CDP_PORT configured: "${c}". Please check your .env.local file.`);if(!e.browser||!e.browser.isConnected()){s.logger.info(`[CDP] Initializing connection on port ${d}...`);try{e.browser=await n.default.connect({browserURL:`http://localhost:${d}`,defaultViewport:null}),e.browser.on("disconnected",()=>{s.logger.info("[CDP] Browser disconnected. Resetting context..."),e.browser=null,e.workbenchPage=null,e.allWorkbenches=[]})}catch(e){throw s.logger.error(`[CDP] Failed to connect on port ${d}. Ensure IDE is running with --remote-debugging-port=${d}`),e}}let t=await e.browser.pages();for(let r of(e.allWorkbenches=[],t)){let t=r.url();if(t.includes("workbench.html")&&!t.includes("jetski")){let n=await r.title();e.allWorkbenches.push({page:r,title:n,url:t})}}return e.allWorkbenches}async function i(e){if(await o(e),0===e.allWorkbenches.length)throw Error("No workbench pages found. Is Antigravity running with --remote-debugging-port=9223?");s.logger.info(`[CDP] Found ${e.allWorkbenches.length} Antigravity window(s).`);for(let t=0;t<e.allWorkbenches.length;t++)s.logger.info(` [${t}] ${e.allWorkbenches[t].title}`);let t=parseInt(process.env.PROXY_PAGE||"0",10);e.activeWindowIdx=t,e.workbenchPage=e.allWorkbenches[t]?.page||e.allWorkbenches[0].page,e.workbenchPage.on("close",()=>{s.logger.info("[CDP] Workbench page closed. Resetting context..."),e.workbenchPage=null}),s.logger.info(`[CDP] Active window index set to ${e.activeWindowIdx}. Connected to: "${e.allWorkbenches[e.activeWindowIdx]?.title||"unknown"}"`)}function l(e,t){if(t<0||t>=e.allWorkbenches.length)throw Error(`Invalid window index ${t}. Available: 0-${e.allWorkbenches.length-1}`);return e.activeWindowIdx=t,e.workbenchPage=e.allWorkbenches[t].page,s.logger.info(`[CDP] Switched to window [${t}] ${e.allWorkbenches[t].title}`),e.allWorkbenches[t]}e.s(["connectToWorkbench",()=>i,"discoverWorkbenches",()=>o,"selectWindow",()=>l]),r()}catch(e){r(e)}},!1),24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},13231,e=>{"use strict";var t=e.i(33405),r=e.i(24361),n=e.i(22734),s=e.i(14747),a=e.i(40911);let o=(0,r.promisify)(t.exec),i=parseInt(process.env.CDP_PORT||"9223",10),l="win32"===process.platform;function c(){return process.env.ANTIGRAVITY_BINARY?process.env.ANTIGRAVITY_BINARY:"/usr/share/antigravity/antigravity"}async function d(){try{await o("killall antigravity 2>/dev/null || true"),a.logger.info("[ProcessManager] Killed existing Antigravity processes."),await new Promise(e=>setTimeout(e,1500))}catch{}}process.platform;let u=null;async function p(){try{let e=await fetch(`http://localhost:${i}/json`);if(!e.ok)return{active:!1,windowCount:0,error:`HTTP ${e.status}`};let t=(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski"));return{active:!0,windowCount:t.length}}catch(e){return{active:!1,windowCount:0,error:e.message}}}async function g(e=".",r=!1){let o=await p();if(o.active)return{success:!0,message:`CDP server already active on port ${i} with ${o.windowCount} window(s).`};r&&await d();let h=c(),w=(0,s.resolve)(e||".");try{if(!(0,n.statSync)(w).isDirectory())return{success:!1,message:`"${w}" is not a directory.`}}catch{return{success:!1,message:`Directory not found: "${w}"`}}try{a.logger.info(`[ProcessManager] Starting Antigravity: ${h} --remote-debugging-port=${i} --new-window ${w}`),a.logger.info(`[ProcessManager] Platform: ${process.platform}, Binary: ${h}`),(u=(0,t.spawn)(h,[`--remote-debugging-port=${i}`,"--new-window",w],{detached:!l,stdio:"ignore",env:{...process.env},shell:l})).unref();let e=u.pid;if(u.on("error",e=>{a.logger.error(`[ProcessManager] Antigravity process error: ${e.message}`),u=null}),u.on("exit",e=>{a.logger.info(`[ProcessManager] Antigravity process exited with code ${e}`),u=null}),await v(15e3))return{success:!0,message:`Antigravity started with CDP on port ${i}.`,pid:e||void 0};return{success:!1,message:`Antigravity process started but CDP server did not become available on port ${i} within 15s.`,pid:e||void 0}}catch(e){return a.logger.error(`[ProcessManager] Failed to start Antigravity: ${e.message}`),{success:!1,message:`Failed to start Antigravity: ${e.message}`}}}async function h(e){let r=(0,s.resolve)(e);try{if(!(0,n.statSync)(r).isDirectory())return{success:!1,message:`"${r}" is not a directory. Please provide a folder path.`}}catch{return{success:!1,message:`Directory not found: "${r}". Make sure the path exists.`}}let o=await p(),i=c();if(o.active)try{return a.logger.info(`[ProcessManager] Opening new window for: ${r}`),(0,t.spawn)(i,["--new-window",r],{detached:!l,stdio:"ignore",env:{...process.env},shell:l}).unref(),await new Promise(e=>setTimeout(e,3e3)),{success:!0,message:`Opened new window for "${r}".`}}catch(e){return{success:!1,message:`Failed to open window: ${e.message}`}}{let t=await g(e,!1);return{success:t.success,message:t.message}}}async function w(e){try{let t=await fetch(`http://localhost:${i}/json/close/${e}`);if(t.ok)return{success:!0,message:"Window closed successfully."};return{success:!1,message:`Failed to close window: HTTP ${t.status}`}}catch(e){return{success:!1,message:`Failed to close window: ${e.message}`}}}async function f(){try{let e=await fetch(`http://localhost:${i}/json`);if(!e.ok)return{targets:[],error:`HTTP ${e.status}`};return{targets:(await e.json()).filter(e=>e.url?.includes("workbench.html")&&!e.url?.includes("jetski")).map(e=>({id:e.id,title:e.title||"Untitled",url:e.url}))}}catch(e){return{targets:[],error:e.message}}}async function v(e){let t=Date.now();for(;Date.now()-t<e;){if((await p()).active)return!0;await new Promise(e=>setTimeout(e,500))}return!1}e.s(["closeWindow",()=>w,"getWindowTargets",()=>f,"isCdpServerActive",()=>p,"openNewWindow",()=>h,"startCdpServer",()=>g])},12460,e=>e.a(async(t,r)=>{try{var n=e.i(89171),s=e.i(13231),a=e.i(93846),o=e.i(29476),i=t([o]);async function l(e){let{targetId:t,index:r}=await e.json().catch(()=>({}));if(!t&&null!=r){let{targets:e}=await (0,s.getWindowTargets)();if(r<0||r>=e.length)return n.NextResponse.json({success:!1,message:`Invalid window index ${r}. Available: 0-${e.length-1}`},{status:400});t=e[r].id}if(!t)return n.NextResponse.json({success:!1,message:"Either targetId or index is required."},{status:400});try{let e=await (0,s.closeWindow)(t);if(e.success){await new Promise(e=>setTimeout(e,1e3));try{await (0,o.discoverWorkbenches)(a.default),a.default.allWorkbenches.length>0&&a.default.activeWindowIdx>=a.default.allWorkbenches.length&&(a.default.activeWindowIdx=0,a.default.workbenchPage=a.default.allWorkbenches[0].page)}catch{}}return n.NextResponse.json(e,{status:e.success?200:500})}catch(e){return n.NextResponse.json({success:!1,message:e.message},{status:500})}}[o]=i.then?(await i)():i,e.s(["POST",()=>l,"dynamic",0,"force-dynamic"]),r()}catch(e){r(e)}},!1),36580,e=>e.a(async(t,r)=>{try{var n=e.i(47909),s=e.i(74017),a=e.i(96250),o=e.i(59756),i=e.i(61916),l=e.i(74677),c=e.i(69741),d=e.i(16795),u=e.i(87718),p=e.i(95169),g=e.i(47587),h=e.i(66012),w=e.i(70101),f=e.i(26937),v=e.i(10372),x=e.i(93695);e.i(52474);var m=e.i(220),y=e.i(12460),b=t([y]);[y]=b.then?(await b)():b;let k=new n.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/v1/windows/close/route",pathname:"/api/v1/windows/close",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/windows/close/route.ts",nextConfigOutput:"standalone",userland:y}),{workAsyncStorage:C,workUnitAsyncStorage:$,serverHooks:A}=k;function R(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:$})}async function P(e,t,r){k.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/v1/windows/close/route";n=n.replace(/\/index$/,"")||"/";let a=await k.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!a)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:y,params:b,nextConfig:R,parsedUrl:P,isDraftMode:C,prerenderManifest:$,routerServerContext:A,isOnDemandRevalidate:E,revalidateOnlyGenerated:T,resolvedPathname:W,clientReferenceManifest:I,serverActionsManifest:N}=a,D=(0,c.normalizeAppPath)(n),O=!!($.dynamicRoutes[D]||$.routes[W]),_=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,P,!1):t.end("This page could not be found"),null);if(O&&!C){let e=!!$.routes[W],t=$.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await _();throw new x.NoFallbackError}}let j=null;!O||k.isDev||C||(j=W,j="/index"===j?"/":j);let S=!0===k.isDev||!O,q=O&&!S;N&&I&&(0,l.setManifestsSingleton)({page:n,clientReferenceManifest:I,serverActionsManifest:N});let H=e.method||"GET",M=(0,i.getTracer)(),U=M.getActiveScopeSpan(),F={params:b,prerenderManifest:$,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:S,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>k.onRequestError(e,t,n,s,A)},sharedContext:{buildId:y}},L=new d.NodeNextRequest(e),B=new d.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let a=async e=>k.handle(K,F).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")!==p.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=`${H} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${n}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),c=async o=>{var i,c;let d=async({previousCacheEntry:s})=>{try{if(!l&&E&&T&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await a(o);e.fetchMetrics=F.renderOpts.fetchMetrics;let i=F.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let c=F.renderOpts.collectedTags;if(!O)return await (0,h.sendResponse)(L,B,n,F.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(n.headers);c&&(t[v.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,s=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==s?void 0:s.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,g.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:E})},!1,A),t}},u=await k.handleResponse({req:e,nextConfig:R,cacheKey:j,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:$,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:T,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:l});if(!O)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(c=u.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",E?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,w.fromNodeOutgoingHttpHeaders)(u.value.headers);return l&&O||p.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,h.sendResponse)(L,B,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};U?await c(U):await M.withPropagatedContext(e.headers,()=>M.trace(p.BaseServerSpan.handleRequest,{spanName:`${H} ${n}`,kind:i.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},c))}catch(t){if(t instanceof x.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,g.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:E})},!1,A),O)throw t;return await (0,h.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>P,"patchFetch",()=>R,"routeModule",()=>k,"serverHooks",()=>A,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>$]),r()}catch(e){r(e)}},!1)];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__324dc867._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[53506,e=>e.a(async(t,r)=>{try{var n=e.i(29476),o=e.i(40911),a=e.i(93846),s=t([n]);[n]=s.then?(await s)():s;let i=!1,c=null;async function l(){i&&a.default.workbenchPage||(c||(c=(async()=>{try{await (0,n.connectToWorkbench)(a.default),i=!0,a.default.browser?.on("disconnected",()=>{o.logger.error("[CDP] Browser disconnected. Will reconnect on next request."),i=!1,c=null,a.default.workbenchPage=null,a.default.browser=null,a.default.allWorkbenches=[]}),a.default.workbenchPage?.on("close",()=>{o.logger.warn("[CDP] Workbench page closed. Will reconnect on next request."),i=!1,c=null,a.default.workbenchPage=null})}catch(e){o.logger.error("[CDP Init] Failed to connect:",e.message),c=null}})()),await c)}e.s(["ensureCdpConnection",()=>l]),r()}catch(e){r(e)}},!1),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"))},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"))},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"))},40911,e=>{"use strict";let t=new class{level="info";constructor(){this.level=process.env.LOG_LEVEL||"info"}shouldLog(e){let t=["debug","info","warn","error"];return t.indexOf(e)>=t.indexOf(this.level)}debug(e,t){this.shouldLog("debug")&&console.debug(`[DEBUG] ${e}`,t||"")}info(e,t){this.shouldLog("info")&&console.info(`[INFO] ${e}`,t||"")}warn(e,t){this.shouldLog("warn")&&console.warn(`[WARN] ${e}`,t||"")}error(e,t){this.shouldLog("error")&&console.error(`[ERROR] ${e}`,t||"")}};e.s(["logger",0,t])},93846,e=>{"use strict";let t=globalThis.__PROXY_CTX||{workbenchPage:null,browser:null,allWorkbenches:[],activeWindowIdx:0,activeConversationId:null,activeTitle:null,lastActionTimestamp:0};e.s(["default",0,t])},10343,e=>e.a(async(t,r)=>{try{let t=await e.y("puppeteer-core-3cc12a7b2479c6f0");e.n(t),r()}catch(e){r(e)}},!0),29476,e=>e.a(async(t,r)=>{try{var n=e.i(10343),o=e.i(40911),a=t([n]);[n]=a.then?(await a)():a;let c=process.env.CDP_PORT||"9223",u=parseInt(c,10);async function s(e){if(isNaN(u)||u<=0||u>65535)throw Error(`[CDP] Invalid CDP_PORT configured: "${c}". Please check your .env.local file.`);if(!e.browser||!e.browser.isConnected()){o.logger.info(`[CDP] Initializing connection on port ${u}...`);try{e.browser=await n.default.connect({browserURL:`http://localhost:${u}`,defaultViewport:null}),e.browser.on("disconnected",()=>{o.logger.info("[CDP] Browser disconnected. Resetting context..."),e.browser=null,e.workbenchPage=null,e.allWorkbenches=[]})}catch(e){throw o.logger.error(`[CDP] Failed to connect on port ${u}. Ensure IDE is running with --remote-debugging-port=${u}`),e}}let t=await e.browser.pages();for(let r of(e.allWorkbenches=[],t)){let t=r.url();if(t.includes("workbench.html")&&!t.includes("jetski")){let n=await r.title();e.allWorkbenches.push({page:r,title:n,url:t})}}return e.allWorkbenches}async function l(e){if(await s(e),0===e.allWorkbenches.length)throw Error("No workbench pages found. Is Antigravity running with --remote-debugging-port=9223?");o.logger.info(`[CDP] Found ${e.allWorkbenches.length} Antigravity window(s).`);for(let t=0;t<e.allWorkbenches.length;t++)o.logger.info(` [${t}] ${e.allWorkbenches[t].title}`);let t=parseInt(process.env.PROXY_PAGE||"0",10);e.activeWindowIdx=t,e.workbenchPage=e.allWorkbenches[t]?.page||e.allWorkbenches[0].page,e.workbenchPage.on("close",()=>{o.logger.info("[CDP] Workbench page closed. Resetting context..."),e.workbenchPage=null}),o.logger.info(`[CDP] Active window index set to ${e.activeWindowIdx}. Connected to: "${e.allWorkbenches[e.activeWindowIdx]?.title||"unknown"}"`)}function i(e,t){if(t<0||t>=e.allWorkbenches.length)throw Error(`Invalid window index ${t}. Available: 0-${e.allWorkbenches.length-1}`);return e.activeWindowIdx=t,e.workbenchPage=e.allWorkbenches[t].page,o.logger.info(`[CDP] Switched to window [${t}] ${e.allWorkbenches[t].title}`),e.allWorkbenches[t]}e.s(["connectToWorkbench",()=>l,"discoverWorkbenches",()=>s,"selectWindow",()=>i]),r()}catch(e){r(e)}},!1),50051,e=>{"use strict";async function t(e){return e.workbenchPage?e.workbenchPage.evaluate(()=>{let e=document.querySelector(".antigravity-agent-side-panel");if(!e)return{success:!1,error:"No panel found"};for(let t of Array.from(e.querySelectorAll("button"))){let e=t.textContent?.trim().toLowerCase()||"";if(("run"===e||"approve"===e||"allow"===e||"yes"===e)&&!t.disabled)return t.click(),{success:!0,clicked:t.textContent?.trim()}}for(let t of e.querySelectorAll(".rounded-b.border-t"))for(let e of t.querySelectorAll("button"))if("cancel"!==(e.textContent?.trim().toLowerCase()||"")&&!e.disabled)return e.click(),{success:!0,clicked:e.textContent?.trim()};return{success:!1,error:"No approve button found"}}):{success:!1,error:"Not connected"}}async function r(e){return e.workbenchPage?e.workbenchPage.evaluate(()=>{let e=document.querySelector(".antigravity-agent-side-panel");if(!e)return{success:!1,error:"No panel found"};for(let t of Array.from(e.querySelectorAll("button"))){let e=t.textContent?.trim().toLowerCase()||"";if(("cancel"===e||"reject"===e||"deny"===e)&&!t.disabled)return t.click(),{success:!0,clicked:t.textContent?.trim()}}return{success:!1,error:"No reject/cancel button found"}}):{success:!1,error:"Not connected"}}async function n(e,t,r){return e.workbenchPage?e.workbenchPage.evaluate((e,t)=>{let r=document.querySelector(".antigravity-agent-side-panel");if(!r)return{success:!1,error:"No panel found"};let n=r;if(e){let t=r.querySelector(`[data-proxy-tool-id="${e}"]`);t&&(n=t)}let o=Array.from(n.querySelectorAll("button")).find(e=>(e.textContent?.trim()||"").toLowerCase()===t.toLowerCase()&&!e.disabled);return o?(o.click(),{success:!0,clicked:o.textContent?.trim()}):{success:!1,error:`Button "${t}" not found`}},t,r):{success:!1,error:"Not connected"}}e.s(["clickActionButton",()=>n,"clickApproveButton",()=>t,"clickRejectButton",()=>r])},10689,e=>e.a(async(t,r)=>{try{var n=e.i(89171),o=e.i(53506),a=e.i(93846),s=e.i(50051),l=t([o]);async function i(e){if(await (0,o.ensureCdpConnection)(),!a.default.workbenchPage)return n.NextResponse.json({error:"Not connected"},{status:503});let{toolId:t,buttonText:r}=await e.json();if(!r)return n.NextResponse.json({error:"buttonText is required"},{status:400});try{let e=await (0,s.clickActionButton)(a.default,t||null,r);return a.default.lastActionTimestamp=Date.now(),n.NextResponse.json(e,{status:e.success?200:404})}catch(e){return n.NextResponse.json({error:e.message},{status:500})}}[o]=l.then?(await l)():l,e.s(["POST",()=>i,"dynamic",0,"force-dynamic"]),r()}catch(e){r(e)}},!1),51252,e=>e.a(async(t,r)=>{try{var n=e.i(47909),o=e.i(74017),a=e.i(96250),s=e.i(59756),l=e.i(61916),i=e.i(74677),c=e.i(69741),u=e.i(16795),d=e.i(87718),p=e.i(95169),h=e.i(47587),g=e.i(66012),f=e.i(70101),w=e.i(26937),b=e.i(10372),x=e.i(93695);e.i(52474);var v=e.i(220),y=e.i(10689),k=t([y]);[y]=k.then?(await k)():k;let m=new n.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/v1/chat/action/route",pathname:"/api/v1/chat/action",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/chat/action/route.ts",nextConfigOutput:"standalone",userland:y}),{workAsyncStorage:P,workUnitAsyncStorage:E,serverHooks:A}=m;function R(){return(0,a.patchFetch)({workAsyncStorage:P,workUnitAsyncStorage:E})}async function C(e,t,r){m.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/v1/chat/action/route";n=n.replace(/\/index$/,"")||"/";let a=await m.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!a)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:y,params:k,nextConfig:R,parsedUrl:C,isDraftMode:P,prerenderManifest:E,routerServerContext:A,isOnDemandRevalidate:N,revalidateOnlyGenerated:T,resolvedPathname:W,clientReferenceManifest:q,serverActionsManifest:O}=a,I=(0,c.normalizeAppPath)(n),S=!!(E.dynamicRoutes[I]||E.routes[W]),D=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,C,!1):t.end("This page could not be found"),null);if(S&&!P){let e=!!E.routes[W],t=E.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await D();throw new x.NoFallbackError}}let $=null;!S||m.isDev||P||($=W,$="/index"===$?"/":$);let _=!0===m.isDev||!S,j=S&&!_;O&&q&&(0,i.setManifestsSingleton)({page:n,clientReferenceManifest:q,serverActionsManifest:O});let L=e.method||"GET",U=(0,l.getTracer)(),H=U.getActiveScopeSpan(),B={params:k,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:_,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,o)=>m.onRequestError(e,t,n,o,A)},sharedContext:{buildId:y}},F=new u.NodeNextRequest(e),M=new u.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(F,(0,d.signalFromNodeResponse)(t));try{let a=async e=>m.handle(K,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.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 o=r.get("next.route");if(o){let t=`${L} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":t}),e.updateName(t)}else e.updateName(`${L} ${n}`)}),i=!!(0,s.getRequestMeta)(e,"minimalMode"),c=async s=>{var l,c;let u=async({previousCacheEntry:o})=>{try{if(!i&&N&&T&&!o)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await a(s);e.fetchMetrics=B.renderOpts.fetchMetrics;let l=B.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let c=B.renderOpts.collectedTags;if(!S)return await (0,g.sendResponse)(F,M,n,B.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);c&&(t[b.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=b.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,o=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=b.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:o}}}}catch(t){throw(null==o?void 0:o.isStale)&&await m.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:N})},!1,A),t}},d=await m.handleResponse({req:e,nextConfig:R,cacheKey:$,routeKind:o.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:T,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:i});if(!S)return null;if((null==d||null==(l=d.value)?void 0:l.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(c=d.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",N?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),P&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&S||p.delete(b.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,w.getCacheControlHeader)(d.cacheControl)),await (0,g.sendResponse)(F,M,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};H?await c(H):await U.withPropagatedContext(e.headers,()=>U.trace(p.BaseServerSpan.handleRequest,{spanName:`${L} ${n}`,kind:l.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},c))}catch(t){if(t instanceof x.NoFallbackError||await m.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:N})},!1,A),S)throw t;return await (0,g.sendResponse)(F,M,new Response(null,{status:500})),null}}e.s(["handler",()=>C,"patchFetch",()=>R,"routeModule",()=>m,"serverHooks",()=>A,"workAsyncStorage",()=>P,"workUnitAsyncStorage",()=>E]),r()}catch(e){r(e)}},!1)];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__38025e07._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[53506,e=>e.a(async(t,n)=>{try{var r=e.i(29476),a=e.i(40911),o=e.i(93846),l=t([r]);[r]=l.then?(await l)():l;let s=!1,c=null;async function i(){s&&o.default.workbenchPage||(c||(c=(async()=>{try{await (0,r.connectToWorkbench)(o.default),s=!0,o.default.browser?.on("disconnected",()=>{a.logger.error("[CDP] Browser disconnected. Will reconnect on next request."),s=!1,c=null,o.default.workbenchPage=null,o.default.browser=null,o.default.allWorkbenches=[]}),o.default.workbenchPage?.on("close",()=>{a.logger.warn("[CDP] Workbench page closed. Will reconnect on next request."),s=!1,c=null,o.default.workbenchPage=null})}catch(e){a.logger.error("[CDP Init] Failed to connect:",e.message),c=null}})()),await c)}e.s(["ensureCdpConnection",()=>i]),n()}catch(e){n(e)}},!1),32319,(e,t,n)=>{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,n)=>{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"))},18622,(e,t,n)=>{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,n)=>{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"))},70406,(e,t,n)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,n)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},40911,e=>{"use strict";let t=new class{level="info";constructor(){this.level=process.env.LOG_LEVEL||"info"}shouldLog(e){let t=["debug","info","warn","error"];return t.indexOf(e)>=t.indexOf(this.level)}debug(e,t){this.shouldLog("debug")&&console.debug(`[DEBUG] ${e}`,t||"")}info(e,t){this.shouldLog("info")&&console.info(`[INFO] ${e}`,t||"")}warn(e,t){this.shouldLog("warn")&&console.warn(`[WARN] ${e}`,t||"")}error(e,t){this.shouldLog("error")&&console.error(`[ERROR] ${e}`,t||"")}};e.s(["logger",0,t])},93846,e=>{"use strict";let t=globalThis.__PROXY_CTX||{workbenchPage:null,browser:null,allWorkbenches:[],activeWindowIdx:0,activeConversationId:null,activeTitle:null,lastActionTimestamp:0};e.s(["default",0,t])},10343,e=>e.a(async(t,n)=>{try{let t=await e.y("puppeteer-core-3cc12a7b2479c6f0");e.n(t),n()}catch(e){n(e)}},!0),29476,e=>e.a(async(t,n)=>{try{var r=e.i(10343),a=e.i(40911),o=t([r]);[r]=o.then?(await o)():o;let c=process.env.CDP_PORT||"9223",d=parseInt(c,10);async function l(e){if(isNaN(d)||d<=0||d>65535)throw Error(`[CDP] Invalid CDP_PORT configured: "${c}". Please check your .env.local file.`);if(!e.browser||!e.browser.isConnected()){a.logger.info(`[CDP] Initializing connection on port ${d}...`);try{e.browser=await r.default.connect({browserURL:`http://localhost:${d}`,defaultViewport:null}),e.browser.on("disconnected",()=>{a.logger.info("[CDP] Browser disconnected. Resetting context..."),e.browser=null,e.workbenchPage=null,e.allWorkbenches=[]})}catch(e){throw a.logger.error(`[CDP] Failed to connect on port ${d}. Ensure IDE is running with --remote-debugging-port=${d}`),e}}let t=await e.browser.pages();for(let n of(e.allWorkbenches=[],t)){let t=n.url();if(t.includes("workbench.html")&&!t.includes("jetski")){let r=await n.title();e.allWorkbenches.push({page:n,title:r,url:t})}}return e.allWorkbenches}async function i(e){if(await l(e),0===e.allWorkbenches.length)throw Error("No workbench pages found. Is Antigravity running with --remote-debugging-port=9223?");a.logger.info(`[CDP] Found ${e.allWorkbenches.length} Antigravity window(s).`);for(let t=0;t<e.allWorkbenches.length;t++)a.logger.info(` [${t}] ${e.allWorkbenches[t].title}`);let t=parseInt(process.env.PROXY_PAGE||"0",10);e.activeWindowIdx=t,e.workbenchPage=e.allWorkbenches[t]?.page||e.allWorkbenches[0].page,e.workbenchPage.on("close",()=>{a.logger.info("[CDP] Workbench page closed. Resetting context..."),e.workbenchPage=null}),a.logger.info(`[CDP] Active window index set to ${e.activeWindowIdx}. Connected to: "${e.allWorkbenches[e.activeWindowIdx]?.title||"unknown"}"`)}function s(e,t){if(t<0||t>=e.allWorkbenches.length)throw Error(`Invalid window index ${t}. Available: 0-${e.allWorkbenches.length-1}`);return e.activeWindowIdx=t,e.workbenchPage=e.allWorkbenches[t].page,a.logger.info(`[CDP] Switched to window [${t}] ${e.allWorkbenches[t].title}`),e.allWorkbenches[t]}e.s(["connectToWorkbench",()=>i,"discoverWorkbenches",()=>l,"selectWindow",()=>s]),n()}catch(e){n(e)}},!1),20758,e=>e.a(async(t,n)=>{try{var r=e.i(89171),a=e.i(53506),o=e.i(93846),l=t([a]);async function i(){return await (0,a.ensureCdpConnection)(),r.NextResponse.json({status:"ok",connected:!!o.default.workbenchPage})}[a]=l.then?(await l)():l,e.s(["GET",()=>i,"dynamic",0,"force-dynamic"]),n()}catch(e){n(e)}},!1),63455,e=>e.a(async(t,n)=>{try{var r=e.i(47909),a=e.i(74017),o=e.i(96250),l=e.i(59756),i=e.i(61916),s=e.i(74677),c=e.i(69741),d=e.i(16795),u=e.i(87718),p=e.i(95169),h=e.i(47587),g=e.i(66012),w=e.i(70101),f=e.i(26937),b=e.i(10372),v=e.i(93695);e.i(52474);var x=e.i(220),R=e.i(20758),k=t([R]);[R]=k.then?(await k)():k;let P=new r.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/v1/health/route",pathname:"/api/v1/health",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/health/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:E,workUnitAsyncStorage:m,serverHooks:A}=P;function y(){return(0,o.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:m})}async function C(e,t,n){P.isDev&&(0,l.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/v1/health/route";r=r.replace(/\/index$/,"")||"/";let o=await P.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!o)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:k,nextConfig:y,parsedUrl:C,isDraftMode:E,prerenderManifest:m,routerServerContext:A,isOnDemandRevalidate:W,revalidateOnlyGenerated:T,resolvedPathname:I,clientReferenceManifest:O,serverActionsManifest:N}=o,D=(0,c.normalizeAppPath)(r),$=!!(m.dynamicRoutes[D]||m.routes[I]),_=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,C,!1):t.end("This page could not be found"),null);if($&&!E){let e=!!m.routes[I],t=m.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await _();throw new v.NoFallbackError}}let q=null;!$||P.isDev||E||(q=I,q="/index"===q?"/":q);let S=!0===P.isDev||!$,j=$&&!S;N&&O&&(0,s.setManifestsSingleton)({page:r,clientReferenceManifest:O,serverActionsManifest:N});let U=e.method||"GET",H=(0,i.getTracer)(),L=H.getActiveScopeSpan(),F={params:k,prerenderManifest:m,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:S,incrementalCache:(0,l.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,a)=>P.onRequestError(e,t,r,a,A)},sharedContext:{buildId:R}},M=new d.NodeNextRequest(e),B=new d.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest(M,(0,u.signalFromNodeResponse)(t));try{let o=async e=>P.handle(K,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=H.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=n.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${r}`)}),s=!!(0,l.getRequestMeta)(e,"minimalMode"),c=async l=>{var i,c;let d=async({previousCacheEntry:a})=>{try{if(!s&&W&&T&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await o(l);e.fetchMetrics=F.renderOpts.fetchMetrics;let i=F.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let c=F.renderOpts.collectedTags;if(!$)return await (0,g.sendResponse)(M,B,r,F.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(r.headers);c&&(t[b.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=b.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,a=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=b.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await P.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:W})},!1,A),t}},u=await P.handleResponse({req:e,nextConfig:y,cacheKey:q,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:m,isRoutePPREnabled:!1,isOnDemandRevalidate:W,revalidateOnlyGenerated:T,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:s});if(!$)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(c=u.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",W?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,w.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&$||p.delete(b.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,g.sendResponse)(M,B,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};L?await c(L):await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${r}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},c))}catch(t){if(t instanceof v.NoFallbackError||await P.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:W})},!1,A),$)throw t;return await (0,g.sendResponse)(M,B,new Response(null,{status:500})),null}}e.s(["handler",()=>C,"patchFetch",()=>y,"routeModule",()=>P,"serverHooks",()=>A,"workAsyncStorage",()=>E,"workUnitAsyncStorage",()=>m]),n()}catch(e){n(e)}},!1)];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__4a837477._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[14747,(e,t,n)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,n)=>{t.exports=e.x("fs",()=>require("fs"))},53506,e=>e.a(async(t,n)=>{try{var r=e.i(29476),o=e.i(40911),l=e.i(93846),i=t([r]);[r]=i.then?(await i)():i;let s=!1,c=null;async function a(){s&&l.default.workbenchPage||(c||(c=(async()=>{try{await (0,r.connectToWorkbench)(l.default),s=!0,l.default.browser?.on("disconnected",()=>{o.logger.error("[CDP] Browser disconnected. Will reconnect on next request."),s=!1,c=null,l.default.workbenchPage=null,l.default.browser=null,l.default.allWorkbenches=[]}),l.default.workbenchPage?.on("close",()=>{o.logger.warn("[CDP] Workbench page closed. Will reconnect on next request."),s=!1,c=null,l.default.workbenchPage=null})}catch(e){o.logger.error("[CDP Init] Failed to connect:",e.message),c=null}})()),await c)}e.s(["ensureCdpConnection",()=>a]),n()}catch(e){n(e)}},!1),32319,(e,t,n)=>{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,n)=>{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"))},18622,(e,t,n)=>{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,n)=>{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"))},70406,(e,t,n)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,n)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},40911,e=>{"use strict";let t=new class{level="info";constructor(){this.level=process.env.LOG_LEVEL||"info"}shouldLog(e){let t=["debug","info","warn","error"];return t.indexOf(e)>=t.indexOf(this.level)}debug(e,t){this.shouldLog("debug")&&console.debug(`[DEBUG] ${e}`,t||"")}info(e,t){this.shouldLog("info")&&console.info(`[INFO] ${e}`,t||"")}warn(e,t){this.shouldLog("warn")&&console.warn(`[WARN] ${e}`,t||"")}error(e,t){this.shouldLog("error")&&console.error(`[ERROR] ${e}`,t||"")}};e.s(["logger",0,t])},93846,e=>{"use strict";let t=globalThis.__PROXY_CTX||{workbenchPage:null,browser:null,allWorkbenches:[],activeWindowIdx:0,activeConversationId:null,activeTitle:null,lastActionTimestamp:0};e.s(["default",0,t])},10343,e=>e.a(async(t,n)=>{try{let t=await e.y("puppeteer-core-3cc12a7b2479c6f0");e.n(t),n()}catch(e){n(e)}},!0),29476,e=>e.a(async(t,n)=>{try{var r=e.i(10343),o=e.i(40911),l=t([r]);[r]=l.then?(await l)():l;let c=process.env.CDP_PORT||"9223",u=parseInt(c,10);async function i(e){if(isNaN(u)||u<=0||u>65535)throw Error(`[CDP] Invalid CDP_PORT configured: "${c}". Please check your .env.local file.`);if(!e.browser||!e.browser.isConnected()){o.logger.info(`[CDP] Initializing connection on port ${u}...`);try{e.browser=await r.default.connect({browserURL:`http://localhost:${u}`,defaultViewport:null}),e.browser.on("disconnected",()=>{o.logger.info("[CDP] Browser disconnected. Resetting context..."),e.browser=null,e.workbenchPage=null,e.allWorkbenches=[]})}catch(e){throw o.logger.error(`[CDP] Failed to connect on port ${u}. Ensure IDE is running with --remote-debugging-port=${u}`),e}}let t=await e.browser.pages();for(let n of(e.allWorkbenches=[],t)){let t=n.url();if(t.includes("workbench.html")&&!t.includes("jetski")){let r=await n.title();e.allWorkbenches.push({page:n,title:r,url:t})}}return e.allWorkbenches}async function a(e){if(await i(e),0===e.allWorkbenches.length)throw Error("No workbench pages found. Is Antigravity running with --remote-debugging-port=9223?");o.logger.info(`[CDP] Found ${e.allWorkbenches.length} Antigravity window(s).`);for(let t=0;t<e.allWorkbenches.length;t++)o.logger.info(` [${t}] ${e.allWorkbenches[t].title}`);let t=parseInt(process.env.PROXY_PAGE||"0",10);e.activeWindowIdx=t,e.workbenchPage=e.allWorkbenches[t]?.page||e.allWorkbenches[0].page,e.workbenchPage.on("close",()=>{o.logger.info("[CDP] Workbench page closed. Resetting context..."),e.workbenchPage=null}),o.logger.info(`[CDP] Active window index set to ${e.activeWindowIdx}. Connected to: "${e.allWorkbenches[e.activeWindowIdx]?.title||"unknown"}"`)}function s(e,t){if(t<0||t>=e.allWorkbenches.length)throw Error(`Invalid window index ${t}. Available: 0-${e.allWorkbenches.length-1}`);return e.activeWindowIdx=t,e.workbenchPage=e.allWorkbenches[t].page,o.logger.info(`[CDP] Switched to window [${t}] ${e.allWorkbenches[t].title}`),e.allWorkbenches[t]}e.s(["connectToWorkbench",()=>a,"discoverWorkbenches",()=>i,"selectWindow",()=>s]),n()}catch(e){n(e)}},!1),15198,e=>{"use strict";e.s(["SELECTORS",0,{chatInput:'#antigravity\\.agentSidePanelInputBox [contenteditable="true"][role="textbox"]',messageList:"#conversation > div:first-child .mx-auto.w-full",conversation:"#conversation",spinner:".antigravity-agent-side-panel .animate-spin"}])},40955,e=>{"use strict";var t=e.i(22734),n=e.i(14747),r=e.i(15198);let o=n.default.join("/tmp","proxy-debug-state.json");async function l(e){if(!e.workbenchPage)return{isRunning:!1,turnCount:0,stepGroupCount:0,thinking:[],toolCalls:[],responses:[],notifications:[],error:null,fileChanges:[],lastTurnResponseHTML:""};let n=await e.workbenchPage.evaluate(e=>{let t=e=>(e?.getAttribute?e.getAttribute("class"):"")||"",n=document.querySelector(".antigravity-agent-side-panel");if(!n)return{isRunning:!1,turnCount:0,stepGroupCount:0,thinking:[],toolCalls:[],responses:[],notifications:[],error:null,fileChanges:[],lastTurnResponseHTML:""};let r=!1,o=!1,l=document.querySelector("#antigravity\\.agentSidePanelInputBox");if(l||(l=n.querySelector('[id*="InputBox"]')),l){let e=l.closest(".flex")||l.parentElement?.parentElement||l.parentElement;if(e){window.__proxyInputBoxHTML=e.outerHTML;let t=e.querySelectorAll("button"),n=!1,l=!1;for(let e of t){let t=e.innerHTML||"",r=(e.getAttribute("aria-label")||"").toLowerCase(),o=(e.textContent||"").trim().toLowerCase(),i=(e.getAttribute("data-tooltip-id")||"").toLowerCase();(t.match(/lucide-square(?:[^a-z0-9-]|$)/i)||t.includes("lucide-circle-stop")||t.includes("lucide-octagon")||r.includes("stop")||r.includes("cancel")||"stop"===o||i.includes("stop"))&&(n=!0),(t.includes("lucide-send")||t.includes("lucide-arrow-up")||t.includes("lucide-arrow-right")||t.includes("codicon-send")||t.includes("lucide-corner-down-left")||r.includes("send")||r.includes("submit")||"send"===o||i.includes("send"))&&(l=!0)}n?(r=!0,o=!0):l&&(r=!1,o=!0)}}if(!o){for(let o of n.querySelectorAll(e)){let e=o,n=!1;for(;e;){let r=t(e);if(r.includes("invisible")||r.includes("opacity-0")){n=!0;break}e=e.parentElement}if(!n){r=!0;break}}if(!r)for(let e of n.querySelectorAll("button")){let t=(e.getAttribute("aria-label")||"").toLowerCase(),n=(e.textContent?.trim()||"").toLowerCase();if(("stop"===n||"abort"===n||t.includes("stop")||t.includes("abort")||t.includes("interrupt"))&&"none"!==getComputedStyle(e).display&&"hidden"!==getComputedStyle(e).visibility){r=!0;break}}}let i=n.querySelector("#conversation")||document.querySelector("#conversation"),a=i?.querySelector(".overflow-y-auto"),s=a?.querySelector(".mx-auto"),c=s?Array.from(s.children):[],u=c.length,d=c.length>0?c[c.length-1]:null,p=d?.querySelector(".relative.flex.flex-col.gap-y-3")||d,f=p?Array.from(p.children):[],h=f.length,g=d||n,m=["run","proceed","approve","allow","yes","accept","continue","save","confirm","deny","reject","cancel","no","allow once","allow this conversation","ask every time","relocate"],x=e=>{if(!e)return!1;let t=e.trim().toLowerCase();return m.some(e=>t===e||t.startsWith(e))},w=[];for(let e of Array.from(g.querySelectorAll("button")).filter(e=>e.textContent?.trim().startsWith("Thought for")))w.push({time:e.textContent.trim()});let y=[],b=g.querySelectorAll(".flex.flex-col.gap-2.border.rounded-lg.my-1"),C=window.__proxyToolCounter||0;for(let e of b){e.dataset.proxyToolId||(e.dataset.proxyToolId=String(C++));let t=e.dataset.proxyToolId,n=e.querySelector(".mb-1.px-2.py-1.text-sm"),r=n?.querySelector("span.opacity-60"),o=r?.textContent?.trim()||"",l=e.querySelector("span.font-mono.text-sm"),i=l?.textContent?.trim()||"",a="",s=e.querySelector("pre.whitespace-pre-wrap");if(s){let e=s.textContent?.trim()||"",t=e.indexOf("$");-1!==t&&(a=e.substring(t+1).trim())}let c=null;for(let t of e.querySelectorAll("span, div")){let e=t.textContent?.trim()||"";if(e.startsWith("Exit code")){c=e;break}}let u=Array.from(e.querySelectorAll("button")),d=u.some(e=>e.textContent?.trim()==="Cancel"),p=u.map(e=>e.textContent?.trim()||"").filter(x),f="unknown",h=o.toLowerCase();h.includes("command")?f="command":h.includes("file")||h.includes("edit")||h.includes("creat")||h.includes("writ")?f="file":h.includes("search")||h.includes("grep")?f="search":h.includes("read")||h.includes("view")?f="read":h.includes("brows")&&(f="browser");let g=e.querySelector(".component-shared-terminal"),m="";if(g){let e=g.querySelector(".xterm-rows")||g.querySelector(".xterm-screen")||g.querySelector('[class*="xterm"]');e&&(m=e.textContent?.substring(0,500)||""),m||(m=g.textContent?.substring(0,500)||"")}y.push({id:t,status:o,type:f,path:i,command:a||null,exitCode:c,hasCancelBtn:d,footerButtons:p,hasTerminal:!!g,terminalOutput:m||null})}window.__proxyToolCounter=C;let v=g.querySelectorAll(".flex.flex-col.space-y-2 > .flex.flex-row:not(.my-2)"),R=/^(Edited|Created|Analyzed|Read|Viewed|Wrote|Replaced|Searching|Deleted|Moved|Renamed|MCP Tool)/i;for(let e of v)try{let t=e.textContent?.trim()||"",n=t.match(R);if(!n)continue;let r=n[1];e.dataset.proxyToolId||(e.dataset.proxyToolId=String(C++));let o=e.dataset.proxyToolId,l=Array.from(e.querySelectorAll("span")),i="",a=null,s=null,c=null,u=null,d=null,p=null;if(r.startsWith("MCP")){let n=e.querySelector(".flex.flex-row.items-center.gap-1.overflow-hidden");if(n){let e=[];for(let t of n.childNodes)3===t.nodeType&&e.push(t.textContent.trim());p=e.join("").trim()||null}if(!p){let e=t.indexOf(":");if(e>-1){let n=t.substring(e+1).trim(),r=n.search(/\n|Show|Ran/);p=r>-1?n.substring(0,r).trim():n.substring(0,60).trim()}}i=p||"";let r=l.filter(e=>(e.className||"").startsWith("mtk"));r.length>0&&(u=r.map(e=>e.textContent).join("").trim()).length>500&&(u=u.substring(0,500)+"…");let o=l.find(e=>e.textContent?.trim()==="Output");if(o){let e=o.closest(".flex.flex-col")||o.parentElement;if(e){let t=e.textContent||"",n=t.indexOf("Output");n>-1&&(d=t.substring(n+6).trim()).length>500&&(d=d.substring(0,500)+"…")}}}else{let e=l.find(e=>{let t=e.className||"";return t.includes("inline-flex")&&t.includes("items-center")});i=e?.textContent?.trim()||"";let t=l.find(e=>(e.className||"").includes("text-green"));a=t?.textContent?.trim()||null;let n=l.find(e=>(e.className||"").includes("text-red"));s=n?.textContent?.trim()||null;let r=l.find(e=>/^#L\d/.test(e.textContent?.trim()||""));c=r?.textContent?.trim()||null}let f="file",h=r.toLowerCase();h.includes("search")||h.includes("grep")?f="search":h.includes("read")||h.includes("view")||h.includes("analyz")?f="read":h.startsWith("mcp")&&(f="mcp");let g=Array.from(e.querySelectorAll("button")),m=e.parentElement,w=0,b=[];for(;m&&w<5;){for(let e of Array.from(m.querySelectorAll("button"))){let t=(e.textContent||"").trim().toLowerCase();x(t)&&!b.includes(e)&&b.push(e)}if(b.length>0&&b.length<5){g=[...g,...b];break}m=m.parentElement,w++}let v=(g=[...new Set(g)]).map(e=>e.textContent?.trim()||"").filter(x),k=v.some(e=>"cancel"===e.toLowerCase());y.push({id:o,status:r,type:f,path:i,command:null,exitCode:null,hasCancelBtn:k,footerButtons:v,hasTerminal:!1,terminalOutput:null,additions:a,deletions:s,lineRange:c,mcpToolName:p,mcpArgs:u,mcpOutput:d})}catch{}window.__proxyToolCounter=C;try{for(let e of n.querySelectorAll(".flex.flex-col.space-y-2 > .flex.flex-row:not(.my-2)")){let t=e,n=Array.from(t.querySelectorAll("button")).map(e=>e.textContent?.trim()||"").filter(Boolean);if(!n.some(e=>/^(allow|deny|allow once|allow this conversation)$/i.test(e))||t.dataset?.proxyToolId&&y.some(e=>e.id===t.dataset.proxyToolId&&e.footerButtons.length>0))continue;let r=n.filter(x);if(0===r.length)continue;let o=[...y].reverse().find(e=>/^(Analyzed|Read|Viewed)/i.test(e.status));if(o&&0===o.footerButtons.length)o.footerButtons=r,o.hasCancelBtn=r.some(e=>"deny"===e.toLowerCase()||"cancel"===e.toLowerCase());else{t.dataset.proxyToolId||(t.dataset.proxyToolId=String(window.__proxyToolCounter++));let e=(t.textContent||"").match(/access to\s+(.+?)(?:\?|$)/i),n=e?e[1].trim():"";y.push({id:t.dataset.proxyToolId,status:"Permission Required",type:"read",path:n,command:null,exitCode:null,hasCancelBtn:!0,footerButtons:r,hasTerminal:!1,terminalOutput:null,additions:null,deletions:null,lineRange:null,mcpToolName:null,mcpArgs:null,mcpOutput:null})}}}catch{}if(!r&&y.some(e=>e.hasCancelBtn&&!e.exitCode)&&(r=!0),!r){let e=f[f.length-1];if(e){for(let n of e.querySelectorAll(".animate-spin")){if(n.classList.contains("w-4")&&n.classList.contains("h-4"))continue;let o=n,l=!1;for(;o&&o!==e;){let e=t(o);if(e.includes("invisible")||e.includes("opacity-0")||e.includes("hidden")){l=!0;break}o=o.parentElement}if(!l){r=!0;break}}if(!r)for(let n of e.querySelectorAll(".animate-pulse, .in-progress-checkbox, .typing-indicator")){let o=n,l=!1;for(;o&&o!==e;){let e=t(o);if(e.includes("invisible")||e.includes("opacity-0")||e.includes("hidden")){l=!0;break}o=o.parentElement}if(!l){r=!0;break}}if(!r)for(let n of e.querySelectorAll('[class*="text-sm"][class*="opacity"]')){if(t(n).includes("invisible"))continue;let e=(n.textContent||"").toLowerCase();if(e.includes("running")||e.includes("progress")||e.includes("navigat")||e.includes("executing")||e.includes("analyzing")||e.includes("processing")||e.includes("subagent")||e.includes("browser")){r=!0;break}}}}let k=[];for(let e of g.querySelectorAll(".notify-user-container")){let t=e.cloneNode(!0);t.querySelectorAll("style, script").forEach(e=>e.remove());let n=t.innerHTML?.trim();n&&k.push(n)}let A=[],S="",T=Array.from(g.querySelectorAll(".leading-relaxed.select-text")).filter(e=>{let n=e.parentElement,r=0;for(;n&&n!==g&&r<10;){if(t(n).includes("max-h-0"))return!1;n=n.parentElement,r++}return!!e.textContent?.trim()});for(let e of T){let t=e.cloneNode(!0);t.querySelectorAll("style, script").forEach(e=>e.remove());let n=t.innerHTML?.trim();n&&A.push(n)}T.length>0&&(S=T[T.length-1].innerHTML||"");let E=null,q=n.textContent||"";for(let e of["Agent terminated due to error","error persists","start a new conversation"])if(q.includes(e)){let e,t=document.createTreeWalker(n,NodeFilter.SHOW_TEXT,null);for(;e=t.nextNode();)if(e.textContent.includes("Agent terminated")){E=e.textContent.trim();break}E||(E="[Agent terminated due to error]");break}let P=[];for(let e of n.querySelectorAll("svg.lucide-file-diff")){let t=e.closest(".flex.items-center");if(t){let e=t.querySelector("span");e&&P.push({fileName:e.textContent?.trim()||"",type:"diff"})}}return{isRunning:r,turnCount:u,stepGroupCount:h,thinking:w,toolCalls:y,responses:A,notifications:k,error:E,fileChanges:P,lastTurnResponseHTML:S,inputBoxHTML:window.__proxyInputBoxHTML||""}},r.SELECTORS.spinner);try{let e={timestamp:new Date().toISOString(),isRunning:n.isRunning,turnCount:n.turnCount,toolCallsCount:n.toolCalls.length,responsesCount:n.responses.length,rawLastTurnResponseHTML:n.lastTurnResponseHTML,extractedResponses:n.responses,toolCalls:n.toolCalls,thinking:n.thinking,notifications:n.notifications,error:n.error,inputBoxHTML:n.inputBoxHTML||""};t.default.writeFileSync(o,JSON.stringify(e,null,2))}catch(e){console.error("Failed to write debug file",e)}return n}e.s(["getFullAgentState",()=>l])},54209,e=>e.a(async(t,n)=>{try{var r=e.i(89171),o=e.i(53506),l=e.i(93846),i=e.i(40955),a=t([o]);async function s(){if(await (0,o.ensureCdpConnection)(),!l.default.workbenchPage)return r.NextResponse.json({error:"Not connected to Antigravity"},{status:503});try{let e=await (0,i.getFullAgentState)(l.default);return r.NextResponse.json(e)}catch(e){return r.NextResponse.json({error:e.message},{status:500})}}[o]=a.then?(await a)():a,e.s(["GET",()=>s,"dynamic",0,"force-dynamic"]),n()}catch(e){n(e)}},!1),22189,e=>e.a(async(t,n)=>{try{var r=e.i(47909),o=e.i(74017),l=e.i(96250),i=e.i(59756),a=e.i(61916),s=e.i(74677),c=e.i(69741),u=e.i(16795),d=e.i(87718),p=e.i(95169),f=e.i(47587),h=e.i(66012),g=e.i(70101),m=e.i(26937),x=e.i(10372),w=e.i(93695);e.i(52474);var y=e.i(220),b=e.i(54209),C=t([b]);[b]=C.then?(await C)():C;let k=new r.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/v1/chat/state/route",pathname:"/api/v1/chat/state",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v1/chat/state/route.ts",nextConfigOutput:"standalone",userland:b}),{workAsyncStorage:A,workUnitAsyncStorage:S,serverHooks:T}=k;function v(){return(0,l.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:S})}async function R(e,t,n){k.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/v1/chat/state/route";r=r.replace(/\/index$/,"")||"/";let l=await k.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!l)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:b,params:C,nextConfig:v,parsedUrl:R,isDraftMode:A,prerenderManifest:S,routerServerContext:T,isOnDemandRevalidate:E,revalidateOnlyGenerated:q,resolvedPathname:P,clientReferenceManifest:I,serverActionsManifest:L}=l,N=(0,c.normalizeAppPath)(r),O=!!(S.dynamicRoutes[N]||S.routes[P]),W=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,R,!1):t.end("This page could not be found"),null);if(O&&!A){let e=!!S.routes[P],t=S.dynamicRoutes[N];if(t&&!1===t.fallback&&!e){if(v.experimental.adapterPath)return await W();throw new w.NoFallbackError}}let _=null;!O||k.isDev||A||(_=P,_="/index"===_?"/":_);let H=!0===k.isDev||!O,$=O&&!H;L&&I&&(0,s.setManifestsSingleton)({page:r,clientReferenceManifest:I,serverActionsManifest:L});let D=e.method||"GET",M=(0,a.getTracer)(),j=M.getActiveScopeSpan(),B={params:C,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!v.experimental.authInterrupts},cacheComponents:!!v.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:v.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,o)=>k.onRequestError(e,t,r,o,T)},sharedContext:{buildId:b}},U=new u.NodeNextRequest(e),F=new u.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(U,(0,d.signalFromNodeResponse)(t));try{let l=async e=>k.handle(G,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=M.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=n.get("next.route");if(o){let t=`${D} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":t}),e.updateName(t)}else e.updateName(`${D} ${r}`)}),s=!!(0,i.getRequestMeta)(e,"minimalMode"),c=async i=>{var a,c;let u=async({previousCacheEntry:o})=>{try{if(!s&&E&&q&&!o)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await l(i);e.fetchMetrics=B.renderOpts.fetchMetrics;let a=B.renderOpts.pendingWaitUntil;a&&n.waitUntil&&(n.waitUntil(a),a=void 0);let c=B.renderOpts.collectedTags;if(!O)return await (0,h.sendResponse)(U,F,r,B.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(r.headers);c&&(t[x.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,o=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:o}}}}catch(t){throw(null==o?void 0:o.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:E})},!1,T),t}},d=await k.handleResponse({req:e,nextConfig:v,cacheKey:_,routeKind:o.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:q,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:s});if(!O)return null;if((null==d||null==(a=d.value)?void 0:a.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(c=d.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,g.fromNodeOutgoingHttpHeaders)(d.value.headers);return s&&O||p.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,h.sendResponse)(U,F,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};j?await c(j):await M.withPropagatedContext(e.headers,()=>M.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${r}`,kind:a.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},c))}catch(t){if(t instanceof w.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:E})},!1,T),O)throw t;return await (0,h.sendResponse)(U,F,new Response(null,{status:500})),null}}e.s(["handler",()=>R,"patchFetch",()=>v,"routeModule",()=>k,"serverHooks",()=>T,"workAsyncStorage",()=>A,"workUnitAsyncStorage",()=>S]),n()}catch(e){n(e)}},!1)];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__4f9fdc77._.js.map
|