@gizmodata/gizmosql-mcp 0.2.2 → 0.3.1
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/CHANGELOG.md +24 -0
- package/README.md +53 -11
- package/dist/connection.d.ts +44 -15
- package/dist/connection.js +105 -52
- package/dist/connection.js.map +1 -1
- package/dist/registry.d.ts +43 -0
- package/dist/registry.js +90 -0
- package/dist/registry.js.map +1 -0
- package/dist/server.d.ts +4 -3
- package/dist/server.js +152 -54
- package/dist/server.js.map +1 -1
- package/dist/transports.d.ts +1 -1
- package/dist/transports.js +21 -13
- package/dist/transports.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.3.1] - 2026-09-03
|
|
11
|
+
|
|
12
|
+
### Removed
|
|
13
|
+
- The separate bearer-token setting (`GIZMOSQL_TOKEN`, `GIZMOSQL_<n>_TOKEN`,
|
|
14
|
+
the "Bearer token" extension fields). GizmoSQL's token authentication is
|
|
15
|
+
basic authentication with username `token` and the JWT as the password,
|
|
16
|
+
so the extra field only caused confusion. Configure JWTs that way instead.
|
|
17
|
+
|
|
18
|
+
## [0.3.0] - 2026-09-03
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
- **Multiple connections.** Up to two additional servers in the extension
|
|
22
|
+
settings (*Connection 2* / *Connection 3*, mapped to `GIZMOSQL_2_*` /
|
|
23
|
+
`GIZMOSQL_3_*`), and any number via `GIZMOSQL_CONNECTIONS=name,...` with
|
|
24
|
+
`GIZMOSQL_<NAME>_*` variables. New tools `list_connections` and
|
|
25
|
+
`use_connection`; every other tool takes an optional `connection`
|
|
26
|
+
argument. `GIZMOSQL_CONNECTION_NAME` names the primary connection
|
|
27
|
+
(default `default`). `server_info` reports all connections.
|
|
28
|
+
|
|
29
|
+
### Changed
|
|
30
|
+
- Table DDL resource URIs now include the connection:
|
|
31
|
+
`gizmosql://{connection}/schema/{catalog}/{schema}/{table}` (previously
|
|
32
|
+
`gizmosql://schema/...`).
|
|
33
|
+
|
|
10
34
|
## [0.2.2] - 2026-09-03
|
|
11
35
|
|
|
12
36
|
### Added
|
package/README.md
CHANGED
|
@@ -18,6 +18,8 @@ Windows x64.
|
|
|
18
18
|
|
|
19
19
|
| Tool | What it does |
|
|
20
20
|
| --- | --- |
|
|
21
|
+
| `list_connections()` | Configured GizmoSQL connections and which one is current (never credentials) |
|
|
22
|
+
| `use_connection(name)` | Makes a connection the default for subsequent calls |
|
|
21
23
|
| `list_catalogs` | Catalogs (attached databases) visible to the user |
|
|
22
24
|
| `list_schemas(catalog?)` | Schemas, optionally in one catalog |
|
|
23
25
|
| `list_tables(catalog?, schema?, like?)` | Tables and views with their type; `like` is a SQL LIKE pattern |
|
|
@@ -29,8 +31,13 @@ Windows x64.
|
|
|
29
31
|
| `server_info()` | GizmoSQL/DuckDB versions, redacted connection URI, effective limits, extension version |
|
|
30
32
|
| `login_sso(wait_seconds?)` | Browser-based OAuth/SSO sign-in. Only registered when SSO is enabled |
|
|
31
33
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
Every tool except `list_connections` and `use_connection` also accepts an optional
|
|
35
|
+
`connection` argument naming one of the configured servers (see
|
|
36
|
+
[Multiple connections](#multiple-connections)).
|
|
37
|
+
|
|
38
|
+
It also exposes a resource template,
|
|
39
|
+
`gizmosql://{connection}/schema/{catalog}/{schema}/{table}`, that returns the DDL of a table
|
|
40
|
+
or view.
|
|
34
41
|
|
|
35
42
|
### Query parameters
|
|
36
43
|
|
|
@@ -142,9 +149,9 @@ same names.
|
|
|
142
149
|
| Variable | Default | Description |
|
|
143
150
|
| --- | --- | --- |
|
|
144
151
|
| `GIZMOSQL_HOST` | required | Hostname or IP of the GizmoSQL server |
|
|
152
|
+
| `GIZMOSQL_CONNECTION_NAME` | `default` | Name of this connection (used with the `connection` tool argument) |
|
|
145
153
|
| `GIZMOSQL_PORT` | `31337` | Flight SQL port |
|
|
146
|
-
| `GIZMOSQL_USERNAME` / `GIZMOSQL_PASSWORD` | |
|
|
147
|
-
| `GIZMOSQL_TOKEN` | | Bearer/JWT token authentication (alternative to username/password) |
|
|
154
|
+
| `GIZMOSQL_USERNAME` / `GIZMOSQL_PASSWORD` | | Credentials. For a GizmoSQL JWT (token auth or SSO), the username is `token` and the password is the JWT |
|
|
148
155
|
| `GIZMOSQL_PLAINTEXT` | `false` | Connect without TLS (development servers only) |
|
|
149
156
|
| `GIZMOSQL_TLS_SKIP_VERIFY` | `false` | Accept self-signed or untrusted certificates |
|
|
150
157
|
| `GIZMOSQL_DEFAULT_CATALOG` | | Catalog to `USE` at the start of every session (optional) |
|
|
@@ -156,14 +163,49 @@ same names.
|
|
|
156
163
|
| `GIZMOSQL_OAUTH_PORT` | `31339` | OAuth HTTP port used by `login_sso` |
|
|
157
164
|
| `GIZMOSQL_ENABLE_SSO` | `false` | Register the `login_sso` tool (credentials may then be left empty) |
|
|
158
165
|
| `GIZMOSQL_MCP_BEARER_TOKEN` | | HTTP transport only: required bearer token |
|
|
166
|
+
| `GIZMOSQL_2_HOST`, `GIZMOSQL_3_HOST`, … | | Additional connections, see below |
|
|
167
|
+
| `GIZMOSQL_CONNECTIONS` | | Comma-separated names of further connections, see below |
|
|
159
168
|
|
|
160
|
-
|
|
161
|
-
|
|
169
|
+
Every connection needs a username and password (or SSO via `login_sso`). GizmoSQL's
|
|
170
|
+
token authentication is a form of basic authentication: username `token`, password = the
|
|
171
|
+
JWT, so there is no separate token setting. The default catalog/schema are optional: when set, the server runs `USE` on each new
|
|
162
172
|
session so unqualified table names resolve there; if the name does not exist the server
|
|
163
173
|
still starts and reports the problem (with the catalogs it found) in `server_info`. In a
|
|
164
174
|
chat, `use_schema` or a plain `USE catalog.schema` switches for the rest of the session. `GIZMOSQL_DRIVER_LIB` can point at a custom `libadbc_driver_gizmosql` build if you
|
|
165
175
|
need one (see the client README).
|
|
166
176
|
|
|
177
|
+
### Multiple connections
|
|
178
|
+
|
|
179
|
+
You can configure several GizmoSQL servers and switch between them without editing
|
|
180
|
+
credentials.
|
|
181
|
+
|
|
182
|
+
- **Claude Desktop extension.** The settings screen has two extra slots, *Connection 2* and
|
|
183
|
+
*Connection 3*, each with its own name, host, port, credentials, TLS flags and default
|
|
184
|
+
catalog/schema. Leave a slot's host blank to disable it. The primary connection's name
|
|
185
|
+
defaults to `default` (the **Connection name** setting changes it).
|
|
186
|
+
- **Environment variables.** The slots map to `GIZMOSQL_2_*` and `GIZMOSQL_3_*`
|
|
187
|
+
(`GIZMOSQL_2_HOST`, `GIZMOSQL_2_NAME`, `GIZMOSQL_2_USERNAME`, `GIZMOSQL_2_PASSWORD`,
|
|
188
|
+
`GIZMOSQL_2_PORT`, `GIZMOSQL_2_PLAINTEXT`, `GIZMOSQL_2_TLS_SKIP_VERIFY`,
|
|
189
|
+
`GIZMOSQL_2_DEFAULT_CATALOG`, `GIZMOSQL_2_DEFAULT_SCHEMA`). For any number of servers, list
|
|
190
|
+
names in `GIZMOSQL_CONNECTIONS` and define each one with the same variables prefixed by the
|
|
191
|
+
upper-cased name, for example:
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
GIZMOSQL_CONNECTIONS=prod,dev-eu
|
|
195
|
+
GIZMOSQL_PROD_HOST=gizmosql.prod.example.com GIZMOSQL_PROD_USERNAME=token GIZMOSQL_PROD_PASSWORD=<jwt>
|
|
196
|
+
GIZMOSQL_DEV_EU_HOST=gizmosql.dev.example.com GIZMOSQL_DEV_EU_USERNAME=... GIZMOSQL_DEV_EU_PASSWORD=...
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
(Non-alphanumeric characters in a name become `_` in the variable prefix; `GIZMOSQL_<NAME>_NAME`
|
|
200
|
+
overrides the display name.)
|
|
201
|
+
|
|
202
|
+
In a chat, `list_connections` shows what is configured, `use_connection` switches the
|
|
203
|
+
default for the rest of the session, and every tool accepts a per-call `connection`
|
|
204
|
+
argument, so "compare row counts of orders on prod and dev" works in one conversation. The
|
|
205
|
+
first configured connection is the initial default. Connections are opened lazily; the
|
|
206
|
+
row cap, timeout and read-only settings apply to all of them, while each server's user
|
|
207
|
+
role still governs what that connection may do.
|
|
208
|
+
|
|
167
209
|
## Read-only model and security
|
|
168
210
|
|
|
169
211
|
By default the server refuses anything that is not a read. `sql-guard.ts` classifies each
|
|
@@ -181,8 +223,8 @@ the privileges of the GizmoSQL user the server connects as:
|
|
|
181
223
|
`role` claim (or the server's `--token-default-role`) decides the role, and GizmoSQL's
|
|
182
224
|
built-in `readonly` role only permits `SELECT` queries. Mint a token with
|
|
183
225
|
`role: readonly` (for example with
|
|
184
|
-
[`generate-gizmosql-token`](https://docs.gizmosql.com/token_authentication/)) and
|
|
185
|
-
`
|
|
226
|
+
[`generate-gizmosql-token`](https://docs.gizmosql.com/token_authentication/)) and
|
|
227
|
+
configure username `token` with the JWT as the password. GizmoSQL Enterprise adds per-catalog read/write/none permissions in the
|
|
186
228
|
token as well. See the [security guide](https://docs.gizmosql.com/security/).
|
|
187
229
|
|
|
188
230
|
Other guarantees:
|
|
@@ -224,9 +266,9 @@ TLS still works through the tunnel; the certificate is validated against the hos
|
|
|
224
266
|
connect to, so you may need `GIZMOSQL_TLS_SKIP_VERIFY=true` when the certificate was issued
|
|
225
267
|
for the internal name.
|
|
226
268
|
|
|
227
|
-
**Authentication failures.** `server_info` shows the user
|
|
228
|
-
|
|
229
|
-
|
|
269
|
+
**Authentication failures.** `server_info` shows the user the server is connected as.
|
|
270
|
+
Username and password must both be set; for a JWT the username is `token` and the
|
|
271
|
+
password is the JWT. With SSO, run `login_sso` first.
|
|
230
272
|
|
|
231
273
|
**Tools do not appear in the chat.** Open the **+** menu in the chat, choose Connectors and
|
|
232
274
|
enable GizmoSQL. After changing settings, start a new chat.
|
package/dist/connection.d.ts
CHANGED
|
@@ -1,15 +1,32 @@
|
|
|
1
1
|
import { FlightSQLClient, type SqlParameters } from "@gizmodata/gizmosql-client";
|
|
2
2
|
import { Table } from "apache-arrow";
|
|
3
|
-
export type AuthMethod = "password" | "
|
|
4
|
-
|
|
3
|
+
export type AuthMethod = "password" | "none";
|
|
4
|
+
/** Settings for one GizmoSQL server. */
|
|
5
|
+
export interface ConnectionConfig {
|
|
6
|
+
/** Unique, case-insensitive name used in tool arguments (e.g. "default", "prod"). */
|
|
7
|
+
name: string;
|
|
5
8
|
host: string;
|
|
6
9
|
port: number;
|
|
10
|
+
/**
|
|
11
|
+
* Username for basic authentication. GizmoSQL's JWT/SSO scheme uses the
|
|
12
|
+
* username `token` with the JWT as the password, so no separate bearer
|
|
13
|
+
* option exists here.
|
|
14
|
+
*/
|
|
7
15
|
username?: string;
|
|
8
16
|
password?: string;
|
|
9
|
-
token?: string;
|
|
10
17
|
plaintext: boolean;
|
|
11
18
|
tlsSkipVerify: boolean;
|
|
12
19
|
oauthPort: number;
|
|
20
|
+
/** Catalog to `USE` at session start (optional). */
|
|
21
|
+
defaultCatalog?: string;
|
|
22
|
+
/** Schema to `USE` at session start (optional). */
|
|
23
|
+
defaultSchema?: string;
|
|
24
|
+
/** Per-statement timeout applied to this connection's sessions (0 = none). */
|
|
25
|
+
queryTimeoutSeconds: number;
|
|
26
|
+
}
|
|
27
|
+
/** Whole-server settings plus every configured connection (the first is the initial default). */
|
|
28
|
+
export interface McpConfig {
|
|
29
|
+
connections: ConnectionConfig[];
|
|
13
30
|
allowWrites: boolean;
|
|
14
31
|
maxRows: number;
|
|
15
32
|
maxCellChars: number;
|
|
@@ -18,10 +35,6 @@ export interface McpConfig {
|
|
|
18
35
|
mcpBearerToken?: string;
|
|
19
36
|
/** Enables the optional `login_sso` tool (OAuth/SSO browser flow). */
|
|
20
37
|
enableSso: boolean;
|
|
21
|
-
/** Catalog to `USE` at session start (optional). */
|
|
22
|
-
defaultCatalog?: string;
|
|
23
|
-
/** Schema to `USE` at session start (optional). */
|
|
24
|
-
defaultSchema?: string;
|
|
25
38
|
}
|
|
26
39
|
export declare const DEFAULTS: {
|
|
27
40
|
readonly port: 31337;
|
|
@@ -29,22 +42,38 @@ export declare const DEFAULTS: {
|
|
|
29
42
|
readonly maxRows: 500;
|
|
30
43
|
readonly maxCellChars: 200;
|
|
31
44
|
readonly queryTimeoutSeconds: 60;
|
|
45
|
+
readonly connectionName: "default";
|
|
32
46
|
};
|
|
47
|
+
/** Extra connection slots the Claude Desktop manifest exposes (`GIZMOSQL_2_*`, `GIZMOSQL_3_*`). */
|
|
48
|
+
export declare const MANIFEST_SLOTS: readonly ["2", "3"];
|
|
33
49
|
export declare class ConfigError extends Error {
|
|
34
50
|
constructor(message: string);
|
|
35
51
|
}
|
|
52
|
+
/** True when an env value should be treated as absent. */
|
|
53
|
+
export declare function isUnset(raw: string | undefined): boolean;
|
|
36
54
|
export declare function parseBoolean(name: string, raw: string | undefined, fallback: boolean): boolean;
|
|
37
55
|
export declare function parseInteger(name: string, raw: string | undefined, fallback: number, { min, max }: {
|
|
38
56
|
min: number;
|
|
39
57
|
max?: number;
|
|
40
58
|
}): number;
|
|
41
|
-
/**
|
|
42
|
-
export declare function
|
|
43
|
-
/**
|
|
59
|
+
/** Env-variable key fragment for a connection key: `prod-eu` -> `PROD_EU`. */
|
|
60
|
+
export declare function envKey(key: string): string;
|
|
61
|
+
/**
|
|
62
|
+
* Builds the effective configuration from environment variables.
|
|
63
|
+
*
|
|
64
|
+
* Connections:
|
|
65
|
+
* - primary: `GIZMOSQL_HOST` etc. (name `GIZMOSQL_CONNECTION_NAME`, default "default");
|
|
66
|
+
* - manifest slots: `GIZMOSQL_2_HOST` / `GIZMOSQL_3_HOST` etc. (names `GIZMOSQL_2_NAME`,
|
|
67
|
+
* default "server2"/"server3");
|
|
68
|
+
* - any names listed in `GIZMOSQL_CONNECTIONS` (comma separated), read from
|
|
69
|
+
* `GIZMOSQL_<NAME>_HOST` etc. with the name upper-cased and non-alphanumerics
|
|
70
|
+
* replaced by `_`.
|
|
71
|
+
* Slots without a host are ignored. At least one connection is required.
|
|
72
|
+
*/
|
|
44
73
|
export declare function parseConfig(env?: NodeJS.ProcessEnv): McpConfig;
|
|
45
|
-
export declare function authMethod(config: Pick<
|
|
46
|
-
/** Connection URI with the password
|
|
47
|
-
export declare function redactedUri(config:
|
|
74
|
+
export declare function authMethod(config: Pick<ConnectionConfig, "username" | "password">): AuthMethod;
|
|
75
|
+
/** Connection URI with the password never included. */
|
|
76
|
+
export declare function redactedUri(config: ConnectionConfig, overrideUser?: string): string;
|
|
48
77
|
/** Replaces every configured secret in `text` with `***`. */
|
|
49
78
|
export declare function redactSecrets(text: string, secrets: Array<string | undefined>): string;
|
|
50
79
|
export declare class QueryTimeoutError extends Error {
|
|
@@ -83,7 +112,7 @@ export interface RunOptions {
|
|
|
83
112
|
* the connection dropped and reopened.
|
|
84
113
|
*/
|
|
85
114
|
export declare class GizmoConnection {
|
|
86
|
-
readonly config:
|
|
115
|
+
readonly config: ConnectionConfig;
|
|
87
116
|
private readonly log;
|
|
88
117
|
private client;
|
|
89
118
|
private connecting;
|
|
@@ -93,7 +122,7 @@ export declare class GizmoConnection {
|
|
|
93
122
|
private searchPath;
|
|
94
123
|
/** Wall-clock at which the current client was opened (for server_info). */
|
|
95
124
|
connectedAt: Date | null;
|
|
96
|
-
constructor(config:
|
|
125
|
+
constructor(config: ConnectionConfig, log?: (message: string) => void);
|
|
97
126
|
/** The search path (`USE`) applied to every session. */
|
|
98
127
|
currentSearchPath(): SearchPath;
|
|
99
128
|
/**
|
package/dist/connection.js
CHANGED
|
@@ -8,7 +8,10 @@ export const DEFAULTS = {
|
|
|
8
8
|
maxRows: 500,
|
|
9
9
|
maxCellChars: 200,
|
|
10
10
|
queryTimeoutSeconds: 60,
|
|
11
|
+
connectionName: "default",
|
|
11
12
|
};
|
|
13
|
+
/** Extra connection slots the Claude Desktop manifest exposes (`GIZMOSQL_2_*`, `GIZMOSQL_3_*`). */
|
|
14
|
+
export const MANIFEST_SLOTS = ["2", "3"];
|
|
12
15
|
export class ConfigError extends Error {
|
|
13
16
|
constructor(message) {
|
|
14
17
|
super(message);
|
|
@@ -17,6 +20,19 @@ export class ConfigError extends Error {
|
|
|
17
20
|
}
|
|
18
21
|
const TRUE_VALUES = new Set(["1", "true", "yes", "on"]);
|
|
19
22
|
const FALSE_VALUES = new Set(["0", "false", "no", "off", ""]);
|
|
23
|
+
/**
|
|
24
|
+
* Unsubstituted MCPB template placeholders. Claude Desktop passes the
|
|
25
|
+
* literal `${user_config.<key>}` for optional settings the user left
|
|
26
|
+
* blank, which must count as "not set".
|
|
27
|
+
*/
|
|
28
|
+
const TEMPLATE_PLACEHOLDER = /^\$\{[^}]*\}$/u;
|
|
29
|
+
/** True when an env value should be treated as absent. */
|
|
30
|
+
export function isUnset(raw) {
|
|
31
|
+
if (raw === undefined)
|
|
32
|
+
return true;
|
|
33
|
+
const v = raw.trim();
|
|
34
|
+
return v === "" || TEMPLATE_PLACEHOLDER.test(v);
|
|
35
|
+
}
|
|
20
36
|
export function parseBoolean(name, raw, fallback) {
|
|
21
37
|
if (isUnset(raw))
|
|
22
38
|
return fallback;
|
|
@@ -37,81 +53,120 @@ export function parseInteger(name, raw, fallback, { min, max }) {
|
|
|
37
53
|
}
|
|
38
54
|
return n;
|
|
39
55
|
}
|
|
40
|
-
/**
|
|
41
|
-
* Unsubstituted MCPB template placeholders. Claude Desktop passes the
|
|
42
|
-
* literal `${user_config.<key>}` for optional settings the user left
|
|
43
|
-
* blank, which must count as "not set".
|
|
44
|
-
*/
|
|
45
|
-
const TEMPLATE_PLACEHOLDER = /^\$\{[^}]*\}$/u;
|
|
46
|
-
/** True when an env value should be treated as absent. */
|
|
47
|
-
export function isUnset(raw) {
|
|
48
|
-
if (raw === undefined)
|
|
49
|
-
return true;
|
|
50
|
-
const v = raw.trim();
|
|
51
|
-
return v === "" || TEMPLATE_PLACEHOLDER.test(v);
|
|
52
|
-
}
|
|
53
56
|
function nonEmpty(raw) {
|
|
54
57
|
return isUnset(raw) ? undefined : raw.trim();
|
|
55
58
|
}
|
|
56
|
-
/**
|
|
57
|
-
export function
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
/** Env-variable key fragment for a connection key: `prod-eu` -> `PROD_EU`. */
|
|
60
|
+
export function envKey(key) {
|
|
61
|
+
return key.trim().toUpperCase().replace(/[^A-Z0-9]+/gu, "_");
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Parses one connection from `env` using variables named `<prefix>HOST`,
|
|
65
|
+
* `<prefix>USERNAME`, ... (prefix `GIZMOSQL_` for the primary connection,
|
|
66
|
+
* `GIZMOSQL_<KEY>_` for additional ones). Returns null when no host is set.
|
|
67
|
+
*/
|
|
68
|
+
function parseConnection(env, prefix, defaultName, globals) {
|
|
69
|
+
const v = (suffix) => env[`${prefix}${suffix}`];
|
|
70
|
+
const host = nonEmpty(v("HOST"));
|
|
71
|
+
if (!host)
|
|
72
|
+
return null;
|
|
73
|
+
const label = `${prefix}HOST`;
|
|
74
|
+
const name = nonEmpty(v("NAME")) ?? defaultName;
|
|
75
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/u.test(name)) {
|
|
76
|
+
throw new ConfigError(`Connection name "${name}" (${prefix}NAME) must be 1-64 letters, digits, dots, dashes or underscores.`);
|
|
61
77
|
}
|
|
62
|
-
const username = nonEmpty(
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
: env.GIZMOSQL_PASSWORD;
|
|
66
|
-
const token = nonEmpty(env.GIZMOSQL_TOKEN);
|
|
67
|
-
const enableSso = parseBoolean("GIZMOSQL_ENABLE_SSO", env.GIZMOSQL_ENABLE_SSO, false);
|
|
78
|
+
const username = nonEmpty(v("USERNAME"));
|
|
79
|
+
const rawPassword = v("PASSWORD");
|
|
80
|
+
const password = isUnset(rawPassword) && rawPassword !== "" ? undefined : rawPassword;
|
|
68
81
|
const hasPassword = username !== undefined || (password !== undefined && password !== "");
|
|
69
|
-
const hasToken = token !== undefined;
|
|
70
|
-
if (hasPassword && hasToken) {
|
|
71
|
-
throw new ConfigError("Set either GIZMOSQL_USERNAME/GIZMOSQL_PASSWORD or GIZMOSQL_TOKEN, not both.");
|
|
72
|
-
}
|
|
73
82
|
if (hasPassword && (username === undefined || password === undefined)) {
|
|
74
|
-
throw new ConfigError("
|
|
83
|
+
throw new ConfigError(`Connection "${name}": ${prefix}USERNAME and ${prefix}PASSWORD must be set together.`);
|
|
75
84
|
}
|
|
76
|
-
if (!hasPassword && !
|
|
77
|
-
throw new ConfigError("
|
|
78
|
-
|
|
85
|
+
if (!hasPassword && !globals.enableSso) {
|
|
86
|
+
throw new ConfigError(`Connection "${name}" (${label}) has no credentials: set ${prefix}USERNAME + ${prefix}PASSWORD ` +
|
|
87
|
+
`(for a GizmoSQL JWT use username "token" and the JWT as the password), or GIZMOSQL_ENABLE_SSO=true ` +
|
|
88
|
+
"to sign in with the login_sso tool.");
|
|
79
89
|
}
|
|
80
90
|
return {
|
|
91
|
+
name,
|
|
81
92
|
host,
|
|
82
|
-
port: parseInteger("
|
|
93
|
+
port: parseInteger(`${prefix}PORT`, v("PORT"), DEFAULTS.port, { min: 1, max: 65535 }),
|
|
83
94
|
username: hasPassword ? username : undefined,
|
|
84
95
|
password: hasPassword ? password : undefined,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
96
|
+
plaintext: parseBoolean(`${prefix}PLAINTEXT`, v("PLAINTEXT"), false),
|
|
97
|
+
tlsSkipVerify: parseBoolean(`${prefix}TLS_SKIP_VERIFY`, v("TLS_SKIP_VERIFY"), false),
|
|
98
|
+
oauthPort: parseInteger(`${prefix}OAUTH_PORT`, v("OAUTH_PORT"), DEFAULTS.oauthPort, { min: 1, max: 65535 }),
|
|
99
|
+
defaultCatalog: nonEmpty(v("DEFAULT_CATALOG")),
|
|
100
|
+
defaultSchema: nonEmpty(v("DEFAULT_SCHEMA")),
|
|
101
|
+
queryTimeoutSeconds: globals.queryTimeoutSeconds,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Builds the effective configuration from environment variables.
|
|
106
|
+
*
|
|
107
|
+
* Connections:
|
|
108
|
+
* - primary: `GIZMOSQL_HOST` etc. (name `GIZMOSQL_CONNECTION_NAME`, default "default");
|
|
109
|
+
* - manifest slots: `GIZMOSQL_2_HOST` / `GIZMOSQL_3_HOST` etc. (names `GIZMOSQL_2_NAME`,
|
|
110
|
+
* default "server2"/"server3");
|
|
111
|
+
* - any names listed in `GIZMOSQL_CONNECTIONS` (comma separated), read from
|
|
112
|
+
* `GIZMOSQL_<NAME>_HOST` etc. with the name upper-cased and non-alphanumerics
|
|
113
|
+
* replaced by `_`.
|
|
114
|
+
* Slots without a host are ignored. At least one connection is required.
|
|
115
|
+
*/
|
|
116
|
+
export function parseConfig(env = process.env) {
|
|
117
|
+
const enableSso = parseBoolean("GIZMOSQL_ENABLE_SSO", env.GIZMOSQL_ENABLE_SSO, false);
|
|
118
|
+
const queryTimeoutSeconds = parseInteger("GIZMOSQL_QUERY_TIMEOUT_SECONDS", env.GIZMOSQL_QUERY_TIMEOUT_SECONDS, DEFAULTS.queryTimeoutSeconds, { min: 0, max: 86400 });
|
|
119
|
+
const globals = { queryTimeoutSeconds, enableSso };
|
|
120
|
+
const connections = [];
|
|
121
|
+
const primary = parseConnection(env, "GIZMOSQL_", nonEmpty(env.GIZMOSQL_CONNECTION_NAME) ?? DEFAULTS.connectionName, globals);
|
|
122
|
+
if (primary)
|
|
123
|
+
connections.push(primary);
|
|
124
|
+
const extraKeys = MANIFEST_SLOTS.map((slot) => ({
|
|
125
|
+
key: slot,
|
|
126
|
+
defaultName: `server${slot}`,
|
|
127
|
+
}));
|
|
128
|
+
for (const listed of (nonEmpty(env.GIZMOSQL_CONNECTIONS) ?? "").split(",")) {
|
|
129
|
+
const key = listed.trim();
|
|
130
|
+
if (key)
|
|
131
|
+
extraKeys.push({ key: envKey(key), defaultName: key.toLowerCase() });
|
|
132
|
+
}
|
|
133
|
+
for (const { key, defaultName } of extraKeys) {
|
|
134
|
+
const c = parseConnection(env, `GIZMOSQL_${key}_`, defaultName, globals);
|
|
135
|
+
if (c)
|
|
136
|
+
connections.push(c);
|
|
137
|
+
}
|
|
138
|
+
if (connections.length === 0) {
|
|
139
|
+
throw new ConfigError("GIZMOSQL_HOST is required (hostname or IP of the GizmoSQL server).");
|
|
140
|
+
}
|
|
141
|
+
const seen = new Map();
|
|
142
|
+
for (const c of connections) {
|
|
143
|
+
const k = c.name.toLowerCase();
|
|
144
|
+
if (seen.has(k)) {
|
|
145
|
+
throw new ConfigError(`Connection name "${c.name}" is used more than once (names are case-insensitive).`);
|
|
146
|
+
}
|
|
147
|
+
seen.set(k, c.name);
|
|
148
|
+
}
|
|
149
|
+
return {
|
|
150
|
+
connections,
|
|
92
151
|
allowWrites: parseBoolean("GIZMOSQL_ALLOW_WRITES", env.GIZMOSQL_ALLOW_WRITES, false),
|
|
93
|
-
maxRows: parseInteger("GIZMOSQL_MAX_ROWS", env.GIZMOSQL_MAX_ROWS, DEFAULTS.maxRows, {
|
|
152
|
+
maxRows: parseInteger("GIZMOSQL_MAX_ROWS", env.GIZMOSQL_MAX_ROWS, DEFAULTS.maxRows, { min: 1, max: 100000 }),
|
|
153
|
+
maxCellChars: parseInteger("GIZMOSQL_MAX_CELL_CHARS", env.GIZMOSQL_MAX_CELL_CHARS, DEFAULTS.maxCellChars, {
|
|
94
154
|
min: 1,
|
|
95
155
|
max: 100000,
|
|
96
156
|
}),
|
|
97
|
-
|
|
98
|
-
queryTimeoutSeconds: parseInteger("GIZMOSQL_QUERY_TIMEOUT_SECONDS", env.GIZMOSQL_QUERY_TIMEOUT_SECONDS, DEFAULTS.queryTimeoutSeconds, { min: 0, max: 86400 }),
|
|
157
|
+
queryTimeoutSeconds,
|
|
99
158
|
mcpBearerToken: nonEmpty(env.GIZMOSQL_MCP_BEARER_TOKEN),
|
|
100
159
|
enableSso,
|
|
101
|
-
defaultCatalog: nonEmpty(env.GIZMOSQL_DEFAULT_CATALOG),
|
|
102
|
-
defaultSchema: nonEmpty(env.GIZMOSQL_DEFAULT_SCHEMA),
|
|
103
160
|
};
|
|
104
161
|
}
|
|
105
162
|
export function authMethod(config) {
|
|
106
|
-
if (config.token)
|
|
107
|
-
return "token";
|
|
108
163
|
if (config.username !== undefined)
|
|
109
164
|
return "password";
|
|
110
165
|
return "none";
|
|
111
166
|
}
|
|
112
|
-
/** Connection URI with the password
|
|
167
|
+
/** Connection URI with the password never included. */
|
|
113
168
|
export function redactedUri(config, overrideUser) {
|
|
114
|
-
const user = overrideUser ??
|
|
169
|
+
const user = overrideUser ?? config.username;
|
|
115
170
|
const cred = user ? `${encodeURIComponent(user)}:***@` : "";
|
|
116
171
|
const transport = config.plaintext ? "?transport=tcp" : "";
|
|
117
172
|
return `gizmosql://${cred}${config.host}:${config.port}${transport}`;
|
|
@@ -201,7 +256,7 @@ export class GizmoConnection {
|
|
|
201
256
|
}
|
|
202
257
|
/** Secrets to redact from any message that might reach a client. */
|
|
203
258
|
secrets() {
|
|
204
|
-
return [this.config.password, this.
|
|
259
|
+
return [this.config.password, this.overrides.password];
|
|
205
260
|
}
|
|
206
261
|
redact(text) {
|
|
207
262
|
return redactSecrets(text, this.secrets());
|
|
@@ -234,8 +289,6 @@ export class GizmoConnection {
|
|
|
234
289
|
if (this.overrides.username !== undefined) {
|
|
235
290
|
return { ...base, username: this.overrides.username, password: this.overrides.password ?? "" };
|
|
236
291
|
}
|
|
237
|
-
if (this.config.token)
|
|
238
|
-
return { ...base, token: this.config.token };
|
|
239
292
|
if (this.config.username !== undefined) {
|
|
240
293
|
return { ...base, username: this.config.username, password: this.config.password ?? "" };
|
|
241
294
|
}
|
package/dist/connection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,6DAA6D;AAE7D,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAsB,MAAM,4BAA4B,CAAC;AACtG,OAAO,EAAE,KAAK,EAAoB,MAAM,cAAc,CAAC;AA2BvD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,GAAG;IACZ,YAAY,EAAE,GAAG;IACjB,mBAAmB,EAAE,EAAE;CACf,CAAC;AAEX,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACxD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AAE9D,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,GAAuB,EAAE,QAAiB;IACnF,IAAI,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IAClC,MAAM,CAAC,GAAG,GAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpC,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,IAAI,WAAW,CAAC,GAAG,IAAI,6BAA6B,GAAG,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,GAAuB,EACvB,QAAgB,EAChB,EAAE,GAAG,EAAE,GAAG,EAAiC;IAE3C,IAAI,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IAClC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;QACtE,MAAM,KAAK,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,GAAG,EAAE,CAAC;QAC5E,MAAM,IAAI,WAAW,CAAC,GAAG,IAAI,uBAAuB,KAAK,UAAU,GAAG,KAAK,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAE9C,0DAA0D;AAC1D,MAAM,UAAU,OAAO,CAAC,GAAuB;IAC7C,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACrB,OAAO,CAAC,KAAK,EAAE,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,QAAQ,CAAC,GAAuB;IACvC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAI,CAAC,IAAI,EAAE,CAAC;AAChD,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,WAAW,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC9D,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,WAAW,CAAC,oEAAoE,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,iBAAiB,KAAK,EAAE;QAC7E,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,YAAY,CAAC,qBAAqB,EAAE,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IAEtF,MAAM,WAAW,GAAG,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,CAAC,CAAC;IAC1F,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,CAAC;IACrC,IAAI,WAAW,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,WAAW,CACnB,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,WAAW,CAAC,+DAA+D,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5C,MAAM,IAAI,WAAW,CACnB,0FAA0F;YACxF,mEAAmE,CACtE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,YAAY,CAAC,eAAe,EAAE,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAC7F,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC5C,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC5C,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACnC,SAAS,EAAE,YAAY,CAAC,oBAAoB,EAAE,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC;QAC5E,aAAa,EAAE,YAAY,CAAC,0BAA0B,EAAE,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC;QAC5F,SAAS,EAAE,YAAY,CAAC,qBAAqB,EAAE,GAAG,CAAC,mBAAmB,EAAE,QAAQ,CAAC,SAAS,EAAE;YAC1F,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,KAAK;SACX,CAAC;QACF,WAAW,EAAE,YAAY,CAAC,uBAAuB,EAAE,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC;QACpF,OAAO,EAAE,YAAY,CAAC,mBAAmB,EAAE,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,OAAO,EAAE;YAClF,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,MAAM;SACZ,CAAC;QACF,YAAY,EAAE,YAAY,CACxB,yBAAyB,EACzB,GAAG,CAAC,uBAAuB,EAC3B,QAAQ,CAAC,YAAY,EACrB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CACxB;QACD,mBAAmB,EAAE,YAAY,CAC/B,gCAAgC,EAChC,GAAG,CAAC,8BAA8B,EAClC,QAAQ,CAAC,mBAAmB,EAC5B,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CACvB;QACD,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,yBAAyB,CAAC;QACvD,SAAS;QACT,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC;QACtD,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,uBAAuB,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAA0D;IACnF,IAAI,MAAM,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IACjC,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IACrD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,WAAW,CAAC,MAAiB,EAAE,YAAqB;IAClE,MAAM,IAAI,GAAG,YAAY,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,OAAO,cAAc,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC;AACvE,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAAkC;IAC5E,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,OAAO,KAAK,CAAC;YAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAe;QACzB,KAAK,CACH,sBAAsB,OAAO,+DAA+D,CAC7F,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,iFAAiF;AACjF,MAAM,wBAAwB,GAAG,IAAI,CAAC;AACtC,kGAAkG;AAClG,MAAM,mBAAmB,GAAG,KAAK,CAAC;AASlC,MAAM,eAAe,GAAG,sNAAsN,CAAC;AAE/O,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,MAAM,IAAI,GAAI,GAAyB,EAAE,IAAI,IAAI,EAAE,CAAC;IACpD,IAAI,IAAI,KAAK,iBAAiB,IAAI,IAAI,KAAK,qBAAqB;QAAE,OAAO,IAAI,KAAK,iBAAiB,CAAC;IACpG,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAcD,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AACzC,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,YAAY,CAAC,IAAgB;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,IAAI,IAAI,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAOD;;;;;;;GAOG;AACH,MAAM,OAAO,eAAe;IAWf;IACQ;IAXX,MAAM,GAA2B,IAAI,CAAC;IACtC,UAAU,GAAoC,IAAI,CAAC;IACnD,KAAK,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5C,SAAS,GAAqB,EAAE,CAAC;IACjC,QAAQ,GAAa,EAAE,CAAC;IACxB,UAAU,CAAa;IAC/B,2EAA2E;IAC3E,WAAW,GAAgB,IAAI,CAAC;IAEhC,YACW,MAAiB,EACT,MAAiC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QADhE,WAAM,GAAN,MAAM,CAAW;QACT,QAAG,GAAH,GAAG,CAAqD;QAEzE,IAAI,CAAC,UAAU,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;IACrF,CAAC;IAED,wDAAwD;IACxD,iBAAiB;QACf,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,IAAgB;QAC9B,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAC7E,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,oEAAoE;IACpE,OAAO;QACL,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACxG,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,gEAAgE;IAChE,aAAa;QACX,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC/D,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACpF,CAAC;IAED,mFAAmF;IACnF,eAAe;QACb,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,cAAc,CAAC,SAA2B;QAC9C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAEO,YAAY;QAClB,MAAM,IAAI,GAAG;YACX,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;YACxC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;SACjC,CAAC;QACF,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QACjG,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpE,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QAC3F,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yDAAyD;IACjD,KAAK,CAAC,IAAI;QAChB,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACxD,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,aAAa,CACxB,gCAAgC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAClE,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1E,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,8FAA8F;oBAC5F,kDAAkD,GAAG,EAAE,CAC1D,CAAC;gBACF,IAAI,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1E,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,SAAS,GAAG,wBAAwB,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBACjF,CAAC;gBAAC,MAAM,CAAC;oBACP,cAAc;gBAChB,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,gDAAgD,GAAG,4CAA4C,SAAS,IAAI,GAAG,EAAE,CAClH,CAAC;gBACF,IAAI,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,GAAG;QACP,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE;iBAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBACV,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;iBACD,OAAO,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACzB,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,kFAAkF;IAClF,KAAK,CAAC,KAAK;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,eAAe;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CACP,EAA4E,EAC5E,UAAsB,EAAE;QAExB,MAAM,IAAI,GAAG,KAAK,IAAgB,EAAE;YAClC,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,SAAS,CAAC;gBACR,OAAO,EAAE,CAAC;gBACV,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACH,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBACzF,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;wBACrC,MAAM,GAAG,CAAC;oBACZ,CAAC;oBACD,IAAI,OAAO,GAAG,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC1C,IAAI,CAAC,GAAG,CACN,kDAAkD,IAAI,CAAC,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAClH,CAAC;wBACF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;wBACnB,SAAS;oBACX,CAAC;oBACD,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,EAAmD,EACnD,cAAuB;QAEvB,MAAM,OAAO,GAAG,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;QAClE,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;QACnD,iEAAiE;QACjE,uDAAuD;QACvD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,UAAsC,CAAC;QAC3C,IAAI,UAAsC,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YACjD,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC3B,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC/B,gEAAgE;gBAChE,6DAA6D;gBAC7D,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC3B,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;gBACxD,CAAC,EAAE,mBAAmB,CAAC,CAAC;YAC1B,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,wBAAwB,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,GAAG,YAAY,mBAAmB,IAAI,GAAG,KAAK,YAAY,CAAC,EAAE,CAAC;gBAC9F,MAAM,YAAY,CAAC;YACrB,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,IAAI,UAAU;gBAAE,YAAY,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,UAAU;gBAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,GAAW,EAAE,MAAsB,EAAE,OAAoB;QAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACH,WAAW,CACT,GAAW,EACX,MAAiC,EACjC,OAAe,EACf,OAAoB;QAEpB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAkB,EAAE,CAAC;YAClC,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;gBACtB,IAAI,IAAI,GAAG,OAAO;oBAAE,MAAM,CAAC,sBAAsB;YACnD,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAChD,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,EAAE,CAAC;QAChG,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;IAED,yEAAyE;IACzE,MAAM,CAAC,GAAW,EAAE,MAAsB,EAAE,OAAoB;QAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { GizmoConnection, type ConnectionConfig, type McpConfig } from "./connection.js";
|
|
2
|
+
export declare class UnknownConnectionError extends Error {
|
|
3
|
+
constructor(name: string, available: string[]);
|
|
4
|
+
}
|
|
5
|
+
export interface ConnectionSummary {
|
|
6
|
+
name: string;
|
|
7
|
+
host: string;
|
|
8
|
+
port: number;
|
|
9
|
+
tls: boolean;
|
|
10
|
+
auth: string;
|
|
11
|
+
default_catalog: string | null;
|
|
12
|
+
default_schema: string | null;
|
|
13
|
+
current: boolean;
|
|
14
|
+
connected: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Holds one lazily opened GizmoConnection per configured server. Names are
|
|
18
|
+
* matched case-insensitively. The first configured connection is the
|
|
19
|
+
* initial default; `use()` switches it for the rest of the process.
|
|
20
|
+
*/
|
|
21
|
+
export declare class ConnectionRegistry {
|
|
22
|
+
readonly config: McpConfig;
|
|
23
|
+
private readonly byName;
|
|
24
|
+
private readonly order;
|
|
25
|
+
private currentName;
|
|
26
|
+
constructor(config: McpConfig, log?: (message: string) => void);
|
|
27
|
+
/** Names in configuration order. */
|
|
28
|
+
names(): string[];
|
|
29
|
+
/** Name of the current default connection. */
|
|
30
|
+
current(): string;
|
|
31
|
+
has(name: string): boolean;
|
|
32
|
+
/** Resolves a connection by name (case-insensitive); undefined/blank means the current default. */
|
|
33
|
+
get(name?: string): GizmoConnection;
|
|
34
|
+
/** Makes `name` the default for subsequent calls; returns its canonical name. */
|
|
35
|
+
use(name: string): string;
|
|
36
|
+
all(): GizmoConnection[];
|
|
37
|
+
configFor(name?: string): ConnectionConfig;
|
|
38
|
+
/** Every secret from every connection plus the HTTP bearer token. */
|
|
39
|
+
secrets(): Array<string | undefined>;
|
|
40
|
+
redact(text: string): string;
|
|
41
|
+
summaries(): ConnectionSummary[];
|
|
42
|
+
close(): Promise<void>;
|
|
43
|
+
}
|