@mcpolyglot/cli 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 mcpolyglot contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,32 @@
1
+ # @mcpolyglot/cli
2
+
3
+ The `mcpolyglot` command-line interface. Scaffolds a config, validates connectivity, lists tools, and serves the MCP server over stdio or Streamable HTTP.
4
+
5
+ ```bash
6
+ npx @mcpolyglot/cli init # interactive wizard
7
+ npx @mcpolyglot/cli doctor # validate config, ping sources, list tools
8
+ npx @mcpolyglot/cli tools # list tools mcpolyglot would expose
9
+ npx @mcpolyglot/cli serve # start the MCP server (stdio)
10
+ npx @mcpolyglot/cli serve --http --port 7337 # start over Streamable HTTP
11
+ ```
12
+
13
+ ## Commands
14
+
15
+ | Command | Purpose |
16
+ | -------- | -------------------------------------------------------------------------- |
17
+ | `init` | Interactively scaffold an `mcpolyglot.config.ts` in the current directory. |
18
+ | `doctor` | Load + validate config, resolve secrets, ping each source, list tools. |
19
+ | `tools` | Print every tool mcpolyglot would expose for the current config. |
20
+ | `serve` | Start the server. `--http` flips to Streamable HTTP with bearer auth. |
21
+
22
+ `serve --http` prints the bearer token, MCP URL, and `/healthz` URL on stderr. Pin the token in your config (`transport.auth.token`) for stable deployments; omit it to mint a fresh token on each start.
23
+
24
+ Stdio servers must keep stdout clean, so all CLI output goes to stderr.
25
+
26
+ ## Docs
27
+
28
+ - Full README → https://github.com/ishay60/mcpolyglot
29
+ - Architecture → https://github.com/ishay60/mcpolyglot/blob/develop/ARCHITECTURE.md
30
+ - Examples → https://github.com/ishay60/mcpolyglot/tree/develop/examples
31
+
32
+ MIT licensed.
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2025.float16.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/commander@14.0.3/node_modules/commander/typings/index.d.ts","../../../node_modules/.pnpm/commander@14.0.3/node_modules/commander/typings/esm.d.mts","../../../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/types.d.ts","../../../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.d.ts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/typeAliases.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/index.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/enumUtil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/partialUtil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/standard-schema.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/index.d.cts","../../config/dist/schema.d.ts","../../config/dist/secrets.d.ts","../../config/dist/index.d.ts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/standard-schema.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/util.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/versions.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/schemas.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/checks.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/errors.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/core.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/parse.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/regexes.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ar.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/az.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/be.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ca.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/cs.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/de.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/en.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/eo.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/es.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/fa.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/fi.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/fr.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/fr-CA.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/he.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/hu.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/id.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/it.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ja.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/kh.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ko.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/mk.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ms.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/nl.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/no.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ota.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ps.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/pl.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/pt.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ru.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/sl.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/sv.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ta.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/th.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/tr.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ua.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ur.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/vi.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/zh-CN.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/zh-TW.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/index.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/registries.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/doc.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/function.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/api.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/json-schema.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/to-json-schema.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/index.d.cts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.d.ts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/errors.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/parse.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/schemas.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/checks.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/compat.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/iso.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/coerce.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/external.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/index.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/index.d.cts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/types.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/types.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/types.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/responseMessage.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.d.ts","../../../node_modules/.pnpm/json-schema-typed@8.0.2/node_modules/json-schema-typed/draft_2020_12.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/types.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.d.ts","../../core/dist/transport.d.ts","../../core/dist/transports/stdio.d.ts","../../core/dist/transports/streamable-http.d.ts","../../core/dist/tool.d.ts","../../core/dist/connector.d.ts","../../core/dist/server.d.ts","../../core/dist/errors.d.ts","../../core/dist/index.d.ts","../../security/dist/redactor.d.ts","../../security/dist/rate-limiter.d.ts","../../security/dist/audit.d.ts","../../security/dist/wrap.d.ts","../../security/dist/hooks.d.ts","../../security/dist/scope-guard.d.ts","../../security/dist/index.d.ts","../../connector-sql/dist/dialect.d.ts","../../connector-sql/dist/connector.d.ts","../../connector-sql/dist/dialects/postgres.d.ts","../../connector-sql/dist/dialects/mysql.d.ts","../../connector-sql/dist/dialects/sqlite.d.ts","../../connector-sql/dist/index.d.ts","../../connector-mongo/dist/connector.d.ts","../../connector-mongo/dist/index.d.ts","../src/factory.ts","../src/ui.ts","../src/commands/serve.ts","../../../node_modules/.pnpm/@clack+core@0.3.5/node_modules/@clack/core/dist/index.d.ts","../../../node_modules/.pnpm/@clack+prompts@0.7.0/node_modules/@clack/prompts/dist/index.d.ts","../src/commands/init.ts","../src/commands/doctor.ts","../src/commands/tools.ts","../src/bin.ts","../src/index.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/blob.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/console.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/encoding.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/utility.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/client-stats.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/round-robin-pool.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/h2c-client.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/importmeta.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/messaging.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/performance.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/timers.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/url.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/inspector/promises.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/path/posix.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/path/win32.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/quic.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/test/reporters.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/util/types.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/index.d.ts"],"fileIdsList":[[194,257,265,269,272,274,275,276,289,294],[185,194,257,265,269,272,274,275,276,289],[137,149,151,154,194,257,265,269,272,274,275,276,289],[137,149,153,154,158,194,257,265,269,272,274,275,276,289],[149,194,257,265,269,272,274,275,276,289],[194,257,265,269,272,274,275,276,289],[137,149,154,156,157,194,257,265,269,272,274,275,276,289],[66,136,194,257,265,269,272,274,275,276,289],[137,148,149,150,152,153,194,257,265,269,272,274,275,276,289],[147,148,194,257,265,269,272,274,275,276,289],[155,194,257,265,269,272,274,275,276,289],[194,254,255,257,265,269,272,274,275,276,289],[194,256,257,265,269,272,274,275,276,289],[257,265,269,272,274,275,276,289],[194,257,265,269,272,274,275,276,289,297],[194,257,258,263,265,268,269,272,274,275,276,278,289,294,306],[194,257,258,259,265,268,269,272,274,275,276,289],[194,257,260,265,269,272,274,275,276,289,307],[194,257,261,262,265,269,272,274,275,276,280,289],[194,257,262,265,269,272,274,275,276,289,294,303],[194,257,263,265,268,269,272,274,275,276,278,289],[194,256,257,264,265,269,272,274,275,276,289],[194,257,265,266,269,272,274,275,276,289],[194,257,265,267,268,269,272,274,275,276,289],[194,256,257,265,268,269,272,274,275,276,289],[194,257,265,268,269,270,272,274,275,276,289,294,306],[194,257,265,268,269,270,272,274,275,276,289,294,297],[194,244,257,265,268,269,271,272,274,275,276,278,289,294,306],[194,257,265,268,269,271,272,274,275,276,278,289,294,303,306],[194,257,265,269,271,272,273,274,275,276,289,294,303,306],[192,193,194,195,196,197,198,199,200,201,202,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313],[194,257,265,268,269,272,274,275,276,289],[194,257,265,269,272,274,276,289],[194,257,265,269,272,274,275,276,277,289,306],[194,257,265,268,269,272,274,275,276,278,289,294],[194,257,265,269,272,274,275,276,280,289],[194,257,265,269,272,274,275,276,281,289],[194,257,265,268,269,272,274,275,276,284,289],[194,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313],[194,257,265,269,272,274,275,276,286,289],[194,257,265,269,272,274,275,276,287,289],[194,257,262,265,269,272,274,275,276,278,289,297],[194,257,265,268,269,272,274,275,276,289,290],[194,257,265,269,272,274,275,276,289,291,307,310],[194,257,265,268,269,272,274,275,276,289,294,296,297],[194,257,265,269,272,274,275,276,289,295,297],[194,257,265,269,272,274,275,276,289,297,307],[194,257,265,269,272,274,275,276,289,298],[194,254,257,265,269,272,274,275,276,289,294,300,306],[194,257,265,269,272,274,275,276,289,294,299],[194,257,265,268,269,272,274,275,276,289,301,302],[194,257,265,269,272,274,275,276,289,301,302],[194,257,262,265,269,272,274,275,276,278,289,294,303],[194,257,265,269,272,274,275,276,289,304],[194,257,265,269,272,274,275,276,278,289,305],[194,257,265,269,271,272,274,275,276,287,289,306],[194,257,265,269,272,274,275,276,289,307,308],[194,257,262,265,269,272,274,275,276,289,308],[194,257,265,269,272,274,275,276,289,294,309],[194,257,265,269,272,274,275,276,277,289,310],[194,257,265,269,272,274,275,276,289,311],[194,257,260,265,269,272,274,275,276,289],[194,257,262,265,269,272,274,275,276,289],[194,257,265,269,272,274,275,276,289,307],[194,244,257,265,269,272,274,275,276,289],[194,257,265,269,272,274,275,276,289,306],[194,257,265,269,272,274,275,276,289,312],[194,257,265,269,272,274,275,276,284,289],[194,257,265,269,272,274,275,276,289,302],[194,244,257,265,268,269,270,272,274,275,276,284,289,294,297,306,309,310,312],[194,257,265,269,272,274,275,276,289,294,313],[60,194,257,265,269,272,274,275,276,289],[62,194,257,265,269,272,274,275,276,289],[194,209,212,215,216,257,265,269,272,274,275,276,289,306],[194,212,257,265,269,272,274,275,276,289,294,306],[194,212,216,257,265,269,272,274,275,276,289,306],[194,206,257,265,269,272,274,275,276,289],[194,210,257,265,269,272,274,275,276,289],[194,208,209,212,257,265,269,272,274,275,276,289,306],[194,257,265,269,272,274,275,276,278,289,303],[194,257,265,269,272,274,275,276,289,314],[194,206,257,265,269,272,274,275,276,289,314],[194,208,212,257,265,269,272,274,275,276,278,289,306],[194,203,204,205,207,211,257,265,268,269,272,274,275,276,289,294,306],[194,212,221,229,257,265,269,272,274,275,276,289],[194,204,210,257,265,269,272,274,275,276,289],[194,212,238,239,257,265,269,272,274,275,276,289],[194,204,207,212,257,265,269,272,274,275,276,289,297,306,314],[194,212,257,265,269,272,274,275,276,289],[194,208,212,257,265,269,272,274,275,276,289,306],[194,203,257,265,269,272,274,275,276,289],[194,206,207,208,210,211,212,213,214,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,239,240,241,242,243,257,265,269,272,274,275,276,289],[194,212,231,234,257,265,269,272,274,275,276,289],[194,212,221,222,223,257,265,269,272,274,275,276,289],[194,210,212,222,224,257,265,269,272,274,275,276,289],[194,211,257,265,269,272,274,275,276,289],[194,204,206,212,257,265,269,272,274,275,276,289],[194,212,216,222,224,257,265,269,272,274,275,276,289],[194,216,257,265,269,272,274,275,276,289],[194,210,212,215,257,265,269,272,274,275,276,289,306],[194,204,208,212,221,257,265,269,272,274,275,276,289],[194,212,231,257,265,269,272,274,275,276,289],[194,224,257,265,269,272,274,275,276,289],[194,206,212,238,257,265,269,272,274,275,276,289,297,312,314],[76,194,257,265,269,272,274,275,276,289],[64,65,66,194,257,265,269,272,274,275,276,289],[67,68,194,257,265,269,272,274,275,276,289],[64,65,67,69,70,75,194,257,265,269,272,274,275,276,289],[65,67,194,257,265,269,272,274,275,276,289],[75,194,257,265,269,272,274,275,276,289],[67,194,257,265,269,272,274,275,276,289],[64,65,67,70,71,72,73,74,194,257,265,269,272,274,275,276,289],[136,194,257,265,269,272,274,275,276,289],[136,140,194,257,265,269,272,274,275,276,289],[129,136,138,139,140,141,142,143,144,194,257,265,269,272,274,275,276,289],[145,194,257,265,269,272,274,275,276,289],[136,138,194,257,265,269,272,274,275,276,289],[136,139,194,257,265,269,272,274,275,276,289],[82,84,85,86,87,194,257,265,269,272,274,275,276,289],[82,84,86,87,194,257,265,269,272,274,275,276,289],[82,84,86,194,257,265,269,272,274,275,276,289],[82,84,85,87,194,257,265,269,272,274,275,276,289],[82,84,87,194,257,265,269,272,274,275,276,289],[82,83,84,85,86,87,88,89,129,130,131,132,133,134,135,194,257,265,269,272,274,275,276,289],[84,87,194,257,265,269,272,274,275,276,289],[81,82,83,85,86,87,194,257,265,269,272,274,275,276,289],[84,130,134,194,257,265,269,272,274,275,276,289],[84,85,86,87,194,257,265,269,272,274,275,276,289],[146,194,257,265,269,272,274,275,276,289],[86,194,257,265,269,272,274,275,276,289],[90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,194,257,265,269,272,274,275,276,289],[61,63,184,187,188,189,194,257,265,269,272,274,275,276,289],[63,80,182,183,194,257,265,269,272,274,275,276,289],[63,183,186,194,257,265,269,272,274,275,276,281,289],[63,80,160,161,182,183,194,257,265,269,272,274,275,276,277,281,289,306],[80,166,173,179,181,194,257,265,269,272,274,275,276,289],[182,194,257,265,269,272,274,275,276,289],[63,194,257,265,269,272,274,275,276,289],[78,79,194,257,265,269,272,274,275,276,289],[77,194,257,265,269,272,274,275,276,289],[166,194,257,265,269,272,274,275,276,289],[180,194,257,265,269,272,274,275,276,289],[166,174,194,257,265,269,272,274,275,276,289],[174,175,176,177,178,194,257,265,269,272,274,275,276,289],[162,194,257,265,269,272,274,275,276,289],[159,162,163,164,165,194,257,265,269,272,274,275,276,289],[159,162,163,194,257,265,269,272,274,275,276,289],[158,194,257,265,269,272,274,275,276,289],[158,159,194,257,265,269,272,274,275,276,289],[166,167,168,169,170,194,257,265,269,272,274,275,276,289],[167,168,169,170,171,172,194,257,265,269,272,274,275,276,289]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"0237580177f1a858ab125992af8a6dfc29268fe7d4bac5308b9f462f88b0cd31","impliedFormat":1},{"version":"b124c0624b15412ace7d54644ade38d7a69db7e25488a1a4d2a8df6e11696538","impliedFormat":99},{"version":"590595c1230ebb7c43ebac51b2b2da956a719b213355b4358e2a6b16a8b5936c","impliedFormat":1},{"version":"8c5f0739f00f89f89b03a1fe6658c6d78000d7ebd7f556f0f8d6908fa679de35","impliedFormat":1},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},{"version":"c8e615e1dfd807a2fb6642e7b692d1e0aa7192f2b2c80188f68146942948e1a6","impliedFormat":99},{"version":"a476969243fc7d9a95b7bac56528b9bb568659f07c4b4e48b6d87e11b6c00038","impliedFormat":99},{"version":"85aea7a40390e786c68abca389f0dee485825e8e8c6305bd26540ffdbf8d4009","impliedFormat":99},{"version":"309ebd217636d68cf8784cbc3272c16fb94fb8e969e18b6fe88c35200340aef1","impliedFormat":1},{"version":"91cf9887208be8641244827c18e620166edf7e1c53114930b54eaeaab588a5be","impliedFormat":1},{"version":"ef9b6279acc69002a779d0172916ef22e8be5de2d2469ff2f4bb019a21e89de2","impliedFormat":1},{"version":"71623b889c23a332292c85f9bf41469c3f2efa47f81f12c73e14edbcffa270d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"88863d76039cc550f8b7688a213dd051ae80d94a883eb99389d6bc4ce21c8688","impliedFormat":1},{"version":"e9ce511dae7201b833936d13618dff01815a9db2e6c2cc28646e21520c452d6c","impliedFormat":1},{"version":"243649afb10d950e7e83ee4d53bd2fbd615bb579a74cf6c1ce10e64402cdf9bb","impliedFormat":1},{"version":"35575179030368798cbcd50da928a275234445c9a0df32d4a2c694b2b3d20439","impliedFormat":1},{"version":"c939cb12cb000b4ec9c3eca3fe7dee1fe373ccb801237631d9252bad10206d61","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"26384fb401f582cae1234213c3dc75fdc80e3d728a0a1c55b405be8a0c6dddbe","impliedFormat":1},{"version":"26384fb401f582cae1234213c3dc75fdc80e3d728a0a1c55b405be8a0c6dddbe","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"26384fb401f582cae1234213c3dc75fdc80e3d728a0a1c55b405be8a0c6dddbe","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"03268b4d02371bdf514f513797ed3c9eb0840b0724ff6778bda0ef74c35273be","impliedFormat":1},{"version":"3511847babb822e10715a18348d1cbb0dae73c4e4c0a1bcf7cbc12771b310d45","impliedFormat":1},{"version":"80e653fbbec818eecfe95d182dc65a1d107b343d970159a71922ac4491caa0af","impliedFormat":1},{"version":"53f00dc83ccceb8fad22eb3aade64e4bcdb082115f230c8ba3d40f79c835c30e","impliedFormat":1},{"version":"35475931e8b55c4d33bfe3abc79f5673924a0bd4224c7c6108a4e08f3521643c","impliedFormat":1},{"version":"9078205849121a5d37a642949d687565498da922508eacb0e5a0c3de427f0ae5","impliedFormat":1},{"version":"e8f8f095f137e96dc64b56e59556c02f3c31db4b354801d6ae3b90dceae60240","impliedFormat":1},{"version":"451abef2a26cebb6f54236e68de3c33691e3b47b548fd4c8fa05fd84ab2238ff","impliedFormat":1},{"version":"0648a8c200b5544e30677f7f7059b1e384d6cab716c82659716457e3f317ebae","impliedFormat":99},{"version":"6042774c61ece4ba77b3bf375f15942eb054675b7957882a00c22c0e4fe5865c","impliedFormat":1},{"version":"41f185713d78f7af0253a339927dc04b485f46210d6bc0691cf908e3e8ded2a1","impliedFormat":1},{"version":"23ee410c645f68bd99717527de1586e3eb826f166d654b74250ad92b27311fde","impliedFormat":1},{"version":"ffc3e1064146c1cafda1b0686ae9679ba1fb706b2f415e057be01614bf918dba","impliedFormat":1},{"version":"995869b1ddf66bbcfdb417f7446f610198dcce3280a0ae5c8b332ed985c01855","impliedFormat":1},{"version":"58d65a2803c3b6629b0e18c8bf1bc883a686fcf0333230dd0151ab6e85b74307","impliedFormat":1},{"version":"e818471014c77c103330aee11f00a7a00b37b35500b53ea6f337aefacd6174c9","impliedFormat":1},{"version":"dca963a986285211cfa75b9bb57914538de29585d34217d03b538e6473ac4c44","impliedFormat":1},{"version":"d8bc0c5487582c6d887c32c92d8b4ffb23310146fcb1d82adf4b15c77f57c4ac","impliedFormat":1},{"version":"8cb31102790372bebfd78dd56d6752913b0f3e2cefbeb08375acd9f5ba737155","impliedFormat":1},{"version":"f17ed72d1b1882ab6dc66d45e699f757d15bba0807af2fc9c3ec98fe367611c1","impliedFormat":99},{"version":"b1067ccb56b38af060dc3299ea7c4c6362cad4f07d0d454325a74808204fc801","impliedFormat":99},{"version":"7bb43a0f0180ad87b0a944ef95be8615d4c1d621a93ae503a8fcdee2027243ef","impliedFormat":99},{"version":"ba678532514244768286bdfdc82b33f072d5de4e9d281a75bcccdba9970788d7","impliedFormat":99},{"version":"0b79f95a79497386c50f38bafbbf59154619e51d7bbe5acf61cd376d3c9d77b9","impliedFormat":99},{"version":"5993793a23b298afd20c2e1cd2bf8468cc7e9415d314d0771e93dd8b2e389d28","impliedFormat":99},{"version":"05267740a5cff4399995b08326a2e250f229e9926f453162192b9b96b853a12b","impliedFormat":99},{"version":"104fae9b53b5eaa040d9ce626e1bf0b3e6e27d269a899a98a4a28358cdcbc155","impliedFormat":99},{"version":"50a6aa665f3a2e769a4d683f9f74cd15164d0947fb957d8016331b170ab8b643","impliedFormat":99},{"version":"6b83491ca98ce7dc82ec0c54f1456705c9ea08f5a39fa8cea17134b28e2a73d7","impliedFormat":99},{"version":"33aa2f336bb0bc598652ddd1ad3095ef7a14e4dbed9cf829fa9357e989fff31a","impliedFormat":99},{"version":"f8132204d00e700e9d967fed9b5fda0a7bc54449bff268d92948be26ada151c0","impliedFormat":99},{"version":"d74fde83b7c08943a972382344ab7b09206c82870a7a59a6d16c859816d99882","impliedFormat":99},{"version":"534fb74799eb9c76ad9c2bc844172559327934e75dd8d09417b544897a2b5c26","impliedFormat":99},{"version":"000c813d5a4038481e0335adfd2d657e41a236b4cce9a536604204f87bd3b758","impliedFormat":99},{"version":"cfff4d32474904c6231c06fad39faf0dc53bc62b6de2ec521fdc038751daf22a","impliedFormat":99},{"version":"1f3664e0d2561027219df36a2f2a8eb8c6c28f801c3e99cfd63f33938ef5bef7","impliedFormat":99},{"version":"c96d4f763c624473d3f661c3e3fe0690220c36ab7660238be36c8f015a4b6499","impliedFormat":99},{"version":"8136962ccb5748b8b9d1e0b8fb251c32d06267a5584b130ba217a2eff486b9be","impliedFormat":99},{"version":"4bc137f5531f6012ffe5191cf7d7e26c959ea6c48ca3a59cc1984ae0be78d490","impliedFormat":99},{"version":"3e23a6a9b5abe1bf7f1f9a337fabf91a866c60453d7c510ae8a7eba0c8a3dd42","impliedFormat":99},{"version":"cf69cf667d440a22575fba751697a17e81dd34afe85973d957b948cbeb06bfe8","impliedFormat":99},{"version":"5b499b0af623098661727f304e54ffd074d04f4734745e120a285c3995c86aa4","impliedFormat":99},{"version":"0e0f9f9ce1820b98de8e6ff020f2c1c4f5c79d0768050ccdaad79439e8567d77","impliedFormat":99},{"version":"0480e80d70e9418fb28aa16babc9601414316319adc550f84d0b694eed62c670","impliedFormat":99},{"version":"f696f8708b6ae618b18e52fde8cdf39f6874af519928e2d37d317a309bf86168","impliedFormat":99},{"version":"6e03137187460bf06877dd0d797d72e1956546835ff3136d0314b75ddebccb85","impliedFormat":99},{"version":"c472a0dec49de1322c285339bcf653638616ec922807737550d19742759118f4","impliedFormat":99},{"version":"95039b0ee363701cfe07512801b59acce20b213773dacb2a9ff599c398aadc3a","impliedFormat":99},{"version":"b62aae6ceaea47c021d586bd4ab9f00baa282caf7a203b119cba1394214f2dad","impliedFormat":99},{"version":"15cdd3145d2adc65fe46f0cf9362dcb76852096145c9085e11f5fa67c6079644","impliedFormat":99},{"version":"68498d1bc5bb3302b98ea991a2864cc8a5803cd1862be52092b671b6d9e124f5","impliedFormat":99},{"version":"0c1826c86ef1ae07c78be0ac194c41eb2a1614171bd11f010240ea69f076c31c","impliedFormat":99},{"version":"3170999a884a8b8e1cc3eb54511bf7402069cf5a65f5018ba50f4db3d6229f21","impliedFormat":99},{"version":"a52f376c12896f11992c4657f0389f6eb2e90b0b31c3ec06b96aa6278fa70a50","signature":"b816036302110eaa7d2765eed27271e2188aeb343cdb96d288a0f4fb31154f4b","impliedFormat":99},{"version":"d7b060654c7e1ecdb80ea6f6457df3e7cf9d63e4da97785980045fb74d2d106c","signature":"aa54363b55d64f8b3d94fd81b8c35c4ba6c970c0f8800aef36c37687429c7b42","impliedFormat":99},{"version":"dcd3adaea226ab004116171fe29e506795338462bc3917323181cf1885245215","signature":"6b99fdab82ff88640d20c9365f8da4f092aa48dffeb4cc87c96272a1e638c3a8","impliedFormat":99},{"version":"fc36cdc51988aa2a726cee80c60fd1688463a80b4897925469b99c9e3c509c72","impliedFormat":99},{"version":"c68ee5280cc1796f80319acc984ec359002b1af9842e406374a264b36f24a6e0","impliedFormat":99},{"version":"b0e4cbf672644c9ea848ad44644fa3a73daed35d16fef46bd4d26e852e5ffb8c","signature":"76a3aa4d53a04e5022101187b9c9d84e4d60cb437e0174ebe84f454296f58158","impliedFormat":99},{"version":"17f92e928c7d69bab8c14cc1280e16ed6c4f8295dddca7b73ebb053e73e5f7f0","signature":"8d6659e4d879430b9bf810d85bc67325a9cb003d558723d83c125ae449ab3dd5","impliedFormat":99},{"version":"e5005589fb086ae7a06f27435acf25d29e24e7bd3149e51c560c8a1d990849a6","signature":"f0fbe5004e25090cc8ba211512f99cd85592f948435cff2026b9ab59a9f01b1a","impliedFormat":99},{"version":"40b268e0c4acd3e81e0011b16b9cfa7f48fe51cf0bb012ca1140e6883452bab0","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012","impliedFormat":99},{"version":"a8397c80b8d0f908c99baa423cff83fdfe3a334578b9bfe4b4f5ba2affe7221b","impliedFormat":99},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"074de5b2fdead0165a2757e3aaef20f27a6347b1c36adea27d51456795b37682","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"4137ebf04166f3a325f056aa56101adc75e9dceb30404a1844eb8604d89770e2","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"3e11fce78ad8c0e1d1db4ba5f0652285509be3acdd519529bc8fcef85f7dafd9","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"1cc2a09e1a61a5222d4174ab358a9f9de5e906afe79dbf7363d871a7edda3955","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"b64d4d1c5f877f9c666e98e833f0205edb9384acc46e98a1fef344f64d6aba44","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"c9381908473a1c92cb8c516b184e75f4d226dad95c3a85a5af35f670064d9a2f","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2ae155afe8a01cc0ae612d99117cf8ef16692ba7c4366590156fdec1bcf2d8c","impliedFormat":1},{"version":"3f5e5d9be35913db9fea42a63f3df0b7e3c8703b97670a2125587b4dbbd56d7c","impliedFormat":1},{"version":"8caeb65fdc3bfe0d13f86f67324fcb2d858ed1c55f1f0cce892eb1acfb9f3239","impliedFormat":1},{"version":"57c23df0b5f7a8e26363a3849b0bc7763f6b241207157c8e40089d1df4116f35","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b8bc0c17b54081b0878673989216229e575d67a10874e84566a21025a2461ee","impliedFormat":1},{"version":"5b0db5a58b73498792a29bfebc333438e61906fef75da898b410e24e52229e6f","impliedFormat":1},{"version":"dbe055b2b29a7bab2c1ca8f259436306adb43f469dca7e639a02cd3695d3f621","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"e3905f6902f0b69e5eefc230daa69fdd4ab707a973ec2d086d65af1b3ea47ef0","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"9ec87fea42b92894b0f209931a880789d43c3397d09dd99c631ae40a2f7071d1","impliedFormat":1},{"version":"c68e88cdfadfb6c8ba5fc38e58a3a166b0beae77b1f05b7d921150a32a5ffb8d","impliedFormat":1},{"version":"2bc7aa4fba46df0bd495425a7c8201437a7d465f83854fac859df2d67f664df3","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"07e4e61e946a9c15045539ecd5f5d2d02e7aab6fa82567826857e09cf0f37c2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c4714ccc29149efb8777a1da0b04b8d2258f5d13ddbf4cd3c3d361fb531ac86","impliedFormat":1},{"version":"3ff275f84f89f8a7c0543da838f9da9614201abc4ce74c533029825adfb4433d","impliedFormat":1},{"version":"0eb5d0cbf09de5d34542b977fd6a933bb2e0817bffe8e1a541b2f1ad1b9af1ff","impliedFormat":1},{"version":"f9713757bcdfa4d58b48c0fb249e752c94a3eee8bf4532b906094246ac49ef88","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"c32c840c62d8bd7aeb3147aa6754cd2d922b990a6b6634530cb2ebdce5adc8e9","impliedFormat":1},{"version":"e1c1a0b4d1ead0de9eca52203aeb1f771f21e6238d6fcd15aa56ac2a02f1b7bf","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"6fe28249ac0c7bc19a79aa9264baf00efbd080e868dbe1d3052033ad1c64f206","affectsGlobalScope":true,"impliedFormat":1},{"version":"cbed824fec91efefc7bbdcb8b43d1a531fdbebd0e2ef19481501ff365a93cb70","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"d0716593b3f2b0451bcf0c24cfa86dec2235c325c89f201934248b7c742715fc","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"2991bca2cc0f0628a278df2a2ccdb8d6cbcb700f3761abbed62bba137d5b1790","impliedFormat":1},{"version":"ce8653341224f8b45ff46d2a06f2cacb96f841f768a886c9d8dd8ec0878b11bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"a74edb3bab7394a9dbde529d60632be590def2f5f01024dbd85441587fbfbbe0","impliedFormat":1},{"version":"0ea59f7d3e51440baa64f429253759b106cfcbaf51e474cae606e02265b37cf8","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"00049ccc87f3f37726db03c01ca68fe74fd9c0109b68c29eb9923ebec2c76b13","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"68d3f35108e2608b1f2f28b36d19d7055f31c4465cc5692cbd06c716a9fe7973","impliedFormat":1},{"version":"a6d543044570fbeed13a7f9925a868081cd2b14ef59cdd9da6ae76d41cab03d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"eab2f3179607acb3d44b2db2a76dd7d621c5039b145dc160a1ee733963f9d2f5","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"6f5383b3df1cdf4ff1aa7fb0850f77042b5786b5e65ec9a9b6be56ebfe4d9036","impliedFormat":1},{"version":"62fc21ed9ccbd83bd1166de277a4b5daaa8d15b5fa614c75610d20f3b73fba87","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"9d3821bc75c59577e52643324cec92fc2145642e8d17cf7ee07a3181f21d985d","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"c77fb31bc17fd241d3922a9f88c59e3361cdf76d1328ba9412fc6bf7310b638d","impliedFormat":1},{"version":"0a20eaf2e4b1e3c1e1f87f7bccb0c936375b23b022baeea750519b7c9bc6ce83","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"a16b91b27bd6b706c687c88cbc8a7d4ee98e5ed6043026d6b84bda923c0aed67","impliedFormat":1},{"version":"694b812e0ed11285e8822cf8131e3ce7083a500b3b1d185fff9ed1089677bd0a","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"6eeded8c7e352be6e0efb83f4935ec752513c4d22043b52522b90849a49a3a11","impliedFormat":1},{"version":"6c1ad90050ffbb151cacc68e2d06ea1a26a945659391e32651f5d42b86fd7f2c","impliedFormat":1},{"version":"55cdbeebe76a1fa18bbd7e7bf73350a2173926bd3085bb050cf5a5397025ee4e","impliedFormat":1}],"root":[[182,184],[187,191]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":false,"module":199,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":false},"referencedMap":[[185,1],[186,2],[152,3],[157,4],[151,5],[148,6],[158,7],[137,8],[154,9],[153,5],[150,5],[149,10],[156,11],[254,12],[255,12],[256,13],[194,14],[257,15],[258,16],[259,17],[192,6],[260,18],[261,19],[262,20],[263,21],[264,22],[265,23],[266,23],[267,24],[268,25],[269,26],[270,27],[195,6],[193,6],[271,28],[272,29],[273,30],[314,31],[274,32],[275,33],[276,32],[277,34],[278,35],[280,36],[281,37],[282,37],[283,37],[284,38],[285,39],[286,40],[287,41],[288,42],[289,43],[290,43],[291,44],[292,6],[293,6],[294,45],[295,46],[296,45],[297,47],[298,48],[299,49],[300,50],[301,51],[302,52],[303,53],[304,54],[305,55],[306,56],[307,57],[308,58],[309,59],[310,60],[311,61],[196,32],[197,6],[198,62],[199,63],[200,6],[201,64],[202,6],[245,65],[246,66],[247,67],[248,67],[249,68],[250,6],[251,15],[252,69],[253,66],[312,70],[313,71],[279,6],[61,72],[60,6],[155,6],[63,73],[62,6],[58,6],[59,6],[11,6],[10,6],[2,6],[12,6],[13,6],[14,6],[15,6],[16,6],[17,6],[18,6],[19,6],[3,6],[20,6],[21,6],[4,6],[22,6],[26,6],[23,6],[24,6],[25,6],[27,6],[28,6],[29,6],[5,6],[30,6],[31,6],[32,6],[33,6],[6,6],[37,6],[34,6],[35,6],[36,6],[38,6],[7,6],[39,6],[44,6],[45,6],[40,6],[41,6],[42,6],[43,6],[8,6],[49,6],[46,6],[47,6],[48,6],[50,6],[9,6],[51,6],[52,6],[53,6],[55,6],[54,6],[56,6],[1,6],[57,6],[221,74],[233,75],[218,76],[234,1],[243,77],[209,78],[210,79],[208,80],[242,81],[237,82],[241,83],[212,84],[230,85],[211,86],[240,87],[206,88],[207,82],[213,89],[214,6],[220,90],[217,89],[204,91],[244,92],[235,93],[224,94],[223,89],[225,95],[228,96],[222,97],[226,98],[238,81],[215,99],[216,100],[229,101],[205,1],[232,102],[231,89],[219,100],[227,103],[236,6],[203,6],[239,104],[77,105],[67,106],[69,107],[76,108],[71,6],[72,6],[70,109],[73,110],[64,6],[65,6],[66,105],[68,111],[74,6],[75,112],[141,113],[144,114],[142,114],[138,113],[145,115],[146,116],[143,114],[139,117],[140,118],[133,119],[85,120],[87,121],[131,6],[86,122],[132,123],[136,124],[134,6],[88,120],[89,6],[130,125],[84,126],[81,6],[135,127],[82,128],[83,6],[147,129],[90,130],[91,130],[92,130],[93,130],[94,130],[95,130],[96,130],[97,130],[98,130],[99,130],[100,130],[102,130],[101,130],[103,130],[104,130],[105,130],[129,131],[106,130],[107,130],[108,130],[109,130],[110,130],[111,130],[112,130],[113,130],[114,130],[116,130],[115,130],[117,130],[118,130],[119,130],[120,130],[121,130],[122,130],[123,130],[124,130],[125,130],[126,130],[127,130],[128,130],[190,132],[188,133],[187,134],[184,135],[189,133],[182,136],[191,137],[183,138],[80,139],[78,140],[79,6],[180,141],[181,142],[175,143],[174,141],[177,143],[176,143],[178,143],[179,144],[163,145],[165,6],[166,146],[164,147],[162,140],[159,148],[160,149],[161,149],[169,6],[171,150],[173,151],[168,6],[167,141],[172,141],[170,141]],"version":"6.0.3"}
package/dist/bin.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":""}
package/dist/bin.js ADDED
@@ -0,0 +1,72 @@
1
+ #!/usr/bin/env node
2
+ import { Command } from 'commander';
3
+ import pc from 'picocolors';
4
+ import { serveCommand } from './commands/serve.js';
5
+ import { initCommand } from './commands/init.js';
6
+ import { doctorCommand } from './commands/doctor.js';
7
+ import { toolsCommand } from './commands/tools.js';
8
+ const VERSION = '0.0.1';
9
+ function bannerHeader() {
10
+ const wordmark = pc.cyan('m') +
11
+ pc.cyan('c') +
12
+ pc.cyan('p') +
13
+ pc.magenta('o') +
14
+ pc.magenta('l') +
15
+ pc.magenta('y') +
16
+ pc.magenta('g') +
17
+ pc.magenta('l') +
18
+ pc.magenta('o') +
19
+ pc.magenta('t');
20
+ return `\n ${pc.cyan('▲')} ${pc.bold(wordmark)} ${pc.dim('v' + VERSION)}\n ${pc.dim('one config, every database your agent needs')}\n`;
21
+ }
22
+ const program = new Command();
23
+ program
24
+ .name('mcpolyglot')
25
+ .description('Turn your databases and APIs into Model Context Protocol servers.')
26
+ .version(VERSION, '-V, --version', 'output the version')
27
+ .helpOption('-h, --help', 'display help')
28
+ .addHelpText('beforeAll', bannerHeader())
29
+ .addHelpText('afterAll', `\n ${pc.dim('docs: github.com/ishay60/mcpolyglot')}\n`);
30
+ program
31
+ .command('init')
32
+ .description('Interactively scaffold an mcpolyglot.config.ts in the current directory.')
33
+ .option('--cwd <dir>', 'Directory to scaffold into', process.cwd())
34
+ .action(async (opts) => {
35
+ await initCommand({ cwd: opts.cwd });
36
+ });
37
+ program
38
+ .command('serve')
39
+ .description('Start the mcpolyglot MCP server.')
40
+ .option('-c, --config <path>', 'Path to config file', 'mcpolyglot.config.ts')
41
+ .option('--http', 'Use Streamable HTTP transport instead of stdio', false)
42
+ .option('--port <number>', 'Port for HTTP transport', '7337')
43
+ .option('--host <host>', 'Host for HTTP transport', '127.0.0.1')
44
+ .action(async (opts) => {
45
+ await serveCommand({
46
+ config: opts.config,
47
+ http: opts.http,
48
+ host: opts.host,
49
+ port: Number(opts.port),
50
+ });
51
+ });
52
+ program
53
+ .command('doctor')
54
+ .description('Validate config, resolve secrets, ping each source, and list generated tools.')
55
+ .option('-c, --config <path>', 'Path to config file', 'mcpolyglot.config.ts')
56
+ .action(async (opts) => {
57
+ const ok = await doctorCommand({ config: opts.config });
58
+ process.exit(ok ? 0 : 1);
59
+ });
60
+ program
61
+ .command('tools')
62
+ .description('List all tools that mcpolyglot would expose for the current config.')
63
+ .option('-c, --config <path>', 'Path to config file', 'mcpolyglot.config.ts')
64
+ .action(async (opts) => {
65
+ await toolsCommand({ config: opts.config });
66
+ });
67
+ program.parseAsync(process.argv).catch((err) => {
68
+ // eslint-disable-next-line no-console
69
+ console.error(`mcpolyglot: ${err.message}`);
70
+ process.exit(1);
71
+ });
72
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export interface DoctorOptions {
2
+ config: string;
3
+ }
4
+ export declare function doctorCommand(opts: DoctorOptions): Promise<boolean>;
5
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAmEzE"}
@@ -0,0 +1,65 @@
1
+ import pc from 'picocolors';
2
+ import { loadConfig, looksLikeLiteralCredential } from '@mcpolyglot/config';
3
+ import { buildServerFromConfig } from '../factory.js';
4
+ import { banner, section, ok, err, warn, bullet, hint, stdoutSink, sym } from '../ui.js';
5
+ export async function doctorCommand(opts) {
6
+ let allOk = true;
7
+ banner({ version: '0.0.1', tagline: 'doctor — validate config and connectivity' }, stdoutSink);
8
+ let cfg;
9
+ try {
10
+ cfg = await loadConfig(opts.config);
11
+ section('Config', stdoutSink);
12
+ ok(`parsed`, opts.config, stdoutSink);
13
+ }
14
+ catch (e) {
15
+ section('Config', stdoutSink);
16
+ err(`failed to parse`, e.message, stdoutSink);
17
+ return false;
18
+ }
19
+ // Credential heuristic
20
+ const literalUrls = cfg.sources.filter((s) => 'url' in s && looksLikeLiteralCredential(s.url));
21
+ if (literalUrls.length > 0) {
22
+ for (const s of literalUrls) {
23
+ warn(`${s.id}: url looks like a literal credential`, 'use ${env:NAME}, ${file:./path}, or ${keychain:item}', stdoutSink);
24
+ }
25
+ }
26
+ section('Sources', stdoutSink);
27
+ const { connectors, server } = await buildServerFromConfig(cfg);
28
+ for (const c of connectors) {
29
+ try {
30
+ await c.init({
31
+ logger: { debug: () => { }, info: () => { }, warn: () => { }, error: () => { } },
32
+ });
33
+ const h = await c.health();
34
+ if (h.ok) {
35
+ ok(c.id, `${c.kind} · ${h.latencyMs} ms`, stdoutSink);
36
+ }
37
+ else {
38
+ allOk = false;
39
+ err(c.id, h.details ?? 'unhealthy', stdoutSink);
40
+ }
41
+ const tools = c.listPrimitiveTools();
42
+ bullet(pc.dim('tools'), pc.cyan(`${tools.length}`) + pc.dim(` registered`), stdoutSink);
43
+ for (const t of tools) {
44
+ process.stdout.write(` ${sym.bullet} ${pc.bold(t.name)} ${pc.dim('[')}${pc.cyan(t.scopes.join(', '))}${pc.dim(']')}\n`);
45
+ }
46
+ await c.close();
47
+ }
48
+ catch (e) {
49
+ allOk = false;
50
+ err(c.id, e.message, stdoutSink);
51
+ }
52
+ }
53
+ await server.stop().catch(() => { });
54
+ section('Summary', stdoutSink);
55
+ if (allOk) {
56
+ ok('all systems go', 'mcpolyglot is ready to serve', stdoutSink);
57
+ }
58
+ else {
59
+ err('one or more checks failed', 'see errors above', stdoutSink);
60
+ }
61
+ hint('run: mcpolyglot serve', stdoutSink);
62
+ process.stdout.write('\n');
63
+ return allOk;
64
+ }
65
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export interface InitOptions {
2
+ cwd: string;
3
+ }
4
+ export declare function initCommand(opts: InitOptions): Promise<void>;
5
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA2ElE"}
@@ -0,0 +1,95 @@
1
+ import { writeFileSync, existsSync } from 'node:fs';
2
+ import { resolve } from 'node:path';
3
+ import * as p from '@clack/prompts';
4
+ import pc from 'picocolors';
5
+ import { banner, section, kv, hint, stdoutSink, sym } from '../ui.js';
6
+ export async function initCommand(opts) {
7
+ banner({ version: '0.0.1', tagline: 'init — scaffold mcpolyglot.config.ts' }, stdoutSink);
8
+ p.intro(pc.bgCyan(pc.black(' mcpolyglot init ')));
9
+ const target = resolve(opts.cwd, 'mcpolyglot.config.ts');
10
+ if (existsSync(target)) {
11
+ const proceed = await p.confirm({
12
+ message: `mcpolyglot.config.ts already exists in ${opts.cwd}. Overwrite?`,
13
+ initialValue: false,
14
+ });
15
+ if (p.isCancel(proceed) || !proceed) {
16
+ p.cancel('Aborted.');
17
+ return;
18
+ }
19
+ }
20
+ const kind = await p.select({
21
+ message: 'Pick a data source to start with:',
22
+ options: [
23
+ { value: 'postgres', label: 'PostgreSQL', hint: 'recommended' },
24
+ { value: 'sqlite', label: 'SQLite', hint: 'local file, fastest demo' },
25
+ ],
26
+ });
27
+ if (p.isCancel(kind)) {
28
+ p.cancel('Aborted.');
29
+ return;
30
+ }
31
+ const id = await p.text({
32
+ message: 'Source id (used in tool names):',
33
+ initialValue: kind === 'postgres' ? 'pg.main' : 'sqlite.local',
34
+ validate: (v) => /^[a-z0-9._-]+$/i.test(v) ? undefined : 'Use letters, digits, dot, hyphen, underscore.',
35
+ });
36
+ if (p.isCancel(id))
37
+ return;
38
+ let url;
39
+ if (kind === 'postgres') {
40
+ url = '${env:DATABASE_URL}';
41
+ p.note(`Set ${pc.cyan('DATABASE_URL')} in your environment before running ${pc.bold('mcpolyglot serve')}.`, 'Example');
42
+ }
43
+ else {
44
+ const path = await p.text({
45
+ message: 'Path to SQLite file:',
46
+ placeholder: './data.db',
47
+ validate: (v) => (v.length > 0 ? undefined : 'Required.'),
48
+ });
49
+ if (p.isCancel(path))
50
+ return;
51
+ url = path;
52
+ }
53
+ const config = renderConfig({ kind: kind, id: id, url });
54
+ writeFileSync(target, config, 'utf8');
55
+ p.outro(pc.green(`wrote ${pc.bold(target)}`));
56
+ // Slick "next steps" panel — Astro/Vite-flavored
57
+ section('Next', stdoutSink);
58
+ kv('Validate', pc.cyan('mcpolyglot doctor'), stdoutSink);
59
+ kv('List', pc.cyan('mcpolyglot tools'), stdoutSink);
60
+ kv('Run', pc.cyan('mcpolyglot serve'), stdoutSink);
61
+ section('Wire into your agent', stdoutSink);
62
+ process.stdout.write(` ${sym.bullet} ${pc.bold('Claude Desktop')} ${pc.dim('~/Library/Application Support/Claude/claude_desktop_config.json')}\n`);
63
+ process.stdout.write(` ${sym.bullet} ${pc.bold('Cursor')} ${pc.dim('~/.cursor/mcp.json')}\n`);
64
+ process.stdout.write(` ${sym.bullet} ${pc.bold('Claude Code')} ${pc.dim('claude mcp add mcpolyglot -- npx -y @mcpolyglot/cli serve --config ' + target)}\n`);
65
+ process.stdout.write('\n');
66
+ hint('docs: github.com/ishay60/mcpolyglot', stdoutSink);
67
+ process.stdout.write('\n');
68
+ }
69
+ function renderConfig(opts) {
70
+ return `import { defineConfig } from '@mcpolyglot/config';
71
+
72
+ export default defineConfig({
73
+ server: { name: 'mcpolyglot', version: '0.0.1' },
74
+ transport: { kind: 'stdio' },
75
+ sources: [
76
+ {
77
+ id: '${opts.id}',
78
+ kind: '${opts.kind}',
79
+ url: '${opts.url}',
80
+ scopes: ['schema:read', 'tables:read', 'query:raw'],
81
+ perEntityTools: { enabled: false },
82
+ limits: { rowCap: 200, timeoutMs: 10_000, maxBytes: 262144 },
83
+ redact: {
84
+ columns: [],
85
+ patterns: [],
86
+ },
87
+ },
88
+ ],
89
+ audit: { path: '~/.mcpolyglot/audit.log' },
90
+ rateLimit: { defaultPerMinute: 30, maxConcurrent: 5 },
91
+ security: { wrapMode: 'strict' },
92
+ });
93
+ `;
94
+ }
95
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface ServeOptions {
2
+ config: string;
3
+ http: boolean;
4
+ host: string;
5
+ port: number;
6
+ }
7
+ export declare function serveCommand(opts: ServeOptions): Promise<void>;
8
+ //# sourceMappingURL=serve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAiEpE"}
@@ -0,0 +1,66 @@
1
+ import { register } from 'node:module';
2
+ import { pathToFileURL } from 'node:url';
3
+ import { extname, basename } from 'node:path';
4
+ import pc from 'picocolors';
5
+ import { loadConfig } from '@mcpolyglot/config';
6
+ import { StdioTransport } from '@mcpolyglot/core/transports/stdio';
7
+ import { StreamableHttpTransport } from '@mcpolyglot/core/transports/streamable-http';
8
+ import { buildServerFromConfig } from '../factory.js';
9
+ import { banner, section, kv, ready, hint, sym, link } from '../ui.js';
10
+ export async function serveCommand(opts) {
11
+ const startedAt = Date.now();
12
+ if (extname(opts.config) === '.ts' || extname(opts.config) === '.mts') {
13
+ try {
14
+ register('tsx/esm', pathToFileURL('./'));
15
+ }
16
+ catch {
17
+ // tsx unavailable — config loader will throw a clear error if it tries.
18
+ }
19
+ }
20
+ banner({ version: '0.0.1', tagline: 'one config, every database your agent needs' });
21
+ const cfg = await loadConfig(opts.config);
22
+ const { server, connectors } = await buildServerFromConfig(cfg);
23
+ section('Sources');
24
+ for (const c of connectors) {
25
+ const tools = c.listPrimitiveTools().length;
26
+ process.stderr.write(` ${sym.bullet} ${pc.bold(c.id)} ${pc.dim(`(${c.kind})`)} ${pc.dim('—')} ${pc.cyan(`${tools} tools`)}\n`);
27
+ }
28
+ section('Transport');
29
+ // --http flag overrides config; otherwise honor cfg.transport.kind.
30
+ const wantHttp = opts.http || cfg.transport.kind === 'http';
31
+ const httpHost = cfg.transport.kind === 'http' && !opts.http ? cfg.transport.host : opts.host;
32
+ const httpPort = cfg.transport.kind === 'http' && !opts.http ? cfg.transport.port : opts.port;
33
+ const configuredToken = cfg.transport.kind === 'http' && cfg.transport.auth.type === 'bearer'
34
+ ? cfg.transport.auth.token
35
+ : undefined;
36
+ let transport;
37
+ if (wantHttp) {
38
+ const httpTransport = new StreamableHttpTransport({
39
+ host: httpHost,
40
+ port: httpPort,
41
+ ...(configuredToken ? { bearerToken: configuredToken } : {}),
42
+ });
43
+ transport = httpTransport;
44
+ kv('Mode', pc.cyan('streamable-http'));
45
+ kv('URL', link(`http://${httpHost}:${httpPort}/mcp`));
46
+ kv('Health', link(`http://${httpHost}:${httpPort}/healthz`));
47
+ kv('Token', pc.yellow(httpTransport.bearerToken));
48
+ kv('Config', pc.dim(basename(opts.config)));
49
+ }
50
+ else {
51
+ transport = new StdioTransport();
52
+ kv('Mode', pc.cyan('stdio'));
53
+ kv('Config', pc.dim(basename(opts.config)));
54
+ }
55
+ await server.start(transport);
56
+ ready(Date.now() - startedAt);
57
+ hint('Press Ctrl+C to stop. Audit log: ~/.mcpolyglot/audit.log');
58
+ const shutdown = async () => {
59
+ process.stderr.write(pc.dim('\n shutting down…\n'));
60
+ await server.stop().catch(() => { });
61
+ process.exit(0);
62
+ };
63
+ process.on('SIGINT', shutdown);
64
+ process.on('SIGTERM', shutdown);
65
+ }
66
+ //# sourceMappingURL=serve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export interface ToolsOptions {
2
+ config: string;
3
+ }
4
+ export declare function toolsCommand(opts: ToolsOptions): Promise<void>;
5
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/commands/tools.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BpE"}
@@ -0,0 +1,29 @@
1
+ import pc from 'picocolors';
2
+ import { loadConfig } from '@mcpolyglot/config';
3
+ import { buildServerFromConfig } from '../factory.js';
4
+ import { banner, section, table, hint, stdoutSink } from '../ui.js';
5
+ export async function toolsCommand(opts) {
6
+ banner({ version: '0.0.1', tagline: 'tools — preview generated MCP tools' }, stdoutSink);
7
+ const cfg = await loadConfig(opts.config);
8
+ const { connectors } = await buildServerFromConfig(cfg);
9
+ const rows = [];
10
+ for (const c of connectors) {
11
+ await c.init({
12
+ logger: { debug: () => { }, info: () => { }, warn: () => { }, error: () => { } },
13
+ });
14
+ for (const tool of c.listPrimitiveTools()) {
15
+ rows.push([
16
+ pc.bold(tool.name),
17
+ tool.readOnly ? pc.green('read-only') : pc.yellow('read-write'),
18
+ pc.cyan(tool.scopes.join(', ')),
19
+ pc.dim(tool.description),
20
+ ]);
21
+ }
22
+ await c.close();
23
+ }
24
+ section(`${rows.length} tool(s)`, stdoutSink);
25
+ table([{ header: 'NAME' }, { header: 'MODE' }, { header: 'SCOPES' }, { header: 'DESCRIPTION' }], rows, stdoutSink);
26
+ hint('add tools to a host: mcpolyglot serve --config ./mcpolyglot.config.ts', stdoutSink);
27
+ process.stdout.write('\n');
28
+ }
29
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/commands/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAMpE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAkB;IACnD,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,qCAAqC,EAAE,EAAE,UAAU,CAAC,CAAC;IAEzF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAExD,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE;SAC7E,CAAC,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC;gBACR,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;gBAC/D,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;aACzB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,UAAU,EAAE,UAAU,CAAC,CAAC;IAC9C,KAAK,CACH,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EACzF,IAAI,EACJ,UAAU,CACX,CAAC;IACF,IAAI,CAAC,uEAAuE,EAAE,UAAU,CAAC,CAAC;IAC1F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { McpolyglotServer, type Connector, type SecurityHooks } from '@mcpolyglot/core';
2
+ import { type McpolyglotConfig } from '@mcpolyglot/config';
3
+ export interface BuiltServer {
4
+ server: McpolyglotServer;
5
+ hooks: SecurityHooks;
6
+ connectors: Connector[];
7
+ perEntity: Record<string, {
8
+ enabled: boolean;
9
+ include?: string[];
10
+ exclude?: string[];
11
+ }>;
12
+ }
13
+ export declare function buildServerFromConfig(cfg: McpolyglotConfig, logger?: {
14
+ debug: (msg: string, fields?: Record<string, unknown>) => void;
15
+ info: (msg: string, fields?: Record<string, unknown>) => void;
16
+ warn: (msg: string, fields?: Record<string, unknown>) => void;
17
+ error: (msg: string, fields?: Record<string, unknown>) => void;
18
+ }): Promise<BuiltServer>;
19
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,KAAK,SAAS,EACd,KAAK,aAAa,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,gBAAgB,EAItB,MAAM,oBAAoB,CAAC;AAU5B,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACzF;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,gBAAgB,EACrB,MAAM;iBA8H6B,MAAM,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAAxC,MAAM,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAAxC,MAAM,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;iBAAxC,MAAM,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CA9HhD,GAC1B,OAAO,CAAC,WAAW,CAAC,CAqDtB"}
@@ -0,0 +1,129 @@
1
+ import { McpolyglotServer, ConfigError, } from '@mcpolyglot/core';
2
+ import { resolveSecrets, } from '@mcpolyglot/config';
3
+ import { defaultSecurityHooks } from '@mcpolyglot/security';
4
+ import { MysqlDialect, PostgresDialect, SqlConnector, SqliteDialect, } from '@mcpolyglot/connector-sql';
5
+ import { MongoConnector } from '@mcpolyglot/connector-mongo';
6
+ export async function buildServerFromConfig(cfg, logger = makeStderrLogger()) {
7
+ const connectors = [];
8
+ const perEntity = {};
9
+ for (const src of cfg.sources) {
10
+ connectors.push(await buildConnector(src));
11
+ if (src.kind !== 'mongo' && src.kind !== 'openapi') {
12
+ const sql = src;
13
+ if (sql.perEntityTools.enabled) {
14
+ perEntity[sql.id] = {
15
+ enabled: true,
16
+ include: sql.perEntityTools.include,
17
+ exclude: sql.perEntityTools.exclude,
18
+ };
19
+ }
20
+ }
21
+ }
22
+ const hooks = defaultSecurityHooks({
23
+ rateLimit: {
24
+ perMinute: cfg.rateLimit.defaultPerMinute,
25
+ maxConcurrent: cfg.rateLimit.maxConcurrent,
26
+ },
27
+ audit: { path: cfg.audit.path },
28
+ redactor: {
29
+ denyColumns: collectDenyColumns(cfg.sources),
30
+ customRules: collectCustomRules(cfg.sources),
31
+ },
32
+ wrapMode: cfg.security.wrapMode,
33
+ });
34
+ // Use the first source's limits as the default execution envelope (Wave 1 simplification —
35
+ // per-tool limits arrive in Wave 2).
36
+ const first = cfg.sources[0];
37
+ const defaultLimits = first
38
+ ? {
39
+ rowCap: getLimits(first).rowCap,
40
+ timeoutMs: getLimits(first).timeoutMs,
41
+ maxBytes: getLimits(first).maxBytes,
42
+ }
43
+ : { rowCap: 200, timeoutMs: 10_000, maxBytes: 256 * 1024 };
44
+ const server = new McpolyglotServer({
45
+ name: cfg.server.name,
46
+ version: cfg.server.version,
47
+ connectors,
48
+ perEntity,
49
+ scopes: collectScopes(cfg.sources),
50
+ security: { hooks, defaultLimits, defaultScopes: collectScopes(cfg.sources) },
51
+ logger,
52
+ });
53
+ return { server, hooks, connectors, perEntity };
54
+ }
55
+ async function buildConnector(src) {
56
+ switch (src.kind) {
57
+ case 'postgres': {
58
+ const url = await resolveSecrets(src.url);
59
+ return new SqlConnector({ id: src.id, dialect: new PostgresDialect(url) });
60
+ }
61
+ case 'sqlite': {
62
+ const url = await resolveSecrets(src.url);
63
+ return new SqlConnector({ id: src.id, dialect: new SqliteDialect(url) });
64
+ }
65
+ case 'mysql':
66
+ case 'mariadb': {
67
+ const url = await resolveSecrets(src.url);
68
+ return new SqlConnector({ id: src.id, dialect: new MysqlDialect(url) });
69
+ }
70
+ case 'mongo': {
71
+ const url = await resolveSecrets(src.url);
72
+ return new MongoConnector({
73
+ id: src.id,
74
+ url,
75
+ ...(src.database ? { database: src.database } : {}),
76
+ });
77
+ }
78
+ case 'openapi':
79
+ throw new ConfigError('OpenAPI connector arrives in Wave 3.');
80
+ default: {
81
+ const _exhaustive = src;
82
+ void _exhaustive;
83
+ throw new ConfigError(`Unknown source kind`);
84
+ }
85
+ }
86
+ }
87
+ function getLimits(src) {
88
+ return src.limits;
89
+ }
90
+ function collectScopes(sources) {
91
+ const set = new Set();
92
+ for (const s of sources)
93
+ for (const sc of s.scopes)
94
+ set.add(sc);
95
+ return Array.from(set);
96
+ }
97
+ function collectDenyColumns(sources) {
98
+ const out = [];
99
+ for (const s of sources) {
100
+ if ('redact' in s && s.redact) {
101
+ for (const c of s.redact.columns)
102
+ out.push({ path: c });
103
+ }
104
+ }
105
+ return out;
106
+ }
107
+ function collectCustomRules(sources) {
108
+ const out = [];
109
+ for (const s of sources) {
110
+ if ('redact' in s && s.redact) {
111
+ for (const p of s.redact.patterns) {
112
+ out.push({
113
+ name: p.name,
114
+ regex: new RegExp(p.regex, 'g'),
115
+ ...(p.replacement !== undefined ? { replacement: p.replacement } : {}),
116
+ });
117
+ }
118
+ }
119
+ }
120
+ return out;
121
+ }
122
+ function makeStderrLogger() {
123
+ const w = (level) => (msg, fields) => {
124
+ const line = JSON.stringify({ level, msg, ...(fields ?? {}) });
125
+ process.stderr.write(line + '\n');
126
+ };
127
+ return { debug: w('debug'), info: w('info'), warn: w('warn'), error: w('error') };
128
+ }
129
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { buildServerFromConfig } from './factory.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { buildServerFromConfig } from './factory.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC"}
package/dist/ui.d.ts ADDED
@@ -0,0 +1,45 @@
1
+ /** Where to write display output. Stdio MCP servers must keep stdout clean. */
2
+ export type Sink = (s: string) => void;
3
+ export declare const stderrSink: Sink;
4
+ export declare const stdoutSink: Sink;
5
+ export declare const sym: {
6
+ ok: string;
7
+ err: string;
8
+ warn: string;
9
+ info: string;
10
+ arrow: string;
11
+ bullet: string;
12
+ pipe: string;
13
+ hor: string;
14
+ };
15
+ /**
16
+ * Vite/Astro-style banner: triangle, duotone wordmark, version chip, tagline.
17
+ *
18
+ * ▲ mcpolyglot v0.0.1
19
+ * turn your databases into MCP servers
20
+ */
21
+ export declare function banner(opts: {
22
+ version: string;
23
+ tagline?: string;
24
+ }, sink?: Sink): void;
25
+ export declare function ok(label: string, detail?: string, sink?: Sink): void;
26
+ export declare function err(label: string, detail?: string, sink?: Sink): void;
27
+ export declare function warn(label: string, detail?: string, sink?: Sink): void;
28
+ export declare function info(label: string, detail?: string, sink?: Sink): void;
29
+ export declare function bullet(label: string, detail?: string, sink?: Sink): void;
30
+ export declare function section(title: string, sink?: Sink): void;
31
+ /** Vite-style "Local / Network" key/value column. Right-pads keys for alignment. */
32
+ export declare function kv(label: string, value: string, sink?: Sink): void;
33
+ export declare function divider(sink?: Sink): void;
34
+ /** "ready in 123 ms" — the universal CLI flex. */
35
+ export declare function ready(ms: number, sink?: Sink): void;
36
+ export declare function hint(text: string, sink?: Sink): void;
37
+ export interface Column {
38
+ header: string;
39
+ width?: number;
40
+ color?: (s: string) => string;
41
+ }
42
+ export declare function table(columns: Column[], rows: string[][], sink?: Sink): void;
43
+ /** Styled URL — cyan + underline, the Vite/Astro/Wrangler look. */
44
+ export declare function link(url: string, label?: string): string;
45
+ //# sourceMappingURL=ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAEA,+EAA+E;AAC/E,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AACvC,eAAO,MAAM,UAAU,EAAE,IAExB,CAAC;AACF,eAAO,MAAM,UAAU,EAAE,IAGxB,CAAC;AAMF,eAAO,MAAM,GAAG;;;;;;;;;CASf,CAAC;AAMF;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,GAAE,IAAiB,GAAG,IAAI,CAkBjG;AAMD,wBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,IAAiB,GAAG,IAAI,CAEhF;AACD,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,IAAiB,GAAG,IAAI,CAEjF;AACD,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,IAAiB,GAAG,IAAI,CAElF;AACD,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,IAAiB,GAAG,IAAI,CAElF;AACD,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,IAAiB,GAAG,IAAI,CAEpF;AAMD,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,IAAiB,GAAG,IAAI,CAGpE;AAED,oFAAoF;AACpF,wBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,IAAiB,GAAG,IAAI,CAG9E;AAED,wBAAgB,OAAO,CAAC,IAAI,GAAE,IAAiB,GAAG,IAAI,CAErD;AAED,kDAAkD;AAClD,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE,IAAiB,GAAG,IAAI,CAI/D;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,IAAiB,GAAG,IAAI,CAEhE;AAMD,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/B;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAE,IAAiB,GAAG,IAAI,CAiBxF;AAYD,mEAAmE;AACnE,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,MAAM,CAErD"}
package/dist/ui.js ADDED
@@ -0,0 +1,120 @@
1
+ import pc from 'picocolors';
2
+ export const stderrSink = (s) => {
3
+ process.stderr.write(s + '\n');
4
+ };
5
+ export const stdoutSink = (s) => {
6
+ // eslint-disable-next-line no-console
7
+ console.log(s);
8
+ };
9
+ /* ────────────────────────────────────────────────────────────────────── */
10
+ /* Symbols */
11
+ /* ────────────────────────────────────────────────────────────────────── */
12
+ export const sym = {
13
+ ok: pc.green('✓'),
14
+ err: pc.red('✗'),
15
+ warn: pc.yellow('!'),
16
+ info: pc.cyan('›'),
17
+ arrow: pc.dim('➜'),
18
+ bullet: pc.dim('•'),
19
+ pipe: pc.dim('│'),
20
+ hor: pc.dim('─'),
21
+ };
22
+ /* ────────────────────────────────────────────────────────────────────── */
23
+ /* Banner */
24
+ /* ────────────────────────────────────────────────────────────────────── */
25
+ /**
26
+ * Vite/Astro-style banner: triangle, duotone wordmark, version chip, tagline.
27
+ *
28
+ * ▲ mcpolyglot v0.0.1
29
+ * turn your databases into MCP servers
30
+ */
31
+ export function banner(opts, sink = stderrSink) {
32
+ const wordmark = pc.cyan('m') +
33
+ pc.cyan('c') +
34
+ pc.cyan('p') +
35
+ pc.magenta('o') +
36
+ pc.magenta('l') +
37
+ pc.magenta('y') +
38
+ pc.magenta('g') +
39
+ pc.magenta('l') +
40
+ pc.magenta('o') +
41
+ pc.magenta('t');
42
+ const triangle = pc.cyan('▲');
43
+ const ver = pc.dim(`v${opts.version}`);
44
+ sink('');
45
+ sink(` ${triangle} ${pc.bold(wordmark)} ${ver}`);
46
+ if (opts.tagline)
47
+ sink(` ${pc.dim(opts.tagline)}`);
48
+ sink('');
49
+ }
50
+ /* ────────────────────────────────────────────────────────────────────── */
51
+ /* Status lines */
52
+ /* ────────────────────────────────────────────────────────────────────── */
53
+ export function ok(label, detail, sink = stderrSink) {
54
+ sink(` ${sym.ok} ${label}${detail ? ' ' + pc.dim(detail) : ''}`);
55
+ }
56
+ export function err(label, detail, sink = stderrSink) {
57
+ sink(` ${sym.err} ${pc.red(label)}${detail ? ' ' + pc.dim(detail) : ''}`);
58
+ }
59
+ export function warn(label, detail, sink = stderrSink) {
60
+ sink(` ${sym.warn} ${pc.yellow(label)}${detail ? ' ' + pc.dim(detail) : ''}`);
61
+ }
62
+ export function info(label, detail, sink = stderrSink) {
63
+ sink(` ${sym.info} ${label}${detail ? ' ' + pc.dim(detail) : ''}`);
64
+ }
65
+ export function bullet(label, detail, sink = stderrSink) {
66
+ sink(` ${sym.bullet} ${label}${detail ? ' ' + pc.dim(detail) : ''}`);
67
+ }
68
+ /* ────────────────────────────────────────────────────────────────────── */
69
+ /* Layout */
70
+ /* ────────────────────────────────────────────────────────────────────── */
71
+ export function section(title, sink = stderrSink) {
72
+ sink('');
73
+ sink(` ${pc.bold(title)}`);
74
+ }
75
+ /** Vite-style "Local / Network" key/value column. Right-pads keys for alignment. */
76
+ export function kv(label, value, sink = stderrSink) {
77
+ const pad = label.padEnd(8);
78
+ sink(` ${sym.arrow} ${pc.bold(pad)} ${value}`);
79
+ }
80
+ export function divider(sink = stderrSink) {
81
+ sink(` ${sym.hor.repeat(50)}`);
82
+ }
83
+ /** "ready in 123 ms" — the universal CLI flex. */
84
+ export function ready(ms, sink = stderrSink) {
85
+ sink('');
86
+ sink(` ${pc.green('ready')} ${pc.dim(`in ${ms} ms`)}`);
87
+ sink('');
88
+ }
89
+ export function hint(text, sink = stderrSink) {
90
+ sink(` ${pc.dim(text)}`);
91
+ }
92
+ export function table(columns, rows, sink = stderrSink) {
93
+ const widths = columns.map((c, i) => Math.max(c.width ?? 0, c.header.length, ...rows.map((r) => stripAnsi(r[i] ?? '').length)));
94
+ const head = columns.map((c, i) => pc.bold(pc.dim(c.header.padEnd(widths[i])))).join(' ');
95
+ sink(` ${head}`);
96
+ sink(` ${widths.map((w) => sym.hor.repeat(w)).join(' ')}`);
97
+ for (const row of rows) {
98
+ const line = columns
99
+ .map((c, i) => {
100
+ const cell = row[i] ?? '';
101
+ const padded = padRightAnsi(cell, widths[i]);
102
+ return c.color ? c.color(padded) : padded;
103
+ })
104
+ .join(' ');
105
+ sink(` ${line}`);
106
+ }
107
+ }
108
+ function stripAnsi(s) {
109
+ // eslint-disable-next-line no-control-regex
110
+ return s.replace(/\x1b\[[0-9;]*m/g, '');
111
+ }
112
+ function padRightAnsi(s, width) {
113
+ const visible = stripAnsi(s).length;
114
+ return s + ' '.repeat(Math.max(0, width - visible));
115
+ }
116
+ /** Styled URL — cyan + underline, the Vite/Astro/Wrangler look. */
117
+ export function link(url, label = url) {
118
+ return pc.cyan(pc.underline(label === url ? url : label));
119
+ }
120
+ //# sourceMappingURL=ui.js.map
package/dist/ui.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@mcpolyglot/cli",
3
+ "version": "0.1.0",
4
+ "description": "mcpolyglot command-line interface. Initializes config, serves the MCP server (stdio or HTTP), and validates connectivity.",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/ishay60/mcpolyglot.git",
9
+ "directory": "packages/cli"
10
+ },
11
+ "type": "module",
12
+ "bin": {
13
+ "mcpolyglot": "./dist/bin.js"
14
+ },
15
+ "main": "./dist/index.js",
16
+ "types": "./dist/index.d.ts",
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "dependencies": {
21
+ "@clack/prompts": "^0.7.0",
22
+ "commander": "^14.0.3",
23
+ "picocolors": "^1.1.0",
24
+ "tsx": "^4.19.1",
25
+ "@mcpolyglot/config": "^0.0.2",
26
+ "@mcpolyglot/connector-mongo": "^0.1.0",
27
+ "@mcpolyglot/connector-sql": "^0.1.0",
28
+ "@mcpolyglot/core": "^0.1.0",
29
+ "@mcpolyglot/security": "^0.0.2"
30
+ },
31
+ "devDependencies": {
32
+ "@types/node": "^25.6.0",
33
+ "typescript": "^6.0.3",
34
+ "vitest": "^2.1.1"
35
+ },
36
+ "publishConfig": {
37
+ "access": "public"
38
+ },
39
+ "scripts": {
40
+ "build": "tsc -p tsconfig.json && chmod +x dist/bin.js",
41
+ "dev": "tsc -p tsconfig.json --watch",
42
+ "typecheck": "tsc -p tsconfig.json --noEmit",
43
+ "test": "vitest run --passWithNoTests",
44
+ "clean": "rm -rf dist .turbo *.tsbuildinfo"
45
+ }
46
+ }