@adtl/gateway 0.5.1 → 0.6.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/README.md +97 -8
- package/dist/approvals.d.ts +22 -6
- package/dist/approvals.d.ts.map +1 -1
- package/dist/approvals.js +56 -26
- package/dist/approvals.js.map +1 -1
- package/dist/audit.d.ts +8 -0
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js.map +1 -1
- package/dist/auditCli.d.ts +2 -0
- package/dist/auditCli.d.ts.map +1 -1
- package/dist/auditCli.js +13 -10
- package/dist/auditCli.js.map +1 -1
- package/dist/cli.js +17 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +285 -21
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +49 -1
- package/dist/config.js.map +1 -1
- package/dist/elicitation.d.ts +25 -0
- package/dist/elicitation.d.ts.map +1 -0
- package/dist/elicitation.js +46 -0
- package/dist/elicitation.js.map +1 -0
- package/dist/gateway.d.ts +26 -1
- package/dist/gateway.d.ts.map +1 -1
- package/dist/gateway.js +85 -8
- package/dist/gateway.js.map +1 -1
- package/dist/hooks/claudeCode.d.ts +4 -0
- package/dist/hooks/claudeCode.d.ts.map +1 -1
- package/dist/hooks/claudeCode.js +8 -1
- package/dist/hooks/claudeCode.js.map +1 -1
- package/dist/hooks/run.d.ts.map +1 -1
- package/dist/hooks/run.js +6 -3
- package/dist/hooks/run.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/init/presets.d.ts.map +1 -1
- package/dist/init/presets.js +54 -0
- package/dist/init/presets.js.map +1 -1
- package/dist/invoker.d.ts +21 -1
- package/dist/invoker.d.ts.map +1 -1
- package/dist/invoker.js +19 -2
- package/dist/invoker.js.map +1 -1
- package/dist/ledgerCli.d.ts +1 -1
- package/dist/ledgerCli.d.ts.map +1 -1
- package/dist/ledgerCli.js +9 -3
- package/dist/ledgerCli.js.map +1 -1
- package/dist/ntfy.d.ts +3 -1
- package/dist/ntfy.d.ts.map +1 -1
- package/dist/ntfy.js +2 -1
- package/dist/ntfy.js.map +1 -1
- package/dist/playgroundCli.d.ts +8 -0
- package/dist/playgroundCli.d.ts.map +1 -0
- package/dist/playgroundCli.js +57 -0
- package/dist/playgroundCli.js.map +1 -0
- package/dist/receipt.d.ts +62 -0
- package/dist/receipt.d.ts.map +1 -0
- package/dist/receipt.js +117 -0
- package/dist/receipt.js.map +1 -0
- package/dist/receiptCli.d.ts +8 -0
- package/dist/receiptCli.d.ts.map +1 -0
- package/dist/receiptCli.js +87 -0
- package/dist/receiptCli.js.map +1 -0
- package/dist/roles.d.ts +9 -0
- package/dist/roles.d.ts.map +1 -0
- package/dist/roles.js +41 -0
- package/dist/roles.js.map +1 -0
- package/dist/startup.d.ts +9 -0
- package/dist/startup.d.ts.map +1 -1
- package/dist/startup.js +69 -7
- package/dist/startup.js.map +1 -1
- package/package.json +5 -4
- package/playground/fake-github.mjs +98 -0
- package/playground/fake-memory.mjs +130 -0
- package/playground/index.html +411 -0
- package/playground/playground.yaml +40 -0
- package/playground/server.mjs +290 -0
- package/src/approvals.ts +63 -26
- package/src/audit.ts +5 -0
- package/src/auditCli.ts +11 -8
- package/src/cli.ts +16 -1
- package/src/config.ts +54 -1
- package/src/elicitation.ts +69 -0
- package/src/gateway.ts +96 -9
- package/src/hooks/claudeCode.ts +13 -2
- package/src/hooks/run.ts +6 -3
- package/src/index.ts +5 -0
- package/src/init/presets.ts +54 -0
- package/src/invoker.ts +39 -2
- package/src/ledgerCli.ts +9 -3
- package/src/ntfy.ts +4 -1
- package/src/playgroundCli.ts +60 -0
- package/src/receipt.ts +148 -0
- package/src/receiptCli.ts +85 -0
- package/src/roles.ts +55 -0
- package/src/startup.ts +68 -6
package/dist/cli.js
CHANGED
|
@@ -8,6 +8,9 @@
|
|
|
8
8
|
* adtl-gateway hook --config adtl.yaml [--gateway-server adtl]
|
|
9
9
|
* adtl-gateway ledger stats|verify|declassify|declassified
|
|
10
10
|
* adtl-gateway audit verify [<file>]
|
|
11
|
+
* adtl-gateway receipt list|<session>|verify <file>
|
|
12
|
+
* adtl-gateway key
|
|
13
|
+
* adtl-gateway playground [--port 4317] [--no-open]
|
|
11
14
|
*
|
|
12
15
|
* Point your MCP client (e.g. Claude Code's .mcp.json) at this command.
|
|
13
16
|
* Logs go to stderr; stdout carries MCP JSON-RPC only.
|
|
@@ -16,6 +19,8 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
|
|
|
16
19
|
import { EnvExpansionError } from "./config.js";
|
|
17
20
|
import { GATEWAY_VERSION } from "./gateway.js";
|
|
18
21
|
import { runAuditCommand } from "./auditCli.js";
|
|
22
|
+
import { runKeyCommand, runReceiptCommand } from "./receiptCli.js";
|
|
23
|
+
import { runPlayground } from "./playgroundCli.js";
|
|
19
24
|
import { runHook } from "./hooks/run.js";
|
|
20
25
|
import { runLedgerCommand } from "./ledgerCli.js";
|
|
21
26
|
import { runInit } from "./init/run.js";
|
|
@@ -25,6 +30,9 @@ const USAGE = `Usage: adtl-gateway --config <adtl.yaml> [--audit]
|
|
|
25
30
|
adtl-gateway hook --config <adtl.yaml> [--gateway-server <name>]
|
|
26
31
|
adtl-gateway ledger stats|verify|declassify|declassified (see: adtl-gateway ledger --help)
|
|
27
32
|
adtl-gateway audit verify [<file>] (see: adtl-gateway audit --help)
|
|
33
|
+
adtl-gateway receipt list|<session>|verify <file> (see: adtl-gateway receipt --help)
|
|
34
|
+
adtl-gateway key
|
|
35
|
+
adtl-gateway playground [--port <n>] [--no-open] (a local web UI with fake servers)
|
|
28
36
|
|
|
29
37
|
Runs an MCP server over stdio that forwards tool calls to the upstream
|
|
30
38
|
servers in the config, checking and labeling each call with ADTL.
|
|
@@ -100,6 +108,14 @@ async function main() {
|
|
|
100
108
|
process.exitCode = r.exitCode;
|
|
101
109
|
return;
|
|
102
110
|
}
|
|
111
|
+
if (process.argv[2] === "playground")
|
|
112
|
+
return runPlayground(process.argv.slice(3));
|
|
113
|
+
if (process.argv[2] === "receipt" || process.argv[2] === "key") {
|
|
114
|
+
const r = process.argv[2] === "key" ? await runKeyCommand() : await runReceiptCommand(process.argv.slice(3));
|
|
115
|
+
console.log(r.stdout);
|
|
116
|
+
process.exitCode = r.exitCode;
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
103
119
|
const args = parseArgs(process.argv.slice(2));
|
|
104
120
|
// --help and --version print to stdout and exit; MCP is never served in these modes.
|
|
105
121
|
if (args.help)
|
|
@@ -202,7 +218,7 @@ async function init(path, write, from) {
|
|
|
202
218
|
process.exitCode = 1;
|
|
203
219
|
}
|
|
204
220
|
main().catch((err) => {
|
|
205
|
-
const known = err instanceof GatewayConfigError || err instanceof EnvExpansionError || ["ledger", "audit"].includes(process.argv[2] ?? "");
|
|
221
|
+
const known = err instanceof GatewayConfigError || err instanceof EnvExpansionError || ["ledger", "audit", "receipt", "key", "playground"].includes(process.argv[2] ?? "");
|
|
206
222
|
console.error(known ? `[adtl-gateway] ${err.message}` : err);
|
|
207
223
|
// For Claude Code hooks only exit code 2 stops the call; any other code lets it run.
|
|
208
224
|
process.exit(process.argv[2] === "hook" ? 2 : 1);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -12,15 +12,21 @@
|
|
|
12
12
|
* docs:
|
|
13
13
|
* url: https://example.com/mcp
|
|
14
14
|
* headers: { Authorization: "Bearer ${DOCS_TOKEN}" }
|
|
15
|
+
* principal: { id: "${USER}" } # optional: who runs this gateway (default: anonymous)
|
|
16
|
+
* roles: # optional: who may use which tools (deny by default)
|
|
17
|
+
* maintainers: { members: [alice], tools: ["github.*"] }
|
|
18
|
+
* readers: { members: ["*"], tools: ["github.read_*", "github.get_*"] }
|
|
15
19
|
* approvals: # optional: make "ask" really ask
|
|
16
20
|
* timeoutSeconds: 50
|
|
17
21
|
* ntfy: { topic: "${ADTL_NTFY_TOPIC}" }
|
|
22
|
+
* approvers: # optional: each approver's own channel (policy rule `approvers:`)
|
|
23
|
+
* alice: { ntfy: { topic: "${ALICE_NTFY_TOPIC}" } }
|
|
18
24
|
* email:
|
|
19
25
|
* smtp: { host: smtp.example.com, port: 465, user: "${SMTP_USER}", pass: "${SMTP_PASS}" }
|
|
20
26
|
* from: adtl@example.com
|
|
21
27
|
* to: you@example.com
|
|
22
28
|
*
|
|
23
|
-
* `${VAR}` in command, args, env, cwd, url, headers
|
|
29
|
+
* `${VAR}` in command, args, env, cwd, url, headers, approval settings and principal.id is
|
|
24
30
|
* replaced from the gateway's environment. A missing variable is a config error,
|
|
25
31
|
* unless a default is given: `${VAR:-default}`.
|
|
26
32
|
*/
|
|
@@ -108,14 +114,14 @@ export declare const EmailConfigSchema: z.ZodObject<{
|
|
|
108
114
|
}, "strict", z.ZodTypeAny, {
|
|
109
115
|
host: string;
|
|
110
116
|
port: number;
|
|
111
|
-
secure?: boolean | undefined;
|
|
112
117
|
user?: string | undefined;
|
|
118
|
+
secure?: boolean | undefined;
|
|
113
119
|
pass?: string | undefined;
|
|
114
120
|
}, {
|
|
115
121
|
host: string;
|
|
122
|
+
user?: string | undefined;
|
|
116
123
|
port?: number | undefined;
|
|
117
124
|
secure?: boolean | undefined;
|
|
118
|
-
user?: string | undefined;
|
|
119
125
|
pass?: string | undefined;
|
|
120
126
|
}>;
|
|
121
127
|
from: z.ZodString;
|
|
@@ -126,8 +132,8 @@ export declare const EmailConfigSchema: z.ZodObject<{
|
|
|
126
132
|
smtp: {
|
|
127
133
|
host: string;
|
|
128
134
|
port: number;
|
|
129
|
-
secure?: boolean | undefined;
|
|
130
135
|
user?: string | undefined;
|
|
136
|
+
secure?: boolean | undefined;
|
|
131
137
|
pass?: string | undefined;
|
|
132
138
|
};
|
|
133
139
|
from: string;
|
|
@@ -135,9 +141,9 @@ export declare const EmailConfigSchema: z.ZodObject<{
|
|
|
135
141
|
}, {
|
|
136
142
|
smtp: {
|
|
137
143
|
host: string;
|
|
144
|
+
user?: string | undefined;
|
|
138
145
|
port?: number | undefined;
|
|
139
146
|
secure?: boolean | undefined;
|
|
140
|
-
user?: string | undefined;
|
|
141
147
|
pass?: string | undefined;
|
|
142
148
|
};
|
|
143
149
|
from: string;
|
|
@@ -179,14 +185,14 @@ export declare const ApprovalsConfigSchema: z.ZodObject<{
|
|
|
179
185
|
}, "strict", z.ZodTypeAny, {
|
|
180
186
|
host: string;
|
|
181
187
|
port: number;
|
|
182
|
-
secure?: boolean | undefined;
|
|
183
188
|
user?: string | undefined;
|
|
189
|
+
secure?: boolean | undefined;
|
|
184
190
|
pass?: string | undefined;
|
|
185
191
|
}, {
|
|
186
192
|
host: string;
|
|
193
|
+
user?: string | undefined;
|
|
187
194
|
port?: number | undefined;
|
|
188
195
|
secure?: boolean | undefined;
|
|
189
|
-
user?: string | undefined;
|
|
190
196
|
pass?: string | undefined;
|
|
191
197
|
}>;
|
|
192
198
|
from: z.ZodString;
|
|
@@ -197,8 +203,8 @@ export declare const ApprovalsConfigSchema: z.ZodObject<{
|
|
|
197
203
|
smtp: {
|
|
198
204
|
host: string;
|
|
199
205
|
port: number;
|
|
200
|
-
secure?: boolean | undefined;
|
|
201
206
|
user?: string | undefined;
|
|
207
|
+
secure?: boolean | undefined;
|
|
202
208
|
pass?: string | undefined;
|
|
203
209
|
};
|
|
204
210
|
from: string;
|
|
@@ -206,24 +212,76 @@ export declare const ApprovalsConfigSchema: z.ZodObject<{
|
|
|
206
212
|
}, {
|
|
207
213
|
smtp: {
|
|
208
214
|
host: string;
|
|
215
|
+
user?: string | undefined;
|
|
209
216
|
port?: number | undefined;
|
|
210
217
|
secure?: boolean | undefined;
|
|
211
|
-
user?: string | undefined;
|
|
212
218
|
pass?: string | undefined;
|
|
213
219
|
};
|
|
214
220
|
from: string;
|
|
215
221
|
to: string | [string, ...string[]];
|
|
216
222
|
on?: ["approved" | "denied" | "timeout" | "undeliverable" | "pending" | "blocked", ...("approved" | "denied" | "timeout" | "undeliverable" | "pending" | "blocked")[]] | undefined;
|
|
217
223
|
}>>;
|
|
224
|
+
/**
|
|
225
|
+
* Also ask in the MCP client (elicitation), when it supports it. Off by
|
|
226
|
+
* default: a client that accepts elicitations by itself would approve calls.
|
|
227
|
+
*/
|
|
228
|
+
elicitation: z.ZodDefault<z.ZodBoolean>;
|
|
229
|
+
/**
|
|
230
|
+
* Each approver's own channel, by principal id. Policy rules with
|
|
231
|
+
* `approvers: [role]` ask only these people, so the answer names who approved.
|
|
232
|
+
*/
|
|
233
|
+
approvers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
234
|
+
ntfy: z.ZodObject<{
|
|
235
|
+
server: z.ZodDefault<z.ZodString>;
|
|
236
|
+
/** Topic approval requests are sent to. Anyone who can read it can approve: keep it secret. */
|
|
237
|
+
topic: z.ZodString;
|
|
238
|
+
/** Topic answers are posted to. Default: `<topic>-reply`. */
|
|
239
|
+
replyTopic: z.ZodOptional<z.ZodString>;
|
|
240
|
+
token: z.ZodOptional<z.ZodString>;
|
|
241
|
+
}, "strict", z.ZodTypeAny, {
|
|
242
|
+
server: string;
|
|
243
|
+
topic: string;
|
|
244
|
+
replyTopic?: string | undefined;
|
|
245
|
+
token?: string | undefined;
|
|
246
|
+
}, {
|
|
247
|
+
topic: string;
|
|
248
|
+
server?: string | undefined;
|
|
249
|
+
replyTopic?: string | undefined;
|
|
250
|
+
token?: string | undefined;
|
|
251
|
+
}>;
|
|
252
|
+
}, "strict", z.ZodTypeAny, {
|
|
253
|
+
ntfy: {
|
|
254
|
+
server: string;
|
|
255
|
+
topic: string;
|
|
256
|
+
replyTopic?: string | undefined;
|
|
257
|
+
token?: string | undefined;
|
|
258
|
+
};
|
|
259
|
+
}, {
|
|
260
|
+
ntfy: {
|
|
261
|
+
topic: string;
|
|
262
|
+
server?: string | undefined;
|
|
263
|
+
replyTopic?: string | undefined;
|
|
264
|
+
token?: string | undefined;
|
|
265
|
+
};
|
|
266
|
+
}>>>;
|
|
218
267
|
}, "strict", z.ZodTypeAny, {
|
|
219
268
|
timeoutSeconds: number;
|
|
269
|
+
elicitation: boolean;
|
|
270
|
+
approvers?: Record<string, {
|
|
271
|
+
ntfy: {
|
|
272
|
+
server: string;
|
|
273
|
+
topic: string;
|
|
274
|
+
replyTopic?: string | undefined;
|
|
275
|
+
token?: string | undefined;
|
|
276
|
+
};
|
|
277
|
+
}> | undefined;
|
|
220
278
|
email?: {
|
|
221
279
|
on: ["approved" | "denied" | "timeout" | "undeliverable" | "pending" | "blocked", ...("approved" | "denied" | "timeout" | "undeliverable" | "pending" | "blocked")[]];
|
|
222
280
|
smtp: {
|
|
223
281
|
host: string;
|
|
224
282
|
port: number;
|
|
225
|
-
secure?: boolean | undefined;
|
|
226
283
|
user?: string | undefined;
|
|
284
|
+
secure?: boolean | undefined;
|
|
227
285
|
pass?: string | undefined;
|
|
228
286
|
};
|
|
229
287
|
from: string;
|
|
@@ -236,12 +294,20 @@ export declare const ApprovalsConfigSchema: z.ZodObject<{
|
|
|
236
294
|
token?: string | undefined;
|
|
237
295
|
} | undefined;
|
|
238
296
|
}, {
|
|
297
|
+
approvers?: Record<string, {
|
|
298
|
+
ntfy: {
|
|
299
|
+
topic: string;
|
|
300
|
+
server?: string | undefined;
|
|
301
|
+
replyTopic?: string | undefined;
|
|
302
|
+
token?: string | undefined;
|
|
303
|
+
};
|
|
304
|
+
}> | undefined;
|
|
239
305
|
email?: {
|
|
240
306
|
smtp: {
|
|
241
307
|
host: string;
|
|
308
|
+
user?: string | undefined;
|
|
242
309
|
port?: number | undefined;
|
|
243
310
|
secure?: boolean | undefined;
|
|
244
|
-
user?: string | undefined;
|
|
245
311
|
pass?: string | undefined;
|
|
246
312
|
};
|
|
247
313
|
from: string;
|
|
@@ -255,8 +321,52 @@ export declare const ApprovalsConfigSchema: z.ZodObject<{
|
|
|
255
321
|
replyTopic?: string | undefined;
|
|
256
322
|
token?: string | undefined;
|
|
257
323
|
} | undefined;
|
|
324
|
+
elicitation?: boolean | undefined;
|
|
258
325
|
}>;
|
|
259
326
|
export type ApprovalsConfig = z.infer<typeof ApprovalsConfigSchema>;
|
|
327
|
+
export declare const PrincipalConfigSchema: z.ZodObject<{
|
|
328
|
+
type: z.ZodDefault<z.ZodEnum<["user", "service"]>>;
|
|
329
|
+
id: z.ZodString;
|
|
330
|
+
claims: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
331
|
+
}, "strict", z.ZodTypeAny, {
|
|
332
|
+
id: string;
|
|
333
|
+
type: "user" | "service";
|
|
334
|
+
claims?: Record<string, unknown> | undefined;
|
|
335
|
+
}, {
|
|
336
|
+
id: string;
|
|
337
|
+
type?: "user" | "service" | undefined;
|
|
338
|
+
claims?: Record<string, unknown> | undefined;
|
|
339
|
+
}>;
|
|
340
|
+
export type PrincipalConfig = z.infer<typeof PrincipalConfigSchema>;
|
|
341
|
+
export declare const RoleSchema: z.ZodEffects<z.ZodObject<{
|
|
342
|
+
/** Principal ids; "*" means everyone, including an anonymous caller. */
|
|
343
|
+
members: z.ZodArray<z.ZodString, "atleastone">;
|
|
344
|
+
tools: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
|
|
345
|
+
prompts: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
|
|
346
|
+
/** Resource URI patterns, e.g. "github://acme/*". */
|
|
347
|
+
resources: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
348
|
+
}, "strict", z.ZodTypeAny, {
|
|
349
|
+
members: [string, ...string[]];
|
|
350
|
+
tools: string[];
|
|
351
|
+
prompts: string[];
|
|
352
|
+
resources: string[];
|
|
353
|
+
}, {
|
|
354
|
+
members: [string, ...string[]];
|
|
355
|
+
tools?: string[] | undefined;
|
|
356
|
+
prompts?: string[] | undefined;
|
|
357
|
+
resources?: string[] | undefined;
|
|
358
|
+
}>, {
|
|
359
|
+
members: [string, ...string[]];
|
|
360
|
+
tools: string[];
|
|
361
|
+
prompts: string[];
|
|
362
|
+
resources: string[];
|
|
363
|
+
}, {
|
|
364
|
+
members: [string, ...string[]];
|
|
365
|
+
tools?: string[] | undefined;
|
|
366
|
+
prompts?: string[] | undefined;
|
|
367
|
+
resources?: string[] | undefined;
|
|
368
|
+
}>;
|
|
369
|
+
export type RoleConfig = z.infer<typeof RoleSchema>;
|
|
260
370
|
export declare const GatewayConfigSchema: z.ZodObject<{
|
|
261
371
|
upstreams: z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
|
|
262
372
|
command: z.ZodString;
|
|
@@ -375,14 +485,14 @@ export declare const GatewayConfigSchema: z.ZodObject<{
|
|
|
375
485
|
}, "strict", z.ZodTypeAny, {
|
|
376
486
|
host: string;
|
|
377
487
|
port: number;
|
|
378
|
-
secure?: boolean | undefined;
|
|
379
488
|
user?: string | undefined;
|
|
489
|
+
secure?: boolean | undefined;
|
|
380
490
|
pass?: string | undefined;
|
|
381
491
|
}, {
|
|
382
492
|
host: string;
|
|
493
|
+
user?: string | undefined;
|
|
383
494
|
port?: number | undefined;
|
|
384
495
|
secure?: boolean | undefined;
|
|
385
|
-
user?: string | undefined;
|
|
386
496
|
pass?: string | undefined;
|
|
387
497
|
}>;
|
|
388
498
|
from: z.ZodString;
|
|
@@ -393,8 +503,8 @@ export declare const GatewayConfigSchema: z.ZodObject<{
|
|
|
393
503
|
smtp: {
|
|
394
504
|
host: string;
|
|
395
505
|
port: number;
|
|
396
|
-
secure?: boolean | undefined;
|
|
397
506
|
user?: string | undefined;
|
|
507
|
+
secure?: boolean | undefined;
|
|
398
508
|
pass?: string | undefined;
|
|
399
509
|
};
|
|
400
510
|
from: string;
|
|
@@ -402,24 +512,76 @@ export declare const GatewayConfigSchema: z.ZodObject<{
|
|
|
402
512
|
}, {
|
|
403
513
|
smtp: {
|
|
404
514
|
host: string;
|
|
515
|
+
user?: string | undefined;
|
|
405
516
|
port?: number | undefined;
|
|
406
517
|
secure?: boolean | undefined;
|
|
407
|
-
user?: string | undefined;
|
|
408
518
|
pass?: string | undefined;
|
|
409
519
|
};
|
|
410
520
|
from: string;
|
|
411
521
|
to: string | [string, ...string[]];
|
|
412
522
|
on?: ["approved" | "denied" | "timeout" | "undeliverable" | "pending" | "blocked", ...("approved" | "denied" | "timeout" | "undeliverable" | "pending" | "blocked")[]] | undefined;
|
|
413
523
|
}>>;
|
|
524
|
+
/**
|
|
525
|
+
* Also ask in the MCP client (elicitation), when it supports it. Off by
|
|
526
|
+
* default: a client that accepts elicitations by itself would approve calls.
|
|
527
|
+
*/
|
|
528
|
+
elicitation: z.ZodDefault<z.ZodBoolean>;
|
|
529
|
+
/**
|
|
530
|
+
* Each approver's own channel, by principal id. Policy rules with
|
|
531
|
+
* `approvers: [role]` ask only these people, so the answer names who approved.
|
|
532
|
+
*/
|
|
533
|
+
approvers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
534
|
+
ntfy: z.ZodObject<{
|
|
535
|
+
server: z.ZodDefault<z.ZodString>;
|
|
536
|
+
/** Topic approval requests are sent to. Anyone who can read it can approve: keep it secret. */
|
|
537
|
+
topic: z.ZodString;
|
|
538
|
+
/** Topic answers are posted to. Default: `<topic>-reply`. */
|
|
539
|
+
replyTopic: z.ZodOptional<z.ZodString>;
|
|
540
|
+
token: z.ZodOptional<z.ZodString>;
|
|
541
|
+
}, "strict", z.ZodTypeAny, {
|
|
542
|
+
server: string;
|
|
543
|
+
topic: string;
|
|
544
|
+
replyTopic?: string | undefined;
|
|
545
|
+
token?: string | undefined;
|
|
546
|
+
}, {
|
|
547
|
+
topic: string;
|
|
548
|
+
server?: string | undefined;
|
|
549
|
+
replyTopic?: string | undefined;
|
|
550
|
+
token?: string | undefined;
|
|
551
|
+
}>;
|
|
552
|
+
}, "strict", z.ZodTypeAny, {
|
|
553
|
+
ntfy: {
|
|
554
|
+
server: string;
|
|
555
|
+
topic: string;
|
|
556
|
+
replyTopic?: string | undefined;
|
|
557
|
+
token?: string | undefined;
|
|
558
|
+
};
|
|
559
|
+
}, {
|
|
560
|
+
ntfy: {
|
|
561
|
+
topic: string;
|
|
562
|
+
server?: string | undefined;
|
|
563
|
+
replyTopic?: string | undefined;
|
|
564
|
+
token?: string | undefined;
|
|
565
|
+
};
|
|
566
|
+
}>>>;
|
|
414
567
|
}, "strict", z.ZodTypeAny, {
|
|
415
568
|
timeoutSeconds: number;
|
|
569
|
+
elicitation: boolean;
|
|
570
|
+
approvers?: Record<string, {
|
|
571
|
+
ntfy: {
|
|
572
|
+
server: string;
|
|
573
|
+
topic: string;
|
|
574
|
+
replyTopic?: string | undefined;
|
|
575
|
+
token?: string | undefined;
|
|
576
|
+
};
|
|
577
|
+
}> | undefined;
|
|
416
578
|
email?: {
|
|
417
579
|
on: ["approved" | "denied" | "timeout" | "undeliverable" | "pending" | "blocked", ...("approved" | "denied" | "timeout" | "undeliverable" | "pending" | "blocked")[]];
|
|
418
580
|
smtp: {
|
|
419
581
|
host: string;
|
|
420
582
|
port: number;
|
|
421
|
-
secure?: boolean | undefined;
|
|
422
583
|
user?: string | undefined;
|
|
584
|
+
secure?: boolean | undefined;
|
|
423
585
|
pass?: string | undefined;
|
|
424
586
|
};
|
|
425
587
|
from: string;
|
|
@@ -432,12 +594,20 @@ export declare const GatewayConfigSchema: z.ZodObject<{
|
|
|
432
594
|
token?: string | undefined;
|
|
433
595
|
} | undefined;
|
|
434
596
|
}, {
|
|
597
|
+
approvers?: Record<string, {
|
|
598
|
+
ntfy: {
|
|
599
|
+
topic: string;
|
|
600
|
+
server?: string | undefined;
|
|
601
|
+
replyTopic?: string | undefined;
|
|
602
|
+
token?: string | undefined;
|
|
603
|
+
};
|
|
604
|
+
}> | undefined;
|
|
435
605
|
email?: {
|
|
436
606
|
smtp: {
|
|
437
607
|
host: string;
|
|
608
|
+
user?: string | undefined;
|
|
438
609
|
port?: number | undefined;
|
|
439
610
|
secure?: boolean | undefined;
|
|
440
|
-
user?: string | undefined;
|
|
441
611
|
pass?: string | undefined;
|
|
442
612
|
};
|
|
443
613
|
from: string;
|
|
@@ -451,10 +621,65 @@ export declare const GatewayConfigSchema: z.ZodObject<{
|
|
|
451
621
|
replyTopic?: string | undefined;
|
|
452
622
|
token?: string | undefined;
|
|
453
623
|
} | undefined;
|
|
624
|
+
elicitation?: boolean | undefined;
|
|
454
625
|
}>>;
|
|
455
626
|
/** Timeout for each interceptor invocation, in milliseconds. */
|
|
456
627
|
interceptorTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
628
|
+
/** Who runs this gateway. Passed to the authorizer and the interceptors. Default: anonymous. */
|
|
629
|
+
principal: z.ZodOptional<z.ZodObject<{
|
|
630
|
+
type: z.ZodDefault<z.ZodEnum<["user", "service"]>>;
|
|
631
|
+
id: z.ZodString;
|
|
632
|
+
claims: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
633
|
+
}, "strict", z.ZodTypeAny, {
|
|
634
|
+
id: string;
|
|
635
|
+
type: "user" | "service";
|
|
636
|
+
claims?: Record<string, unknown> | undefined;
|
|
637
|
+
}, {
|
|
638
|
+
id: string;
|
|
639
|
+
type?: "user" | "service" | undefined;
|
|
640
|
+
claims?: Record<string, unknown> | undefined;
|
|
641
|
+
}>>;
|
|
642
|
+
/** Role-based authorization: when present, a call no role grants is denied. */
|
|
643
|
+
roles: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodObject<{
|
|
644
|
+
/** Principal ids; "*" means everyone, including an anonymous caller. */
|
|
645
|
+
members: z.ZodArray<z.ZodString, "atleastone">;
|
|
646
|
+
tools: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
|
|
647
|
+
prompts: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
|
|
648
|
+
/** Resource URI patterns, e.g. "github://acme/*". */
|
|
649
|
+
resources: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
650
|
+
}, "strict", z.ZodTypeAny, {
|
|
651
|
+
members: [string, ...string[]];
|
|
652
|
+
tools: string[];
|
|
653
|
+
prompts: string[];
|
|
654
|
+
resources: string[];
|
|
655
|
+
}, {
|
|
656
|
+
members: [string, ...string[]];
|
|
657
|
+
tools?: string[] | undefined;
|
|
658
|
+
prompts?: string[] | undefined;
|
|
659
|
+
resources?: string[] | undefined;
|
|
660
|
+
}>, {
|
|
661
|
+
members: [string, ...string[]];
|
|
662
|
+
tools: string[];
|
|
663
|
+
prompts: string[];
|
|
664
|
+
resources: string[];
|
|
665
|
+
}, {
|
|
666
|
+
members: [string, ...string[]];
|
|
667
|
+
tools?: string[] | undefined;
|
|
668
|
+
prompts?: string[] | undefined;
|
|
669
|
+
resources?: string[] | undefined;
|
|
670
|
+
}>>, Record<string, {
|
|
671
|
+
members: [string, ...string[]];
|
|
672
|
+
tools: string[];
|
|
673
|
+
prompts: string[];
|
|
674
|
+
resources: string[];
|
|
675
|
+
}>, Record<string, {
|
|
676
|
+
members: [string, ...string[]];
|
|
677
|
+
tools?: string[] | undefined;
|
|
678
|
+
prompts?: string[] | undefined;
|
|
679
|
+
resources?: string[] | undefined;
|
|
680
|
+
}>>>;
|
|
457
681
|
}, "strict", z.ZodTypeAny, {
|
|
682
|
+
mode: "active" | "audit";
|
|
458
683
|
upstreams: Record<string, {
|
|
459
684
|
command: string;
|
|
460
685
|
args: string[];
|
|
@@ -464,7 +689,6 @@ export declare const GatewayConfigSchema: z.ZodObject<{
|
|
|
464
689
|
url: string;
|
|
465
690
|
headers: Record<string, string>;
|
|
466
691
|
}>;
|
|
467
|
-
mode: "audit" | "active";
|
|
468
692
|
interceptorTimeoutMs: number;
|
|
469
693
|
audit?: string | undefined;
|
|
470
694
|
interceptors?: {
|
|
@@ -473,15 +697,29 @@ export declare const GatewayConfigSchema: z.ZodObject<{
|
|
|
473
697
|
env: Record<string, string>;
|
|
474
698
|
cwd?: string | undefined;
|
|
475
699
|
} | undefined;
|
|
700
|
+
principal?: {
|
|
701
|
+
id: string;
|
|
702
|
+
type: "user" | "service";
|
|
703
|
+
claims?: Record<string, unknown> | undefined;
|
|
704
|
+
} | undefined;
|
|
476
705
|
approvals?: {
|
|
477
706
|
timeoutSeconds: number;
|
|
707
|
+
elicitation: boolean;
|
|
708
|
+
approvers?: Record<string, {
|
|
709
|
+
ntfy: {
|
|
710
|
+
server: string;
|
|
711
|
+
topic: string;
|
|
712
|
+
replyTopic?: string | undefined;
|
|
713
|
+
token?: string | undefined;
|
|
714
|
+
};
|
|
715
|
+
}> | undefined;
|
|
478
716
|
email?: {
|
|
479
717
|
on: ["approved" | "denied" | "timeout" | "undeliverable" | "pending" | "blocked", ...("approved" | "denied" | "timeout" | "undeliverable" | "pending" | "blocked")[]];
|
|
480
718
|
smtp: {
|
|
481
719
|
host: string;
|
|
482
720
|
port: number;
|
|
483
|
-
secure?: boolean | undefined;
|
|
484
721
|
user?: string | undefined;
|
|
722
|
+
secure?: boolean | undefined;
|
|
485
723
|
pass?: string | undefined;
|
|
486
724
|
};
|
|
487
725
|
from: string;
|
|
@@ -494,6 +732,12 @@ export declare const GatewayConfigSchema: z.ZodObject<{
|
|
|
494
732
|
token?: string | undefined;
|
|
495
733
|
} | undefined;
|
|
496
734
|
} | undefined;
|
|
735
|
+
roles?: Record<string, {
|
|
736
|
+
members: [string, ...string[]];
|
|
737
|
+
tools: string[];
|
|
738
|
+
prompts: string[];
|
|
739
|
+
resources: string[];
|
|
740
|
+
}> | undefined;
|
|
497
741
|
}, {
|
|
498
742
|
upstreams: Record<string, {
|
|
499
743
|
command: string;
|
|
@@ -504,6 +748,7 @@ export declare const GatewayConfigSchema: z.ZodObject<{
|
|
|
504
748
|
url: string;
|
|
505
749
|
headers?: Record<string, string> | undefined;
|
|
506
750
|
}>;
|
|
751
|
+
mode?: "active" | "audit" | undefined;
|
|
507
752
|
audit?: string | undefined;
|
|
508
753
|
interceptors?: {
|
|
509
754
|
command: string;
|
|
@@ -511,14 +756,26 @@ export declare const GatewayConfigSchema: z.ZodObject<{
|
|
|
511
756
|
env?: Record<string, string> | undefined;
|
|
512
757
|
cwd?: string | undefined;
|
|
513
758
|
} | undefined;
|
|
514
|
-
|
|
759
|
+
principal?: {
|
|
760
|
+
id: string;
|
|
761
|
+
type?: "user" | "service" | undefined;
|
|
762
|
+
claims?: Record<string, unknown> | undefined;
|
|
763
|
+
} | undefined;
|
|
515
764
|
approvals?: {
|
|
765
|
+
approvers?: Record<string, {
|
|
766
|
+
ntfy: {
|
|
767
|
+
topic: string;
|
|
768
|
+
server?: string | undefined;
|
|
769
|
+
replyTopic?: string | undefined;
|
|
770
|
+
token?: string | undefined;
|
|
771
|
+
};
|
|
772
|
+
}> | undefined;
|
|
516
773
|
email?: {
|
|
517
774
|
smtp: {
|
|
518
775
|
host: string;
|
|
776
|
+
user?: string | undefined;
|
|
519
777
|
port?: number | undefined;
|
|
520
778
|
secure?: boolean | undefined;
|
|
521
|
-
user?: string | undefined;
|
|
522
779
|
pass?: string | undefined;
|
|
523
780
|
};
|
|
524
781
|
from: string;
|
|
@@ -532,8 +789,15 @@ export declare const GatewayConfigSchema: z.ZodObject<{
|
|
|
532
789
|
replyTopic?: string | undefined;
|
|
533
790
|
token?: string | undefined;
|
|
534
791
|
} | undefined;
|
|
792
|
+
elicitation?: boolean | undefined;
|
|
535
793
|
} | undefined;
|
|
536
794
|
interceptorTimeoutMs?: number | undefined;
|
|
795
|
+
roles?: Record<string, {
|
|
796
|
+
members: [string, ...string[]];
|
|
797
|
+
tools?: string[] | undefined;
|
|
798
|
+
prompts?: string[] | undefined;
|
|
799
|
+
resources?: string[] | undefined;
|
|
800
|
+
}> | undefined;
|
|
537
801
|
}>;
|
|
538
802
|
export type GatewayConfig = z.infer<typeof GatewayConfigSchema>;
|
|
539
803
|
export declare const TOOL_SEPARATOR = "__";
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|