@mcp-b/transports 0.1.6 → 0.1.8
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/dist/.tsbuildinfo +1 -1
- package/dist/index.d.ts +121 -210
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +28 -32
package/dist/.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"fileNames":["../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.12.3/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/types.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/helpers/typealiases.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/helpers/util.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/zoderror.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/locales/en.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/errors.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/helpers/parseutil.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/helpers/enumutil.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/helpers/errorutil.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/helpers/partialutil.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/standard-schema.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/types.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/external.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/index.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/index.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.12.3/node_modules/@modelcontextprotocol/sdk/dist/esm/types.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.12.3/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.d.ts","../src/browserwebsocketclienttransport.ts","../src/extensionclienttransport.ts","../src/extensionservertransport.ts","../src/tabclienttransport.ts","../src/tabservertransport.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/ws/index.d.mts","../src/websocketclienttransport.ts","../src/websocketservertransport.ts","../src/browser-types.ts","../src/index.ts","../../../node_modules/.pnpm/domelementtype@2.3.0/node_modules/domelementtype/lib/esm/index.d.ts","../../../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/esm/node.d.ts","../../../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/esm/index.d.ts","../../../node_modules/.pnpm/htmlparser2@10.0.0/node_modules/htmlparser2/dist/esm/tokenizer.d.ts","../../../node_modules/.pnpm/htmlparser2@10.0.0/node_modules/htmlparser2/dist/esm/parser.d.ts","../../../node_modules/.pnpm/dom-serializer@2.0.0/node_modules/dom-serializer/lib/esm/index.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/stringify.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/traversal.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/manipulation.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/querying.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/legacy.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/helpers.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/feeds.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/index.d.ts","../../../node_modules/.pnpm/htmlparser2@10.0.0/node_modules/htmlparser2/dist/esm/index.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/html.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/token.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/error-codes.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tokenizer/preprocessor.d.ts","../../../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/esm/generated/decode-data-html.d.ts","../../../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts","../../../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/esm/decode-codepoint.d.ts","../../../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/esm/decode.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tokenizer/index.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tree-adapters/interface.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/open-element-stack.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/formatting-element-list.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/index.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tree-adapters/default.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/serializer/index.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/foreign-content.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/index.d.ts","../../../node_modules/.pnpm/parse5-htmlparser2-tree-adapter@7.1.0/node_modules/parse5-htmlparser2-tree-adapter/dist/index.d.ts","../../../node_modules/.pnpm/css-what@6.1.0/node_modules/css-what/lib/es/types.d.ts","../../../node_modules/.pnpm/css-what@6.1.0/node_modules/css-what/lib/es/parse.d.ts","../../../node_modules/.pnpm/css-what@6.1.0/node_modules/css-what/lib/es/stringify.d.ts","../../../node_modules/.pnpm/css-what@6.1.0/node_modules/css-what/lib/es/index.d.ts","../../../node_modules/.pnpm/css-select@5.1.0/node_modules/css-select/lib/esm/types.d.ts","../../../node_modules/.pnpm/css-select@5.1.0/node_modules/css-select/lib/esm/pseudo-selectors/filters.d.ts","../../../node_modules/.pnpm/css-select@5.1.0/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.d.ts","../../../node_modules/.pnpm/css-select@5.1.0/node_modules/css-select/lib/esm/pseudo-selectors/aliases.d.ts","../../../node_modules/.pnpm/css-select@5.1.0/node_modules/css-select/lib/esm/pseudo-selectors/index.d.ts","../../../node_modules/.pnpm/css-select@5.1.0/node_modules/css-select/lib/esm/index.d.ts","../../../node_modules/.pnpm/cheerio-select@2.1.0/node_modules/cheerio-select/lib/esm/index.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/options.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/api/attributes.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/api/traversing.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/api/manipulation.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/api/css.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/api/forms.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/api/extract.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/cheerio.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/types.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/static.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/load.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/load-parse.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/slim.d.ts","../../../node_modules/.pnpm/encoding-sniffer@0.2.1/node_modules/encoding-sniffer/dist/esm/sniffer.d.ts","../../../node_modules/.pnpm/encoding-sniffer@0.2.1/node_modules/encoding-sniffer/dist/esm/index.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/utility.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/header.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/readable.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/fetch.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/formdata.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/connector.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/client-stats.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/client.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/errors.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/dispatcher.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/global-origin.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/pool-stats.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/pool.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/handlers.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/h2c-client.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/agent.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/mock-call-history.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/mock-agent.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/mock-client.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/mock-pool.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/mock-errors.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/retry-handler.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/retry-agent.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/api.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/cache-interceptor.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/interceptors.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/util.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/cookies.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/patch.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/websocket.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/eventsource.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/content-type.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/cache.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/index.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/index.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/index.d.ts","../../../node_modules/.pnpm/@types+har-format@1.2.16/node_modules/@types/har-format/index.d.ts","../../../node_modules/.pnpm/@types+chrome@0.0.326/node_modules/@types/chrome/har-format/index.d.ts","../../../node_modules/.pnpm/@types+chrome@0.0.326/node_modules/@types/chrome/chrome-cast/index.d.ts","../../../node_modules/.pnpm/@types+filewriter@0.0.33/node_modules/@types/filewriter/index.d.ts","../../../node_modules/.pnpm/@types+filesystem@0.0.36/node_modules/@types/filesystem/index.d.ts","../../../node_modules/.pnpm/@types+chrome@0.0.326/node_modules/@types/chrome/index.d.ts","../../../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/ws/index.d.ts"],"fileIdsList":[[87,130],[60,75,87,130],[74,87,130],[87,130,287],[87,130,288,289,291],[87,130,290],[87,127,130],[87,129,130],[130],[87,130,135,165],[87,130,131,136,142,143,150,162,173],[87,130,131,132,142,150],[82,83,84,87,130],[87,130,133,174],[87,130,134,135,143,151],[87,130,135,162,170],[87,130,136,138,142,150],[87,129,130,137],[87,130,138,139],[87,130,140,142],[87,129,130,142],[87,130,142,143,144,162,173],[87,130,142,143,144,157,162,165],[87,125,130],[87,125,130,138,142,145,150,162,173],[87,130,142,143,145,146,150,162,170,173],[87,130,145,147,162,170,173],[85,86,87,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179],[87,130,142,148],[87,130,149,173],[87,130,138,142,150,162],[87,130,151],[87,130,152],[87,129,130,153],[87,127,128,129,130,131,132,133,134,135,136,137,138,139,140,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179],[87,130,155],[87,130,156],[87,130,142,157,158],[87,130,157,159,174,176],[87,130,142,162,163,165],[87,130,164,165],[87,130,162,163],[87,130,165],[87,130,166],[87,127,130,162],[87,130,142,168,169],[87,130,168,169],[87,130,135,150,162,170],[87,130,171],[87,130,150,172],[87,130,145,156,173],[87,130,135,174],[87,130,162,175],[87,130,149,176],[87,130,177],[87,130,142,144,153,162,165,173,176,178],[87,130,162,179],[87,130,142,145,147,150,162,170,173,179,180],[87,130,188,228],[87,130,188,237],[87,130,188,231,237],[87,130,188,237,238],[87,130,188,230,231,232,233,234,235,236,238],[87,130,162,230,238,239,240,241,242,244,285],[87,130,188,230,240],[87,130,188,230,237,238,239],[87,130,188,191,200,217,218,229],[87,130,188,230,237,238,239,240],[87,130,188,230,236,237,238,240],[87,130,222,223,227],[87,130,223],[87,130,222,223,224,225,226],[87,130,222,223],[87,130,222],[87,130,219,220,221],[87,130,219],[87,130,188],[87,130,187],[87,130,186],[87,130,188,192,193,194,195,196,197,198],[87,130,186,188],[87,130,188,191],[87,130,162,243],[87,130,205,206,207],[87,130,186,188,189,190,199],[87,130,189],[87,130,188,217],[87,130,202],[87,130,201,202],[87,130,201],[87,130,201,202,203,209,210,213,214,215,216],[87,130,202,210],[87,130,201,202,203,209,210,211,212],[87,130,201,210],[87,130,210,214],[87,130,202,203,204,208],[87,130,203],[87,130,201,202,210],[87,97,101,130,173],[87,97,130,162,173],[87,92,130],[87,94,97,130,170,173],[87,130,150,170],[87,130,180],[87,92,130,180],[87,94,97,130,150,173],[87,89,90,93,96,130,142,162,173],[87,97,104,130],[87,89,95,130],[87,97,118,119,130],[87,93,97,130,165,173,180],[87,118,130,180],[87,91,92,130,180],[87,97,130],[87,91,92,93,94,95,96,97,98,99,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,122,123,124,130],[87,97,112,130],[87,97,104,105,130],[87,95,97,105,106,130],[87,96,130],[87,89,92,97,130],[87,97,101,105,106,130],[87,101,130],[87,95,97,100,130,173],[87,89,94,97,104,130],[87,130,162],[87,92,97,118,130,178,180],[87,130,284],[87,130,173,251,254,257,258],[87,130,162,173,254],[87,130,173,254,258],[87,130,248],[87,130,252],[87,130,173,250,251,254],[87,130,180,248],[87,130,150,173,250,254],[87,130,142,162,173,245,246,247,249,253],[87,130,254,262],[87,130,246,252],[87,130,254,278,279],[87,130,165,173,180,246,249,254],[87,130,254],[87,130,173,250,254],[87,130,245],[87,130,248,249,250,252,253,254,255,256,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,279,280,281,282,283],[87,130,138,254,271,274],[87,130,254,262,263,264],[87,130,252,254,263,265],[87,130,253],[87,130,246,248,254],[87,130,254,258,263,265],[87,130,258],[87,130,173,252,254,257],[87,130,246,250,254,262],[87,130,254,271],[87,130,165,178,180,248,254,278],[73,87,130],[63,64,87,130],[61,62,63,65,66,71,87,130],[62,63,87,130],[71,87,130],[72,87,130],[63,87,130],[61,62,63,66,67,68,69,70,87,130],[61,62,73,87,130],[75,87,130],[75,76,87,130],[77,78,79,80,81,87,130,182,183,184],[75,76,87,130,181]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"6bbaa172e4398e6562365e7dca6c2639b8a595b55046c6055706dd2923f7d7c2","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"54f6ec6ea75acea6eb23635617252d249145edbc7bcd9d53f2d70280d2aef953","impliedFormat":1},{"version":"c25ce98cca43a3bfa885862044be0d59557be4ecd06989b2001a83dcf69620fd","impliedFormat":1},{"version":"8e71e53b02c152a38af6aec45e288cc65bede077b92b9b43b3cb54a37978bb33","impliedFormat":1},{"version":"754a9396b14ca3a4241591afb4edc644b293ccc8a3397f49be4dfd520c08acb3","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"de2316e90fc6d379d83002f04ad9698bc1e5285b4d52779778f454dd12ce9f44","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"2da997a01a6aa5c5c09de5d28f0f4407b597c5e1aecfd32f1815809c532650a2","impliedFormat":1},{"version":"5d26d2e47e2352def36f89a3e8bf8581da22b7f857e07ef3114cd52cf4813445","impliedFormat":1},{"version":"3db2efd285e7328d8014b54a7fce3f4861ebcdc655df40517092ed0050983617","impliedFormat":1},{"version":"d5d39a24c759df40480a4bfc0daffd364489702fdbcbdfc1711cde34f8739995","impliedFormat":1},{"version":"b4cf968abdb59faf21fa8a38457bc6d31cc18eff07c1d5f40df95ad87a0b6e80","impliedFormat":99},{"version":"a07daee7d2bf3132c437203f2fb694776a938075b570d339e0d482d85ff3b608","impliedFormat":99},{"version":"4a4ccbb1373e25abffbd6d31305d7482fc2b83bfa1e62259d50f3e07ef9ea907","signature":"00a25f391ab38cfffb6ebaeb0e0959e654deab6b0b8020685e468ca6b5c85a16"},{"version":"adad4d546baa527566e61d0b9625bd5c786715ded16850fbcb0f4b25ced1fd33","signature":"ff5dcf4372c1330044018126270451c0d9a4c63f83c739b9334991468061ae4a"},{"version":"e3673b0d742074da84f4f08b6599338ab7ccfa3bd33bd0b2bac16a963d243b05","signature":"cf35357b11c3ac5385c3fa30335fa725786740b313893fb8df0e6538d8ba9664"},{"version":"4db276a3cdd1fdc6a188413eb1b8758795091e3bde8a46c6ae54319e094c16f0","signature":"21ee733142093f600a17abcecc4424cc54ce71e36c4eabedc505884c29c36cc8"},{"version":"ef1315d0f37611ccbfbbd67023a5582de409fb0eae9ecf5439a73e0a8466303a","signature":"7471d777fed535cf522ba905657d57e733f54f2a5073e6fd208365b79c6b1003"},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"a12d953aa755b14ac1d28ecdc1e184f3285b01d6d1e58abc11bf1826bc9d80e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"a38efe83ff77c34e0f418a806a01ca3910c02ee7d64212a59d59bca6c2c38fa1","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3fe4022ba1e738034e38ad9afacbf0f1f16b458ed516326f5bf9e4a31e9be1dc","impliedFormat":1},{"version":"a957197054b074bcdf5555d26286e8461680c7c878040d0f4e2d5509a7524944","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"e9b97d69510658d2f4199b7d384326b7c4053b9e6645f5c19e1c2a54ede427fc","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f478f6f5902dc144c0d6d7bdc919c5177cac4d17a8ca8653c2daf6d7dc94317f","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a0a1dda070290b92da5a50113b73ecc4dd6bcbffad66e3c86503d483eafbadcf","impliedFormat":1},{"version":"59dcad36c4549175a25998f6a8b33c1df8e18df9c12ebad1dfb25af13fd4b1ce","impliedFormat":1},{"version":"206a70e72af3e24688397b81304358526ce70d020e4c2606c4acfd1fa1e81fb2","impliedFormat":1},{"version":"017caf5d2a8ef581cf94f678af6ce7415e06956317946315560f1487b9a56167","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"d71535813e39c23baa113bc4a29a0e187b87d1105ccc8c5a6ebaca38d9a9bff2","impliedFormat":1},{"version":"4c3148420835de895b9218b2cea321a4607008ba5cefa57b2a57e1c1ef85d22f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f72bc8fe16da67e4e3268599295797b202b95e54bd215a03f97e925dd1502a36","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"915e18c559321c0afaa8d34674d3eb77e1ded12c3e85bf2a9891ec48b07a1ca5","affectsGlobalScope":true,"impliedFormat":1},{"version":"636302a00dfd1f9fe6e8e91e4e9350c6518dcc8d51a474e4fc3a9ba07135100b","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"e1ce1d622f1e561f6cdf246372ead3bbc07ce0342024d0e9c7caf3136f712698","impliedFormat":1},{"version":"199c8269497136f3a0f4da1d1d90ab033f899f070e0dd801946f2a241c8abba2","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"27e4532aaaa1665d0dd19023321e4dc12a35a741d6b8e1ca3517fcc2544e0efe","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"6266d94fb9165d42716e45f3a537ca9f59c07b1dfa8394a659acf139134807db","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"98ffdf93dfdd206516971d28e3e473f417a5cfd41172e46b4ce45008f640588e","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"a7692a54334fd08960cd0c610ff509c2caa93998e0dcefa54021489bcc67c22d","affectsGlobalScope":true,"impliedFormat":1},{"version":"74736930d108365d7bbe740c7154706ccfb1b2a3855a897963ab3e5c07ecbf19","impliedFormat":1},{"version":"3a051941721a7f905544732b0eb819c8d88333a96576b13af08b82c4f17581e4","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"1e25f8d0a8573cafd5b5a16af22d26ab872068a693b9dbccd3f72846ab373655","affectsGlobalScope":true,"impliedFormat":1},{"version":"3797dd6f4ea3dc15f356f8cdd3128bfa18122213b38a80d6c1f05d8e13cbdad8","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"316f1486e15cbf7896425f0a16dfe12d447dd57cfb3244b8b119c77df870858f","impliedFormat":99},{"version":"dbde42ccb4f43c83fa599c786178a43034a3a209fa9742ea58421c3cd56a9e17","signature":"3b11ef5c155854118ddea86989898b115c10fa855264dae68e5257b5433ed7a1"},{"version":"5cbbb04ac4a17f9c6ad533397ae5e769476b35f2241f468a1e336cc53b5e1dc5","signature":"034897ba28b2f59198b3bf0932fef553aaf3e54a3c7869e466fa8a3e37fd6ef0"},{"version":"aebb775370916c8afc13c7ea8596dd41d004b4a959ff6210ddd8cb3df24fa543","signature":"67e963223c23b123a72306ad2f9109580dc0094cc6270ad60468378dccd176b6"},"02145b8b587e0e7a6c9b1689112af48cd2388ec1d5e80ca5cf87aa5f4013f20a",{"version":"2556e7e8bb7e6f0bb3fe25f3da990d1812cb91f8c9b389354b6a0c8a6d687590","impliedFormat":99},{"version":"ad1c91ca536e0962dcbfcdff40073e3dd18da839e0baad3fe990cf0d10c93065","impliedFormat":99},{"version":"19cf605ba2a4e8fba017edebdddbbc45aea897ddc58b4aae4c55f382b570ff53","impliedFormat":99},{"version":"884aab8c07224434c034b49e88de0511f21536aa83ee88f1285160ba6d3fb77a","impliedFormat":99},{"version":"130b39b18c99e5678635f383ef57efaa507196838ddabb47cb104064e2ce4cd3","impliedFormat":99},{"version":"7618d2cb769e2093acd4623d645b683ab9fea78c262b3aa354aba9f5afdcaaee","impliedFormat":99},{"version":"029f1ce606891c3f57f4c0c60b8a46c8ced53e719d27a7c9693817f2fe37690b","impliedFormat":99},{"version":"83596c963e276a9c5911412fba37ae7c1fe280f2d77329928828eed5a3bfa9a6","impliedFormat":99},{"version":"81acfd3a01767770e559bc57d32684756989475be6ea32e2fe6255472c3ea116","impliedFormat":99},{"version":"88d0c3eae81868b4749ba5b88f9b6d564ee748321ce19a2f4269a4e9dd46020a","impliedFormat":99},{"version":"8266b39a828bfb2695cabfa403e7c1226d7d94599f21bea9f760e35f4ca7a576","impliedFormat":99},{"version":"c1c1e740195c882a776cf084acbaf963907785ee39e723c6375fec9a59bf2387","impliedFormat":99},{"version":"137f96b78e477e08876f6372072c3b6f1767672bf182013f84f8ae53d987ff86","impliedFormat":99},{"version":"29896c61d09880ff39f8a86873bf72ce4deb910158d3a496122781e29904c615","impliedFormat":99},{"version":"81ce540acef0d6972b0b163331583181be3603300f618dcd6a6a3138954ff30c","impliedFormat":99},{"version":"19990350fca066265b2c190c9b6cde1229f35002ea2d4df8c9e397e9942f6c89","impliedFormat":99},{"version":"8fb8fdda477cd7382477ffda92c2bb7d9f7ef583b1aa531eb6b2dc2f0a206c10","impliedFormat":99},{"version":"66995b0c991b5c5d42eff1d950733f85482c7419f7296ab8952e03718169e379","impliedFormat":99},{"version":"9863f888da357e35e013ca3465b794a490a198226bd8232c2f81fb44e16ff323","impliedFormat":99},{"version":"84bc2d80326a83ee4a6e7cba2fd480b86502660770c0e24da96535af597c9f1e","impliedFormat":99},{"version":"ea27768379b866ee3f5da2419650acdb01125479f7af73580a4bceb25b79e372","impliedFormat":99},{"version":"598931eeb4362542cae5845f95c5f0e45ac668925a40ce201e244d7fe808e965","impliedFormat":99},{"version":"da9ef88cde9f715756da642ad80c4cd87a987f465d325462d6bc2a0b11d202c8","impliedFormat":99},{"version":"b4c6184d78303b0816e779a48bef779b15aea4a66028eb819aac0abee8407dea","impliedFormat":99},{"version":"db085d2171d48938a99e851dafe0e486dce9859e5dfa73c21de5ed3d4d6fb0c5","impliedFormat":99},{"version":"62a3ad1ddd1f5974b3bf105680b3e09420f2230711d6520a521fab2be1a32838","impliedFormat":99},{"version":"a77be6fc44c876bc10c897107f84eaba10790913ebdcad40fcda7e47469b2160","impliedFormat":99},{"version":"06cf55b6da5cef54eaaf51cdc3d4e5ebf16adfdd9ebd20cec7fe719be9ced017","impliedFormat":99},{"version":"91f5dbcdb25d145a56cffe957ec665256827892d779ef108eb2f3864faff523b","impliedFormat":99},{"version":"052ba354bab8fb943e0bc05a0769f7b81d7c3b3c6cd0f5cfa53c7b2da2a525c5","impliedFormat":99},{"version":"927955a3de5857e0a1c575ced5a4245e74e6821d720ed213141347dd1870197f","impliedFormat":99},{"version":"fec804d54cd97dd77e956232fc37dc13f53e160d4bbeeb5489e86eeaa91f7ebd","impliedFormat":99},{"version":"75ef949153a3e6ff419e39d0fa5eb6617e92de5019738ad3c43872023d9665f5","impliedFormat":99},{"version":"ed9ce8e6dd5b2d00ab95efc44e4ad9d0eba77362e01619cb21dedfdedbad51b8","impliedFormat":1},{"version":"5520611f997f2b8e62a6e191da45b07813ac2e758304690606604a64ac0ca976","impliedFormat":1},{"version":"00b469cba48c9d772a4555216d21ba41cdb5a732af797ccb57267344f4fc6c3d","impliedFormat":1},{"version":"2766bf77766c85c25ec31586823fefb48344e64556faad7e75a3363e517814f6","impliedFormat":1},{"version":"b7d1eaffd8003e8dc0ec275e58bd24c7b9a4dbae2a2d0d83cf248c88237262ce","impliedFormat":99},{"version":"7a8b08c0521c3a9e1db3c8b14f37e59d838fdc32389f1193b96630b435a8e64e","impliedFormat":99},{"version":"2e54848617fae9eb73654d9cf4295d99dab4b9c759934e5b82e2e57e6aaaef20","impliedFormat":99},{"version":"ae056b7c3f727d492166d4c1169d5905ddd194128a014b5d2d621248ed94b49c","impliedFormat":99},{"version":"edc5d99a04130f066f6e8d31c7c3f9ba4749496356470279408833b4faee3554","impliedFormat":99},{"version":"2f502ac2473a2bbf0d6217f9660e9d5bf40165a2f91067596323898c53dab87c","impliedFormat":99},{"version":"21f27a0c8bc8d9a4e2cf6d9c60140f8b071d0e1ffddb4b7dcf6bbf74d0e8d470","impliedFormat":99},{"version":"754108a1e136331ac67dc8ee6aa9c95cb3bea3ac8bbf48dda7b0dbabbc8f970f","impliedFormat":99},{"version":"9e9979adc151111d71ad049305be1b6df324a98d1d1edd84adb1756cc1911bfd","impliedFormat":99},{"version":"0f38bcf19f105cd31ded5d46491ca50a46462c838816c358d445f41ac7a68f5a","impliedFormat":99},{"version":"a65fc667cd78d7cad733fab96f4bff3183c0dcbc15b083dce0055cffc5c64f9f","impliedFormat":99},{"version":"c735e27dfa775155120c50f714f594639dd7b6ad1878097feb005a0b5c59b7c2","impliedFormat":99},{"version":"f3dd541f4d87bba38dabf43fd06b7616c6f86b11608d30e61086ab39f84fa8d8","impliedFormat":99},{"version":"5583f1c0912e96625a30c20b83cff3d175194b222e4eb22170d19e33f7d8729f","impliedFormat":99},{"version":"a515b08047d24de84d89ad80b2843e565e65ed4a4e7cfc9707656470d7c555f9","impliedFormat":99},{"version":"cf43b2783a58e42fca6e45f0d47465b2ab855b7e9bea5ccb68447297df8aade5","impliedFormat":99},{"version":"27a3f158d8e6f59f29e55c37d4ae3c39574ee99539c4f12bcf46d29929974a62","impliedFormat":99},{"version":"a2d23e2f22006483c89f42077bd6a9bf92db721ebb5e0859b06fdb5c8369586d","impliedFormat":99},{"version":"6a8aec6851c09e4524937485f6553ec7332118482f3ed33238cea7496ff42103","impliedFormat":99},{"version":"d67fd6ea8cf37131627c7a9ae1de96d19d41cb32e741a475f0f56942576a7b3b","impliedFormat":99},{"version":"9b2f424a2c5c592d738100d898df3f9ee018bdd23a279f10849c3686abbec158","impliedFormat":99},{"version":"2fef96aedd23d59b6093d12d9f97c95e3a4008fcc02e8c68304235a1770fc70a","impliedFormat":99},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"e525f9e67f5ddba7b5548430211cae2479070b70ef1fd93550c96c10529457bd","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"4bc0794175abedf989547e628949888c1085b1efcd93fc482bccd77ee27f8b7c","impliedFormat":1},{"version":"3c8e93af4d6ce21eb4c8d005ad6dc02e7b5e6781f429d52a35290210f495a674","impliedFormat":1},{"version":"2c9875466123715464539bfd69bcaccb8ff6f3e217809428e0d7bd6323416d01","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"6c8e442ba33b07892169a14f7757321e49ab0f1032d676d321a1fdab8a67d40c","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"1cd673d367293fc5cb31cd7bf03d598eb368e4f31f39cf2b908abbaf120ab85a","impliedFormat":1},{"version":"af13e99445f37022c730bfcafcdc1761e9382ce1ea02afb678e3130b01ce5676","impliedFormat":1},{"version":"3825bf209f1662dfd039010a27747b73d0ef379f79970b1d05601ec8e8a4249f","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"da52342062e70c77213e45107921100ba9f9b3a30dd019444cf349e5fb3470c4","impliedFormat":1},{"version":"e9ace91946385d29192766bf783b8460c7dbcbfc63284aa3c9cae6de5155c8bc","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"1e30c045732e7db8f7a82cf90b516ebe693d2f499ce2250a977ec0d12e44a529","impliedFormat":1},{"version":"84b736594d8760f43400202859cda55607663090a43445a078963031d47e25e7","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"78b29846349d4dfdd88bd6650cc5d2baaa67f2e89dc8a80c8e26ef7995386583","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"e38d4fdf79e1eadd92ed7844c331dbaa40f29f21541cfee4e1acff4db09cda33","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"7c10a32ae6f3962672e6869ee2c794e8055d8225ef35c91c0228e354b4e5d2d3","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"99f569b42ea7e7c5fe404b2848c0893f3e1a56e0547c1cd0f74d5dbb9a9de27e","impliedFormat":1},{"version":"b3fb72492a07a76f7bfa29ecadd029eea081df11512e4dfe6f930a5a9cb1fb75","impliedFormat":1},{"version":"99257d2cf17c6c6f36131f640129289062c66384dba9d21a991cacfdc346711e","impliedFormat":99},{"version":"5574d520dabc450de6be799f1791d86d71da4fb236f16e6ca21b953788bb5154","impliedFormat":1},{"version":"5f877dfc985d1fd3ac8bf4a75cd77b06c42ca608809b324c44b4151758de7189","affectsGlobalScope":true,"impliedFormat":1},{"version":"4f585cea32567574de0301ed79131a4c3d0bb36bbfea7f66e2f29b5dce1c4293","affectsGlobalScope":true,"impliedFormat":1},{"version":"14c2fd6220654a41c53836a62ba96d4b515ae1413b0ccb31c2445fb1ae1de5de","affectsGlobalScope":true,"impliedFormat":1},{"version":"4f29c38739500cd35a2ce41d15a35e34445ca755ebb991915b5f170985a49d21","affectsGlobalScope":true,"impliedFormat":1},{"version":"16f842a1a38c8bc26dfebd1e3c56a63a2c2a0e1979a4141c8012d2f763c38267","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ba59c8bbeed2cb75b239bb12041582fa3e8ef32f8d0bd0ec802e38442d3f317","impliedFormat":1}],"root":[[77,81],[182,185]],"options":{"allowImportingTsExtensions":false,"allowSyntheticDefaultImports":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":false,"jsx":4,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUncheckedIndexedAccess":false,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":false},"referencedMap":[[60,1],[76,2],[75,3],[289,1],[288,4],[292,5],[291,6],[290,1],[287,1],[127,7],[128,7],[129,8],[87,9],[130,10],[131,11],[132,12],[82,1],[85,13],[83,1],[84,1],[133,14],[134,15],[135,16],[136,17],[137,18],[138,19],[139,19],[141,1],[140,20],[142,21],[143,22],[144,23],[126,24],[86,1],[145,25],[146,26],[147,27],[180,28],[148,29],[149,30],[150,31],[151,32],[152,33],[153,34],[154,35],[155,36],[156,37],[157,38],[158,38],[159,39],[160,1],[161,1],[162,40],[164,41],[163,42],[165,43],[166,44],[167,45],[168,46],[169,47],[170,48],[171,49],[172,50],[173,51],[174,52],[175,53],[176,54],[177,55],[178,56],[179,57],[181,58],[293,58],[88,1],[229,59],[231,60],[234,60],[236,61],[235,60],[233,62],[232,62],[237,63],[286,64],[241,65],[240,66],[230,67],[242,68],[239,69],[238,60],[228,70],[226,1],[224,71],[227,72],[225,73],[223,74],[222,75],[220,76],[221,76],[219,1],[191,77],[186,1],[188,78],[187,79],[198,77],[197,77],[199,80],[196,81],[194,77],[195,77],[192,82],[193,77],[244,83],[243,1],[207,1],[208,84],[205,1],[206,1],[200,85],[190,86],[189,1],[218,87],[203,88],[216,89],[201,1],[202,90],[217,91],[212,92],[213,93],[211,94],[215,95],[209,96],[204,97],[214,98],[210,89],[58,1],[59,1],[10,1],[11,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[22,1],[23,1],[4,1],[24,1],[28,1],[25,1],[26,1],[27,1],[29,1],[30,1],[31,1],[5,1],[32,1],[33,1],[34,1],[35,1],[6,1],[39,1],[36,1],[37,1],[38,1],[40,1],[7,1],[41,1],[46,1],[47,1],[42,1],[43,1],[44,1],[45,1],[8,1],[51,1],[48,1],[49,1],[50,1],[52,1],[9,1],[53,1],[54,1],[55,1],[57,1],[56,1],[1,1],[104,99],[114,100],[103,99],[124,101],[95,102],[94,103],[123,104],[117,105],[122,106],[97,107],[111,108],[96,109],[120,110],[92,111],[91,104],[121,112],[93,113],[98,114],[99,1],[102,114],[89,1],[125,115],[115,116],[106,117],[107,118],[109,119],[105,120],[108,121],[118,104],[100,122],[101,123],[110,124],[90,125],[113,116],[112,114],[116,1],[119,126],[285,127],[262,128],[273,129],[260,130],[274,125],[283,131],[251,132],[252,133],[250,103],[282,104],[277,134],[281,135],[254,136],[270,137],[253,138],[280,139],[248,140],[249,134],[255,141],[256,1],[261,142],[259,141],[246,143],[284,144],[275,145],[265,146],[264,141],[266,147],[268,148],[263,149],[267,150],[278,104],[257,151],[258,152],[269,153],[247,125],[272,154],[271,141],[276,1],[245,1],[279,155],[74,156],[65,157],[72,158],[67,1],[68,1],[66,159],[69,160],[61,1],[62,1],[73,161],[64,162],[70,1],[71,163],[63,164],[184,165],[77,166],[78,166],[79,166],[185,167],[80,166],[81,166],[182,168],[183,166]],"affectedFilesPendingEmit":[[184,51],[77,51],[78,51],[79,51],[185,51],[80,51],[81,51],[182,51],[183,51]],"version":"5.8.3"}
|
|
1
|
+
{"fileNames":["../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/helpers/typealiases.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/helpers/util.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/zoderror.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/locales/en.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/errors.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/helpers/parseutil.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/helpers/enumutil.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/helpers/errorutil.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/helpers/partialutil.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/standard-schema.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/types.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/external.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/v3/index.d.ts","../../../node_modules/.pnpm/zod@3.25.64/node_modules/zod/dist/types/index.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.13.2/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/types.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.13.2/node_modules/@modelcontextprotocol/sdk/dist/esm/types.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.13.2/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.d.ts","../src/browserwebsocketclienttransport.ts","../src/extensionclienttransport.ts","../src/extensionservertransport.ts","../src/tabclienttransport.ts","../src/tabservertransport.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.15.31/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/ws/index.d.mts","../src/websocketclienttransport.ts","../src/websocketservertransport.ts","../src/browser-types.ts","../src/index.ts","../../../node_modules/.pnpm/domelementtype@2.3.0/node_modules/domelementtype/lib/esm/index.d.ts","../../../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/esm/node.d.ts","../../../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/esm/index.d.ts","../../../node_modules/.pnpm/htmlparser2@10.0.0/node_modules/htmlparser2/dist/esm/tokenizer.d.ts","../../../node_modules/.pnpm/htmlparser2@10.0.0/node_modules/htmlparser2/dist/esm/parser.d.ts","../../../node_modules/.pnpm/dom-serializer@2.0.0/node_modules/dom-serializer/lib/esm/index.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/stringify.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/traversal.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/manipulation.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/querying.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/legacy.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/helpers.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/feeds.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/index.d.ts","../../../node_modules/.pnpm/htmlparser2@10.0.0/node_modules/htmlparser2/dist/esm/index.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/html.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/token.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/error-codes.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tokenizer/preprocessor.d.ts","../../../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/esm/generated/decode-data-html.d.ts","../../../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts","../../../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/esm/decode-codepoint.d.ts","../../../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/esm/decode.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tokenizer/index.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tree-adapters/interface.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/open-element-stack.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/formatting-element-list.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/index.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tree-adapters/default.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/serializer/index.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/foreign-content.d.ts","../../../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/index.d.ts","../../../node_modules/.pnpm/parse5-htmlparser2-tree-adapter@7.1.0/node_modules/parse5-htmlparser2-tree-adapter/dist/index.d.ts","../../../node_modules/.pnpm/css-what@6.1.0/node_modules/css-what/lib/es/types.d.ts","../../../node_modules/.pnpm/css-what@6.1.0/node_modules/css-what/lib/es/parse.d.ts","../../../node_modules/.pnpm/css-what@6.1.0/node_modules/css-what/lib/es/stringify.d.ts","../../../node_modules/.pnpm/css-what@6.1.0/node_modules/css-what/lib/es/index.d.ts","../../../node_modules/.pnpm/css-select@5.1.0/node_modules/css-select/lib/esm/types.d.ts","../../../node_modules/.pnpm/css-select@5.1.0/node_modules/css-select/lib/esm/pseudo-selectors/filters.d.ts","../../../node_modules/.pnpm/css-select@5.1.0/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.d.ts","../../../node_modules/.pnpm/css-select@5.1.0/node_modules/css-select/lib/esm/pseudo-selectors/aliases.d.ts","../../../node_modules/.pnpm/css-select@5.1.0/node_modules/css-select/lib/esm/pseudo-selectors/index.d.ts","../../../node_modules/.pnpm/css-select@5.1.0/node_modules/css-select/lib/esm/index.d.ts","../../../node_modules/.pnpm/cheerio-select@2.1.0/node_modules/cheerio-select/lib/esm/index.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/options.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/api/attributes.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/api/traversing.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/api/manipulation.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/api/css.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/api/forms.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/api/extract.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/cheerio.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/types.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/static.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/load.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/load-parse.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/slim.d.ts","../../../node_modules/.pnpm/encoding-sniffer@0.2.1/node_modules/encoding-sniffer/dist/esm/sniffer.d.ts","../../../node_modules/.pnpm/encoding-sniffer@0.2.1/node_modules/encoding-sniffer/dist/esm/index.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/utility.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/header.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/readable.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/fetch.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/formdata.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/connector.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/client-stats.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/client.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/errors.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/dispatcher.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/global-origin.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/pool-stats.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/pool.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/handlers.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/h2c-client.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/agent.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/mock-call-history.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/mock-agent.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/mock-client.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/mock-pool.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/mock-errors.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/retry-handler.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/retry-agent.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/api.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/cache-interceptor.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/interceptors.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/util.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/cookies.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/patch.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/websocket.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/eventsource.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/content-type.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/cache.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/types/index.d.ts","../../../node_modules/.pnpm/undici@7.10.0/node_modules/undici/index.d.ts","../../../node_modules/.pnpm/cheerio@1.1.0/node_modules/cheerio/dist/esm/index.d.ts","../../../node_modules/.pnpm/@types+har-format@1.2.16/node_modules/@types/har-format/index.d.ts","../../../node_modules/.pnpm/@types+chrome@0.0.326/node_modules/@types/chrome/har-format/index.d.ts","../../../node_modules/.pnpm/@types+chrome@0.0.326/node_modules/@types/chrome/chrome-cast/index.d.ts","../../../node_modules/.pnpm/@types+filewriter@0.0.33/node_modules/@types/filewriter/index.d.ts","../../../node_modules/.pnpm/@types+filesystem@0.0.36/node_modules/@types/filesystem/index.d.ts","../../../node_modules/.pnpm/@types+chrome@0.0.326/node_modules/@types/chrome/index.d.ts","../../../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/ws/index.d.ts"],"fileIdsList":[[87,130],[75,87,130],[73,74,87,130],[87,130,287],[87,130,288,289,291],[87,130,290],[87,127,130],[87,129,130],[130],[87,130,135,165],[87,130,131,136,142,143,150,162,173],[87,130,131,132,142,150],[82,83,84,87,130],[87,130,133,174],[87,130,134,135,143,151],[87,130,135,162,170],[87,130,136,138,142,150],[87,129,130,137],[87,130,138,139],[87,130,140,142],[87,129,130,142],[87,130,142,143,144,162,173],[87,130,142,143,144,157,162,165],[87,125,130],[87,125,130,138,142,145,150,162,173],[87,130,142,143,145,146,150,162,170,173],[87,130,145,147,162,170,173],[85,86,87,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179],[87,130,142,148],[87,130,149,173],[87,130,138,142,150,162],[87,130,151],[87,130,152],[87,129,130,153],[87,127,128,129,130,131,132,133,134,135,136,137,138,139,140,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179],[87,130,155],[87,130,156],[87,130,142,157,158],[87,130,157,159,174,176],[87,130,142,162,163,165],[87,130,164,165],[87,130,162,163],[87,130,165],[87,130,166],[87,127,130,162],[87,130,142,168,169],[87,130,168,169],[87,130,135,150,162,170],[87,130,171],[87,130,150,172],[87,130,145,156,173],[87,130,135,174],[87,130,162,175],[87,130,149,176],[87,130,177],[87,130,142,144,153,162,165,173,176,178],[87,130,162,179],[87,130,142,145,147,150,162,170,173,179,180],[87,130,188,228],[87,130,188,237],[87,130,188,231,237],[87,130,188,237,238],[87,130,188,230,231,232,233,234,235,236,238],[87,130,162,230,238,239,240,241,242,244,285],[87,130,188,230,240],[87,130,188,230,237,238,239],[87,130,188,191,200,217,218,229],[87,130,188,230,237,238,239,240],[87,130,188,230,236,237,238,240],[87,130,222,223,227],[87,130,223],[87,130,222,223,224,225,226],[87,130,222,223],[87,130,222],[87,130,219,220,221],[87,130,219],[87,130,188],[87,130,187],[87,130,186],[87,130,188,192,193,194,195,196,197,198],[87,130,186,188],[87,130,188,191],[87,130,162,243],[87,130,205,206,207],[87,130,186,188,189,190,199],[87,130,189],[87,130,188,217],[87,130,202],[87,130,201,202],[87,130,201],[87,130,201,202,203,209,210,213,214,215,216],[87,130,202,210],[87,130,201,202,203,209,210,211,212],[87,130,201,210],[87,130,210,214],[87,130,202,203,204,208],[87,130,203],[87,130,201,202,210],[87,97,101,130,173],[87,97,130,162,173],[87,92,130],[87,94,97,130,170,173],[87,130,150,170],[87,130,180],[87,92,130,180],[87,94,97,130,150,173],[87,89,90,93,96,130,142,162,173],[87,97,104,130],[87,89,95,130],[87,97,118,119,130],[87,93,97,130,165,173,180],[87,118,130,180],[87,91,92,130,180],[87,97,130],[87,91,92,93,94,95,96,97,98,99,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,122,123,124,130],[87,97,112,130],[87,97,104,105,130],[87,95,97,105,106,130],[87,96,130],[87,89,92,97,130],[87,97,101,105,106,130],[87,101,130],[87,95,97,100,130,173],[87,89,94,97,104,130],[87,130,162],[87,92,97,118,130,178,180],[87,130,284],[87,130,173,251,254,257,258],[87,130,162,173,254],[87,130,173,254,258],[87,130,248],[87,130,252],[87,130,173,250,251,254],[87,130,180,248],[87,130,150,173,250,254],[87,130,142,162,173,245,246,247,249,253],[87,130,254,262],[87,130,246,252],[87,130,254,278,279],[87,130,165,173,180,246,249,254],[87,130,254],[87,130,173,250,254],[87,130,245],[87,130,248,249,250,252,253,254,255,256,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,279,280,281,282,283],[87,130,138,254,271,274],[87,130,254,262,263,264],[87,130,252,254,263,265],[87,130,253],[87,130,246,248,254],[87,130,254,258,263,265],[87,130,258],[87,130,173,252,254,257],[87,130,246,250,254,262],[87,130,254,271],[87,130,165,178,180,248,254,278],[72,87,130],[62,63,87,130],[60,61,62,64,65,70,87,130],[61,62,87,130],[70,87,130],[71,87,130],[62,87,130],[60,61,62,65,66,67,68,69,87,130],[60,61,72,87,130],[75,76,87,130],[77,78,79,80,81,87,130,182,183,184],[75,76,87,130,181]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"54f6ec6ea75acea6eb23635617252d249145edbc7bcd9d53f2d70280d2aef953","impliedFormat":1},{"version":"c25ce98cca43a3bfa885862044be0d59557be4ecd06989b2001a83dcf69620fd","impliedFormat":1},{"version":"8e71e53b02c152a38af6aec45e288cc65bede077b92b9b43b3cb54a37978bb33","impliedFormat":1},{"version":"754a9396b14ca3a4241591afb4edc644b293ccc8a3397f49be4dfd520c08acb3","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"de2316e90fc6d379d83002f04ad9698bc1e5285b4d52779778f454dd12ce9f44","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"2da997a01a6aa5c5c09de5d28f0f4407b597c5e1aecfd32f1815809c532650a2","impliedFormat":1},{"version":"5d26d2e47e2352def36f89a3e8bf8581da22b7f857e07ef3114cd52cf4813445","impliedFormat":1},{"version":"3db2efd285e7328d8014b54a7fce3f4861ebcdc655df40517092ed0050983617","impliedFormat":1},{"version":"d5d39a24c759df40480a4bfc0daffd364489702fdbcbdfc1711cde34f8739995","impliedFormat":1},{"version":"4749a5d10b6e3b0bd6c8d90f9ba68a91a97aa0c2c9a340dd83306b2f349d6d34","impliedFormat":99},{"version":"711586151fb1db3fe834f586d83f768cc10db9383a215da241045769cd873265","impliedFormat":99},{"version":"835809bc3ef637c0d80bb1a461bb0fdc55661337f5c27b91c0d32c039076a67f","impliedFormat":99},{"version":"392e6d2c405b18624952fcfbeeb7b88745989a6934c60761d9d554015e6819cd","signature":"00a25f391ab38cfffb6ebaeb0e0959e654deab6b0b8020685e468ca6b5c85a16"},{"version":"c857952cff0ec30136ab7445f6c13f051073a2780c93fcec0ad354d3c2fd2a76","signature":"ff5dcf4372c1330044018126270451c0d9a4c63f83c739b9334991468061ae4a"},{"version":"e3673b0d742074da84f4f08b6599338ab7ccfa3bd33bd0b2bac16a963d243b05","signature":"cf35357b11c3ac5385c3fa30335fa725786740b313893fb8df0e6538d8ba9664"},{"version":"4db276a3cdd1fdc6a188413eb1b8758795091e3bde8a46c6ae54319e094c16f0","signature":"21ee733142093f600a17abcecc4424cc54ce71e36c4eabedc505884c29c36cc8"},{"version":"ef1315d0f37611ccbfbbd67023a5582de409fb0eae9ecf5439a73e0a8466303a","signature":"7471d777fed535cf522ba905657d57e733f54f2a5073e6fd208365b79c6b1003"},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"a12d953aa755b14ac1d28ecdc1e184f3285b01d6d1e58abc11bf1826bc9d80e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"a38efe83ff77c34e0f418a806a01ca3910c02ee7d64212a59d59bca6c2c38fa1","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3fe4022ba1e738034e38ad9afacbf0f1f16b458ed516326f5bf9e4a31e9be1dc","impliedFormat":1},{"version":"a957197054b074bcdf5555d26286e8461680c7c878040d0f4e2d5509a7524944","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"e9b97d69510658d2f4199b7d384326b7c4053b9e6645f5c19e1c2a54ede427fc","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f478f6f5902dc144c0d6d7bdc919c5177cac4d17a8ca8653c2daf6d7dc94317f","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a0a1dda070290b92da5a50113b73ecc4dd6bcbffad66e3c86503d483eafbadcf","impliedFormat":1},{"version":"59dcad36c4549175a25998f6a8b33c1df8e18df9c12ebad1dfb25af13fd4b1ce","impliedFormat":1},{"version":"206a70e72af3e24688397b81304358526ce70d020e4c2606c4acfd1fa1e81fb2","impliedFormat":1},{"version":"017caf5d2a8ef581cf94f678af6ce7415e06956317946315560f1487b9a56167","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"d71535813e39c23baa113bc4a29a0e187b87d1105ccc8c5a6ebaca38d9a9bff2","impliedFormat":1},{"version":"4c3148420835de895b9218b2cea321a4607008ba5cefa57b2a57e1c1ef85d22f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f72bc8fe16da67e4e3268599295797b202b95e54bd215a03f97e925dd1502a36","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"915e18c559321c0afaa8d34674d3eb77e1ded12c3e85bf2a9891ec48b07a1ca5","affectsGlobalScope":true,"impliedFormat":1},{"version":"636302a00dfd1f9fe6e8e91e4e9350c6518dcc8d51a474e4fc3a9ba07135100b","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"e1ce1d622f1e561f6cdf246372ead3bbc07ce0342024d0e9c7caf3136f712698","impliedFormat":1},{"version":"199c8269497136f3a0f4da1d1d90ab033f899f070e0dd801946f2a241c8abba2","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"27e4532aaaa1665d0dd19023321e4dc12a35a741d6b8e1ca3517fcc2544e0efe","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"6266d94fb9165d42716e45f3a537ca9f59c07b1dfa8394a659acf139134807db","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"98ffdf93dfdd206516971d28e3e473f417a5cfd41172e46b4ce45008f640588e","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"a7692a54334fd08960cd0c610ff509c2caa93998e0dcefa54021489bcc67c22d","affectsGlobalScope":true,"impliedFormat":1},{"version":"74736930d108365d7bbe740c7154706ccfb1b2a3855a897963ab3e5c07ecbf19","impliedFormat":1},{"version":"3a051941721a7f905544732b0eb819c8d88333a96576b13af08b82c4f17581e4","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"1e25f8d0a8573cafd5b5a16af22d26ab872068a693b9dbccd3f72846ab373655","affectsGlobalScope":true,"impliedFormat":1},{"version":"3797dd6f4ea3dc15f356f8cdd3128bfa18122213b38a80d6c1f05d8e13cbdad8","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"316f1486e15cbf7896425f0a16dfe12d447dd57cfb3244b8b119c77df870858f","impliedFormat":99},{"version":"dbde42ccb4f43c83fa599c786178a43034a3a209fa9742ea58421c3cd56a9e17","signature":"3b11ef5c155854118ddea86989898b115c10fa855264dae68e5257b5433ed7a1"},{"version":"5cbbb04ac4a17f9c6ad533397ae5e769476b35f2241f468a1e336cc53b5e1dc5","signature":"034897ba28b2f59198b3bf0932fef553aaf3e54a3c7869e466fa8a3e37fd6ef0"},{"version":"aebb775370916c8afc13c7ea8596dd41d004b4a959ff6210ddd8cb3df24fa543","signature":"67e963223c23b123a72306ad2f9109580dc0094cc6270ad60468378dccd176b6"},"02145b8b587e0e7a6c9b1689112af48cd2388ec1d5e80ca5cf87aa5f4013f20a",{"version":"2556e7e8bb7e6f0bb3fe25f3da990d1812cb91f8c9b389354b6a0c8a6d687590","impliedFormat":99},{"version":"ad1c91ca536e0962dcbfcdff40073e3dd18da839e0baad3fe990cf0d10c93065","impliedFormat":99},{"version":"19cf605ba2a4e8fba017edebdddbbc45aea897ddc58b4aae4c55f382b570ff53","impliedFormat":99},{"version":"884aab8c07224434c034b49e88de0511f21536aa83ee88f1285160ba6d3fb77a","impliedFormat":99},{"version":"130b39b18c99e5678635f383ef57efaa507196838ddabb47cb104064e2ce4cd3","impliedFormat":99},{"version":"7618d2cb769e2093acd4623d645b683ab9fea78c262b3aa354aba9f5afdcaaee","impliedFormat":99},{"version":"029f1ce606891c3f57f4c0c60b8a46c8ced53e719d27a7c9693817f2fe37690b","impliedFormat":99},{"version":"83596c963e276a9c5911412fba37ae7c1fe280f2d77329928828eed5a3bfa9a6","impliedFormat":99},{"version":"81acfd3a01767770e559bc57d32684756989475be6ea32e2fe6255472c3ea116","impliedFormat":99},{"version":"88d0c3eae81868b4749ba5b88f9b6d564ee748321ce19a2f4269a4e9dd46020a","impliedFormat":99},{"version":"8266b39a828bfb2695cabfa403e7c1226d7d94599f21bea9f760e35f4ca7a576","impliedFormat":99},{"version":"c1c1e740195c882a776cf084acbaf963907785ee39e723c6375fec9a59bf2387","impliedFormat":99},{"version":"137f96b78e477e08876f6372072c3b6f1767672bf182013f84f8ae53d987ff86","impliedFormat":99},{"version":"29896c61d09880ff39f8a86873bf72ce4deb910158d3a496122781e29904c615","impliedFormat":99},{"version":"81ce540acef0d6972b0b163331583181be3603300f618dcd6a6a3138954ff30c","impliedFormat":99},{"version":"19990350fca066265b2c190c9b6cde1229f35002ea2d4df8c9e397e9942f6c89","impliedFormat":99},{"version":"8fb8fdda477cd7382477ffda92c2bb7d9f7ef583b1aa531eb6b2dc2f0a206c10","impliedFormat":99},{"version":"66995b0c991b5c5d42eff1d950733f85482c7419f7296ab8952e03718169e379","impliedFormat":99},{"version":"9863f888da357e35e013ca3465b794a490a198226bd8232c2f81fb44e16ff323","impliedFormat":99},{"version":"84bc2d80326a83ee4a6e7cba2fd480b86502660770c0e24da96535af597c9f1e","impliedFormat":99},{"version":"ea27768379b866ee3f5da2419650acdb01125479f7af73580a4bceb25b79e372","impliedFormat":99},{"version":"598931eeb4362542cae5845f95c5f0e45ac668925a40ce201e244d7fe808e965","impliedFormat":99},{"version":"da9ef88cde9f715756da642ad80c4cd87a987f465d325462d6bc2a0b11d202c8","impliedFormat":99},{"version":"b4c6184d78303b0816e779a48bef779b15aea4a66028eb819aac0abee8407dea","impliedFormat":99},{"version":"db085d2171d48938a99e851dafe0e486dce9859e5dfa73c21de5ed3d4d6fb0c5","impliedFormat":99},{"version":"62a3ad1ddd1f5974b3bf105680b3e09420f2230711d6520a521fab2be1a32838","impliedFormat":99},{"version":"a77be6fc44c876bc10c897107f84eaba10790913ebdcad40fcda7e47469b2160","impliedFormat":99},{"version":"06cf55b6da5cef54eaaf51cdc3d4e5ebf16adfdd9ebd20cec7fe719be9ced017","impliedFormat":99},{"version":"91f5dbcdb25d145a56cffe957ec665256827892d779ef108eb2f3864faff523b","impliedFormat":99},{"version":"052ba354bab8fb943e0bc05a0769f7b81d7c3b3c6cd0f5cfa53c7b2da2a525c5","impliedFormat":99},{"version":"927955a3de5857e0a1c575ced5a4245e74e6821d720ed213141347dd1870197f","impliedFormat":99},{"version":"fec804d54cd97dd77e956232fc37dc13f53e160d4bbeeb5489e86eeaa91f7ebd","impliedFormat":99},{"version":"75ef949153a3e6ff419e39d0fa5eb6617e92de5019738ad3c43872023d9665f5","impliedFormat":99},{"version":"ed9ce8e6dd5b2d00ab95efc44e4ad9d0eba77362e01619cb21dedfdedbad51b8","impliedFormat":1},{"version":"5520611f997f2b8e62a6e191da45b07813ac2e758304690606604a64ac0ca976","impliedFormat":1},{"version":"00b469cba48c9d772a4555216d21ba41cdb5a732af797ccb57267344f4fc6c3d","impliedFormat":1},{"version":"2766bf77766c85c25ec31586823fefb48344e64556faad7e75a3363e517814f6","impliedFormat":1},{"version":"b7d1eaffd8003e8dc0ec275e58bd24c7b9a4dbae2a2d0d83cf248c88237262ce","impliedFormat":99},{"version":"7a8b08c0521c3a9e1db3c8b14f37e59d838fdc32389f1193b96630b435a8e64e","impliedFormat":99},{"version":"2e54848617fae9eb73654d9cf4295d99dab4b9c759934e5b82e2e57e6aaaef20","impliedFormat":99},{"version":"ae056b7c3f727d492166d4c1169d5905ddd194128a014b5d2d621248ed94b49c","impliedFormat":99},{"version":"edc5d99a04130f066f6e8d31c7c3f9ba4749496356470279408833b4faee3554","impliedFormat":99},{"version":"2f502ac2473a2bbf0d6217f9660e9d5bf40165a2f91067596323898c53dab87c","impliedFormat":99},{"version":"21f27a0c8bc8d9a4e2cf6d9c60140f8b071d0e1ffddb4b7dcf6bbf74d0e8d470","impliedFormat":99},{"version":"754108a1e136331ac67dc8ee6aa9c95cb3bea3ac8bbf48dda7b0dbabbc8f970f","impliedFormat":99},{"version":"9e9979adc151111d71ad049305be1b6df324a98d1d1edd84adb1756cc1911bfd","impliedFormat":99},{"version":"0f38bcf19f105cd31ded5d46491ca50a46462c838816c358d445f41ac7a68f5a","impliedFormat":99},{"version":"a65fc667cd78d7cad733fab96f4bff3183c0dcbc15b083dce0055cffc5c64f9f","impliedFormat":99},{"version":"c735e27dfa775155120c50f714f594639dd7b6ad1878097feb005a0b5c59b7c2","impliedFormat":99},{"version":"f3dd541f4d87bba38dabf43fd06b7616c6f86b11608d30e61086ab39f84fa8d8","impliedFormat":99},{"version":"5583f1c0912e96625a30c20b83cff3d175194b222e4eb22170d19e33f7d8729f","impliedFormat":99},{"version":"a515b08047d24de84d89ad80b2843e565e65ed4a4e7cfc9707656470d7c555f9","impliedFormat":99},{"version":"cf43b2783a58e42fca6e45f0d47465b2ab855b7e9bea5ccb68447297df8aade5","impliedFormat":99},{"version":"27a3f158d8e6f59f29e55c37d4ae3c39574ee99539c4f12bcf46d29929974a62","impliedFormat":99},{"version":"a2d23e2f22006483c89f42077bd6a9bf92db721ebb5e0859b06fdb5c8369586d","impliedFormat":99},{"version":"6a8aec6851c09e4524937485f6553ec7332118482f3ed33238cea7496ff42103","impliedFormat":99},{"version":"d67fd6ea8cf37131627c7a9ae1de96d19d41cb32e741a475f0f56942576a7b3b","impliedFormat":99},{"version":"9b2f424a2c5c592d738100d898df3f9ee018bdd23a279f10849c3686abbec158","impliedFormat":99},{"version":"2fef96aedd23d59b6093d12d9f97c95e3a4008fcc02e8c68304235a1770fc70a","impliedFormat":99},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"e525f9e67f5ddba7b5548430211cae2479070b70ef1fd93550c96c10529457bd","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"4bc0794175abedf989547e628949888c1085b1efcd93fc482bccd77ee27f8b7c","impliedFormat":1},{"version":"3c8e93af4d6ce21eb4c8d005ad6dc02e7b5e6781f429d52a35290210f495a674","impliedFormat":1},{"version":"2c9875466123715464539bfd69bcaccb8ff6f3e217809428e0d7bd6323416d01","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"6c8e442ba33b07892169a14f7757321e49ab0f1032d676d321a1fdab8a67d40c","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"1cd673d367293fc5cb31cd7bf03d598eb368e4f31f39cf2b908abbaf120ab85a","impliedFormat":1},{"version":"af13e99445f37022c730bfcafcdc1761e9382ce1ea02afb678e3130b01ce5676","impliedFormat":1},{"version":"3825bf209f1662dfd039010a27747b73d0ef379f79970b1d05601ec8e8a4249f","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"da52342062e70c77213e45107921100ba9f9b3a30dd019444cf349e5fb3470c4","impliedFormat":1},{"version":"e9ace91946385d29192766bf783b8460c7dbcbfc63284aa3c9cae6de5155c8bc","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"1e30c045732e7db8f7a82cf90b516ebe693d2f499ce2250a977ec0d12e44a529","impliedFormat":1},{"version":"84b736594d8760f43400202859cda55607663090a43445a078963031d47e25e7","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"78b29846349d4dfdd88bd6650cc5d2baaa67f2e89dc8a80c8e26ef7995386583","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"e38d4fdf79e1eadd92ed7844c331dbaa40f29f21541cfee4e1acff4db09cda33","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"7c10a32ae6f3962672e6869ee2c794e8055d8225ef35c91c0228e354b4e5d2d3","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"99f569b42ea7e7c5fe404b2848c0893f3e1a56e0547c1cd0f74d5dbb9a9de27e","impliedFormat":1},{"version":"b3fb72492a07a76f7bfa29ecadd029eea081df11512e4dfe6f930a5a9cb1fb75","impliedFormat":1},{"version":"99257d2cf17c6c6f36131f640129289062c66384dba9d21a991cacfdc346711e","impliedFormat":99},{"version":"5574d520dabc450de6be799f1791d86d71da4fb236f16e6ca21b953788bb5154","impliedFormat":1},{"version":"5f877dfc985d1fd3ac8bf4a75cd77b06c42ca608809b324c44b4151758de7189","affectsGlobalScope":true,"impliedFormat":1},{"version":"4f585cea32567574de0301ed79131a4c3d0bb36bbfea7f66e2f29b5dce1c4293","affectsGlobalScope":true,"impliedFormat":1},{"version":"14c2fd6220654a41c53836a62ba96d4b515ae1413b0ccb31c2445fb1ae1de5de","affectsGlobalScope":true,"impliedFormat":1},{"version":"4f29c38739500cd35a2ce41d15a35e34445ca755ebb991915b5f170985a49d21","affectsGlobalScope":true,"impliedFormat":1},{"version":"16f842a1a38c8bc26dfebd1e3c56a63a2c2a0e1979a4141c8012d2f763c38267","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ba59c8bbeed2cb75b239bb12041582fa3e8ef32f8d0bd0ec802e38442d3f317","impliedFormat":1}],"root":[[77,81],[182,185]],"options":{"allowImportingTsExtensions":false,"allowSyntheticDefaultImports":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":false,"jsx":4,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUncheckedIndexedAccess":false,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":false},"referencedMap":[[74,1],[76,2],[75,3],[289,1],[288,4],[292,5],[291,6],[290,1],[287,1],[127,7],[128,7],[129,8],[87,9],[130,10],[131,11],[132,12],[82,1],[85,13],[83,1],[84,1],[133,14],[134,15],[135,16],[136,17],[137,18],[138,19],[139,19],[141,1],[140,20],[142,21],[143,22],[144,23],[126,24],[86,1],[145,25],[146,26],[147,27],[180,28],[148,29],[149,30],[150,31],[151,32],[152,33],[153,34],[154,35],[155,36],[156,37],[157,38],[158,38],[159,39],[160,1],[161,1],[162,40],[164,41],[163,42],[165,43],[166,44],[167,45],[168,46],[169,47],[170,48],[171,49],[172,50],[173,51],[174,52],[175,53],[176,54],[177,55],[178,56],[179,57],[181,58],[293,58],[88,1],[229,59],[231,60],[234,60],[236,61],[235,60],[233,62],[232,62],[237,63],[286,64],[241,65],[240,66],[230,67],[242,68],[239,69],[238,60],[228,70],[226,1],[224,71],[227,72],[225,73],[223,74],[222,75],[220,76],[221,76],[219,1],[191,77],[186,1],[188,78],[187,79],[198,77],[197,77],[199,80],[196,81],[194,77],[195,77],[192,82],[193,77],[244,83],[243,1],[207,1],[208,84],[205,1],[206,1],[200,85],[190,86],[189,1],[218,87],[203,88],[216,89],[201,1],[202,90],[217,91],[212,92],[213,93],[211,94],[215,95],[209,96],[204,97],[214,98],[210,89],[58,1],[59,1],[10,1],[11,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[22,1],[23,1],[4,1],[24,1],[28,1],[25,1],[26,1],[27,1],[29,1],[30,1],[31,1],[5,1],[32,1],[33,1],[34,1],[35,1],[6,1],[39,1],[36,1],[37,1],[38,1],[40,1],[7,1],[41,1],[46,1],[47,1],[42,1],[43,1],[44,1],[45,1],[8,1],[51,1],[48,1],[49,1],[50,1],[52,1],[9,1],[53,1],[54,1],[55,1],[57,1],[56,1],[1,1],[104,99],[114,100],[103,99],[124,101],[95,102],[94,103],[123,104],[117,105],[122,106],[97,107],[111,108],[96,109],[120,110],[92,111],[91,104],[121,112],[93,113],[98,114],[99,1],[102,114],[89,1],[125,115],[115,116],[106,117],[107,118],[109,119],[105,120],[108,121],[118,104],[100,122],[101,123],[110,124],[90,125],[113,116],[112,114],[116,1],[119,126],[285,127],[262,128],[273,129],[260,130],[274,125],[283,131],[251,132],[252,133],[250,103],[282,104],[277,134],[281,135],[254,136],[270,137],[253,138],[280,139],[248,140],[249,134],[255,141],[256,1],[261,142],[259,141],[246,143],[284,144],[275,145],[265,146],[264,141],[266,147],[268,148],[263,149],[267,150],[278,104],[257,151],[258,152],[269,153],[247,125],[272,154],[271,141],[276,1],[245,1],[279,155],[73,156],[64,157],[71,158],[66,1],[67,1],[65,159],[68,160],[60,1],[61,1],[72,161],[63,162],[69,1],[70,163],[62,164],[184,2],[77,165],[78,165],[79,165],[185,166],[80,165],[81,165],[182,167],[183,165]],"affectedFilesPendingEmit":[[184,51],[77,51],[78,51],[79,51],[185,51],[80,51],[81,51],[182,51],[183,51]],"version":"5.8.3"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,213 +1,5 @@
|
|
|
1
|
-
import { Transport, TransportSendOptions } from '@modelcontextprotocol/sdk/shared/transport.js';
|
|
2
1
|
import { JSONRPCMessage } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
-
|
|
4
|
-
interface TabClientTransportOptions {
|
|
5
|
-
targetOrigin: string;
|
|
6
|
-
channelId?: string;
|
|
7
|
-
}
|
|
8
|
-
declare class TabClientTransport implements Transport {
|
|
9
|
-
private _started;
|
|
10
|
-
private _targetOrigin;
|
|
11
|
-
private _channelId;
|
|
12
|
-
private _messageHandler?;
|
|
13
|
-
onclose?: () => void;
|
|
14
|
-
onerror?: (error: Error) => void;
|
|
15
|
-
onmessage?: (message: JSONRPCMessage) => void;
|
|
16
|
-
constructor(options: TabClientTransportOptions);
|
|
17
|
-
start(): Promise<void>;
|
|
18
|
-
send(message: JSONRPCMessage): Promise<void>;
|
|
19
|
-
close(): Promise<void>;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
interface TabServerTransportOptions {
|
|
23
|
-
allowedOrigins: string[];
|
|
24
|
-
channelId?: string;
|
|
25
|
-
}
|
|
26
|
-
declare class TabServerTransport implements Transport {
|
|
27
|
-
private _started;
|
|
28
|
-
private _allowedOrigins;
|
|
29
|
-
private _channelId;
|
|
30
|
-
private _messageHandler?;
|
|
31
|
-
private _clientOrigin?;
|
|
32
|
-
onclose?: () => void;
|
|
33
|
-
onerror?: (error: Error) => void;
|
|
34
|
-
onmessage?: (message: JSONRPCMessage) => void;
|
|
35
|
-
constructor(options: TabServerTransportOptions);
|
|
36
|
-
start(): Promise<void>;
|
|
37
|
-
send(message: JSONRPCMessage): Promise<void>;
|
|
38
|
-
close(): Promise<void>;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Configuration options for ExtensionClientTransport
|
|
43
|
-
*/
|
|
44
|
-
interface ExtensionClientTransportOptions {
|
|
45
|
-
/**
|
|
46
|
-
* The extension ID to connect to (optional for same-extension connections)
|
|
47
|
-
*/
|
|
48
|
-
extensionId?: string;
|
|
49
|
-
/**
|
|
50
|
-
* Port name for the connection
|
|
51
|
-
* Default: 'mcp'
|
|
52
|
-
*/
|
|
53
|
-
portName?: string;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Client transport for Chrome extensions using Port-based messaging.
|
|
57
|
-
* This transport can be used in content scripts, popup scripts, or sidepanel scripts
|
|
58
|
-
* to connect to a server running in the background service worker.
|
|
59
|
-
*/
|
|
60
|
-
declare class ExtensionClientTransport implements Transport {
|
|
61
|
-
private _port?;
|
|
62
|
-
private _extensionId?;
|
|
63
|
-
private _portName;
|
|
64
|
-
private _messageHandler?;
|
|
65
|
-
private _disconnectHandler?;
|
|
66
|
-
onclose?: () => void;
|
|
67
|
-
onerror?: (error: Error) => void;
|
|
68
|
-
onmessage?: (message: JSONRPCMessage) => void;
|
|
69
|
-
constructor(options?: ExtensionClientTransportOptions);
|
|
70
|
-
/**
|
|
71
|
-
* Starts the transport by connecting to the extension port
|
|
72
|
-
*/
|
|
73
|
-
start(): Promise<void>;
|
|
74
|
-
/**
|
|
75
|
-
* Sends a message to the server
|
|
76
|
-
*/
|
|
77
|
-
send(message: JSONRPCMessage, _options?: TransportSendOptions): Promise<void>;
|
|
78
|
-
/**
|
|
79
|
-
* Closes the transport
|
|
80
|
-
*/
|
|
81
|
-
close(): Promise<void>;
|
|
82
|
-
/**
|
|
83
|
-
* Cleans up event listeners and references
|
|
84
|
-
*/
|
|
85
|
-
private _cleanup;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Server transport for Chrome extensions using Port-based messaging.
|
|
90
|
-
* This transport handles a single client connection through Chrome's port messaging API.
|
|
91
|
-
* It should be used in the extension's background service worker.
|
|
92
|
-
*/
|
|
93
|
-
declare class ExtensionServerTransport implements Transport {
|
|
94
|
-
private _port;
|
|
95
|
-
private _started;
|
|
96
|
-
private _messageHandler?;
|
|
97
|
-
private _disconnectHandler?;
|
|
98
|
-
onclose?: () => void;
|
|
99
|
-
onerror?: (error: Error) => void;
|
|
100
|
-
onmessage?: (message: JSONRPCMessage) => void;
|
|
101
|
-
constructor(port: chrome.runtime.Port);
|
|
102
|
-
/**
|
|
103
|
-
* Starts the transport and begins handling messages
|
|
104
|
-
*/
|
|
105
|
-
start(): Promise<void>;
|
|
106
|
-
/**
|
|
107
|
-
* Sends a message to the client
|
|
108
|
-
*/
|
|
109
|
-
send(message: JSONRPCMessage, _options?: TransportSendOptions): Promise<void>;
|
|
110
|
-
/**
|
|
111
|
-
* Closes the transport
|
|
112
|
-
*/
|
|
113
|
-
close(): Promise<void>;
|
|
114
|
-
/**
|
|
115
|
-
* Cleans up event listeners and references
|
|
116
|
-
*/
|
|
117
|
-
private _cleanup;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Client transport for WebSocket: this will connect to a server over the WebSocket protocol.
|
|
122
|
-
* This transport is Node.js specific and requires the 'ws' package to be installed.
|
|
123
|
-
*/
|
|
124
|
-
declare class WebSocketClientTransport implements Transport {
|
|
125
|
-
private _socket?;
|
|
126
|
-
private _url;
|
|
127
|
-
private _WebSocket?;
|
|
128
|
-
onclose?: () => void;
|
|
129
|
-
onerror?: (error: Error) => void;
|
|
130
|
-
onmessage?: (message: JSONRPCMessage) => void;
|
|
131
|
-
constructor(url: URL);
|
|
132
|
-
start(): Promise<void>;
|
|
133
|
-
close(): Promise<void>;
|
|
134
|
-
send(message: JSONRPCMessage): Promise<void>;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Server transport for WebSocket: this will accept connections from MCP clients over WebSocket protocol.
|
|
139
|
-
* Designed to work in browser extension environments.
|
|
140
|
-
*/
|
|
141
|
-
declare class WebSocketServerTransport implements Transport {
|
|
142
|
-
private _options;
|
|
143
|
-
private _socket?;
|
|
144
|
-
private _server?;
|
|
145
|
-
private _started;
|
|
146
|
-
private _connectionId?;
|
|
147
|
-
onclose?: () => void;
|
|
148
|
-
onerror?: (error: Error) => void;
|
|
149
|
-
onmessage?: (message: JSONRPCMessage) => void;
|
|
150
|
-
constructor(_options: {
|
|
151
|
-
/**
|
|
152
|
-
* For browser extensions: provide an existing WebSocket connection
|
|
153
|
-
*/
|
|
154
|
-
socket?: WebSocket;
|
|
155
|
-
/**
|
|
156
|
-
* For Node.js: provide port to create WebSocketServer
|
|
157
|
-
*/
|
|
158
|
-
port?: number;
|
|
159
|
-
});
|
|
160
|
-
/**
|
|
161
|
-
* Starts the transport. In browser extension context, this validates the socket.
|
|
162
|
-
*/
|
|
163
|
-
start(): Promise<void>;
|
|
164
|
-
private setupSocketHandlers;
|
|
165
|
-
close(): Promise<void>;
|
|
166
|
-
send(message: JSONRPCMessage): Promise<void>;
|
|
167
|
-
/**
|
|
168
|
-
* Get the current WebSocket connection (if any)
|
|
169
|
-
*/
|
|
170
|
-
get socket(): WebSocket | undefined;
|
|
171
|
-
/**
|
|
172
|
-
* Check if transport has an active connection
|
|
173
|
-
*/
|
|
174
|
-
get isConnected(): boolean;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
interface BrowserWebSocketClientTransportOptions {
|
|
178
|
-
maxRetries?: number;
|
|
179
|
-
initialRetryDelay?: number;
|
|
180
|
-
maxRetryDelay?: number;
|
|
181
|
-
connectionTimeout?: number;
|
|
182
|
-
retryMultiplier?: number;
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Browser-compatible WebSocket client transport for connecting from browser extensions to a bridge server.
|
|
186
|
-
* This transport uses the native browser WebSocket API and doesn't require any Node.js dependencies.
|
|
187
|
-
*/
|
|
188
|
-
declare class BrowserWebSocketClientTransport implements Transport {
|
|
189
|
-
private _socket?;
|
|
190
|
-
private _url;
|
|
191
|
-
private _connectionId?;
|
|
192
|
-
private _options;
|
|
193
|
-
private _retryCount;
|
|
194
|
-
private _isClosing;
|
|
195
|
-
private _connectionTimeoutId?;
|
|
196
|
-
onclose?: () => void;
|
|
197
|
-
onerror?: (error: Error) => void;
|
|
198
|
-
onmessage?: (message: JSONRPCMessage) => void;
|
|
199
|
-
constructor(url: string | URL, options?: BrowserWebSocketClientTransportOptions);
|
|
200
|
-
start(): Promise<void>;
|
|
201
|
-
private _connectWithRetry;
|
|
202
|
-
private _sleep;
|
|
203
|
-
private _attemptConnection;
|
|
204
|
-
close(): Promise<void>;
|
|
205
|
-
send(message: JSONRPCMessage): Promise<void>;
|
|
206
|
-
/**
|
|
207
|
-
* Check if transport is connected
|
|
208
|
-
*/
|
|
209
|
-
get isConnected(): boolean;
|
|
210
|
-
}
|
|
2
|
+
import { Transport, TransportSendOptions } from '@modelcontextprotocol/sdk/shared/transport.js';
|
|
211
3
|
|
|
212
4
|
/**
|
|
213
5
|
* Unique identifier for an event in the event store
|
|
@@ -336,4 +128,123 @@ interface StoredEvent {
|
|
|
336
128
|
clientId: string;
|
|
337
129
|
}
|
|
338
130
|
|
|
339
|
-
|
|
131
|
+
/**
|
|
132
|
+
* Configuration options for ExtensionClientTransport
|
|
133
|
+
*/
|
|
134
|
+
interface ExtensionClientTransportOptions {
|
|
135
|
+
/**
|
|
136
|
+
* The extension ID to connect to (optional for same-extension connections)
|
|
137
|
+
*/
|
|
138
|
+
extensionId?: string;
|
|
139
|
+
/**
|
|
140
|
+
* Port name for the connection
|
|
141
|
+
* Default: 'mcp'
|
|
142
|
+
*/
|
|
143
|
+
portName?: string;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Client transport for Chrome extensions using Port-based messaging.
|
|
147
|
+
* This transport can be used in content scripts, popup scripts, or sidepanel scripts
|
|
148
|
+
* to connect to a server running in the background service worker.
|
|
149
|
+
*/
|
|
150
|
+
declare class ExtensionClientTransport implements Transport {
|
|
151
|
+
private _port?;
|
|
152
|
+
private _extensionId?;
|
|
153
|
+
private _portName;
|
|
154
|
+
private _messageHandler?;
|
|
155
|
+
private _disconnectHandler?;
|
|
156
|
+
onclose?: () => void;
|
|
157
|
+
onerror?: (error: Error) => void;
|
|
158
|
+
onmessage?: (message: JSONRPCMessage) => void;
|
|
159
|
+
constructor(options?: ExtensionClientTransportOptions);
|
|
160
|
+
/**
|
|
161
|
+
* Starts the transport by connecting to the extension port
|
|
162
|
+
*/
|
|
163
|
+
start(): Promise<void>;
|
|
164
|
+
/**
|
|
165
|
+
* Sends a message to the server
|
|
166
|
+
*/
|
|
167
|
+
send(message: JSONRPCMessage, _options?: TransportSendOptions): Promise<void>;
|
|
168
|
+
/**
|
|
169
|
+
* Closes the transport
|
|
170
|
+
*/
|
|
171
|
+
close(): Promise<void>;
|
|
172
|
+
/**
|
|
173
|
+
* Cleans up event listeners and references
|
|
174
|
+
*/
|
|
175
|
+
private _cleanup;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Server transport for Chrome extensions using Port-based messaging.
|
|
180
|
+
* This transport handles a single client connection through Chrome's port messaging API.
|
|
181
|
+
* It should be used in the extension's background service worker.
|
|
182
|
+
*/
|
|
183
|
+
declare class ExtensionServerTransport implements Transport {
|
|
184
|
+
private _port;
|
|
185
|
+
private _started;
|
|
186
|
+
private _messageHandler?;
|
|
187
|
+
private _disconnectHandler?;
|
|
188
|
+
onclose?: () => void;
|
|
189
|
+
onerror?: (error: Error) => void;
|
|
190
|
+
onmessage?: (message: JSONRPCMessage) => void;
|
|
191
|
+
constructor(port: chrome.runtime.Port);
|
|
192
|
+
/**
|
|
193
|
+
* Starts the transport and begins handling messages
|
|
194
|
+
*/
|
|
195
|
+
start(): Promise<void>;
|
|
196
|
+
/**
|
|
197
|
+
* Sends a message to the client
|
|
198
|
+
*/
|
|
199
|
+
send(message: JSONRPCMessage, _options?: TransportSendOptions): Promise<void>;
|
|
200
|
+
/**
|
|
201
|
+
* Closes the transport
|
|
202
|
+
*/
|
|
203
|
+
close(): Promise<void>;
|
|
204
|
+
/**
|
|
205
|
+
* Cleans up event listeners and references
|
|
206
|
+
*/
|
|
207
|
+
private _cleanup;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
interface TabClientTransportOptions {
|
|
211
|
+
targetOrigin: string;
|
|
212
|
+
channelId?: string;
|
|
213
|
+
}
|
|
214
|
+
declare class TabClientTransport implements Transport {
|
|
215
|
+
private _started;
|
|
216
|
+
private _targetOrigin;
|
|
217
|
+
private _channelId;
|
|
218
|
+
private _messageHandler?;
|
|
219
|
+
readonly serverReadyPromise: Promise<void>;
|
|
220
|
+
private _serverReadyResolve;
|
|
221
|
+
private _serverReadyReject;
|
|
222
|
+
onclose?: () => void;
|
|
223
|
+
onerror?: (error: Error) => void;
|
|
224
|
+
onmessage?: (message: JSONRPCMessage) => void;
|
|
225
|
+
constructor(options: TabClientTransportOptions);
|
|
226
|
+
start(): Promise<void>;
|
|
227
|
+
send(message: JSONRPCMessage): Promise<void>;
|
|
228
|
+
close(): Promise<void>;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
interface TabServerTransportOptions {
|
|
232
|
+
allowedOrigins: string[];
|
|
233
|
+
channelId?: string;
|
|
234
|
+
}
|
|
235
|
+
declare class TabServerTransport implements Transport {
|
|
236
|
+
private _started;
|
|
237
|
+
private _allowedOrigins;
|
|
238
|
+
private _channelId;
|
|
239
|
+
private _messageHandler?;
|
|
240
|
+
private _clientOrigin?;
|
|
241
|
+
onclose?: () => void;
|
|
242
|
+
onerror?: (error: Error) => void;
|
|
243
|
+
onmessage?: (message: JSONRPCMessage) => void;
|
|
244
|
+
constructor(options: TabServerTransportOptions);
|
|
245
|
+
start(): Promise<void>;
|
|
246
|
+
send(message: JSONRPCMessage): Promise<void>;
|
|
247
|
+
close(): Promise<void>;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
export { type EventId, ExtensionClientTransport, type ExtensionClientTransportOptions, ExtensionServerTransport, type MCPBrowserInterface, type MCPConnectOptions, type MCPEventMessage, type MCPEventStore, type MCPReplayEventMessage, type MCPServerInfo, type MCPServerInfoMessage, type MCPWindow, type StoredEvent, type StreamId, TabClientTransport, type TabClientTransportOptions, TabServerTransport, type TabServerTransportOptions };
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {JSONRPCMessageSchema}from'@modelcontextprotocol/sdk/types.js';var a=class{_started=false;_targetOrigin;_channelId;_messageHandler;onclose;onerror;onmessage;constructor(e){if(!e.targetOrigin)throw new Error("targetOrigin must be explicitly set for security");this._targetOrigin=e.targetOrigin,this._channelId=e.channelId||"mcp-default";}async start(){if(this._started)throw new Error("Transport already started");this._messageHandler=e=>{if(e.origin===this._targetOrigin&&!(e.data?.channel!==this._channelId||e.data?.type!=="mcp")&&e.data?.direction==="server-to-client")try{let t=JSONRPCMessageSchema.parse(e.data.payload);this.onmessage?.(t);}catch(t){this.onerror?.(new Error(`Invalid message: ${t}`));}},window.addEventListener("message",this._messageHandler),this._started=true;}async send(e){if(!this._started)throw new Error("Transport not started");window.postMessage({channel:this._channelId,type:"mcp",direction:"client-to-server",payload:e},this._targetOrigin);}async close(){this._messageHandler&&window.removeEventListener("message",this._messageHandler),this._started=false,this.onclose?.();}};var c=class{_started=false;_allowedOrigins;_channelId;_messageHandler;_clientOrigin;onclose;onerror;onmessage;constructor(e){if(!e.allowedOrigins||e.allowedOrigins.length===0)throw new Error("At least one allowed origin must be specified");this._allowedOrigins=e.allowedOrigins,this._channelId=e.channelId||"mcp-default";}async start(){if(this._started)throw new Error("Transport already started");this._messageHandler=e=>{if(console.log({event:e}),!(!this._allowedOrigins.includes(e.origin)&&!this._allowedOrigins.includes("*"))&&!(e.data?.channel!==this._channelId||e.data?.type!=="mcp")&&e.data?.direction==="client-to-server"){this._clientOrigin=e.origin;try{let t=JSONRPCMessageSchema.parse(e.data.payload);this.onmessage?.(t);}catch(t){this.onerror?.(new Error(`Invalid message: ${t}`));}}},window.addEventListener("message",this._messageHandler),this._started=true;}async send(e){if(!this._started)throw new Error("Transport not started");if(!this._clientOrigin)throw new Error("No client connected");window.postMessage({channel:this._channelId,type:"mcp",direction:"server-to-client",payload:e},this._clientOrigin);}async close(){this._messageHandler&&window.removeEventListener("message",this._messageHandler),this._started=false,this.onclose?.();}};var d=class{_port;_extensionId;_portName;_messageHandler;_disconnectHandler;onclose;onerror;onmessage;constructor(e={}){this._extensionId=e.extensionId,this._portName=e.portName||"mcp";}async start(){if(this._port){console.warn("ExtensionClientTransport already started! If using Client class, note that connect() calls start() automatically.");return}return new Promise((e,t)=>{if(!chrome?.runtime?.connect){t(new Error("Chrome runtime API not available. This transport must be used in a Chrome extension context."));return}try{this._extensionId?this._port=chrome.runtime.connect(this._extensionId,{name:this._portName}):this._port=chrome.runtime.connect({name:this._portName}),this._messageHandler=s=>{try{let o=JSONRPCMessageSchema.parse(s);this.onmessage?.(o);}catch(o){this.onerror?.(new Error(`Failed to parse message: ${o}`));}},this._disconnectHandler=()=>{this._cleanup(),this.onclose?.();},this._port.onMessage.addListener(this._messageHandler),this._port.onDisconnect.addListener(this._disconnectHandler);let r=chrome.runtime.lastError;if(r){this._cleanup(),t(new Error(`Connection failed: ${r.message}`));return}e();}catch(r){t(r);}})}async send(e,t){if(!this._port)throw new Error("Not connected");try{this._port.postMessage(e);}catch(r){throw new Error(`Failed to send message: ${r}`)}}async close(){if(this._port)try{this._port.disconnect();}catch{}this._cleanup(),this.onclose?.();}_cleanup(){this._port&&(this._messageHandler&&this._port.onMessage.removeListener(this._messageHandler),this._disconnectHandler&&this._port.onDisconnect.removeListener(this._disconnectHandler)),this._port=void 0;}};var h=class{_port;_started=false;_messageHandler;_disconnectHandler;onclose;onerror;onmessage;constructor(e){this._port=e;}async start(){if(this._started)throw new Error("ExtensionServerTransport already started! If using Server class, note that connect() calls start() automatically.");if(!this._port)throw new Error("Port not available");this._started=true,this._messageHandler=e=>{try{let t=JSONRPCMessageSchema.parse(e);this.onmessage?.(t);}catch(t){this.onerror?.(new Error(`Failed to parse message: ${t}`));}},this._disconnectHandler=()=>{this._cleanup(),this.onclose?.();},this._port.onMessage.addListener(this._messageHandler),this._port.onDisconnect.addListener(this._disconnectHandler);}async send(e,t){if(!this._started)throw new Error("Transport not started");if(!this._port)throw new Error("Not connected to client");try{this._port.postMessage(e);}catch(r){throw new Error(`Failed to send message: ${r}`)}}async close(){if(this._started=false,this._port)try{this._port.disconnect();}catch{}this._cleanup(),this.onclose?.();}_cleanup(){this._port&&(this._messageHandler&&this._port.onMessage.removeListener(this._messageHandler),this._disconnectHandler&&this._port.onDisconnect.removeListener(this._disconnectHandler));}};var l="mcp",m=class{_socket;_url;_WebSocket;onclose;onerror;onmessage;constructor(e){this._url=e;}async start(){if(this._socket)throw new Error("WebSocketClientTransport already started! If using Client class, note that connect() calls start() automatically.");if(!this._WebSocket)try{let e=await import('ws');this._WebSocket=e.WebSocket;}catch{throw new Error("Failed to import 'ws' package. Please install it with: npm install ws")}return new Promise((e,t)=>{this._socket=new this._WebSocket(this._url.toString(),{perMessageDeflate:false,...{protocol:l}}),this._socket.on("error",r=>{t(r),this.onerror?.(r);}),this._socket.on("open",()=>{e();}),this._socket.on("close",()=>{this.onclose?.();}),this._socket.on("message",r=>{let s;try{let o=r instanceof Buffer?r.toString("utf-8"):r.toString();s=JSONRPCMessageSchema.parse(JSON.parse(o));}catch(o){this.onerror?.(o);return}this.onmessage?.(s);});})}async close(){this._socket&&this._WebSocket&&this._socket.readyState===this._WebSocket.OPEN&&this._socket.close();}async send(e){return new Promise((t,r)=>{if(!this._socket||!this._WebSocket){r(new Error("Not connected"));return}if(this._socket.readyState!==this._WebSocket.OPEN){r(new Error("WebSocket is not open"));return}this._socket.send(JSON.stringify(e),s=>{s?r(s):t();});})}};var _=class{constructor(e){this._options=e;}_socket;_server;_started=false;_connectionId;onclose;onerror;onmessage;async start(){if(this._started)throw new Error("WebSocketServerTransport already started! If using Server class, note that connect() calls start() automatically.");if(this._started=true,this._options.socket)this._socket=this._options.socket,this.setupSocketHandlers(this._socket);else throw new Error("WebSocketServerTransport requires either a socket ")}setupSocketHandlers(e){e.onmessage=t=>{let r;try{let s=typeof t.data=="string"?t.data:t.data.toString(),o=JSON.parse(s);if(o.connectionId){this._connectionId=o.connectionId;let{connectionId:u,...n}=o;r=JSONRPCMessageSchema.parse(n);}else r=JSONRPCMessageSchema.parse(o);}catch(s){this.onerror?.(s);return}this.onmessage?.(r);},e.onerror=t=>{let r=new Error(`WebSocket error: ${JSON.stringify(t)}`);this.onerror?.(r);},e.onclose=()=>{this._socket=void 0,this.onclose?.();};}async close(){if(this._socket&&(this._socket.close(),this._socket=void 0),this._server)return new Promise(e=>{this._server.close(()=>{this._server=void 0,e();});})}send(e){return new Promise((t,r)=>{if(!this._socket||this._socket.readyState!==WebSocket.OPEN){r(new Error("No active WebSocket connection"));return}try{let s=this._connectionId?{...e,connectionId:this._connectionId}:e;this._socket.send(JSON.stringify(s)),t();}catch(s){r(s);}})}get socket(){return this._socket}get isConnected(){return this._socket?.readyState===WebSocket.OPEN}};var g=class{_socket;_url;_connectionId;_options;_retryCount=0;_isClosing=false;_connectionTimeoutId;onclose;onerror;onmessage;constructor(e,t){this._url=e.toString(),this._options={maxRetries:t?.maxRetries??10,initialRetryDelay:t?.initialRetryDelay??1e3,maxRetryDelay:t?.maxRetryDelay??3e4,connectionTimeout:t?.connectionTimeout??1e4,retryMultiplier:t?.retryMultiplier??1.5};}async start(){if(this._socket)throw new Error("BrowserWebSocketClientTransport already started! If using Client class, note that connect() calls start() automatically.");return this._isClosing=false,this._retryCount=0,this._connectWithRetry()}async _connectWithRetry(){for(;this._retryCount<=this._options.maxRetries&&!this._isClosing;)try{await this._attemptConnection();return}catch(e){if(this._retryCount++,this._isClosing)throw new Error("Connection cancelled");if(this._retryCount>this._options.maxRetries)throw new Error(`Failed to connect after ${this._options.maxRetries} retries: ${e}`);let t=Math.min(this._options.initialRetryDelay*Math.pow(this._options.retryMultiplier,this._retryCount-1),this._options.maxRetryDelay);console.log(`[WebSocket] Connection failed, retrying in ${t}ms (attempt ${this._retryCount}/${this._options.maxRetries})`),await this._sleep(t);}}_sleep(e){return new Promise(t=>setTimeout(t,e))}async _attemptConnection(){return new Promise((e,t)=>{try{this._connectionTimeoutId&&clearTimeout(this._connectionTimeoutId),this._socket=new WebSocket(this._url),this._connectionTimeoutId=setTimeout(()=>{this._socket&&this._socket.readyState===WebSocket.CONNECTING&&(this._socket.close(),t(new Error(`Connection timeout after ${this._options.connectionTimeout}ms`)));},this._options.connectionTimeout),this._socket.onopen=()=>{this._connectionTimeoutId&&(clearTimeout(this._connectionTimeoutId),this._connectionTimeoutId=void 0),this._retryCount=0,e();},this._socket.onerror=r=>{let s=new Error("WebSocket connection error");t(s);},this._socket.onclose=()=>{this._socket=void 0,this._connectionId=void 0,!this._isClosing&&this._retryCount===0&&this.onclose?.();},this._socket.onmessage=r=>{let s;try{if(s=JSON.parse(r.data),s.connectionId&&!this._connectionId&&(this._connectionId=s.connectionId),s.connectionId){let{connectionId:u,...n}=s;s=n;}let o=JSONRPCMessageSchema.parse(s);this.onmessage?.(o);}catch(o){this.onerror?.(o);}};}catch(r){t(r);}})}async close(){this._isClosing=true,this._connectionTimeoutId&&(clearTimeout(this._connectionTimeoutId),this._connectionTimeoutId=void 0),this._socket&&this._socket.readyState===WebSocket.OPEN&&this._socket.close();}async send(e){return new Promise((t,r)=>{if(!this._socket||this._socket.readyState!==WebSocket.OPEN){r(new Error("WebSocket is not connected"));return}try{let s=this._connectionId?{...e,connectionId:this._connectionId}:e;this._socket.send(JSON.stringify(s)),t();}catch(s){r(s);}})}get isConnected(){return this._socket?.readyState===WebSocket.OPEN}};export{g as BrowserWebSocketClientTransport,d as ExtensionClientTransport,h as ExtensionServerTransport,a as TabClientTransport,c as TabServerTransport,m as WebSocketClientTransport,_ as WebSocketServerTransport};//# sourceMappingURL=index.js.map
|
|
1
|
+
import {JSONRPCMessageSchema}from'@modelcontextprotocol/sdk/types.js';var n=class{_port;_extensionId;_portName;_messageHandler;_disconnectHandler;onclose;onerror;onmessage;constructor(e={}){this._extensionId=e.extensionId,this._portName=e.portName||"mcp";}async start(){if(this._port){console.warn("ExtensionClientTransport already started! If using Client class, note that connect() calls start() automatically.");return}return new Promise((e,r)=>{if(!chrome?.runtime?.connect){r(new Error("Chrome runtime API not available. This transport must be used in a Chrome extension context."));return}try{this._extensionId?this._port=chrome.runtime.connect(this._extensionId,{name:this._portName}):this._port=chrome.runtime.connect({name:this._portName}),this._messageHandler=o=>{try{let i=JSONRPCMessageSchema.parse(o);this.onmessage?.(i);}catch(i){this.onerror?.(new Error(`Failed to parse message: ${i}`));}},this._disconnectHandler=()=>{this._cleanup(),this.onclose?.();},this._port.onMessage.addListener(this._messageHandler),this._port.onDisconnect.addListener(this._disconnectHandler);let t=chrome.runtime.lastError;if(t){this._cleanup(),r(new Error(`Connection failed: ${t.message}`));return}e();}catch(t){r(t);}})}async send(e,r){if(!this._port)throw new Error("Not connected");try{this._port.postMessage(e);}catch(t){throw new Error(`Failed to send message: ${t}`)}}async close(){if(this._port)try{this._port.disconnect();}catch{}this._cleanup(),this.onclose?.();}_cleanup(){this._port&&(this._messageHandler&&this._port.onMessage.removeListener(this._messageHandler),this._disconnectHandler&&this._port.onDisconnect.removeListener(this._disconnectHandler)),this._port=void 0;}};var a=class{_port;_started=false;_messageHandler;_disconnectHandler;onclose;onerror;onmessage;constructor(e){this._port=e;}async start(){if(this._started)throw new Error("ExtensionServerTransport already started! If using Server class, note that connect() calls start() automatically.");if(!this._port)throw new Error("Port not available");this._started=true,this._messageHandler=e=>{try{let r=JSONRPCMessageSchema.parse(e);this.onmessage?.(r);}catch(r){this.onerror?.(new Error(`Failed to parse message: ${r}`));}},this._disconnectHandler=()=>{this._cleanup(),this.onclose?.();},this._port.onMessage.addListener(this._messageHandler),this._port.onDisconnect.addListener(this._disconnectHandler);}async send(e,r){if(!this._started)throw new Error("Transport not started");if(!this._port)throw new Error("Not connected to client");try{this._port.postMessage(e);}catch(t){throw new Error(`Failed to send message: ${t}`)}}async close(){if(this._started=false,this._port)try{this._port.disconnect();}catch{}this._cleanup(),this.onclose?.();}_cleanup(){this._port&&(this._messageHandler&&this._port.onMessage.removeListener(this._messageHandler),this._disconnectHandler&&this._port.onDisconnect.removeListener(this._disconnectHandler));}};var d=class{_started=false;_targetOrigin;_channelId;_messageHandler;serverReadyPromise;_serverReadyResolve;_serverReadyReject;onclose;onerror;onmessage;constructor(e){if(!e.targetOrigin)throw new Error("targetOrigin must be explicitly set for security");this._targetOrigin=e.targetOrigin,this._channelId=e.channelId||"mcp-default";let{promise:r,resolve:t,reject:o}=Promise.withResolvers();this.serverReadyPromise=r,this._serverReadyResolve=t,this._serverReadyReject=o;}async start(){if(this._started)throw new Error("Transport already started");this._messageHandler=e=>{if(e.origin===this._targetOrigin&&!(e.data?.channel!==this._channelId||e.data?.type!=="mcp")&&e.data?.direction==="server-to-client"){if(e.data.payload==="mcp-server-ready"){this._serverReadyResolve();return}try{let r=JSONRPCMessageSchema.parse(e.data.payload);this.onmessage?.(r);}catch(r){this.onerror?.(new Error(`Invalid message: ${r}`));}}},window.addEventListener("message",this._messageHandler),this._started=true;}async send(e){if(!this._started)throw new Error("Transport not started");window.postMessage({channel:this._channelId,type:"mcp",direction:"client-to-server",payload:e},this._targetOrigin);}async close(){this._messageHandler&&window.removeEventListener("message",this._messageHandler),this._serverReadyReject(new Error("Transport closed before server ready")),this._started=false,this.onclose?.();}};var c=class{_started=false;_allowedOrigins;_channelId;_messageHandler;_clientOrigin;onclose;onerror;onmessage;constructor(e){if(!e.allowedOrigins||e.allowedOrigins.length===0)throw new Error("At least one allowed origin must be specified");this._allowedOrigins=e.allowedOrigins,this._channelId=e.channelId||"mcp-default";}async start(){if(this._started)throw new Error("Transport already started");this._messageHandler=e=>{if(console.log({event:e}),!(!this._allowedOrigins.includes(e.origin)&&!this._allowedOrigins.includes("*"))&&!(e.data?.channel!==this._channelId||e.data?.type!=="mcp")&&e.data?.direction==="client-to-server"){this._clientOrigin=e.origin;try{let r=JSONRPCMessageSchema.parse(e.data.payload);this.onmessage?.(r);}catch(r){this.onerror?.(new Error(`Invalid message: ${r}`));}}},window.addEventListener("message",this._messageHandler),this._started=true,window.postMessage({channel:this._channelId,type:"mcp",direction:"server-to-client",payload:"mcp-server-ready"},"*");}async send(e){if(!this._started)throw new Error("Transport not started");if(!this._clientOrigin)throw new Error("No client connected");window.postMessage({channel:this._channelId,type:"mcp",direction:"server-to-client",payload:e},this._clientOrigin);}async close(){this._messageHandler&&window.removeEventListener("message",this._messageHandler),this._started=false,this.onclose?.();}};export{n as ExtensionClientTransport,a as ExtensionServerTransport,d as TabClientTransport,c as TabServerTransport};//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/TabClientTransport.ts","../src/TabServerTransport.ts","../src/ExtensionClientTransport.ts","../src/ExtensionServerTransport.ts","../src/WebsocketClientTransport.ts","../src/WebsocketServerTransport.ts","../src/BrowserWebSocketClientTransport.ts"],"names":["TabClientTransport","options","event","message","JSONRPCMessageSchema","error","TabServerTransport","ExtensionClientTransport","resolve","reject","mcpMessage","_options","ExtensionServerTransport","port","SUBPROTOCOL","WebSocketClientTransport","url","ws","data","dataStr","WebSocketServerTransport","socket","parsedData","connectionId","actualMessage","messageToSend","BrowserWebSocketClientTransport","delay","ms","_event"],"mappings":"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","file":"index.js","sourcesContent":["import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';\nimport { JSONRPCMessage, JSONRPCMessageSchema } from '@modelcontextprotocol/sdk/types.js';\n\nexport interface TabClientTransportOptions {\n targetOrigin: string; // Required for security\n channelId?: string; // Optional channel name\n}\n\nexport class TabClientTransport implements Transport {\n private _started = false;\n private _targetOrigin: string;\n private _channelId: string;\n private _messageHandler?: (event: MessageEvent) => void;\n\n onclose?: () => void;\n onerror?: (error: Error) => void;\n onmessage?: (message: JSONRPCMessage) => void;\n\n constructor(options: TabClientTransportOptions) {\n if (!options.targetOrigin) {\n throw new Error('targetOrigin must be explicitly set for security');\n }\n this._targetOrigin = options.targetOrigin;\n this._channelId = options.channelId || 'mcp-default';\n }\n\n async start(): Promise<void> {\n if (this._started) {\n throw new Error('Transport already started');\n }\n\n this._messageHandler = (event: MessageEvent) => {\n // Security: validate origin\n if (event.origin !== this._targetOrigin) {\n return;\n }\n\n // Validate message structure\n if (event.data?.channel !== this._channelId || event.data?.type !== 'mcp') {\n return;\n }\n\n // Only process server-to-client messages to avoid processing own messages\n if (event.data?.direction !== 'server-to-client') {\n return;\n }\n\n try {\n const message = JSONRPCMessageSchema.parse(event.data.payload);\n this.onmessage?.(message);\n } catch (error) {\n this.onerror?.(new Error(`Invalid message: ${error}`));\n }\n };\n\n window.addEventListener('message', this._messageHandler);\n this._started = true;\n }\n\n async send(message: JSONRPCMessage): Promise<void> {\n if (!this._started) {\n throw new Error('Transport not started');\n }\n\n window.postMessage(\n {\n channel: this._channelId,\n type: 'mcp',\n direction: 'client-to-server', // Mark as client-to-server message\n payload: message,\n },\n this._targetOrigin\n );\n }\n\n async close(): Promise<void> {\n if (this._messageHandler) {\n window.removeEventListener('message', this._messageHandler);\n }\n this._started = false;\n this.onclose?.();\n }\n}\n","import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';\nimport { JSONRPCMessage, JSONRPCMessageSchema } from '@modelcontextprotocol/sdk/types.js';\n\nexport interface TabServerTransportOptions {\n allowedOrigins: string[]; // Required for security\n channelId?: string; // Optional channel name\n}\n\nexport class TabServerTransport implements Transport {\n private _started = false;\n private _allowedOrigins: string[] | '*';\n private _channelId: string;\n private _messageHandler?: (event: MessageEvent) => void;\n private _clientOrigin?: string;\n\n onclose?: () => void;\n onerror?: (error: Error) => void;\n onmessage?: (message: JSONRPCMessage) => void;\n\n constructor(options: TabServerTransportOptions) {\n if (!options.allowedOrigins || options.allowedOrigins.length === 0) {\n throw new Error('At least one allowed origin must be specified');\n }\n this._allowedOrigins = options.allowedOrigins;\n this._channelId = options.channelId || 'mcp-default';\n }\n\n async start(): Promise<void> {\n if (this._started) {\n throw new Error('Transport already started');\n }\n\n this._messageHandler = (event: MessageEvent) => {\n console.log({ event });\n // Security: validate origin\n if (!this._allowedOrigins.includes(event.origin) && !this._allowedOrigins.includes('*')) {\n return;\n }\n\n // Validate message structure\n if (event.data?.channel !== this._channelId || event.data?.type !== 'mcp') {\n return;\n }\n\n // Only process client-to-server messages to avoid processing own messages\n if (event.data?.direction !== 'client-to-server') {\n return;\n }\n\n // Store client origin for responses\n this._clientOrigin = event.origin;\n\n try {\n const message = JSONRPCMessageSchema.parse(event.data.payload);\n this.onmessage?.(message);\n } catch (error) {\n this.onerror?.(new Error(`Invalid message: ${error}`));\n }\n };\n\n window.addEventListener('message', this._messageHandler);\n this._started = true;\n }\n\n async send(message: JSONRPCMessage): Promise<void> {\n if (!this._started) {\n throw new Error('Transport not started');\n }\n\n if (!this._clientOrigin) {\n throw new Error('No client connected');\n }\n\n window.postMessage(\n {\n channel: this._channelId,\n type: 'mcp',\n direction: 'server-to-client', // Mark as server-to-client message\n payload: message,\n },\n this._clientOrigin\n );\n }\n\n async close(): Promise<void> {\n if (this._messageHandler) {\n window.removeEventListener('message', this._messageHandler);\n }\n this._started = false;\n this.onclose?.();\n }\n}\n","import { Transport, TransportSendOptions } from '@modelcontextprotocol/sdk/shared/transport.js';\nimport { JSONRPCMessage, JSONRPCMessageSchema } from '@modelcontextprotocol/sdk/types.js';\n\n/**\n * Configuration options for ExtensionClientTransport\n */\nexport interface ExtensionClientTransportOptions {\n /**\n * The extension ID to connect to (optional for same-extension connections)\n */\n extensionId?: string;\n\n /**\n * Port name for the connection\n * Default: 'mcp'\n */\n portName?: string;\n}\n\n/**\n * Client transport for Chrome extensions using Port-based messaging.\n * This transport can be used in content scripts, popup scripts, or sidepanel scripts\n * to connect to a server running in the background service worker.\n */\nexport class ExtensionClientTransport implements Transport {\n private _port?: chrome.runtime.Port;\n private _extensionId?: string;\n private _portName: string;\n private _messageHandler?: (message: any) => void;\n private _disconnectHandler?: () => void;\n\n onclose?: () => void;\n onerror?: (error: Error) => void;\n onmessage?: (message: JSONRPCMessage) => void;\n\n constructor(options: ExtensionClientTransportOptions = {}) {\n this._extensionId = options.extensionId;\n this._portName = options.portName || 'mcp';\n }\n\n /**\n * Starts the transport by connecting to the extension port\n */\n async start(): Promise<void> {\n if (this._port) {\n console.warn(\n 'ExtensionClientTransport already started! If using Client class, note that connect() calls start() automatically.'\n );\n // throw new Error(\n // 'ExtensionClientTransport already started! If using Client class, note that connect() calls start() automatically.'\n // );\n return;\n }\n\n return new Promise((resolve, reject) => {\n if (!chrome?.runtime?.connect) {\n reject(\n new Error(\n 'Chrome runtime API not available. This transport must be used in a Chrome extension context.'\n )\n );\n return;\n }\n\n try {\n // Connect to the extension\n if (this._extensionId) {\n this._port = chrome.runtime.connect(this._extensionId, { name: this._portName });\n } else {\n this._port = chrome.runtime.connect({ name: this._portName });\n }\n\n // Set up message handler\n this._messageHandler = (message: any) => {\n try {\n const mcpMessage = JSONRPCMessageSchema.parse(message);\n this.onmessage?.(mcpMessage);\n } catch (error) {\n this.onerror?.(new Error(`Failed to parse message: ${error}`));\n }\n };\n\n // Set up disconnect handler\n this._disconnectHandler = () => {\n this._cleanup();\n this.onclose?.();\n };\n\n this._port.onMessage.addListener(this._messageHandler);\n this._port.onDisconnect.addListener(this._disconnectHandler);\n\n // Check for immediate connection errors\n const error = chrome.runtime.lastError;\n if (error) {\n this._cleanup();\n reject(new Error(`Connection failed: ${error.message}`));\n return;\n }\n\n resolve();\n } catch (error) {\n reject(error);\n }\n });\n }\n\n /**\n * Sends a message to the server\n */\n async send(message: JSONRPCMessage, _options?: TransportSendOptions): Promise<void> {\n if (!this._port) {\n throw new Error('Not connected');\n }\n\n try {\n this._port.postMessage(message);\n } catch (error) {\n throw new Error(`Failed to send message: ${error}`);\n }\n }\n\n /**\n * Closes the transport\n */\n async close(): Promise<void> {\n if (this._port) {\n try {\n this._port.disconnect();\n } catch (error) {\n // Port might already be disconnected\n }\n }\n\n this._cleanup();\n this.onclose?.();\n }\n\n /**\n * Cleans up event listeners and references\n */\n private _cleanup(): void {\n if (this._port) {\n if (this._messageHandler) {\n this._port.onMessage.removeListener(this._messageHandler);\n }\n if (this._disconnectHandler) {\n this._port.onDisconnect.removeListener(this._disconnectHandler);\n }\n }\n this._port = undefined;\n }\n}\n","import { Transport, TransportSendOptions } from '@modelcontextprotocol/sdk/shared/transport.js';\nimport { JSONRPCMessage, JSONRPCMessageSchema } from '@modelcontextprotocol/sdk/types.js';\n\n/**\n * Server transport for Chrome extensions using Port-based messaging.\n * This transport handles a single client connection through Chrome's port messaging API.\n * It should be used in the extension's background service worker.\n */\nexport class ExtensionServerTransport implements Transport {\n private _port: chrome.runtime.Port;\n private _started = false;\n private _messageHandler?: (message: any, port: chrome.runtime.Port) => void;\n private _disconnectHandler?: (port: chrome.runtime.Port) => void;\n\n onclose?: () => void;\n onerror?: (error: Error) => void;\n onmessage?: (message: JSONRPCMessage) => void;\n\n constructor(port: chrome.runtime.Port) {\n this._port = port;\n }\n\n /**\n * Starts the transport and begins handling messages\n */\n async start(): Promise<void> {\n if (this._started) {\n throw new Error(\n 'ExtensionServerTransport already started! If using Server class, note that connect() calls start() automatically.'\n );\n }\n\n if (!this._port) {\n throw new Error('Port not available');\n }\n\n this._started = true;\n\n // Set up message handler\n this._messageHandler = (message: any) => {\n try {\n const mcpMessage = JSONRPCMessageSchema.parse(message);\n this.onmessage?.(mcpMessage);\n } catch (error) {\n this.onerror?.(new Error(`Failed to parse message: ${error}`));\n }\n };\n\n // Set up disconnect handler\n this._disconnectHandler = () => {\n this._cleanup();\n this.onclose?.();\n };\n\n this._port.onMessage.addListener(this._messageHandler);\n this._port.onDisconnect.addListener(this._disconnectHandler);\n }\n\n /**\n * Sends a message to the client\n */\n async send(message: JSONRPCMessage, _options?: TransportSendOptions): Promise<void> {\n if (!this._started) {\n throw new Error('Transport not started');\n }\n\n if (!this._port) {\n throw new Error('Not connected to client');\n }\n\n try {\n this._port.postMessage(message);\n } catch (error) {\n throw new Error(`Failed to send message: ${error}`);\n }\n }\n\n /**\n * Closes the transport\n */\n async close(): Promise<void> {\n this._started = false;\n\n if (this._port) {\n try {\n this._port.disconnect();\n } catch (error) {\n // Port might already be disconnected\n }\n }\n\n this._cleanup();\n this.onclose?.();\n }\n\n /**\n * Cleans up event listeners and references\n */\n private _cleanup(): void {\n if (this._port) {\n if (this._messageHandler) {\n this._port.onMessage.removeListener(this._messageHandler);\n }\n if (this._disconnectHandler) {\n this._port.onDisconnect.removeListener(this._disconnectHandler);\n }\n }\n }\n}\n","import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';\nimport { JSONRPCMessage, JSONRPCMessageSchema } from '@modelcontextprotocol/sdk/types.js';\n\nconst SUBPROTOCOL = 'mcp';\n\n/**\n * Client transport for WebSocket: this will connect to a server over the WebSocket protocol.\n * This transport is Node.js specific and requires the 'ws' package to be installed.\n */\nexport class WebSocketClientTransport implements Transport {\n private _socket?: any; // WebSocket type from 'ws' package\n private _url: URL;\n private _WebSocket?: typeof import('ws').WebSocket;\n\n onclose?: () => void;\n onerror?: (error: Error) => void;\n onmessage?: (message: JSONRPCMessage) => void;\n\n constructor(url: URL) {\n this._url = url;\n }\n\n async start(): Promise<void> {\n if (this._socket) {\n throw new Error(\n 'WebSocketClientTransport already started! If using Client class, note that connect() calls start() automatically.'\n );\n }\n\n // Dynamically import the WebSocket class from 'ws' package\n if (!this._WebSocket) {\n try {\n const ws = await import('ws');\n this._WebSocket = ws.WebSocket;\n } catch (error) {\n throw new Error(\"Failed to import 'ws' package. Please install it with: npm install ws\");\n }\n }\n\n return new Promise((resolve, reject) => {\n // Create WebSocket instance with Node.js specific options\n this._socket = new this._WebSocket!(this._url.toString(), {\n perMessageDeflate: false,\n // Add the subprotocol in the options\n ...(SUBPROTOCOL ? { protocol: SUBPROTOCOL } : {}),\n });\n\n // Node.js WebSocket error event handler\n this._socket.on('error', (error: Error) => {\n reject(error);\n this.onerror?.(error);\n });\n\n // Node.js WebSocket open event handler\n this._socket.on('open', () => {\n resolve();\n });\n\n // Node.js WebSocket close event handler\n this._socket.on('close', () => {\n this.onclose?.();\n });\n\n // Node.js WebSocket message event handler\n this._socket.on('message', (data: Buffer | ArrayBuffer | Buffer[]) => {\n let message: JSONRPCMessage;\n try {\n // Convert Buffer to string before parsing\n const dataStr = data instanceof Buffer ? data.toString('utf-8') : data.toString();\n message = JSONRPCMessageSchema.parse(JSON.parse(dataStr));\n } catch (error) {\n this.onerror?.(error as Error);\n return;\n }\n this.onmessage?.(message);\n });\n });\n }\n\n async close(): Promise<void> {\n if (this._socket && this._WebSocket) {\n // Check the readyState before closing\n if (this._socket.readyState === this._WebSocket.OPEN) {\n this._socket.close();\n }\n }\n }\n\n async send(message: JSONRPCMessage): Promise<void> {\n return new Promise((resolve, reject) => {\n if (!this._socket || !this._WebSocket) {\n reject(new Error('Not connected'));\n return;\n }\n\n // Check if the socket is open before sending\n if (this._socket.readyState !== this._WebSocket.OPEN) {\n reject(new Error('WebSocket is not open'));\n return;\n }\n\n // In Node.js, send accepts a callback for error handling\n this._socket.send(JSON.stringify(message), (error?: Error) => {\n if (error) {\n reject(error);\n } else {\n resolve();\n }\n });\n });\n }\n}\n","import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';\nimport { JSONRPCMessage, JSONRPCMessageSchema } from '@modelcontextprotocol/sdk/types.js';\n\n/**\n * Server transport for WebSocket: this will accept connections from MCP clients over WebSocket protocol.\n * Designed to work in browser extension environments.\n */\nexport class WebSocketServerTransport implements Transport {\n private _socket?: WebSocket;\n private _server?: any; // For environments that support WebSocketServer\n private _started = false;\n private _connectionId?: string;\n\n onclose?: () => void;\n onerror?: (error: Error) => void;\n onmessage?: (message: JSONRPCMessage) => void;\n\n constructor(\n private _options: {\n /**\n * For browser extensions: provide an existing WebSocket connection\n */\n socket?: WebSocket;\n /**\n * For Node.js: provide port to create WebSocketServer\n */\n port?: number;\n }\n ) {}\n\n /**\n * Starts the transport. In browser extension context, this validates the socket.\n */\n async start(): Promise<void> {\n if (this._started) {\n throw new Error(\n 'WebSocketServerTransport already started! If using Server class, note that connect() calls start() automatically.'\n );\n }\n this._started = true;\n\n if (this._options.socket) {\n this._socket = this._options.socket;\n this.setupSocketHandlers(this._socket);\n } else {\n throw new Error('WebSocketServerTransport requires either a socket ');\n }\n }\n\n private setupSocketHandlers(socket: WebSocket): void {\n socket.onmessage = (event: MessageEvent) => {\n let message: JSONRPCMessage;\n try {\n const data = typeof event.data === 'string' ? event.data : event.data.toString();\n const parsedData = JSON.parse(data);\n\n // Handle bridge protocol - extract connectionId if present\n if (parsedData.connectionId) {\n this._connectionId = parsedData.connectionId;\n const { connectionId, ...actualMessage } = parsedData;\n message = JSONRPCMessageSchema.parse(actualMessage);\n } else {\n message = JSONRPCMessageSchema.parse(parsedData);\n }\n } catch (error) {\n this.onerror?.(error as Error);\n return;\n }\n this.onmessage?.(message);\n };\n\n socket.onerror = (event: Event) => {\n const error = new Error(`WebSocket error: ${JSON.stringify(event)}`);\n this.onerror?.(error);\n };\n\n socket.onclose = () => {\n this._socket = undefined;\n this.onclose?.();\n };\n }\n\n async close(): Promise<void> {\n if (this._socket) {\n this._socket.close();\n this._socket = undefined;\n }\n\n if (this._server) {\n return new Promise((resolve) => {\n this._server.close(() => {\n this._server = undefined;\n resolve();\n });\n });\n }\n }\n\n send(message: JSONRPCMessage): Promise<void> {\n return new Promise((resolve, reject) => {\n if (!this._socket || this._socket.readyState !== WebSocket.OPEN) {\n reject(new Error('No active WebSocket connection'));\n return;\n }\n\n try {\n // If we have a connectionId from the bridge, include it in the response\n const messageToSend = this._connectionId\n ? { ...message, connectionId: this._connectionId }\n : message;\n\n this._socket.send(JSON.stringify(messageToSend));\n resolve();\n } catch (error) {\n reject(error);\n }\n });\n }\n\n /**\n * Get the current WebSocket connection (if any)\n */\n get socket(): WebSocket | undefined {\n return this._socket;\n }\n\n /**\n * Check if transport has an active connection\n */\n get isConnected(): boolean {\n return this._socket?.readyState === WebSocket.OPEN;\n }\n}\n","import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';\nimport { JSONRPCMessage, JSONRPCMessageSchema } from '@modelcontextprotocol/sdk/types.js';\n\nexport interface BrowserWebSocketClientTransportOptions {\n maxRetries?: number;\n initialRetryDelay?: number;\n maxRetryDelay?: number;\n connectionTimeout?: number;\n retryMultiplier?: number;\n}\n\n/**\n * Browser-compatible WebSocket client transport for connecting from browser extensions to a bridge server.\n * This transport uses the native browser WebSocket API and doesn't require any Node.js dependencies.\n */\nexport class BrowserWebSocketClientTransport implements Transport {\n private _socket?: WebSocket;\n private _url: string;\n private _connectionId?: string;\n private _options: Required<BrowserWebSocketClientTransportOptions>;\n private _retryCount = 0;\n private _isClosing = false;\n private _connectionTimeoutId?: number;\n\n onclose?: () => void;\n onerror?: (error: Error) => void;\n onmessage?: (message: JSONRPCMessage) => void;\n\n constructor(url: string | URL, options?: BrowserWebSocketClientTransportOptions) {\n this._url = url.toString();\n this._options = {\n maxRetries: options?.maxRetries ?? 10,\n initialRetryDelay: options?.initialRetryDelay ?? 1000,\n maxRetryDelay: options?.maxRetryDelay ?? 30000,\n connectionTimeout: options?.connectionTimeout ?? 10000,\n retryMultiplier: options?.retryMultiplier ?? 1.5,\n };\n }\n\n async start(): Promise<void> {\n if (this._socket) {\n throw new Error(\n 'BrowserWebSocketClientTransport already started! If using Client class, note that connect() calls start() automatically.'\n );\n }\n\n this._isClosing = false;\n this._retryCount = 0;\n return this._connectWithRetry();\n }\n\n private async _connectWithRetry(): Promise<void> {\n while (this._retryCount <= this._options.maxRetries && !this._isClosing) {\n try {\n await this._attemptConnection();\n return; // Success!\n } catch (error) {\n this._retryCount++;\n\n if (this._isClosing) {\n throw new Error('Connection cancelled');\n }\n\n if (this._retryCount > this._options.maxRetries) {\n throw new Error(`Failed to connect after ${this._options.maxRetries} retries: ${error}`);\n }\n\n const delay = Math.min(\n this._options.initialRetryDelay *\n Math.pow(this._options.retryMultiplier, this._retryCount - 1),\n this._options.maxRetryDelay\n );\n\n console.log(\n `[WebSocket] Connection failed, retrying in ${delay}ms (attempt ${this._retryCount}/${this._options.maxRetries})`\n );\n await this._sleep(delay);\n }\n }\n }\n\n private _sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n\n private async _attemptConnection(): Promise<void> {\n return new Promise((resolve, reject) => {\n try {\n // Clear any existing timeout\n if (this._connectionTimeoutId) {\n clearTimeout(this._connectionTimeoutId);\n }\n\n // Create WebSocket with browser API\n this._socket = new WebSocket(this._url);\n\n // Set connection timeout\n this._connectionTimeoutId = setTimeout(() => {\n if (this._socket && this._socket.readyState === WebSocket.CONNECTING) {\n this._socket.close();\n reject(new Error(`Connection timeout after ${this._options.connectionTimeout}ms`));\n }\n }, this._options.connectionTimeout) as unknown as number;\n\n this._socket.onopen = () => {\n // Clear timeout on successful connection\n if (this._connectionTimeoutId) {\n clearTimeout(this._connectionTimeoutId);\n this._connectionTimeoutId = undefined;\n }\n this._retryCount = 0; // Reset retry count on successful connection\n resolve();\n };\n\n this._socket.onerror = (_event) => {\n const error = new Error(`WebSocket connection error`);\n reject(error);\n // Don't call this.onerror during connection attempts\n };\n\n this._socket.onclose = () => {\n this._socket = undefined;\n this._connectionId = undefined;\n\n // Only call onclose if we're not in the middle of retrying\n if (!this._isClosing && this._retryCount === 0) {\n this.onclose?.();\n }\n };\n\n this._socket.onmessage = (event: MessageEvent) => {\n let data: any;\n try {\n data = JSON.parse(event.data);\n\n // Handle bridge-specific messages\n if (data.connectionId && !this._connectionId) {\n // Store connectionId for future messages\n this._connectionId = data.connectionId;\n }\n\n // Extract the actual message\n if (data.connectionId) {\n const { connectionId, ...message } = data;\n data = message;\n }\n\n const message = JSONRPCMessageSchema.parse(data);\n this.onmessage?.(message);\n } catch (error) {\n this.onerror?.(error as Error);\n }\n };\n } catch (error) {\n reject(error);\n }\n });\n }\n\n async close(): Promise<void> {\n this._isClosing = true;\n\n // Clear any pending connection timeout\n if (this._connectionTimeoutId) {\n clearTimeout(this._connectionTimeoutId);\n this._connectionTimeoutId = undefined;\n }\n\n if (this._socket && this._socket.readyState === WebSocket.OPEN) {\n this._socket.close();\n }\n }\n\n async send(message: JSONRPCMessage): Promise<void> {\n return new Promise((resolve, reject) => {\n if (!this._socket || this._socket.readyState !== WebSocket.OPEN) {\n reject(new Error('WebSocket is not connected'));\n return;\n }\n\n try {\n // If we have a connectionId from the bridge, include it\n const messageToSend = this._connectionId\n ? { ...message, connectionId: this._connectionId }\n : message;\n\n this._socket.send(JSON.stringify(messageToSend));\n resolve();\n } catch (error) {\n reject(error);\n }\n });\n }\n\n /**\n * Check if transport is connected\n */\n get isConnected(): boolean {\n return this._socket?.readyState === WebSocket.OPEN;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/ExtensionClientTransport.ts","../src/ExtensionServerTransport.ts","../src/TabClientTransport.ts","../src/TabServerTransport.ts"],"names":["ExtensionClientTransport","options","resolve","reject","message","mcpMessage","JSONRPCMessageSchema","error","_options","ExtensionServerTransport","port","TabClientTransport","promise","event","TabServerTransport"],"mappings":"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","file":"index.js","sourcesContent":["import type {\n Transport,\n TransportSendOptions,\n} from '@modelcontextprotocol/sdk/shared/transport.js';\nimport { type JSONRPCMessage, JSONRPCMessageSchema } from '@modelcontextprotocol/sdk/types.js';\n\n/**\n * Configuration options for ExtensionClientTransport\n */\nexport interface ExtensionClientTransportOptions {\n /**\n * The extension ID to connect to (optional for same-extension connections)\n */\n extensionId?: string;\n\n /**\n * Port name for the connection\n * Default: 'mcp'\n */\n portName?: string;\n}\n\n/**\n * Client transport for Chrome extensions using Port-based messaging.\n * This transport can be used in content scripts, popup scripts, or sidepanel scripts\n * to connect to a server running in the background service worker.\n */\nexport class ExtensionClientTransport implements Transport {\n private _port?: chrome.runtime.Port;\n private _extensionId?: string;\n private _portName: string;\n private _messageHandler?: (message: any) => void;\n private _disconnectHandler?: () => void;\n\n onclose?: () => void;\n onerror?: (error: Error) => void;\n onmessage?: (message: JSONRPCMessage) => void;\n\n constructor(options: ExtensionClientTransportOptions = {}) {\n this._extensionId = options.extensionId;\n this._portName = options.portName || 'mcp';\n }\n\n /**\n * Starts the transport by connecting to the extension port\n */\n async start(): Promise<void> {\n if (this._port) {\n console.warn(\n 'ExtensionClientTransport already started! If using Client class, note that connect() calls start() automatically.'\n );\n // throw new Error(\n // 'ExtensionClientTransport already started! If using Client class, note that connect() calls start() automatically.'\n // );\n return;\n }\n\n return new Promise((resolve, reject) => {\n if (!chrome?.runtime?.connect) {\n reject(\n new Error(\n 'Chrome runtime API not available. This transport must be used in a Chrome extension context.'\n )\n );\n return;\n }\n\n try {\n // Connect to the extension\n if (this._extensionId) {\n this._port = chrome.runtime.connect(this._extensionId, { name: this._portName });\n } else {\n this._port = chrome.runtime.connect({ name: this._portName });\n }\n\n // Set up message handler\n this._messageHandler = (message: any) => {\n try {\n const mcpMessage = JSONRPCMessageSchema.parse(message);\n this.onmessage?.(mcpMessage);\n } catch (error) {\n this.onerror?.(new Error(`Failed to parse message: ${error}`));\n }\n };\n\n // Set up disconnect handler\n this._disconnectHandler = () => {\n this._cleanup();\n this.onclose?.();\n };\n\n this._port.onMessage.addListener(this._messageHandler);\n this._port.onDisconnect.addListener(this._disconnectHandler);\n\n // Check for immediate connection errors\n const error = chrome.runtime.lastError;\n if (error) {\n this._cleanup();\n reject(new Error(`Connection failed: ${error.message}`));\n return;\n }\n\n resolve();\n } catch (error) {\n reject(error);\n }\n });\n }\n\n /**\n * Sends a message to the server\n */\n async send(message: JSONRPCMessage, _options?: TransportSendOptions): Promise<void> {\n if (!this._port) {\n throw new Error('Not connected');\n }\n\n try {\n this._port.postMessage(message);\n } catch (error) {\n throw new Error(`Failed to send message: ${error}`);\n }\n }\n\n /**\n * Closes the transport\n */\n async close(): Promise<void> {\n if (this._port) {\n try {\n this._port.disconnect();\n } catch (error) {\n // Port might already be disconnected\n }\n }\n\n this._cleanup();\n this.onclose?.();\n }\n\n /**\n * Cleans up event listeners and references\n */\n private _cleanup(): void {\n if (this._port) {\n if (this._messageHandler) {\n this._port.onMessage.removeListener(this._messageHandler);\n }\n if (this._disconnectHandler) {\n this._port.onDisconnect.removeListener(this._disconnectHandler);\n }\n }\n this._port = undefined;\n }\n}\n","import type {\n Transport,\n TransportSendOptions,\n} from '@modelcontextprotocol/sdk/shared/transport.js';\nimport { type JSONRPCMessage, JSONRPCMessageSchema } from '@modelcontextprotocol/sdk/types.js';\n\n/**\n * Server transport for Chrome extensions using Port-based messaging.\n * This transport handles a single client connection through Chrome's port messaging API.\n * It should be used in the extension's background service worker.\n */\nexport class ExtensionServerTransport implements Transport {\n private _port: chrome.runtime.Port;\n private _started = false;\n private _messageHandler?: (message: any, port: chrome.runtime.Port) => void;\n private _disconnectHandler?: (port: chrome.runtime.Port) => void;\n\n onclose?: () => void;\n onerror?: (error: Error) => void;\n onmessage?: (message: JSONRPCMessage) => void;\n\n constructor(port: chrome.runtime.Port) {\n this._port = port;\n }\n\n /**\n * Starts the transport and begins handling messages\n */\n async start(): Promise<void> {\n if (this._started) {\n throw new Error(\n 'ExtensionServerTransport already started! If using Server class, note that connect() calls start() automatically.'\n );\n }\n\n if (!this._port) {\n throw new Error('Port not available');\n }\n\n this._started = true;\n\n // Set up message handler\n this._messageHandler = (message: any) => {\n try {\n const mcpMessage = JSONRPCMessageSchema.parse(message);\n this.onmessage?.(mcpMessage);\n } catch (error) {\n this.onerror?.(new Error(`Failed to parse message: ${error}`));\n }\n };\n\n // Set up disconnect handler\n this._disconnectHandler = () => {\n this._cleanup();\n this.onclose?.();\n };\n\n this._port.onMessage.addListener(this._messageHandler);\n this._port.onDisconnect.addListener(this._disconnectHandler);\n }\n\n /**\n * Sends a message to the client\n */\n async send(message: JSONRPCMessage, _options?: TransportSendOptions): Promise<void> {\n if (!this._started) {\n throw new Error('Transport not started');\n }\n\n if (!this._port) {\n throw new Error('Not connected to client');\n }\n\n try {\n this._port.postMessage(message);\n } catch (error) {\n throw new Error(`Failed to send message: ${error}`);\n }\n }\n\n /**\n * Closes the transport\n */\n async close(): Promise<void> {\n this._started = false;\n\n if (this._port) {\n try {\n this._port.disconnect();\n } catch (error) {\n // Port might already be disconnected\n }\n }\n\n this._cleanup();\n this.onclose?.();\n }\n\n /**\n * Cleans up event listeners and references\n */\n private _cleanup(): void {\n if (this._port) {\n if (this._messageHandler) {\n this._port.onMessage.removeListener(this._messageHandler);\n }\n if (this._disconnectHandler) {\n this._port.onDisconnect.removeListener(this._disconnectHandler);\n }\n }\n }\n}\n","import type { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';\nimport { type JSONRPCMessage, JSONRPCMessageSchema } from '@modelcontextprotocol/sdk/types.js';\n\n// Type declaration for Promise.withResolvers() if not available in current TypeScript version\n// declare global {\n// interface PromiseConstructor {\n// withResolvers<T>(): {\n// promise: Promise<T>;\n// resolve: (value: T | PromiseLike<T>) => void;\n// reject: (reason?: any) => void;\n// };\n// }\n// }\n\nexport interface TabClientTransportOptions {\n targetOrigin: string; // Required for security\n channelId?: string; // Optional channel name\n}\n\nexport class TabClientTransport implements Transport {\n private _started = false;\n private _targetOrigin: string;\n private _channelId: string;\n private _messageHandler?: (event: MessageEvent) => void;\n public readonly serverReadyPromise: Promise<void>;\n private _serverReadyResolve: () => void;\n private _serverReadyReject: (reason: any) => void;\n\n onclose?: () => void;\n onerror?: (error: Error) => void;\n onmessage?: (message: JSONRPCMessage) => void;\n\n constructor(options: TabClientTransportOptions) {\n if (!options.targetOrigin) {\n throw new Error('targetOrigin must be explicitly set for security');\n }\n this._targetOrigin = options.targetOrigin;\n this._channelId = options.channelId || 'mcp-default';\n\n // Create the server ready promise in constructor so it's available immediately\n const { promise, resolve, reject } = Promise.withResolvers<void>();\n this.serverReadyPromise = promise;\n this._serverReadyResolve = resolve;\n this._serverReadyReject = reject;\n }\n\n async start(): Promise<void> {\n if (this._started) {\n throw new Error('Transport already started');\n }\n\n this._messageHandler = (event: MessageEvent) => {\n // Security: validate origin\n if (event.origin !== this._targetOrigin) {\n return;\n }\n\n // Validate message structure\n if (event.data?.channel !== this._channelId || event.data?.type !== 'mcp') {\n return;\n }\n\n // Only process server-to-client messages to avoid processing own messages\n if (event.data?.direction !== 'server-to-client') {\n return;\n }\n\n // Handle server ready signal\n if (event.data.payload === 'mcp-server-ready') {\n this._serverReadyResolve();\n return;\n }\n\n try {\n const message = JSONRPCMessageSchema.parse(event.data.payload);\n this.onmessage?.(message);\n } catch (error) {\n this.onerror?.(new Error(`Invalid message: ${error}`));\n }\n };\n\n window.addEventListener('message', this._messageHandler);\n this._started = true;\n }\n\n async send(message: JSONRPCMessage): Promise<void> {\n if (!this._started) {\n throw new Error('Transport not started');\n }\n\n window.postMessage(\n {\n channel: this._channelId,\n type: 'mcp',\n direction: 'client-to-server', // Mark as client-to-server message\n payload: message,\n },\n this._targetOrigin\n );\n }\n\n async close(): Promise<void> {\n if (this._messageHandler) {\n window.removeEventListener('message', this._messageHandler);\n }\n\n // Reject the server ready promise if it hasn't been resolved yet\n this._serverReadyReject(new Error('Transport closed before server ready'));\n\n this._started = false;\n this.onclose?.();\n }\n}\n","import type { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';\nimport { type JSONRPCMessage, JSONRPCMessageSchema } from '@modelcontextprotocol/sdk/types.js';\n\nexport interface TabServerTransportOptions {\n allowedOrigins: string[]; // Required for security\n channelId?: string; // Optional channel name\n}\n\nexport class TabServerTransport implements Transport {\n private _started = false;\n private _allowedOrigins: string[] | '*';\n private _channelId: string;\n private _messageHandler?: (event: MessageEvent) => void;\n private _clientOrigin?: string;\n\n onclose?: () => void;\n onerror?: (error: Error) => void;\n onmessage?: (message: JSONRPCMessage) => void;\n\n constructor(options: TabServerTransportOptions) {\n if (!options.allowedOrigins || options.allowedOrigins.length === 0) {\n throw new Error('At least one allowed origin must be specified');\n }\n this._allowedOrigins = options.allowedOrigins;\n this._channelId = options.channelId || 'mcp-default';\n }\n\n async start(): Promise<void> {\n if (this._started) {\n throw new Error('Transport already started');\n }\n\n this._messageHandler = (event: MessageEvent) => {\n console.log({ event });\n // Security: validate origin\n if (!this._allowedOrigins.includes(event.origin) && !this._allowedOrigins.includes('*')) {\n return;\n }\n\n // Validate message structure\n if (event.data?.channel !== this._channelId || event.data?.type !== 'mcp') {\n return;\n }\n\n // Only process client-to-server messages to avoid processing own messages\n if (event.data?.direction !== 'client-to-server') {\n return;\n }\n\n // Store client origin for responses\n this._clientOrigin = event.origin;\n\n try {\n const message = JSONRPCMessageSchema.parse(event.data.payload);\n this.onmessage?.(message);\n } catch (error) {\n this.onerror?.(new Error(`Invalid message: ${error}`));\n }\n };\n\n window.addEventListener('message', this._messageHandler);\n this._started = true;\n\n // Broadcast server ready to all allowed origins\n window.postMessage(\n {\n channel: this._channelId,\n type: 'mcp',\n direction: 'server-to-client',\n payload: 'mcp-server-ready',\n },\n '*'\n );\n }\n\n async send(message: JSONRPCMessage): Promise<void> {\n if (!this._started) {\n throw new Error('Transport not started');\n }\n\n if (!this._clientOrigin) {\n throw new Error('No client connected');\n }\n\n window.postMessage(\n {\n channel: this._channelId,\n type: 'mcp',\n direction: 'server-to-client', // Mark as server-to-client message\n payload: message,\n },\n this._clientOrigin\n );\n }\n\n async close(): Promise<void> {\n if (this._messageHandler) {\n window.removeEventListener('message', this._messageHandler);\n }\n this._started = false;\n this.onclose?.();\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-b/transports",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "Transports for the in browser transport protocols",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Alex Nahas",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
|
-
"url": "git+https://github.com/
|
|
10
|
-
"directory": "packages/
|
|
9
|
+
"url": "git+https://github.com/MiguelsPizza/WebMCP.git",
|
|
10
|
+
"directory": "packages/transports"
|
|
11
11
|
},
|
|
12
|
-
"homepage": "https://github.com/
|
|
12
|
+
"homepage": "https://github.com/MiguelsPizza/WebMCP#readme",
|
|
13
13
|
"bugs": {
|
|
14
|
-
"url": "https://github.com/
|
|
14
|
+
"url": "https://github.com/MiguelsPizza/WebMCP/issues"
|
|
15
15
|
},
|
|
16
16
|
"keywords": [
|
|
17
17
|
"mcp",
|
|
@@ -33,43 +33,39 @@
|
|
|
33
33
|
"files": [
|
|
34
34
|
"dist"
|
|
35
35
|
],
|
|
36
|
+
"scripts": {
|
|
37
|
+
"build": "tsup",
|
|
38
|
+
"typecheck": "tsc --noEmit",
|
|
39
|
+
"clean": "rm -rf dist .turbo",
|
|
40
|
+
"prepublishOnly": "pnpm run build",
|
|
41
|
+
"publish:npm": "npm publish --access public --no-git-checks",
|
|
42
|
+
"publish:dry": "pnpm publish --access public --no-git-checks --dry-run",
|
|
43
|
+
"version:patch": "pnpm version patch --no-git-tag-version",
|
|
44
|
+
"version:minor": "pnpm version minor --no-git-tag-version",
|
|
45
|
+
"version:major": "pnpm version major --no-git-tag-version",
|
|
46
|
+
"lint": "biome lint --write .",
|
|
47
|
+
"format": "biome format --write .",
|
|
48
|
+
"check": "biome check --write ."
|
|
49
|
+
},
|
|
36
50
|
"dependencies": {
|
|
37
|
-
"
|
|
38
|
-
"@types/cheerio": "^1.0.0",
|
|
39
|
-
"cheerio": "^1.1.0",
|
|
40
|
-
"zod": "^3.24.1"
|
|
51
|
+
"zod": "^3.25.74"
|
|
41
52
|
},
|
|
42
53
|
"peerDependencies": {
|
|
43
|
-
"@
|
|
44
|
-
"ws": "^8.0.0"
|
|
54
|
+
"@modelcontextprotocol/sdk": "^1.15.0"
|
|
45
55
|
},
|
|
46
56
|
"peerDependenciesMeta": {
|
|
47
|
-
"
|
|
48
|
-
"optional":
|
|
49
|
-
},
|
|
50
|
-
"@anthropic-ai/sdk": {
|
|
51
|
-
"optional": true
|
|
57
|
+
"@modelcontextprotocol/sdk": {
|
|
58
|
+
"optional": false
|
|
52
59
|
}
|
|
53
60
|
},
|
|
54
61
|
"devDependencies": {
|
|
55
|
-
"@types/chrome": "
|
|
56
|
-
"@types/node": "
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"typescript": "^5.8.3"
|
|
62
|
+
"@types/chrome": "catalog:",
|
|
63
|
+
"@types/node": "catalog:",
|
|
64
|
+
"tsup": "catalog:",
|
|
65
|
+
"typescript": "catalog:"
|
|
60
66
|
},
|
|
61
67
|
"publishConfig": {
|
|
62
68
|
"access": "public",
|
|
63
69
|
"registry": "https://registry.npmjs.org/"
|
|
64
|
-
},
|
|
65
|
-
"scripts": {
|
|
66
|
-
"build": "tsup",
|
|
67
|
-
"typecheck": "tsc --noEmit",
|
|
68
|
-
"clean": "rm -rf dist .turbo",
|
|
69
|
-
"publish:npm": "pnpm publish --access public --no-git-checks",
|
|
70
|
-
"publish:dry": "pnpm publish --access public --no-git-checks --dry-run",
|
|
71
|
-
"version:patch": "pnpm version patch --no-git-tag-version",
|
|
72
|
-
"version:minor": "pnpm version minor --no-git-tag-version",
|
|
73
|
-
"version:major": "pnpm version major --no-git-tag-version"
|
|
74
70
|
}
|
|
75
|
-
}
|
|
71
|
+
}
|