@burtson-labs/host-kit 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.
Files changed (79) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +55 -0
  3. package/dist/backgroundTasks.d.ts +113 -0
  4. package/dist/backgroundTasks.d.ts.map +1 -0
  5. package/dist/backgroundTasks.js +137 -0
  6. package/dist/backgroundTasks.js.map +1 -0
  7. package/dist/checkpoints.d.ts +99 -0
  8. package/dist/checkpoints.d.ts.map +1 -0
  9. package/dist/checkpoints.js +227 -0
  10. package/dist/checkpoints.js.map +1 -0
  11. package/dist/hooks.d.ts +51 -0
  12. package/dist/hooks.d.ts.map +1 -0
  13. package/dist/hooks.js +152 -0
  14. package/dist/hooks.js.map +1 -0
  15. package/dist/index.d.ts +19 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +95 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/insights.d.ts +398 -0
  20. package/dist/insights.d.ts.map +1 -0
  21. package/dist/insights.js +1933 -0
  22. package/dist/insights.js.map +1 -0
  23. package/dist/mcp.d.ts +60 -0
  24. package/dist/mcp.d.ts.map +1 -0
  25. package/dist/mcp.js +281 -0
  26. package/dist/mcp.js.map +1 -0
  27. package/dist/mcpConnectors.d.ts +108 -0
  28. package/dist/mcpConnectors.d.ts.map +1 -0
  29. package/dist/mcpConnectors.js +217 -0
  30. package/dist/mcpConnectors.js.map +1 -0
  31. package/dist/mcpToolCache.d.ts +43 -0
  32. package/dist/mcpToolCache.d.ts.map +1 -0
  33. package/dist/mcpToolCache.js +150 -0
  34. package/dist/mcpToolCache.js.map +1 -0
  35. package/dist/mcpTrust.d.ts +22 -0
  36. package/dist/mcpTrust.d.ts.map +1 -0
  37. package/dist/mcpTrust.js +104 -0
  38. package/dist/mcpTrust.js.map +1 -0
  39. package/dist/memory.d.ts +38 -0
  40. package/dist/memory.d.ts.map +1 -0
  41. package/dist/memory.js +151 -0
  42. package/dist/memory.js.map +1 -0
  43. package/dist/memoryIndex.d.ts +38 -0
  44. package/dist/memoryIndex.d.ts.map +1 -0
  45. package/dist/memoryIndex.js +142 -0
  46. package/dist/memoryIndex.js.map +1 -0
  47. package/dist/mentions.d.ts +33 -0
  48. package/dist/mentions.d.ts.map +1 -0
  49. package/dist/mentions.js +126 -0
  50. package/dist/mentions.js.map +1 -0
  51. package/dist/ollamaModels.d.ts +36 -0
  52. package/dist/ollamaModels.d.ts.map +1 -0
  53. package/dist/ollamaModels.js +83 -0
  54. package/dist/ollamaModels.js.map +1 -0
  55. package/dist/permissions.d.ts +72 -0
  56. package/dist/permissions.d.ts.map +1 -0
  57. package/dist/permissions.js +271 -0
  58. package/dist/permissions.js.map +1 -0
  59. package/dist/tools/extraTools.d.ts +80 -0
  60. package/dist/tools/extraTools.d.ts.map +1 -0
  61. package/dist/tools/extraTools.js +471 -0
  62. package/dist/tools/extraTools.js.map +1 -0
  63. package/dist/tools/readMemoryTool.d.ts +3 -0
  64. package/dist/tools/readMemoryTool.d.ts.map +1 -0
  65. package/dist/tools/readMemoryTool.js +115 -0
  66. package/dist/tools/readMemoryTool.js.map +1 -0
  67. package/dist/tools/taskTool.d.ts +119 -0
  68. package/dist/tools/taskTool.d.ts.map +1 -0
  69. package/dist/tools/taskTool.js +466 -0
  70. package/dist/tools/taskTool.js.map +1 -0
  71. package/dist/tools/testRunTool.d.ts +59 -0
  72. package/dist/tools/testRunTool.d.ts.map +1 -0
  73. package/dist/tools/testRunTool.js +308 -0
  74. package/dist/tools/testRunTool.js.map +1 -0
  75. package/dist/turnLog.d.ts +89 -0
  76. package/dist/turnLog.d.ts.map +1 -0
  77. package/dist/turnLog.js +469 -0
  78. package/dist/turnLog.js.map +1 -0
  79. package/package.json +35 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights.js","sourceRoot":"","sources":["../src/insights.ts"],"names":[],"mappings":"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"}
package/dist/mcp.d.ts ADDED
@@ -0,0 +1,60 @@
1
+ /**
2
+ * MCP — read mcp-servers.json from disk and load it into a pool.
3
+ *
4
+ * Mirrors the loadMemory() pattern: workspace config takes precedence
5
+ * over global, missing files are ignored silently. Either file's
6
+ * presence opts the user into MCP; absence means zero behavior change.
7
+ *
8
+ * Schema is the standard MCP `mcpServers` shape:
9
+ * `{ "mcpServers": { "<name>": { "command": "...", "args": [...], "env": {...} } } }`.
10
+ * Users porting from another MCP-speaking client can paste the same
11
+ * stanza in. See docs/integration-playlist/mcp-roadmap.md for design rules.
12
+ */
13
+ import type { McpClientPool, McpServerConfig, McpServersFile } from '@burtson-labs/agent-core';
14
+ /**
15
+ * Resolve the effective server config for a workspace by merging
16
+ * `~/.bandit/mcp-servers.json` (global, lower precedence) with
17
+ * `.bandit/mcp-servers.json` (workspace, higher precedence). Workspace
18
+ * entries override global entries with the same name. Returns an
19
+ * empty record when neither file exists or both are unparseable —
20
+ * MCP is opt-in, missing config = no behavior change.
21
+ */
22
+ export declare function loadMcpServersConfig(cwd: string): Promise<McpServersFile['mcpServers']>;
23
+ /**
24
+ * Convenience: load mcp-servers.json (global + workspace) and register
25
+ * every entry with the given pool. Returns the count of servers
26
+ * registered. Lazy spawn — the pool defers actual child_process
27
+ * creation until the first tool invocation per server.
28
+ */
29
+ export declare function registerMcpServersFromDisk(cwd: string, pool: McpClientPool): Promise<number>;
30
+ /** Path to the global mcp-servers.json — exposed so the CLI's `/mcp`
31
+ * command can echo it back to the user. */
32
+ export declare function globalMcpServersPath(): string;
33
+ /**
34
+ * Append (or replace) a server entry in mcp-servers.json. Used by the
35
+ * connector wizards (GitHub, Slack, etc.) to drop a fully-formed
36
+ * config in without making the user hand-edit JSON. Writes to the
37
+ * workspace file (`.bandit/mcp-servers.json`) when one exists at
38
+ * `cwd`, otherwise the global file at `~/.bandit/mcp-servers.json` —
39
+ * same precedence as load. Re-using an existing name overwrites the
40
+ * old entry (the user is typically rotating a token or replacing a
41
+ * server they already have).
42
+ *
43
+ * Returns the absolute path that was written so callers can echo it
44
+ * to the user. Throws on write failure.
45
+ */
46
+ export declare function addMcpServerToConfig(cwd: string, name: string, config: McpServerConfig): Promise<string>;
47
+ /**
48
+ * Update one server's activation mode on disk. Writes to the
49
+ * workspace config (`.bandit/mcp-servers.json`) when one exists at
50
+ * `cwd`; otherwise updates the global file. Mirrors the load-time
51
+ * precedence so the change lands in the same file the user is most
52
+ * likely to be editing. The rest of the entry's fields are preserved
53
+ * verbatim — we only touch the `activation` field.
54
+ *
55
+ * Returns the absolute path that was written so callers can echo it
56
+ * to the user. Throws on write failure (caller decides whether to
57
+ * surface or swallow).
58
+ */
59
+ export declare function persistMcpActivation(cwd: string, serverName: string, activation: 'always' | 'on-mention'): Promise<string>;
60
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AA8B/F;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAoD7F;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;4CAC4C;AAC5C,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,MAAM,CAAC,CA8CjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,QAAQ,GAAG,YAAY,GAClC,OAAO,CAAC,MAAM,CAAC,CAqCjB"}
package/dist/mcp.js ADDED
@@ -0,0 +1,281 @@
1
+ "use strict";
2
+ /**
3
+ * MCP — read mcp-servers.json from disk and load it into a pool.
4
+ *
5
+ * Mirrors the loadMemory() pattern: workspace config takes precedence
6
+ * over global, missing files are ignored silently. Either file's
7
+ * presence opts the user into MCP; absence means zero behavior change.
8
+ *
9
+ * Schema is the standard MCP `mcpServers` shape:
10
+ * `{ "mcpServers": { "<name>": { "command": "...", "args": [...], "env": {...} } } }`.
11
+ * Users porting from another MCP-speaking client can paste the same
12
+ * stanza in. See docs/integration-playlist/mcp-roadmap.md for design rules.
13
+ */
14
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ var desc = Object.getOwnPropertyDescriptor(m, k);
17
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
18
+ desc = { enumerable: true, get: function() { return m[k]; } };
19
+ }
20
+ Object.defineProperty(o, k2, desc);
21
+ }) : (function(o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ o[k2] = m[k];
24
+ }));
25
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
26
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
27
+ }) : function(o, v) {
28
+ o["default"] = v;
29
+ });
30
+ var __importStar = (this && this.__importStar) || (function () {
31
+ var ownKeys = function(o) {
32
+ ownKeys = Object.getOwnPropertyNames || function (o) {
33
+ var ar = [];
34
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
35
+ return ar;
36
+ };
37
+ return ownKeys(o);
38
+ };
39
+ return function (mod) {
40
+ if (mod && mod.__esModule) return mod;
41
+ var result = {};
42
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
43
+ __setModuleDefault(result, mod);
44
+ return result;
45
+ };
46
+ })();
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.loadMcpServersConfig = loadMcpServersConfig;
49
+ exports.registerMcpServersFromDisk = registerMcpServersFromDisk;
50
+ exports.globalMcpServersPath = globalMcpServersPath;
51
+ exports.addMcpServerToConfig = addMcpServerToConfig;
52
+ exports.persistMcpActivation = persistMcpActivation;
53
+ const fs = __importStar(require("fs"));
54
+ const os = __importStar(require("os"));
55
+ const path = __importStar(require("path"));
56
+ const GLOBAL_PATH = path.join(os.homedir(), '.bandit', 'mcp-servers.json');
57
+ const BANDIT_CONFIG_PATH = path.join(os.homedir(), '.bandit', 'config.json');
58
+ /**
59
+ * Pull the user's Burtson Labs API key out of `~/.bandit/config.json`
60
+ * (`bandit.apiKey`). Used by the auto-inject path below — when an MCP
61
+ * server config doesn't already specify `BANDIT_API_KEY` in its env
62
+ * block, we backfill from the user's Bandit cloud config so a single
63
+ * sign-in covers BOTH provider auth and MCP server auth. Solo users
64
+ * almost always want one key everywhere; multi-tenant setups can opt
65
+ * out by explicitly setting `BANDIT_API_KEY` in the env block, which
66
+ * we never override.
67
+ *
68
+ * Returns null when the config file is missing, malformed, or has no
69
+ * `bandit.apiKey` set — the caller then leaves the env block alone
70
+ * and the user falls back to manual `env: { BANDIT_API_KEY }`.
71
+ */
72
+ async function resolveBanditApiKey() {
73
+ try {
74
+ const raw = await fs.promises.readFile(BANDIT_CONFIG_PATH, 'utf-8');
75
+ const parsed = JSON.parse(raw);
76
+ const key = parsed.bandit?.apiKey?.trim();
77
+ return key && key.length > 0 ? key : null;
78
+ }
79
+ catch {
80
+ return null;
81
+ }
82
+ }
83
+ /**
84
+ * Resolve the effective server config for a workspace by merging
85
+ * `~/.bandit/mcp-servers.json` (global, lower precedence) with
86
+ * `.bandit/mcp-servers.json` (workspace, higher precedence). Workspace
87
+ * entries override global entries with the same name. Returns an
88
+ * empty record when neither file exists or both are unparseable —
89
+ * MCP is opt-in, missing config = no behavior change.
90
+ */
91
+ async function loadMcpServersConfig(cwd) {
92
+ const merged = {};
93
+ const candidates = [
94
+ GLOBAL_PATH,
95
+ path.resolve(cwd, '.bandit', 'mcp-servers.json')
96
+ ];
97
+ for (const file of candidates) {
98
+ try {
99
+ const raw = await fs.promises.readFile(file, 'utf-8');
100
+ const parsed = JSON.parse(raw);
101
+ if (parsed && typeof parsed === 'object' && parsed.mcpServers) {
102
+ for (const [name, cfg] of Object.entries(parsed.mcpServers)) {
103
+ if (!cfg || typeof cfg !== 'object')
104
+ continue;
105
+ // An entry is valid when EITHER:
106
+ // - `command` is a string (stdio transport — original shape), OR
107
+ // - `url` is a string (Streamable HTTP transport, v1.7.333+).
108
+ // Pre-v1.7.333 the loader only accepted stdio and silently
109
+ // dropped URL-only entries, which surfaced as "no servers
110
+ // configured" even though the file was correctly written.
111
+ const hasStdio = typeof cfg.command === 'string';
112
+ const hasUrl = typeof cfg.url === 'string';
113
+ if (hasStdio || hasUrl) {
114
+ merged[name] = cfg;
115
+ }
116
+ }
117
+ }
118
+ }
119
+ catch {
120
+ // Missing or invalid — skip silently. MCP is best-effort opt-in.
121
+ }
122
+ }
123
+ // Auto-inject BANDIT_API_KEY into each STDIO server's env block when
124
+ // the user has a Bandit cloud key configured AND the server hasn't
125
+ // already pinned one. URL-based remote servers (v1.7.333+) use the
126
+ // pool's `resolveAuthToken` callback instead of env injection —
127
+ // that auth path is wired by the host (`auth: "bandit"` on the
128
+ // server entry tells the pool to attach `X-API-Key`), so this
129
+ // env-mutation is a no-op for them and we skip it.
130
+ const banditApiKey = await resolveBanditApiKey();
131
+ if (banditApiKey) {
132
+ for (const cfg of Object.values(merged)) {
133
+ // Skip URL entries — they auth via the pool's resolveAuthToken,
134
+ // not via env on a child process that doesn't exist.
135
+ if (typeof cfg.url === 'string')
136
+ continue;
137
+ const env = cfg.env ?? {};
138
+ if (!env.BANDIT_API_KEY) {
139
+ cfg.env = { ...env, BANDIT_API_KEY: banditApiKey };
140
+ }
141
+ }
142
+ }
143
+ return merged;
144
+ }
145
+ /**
146
+ * Convenience: load mcp-servers.json (global + workspace) and register
147
+ * every entry with the given pool. Returns the count of servers
148
+ * registered. Lazy spawn — the pool defers actual child_process
149
+ * creation until the first tool invocation per server.
150
+ */
151
+ async function registerMcpServersFromDisk(cwd, pool) {
152
+ const servers = await loadMcpServersConfig(cwd);
153
+ let count = 0;
154
+ for (const [name, cfg] of Object.entries(servers)) {
155
+ pool.register(name, cfg);
156
+ count++;
157
+ }
158
+ return count;
159
+ }
160
+ /** Path to the global mcp-servers.json — exposed so the CLI's `/mcp`
161
+ * command can echo it back to the user. */
162
+ function globalMcpServersPath() {
163
+ return GLOBAL_PATH;
164
+ }
165
+ /**
166
+ * Append (or replace) a server entry in mcp-servers.json. Used by the
167
+ * connector wizards (GitHub, Slack, etc.) to drop a fully-formed
168
+ * config in without making the user hand-edit JSON. Writes to the
169
+ * workspace file (`.bandit/mcp-servers.json`) when one exists at
170
+ * `cwd`, otherwise the global file at `~/.bandit/mcp-servers.json` —
171
+ * same precedence as load. Re-using an existing name overwrites the
172
+ * old entry (the user is typically rotating a token or replacing a
173
+ * server they already have).
174
+ *
175
+ * Returns the absolute path that was written so callers can echo it
176
+ * to the user. Throws on write failure.
177
+ */
178
+ async function addMcpServerToConfig(cwd, name, config) {
179
+ const workspacePath = path.resolve(cwd, '.bandit', 'mcp-servers.json');
180
+ // Prefer workspace config when one already exists; otherwise create
181
+ // it so per-project servers (which the user is most likely picking
182
+ // when they hit a wizard from inside a project) live with the project.
183
+ let target = workspacePath;
184
+ let workspaceExists = false;
185
+ try {
186
+ await fs.promises.access(workspacePath);
187
+ workspaceExists = true;
188
+ }
189
+ catch {
190
+ // No workspace config yet — fall through to creating one if cwd
191
+ // looks like a real workspace, else use the global path.
192
+ workspaceExists = false;
193
+ }
194
+ if (!workspaceExists) {
195
+ // If there's NO workspace config but a global config DOES exist,
196
+ // append to global so the user's existing setup stays in one
197
+ // place. If neither exists, create the workspace one (per-project
198
+ // setup is the common wizard case).
199
+ try {
200
+ await fs.promises.access(GLOBAL_PATH);
201
+ target = GLOBAL_PATH;
202
+ }
203
+ catch {
204
+ target = workspacePath;
205
+ }
206
+ }
207
+ let file;
208
+ try {
209
+ const raw = await fs.promises.readFile(target, 'utf-8');
210
+ const parsed = JSON.parse(raw);
211
+ file = {
212
+ mcpServers: parsed.mcpServers && typeof parsed.mcpServers === 'object'
213
+ ? { ...parsed.mcpServers }
214
+ : {}
215
+ };
216
+ }
217
+ catch {
218
+ file = { mcpServers: {} };
219
+ }
220
+ file.mcpServers[name] = config;
221
+ const dir = path.dirname(target);
222
+ try {
223
+ await fs.promises.mkdir(dir, { recursive: true });
224
+ }
225
+ catch { /* exists */ }
226
+ await fs.promises.writeFile(target, JSON.stringify(file, null, 2) + '\n', 'utf-8');
227
+ return target;
228
+ }
229
+ /**
230
+ * Update one server's activation mode on disk. Writes to the
231
+ * workspace config (`.bandit/mcp-servers.json`) when one exists at
232
+ * `cwd`; otherwise updates the global file. Mirrors the load-time
233
+ * precedence so the change lands in the same file the user is most
234
+ * likely to be editing. The rest of the entry's fields are preserved
235
+ * verbatim — we only touch the `activation` field.
236
+ *
237
+ * Returns the absolute path that was written so callers can echo it
238
+ * to the user. Throws on write failure (caller decides whether to
239
+ * surface or swallow).
240
+ */
241
+ async function persistMcpActivation(cwd, serverName, activation) {
242
+ const workspacePath = path.resolve(cwd, '.bandit', 'mcp-servers.json');
243
+ let target = workspacePath;
244
+ try {
245
+ await fs.promises.access(workspacePath);
246
+ }
247
+ catch {
248
+ // Workspace config doesn't exist — fall through to global.
249
+ target = GLOBAL_PATH;
250
+ }
251
+ let file;
252
+ try {
253
+ const raw = await fs.promises.readFile(target, 'utf-8');
254
+ const parsed = JSON.parse(raw);
255
+ file = {
256
+ mcpServers: parsed.mcpServers && typeof parsed.mcpServers === 'object'
257
+ ? { ...parsed.mcpServers }
258
+ : {}
259
+ };
260
+ }
261
+ catch {
262
+ // Target file missing — initialize a new one. Only happens when
263
+ // the user toggled activation through the UI before ever
264
+ // creating an mcp-servers.json (unlikely; the server has to be
265
+ // registered for the toggle to appear).
266
+ file = { mcpServers: {} };
267
+ }
268
+ const existing = file.mcpServers[serverName];
269
+ if (!existing) {
270
+ throw new Error(`MCP server "${serverName}" not found in ${target}`);
271
+ }
272
+ file.mcpServers[serverName] = { ...existing, activation };
273
+ const dir = path.dirname(target);
274
+ try {
275
+ await fs.promises.mkdir(dir, { recursive: true });
276
+ }
277
+ catch { /* exists */ }
278
+ await fs.promises.writeFile(target, JSON.stringify(file, null, 2) + '\n', 'utf-8');
279
+ return target;
280
+ }
281
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Connector wizards — convenience helpers that turn a single user
3
+ * input (a token, a credential, etc.) into a fully-formed McpServerConfig
4
+ * for a well-known provider's official MCP server. Each wizard is a
5
+ * small, single-purpose function; the surfaces (CLI slash command,
6
+ * extension Connections panel) call into these to avoid duplicating
7
+ * the spawn-command shape across surfaces.
8
+ *
9
+ * Phase 3 starts with GitHub — it's the simplest viable wizard
10
+ * (single PAT, no OAuth callback). Slack / Google / Microsoft follow
11
+ * as they each ship.
12
+ */
13
+ import type { McpServerConfig } from '@burtson-labs/agent-core';
14
+ /**
15
+ * Build a server config that runs `@modelcontextprotocol/server-github`
16
+ * via npx with the user's PAT. The token never lands in the config
17
+ * file's `args` (those are sometimes logged by editors); it goes into
18
+ * the env block which Bandit explicitly excludes from the trust
19
+ * fingerprint and from any UI surfaces that echo configs back.
20
+ *
21
+ * Activation defaults to "on-mention" with the standard github
22
+ * triggers so the GitHub server's tools only land in the prompt
23
+ * budget when the user actually mentions GitHub-y things.
24
+ */
25
+ export declare function buildGitHubServerConfig(token: string): McpServerConfig;
26
+ /**
27
+ * Reasonable token-shape sanity check. GitHub PATs come in three
28
+ * flavors: classic (`ghp_…`, ~40 chars), fine-grained (`github_pat_…`,
29
+ * ~93 chars), and OAuth (`gho_…`). All start with a known prefix.
30
+ * We're not validating against the API here — just catching the
31
+ * fat-finger "I pasted my SSH key" failure mode before the user
32
+ * gets a confusing 401 from the server.
33
+ */
34
+ export declare function looksLikeGitHubToken(token: string): boolean;
35
+ /**
36
+ * Build a server config that runs `@modelcontextprotocol/server-slack`
37
+ * via npx. Slack's MCP server requires two env vars: a Bot User OAuth
38
+ * Token (`xoxb-…`) and the workspace's Team ID (`T…`). We ship the
39
+ * wizard with `activation: 'on-mention'` so Slack tools only land in
40
+ * the prompt budget when the user actually mentions slack/channel/
41
+ * message — the standard auto-derived triggers from activation.ts.
42
+ */
43
+ export declare function buildSlackServerConfig(botToken: string, teamId: string): McpServerConfig;
44
+ /** Slack Bot User OAuth tokens always start with "xoxb-". User tokens
45
+ * are "xoxp-"; we deliberately accept both since the MCP server
46
+ * works with either, but the docs recommend bot tokens. */
47
+ export declare function looksLikeSlackToken(token: string): boolean;
48
+ /** Slack workspace IDs start with "T" followed by alphanumerics. We
49
+ * accept any non-empty string starting with T to allow for future
50
+ * changes in Slack's ID format. */
51
+ export declare function looksLikeSlackTeamId(teamId: string): boolean;
52
+ /**
53
+ * Build a server config that runs `@modelcontextprotocol/server-gitlab`
54
+ * via npx. Defaults to GitLab.com's API; users with self-hosted
55
+ * GitLab can pass the API base URL through GITLAB_API_URL.
56
+ */
57
+ export declare function buildGitLabServerConfig(token: string, apiUrl?: string): McpServerConfig;
58
+ /** GitLab PATs are typically 20 chars of base64-ish content with a
59
+ * `glpat-` prefix on newer tokens (since GitLab 14.5). We accept
60
+ * any non-empty string ≥ 20 chars to support older tokens too. */
61
+ export declare function looksLikeGitLabToken(token: string): boolean;
62
+ /**
63
+ * Build a server config that runs `@gongrzhe/server-gmail-autoauth-mcp`
64
+ * via npx with the user's downloaded Google Cloud OAuth credentials.
65
+ * the first Phase 3 Google-flavor wizard, closing the gap
66
+ * memo'd in the 2026-04-29 MCP roadmap (Office 365 / Google / Slack
67
+ * / GitHub all named as Phase 3 targets; GitHub + Slack + GitLab
68
+ * shipped, Google was the last hold-out).
69
+ *
70
+ * Why this server: it's the most-cited community Gmail MCP server,
71
+ * speaks the standard stdio MCP shape, and handles the OAuth dance
72
+ * (browser popup → save refresh token) automatically on first spawn.
73
+ * Anthropic doesn't ship a `server-gmail` from the official MCP repo,
74
+ * so picking a community implementation is unavoidable — gongrzhe is
75
+ * well-maintained as of this writing.
76
+ *
77
+ * Setup the user has to do first (we can't):
78
+ * 1. Create an OAuth 2.0 client in https://console.cloud.google.com/
79
+ * Type: Desktop app. Enable the Gmail API on the project first.
80
+ * 2. Download the credentials JSON (the "OAuth client" download).
81
+ * 3. Pass that file path to this wizard.
82
+ *
83
+ * The first Bandit turn that touches Gmail will open a browser for the
84
+ * Google consent screen. After that the server caches a refresh token
85
+ * to `~/.gmail-mcp/credentials.json` and runs unattended.
86
+ */
87
+ export declare function buildGmailServerConfig(credentialsPath: string): McpServerConfig;
88
+ /** Light shape check: the user pointed at a path that looks like a
89
+ * Google OAuth credentials JSON. We don't open the file here (host-
90
+ * kit stays filesystem-agnostic for testability); the wizard layer
91
+ * does the actual fs check before calling this. */
92
+ export declare function looksLikeGmailCredentialsPath(p: string): boolean;
93
+ /**
94
+ * Build a fully-custom server config from raw inputs. Used by the
95
+ * "+ Custom" wizard tile so users can register any MCP server (Linear,
96
+ * Jira, Bitbucket, Sentry, Postgres, an internal one they wrote) without
97
+ * waiting for Bandit to ship a dedicated wizard for that provider.
98
+ *
99
+ * `envInput` accepts the standard `KEY=VALUE` shape one-per-line, the
100
+ * format every CLI / dotfile uses, so users can paste from a `.env`.
101
+ */
102
+ export declare function buildCustomServerConfig(params: {
103
+ command: string;
104
+ args?: string[];
105
+ envInput?: string;
106
+ activation?: 'always' | 'on-mention';
107
+ }): McpServerConfig;
108
+ //# sourceMappingURL=mcpConnectors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcpConnectors.d.ts","sourceRoot":"","sources":["../src/mcpConnectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAStE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAG3D;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAWxF;AAED;;2DAE2D;AAC3D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;mCAEmC;AACnC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,eAAe,CAcvF;AAED;;kEAEkE;AAClE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAI3D;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,MAAM,GAAG,eAAe,CAe/E;AAED;;;mDAGmD;AACnD,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAOhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;CACtC,GAAG,eAAe,CAwBlB"}