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,2 +1,2 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
2
|
-
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/f7c83373e6561461.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[97367,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"ViewportBoundary\"]\n9:I[97367,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"MetadataBoundary\"]\nb:I[68027,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"
|
|
1
|
+
<!DOCTYPE html><!--standalone_build--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/f7c83373e6561461.js"/><script src="/_next/static/chunks/f2f58a7e93290fbb.js" async=""></script><script src="/_next/static/chunks/2317ab948a7d90a4.js" async=""></script><script src="/_next/static/chunks/turbopack-3f34081d758747ed.js" async=""></script><script src="/_next/static/chunks/2f236954d6a65e12.js" async=""></script><title>500: Internal Server Error.</title><link rel="icon" href="/favicon.ico?favicon.0b3bf435.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
|
|
2
|
+
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/f7c83373e6561461.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[97367,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"ViewportBoundary\"]\n9:I[97367,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"MetadataBoundary\"]\nb:I[68027,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"standalone-build\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"c:I[27201,[\"/_next/static/chunks/2f236954d6a65e12.js\"],\"IconMark\"]\n6:null\na:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0b3bf435.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Lc\",\"1\",{}]]\n"])</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"
|
|
1
|
+
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"WGyOxPQL7/he3+2spF3eaNRMlvftKuB7XY4Jc1kELtI=\"\n}"
|
|
@@ -155,7 +155,7 @@ export async function POST(request: NextRequest) {
|
|
|
155
155
|
if (contentChanged) {
|
|
156
156
|
doneCount = 0;
|
|
157
157
|
lastStableHTML = '';
|
|
158
|
-
} else if (Date.now() - ctx.lastActionTimestamp <
|
|
158
|
+
} else if (Date.now() - ctx.lastActionTimestamp < 3000) {
|
|
159
159
|
doneCount = 0;
|
|
160
160
|
lastStableHTML = '';
|
|
161
161
|
} else {
|
|
@@ -174,7 +174,7 @@ export async function POST(request: NextRequest) {
|
|
|
174
174
|
(t.status || '').toLowerCase().includes('subagent') ||
|
|
175
175
|
(t.status || '').toLowerCase().includes('navigat')
|
|
176
176
|
);
|
|
177
|
-
const requiredDoneCount = hasSubagentTools ?
|
|
177
|
+
const requiredDoneCount = hasSubagentTools ? 8 : 4;
|
|
178
178
|
if (doneCount >= requiredDoneCount) {
|
|
179
179
|
const finalResponse =
|
|
180
180
|
currState.notifications.length > 0
|
|
@@ -5,6 +5,7 @@ import os from 'os';
|
|
|
5
5
|
import path from 'path';
|
|
6
6
|
import fs from 'fs';
|
|
7
7
|
import { getIdeConversations } from '@/lib/scraper/ide-conversations';
|
|
8
|
+
import { filterConversationsByWorkspace } from '@/lib/scraper/workspace-filter';
|
|
8
9
|
|
|
9
10
|
export const dynamic = 'force-dynamic';
|
|
10
11
|
|
|
@@ -182,7 +183,11 @@ export async function GET() {
|
|
|
182
183
|
conversations[0].active = true;
|
|
183
184
|
}
|
|
184
185
|
|
|
185
|
-
|
|
186
|
+
// Filter conversations to only show those related to the active window's project
|
|
187
|
+
const activeWindowTitle = ctx.allWorkbenches[ctx.activeWindowIdx]?.title;
|
|
188
|
+
const filtered = filterConversationsByWorkspace(conversations, activeWindowTitle);
|
|
189
|
+
|
|
190
|
+
return NextResponse.json({ conversations: filtered });
|
|
186
191
|
} catch (err: any) {
|
|
187
192
|
return NextResponse.json({ error: err.message }, { status: 500 });
|
|
188
193
|
}
|
|
@@ -1087,6 +1087,12 @@ html, body {
|
|
|
1087
1087
|
white-space: nowrap;
|
|
1088
1088
|
}
|
|
1089
1089
|
.agent-response th { background: var(--bg-tertiary); font-weight: 600; }
|
|
1090
|
+
/* Safety net: hide leaked Antigravity IDE interactive elements (@mention SVGs, copy buttons) */
|
|
1091
|
+
.agent-response svg[class*="cursor-pointer"],
|
|
1092
|
+
.agent-response [class*="cursor-pointer"][class*="opacity-70"],
|
|
1093
|
+
.agent-response button[class*="opacity-70"] { display: none !important; }
|
|
1094
|
+
/* Constrain any stray SVGs that don't have explicit sizing */
|
|
1095
|
+
.agent-response svg:not([width]):not([class]) { max-width: 1.2em; max-height: 1.2em; }
|
|
1090
1096
|
|
|
1091
1097
|
/* ══════════════════════════════════════════════
|
|
1092
1098
|
TABLET — ≥ 480px (landscape phones, small tablets)
|
|
@@ -3,19 +3,16 @@
|
|
|
3
3
|
import type { SSEStep } from '@/lib/types';
|
|
4
4
|
import ToolCallCard from './tool-call-card';
|
|
5
5
|
import ThinkingBlock from './thinking-block';
|
|
6
|
-
import HITLDialog from './hitl-dialog';
|
|
7
6
|
import TypingIndicator from './typing-indicator';
|
|
8
7
|
|
|
9
8
|
interface AgentMessageProps {
|
|
10
9
|
content: string;
|
|
11
10
|
steps: SSEStep[];
|
|
12
11
|
isStreaming: boolean;
|
|
13
|
-
onApprove: () => void;
|
|
14
|
-
onReject: () => void;
|
|
15
12
|
onRetry?: () => void;
|
|
16
13
|
}
|
|
17
14
|
|
|
18
|
-
export default function AgentMessage({ content, steps, isStreaming,
|
|
15
|
+
export default function AgentMessage({ content, steps, isStreaming, onRetry }: AgentMessageProps) {
|
|
19
16
|
return (
|
|
20
17
|
<div className={`agent-message ${isStreaming ? 'streaming' : ''}`}>
|
|
21
18
|
<div className="agent-steps">
|
|
@@ -26,7 +23,9 @@ export default function AgentMessage({ content, steps, isStreaming, onApprove, o
|
|
|
26
23
|
case 'tool_call':
|
|
27
24
|
return <ToolCallCard key={`step-${i}`} data={step.data} />;
|
|
28
25
|
case 'hitl':
|
|
29
|
-
|
|
26
|
+
// HITL is handled via footerButtons on tool call cards directly.
|
|
27
|
+
// No separate modal needed.
|
|
28
|
+
return null;
|
|
30
29
|
case 'file_change':
|
|
31
30
|
return (
|
|
32
31
|
<div key={`step-${i}`} className="file-change-indicator">
|
|
@@ -50,8 +50,6 @@ export default function ChatContainer() {
|
|
|
50
50
|
currentSteps={chat.currentSteps}
|
|
51
51
|
currentResponse={chat.currentResponse}
|
|
52
52
|
isStreaming={chat.isStreaming}
|
|
53
|
-
onApprove={chat.approve}
|
|
54
|
-
onReject={chat.reject}
|
|
55
53
|
onRetry={async () => {
|
|
56
54
|
try {
|
|
57
55
|
// To retry, we ping health and maybe trigger a status update
|
|
@@ -9,19 +9,17 @@ interface MessageListProps {
|
|
|
9
9
|
currentSteps: SSEStep[];
|
|
10
10
|
currentResponse: string;
|
|
11
11
|
isStreaming: boolean;
|
|
12
|
-
onApprove: () => void;
|
|
13
|
-
onReject: () => void;
|
|
14
12
|
onRetry?: () => void;
|
|
15
13
|
}
|
|
16
14
|
|
|
17
|
-
export default function MessageList({ messages, currentSteps, currentResponse, isStreaming,
|
|
15
|
+
export default function MessageList({ messages, currentSteps, currentResponse, isStreaming, onRetry }: MessageListProps) {
|
|
18
16
|
return (
|
|
19
17
|
<>
|
|
20
18
|
{messages.map((msg, i) => (
|
|
21
19
|
msg.role === 'user' ? (
|
|
22
20
|
<UserMessage key={`msg-${i}`} content={msg.content} />
|
|
23
21
|
) : (
|
|
24
|
-
<AgentMessage key={`msg-${i}`} content={msg.content} steps={msg.steps || []} isStreaming={false}
|
|
22
|
+
<AgentMessage key={`msg-${i}`} content={msg.content} steps={msg.steps || []} isStreaming={false} onRetry={onRetry} />
|
|
25
23
|
)
|
|
26
24
|
))}
|
|
27
25
|
|
|
@@ -31,8 +29,6 @@ export default function MessageList({ messages, currentSteps, currentResponse, i
|
|
|
31
29
|
content={currentResponse}
|
|
32
30
|
steps={currentSteps}
|
|
33
31
|
isStreaming={true}
|
|
34
|
-
onApprove={onApprove}
|
|
35
|
-
onReject={onReject}
|
|
36
32
|
onRetry={onRetry}
|
|
37
33
|
/>
|
|
38
34
|
)}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// Check the current state of standalone window (agent should be idle now)
|
|
2
|
+
const puppeteer = require('puppeteer-core');
|
|
3
|
+
(async () => {
|
|
4
|
+
const browser = await puppeteer.connect({ browserURL: 'http://localhost:9223' });
|
|
5
|
+
const pages = await browser.pages();
|
|
6
|
+
let p = null;
|
|
7
|
+
for (const pg of pages) { const t = await pg.title(); if (t.includes('standalone')) { p = pg; break; } }
|
|
8
|
+
if (!p) { console.log('no page'); await browser.disconnect(); return; }
|
|
9
|
+
|
|
10
|
+
const d = await p.evaluate(() => {
|
|
11
|
+
const panel = document.querySelector('.antigravity-agent-side-panel');
|
|
12
|
+
if (!panel) return {error:'no panel'};
|
|
13
|
+
|
|
14
|
+
// Spinners
|
|
15
|
+
let spinners = 0;
|
|
16
|
+
for (const s of panel.querySelectorAll('.animate-spin')) {
|
|
17
|
+
let el = s, hidden = false;
|
|
18
|
+
while (el) { const c = el.getAttribute && el.getAttribute('class') || ''; if (c.includes('invisible')||c.includes('opacity-0')) { hidden=true; break; } el=el.parentElement; }
|
|
19
|
+
if (!hidden) spinners++;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Input area
|
|
23
|
+
const inputArea = document.querySelector('[id="antigravity.agentSidePanelInputBox"]');
|
|
24
|
+
const wrapper = inputArea && (inputArea.closest('.flex') || (inputArea.parentElement && inputArea.parentElement.parentElement));
|
|
25
|
+
const btns = wrapper ? Array.from(wrapper.querySelectorAll('button')) : [];
|
|
26
|
+
|
|
27
|
+
let hasSend = false;
|
|
28
|
+
for (const b of btns) { if ((b.getAttribute('data-tooltip-id')||'').includes('send')) hasSend = true; }
|
|
29
|
+
|
|
30
|
+
const summaries = btns.map(b => {
|
|
31
|
+
const svgEls = Array.from(b.querySelectorAll('svg'));
|
|
32
|
+
return {
|
|
33
|
+
text: (b.textContent||'').trim().substring(0,20),
|
|
34
|
+
tip: b.getAttribute('data-tooltip-id')||'',
|
|
35
|
+
disabled: b.hasAttribute('disabled'),
|
|
36
|
+
svgs: svgEls.map(s => s.getAttribute('class')||'')
|
|
37
|
+
};
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
// Check if agent has finished - look for thinking blocks or tool calls still executing
|
|
41
|
+
const allPanelBtns = Array.from(panel.querySelectorAll('button'));
|
|
42
|
+
const cancelBtns = allPanelBtns.filter(b => (b.textContent||'').trim() === 'Cancel');
|
|
43
|
+
|
|
44
|
+
// Check the conversation for any active indicators
|
|
45
|
+
const pulseEls = panel.querySelectorAll('.animate-pulse');
|
|
46
|
+
const typingEls = panel.querySelectorAll('.typing-indicator');
|
|
47
|
+
|
|
48
|
+
return {
|
|
49
|
+
spinners,
|
|
50
|
+
wrapperBtns: btns.length,
|
|
51
|
+
hasSendButton: hasSend,
|
|
52
|
+
buttons: summaries,
|
|
53
|
+
cancelBtns: cancelBtns.length,
|
|
54
|
+
pulseElements: pulseEls.length,
|
|
55
|
+
typingIndicators: typingEls.length,
|
|
56
|
+
totalPanelBtns: allPanelBtns.length,
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
console.log(JSON.stringify(d, null, 2));
|
|
61
|
+
|
|
62
|
+
// Summary
|
|
63
|
+
console.log('\n--- SUMMARY ---');
|
|
64
|
+
console.log('Send button present:', d.hasSendButton);
|
|
65
|
+
console.log('Wrapper buttons:', d.wrapperBtns);
|
|
66
|
+
console.log('Spinners:', d.spinners);
|
|
67
|
+
console.log('Cancel buttons:', d.cancelBtns);
|
|
68
|
+
console.log('Pulse animations:', d.pulseElements);
|
|
69
|
+
console.log('With fix, isRunning would be:', !d.hasSendButton);
|
|
70
|
+
|
|
71
|
+
await browser.disconnect();
|
|
72
|
+
})().catch(e => console.error(e.message));
|
|
@@ -117,8 +117,25 @@ export function useChat() {
|
|
|
117
117
|
const { type, ...data } = payload;
|
|
118
118
|
|
|
119
119
|
switch (type) {
|
|
120
|
-
case 'thinking':
|
|
121
120
|
case 'tool_call':
|
|
121
|
+
// Update existing tool call in-place, or append if new
|
|
122
|
+
setCurrentSteps(prev => {
|
|
123
|
+
const existingIdx = prev.findIndex(
|
|
124
|
+
s => s.type === 'tool_call' && s.data?.id === data.id
|
|
125
|
+
);
|
|
126
|
+
let updated;
|
|
127
|
+
if (existingIdx >= 0) {
|
|
128
|
+
updated = [...prev];
|
|
129
|
+
updated[existingIdx] = { type, data };
|
|
130
|
+
} else {
|
|
131
|
+
updated = [...prev, { type, data }];
|
|
132
|
+
}
|
|
133
|
+
currentStepsRef.current = updated;
|
|
134
|
+
return updated;
|
|
135
|
+
});
|
|
136
|
+
break;
|
|
137
|
+
|
|
138
|
+
case 'thinking':
|
|
122
139
|
case 'hitl':
|
|
123
140
|
case 'file_change':
|
|
124
141
|
case 'error':
|
|
@@ -124,13 +124,23 @@ export async function getFullAgentState(ctx: ProxyContext): Promise<AgentState>
|
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
//
|
|
127
|
+
// Detection logic:
|
|
128
|
+
// - If stop button found → definitely running
|
|
129
|
+
// - If send button found → definitely idle
|
|
130
|
+
// - If NEITHER found (send button removed from DOM) → running
|
|
131
|
+
// Antigravity removes the send button entirely while the agent is
|
|
132
|
+
// active; no stop icon replaces it. The wrapper drops from 4 to 3
|
|
133
|
+
// buttons (Plus, Mode, Mic — no Send).
|
|
128
134
|
if (hasStop) {
|
|
129
135
|
isRunning = true;
|
|
130
136
|
buttonStateDefinitive = true;
|
|
131
137
|
} else if (hasSend) {
|
|
132
138
|
isRunning = false;
|
|
133
139
|
buttonStateDefinitive = true;
|
|
140
|
+
} else {
|
|
141
|
+
// Send button absent from wrapper — agent is running
|
|
142
|
+
isRunning = true;
|
|
143
|
+
buttonStateDefinitive = true;
|
|
134
144
|
}
|
|
135
145
|
}
|
|
136
146
|
}
|
|
@@ -197,14 +207,25 @@ export async function getFullAgentState(ctx: ProxyContext): Promise<AgentState>
|
|
|
197
207
|
const scopeEl = lastTurn || panel;
|
|
198
208
|
|
|
199
209
|
// HITL button detection helper
|
|
210
|
+
// These are REAL approval/rejection actions from the agent.
|
|
211
|
+
// Excludes Antigravity workspace-chrome buttons like 'Relocate',
|
|
212
|
+
// 'Ask every time' which appear on every tool call for file location
|
|
213
|
+
// preferences and are NOT actual HITL approval actions.
|
|
200
214
|
const HITL_WORDS = [
|
|
201
215
|
'run', 'proceed', 'approve', 'allow', 'yes', 'accept',
|
|
202
216
|
'continue', 'save', 'confirm', 'deny', 'reject', 'cancel', 'no',
|
|
203
|
-
'allow once', 'allow this conversation',
|
|
217
|
+
'allow once', 'allow this conversation',
|
|
218
|
+
];
|
|
219
|
+
// Workspace-chrome buttons that should NEVER be treated as HITL
|
|
220
|
+
const NON_HITL_WORDS = [
|
|
221
|
+
'relocate', 'ask every time', 'show in explorer',
|
|
222
|
+
'open in editor', 'copy path', 'reveal',
|
|
204
223
|
];
|
|
205
224
|
const isHitlAction = (text: string) => {
|
|
206
225
|
if (!text) return false;
|
|
207
226
|
const lower = text.trim().toLowerCase();
|
|
227
|
+
// Explicitly exclude workspace-chrome buttons first
|
|
228
|
+
if (NON_HITL_WORDS.some((w) => lower === w || lower.startsWith(w))) return false;
|
|
208
229
|
return HITL_WORDS.some((w) => lower === w || lower.startsWith(w));
|
|
209
230
|
};
|
|
210
231
|
|
|
@@ -421,25 +442,21 @@ export async function getFullAgentState(ctx: ProxyContext): Promise<AgentState>
|
|
|
421
442
|
|
|
422
443
|
let allRowBtns = Array.from(rowEl.querySelectorAll('button'));
|
|
423
444
|
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
445
|
+
// Check immediately adjacent siblings for HITL buttons
|
|
446
|
+
// (e.g., a permission bar rendered right after the tool row).
|
|
447
|
+
// Do NOT walk up to shared ancestors — that picks up buttons
|
|
448
|
+
// belonging to completely different tool calls.
|
|
449
|
+
const nextSib = rowEl.nextElementSibling;
|
|
450
|
+
if (nextSib) {
|
|
451
|
+
const sibBtns = Array.from(
|
|
452
|
+
nextSib.querySelectorAll('button')
|
|
430
453
|
) as HTMLButtonElement[];
|
|
431
|
-
for (const btn of
|
|
454
|
+
for (const btn of sibBtns) {
|
|
432
455
|
const t = (btn.textContent || '').trim().toLowerCase();
|
|
433
|
-
if (isHitlAction(t)
|
|
434
|
-
|
|
456
|
+
if (isHitlAction(t)) {
|
|
457
|
+
allRowBtns.push(btn);
|
|
435
458
|
}
|
|
436
459
|
}
|
|
437
|
-
if (foundPermBtns.length > 0 && foundPermBtns.length < 5) {
|
|
438
|
-
allRowBtns = [...allRowBtns, ...foundPermBtns];
|
|
439
|
-
break;
|
|
440
|
-
}
|
|
441
|
-
ancestor = ancestor.parentElement;
|
|
442
|
-
depth++;
|
|
443
460
|
}
|
|
444
461
|
|
|
445
462
|
allRowBtns = [...new Set(allRowBtns)];
|
|
@@ -639,6 +656,8 @@ export async function getFullAgentState(ctx: ProxyContext): Promise<AgentState>
|
|
|
639
656
|
for (const block of notifyBlocks) {
|
|
640
657
|
const clone = block.cloneNode(true) as Element;
|
|
641
658
|
clone.querySelectorAll('style, script').forEach((el) => el.remove());
|
|
659
|
+
// Remove Antigravity interactive UI elements (@ mention buttons, copy buttons, etc.)
|
|
660
|
+
clone.querySelectorAll('svg.cursor-pointer, [class*="cursor-pointer"][class*="opacity-70"], button[class*="opacity-70"]').forEach((el) => el.remove());
|
|
642
661
|
const html = (clone as HTMLElement).innerHTML?.trim();
|
|
643
662
|
if (html) notifications.push(html);
|
|
644
663
|
}
|
|
@@ -664,6 +683,13 @@ export async function getFullAgentState(ctx: ProxyContext): Promise<AgentState>
|
|
|
664
683
|
for (const block of finalBlocks) {
|
|
665
684
|
const clone = block.cloneNode(true) as Element;
|
|
666
685
|
clone.querySelectorAll('style, script').forEach((el) => el.remove());
|
|
686
|
+
// Remove Antigravity interactive UI chrome elements:
|
|
687
|
+
// - SVGs with cursor-pointer (@ mention, copy icons near code blocks)
|
|
688
|
+
// - Elements with opacity-70 hover:opacity-100 pattern (interactive buttons)
|
|
689
|
+
// - Standalone action buttons that are part of the IDE, not the response
|
|
690
|
+
clone.querySelectorAll(
|
|
691
|
+
'svg.cursor-pointer, [class*="cursor-pointer"][class*="opacity-70"], button[class*="opacity-70"]'
|
|
692
|
+
).forEach((el) => el.remove());
|
|
667
693
|
const html = (clone as HTMLElement).innerHTML?.trim();
|
|
668
694
|
if (html) responses.push(html);
|
|
669
695
|
}
|
|
@@ -104,6 +104,10 @@ export async function getChatHistory(ctx: ProxyContext): Promise<ChatHistory> {
|
|
|
104
104
|
|
|
105
105
|
const clone = el.cloneNode(true) as Element;
|
|
106
106
|
clone.querySelectorAll('style, script').forEach((n) => n.remove());
|
|
107
|
+
// Remove Antigravity interactive UI chrome (@ mention SVGs, copy buttons, etc.)
|
|
108
|
+
clone.querySelectorAll(
|
|
109
|
+
'svg.cursor-pointer, [class*="cursor-pointer"][class*="opacity-70"], button[class*="opacity-70"]'
|
|
110
|
+
).forEach((n) => n.remove());
|
|
107
111
|
const html = (clone as HTMLElement).innerHTML?.trim();
|
|
108
112
|
if (!html) continue;
|
|
109
113
|
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workspace-based conversation filtering.
|
|
3
|
+
*
|
|
4
|
+
* Extracts the workspace/project path from the active IDE window title,
|
|
5
|
+
* then scans brain conversation artifacts for matching file references.
|
|
6
|
+
* Results are cached in-memory with mtime-based invalidation.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import fs from 'fs';
|
|
10
|
+
import path from 'path';
|
|
11
|
+
import os from 'os';
|
|
12
|
+
import { logger } from '../logger';
|
|
13
|
+
|
|
14
|
+
const BRAIN_DIR = path.join(os.homedir(), '.gemini', 'antigravity', 'brain');
|
|
15
|
+
|
|
16
|
+
// Cache: conversationId → { workspace paths found, mtime of latest artifact }
|
|
17
|
+
interface CacheEntry {
|
|
18
|
+
workspacePaths: string[]; // project folder names found in this conversation's artifacts
|
|
19
|
+
latestMtime: number; // latest artifact mtime at time of scan
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const cache = new Map<string, CacheEntry>();
|
|
23
|
+
|
|
24
|
+
// Common file path patterns in .md artifacts (absolute paths on Linux/macOS/Windows)
|
|
25
|
+
const FILE_PATH_REGEX = /(?:\/(?:home|Users|root|tmp|var|opt|etc)\/[^\s),`'">\]]+)|(?:[A-Z]:\\[^\s),`'">\]]+)/g;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Extract the workspace/project name from the IDE window title.
|
|
29
|
+
* Antigravity window titles typically look like:
|
|
30
|
+
* "project_name - Antigravity"
|
|
31
|
+
* "file.ts - project_name - Antigravity"
|
|
32
|
+
* We extract the folder/project name part.
|
|
33
|
+
*/
|
|
34
|
+
export function extractProjectFromWindowTitle(windowTitle: string | undefined): string | null {
|
|
35
|
+
if (!windowTitle) return null;
|
|
36
|
+
|
|
37
|
+
const parts = windowTitle.split(' - ').map(p => p.trim());
|
|
38
|
+
// The project name is typically the second-to-last segment before "Antigravity"
|
|
39
|
+
// or the first segment if there are only 2 parts
|
|
40
|
+
if (parts.length >= 2) {
|
|
41
|
+
// Find the part that looks like a project name (not "Antigravity" and not a file name)
|
|
42
|
+
for (let i = parts.length - 2; i >= 0; i--) {
|
|
43
|
+
const part = parts[i];
|
|
44
|
+
// Skip if it looks like a filename with extension
|
|
45
|
+
if (part.includes('.') && !part.includes('/') && !part.includes('\\')) continue;
|
|
46
|
+
// Skip "Antigravity" itself
|
|
47
|
+
if (part.toLowerCase() === 'antigravity') continue;
|
|
48
|
+
return part;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Scan a brain conversation directory's artifacts for file paths,
|
|
57
|
+
* and extract unique project/workspace folder names from them.
|
|
58
|
+
*/
|
|
59
|
+
function scanConversationForWorkspaces(convId: string): string[] {
|
|
60
|
+
const convDir = path.join(BRAIN_DIR, convId);
|
|
61
|
+
const workspaces = new Set<string>();
|
|
62
|
+
|
|
63
|
+
try {
|
|
64
|
+
const entries = fs.readdirSync(convDir, { recursive: true, withFileTypes: true });
|
|
65
|
+
for (const entry of entries) {
|
|
66
|
+
if (!entry.isFile() || !entry.name.endsWith('.md')) continue;
|
|
67
|
+
|
|
68
|
+
// Skip hidden directories
|
|
69
|
+
// @ts-ignore - Node 20+ parentPath
|
|
70
|
+
const parentDir = entry.parentPath || entry.path || convDir;
|
|
71
|
+
const fullPath = path.join(parentDir, entry.name);
|
|
72
|
+
const relPath = path.relative(convDir, fullPath);
|
|
73
|
+
if (relPath.split(/[\/\\]/).some((p: string) => p.startsWith('.'))) continue;
|
|
74
|
+
|
|
75
|
+
try {
|
|
76
|
+
// Read only first 5KB of each file to keep it fast
|
|
77
|
+
const fd = fs.openSync(fullPath, 'r');
|
|
78
|
+
const buffer = Buffer.alloc(5120);
|
|
79
|
+
const bytesRead = fs.readSync(fd, buffer, 0, 5120, 0);
|
|
80
|
+
fs.closeSync(fd);
|
|
81
|
+
|
|
82
|
+
const content = buffer.toString('utf-8', 0, bytesRead);
|
|
83
|
+
|
|
84
|
+
// Extract file paths and identify project folders
|
|
85
|
+
const matches = content.matchAll(FILE_PATH_REGEX);
|
|
86
|
+
for (const match of matches) {
|
|
87
|
+
const filePath = match[0];
|
|
88
|
+
// Extract meaningful path segments — look for common project root patterns
|
|
89
|
+
// e.g., /home/user/repos/project_name/... → "project_name"
|
|
90
|
+
// e.g., C:\Users\user\repos\project_name\... → "project_name"
|
|
91
|
+
// Normalize backslashes to forward slashes for consistent parsing
|
|
92
|
+
const normalizedPath = filePath.replace(/\\/g, '/');
|
|
93
|
+
const segments = normalizedPath.split('/').filter(Boolean);
|
|
94
|
+
// Strip drive letter (e.g. "C:" → skip it)
|
|
95
|
+
if (segments.length > 0 && /^[A-Z]:$/i.test(segments[0])) {
|
|
96
|
+
segments.shift();
|
|
97
|
+
}
|
|
98
|
+
// Find segments after common parent dirs (home/username, repos, projects, etc.)
|
|
99
|
+
for (let i = 0; i < segments.length - 1; i++) {
|
|
100
|
+
const seg = segments[i];
|
|
101
|
+
if (['home', 'Users', 'root', 'repos', 'projects', 'src', 'dev', 'work', 'code'].includes(seg)) {
|
|
102
|
+
// The next non-username segment is likely a project name
|
|
103
|
+
const candidate = segments[i + 1];
|
|
104
|
+
if (candidate && !['repos', 'projects', 'src', 'dev', 'work', 'code', '.config', '.local', '.gemini'].includes(candidate)) {
|
|
105
|
+
// If this segment is after 'home', it's likely the username, skip one more
|
|
106
|
+
if (seg === 'home' || seg === 'Users') {
|
|
107
|
+
const projectCandidate = segments[i + 2];
|
|
108
|
+
if (projectCandidate && !['repos', 'projects', 'src', 'dev', 'work', 'code', '.config', '.local', '.gemini', '.cache'].includes(projectCandidate)) {
|
|
109
|
+
workspaces.add(projectCandidate);
|
|
110
|
+
} else if (segments[i + 3]) {
|
|
111
|
+
workspaces.add(segments[i + 3]);
|
|
112
|
+
}
|
|
113
|
+
} else {
|
|
114
|
+
workspaces.add(candidate);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
} catch {
|
|
121
|
+
// Skip unreadable files
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
} catch {
|
|
125
|
+
// Directory doesn't exist or is unreadable
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
return Array.from(workspaces);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Get the latest mtime for artifacts in a conversation directory.
|
|
133
|
+
*/
|
|
134
|
+
function getLatestMtime(convId: string): number {
|
|
135
|
+
const convDir = path.join(BRAIN_DIR, convId);
|
|
136
|
+
let latest = 0;
|
|
137
|
+
try {
|
|
138
|
+
const entries = fs.readdirSync(convDir, { recursive: true, withFileTypes: true });
|
|
139
|
+
for (const entry of entries) {
|
|
140
|
+
if (!entry.isFile()) continue;
|
|
141
|
+
// @ts-ignore
|
|
142
|
+
const parentDir = entry.parentPath || entry.path || convDir;
|
|
143
|
+
const fullPath = path.join(parentDir, entry.name);
|
|
144
|
+
try {
|
|
145
|
+
const stat = fs.statSync(fullPath);
|
|
146
|
+
if (stat.mtimeMs > latest) latest = stat.mtimeMs;
|
|
147
|
+
} catch { /* skip */ }
|
|
148
|
+
}
|
|
149
|
+
} catch { /* skip */ }
|
|
150
|
+
return latest;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Get workspace paths for a conversation, using cache when possible.
|
|
155
|
+
*/
|
|
156
|
+
function getWorkspacesForConversation(convId: string): string[] {
|
|
157
|
+
const currentMtime = getLatestMtime(convId);
|
|
158
|
+
const cached = cache.get(convId);
|
|
159
|
+
|
|
160
|
+
if (cached && cached.latestMtime >= currentMtime) {
|
|
161
|
+
return cached.workspacePaths;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
const workspacePaths = scanConversationForWorkspaces(convId);
|
|
165
|
+
cache.set(convId, { workspacePaths, latestMtime: currentMtime });
|
|
166
|
+
return workspacePaths;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Filter conversations to only include those related to the current project/workspace.
|
|
171
|
+
*
|
|
172
|
+
* @param conversations - Full list of conversations with brain IDs
|
|
173
|
+
* @param windowTitle - The active IDE window title (e.g., "ide_agent - Antigravity")
|
|
174
|
+
* @returns Filtered list — conversations matching the current project + the active conversation
|
|
175
|
+
*/
|
|
176
|
+
export function filterConversationsByWorkspace<T extends { id: string; active?: boolean; title: string }>(
|
|
177
|
+
conversations: T[],
|
|
178
|
+
windowTitle: string | undefined
|
|
179
|
+
): T[] {
|
|
180
|
+
const projectName = extractProjectFromWindowTitle(windowTitle);
|
|
181
|
+
|
|
182
|
+
if (!projectName) {
|
|
183
|
+
logger.info('[WorkspaceFilter] Could not extract project name from window title, returning all conversations.');
|
|
184
|
+
return conversations;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
logger.info(`[WorkspaceFilter] Filtering conversations for project: "${projectName}"`);
|
|
188
|
+
|
|
189
|
+
const filtered = conversations.filter((conv) => {
|
|
190
|
+
// Always include the active conversation
|
|
191
|
+
if (conv.active) return true;
|
|
192
|
+
|
|
193
|
+
// If we don't have a valid brain ID, we can't check artifacts — include it as a fallback
|
|
194
|
+
if (!conv.id || conv.id === '-1' || /^\d+$/.test(conv.id)) return true;
|
|
195
|
+
|
|
196
|
+
// Check if this conversation's artifacts reference the current project
|
|
197
|
+
const workspaces = getWorkspacesForConversation(conv.id);
|
|
198
|
+
const matches = workspaces.some(ws =>
|
|
199
|
+
ws.toLowerCase() === projectName.toLowerCase() ||
|
|
200
|
+
ws.toLowerCase().includes(projectName.toLowerCase()) ||
|
|
201
|
+
projectName.toLowerCase().includes(ws.toLowerCase())
|
|
202
|
+
);
|
|
203
|
+
|
|
204
|
+
return matches;
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
logger.info(`[WorkspaceFilter] ${filtered.length}/${conversations.length} conversations match project "${projectName}"`);
|
|
208
|
+
return filtered;
|
|
209
|
+
}
|
|
@@ -53,10 +53,25 @@ export function diffStates(prev: AgentState, curr: AgentState): SSEStep[] {
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
// HITL state changes
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
// Detect actual HITL approval requests by checking for real approval/deny
|
|
57
|
+
// buttons in footerButtons — NOT hasCancelBtn which just means a command
|
|
58
|
+
// is still executing (the Cancel button on running tools).
|
|
59
|
+
const HITL_APPROVAL_WORDS = [
|
|
60
|
+
'run', 'proceed', 'approve', 'allow', 'yes', 'accept',
|
|
61
|
+
'deny', 'reject',
|
|
62
|
+
'allow once', 'allow this conversation',
|
|
63
|
+
];
|
|
64
|
+
const hasApprovalButtons = (t: typeof curr.toolCalls[0]) =>
|
|
65
|
+
t.footerButtons &&
|
|
66
|
+
t.footerButtons.some((btn) =>
|
|
67
|
+
HITL_APPROVAL_WORDS.some(
|
|
68
|
+
(w) => btn.toLowerCase() === w || btn.toLowerCase().startsWith(w)
|
|
69
|
+
)
|
|
70
|
+
);
|
|
71
|
+
const prevHITL = prev.toolCalls.some(hasApprovalButtons);
|
|
72
|
+
const currHITL = curr.toolCalls.some(hasApprovalButtons);
|
|
58
73
|
if (currHITL && !prevHITL) {
|
|
59
|
-
const hitlTool = curr.toolCalls.find(
|
|
74
|
+
const hitlTool = curr.toolCalls.find(hasApprovalButtons);
|
|
60
75
|
events.push({
|
|
61
76
|
type: 'hitl',
|
|
62
77
|
data: { action: 'approval_required', tool: hitlTool } as any,
|