@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 +21 -0
- package/README.md +32 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +72 -0
- package/dist/bin.js.map +1 -0
- package/dist/commands/doctor.d.ts +5 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +65 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/init.d.ts +5 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +95 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/serve.d.ts +8 -0
- package/dist/commands/serve.d.ts.map +1 -0
- package/dist/commands/serve.js +66 -0
- package/dist/commands/serve.js.map +1 -0
- package/dist/commands/tools.d.ts +5 -0
- package/dist/commands/tools.d.ts.map +1 -0
- package/dist/commands/tools.js +29 -0
- package/dist/commands/tools.js.map +1 -0
- package/dist/factory.d.ts +19 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/factory.js +129 -0
- package/dist/factory.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/ui.d.ts +45 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +120 -0
- package/dist/ui.js.map +1 -0
- package/package.json +46 -0
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 @@
|
|
|
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
|
package/dist/bin.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|
package/dist/factory.js
ADDED
|
@@ -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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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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 @@
|
|
|
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
|
package/dist/ui.d.ts.map
ADDED
|
@@ -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
|
+
}
|