@n24q02m/mcp-core 1.18.0-beta.2 → 1.18.0-beta.21

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 (55) hide show
  1. package/build/auth/credential-form.d.ts.map +1 -1
  2. package/build/auth/credential-form.js +9 -6
  3. package/build/auth/credential-form.js.map +1 -1
  4. package/build/auth/delegated-oauth-app.d.ts.map +1 -1
  5. package/build/auth/delegated-oauth-app.js +26 -10
  6. package/build/auth/delegated-oauth-app.js.map +1 -1
  7. package/build/auth/local-oauth-app.d.ts.map +1 -1
  8. package/build/auth/local-oauth-app.js +27 -11
  9. package/build/auth/local-oauth-app.js.map +1 -1
  10. package/build/auth/relay-login.d.ts.map +1 -1
  11. package/build/auth/relay-login.js +24 -22
  12. package/build/auth/relay-login.js.map +1 -1
  13. package/build/auth/well-known.d.ts.map +1 -1
  14. package/build/auth/well-known.js +1 -0
  15. package/build/auth/well-known.js.map +1 -1
  16. package/build/crypto/index.d.ts +1 -1
  17. package/build/crypto/index.d.ts.map +1 -1
  18. package/build/crypto/index.js +1 -1
  19. package/build/crypto/index.js.map +1 -1
  20. package/build/crypto/kdf.d.ts +13 -0
  21. package/build/crypto/kdf.d.ts.map +1 -1
  22. package/build/crypto/kdf.js +18 -0
  23. package/build/crypto/kdf.js.map +1 -1
  24. package/build/oauth/jwt-issuer.d.ts +58 -25
  25. package/build/oauth/jwt-issuer.d.ts.map +1 -1
  26. package/build/oauth/jwt-issuer.js +100 -31
  27. package/build/oauth/jwt-issuer.js.map +1 -1
  28. package/build/storage/backends.d.ts +56 -0
  29. package/build/storage/backends.d.ts.map +1 -0
  30. package/build/storage/backends.js +167 -0
  31. package/build/storage/backends.js.map +1 -0
  32. package/build/storage/encryption.js.map +1 -1
  33. package/build/storage/home-dir.d.ts +11 -0
  34. package/build/storage/home-dir.d.ts.map +1 -0
  35. package/build/storage/home-dir.js +18 -0
  36. package/build/storage/home-dir.js.map +1 -0
  37. package/build/storage/index.d.ts +1 -0
  38. package/build/storage/index.d.ts.map +1 -1
  39. package/build/storage/index.js +1 -0
  40. package/build/storage/index.js.map +1 -1
  41. package/build/storage/per-plugin-store.d.ts +5 -3
  42. package/build/storage/per-plugin-store.d.ts.map +1 -1
  43. package/build/storage/per-plugin-store.js +19 -28
  44. package/build/storage/per-plugin-store.js.map +1 -1
  45. package/build/transport/cache.js +5 -5
  46. package/build/transport/cache.js.map +1 -1
  47. package/build/transport/local-server.d.ts +3 -1
  48. package/build/transport/local-server.d.ts.map +1 -1
  49. package/build/transport/local-server.js +2 -2
  50. package/build/transport/local-server.js.map +1 -1
  51. package/build/transport/oauth-middleware.d.ts +2 -1
  52. package/build/transport/oauth-middleware.d.ts.map +1 -1
  53. package/build/transport/oauth-middleware.js +17 -5
  54. package/build/transport/oauth-middleware.js.map +1 -1
  55. package/package.json +9 -9
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Pluggable credential backends.
3
+ *
4
+ * A backend stores and retrieves OPAQUE ciphertext blobs keyed by a string.
5
+ * Encryption and key derivation live in PerPluginStore; backends never see
6
+ * plaintext. This seam lets MCP servers run serverless (e.g. Cloudflare Workers
7
+ * KV) while stdio/VM deployments keep the on-disk layout via LocalFsBackend.
8
+ */
9
+ /** Stores opaque ciphertext blobs keyed by a string. */
10
+ export interface CredentialBackend {
11
+ get(key: string): Promise<Buffer | null>;
12
+ put(key: string, blob: Buffer): Promise<void>;
13
+ delete(key: string): Promise<void>;
14
+ }
15
+ /** Map-backed backend, primarily for tests. */
16
+ export declare class InMemoryBackend implements CredentialBackend {
17
+ private store;
18
+ get(key: string): Promise<Buffer | null>;
19
+ put(key: string, blob: Buffer): Promise<void>;
20
+ delete(key: string): Promise<void>;
21
+ }
22
+ /** Stores blobs on local disk, preserving the per-plugin layout. */
23
+ export declare class LocalFsBackend implements CredentialBackend {
24
+ get(key: string): Promise<Buffer | null>;
25
+ put(key: string, blob: Buffer): Promise<void>;
26
+ delete(key: string): Promise<void>;
27
+ }
28
+ /** Minimal injectable HTTP client returning status + body. */
29
+ export interface Http {
30
+ request(method: string, url: string, data?: Buffer, headers?: Record<string, string>): Promise<{
31
+ status: number;
32
+ body: Buffer;
33
+ }>;
34
+ }
35
+ /**
36
+ * Stores blobs in a Cloudflare Workers KV namespace over HTTP.
37
+ *
38
+ * Error contract: 200 -> data, 404 -> absent (null for get, no-op for delete).
39
+ * Every other HTTP status, plus transport errors from the HTTP client, raises --
40
+ * failures are loud, never silently returned as data. Error messages carry the
41
+ * status only; never the token or the response body.
42
+ */
43
+ export declare class CfKvBackend implements CredentialBackend {
44
+ private readonly baseUrl;
45
+ private readonly token?;
46
+ private readonly http;
47
+ constructor(baseUrl: string, token?: string, http?: Http);
48
+ private url;
49
+ private headers;
50
+ get(key: string): Promise<Buffer | null>;
51
+ put(key: string, blob: Buffer): Promise<void>;
52
+ delete(key: string): Promise<void>;
53
+ }
54
+ /** Select a credential backend from the MCP_STORAGE_BACKEND env var. */
55
+ export declare function backendFromEnv(): CredentialBackend;
56
+ //# sourceMappingURL=backends.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backends.d.ts","sourceRoot":"","sources":["../../src/storage/backends.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,wDAAwD;AACxD,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACnC;AAED,+CAA+C;AAC/C,qBAAa,eAAgB,YAAW,iBAAiB;IACvD,OAAO,CAAC,KAAK,CAA4B;IAEnC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGzC;AA0CD,oEAAoE;AACpE,qBAAa,cAAe,YAAW,iBAAiB;IAChD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAQzC;AAED,8DAA8D;AAC9D,MAAM,WAAW,IAAI;IACnB,OAAO,CACL,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC7C;AAqBD;;;;;;;GAOG;AACH,qBAAa,WAAY,YAAW,iBAAiB;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAM;gBAEf,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,IAAgB;IAMnE,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,OAAO;IAIT,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAOxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMzC;AAED,wEAAwE;AACxE,wBAAgB,cAAc,IAAI,iBAAiB,CAWlD"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Pluggable credential backends.
3
+ *
4
+ * A backend stores and retrieves OPAQUE ciphertext blobs keyed by a string.
5
+ * Encryption and key derivation live in PerPluginStore; backends never see
6
+ * plaintext. This seam lets MCP servers run serverless (e.g. Cloudflare Workers
7
+ * KV) while stdio/VM deployments keep the on-disk layout via LocalFsBackend.
8
+ */
9
+ import { mkdir, readFile, unlink, writeFile } from 'node:fs/promises';
10
+ import { dirname, join, resolve, sep } from 'node:path';
11
+ import { getHomeDir } from './home-dir.js';
12
+ /** Map-backed backend, primarily for tests. */
13
+ export class InMemoryBackend {
14
+ constructor() {
15
+ this.store = new Map();
16
+ }
17
+ async get(key) {
18
+ return this.store.get(key) ?? null;
19
+ }
20
+ async put(key, blob) {
21
+ this.store.set(key, blob);
22
+ }
23
+ async delete(key) {
24
+ this.store.delete(key);
25
+ }
26
+ }
27
+ function validateComponent(name) {
28
+ if (!name || name === '.' || name === '..' || name.includes('/') || name.includes('\\') || name.includes('\x00')) {
29
+ throw new Error(`Invalid path component: ${name}`);
30
+ }
31
+ return name;
32
+ }
33
+ /**
34
+ * Map a backend key to its on-disk path.
35
+ *
36
+ * "<plugin>/config" -> ~/.<plugin>-mcp/config.json
37
+ * "<plugin>/subs/<sub>/config" -> ~/.<plugin>-mcp/subs/<sub>/config.json
38
+ */
39
+ function keyToPath(key) {
40
+ const slash = key.indexOf('/');
41
+ const plugin = slash === -1 ? key : key.slice(0, slash);
42
+ const rest = slash === -1 ? '' : key.slice(slash + 1);
43
+ validateComponent(plugin);
44
+ const base = join(getHomeDir(), `.${plugin}-mcp`);
45
+ let path;
46
+ if (rest === 'config') {
47
+ path = join(base, 'config.json');
48
+ }
49
+ else if (rest.startsWith('subs/') && rest.endsWith('/config')) {
50
+ const sub = rest.slice('subs/'.length, -'/config'.length);
51
+ validateComponent(sub);
52
+ path = join(base, 'subs', sub, 'config.json');
53
+ }
54
+ else {
55
+ throw new Error(`Invalid backend key: ${key}`);
56
+ }
57
+ // Defense-in-depth: validateComponent already rejects separators/./../empty/NUL.
58
+ const baseResolved = resolve(base);
59
+ const pathResolved = resolve(path);
60
+ if (pathResolved !== baseResolved && !pathResolved.startsWith(baseResolved + sep)) {
61
+ throw new Error(`Path escapes base: ${key}`);
62
+ }
63
+ return path;
64
+ }
65
+ /** Stores blobs on local disk, preserving the per-plugin layout. */
66
+ export class LocalFsBackend {
67
+ async get(key) {
68
+ const path = keyToPath(key);
69
+ try {
70
+ return await readFile(path);
71
+ }
72
+ catch (err) {
73
+ if (err.code === 'ENOENT')
74
+ return null;
75
+ throw err;
76
+ }
77
+ }
78
+ async put(key, blob) {
79
+ const path = keyToPath(key);
80
+ await mkdir(dirname(path), { recursive: true, mode: 0o700 });
81
+ await writeFile(path, blob, { mode: 0o600 });
82
+ }
83
+ async delete(key) {
84
+ const path = keyToPath(key);
85
+ try {
86
+ await unlink(path);
87
+ }
88
+ catch (err) {
89
+ if (err.code !== 'ENOENT')
90
+ throw err;
91
+ }
92
+ }
93
+ }
94
+ /**
95
+ * Default HTTP implementation over global fetch.
96
+ *
97
+ * fetch resolves on 4xx/5xx and rejects only on network error, so status checks
98
+ * in CfKvBackend handle HTTP errors while transport errors propagate -- matching
99
+ * the Python httpx client behavior.
100
+ */
101
+ const fetchHttp = {
102
+ async request(method, url, data, headers) {
103
+ const resp = await fetch(url, {
104
+ method,
105
+ body: data ? new Uint8Array(data) : undefined,
106
+ headers
107
+ });
108
+ const body = Buffer.from(await resp.arrayBuffer());
109
+ return { status: resp.status, body };
110
+ }
111
+ };
112
+ /**
113
+ * Stores blobs in a Cloudflare Workers KV namespace over HTTP.
114
+ *
115
+ * Error contract: 200 -> data, 404 -> absent (null for get, no-op for delete).
116
+ * Every other HTTP status, plus transport errors from the HTTP client, raises --
117
+ * failures are loud, never silently returned as data. Error messages carry the
118
+ * status only; never the token or the response body.
119
+ */
120
+ export class CfKvBackend {
121
+ constructor(baseUrl, token, http = fetchHttp) {
122
+ this.baseUrl = baseUrl.replace(/\/+$/, '');
123
+ this.token = token;
124
+ this.http = http;
125
+ }
126
+ url(key) {
127
+ return `${this.baseUrl}/${encodeURIComponent(key)}`;
128
+ }
129
+ headers() {
130
+ return this.token ? { Authorization: `Bearer ${this.token}` } : {};
131
+ }
132
+ async get(key) {
133
+ const { status, body } = await this.http.request('GET', this.url(key), undefined, this.headers());
134
+ if (status === 200)
135
+ return body;
136
+ if (status === 404)
137
+ return null;
138
+ throw new Error(`CfKvBackend get failed: HTTP ${status}`);
139
+ }
140
+ async put(key, blob) {
141
+ const { status } = await this.http.request('PUT', this.url(key), blob, this.headers());
142
+ if (status !== 200 && status !== 204) {
143
+ throw new Error(`CfKvBackend put failed: HTTP ${status}`);
144
+ }
145
+ }
146
+ async delete(key) {
147
+ const { status } = await this.http.request('DELETE', this.url(key), undefined, this.headers());
148
+ if (status !== 200 && status !== 204 && status !== 404) {
149
+ throw new Error(`CfKvBackend delete failed: HTTP ${status}`);
150
+ }
151
+ }
152
+ }
153
+ /** Select a credential backend from the MCP_STORAGE_BACKEND env var. */
154
+ export function backendFromEnv() {
155
+ const kind = (process.env.MCP_STORAGE_BACKEND ?? 'local').toLowerCase();
156
+ if (kind === 'local' || kind === 'local-fs' || kind === '') {
157
+ return new LocalFsBackend();
158
+ }
159
+ if (kind === 'cf-kv') {
160
+ const baseUrl = process.env.MCP_KV_BASE_URL;
161
+ if (!baseUrl)
162
+ throw new Error('MCP_KV_BASE_URL is required when MCP_STORAGE_BACKEND=cf-kv');
163
+ return new CfKvBackend(baseUrl, process.env.MCP_KV_TOKEN);
164
+ }
165
+ throw new Error(`Unknown MCP_STORAGE_BACKEND: ${kind}`);
166
+ }
167
+ //# sourceMappingURL=backends.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backends.js","sourceRoot":"","sources":["../../src/storage/backends.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../src/storage/encryption.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;AACjC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;AAEjC,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;AAC7D,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;AACpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAA;AACxC,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAA;AAE/C,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAiB,EACjB,QAAgB,EAChB,IAAgB,EAChB,aAAqB,iBAAiB;IAEtC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAC/C,KAAK,EACL,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC,EAC1C,QAAQ,EACR,KAAK,EACL,CAAC,WAAW,CAAC,CACd,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAC5B,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAW,EAAE,UAAU,EAAE,EAClE,WAAW,EACX,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,EAChC,KAAK,EACL,CAAC,SAAS,EAAE,SAAS,CAAC,CACvB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAkB,EAClB,IAAgB,EAChB,aAAqB,iBAAiB;IAEtC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IACpH,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAC5B,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAW,EAAE,UAAU,EAAE,EAClE,WAAW,EACX,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,EAChC,KAAK,EACL,CAAC,SAAS,EAAE,SAAS,CAAC,CACvB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAc,EAAE,SAAiB;IACjE,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;IACrD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;IACtG,uCAAuC;IACvC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAc,EAAE,IAAY;IAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACpC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAC3C,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAC3C,GAAG,EACH,IAAI,UAAU,CAAC,UAAU,CAAC,CAC3B,CAAA;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;AAClC,CAAC"}
1
+ {"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../src/storage/encryption.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Shared home-directory resolution with a testing override.
3
+ *
4
+ * Extracted out of per-plugin-store.ts so that both PerPluginStore and the
5
+ * LocalFsBackend in backends.ts can honor the same override without a circular
6
+ * value import (per-plugin-store imports backendFromEnv from backends).
7
+ */
8
+ /** Override the home directory used by storage modules. Pass null to reset. */
9
+ export declare function setHomeDirForTesting(dir: string | null): void;
10
+ export declare function getHomeDir(): string;
11
+ //# sourceMappingURL=home-dir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home-dir.d.ts","sourceRoot":"","sources":["../../src/storage/home-dir.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAE7D;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Shared home-directory resolution with a testing override.
3
+ *
4
+ * Extracted out of per-plugin-store.ts so that both PerPluginStore and the
5
+ * LocalFsBackend in backends.ts can honor the same override without a circular
6
+ * value import (per-plugin-store imports backendFromEnv from backends).
7
+ */
8
+ import { homedir } from 'node:os';
9
+ // Module-level override for testing.
10
+ let homeDirOverride = null;
11
+ /** Override the home directory used by storage modules. Pass null to reset. */
12
+ export function setHomeDirForTesting(dir) {
13
+ homeDirOverride = dir;
14
+ }
15
+ export function getHomeDir() {
16
+ return homeDirOverride ?? homedir();
17
+ }
18
+ //# sourceMappingURL=home-dir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home-dir.js","sourceRoot":"","sources":["../../src/storage/home-dir.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEjC,qCAAqC;AACrC,IAAI,eAAe,GAAkB,IAAI,CAAA;AAEzC,+EAA+E;AAC/E,MAAM,UAAU,oBAAoB,CAAC,GAAkB;IACrD,eAAe,GAAG,GAAG,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,eAAe,IAAI,OAAO,EAAE,CAAA;AACrC,CAAC"}
@@ -1,3 +1,4 @@
1
+ export { backendFromEnv, CfKvBackend, type CredentialBackend, InMemoryBackend, LocalFsBackend } from './backends.js';
1
2
  export { deleteConfig, exportConfig, importConfig, listConfigs, readConfig, setConfigPath, writeConfig } from './config-file.js';
2
3
  export { decryptData, deriveFileKey, derivePassphraseKey, encryptData } from './encryption.js';
3
4
  export { getMachineId, getUsername } from './machine-id.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EACb,WAAW,EACZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC9F,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACtF,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACrF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,WAAW,EAChB,UAAU,EACV,gBAAgB,EACjB,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,EACX,KAAK,iBAAiB,EACtB,eAAe,EACf,cAAc,EACf,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EACb,WAAW,EACZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC9F,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACtF,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACrF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,WAAW,EAChB,UAAU,EACV,gBAAgB,EACjB,MAAM,mBAAmB,CAAA"}
@@ -1,3 +1,4 @@
1
+ export { backendFromEnv, CfKvBackend, InMemoryBackend, LocalFsBackend } from './backends.js';
1
2
  export { deleteConfig, exportConfig, importConfig, listConfigs, readConfig, setConfigPath, writeConfig } from './config-file.js';
2
3
  export { decryptData, deriveFileKey, derivePassphraseKey, encryptData } from './encryption.js';
3
4
  export { getMachineId, getUsername } from './machine-id.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EACb,WAAW,EACZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC9F,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAmB,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACtF,OAAO,EAA0C,aAAa,EAAE,MAAM,eAAe,CAAA;AACrF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAElB,UAAU,EACV,gBAAgB,EACjB,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,EAEX,eAAe,EACf,cAAc,EACf,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EACb,WAAW,EACZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC9F,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAmB,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACtF,OAAO,EAA0C,aAAa,EAAE,MAAM,eAAe,CAAA;AACrF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAElB,UAAU,EACV,gBAAgB,EACjB,MAAM,mBAAmB,CAAA"}
@@ -14,14 +14,16 @@
14
14
  * Replaces deprecated config-file (shared config.enc) which caused
15
15
  * multi-daemon path-drift contention with platformdirs version skew.
16
16
  */
17
- /** Override the home directory used by this module. Pass null to reset. */
18
- export declare function setHomeDirForTesting(dir: string | null): void;
17
+ import { type CredentialBackend } from './backends.js';
18
+ export { setHomeDirForTesting } from './home-dir.js';
19
19
  export declare function credPath(pluginName: string, sub: string | null): string;
20
20
  export declare class PerPluginStore {
21
21
  pluginName: string;
22
22
  sub: string | null;
23
23
  readonly credPath: string;
24
- constructor(pluginName: string, sub?: string | null);
24
+ private readonly credKey;
25
+ private readonly backend;
26
+ constructor(pluginName: string, sub?: string | null, backend?: CredentialBackend);
25
27
  private key;
26
28
  load(): Promise<Record<string, unknown> | null>;
27
29
  save(payload: Record<string, unknown>): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"per-plugin-store.d.ts","sourceRoot":"","sources":["../../src/storage/per-plugin-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAE7D;AAMD,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAUvE;AA0BD,qBAAa,cAAc;IAIhB,UAAU,EAAE,MAAM;IAClB,GAAG,EAAE,MAAM,GAAG,IAAI;IAJ3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;gBAGhB,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAM,GAAG,IAAW;YAKpB,GAAG;IAIX,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAsB/C,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B"}
1
+ {"version":3,"file":"per-plugin-store.d.ts","sourceRoot":"","sources":["../../src/storage/per-plugin-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAGtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAEpD,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAgBvE;AA0BD,qBAAa,cAAc;IAMhB,UAAU,EAAE,MAAM;IAClB,GAAG,EAAE,MAAM,GAAG,IAAI;IAN3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;gBAGlC,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAM,GAAG,IAAW,EAChC,OAAO,CAAC,EAAE,iBAAiB;YAOf,GAAG;IAIX,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAkB/C,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASrD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -15,20 +15,19 @@
15
15
  * multi-daemon path-drift contention with platformdirs version skew.
16
16
  */
17
17
  import { createCipheriv, createDecipheriv, randomBytes, scryptSync } from 'node:crypto';
18
- import { mkdir, readFile, unlink, writeFile } from 'node:fs/promises';
19
- import { homedir } from 'node:os';
20
- import { dirname, join } from 'node:path';
21
- // Module-level override for testing.
22
- let homeDirOverride = null;
23
- /** Override the home directory used by this module. Pass null to reset. */
24
- export function setHomeDirForTesting(dir) {
25
- homeDirOverride = dir;
26
- }
27
- function getHomeDir() {
28
- return homeDirOverride ?? homedir();
29
- }
18
+ import { mkdir, readFile, writeFile } from 'node:fs/promises';
19
+ import { join } from 'node:path';
20
+ import { backendFromEnv } from './backends.js';
21
+ import { getHomeDir } from './home-dir.js';
22
+ export { setHomeDirForTesting } from './home-dir.js';
30
23
  export function credPath(pluginName, sub) {
31
- const unsafe = /[^a-zA-Z0-9.-]/g;
24
+ // Underscore is allowed because the OAuth AS mints sub = token_urlsafe(), whose
25
+ // base64url alphabet includes "_" and "-"; rejecting "_" failed ~half of all
26
+ // per-sub credential saves with "Invalid sub". Path traversal stays blocked by the
27
+ // explicit ".." check below and by "/" remaining outside the class. The regex is
28
+ // NOT global: a /g flag makes .test() stateful (lastIndex advances across the two
29
+ // calls below), which can bypass validation on the second input.
30
+ const unsafe = /[^a-zA-Z0-9._-]/;
32
31
  if (!pluginName || unsafe.test(pluginName) || pluginName.includes('..')) {
33
32
  throw new Error('Invalid pluginName');
34
33
  }
@@ -62,22 +61,20 @@ function deriveMultiUserKey(pluginName, sub) {
62
61
  });
63
62
  }
64
63
  export class PerPluginStore {
65
- constructor(pluginName, sub = null) {
64
+ constructor(pluginName, sub = null, backend) {
66
65
  this.pluginName = pluginName;
67
66
  this.sub = sub;
68
67
  this.credPath = credPath(pluginName, sub);
68
+ this.credKey = sub ? `${pluginName}/subs/${sub}/config` : `${pluginName}/config`;
69
+ this.backend = backend ?? backendFromEnv();
69
70
  }
70
71
  async key() {
71
72
  return this.sub ? deriveMultiUserKey(this.pluginName, this.sub) : loadOrGenMachineKey(this.pluginName);
72
73
  }
73
74
  async load() {
74
- let blob;
75
- try {
76
- blob = await readFile(this.credPath);
77
- }
78
- catch {
75
+ const blob = await this.backend.get(this.credKey);
76
+ if (blob === null)
79
77
  return null;
80
- }
81
78
  // Format: [12-byte IV][ciphertext][16-byte GCM tag]
82
79
  if (blob.length < 29)
83
80
  return null;
@@ -95,21 +92,15 @@ export class PerPluginStore {
95
92
  }
96
93
  }
97
94
  async save(payload) {
98
- await mkdir(dirname(this.credPath), { recursive: true, mode: 0o700 });
99
95
  const iv = randomBytes(12);
100
96
  const cipher = createCipheriv('aes-256-gcm', await this.key(), iv, { authTagLength: 16 });
101
97
  const plaintext = Buffer.from(JSON.stringify(payload), 'utf-8');
102
98
  const ciphertext = Buffer.concat([cipher.update(plaintext), cipher.final()]);
103
99
  const tag = cipher.getAuthTag();
104
- await writeFile(this.credPath, Buffer.concat([iv, ciphertext, tag]), { mode: 0o600 });
100
+ await this.backend.put(this.credKey, Buffer.concat([iv, ciphertext, tag]));
105
101
  }
106
102
  async clear() {
107
- try {
108
- await unlink(this.credPath);
109
- }
110
- catch {
111
- // ignore if file does not exist
112
- }
103
+ await this.backend.delete(this.credKey);
113
104
  }
114
105
  }
115
106
  //# sourceMappingURL=per-plugin-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"per-plugin-store.js","sourceRoot":"","sources":["../../src/storage/per-plugin-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACvF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEzC,qCAAqC;AACrC,IAAI,eAAe,GAAkB,IAAI,CAAA;AAEzC,2EAA2E;AAC3E,MAAM,UAAU,oBAAoB,CAAC,GAAkB;IACrD,eAAe,GAAG,GAAG,CAAA;AACvB,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,eAAe,IAAI,OAAO,EAAE,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,UAAkB,EAAE,GAAkB;IAC7D,MAAM,MAAM,GAAG,iBAAiB,CAAA;IAChC,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACvC,CAAC;IACD,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;IAChC,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,UAAU,MAAM,CAAC,CAAA;IACrD,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;AACjF,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,UAAU,MAAM,EAAE,SAAS,CAAC,CAAA;IACtE,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,GAAG,WAAW,CAAC,EAAE,CAAC,CAAA;QAC3B,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,UAAU,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QACvF,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QACjD,OAAO,GAAG,CAAA;IACZ,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB,EAAE,GAAW;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;IAC5E,CAAC;IACD,OAAO,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,IAAI,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE;QAC1E,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;KACL,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,OAAO,cAAc;IAGzB,YACS,UAAkB,EAClB,MAAqB,IAAI;QADzB,eAAU,GAAV,UAAU,CAAQ;QAClB,QAAG,GAAH,GAAG,CAAsB;QAEhC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAC3C,CAAC;IAEO,KAAK,CAAC,GAAG;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACxG,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAY,CAAA;QAChB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;QACD,oDAAoD;QACpD,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO,IAAI,CAAA;QACjC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;QAChD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAA;QAC7F,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACxB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC1E,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA4B,CAAA;QAC3E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAgC;QACzC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QACrE,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAA;QAC1B,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAA;QACzF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;QAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC5E,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;QAC/B,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACvF,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"per-plugin-store.js","sourceRoot":"","sources":["../../src/storage/per-plugin-store.ts"],"names":[],"mappings":"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"}
@@ -21,9 +21,9 @@ export function cacheDir() {
21
21
  return join(homedir(), '.config', 'mcp', 'cache');
22
22
  }
23
23
  export function cacheFilename(serverName, port, srvVersion, coreVersion) {
24
- const safeName = serverName.replace(/[^a-zA-Z0-9.-]/g, '_');
25
- const safeSrvVersion = srvVersion.replace(/[^a-zA-Z0-9.-]/g, '_');
26
- const safeCoreVersion = coreVersion.replace(/[^a-zA-Z0-9.-]/g, '_');
24
+ const safeName = serverName.replace(/[^a-zA-Z0-9.-]/g, '_').replace(/\.\./g, '__');
25
+ const safeSrvVersion = srvVersion.replace(/[^a-zA-Z0-9.-]/g, '_').replace(/\.\./g, '__');
26
+ const safeCoreVersion = coreVersion.replace(/[^a-zA-Z0-9.-]/g, '_').replace(/\.\./g, '__');
27
27
  return `${safeName}-${port}-${safeSrvVersion}-${safeCoreVersion}.tools.json`;
28
28
  }
29
29
  export function atomicWrite(path, content) {
@@ -44,7 +44,7 @@ export function atomicWrite(path, content) {
44
44
  }
45
45
  export function persistToolsCache(serverName, port, srvVersion, coreVersion, tools) {
46
46
  const path = join(self.cacheDir(), cacheFilename(serverName, port, srvVersion, coreVersion));
47
- const payload = JSON.stringify({ tools, srvVersion, coreVersion });
47
+ const payload = JSON.stringify({ tools, srv_version: srvVersion, core_version: coreVersion });
48
48
  try {
49
49
  self.atomicWrite(path, payload);
50
50
  }
@@ -59,7 +59,7 @@ export function loadToolsCache(serverName, port, srvVersion, coreVersion) {
59
59
  return null;
60
60
  try {
61
61
  const payload = JSON.parse(readFileSync(path, 'utf-8'));
62
- if (payload.srvVersion !== srvVersion || payload.coreVersion !== coreVersion)
62
+ if (payload.srv_version !== srvVersion || payload.core_version !== coreVersion)
63
63
  return null;
64
64
  return Array.isArray(payload.tools) ? payload.tools : null;
65
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/transport/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/transport/cache.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,9 @@ import type { RelayConfigSchema } from '../auth/credential-form.js';
19
19
  import { type DelegatedOAuthAppOptions } from '../auth/delegated-oauth-app.js';
20
20
  import { type CredentialsCallback, type StepCallback } from '../auth/local-oauth-app.js';
21
21
  /** Decoded JWT claims returned by JWTIssuer.verifyAccessToken. */
22
- export type JWTClaims = JWTPayload;
22
+ export type JWTClaims = JWTPayload & {
23
+ anonymous?: boolean;
24
+ };
23
25
  export interface RunHttpServerOptions {
24
26
  /** Identifier used for JWT iss/aud and credential storage. */
25
27
  serverName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"local-server.d.ts","sourceRoot":"","sources":["../../src/transport/local-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAExE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAEnE,OAAO,EAEL,KAAK,wBAAwB,EAE9B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,KAAK,mBAAmB,EAGxB,KAAK,YAAY,EAClB,MAAM,4BAA4B,CAAA;AAOnC,kEAAkE;AAClE,MAAM,MAAM,SAAS,GAAG,UAAU,CAAA;AAElC,MAAM,WAAW,oBAAoB;IACnC,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAA;IAClB,sDAAsD;IACtD,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,YAAY,GAAG,WAAW,CAAC,CAAA;IAC3E,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,mBAAmB,CAAA;IACxC,gEAAgE;IAChE,eAAe,CAAC,EAAE,YAAY,CAAA;IAC9B;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EACd,CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,GAChD,CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,CAAA;IACxG;;;OAGG;IACH,wBAAwB,CAAC,EAAE,CACzB,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,KAC7D,MAAM,CAAA;IACX;;;;;OAKG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3E;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CACjC,aAAa,EAAE,MAAM,SAAS,EAC9B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAsU3B"}
1
+ {"version":3,"file":"local-server.d.ts","sourceRoot":"","sources":["../../src/transport/local-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAExE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAEnE,OAAO,EAEL,KAAK,wBAAwB,EAE9B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,KAAK,mBAAmB,EAGxB,KAAK,YAAY,EAClB,MAAM,4BAA4B,CAAA;AAQnC,kEAAkE;AAClE,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE5D,MAAM,WAAW,oBAAoB;IACnC,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAA;IAClB,sDAAsD;IACtD,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,YAAY,GAAG,WAAW,CAAC,CAAA;IAC3E,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,mBAAmB,CAAA;IACxC,gEAAgE;IAChE,eAAe,CAAC,EAAE,YAAY,CAAA;IAC9B;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EACd,CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,GAChD,CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,CAAA;IACxG;;;OAGG;IACH,wBAAwB,CAAC,EAAE,CACzB,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,KAC7D,MAAM,CAAA;IACX;;;;;OAKG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3E;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CACjC,aAAa,EAAE,MAAM,SAAS,EAC9B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAqU3B"}
@@ -26,6 +26,7 @@ import { jsonResponse } from '../auth/router.js';
26
26
  import { refreshLockTimestamp, sweepStaleLocks, writeLockFile } from '../lifecycle/lock.js';
27
27
  import { tryOpenBrowser } from '../relay/browser.js';
28
28
  import { readConfig } from '../storage/config-file.js';
29
+ import { extractBearerToken } from './oauth-middleware.js';
29
30
  /**
30
31
  * Start an HTTP server with optional local OAuth AS + MCP Streamable HTTP transport.
31
32
  *
@@ -162,8 +163,7 @@ export async function runHttpServer(serverFactory, options) {
162
163
  // Bearer auth if configured.
163
164
  if (jwtIssuer) {
164
165
  const authHeader = req.headers.authorization;
165
- const match = authHeader?.match(/^Bearer\s+(\S.*)$/i);
166
- const token = match?.[1]?.trim();
166
+ const token = extractBearerToken(authHeader);
167
167
  if (!token) {
168
168
  res.writeHead(401, {
169
169
  'WWW-Authenticate': `Bearer resource_metadata="${resourceMetadataUrl(req)}"`
@@ -1 +1 @@
1
- {"version":3,"file":"local-server.js","sourceRoot":"","sources":["../../src/transport/local-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-server.js","sourceRoot":"","sources":["../../src/transport/local-server.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  * with `WWW-Authenticate: Bearer resource_metadata="..."` per RFC 6750 +
7
7
  * RFC 9728 (OAuth 2.1 protected resource metadata discovery).
8
8
  *
9
- * Success attaches the validated claims to `(req as any).user` so
9
+ * Success attaches the validated claims to `AuthenticatedRequest.user` so
10
10
  * downstream handlers can read the subject without re-validating.
11
11
  */
12
12
  import type { IncomingMessage, ServerResponse } from 'node:http';
@@ -26,6 +26,7 @@ export interface OAuthMiddlewareOptions {
26
26
  export interface AuthenticatedRequest extends IncomingMessage {
27
27
  user?: Record<string, unknown>;
28
28
  }
29
+ export declare function extractBearerToken(authHeader: string | undefined): string | null;
29
30
  export declare class OAuthMiddleware {
30
31
  private readonly _issuer;
31
32
  private readonly _resourceMetadataUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-middleware.d.ts","sourceRoot":"","sources":["../../src/transport/oauth-middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEvD,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,SAAS,CAAA;IACpB,mBAAmB,EAAE,MAAM,CAAA;IAC3B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AA0BD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAQ;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,OAAO,EAAE,sBAAsB;IAY3C;;;;;;;OAOG;IACG,QAAQ,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;CAmBjF"}
1
+ {"version":3,"file":"oauth-middleware.d.ts","sourceRoot":"","sources":["../../src/transport/oauth-middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEvD,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,SAAS,CAAA;IACpB,mBAAmB,EAAE,MAAM,CAAA;IAC3B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAiBD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAsBhF;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAQ;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,OAAO,EAAE,sBAAsB;IAY3C;;;;;;;OAOG;IACG,QAAQ,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;CAmBjF"}