@n24q02m/hull 0.4.0-beta.9 → 0.5.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -16
- package/build/cli/build-cli.d.ts +5 -6
- package/build/cli/build-cli.d.ts.map +1 -1
- package/build/cli/build-cli.js +4 -61
- package/build/cli/build-cli.js.map +1 -1
- package/build/crypto/index.d.ts +1 -1
- package/build/crypto/index.d.ts.map +1 -1
- package/build/crypto/index.js +1 -1
- package/build/crypto/index.js.map +1 -1
- package/build/crypto/kdf.d.ts +0 -13
- package/build/crypto/kdf.d.ts.map +1 -1
- package/build/crypto/kdf.js +3 -18
- package/build/crypto/kdf.js.map +1 -1
- package/build/index.d.ts +1 -11
- package/build/index.d.ts.map +1 -1
- package/build/index.js +4 -16
- package/build/index.js.map +1 -1
- package/build/storage/account-registry.d.ts +53 -0
- package/build/storage/account-registry.d.ts.map +1 -0
- package/build/storage/account-registry.js +148 -0
- package/build/storage/account-registry.js.map +1 -0
- package/build/storage/backends.d.ts +0 -26
- package/build/storage/backends.d.ts.map +1 -1
- package/build/storage/backends.js +0 -65
- package/build/storage/backends.js.map +1 -1
- package/build/storage/config-file.d.ts +2 -19
- package/build/storage/config-file.d.ts.map +1 -1
- package/build/storage/config-file.js +2 -23
- package/build/storage/config-file.js.map +1 -1
- package/build/storage/credential-store.d.ts +1 -9
- package/build/storage/credential-store.d.ts.map +1 -1
- package/build/storage/credential-store.js +4 -16
- package/build/storage/credential-store.js.map +1 -1
- package/build/storage/data-dir.d.ts +2 -2
- package/build/storage/data-dir.js +2 -2
- package/build/storage/encryption.d.ts.map +1 -1
- package/build/storage/encryption.js +4 -0
- package/build/storage/encryption.js.map +1 -1
- package/build/storage/index.d.ts +5 -3
- package/build/storage/index.d.ts.map +1 -1
- package/build/storage/index.js +5 -3
- package/build/storage/index.js.map +1 -1
- package/build/storage/key-pool-crypto.d.ts +44 -0
- package/build/storage/key-pool-crypto.d.ts.map +1 -0
- package/build/storage/key-pool-crypto.js +132 -0
- package/build/storage/key-pool-crypto.js.map +1 -0
- package/build/storage/key-pool-store.d.ts +134 -0
- package/build/storage/key-pool-store.d.ts.map +1 -0
- package/build/storage/key-pool-store.js +470 -0
- package/build/storage/key-pool-store.js.map +1 -0
- package/build/storage/key-pool.d.ts +172 -0
- package/build/storage/key-pool.d.ts.map +1 -0
- package/build/storage/key-pool.js +374 -0
- package/build/storage/key-pool.js.map +1 -0
- package/build/storage/resolver.js +1 -1
- package/build/storage/resolver.js.map +1 -1
- package/build/token-auth/index.d.ts +1 -1
- package/build/token-auth/index.js +1 -1
- package/build/transport/index.d.ts +1 -2
- package/build/transport/index.d.ts.map +1 -1
- package/build/transport/index.js +1 -2
- package/build/transport/index.js.map +1 -1
- package/build/transport/local-server.d.ts +12 -128
- package/build/transport/local-server.d.ts.map +1 -1
- package/build/transport/local-server.js +20 -262
- package/build/transport/local-server.js.map +1 -1
- package/build/transport/streamable-http.d.ts +6 -7
- package/build/transport/streamable-http.d.ts.map +1 -1
- package/build/transport/streamable-http.js +6 -6
- package/build/transport/streamable-http.js.map +1 -1
- package/build/util/browser.d.ts.map +1 -0
- package/build/{relay → util}/browser.js +2 -2
- package/build/util/browser.js.map +1 -0
- package/package.json +4 -21
- package/build/auth/credential-form.d.ts +0 -163
- package/build/auth/credential-form.d.ts.map +0 -1
- package/build/auth/credential-form.js +0 -1869
- package/build/auth/credential-form.js.map +0 -1
- package/build/auth/delegated-oauth-app.d.ts +0 -90
- package/build/auth/delegated-oauth-app.d.ts.map +0 -1
- package/build/auth/delegated-oauth-app.js +0 -881
- package/build/auth/delegated-oauth-app.js.map +0 -1
- package/build/auth/index.d.ts +0 -12
- package/build/auth/index.d.ts.map +0 -1
- package/build/auth/index.js +0 -12
- package/build/auth/index.js.map +0 -1
- package/build/auth/local-oauth-app.d.ts +0 -152
- package/build/auth/local-oauth-app.d.ts.map +0 -1
- package/build/auth/local-oauth-app.js +0 -975
- package/build/auth/local-oauth-app.js.map +0 -1
- package/build/auth/relay-login.d.ts +0 -46
- package/build/auth/relay-login.d.ts.map +0 -1
- package/build/auth/relay-login.js +0 -197
- package/build/auth/relay-login.js.map +0 -1
- package/build/auth/router.d.ts +0 -18
- package/build/auth/router.d.ts.map +0 -1
- package/build/auth/router.js +0 -62
- package/build/auth/router.js.map +0 -1
- package/build/auth/session-store.d.ts +0 -49
- package/build/auth/session-store.d.ts.map +0 -1
- package/build/auth/session-store.js +0 -94
- package/build/auth/session-store.js.map +0 -1
- package/build/auth/stable-sub.d.ts +0 -27
- package/build/auth/stable-sub.d.ts.map +0 -1
- package/build/auth/stable-sub.js +0 -38
- package/build/auth/stable-sub.js.map +0 -1
- package/build/auth/well-known.d.ts +0 -4
- package/build/auth/well-known.d.ts.map +0 -1
- package/build/auth/well-known.js +0 -26
- package/build/auth/well-known.js.map +0 -1
- package/build/oauth/cache.d.ts +0 -22
- package/build/oauth/cache.d.ts.map +0 -1
- package/build/oauth/cache.js +0 -24
- package/build/oauth/cache.js.map +0 -1
- package/build/oauth/index.d.ts +0 -6
- package/build/oauth/index.d.ts.map +0 -1
- package/build/oauth/index.js +0 -6
- package/build/oauth/index.js.map +0 -1
- package/build/oauth/jwt-issuer.d.ts +0 -87
- package/build/oauth/jwt-issuer.d.ts.map +0 -1
- package/build/oauth/jwt-issuer.js +0 -205
- package/build/oauth/jwt-issuer.js.map +0 -1
- package/build/oauth/pkce.d.ts +0 -10
- package/build/oauth/pkce.d.ts.map +0 -1
- package/build/oauth/pkce.js +0 -34
- package/build/oauth/pkce.js.map +0 -1
- package/build/oauth/provider.d.ts +0 -52
- package/build/oauth/provider.d.ts.map +0 -1
- package/build/oauth/provider.js +0 -98
- package/build/oauth/provider.js.map +0 -1
- package/build/oauth/user-store.d.ts +0 -25
- package/build/oauth/user-store.d.ts.map +0 -1
- package/build/oauth/user-store.js +0 -85
- package/build/oauth/user-store.js.map +0 -1
- package/build/relay/browser.d.ts.map +0 -1
- package/build/relay/browser.js.map +0 -1
- package/build/relay/client.d.ts +0 -36
- package/build/relay/client.d.ts.map +0 -1
- package/build/relay/client.js +0 -135
- package/build/relay/client.js.map +0 -1
- package/build/relay/session.d.ts +0 -12
- package/build/relay/session.d.ts.map +0 -1
- package/build/relay/session.js +0 -55
- package/build/relay/session.js.map +0 -1
- package/build/relay/tool-helpers.d.ts +0 -85
- package/build/relay/tool-helpers.d.ts.map +0 -1
- package/build/relay/tool-helpers.js +0 -103
- package/build/relay/tool-helpers.js.map +0 -1
- package/build/relay/wordlist.d.ts +0 -2
- package/build/relay/wordlist.d.ts.map +0 -1
- package/build/relay/wordlist.js +0 -7782
- package/build/relay/wordlist.js.map +0 -1
- package/build/schema/types.d.ts +0 -67
- package/build/schema/types.d.ts.map +0 -1
- package/build/schema/types.js +0 -2
- package/build/schema/types.js.map +0 -1
- package/build/storage/mode.d.ts +0 -23
- package/build/storage/mode.d.ts.map +0 -1
- package/build/storage/mode.js +0 -46
- package/build/storage/mode.js.map +0 -1
- package/build/storage/session-lock.d.ts +0 -19
- package/build/storage/session-lock.d.ts.map +0 -1
- package/build/storage/session-lock.js +0 -105
- package/build/storage/session-lock.js.map +0 -1
- package/build/transport/oauth-middleware.d.ts +0 -45
- package/build/transport/oauth-middleware.d.ts.map +0 -1
- package/build/transport/oauth-middleware.js +0 -86
- package/build/transport/oauth-middleware.js.map +0 -1
- /package/build/{relay → util}/browser.d.ts +0 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Named provider accounts for multi-account pools (TypeScript mirror of
|
|
3
|
+
* `hull_core/credentials/registry.py`).
|
|
4
|
+
*
|
|
5
|
+
* A provider such as OpenRouter can be used through several identities (one
|
|
6
|
+
* per email, workspace or billing owner). Each account owns its own credential
|
|
7
|
+
* pool: rotation never hops between accounts, so a 429 on one account's key
|
|
8
|
+
* cannot silently spend another account's quota.
|
|
9
|
+
*
|
|
10
|
+
* `accountId` is the stable identifier config points at; `name` is the human
|
|
11
|
+
* label and is unique per provider. Credentials can only be attached to an
|
|
12
|
+
* existing account whose provider matches.
|
|
13
|
+
*/
|
|
14
|
+
import { AccountError } from './key-pool.js';
|
|
15
|
+
const NON_SLUG = /[^a-z0-9]+/g;
|
|
16
|
+
function text(value, field) {
|
|
17
|
+
if (typeof value !== 'string' || !value.trim())
|
|
18
|
+
throw new AccountError(`${field} must be a non-empty string`);
|
|
19
|
+
return value.trim();
|
|
20
|
+
}
|
|
21
|
+
function optional(value) {
|
|
22
|
+
if (value === null || value === undefined)
|
|
23
|
+
return null;
|
|
24
|
+
const trimmed = value.trim();
|
|
25
|
+
return trimmed || null;
|
|
26
|
+
}
|
|
27
|
+
function labelsOf(value) {
|
|
28
|
+
if (value === null || value === undefined)
|
|
29
|
+
return {};
|
|
30
|
+
const result = {};
|
|
31
|
+
for (const [key, item] of Object.entries(value))
|
|
32
|
+
result[key] = String(item);
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
function slug(name) {
|
|
36
|
+
const value = name
|
|
37
|
+
.trim()
|
|
38
|
+
.toLowerCase()
|
|
39
|
+
.replace(NON_SLUG, '-')
|
|
40
|
+
.replace(/^-+|-+$/g, '');
|
|
41
|
+
if (!value)
|
|
42
|
+
throw new AccountError(`cannot derive an account id from name ${JSON.stringify(name)}`);
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
function rowToAccount(row) {
|
|
46
|
+
let parsed = {};
|
|
47
|
+
try {
|
|
48
|
+
parsed = JSON.parse(row.labels || '{}');
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
parsed = {};
|
|
52
|
+
}
|
|
53
|
+
const labels = {};
|
|
54
|
+
if (parsed && typeof parsed === 'object') {
|
|
55
|
+
for (const [key, item] of Object.entries(parsed))
|
|
56
|
+
labels[key] = String(item);
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
accountId: row.account_id,
|
|
60
|
+
provider: row.provider,
|
|
61
|
+
name: row.name,
|
|
62
|
+
email: row.email,
|
|
63
|
+
workspace: row.workspace,
|
|
64
|
+
labels
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/** CRUD over `provider_accounts` plus per-account pool resolution. */
|
|
68
|
+
export class AccountRegistry {
|
|
69
|
+
constructor(store) {
|
|
70
|
+
this.store = store;
|
|
71
|
+
}
|
|
72
|
+
/** Register one named account; the default id is `<provider>:<name slug>`. */
|
|
73
|
+
add(input) {
|
|
74
|
+
const provider = text(input.provider, 'provider');
|
|
75
|
+
const name = text(input.name, 'name');
|
|
76
|
+
const accountId = input.accountId ? text(input.accountId, 'accountId') : `${provider}:${slug(name)}`;
|
|
77
|
+
const account = {
|
|
78
|
+
accountId,
|
|
79
|
+
provider,
|
|
80
|
+
name,
|
|
81
|
+
email: optional(input.email),
|
|
82
|
+
workspace: optional(input.workspace),
|
|
83
|
+
labels: labelsOf(input.labels)
|
|
84
|
+
};
|
|
85
|
+
this.store.insertAccount(account);
|
|
86
|
+
return account;
|
|
87
|
+
}
|
|
88
|
+
/** Resolve an account id first, then a unique name; `null` when absent. */
|
|
89
|
+
maybeGet(ref) {
|
|
90
|
+
const key = text(ref, 'account reference');
|
|
91
|
+
const byId = this.store.accountRow(key);
|
|
92
|
+
if (byId)
|
|
93
|
+
return rowToAccount(byId);
|
|
94
|
+
const matches = this.store.accountRowsByName(key);
|
|
95
|
+
if (matches.length === 0)
|
|
96
|
+
return null;
|
|
97
|
+
if (matches.length > 1) {
|
|
98
|
+
const providers = [...new Set(matches.map((row) => row.provider))].sort();
|
|
99
|
+
throw new AccountError(`account name ${JSON.stringify(key)} is ambiguous across providers [${providers.join(', ')}]; pass the account id`);
|
|
100
|
+
}
|
|
101
|
+
return rowToAccount(matches[0]);
|
|
102
|
+
}
|
|
103
|
+
get(ref) {
|
|
104
|
+
const account = this.maybeGet(ref);
|
|
105
|
+
if (account === null)
|
|
106
|
+
throw new AccountError(`unknown account ${JSON.stringify(ref)}; add it first`);
|
|
107
|
+
return account;
|
|
108
|
+
}
|
|
109
|
+
listAccounts(provider) {
|
|
110
|
+
const accounts = this.store.accountRows().map((row) => rowToAccount(row));
|
|
111
|
+
return provider ? accounts.filter((account) => account.provider === provider) : accounts;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Partially update metadata; omitted fields keep their value. `labels: null`
|
|
115
|
+
* clears the labels, `email: null`/`workspace: null` clear those fields. The
|
|
116
|
+
* provider and account id are immutable.
|
|
117
|
+
*/
|
|
118
|
+
update(ref, patch = {}) {
|
|
119
|
+
const current = this.get(ref);
|
|
120
|
+
const name = patch.name === undefined ? current.name : text(patch.name, 'name');
|
|
121
|
+
const email = patch.email === undefined ? current.email : optional(patch.email);
|
|
122
|
+
const workspace = patch.workspace === undefined ? current.workspace : optional(patch.workspace);
|
|
123
|
+
const labels = patch.labels === undefined ? current.labels : labelsOf(patch.labels);
|
|
124
|
+
this.store.updateAccountRow(current.accountId, {
|
|
125
|
+
name,
|
|
126
|
+
email,
|
|
127
|
+
workspace,
|
|
128
|
+
labelsJson: JSON.stringify(labels)
|
|
129
|
+
});
|
|
130
|
+
return this.get(current.accountId);
|
|
131
|
+
}
|
|
132
|
+
/** Delete an account; credentials block the delete unless dropped explicitly. */
|
|
133
|
+
remove(ref, options = {}) {
|
|
134
|
+
const current = this.get(ref);
|
|
135
|
+
this.store.deleteAccountRow(current.accountId, options);
|
|
136
|
+
}
|
|
137
|
+
/** Masked pool state for one account (safe to log). */
|
|
138
|
+
credentials(ref) {
|
|
139
|
+
const account = this.get(ref);
|
|
140
|
+
return this.store.poolHealth(account.provider, account.accountId);
|
|
141
|
+
}
|
|
142
|
+
/** The KeyPool scoped to one account (provider + account id). */
|
|
143
|
+
pool(ref, options = {}) {
|
|
144
|
+
const account = this.get(ref);
|
|
145
|
+
return this.store.pool(account.provider, { ...options, accountId: account.accountId });
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=account-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-registry.js","sourceRoot":"","sources":["../../src/storage/account-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,32 +43,6 @@ export declare class LocalFsBackend implements CredentialBackend {
|
|
|
43
43
|
put(key: string, blob: Buffer): Promise<void>;
|
|
44
44
|
delete(key: string): Promise<void>;
|
|
45
45
|
}
|
|
46
|
-
/** Minimal injectable HTTP client returning status + body. */
|
|
47
|
-
export interface Http {
|
|
48
|
-
request(method: string, url: string, data?: Buffer, headers?: Record<string, string>): Promise<{
|
|
49
|
-
status: number;
|
|
50
|
-
body: Buffer;
|
|
51
|
-
}>;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Stores blobs in a Cloudflare Workers KV namespace over HTTP.
|
|
55
|
-
*
|
|
56
|
-
* Error contract: 200 -> data, 404 -> absent (null for get, no-op for delete).
|
|
57
|
-
* Every other HTTP status, plus transport errors from the HTTP client, raises --
|
|
58
|
-
* failures are loud, never silently returned as data. Error messages carry the
|
|
59
|
-
* status only; never the token or the response body.
|
|
60
|
-
*/
|
|
61
|
-
export declare class CfKvBackend implements CredentialBackend {
|
|
62
|
-
private readonly baseUrl;
|
|
63
|
-
private readonly token?;
|
|
64
|
-
private readonly http;
|
|
65
|
-
constructor(baseUrl: string, token?: string, http?: Http);
|
|
66
|
-
private url;
|
|
67
|
-
private headers;
|
|
68
|
-
get(key: string): Promise<Buffer | null>;
|
|
69
|
-
put(key: string, blob: Buffer): Promise<void>;
|
|
70
|
-
delete(key: string): Promise<void>;
|
|
71
|
-
}
|
|
72
46
|
/** Select a credential backend from the MCP_STORAGE_BACKEND env var. */
|
|
73
47
|
export declare function backendFromEnv(): CredentialBackend;
|
|
74
48
|
//# sourceMappingURL=backends.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backends.d.ts","sourceRoot":"","sources":["../../src/storage/backends.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,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,CAE7C;IAEK,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElD;IAEK,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvC;CACF;AAiDD,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;CACrC;AAED,oEAAoE;AACpE,qBAAa,cAAe,YAAW,iBAAiB;IACtD;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAIpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAE7C,YAAY,OAAO,GAAE,qBAA0B,EAG9C;IAEK,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQ7C;IAEK,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAalD;IAEK,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOvC;CACF;AAED,
|
|
1
|
+
{"version":3,"file":"backends.d.ts","sourceRoot":"","sources":["../../src/storage/backends.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,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,CAE7C;IAEK,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElD;IAEK,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvC;CACF;AAiDD,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;CACrC;AAED,oEAAoE;AACpE,qBAAa,cAAe,YAAW,iBAAiB;IACtD;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAIpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAE7C,YAAY,OAAO,GAAE,qBAA0B,EAG9C;IAEK,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQ7C;IAEK,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAalD;IAEK,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOvC;CACF;AAED,wEAAwE;AACxE,wBAAgB,cAAc,IAAI,iBAAiB,CAMlD"}
|
|
@@ -117,77 +117,12 @@ export class LocalFsBackend {
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
|
-
/**
|
|
121
|
-
* Default HTTP implementation over global fetch.
|
|
122
|
-
*
|
|
123
|
-
* fetch resolves on 4xx/5xx and rejects only on network error, so status checks
|
|
124
|
-
* in CfKvBackend handle HTTP errors while transport errors propagate -- matching
|
|
125
|
-
* the Python httpx client behavior.
|
|
126
|
-
*/
|
|
127
|
-
const fetchHttp = {
|
|
128
|
-
async request(method, url, data, headers) {
|
|
129
|
-
const resp = await fetch(url, {
|
|
130
|
-
method,
|
|
131
|
-
body: data ? new Uint8Array(data) : undefined,
|
|
132
|
-
headers
|
|
133
|
-
});
|
|
134
|
-
const body = Buffer.from(await resp.arrayBuffer());
|
|
135
|
-
return { status: resp.status, body };
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
/**
|
|
139
|
-
* Stores blobs in a Cloudflare Workers KV namespace over HTTP.
|
|
140
|
-
*
|
|
141
|
-
* Error contract: 200 -> data, 404 -> absent (null for get, no-op for delete).
|
|
142
|
-
* Every other HTTP status, plus transport errors from the HTTP client, raises --
|
|
143
|
-
* failures are loud, never silently returned as data. Error messages carry the
|
|
144
|
-
* status only; never the token or the response body.
|
|
145
|
-
*/
|
|
146
|
-
export class CfKvBackend {
|
|
147
|
-
constructor(baseUrl, token, http = fetchHttp) {
|
|
148
|
-
this.baseUrl = baseUrl.replace(/\/+$/, '');
|
|
149
|
-
this.token = token;
|
|
150
|
-
this.http = http;
|
|
151
|
-
}
|
|
152
|
-
url(key) {
|
|
153
|
-
return `${this.baseUrl}/${encodeURIComponent(key)}`;
|
|
154
|
-
}
|
|
155
|
-
headers() {
|
|
156
|
-
return this.token ? { Authorization: `Bearer ${this.token}` } : {};
|
|
157
|
-
}
|
|
158
|
-
async get(key) {
|
|
159
|
-
const { status, body } = await this.http.request('GET', this.url(key), undefined, this.headers());
|
|
160
|
-
if (status === 200)
|
|
161
|
-
return body;
|
|
162
|
-
if (status === 404)
|
|
163
|
-
return null;
|
|
164
|
-
throw new Error(`CfKvBackend get failed: HTTP ${status}`);
|
|
165
|
-
}
|
|
166
|
-
async put(key, blob) {
|
|
167
|
-
const { status } = await this.http.request('PUT', this.url(key), blob, this.headers());
|
|
168
|
-
if (status !== 200 && status !== 204) {
|
|
169
|
-
throw new Error(`CfKvBackend put failed: HTTP ${status}`);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
async delete(key) {
|
|
173
|
-
const { status } = await this.http.request('DELETE', this.url(key), undefined, this.headers());
|
|
174
|
-
if (status !== 200 && status !== 204 && status !== 404) {
|
|
175
|
-
throw new Error(`CfKvBackend delete failed: HTTP ${status}`);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
120
|
/** Select a credential backend from the MCP_STORAGE_BACKEND env var. */
|
|
180
121
|
export function backendFromEnv() {
|
|
181
122
|
const kind = (process.env.MCP_STORAGE_BACKEND ?? 'local').toLowerCase();
|
|
182
123
|
if (kind === 'local' || kind === 'local-fs' || kind === '') {
|
|
183
124
|
return new LocalFsBackend();
|
|
184
125
|
}
|
|
185
|
-
if (kind === 'cf-kv') {
|
|
186
|
-
const baseUrl = process.env.MCP_KV_BASE_URL;
|
|
187
|
-
if (!baseUrl)
|
|
188
|
-
throw new Error('MCP_KV_BASE_URL is required when MCP_STORAGE_BACKEND=cf-kv');
|
|
189
|
-
return new CfKvBackend(baseUrl, process.env.MCP_KV_TOKEN);
|
|
190
|
-
}
|
|
191
126
|
throw new Error(`Unknown MCP_STORAGE_BACKEND: ${kind}`);
|
|
192
127
|
}
|
|
193
128
|
//# sourceMappingURL=backends.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backends.js","sourceRoot":"","sources":["../../src/storage/backends.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"backends.js","sourceRoot":"","sources":["../../src/storage/backends.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,31 +4,14 @@ export declare function clearKeyCacheForTesting(): void;
|
|
|
4
4
|
* Schedule a process exit so an MCP client can respawn the server and pick up
|
|
5
5
|
* fresh credentials from disk. Only relevant for stdio-mode servers whose
|
|
6
6
|
* client supervises restart. HTTP-mode servers update credentials in-process
|
|
7
|
-
* and MUST NOT call this — an exit mid-OAuth
|
|
8
|
-
* verification window. Skipped under vitest (NODE_ENV=test) and when
|
|
7
|
+
* and MUST NOT call this — an exit mid-sign-in (e.g. an OAuth device-code flow)
|
|
8
|
+
* kills the user's verification window. Skipped under vitest (NODE_ENV=test) and when
|
|
9
9
|
* MCP_NO_RELOAD is set.
|
|
10
10
|
*/
|
|
11
11
|
export declare function scheduleReloadExit(): void;
|
|
12
12
|
export declare function readConfig(serverName: string): Promise<Record<string, string> | null>;
|
|
13
13
|
export declare function writeConfig(serverName: string, config: Record<string, string>): Promise<void>;
|
|
14
14
|
export declare function deleteConfig(serverName: string): Promise<void>;
|
|
15
|
-
/**
|
|
16
|
-
* Metadata flag set by `markSetupComplete` after a successful relay-form
|
|
17
|
-
* submission (POST /authorize). `runHttpServer`/`isSchemaComplete` read this
|
|
18
|
-
* to distinguish "user has submitted the form" from "config.enc has values
|
|
19
|
-
* written by a peer-share or partial bootstrap path". Lives alongside the
|
|
20
|
-
* user's normal credential keys in the same per-server config dict.
|
|
21
|
-
*/
|
|
22
|
-
export declare const SETUP_COMPLETE_KEY = "_setup_complete";
|
|
23
|
-
/**
|
|
24
|
-
* Set the `_setup_complete` flag in `serverName`'s config. Idempotent.
|
|
25
|
-
* Creates a new entry with just the flag if no prior config exists (useful
|
|
26
|
-
* for all-optional schemas where the user may submit an empty form).
|
|
27
|
-
*
|
|
28
|
-
* Strict equality semantics in `isSchemaComplete` rely on this writing the
|
|
29
|
-
* literal string `"true"`.
|
|
30
|
-
*/
|
|
31
|
-
export declare function markSetupComplete(serverName: string): Promise<void>;
|
|
32
15
|
export declare function listConfigs(): Promise<string[]>;
|
|
33
16
|
export declare function exportConfig(passphrase: string): Promise<Buffer>;
|
|
34
17
|
export declare function importConfig(passphrase: string, data: Buffer): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-file.d.ts","sourceRoot":"","sources":["../../src/storage/config-file.ts"],"names":[],"mappings":"AAqDA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEvD;AA2BD,wBAAgB,uBAAuB,IAAI,IAAI,CAG9C;AAqFD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAIzC;AAED,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAG3F;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAInG;AAED,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYpE;AAED
|
|
1
|
+
{"version":3,"file":"config-file.d.ts","sourceRoot":"","sources":["../../src/storage/config-file.ts"],"names":[],"mappings":"AAqDA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEvD;AA2BD,wBAAgB,uBAAuB,IAAI,IAAI,CAG9C;AAqFD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAIzC;AAED,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAG3F;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAInG;AAED,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYpE;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGrD;AAED,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMtE;AAED,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6ClF"}
|
|
@@ -146,8 +146,8 @@ async function saveStore(store) {
|
|
|
146
146
|
* Schedule a process exit so an MCP client can respawn the server and pick up
|
|
147
147
|
* fresh credentials from disk. Only relevant for stdio-mode servers whose
|
|
148
148
|
* client supervises restart. HTTP-mode servers update credentials in-process
|
|
149
|
-
* and MUST NOT call this — an exit mid-OAuth
|
|
150
|
-
* verification window. Skipped under vitest (NODE_ENV=test) and when
|
|
149
|
+
* and MUST NOT call this — an exit mid-sign-in (e.g. an OAuth device-code flow)
|
|
150
|
+
* kills the user's verification window. Skipped under vitest (NODE_ENV=test) and when
|
|
151
151
|
* MCP_NO_RELOAD is set.
|
|
152
152
|
*/
|
|
153
153
|
export function scheduleReloadExit() {
|
|
@@ -177,27 +177,6 @@ export async function deleteConfig(serverName) {
|
|
|
177
177
|
await saveStore(store);
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
|
-
/**
|
|
181
|
-
* Metadata flag set by `markSetupComplete` after a successful relay-form
|
|
182
|
-
* submission (POST /authorize). `runHttpServer`/`isSchemaComplete` read this
|
|
183
|
-
* to distinguish "user has submitted the form" from "config.enc has values
|
|
184
|
-
* written by a peer-share or partial bootstrap path". Lives alongside the
|
|
185
|
-
* user's normal credential keys in the same per-server config dict.
|
|
186
|
-
*/
|
|
187
|
-
export const SETUP_COMPLETE_KEY = '_setup_complete';
|
|
188
|
-
/**
|
|
189
|
-
* Set the `_setup_complete` flag in `serverName`'s config. Idempotent.
|
|
190
|
-
* Creates a new entry with just the flag if no prior config exists (useful
|
|
191
|
-
* for all-optional schemas where the user may submit an empty form).
|
|
192
|
-
*
|
|
193
|
-
* Strict equality semantics in `isSchemaComplete` rely on this writing the
|
|
194
|
-
* literal string `"true"`.
|
|
195
|
-
*/
|
|
196
|
-
export async function markSetupComplete(serverName) {
|
|
197
|
-
const existing = (await readConfig(serverName)) ?? {};
|
|
198
|
-
existing[SETUP_COMPLETE_KEY] = 'true';
|
|
199
|
-
await writeConfig(serverName, existing);
|
|
200
|
-
}
|
|
201
180
|
export async function listConfigs() {
|
|
202
181
|
const store = await loadStore();
|
|
203
182
|
return Object.keys(store.servers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-file.js","sourceRoot":"","sources":["../../src/storage/config-file.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config-file.js","sourceRoot":"","sources":["../../src/storage/config-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@ export declare function readStoredConfig(serverName: string, pluginName?: string
|
|
|
48
48
|
*
|
|
49
49
|
* Full replace, mirroring the legacy `writeConfig` contract and the wet-mcp
|
|
50
50
|
* Python `save()` call: callers that need to preserve prior keys read first and
|
|
51
|
-
* merge
|
|
51
|
+
* merge. The write also serves as the migration
|
|
52
52
|
* trigger -- an existing legacy `config.enc` entry is superseded because
|
|
53
53
|
* `readStoredConfig` prefers the per-plugin store from here on.
|
|
54
54
|
*/
|
|
@@ -60,12 +60,4 @@ export declare function writeStoredConfig(serverName: string, config: Record<str
|
|
|
60
60
|
* leaves nothing behind in either backend.
|
|
61
61
|
*/
|
|
62
62
|
export declare function deleteStoredConfig(serverName: string, pluginName?: string): Promise<void>;
|
|
63
|
-
/**
|
|
64
|
-
* Set the persistent `_setup_complete` flag in a server's single-user config,
|
|
65
|
-
* preserving any existing keys. Reads through the unified path (so a legacy
|
|
66
|
-
* entry is migrated forward) and writes the merged result to the per-plugin
|
|
67
|
-
* store. Creates an entry with just the flag when nothing exists (useful for
|
|
68
|
-
* all-optional schemas where the user may submit an empty form).
|
|
69
|
-
*/
|
|
70
|
-
export declare function markSetupComplete(serverName: string, pluginName?: string): Promise<void>;
|
|
71
63
|
//# sourceMappingURL=credential-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-store.d.ts","sourceRoot":"","sources":["../../src/storage/credential-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;
|
|
1
|
+
{"version":3,"file":"credential-store.d.ts","sourceRoot":"","sources":["../../src/storage/credential-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAKH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAwC,GACnD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAMxC;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,UAAU,GAAE,MAAwC,GACnD,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAwC,GACnD,OAAO,CAAC,IAAI,CAAC,CAGf"}
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
* `PerPluginStore(pluginName, sub)`, a distinct on-disk key from the
|
|
30
30
|
* single-user `PerPluginStore(pluginName)` this module manages.
|
|
31
31
|
*/
|
|
32
|
-
import { deleteConfig as deleteLegacyConfig, readConfig as readLegacyConfig
|
|
32
|
+
import { deleteConfig as deleteLegacyConfig, readConfig as readLegacyConfig } from './config-file.js';
|
|
33
33
|
import { PerPluginStore } from './per-plugin-store.js';
|
|
34
34
|
/**
|
|
35
35
|
* Derive the credential-storage plugin slug from a console/server name by
|
|
@@ -48,8 +48,8 @@ export function pluginNameForServer(serverName) {
|
|
|
48
48
|
*/
|
|
49
49
|
export async function readStoredConfig(serverName, pluginName = pluginNameForServer(serverName)) {
|
|
50
50
|
const fromStore = await new PerPluginStore(pluginName).load();
|
|
51
|
-
// Single-user blobs are always string maps (written by writeStoredConfig
|
|
52
|
-
//
|
|
51
|
+
// Single-user blobs are always string maps (written by writeStoredConfig); the cast
|
|
52
|
+
// restates that invariant.
|
|
53
53
|
if (fromStore !== null)
|
|
54
54
|
return fromStore;
|
|
55
55
|
return readLegacyConfig(serverName);
|
|
@@ -59,7 +59,7 @@ export async function readStoredConfig(serverName, pluginName = pluginNameForSer
|
|
|
59
59
|
*
|
|
60
60
|
* Full replace, mirroring the legacy `writeConfig` contract and the wet-mcp
|
|
61
61
|
* Python `save()` call: callers that need to preserve prior keys read first and
|
|
62
|
-
* merge
|
|
62
|
+
* merge. The write also serves as the migration
|
|
63
63
|
* trigger -- an existing legacy `config.enc` entry is superseded because
|
|
64
64
|
* `readStoredConfig` prefers the per-plugin store from here on.
|
|
65
65
|
*/
|
|
@@ -76,16 +76,4 @@ export async function deleteStoredConfig(serverName, pluginName = pluginNameForS
|
|
|
76
76
|
await new PerPluginStore(pluginName).clear();
|
|
77
77
|
await deleteLegacyConfig(serverName);
|
|
78
78
|
}
|
|
79
|
-
/**
|
|
80
|
-
* Set the persistent `_setup_complete` flag in a server's single-user config,
|
|
81
|
-
* preserving any existing keys. Reads through the unified path (so a legacy
|
|
82
|
-
* entry is migrated forward) and writes the merged result to the per-plugin
|
|
83
|
-
* store. Creates an entry with just the flag when nothing exists (useful for
|
|
84
|
-
* all-optional schemas where the user may submit an empty form).
|
|
85
|
-
*/
|
|
86
|
-
export async function markSetupComplete(serverName, pluginName = pluginNameForServer(serverName)) {
|
|
87
|
-
const existing = (await readStoredConfig(serverName, pluginName)) ?? {};
|
|
88
|
-
existing[SETUP_COMPLETE_KEY] = 'true';
|
|
89
|
-
await writeStoredConfig(serverName, existing, pluginName);
|
|
90
|
-
}
|
|
91
79
|
//# sourceMappingURL=credential-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../../src/storage/credential-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../../src/storage/credential-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACrG,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACpD,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAAkB,EAClB,UAAU,GAAW,mBAAmB,CAAC,UAAU,CAAC;IAEpD,MAAM,SAAS,GAAG,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA;IAC7D,oFAAoF;IACpF,2BAA2B;IAC3B,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,SAAmC,CAAA;IAClE,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAA;AACrC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAkB,EAClB,MAA8B,EAC9B,UAAU,GAAW,mBAAmB,CAAC,UAAU,CAAC;IAEpD,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAkB,EAClB,UAAU,GAAW,mBAAmB,CAAC,UAAU,CAAC;IAEpD,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAA;IAC5C,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAA;AACtC,CAAC"}
|
|
@@ -36,8 +36,8 @@ export interface DataDirLocation {
|
|
|
36
36
|
*/
|
|
37
37
|
export declare function assertValidPluginName(pluginName: string): void;
|
|
38
38
|
/**
|
|
39
|
-
* Validate a multi-user sub for use as a single path component.
|
|
40
|
-
*
|
|
39
|
+
* Validate a multi-user sub for use as a single path component. Subs are
|
|
40
|
+
* base64url-style tokens (token_urlsafe), whose alphabet includes `_` and `-`,
|
|
41
41
|
* so both must pass; `/` and `..` stay rejected.
|
|
42
42
|
*/
|
|
43
43
|
export declare function assertValidSub(sub: string): void;
|
|
@@ -36,8 +36,8 @@ export function assertValidPluginName(pluginName) {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
* Validate a multi-user sub for use as a single path component.
|
|
40
|
-
*
|
|
39
|
+
* Validate a multi-user sub for use as a single path component. Subs are
|
|
40
|
+
* base64url-style tokens (token_urlsafe), whose alphabet includes `_` and `-`,
|
|
41
41
|
* so both must pass; `/` and `..` stay rejected.
|
|
42
42
|
*/
|
|
43
43
|
export function assertValidSub(sub) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../src/storage/encryption.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../src/storage/encryption.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW,yBAAqC,CAAA;AAC7D,eAAO,MAAM,kBAAkB,yBAAqC,CAAA;AACpE,eAAO,MAAM,iBAAiB,SAAU,CAAA;AACxC,eAAO,MAAM,wBAAwB,SAAU,CAAA;AAE/C,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,UAAU,EAChB,UAAU,GAAE,MAA0B,GACrC,OAAO,CAAC,SAAS,CAAC,CAepB;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,UAAU,EAChB,UAAU,GAAE,MAA0B,GACrC,OAAO,CAAC,SAAS,CAAC,CASpB;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKpF;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS/E"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
const encoder = new TextEncoder();
|
|
2
2
|
const decoder = new TextDecoder();
|
|
3
|
+
// Fixed PBKDF2 salts of config.enc files written by the former relay-era
|
|
4
|
+
// releases. The byte values are part of the on-disk format: changing them makes
|
|
5
|
+
// existing files undecryptable, so they stay as-is (core-py keeps the same salt
|
|
6
|
+
// in legacy_config_file.py).
|
|
3
7
|
export const LEGACY_SALT = encoder.encode('mcp-relay-config');
|
|
4
8
|
export const LEGACY_EXPORT_SALT = encoder.encode('mcp-relay-export');
|
|
5
9
|
export const PBKDF2_ITERATIONS = 600_000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../src/storage/encryption.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../src/storage/encryption.ts"],"names":[],"mappings":"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"}
|
package/build/storage/index.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
export { AccountRegistry } from './account-registry.js';
|
|
1
2
|
export { atomicWriteFile } from './atomic-write.js';
|
|
2
|
-
export { backendFromEnv,
|
|
3
|
+
export { backendFromEnv, type CredentialBackend, InMemoryBackend, LocalFsBackend, type LocalFsBackendOptions } from './backends.js';
|
|
3
4
|
export { exportConfig, importConfig, listConfigs, setConfigPath } from './config-file.js';
|
|
4
5
|
export { deleteStoredConfig as deleteConfig, readStoredConfig as readConfig, writeStoredConfig as writeConfig } from './credential-store.js';
|
|
5
6
|
export { type DataDirLocation, dataDir, dataDirCandidates, legacyDataDirs } from './data-dir.js';
|
|
6
7
|
export { decryptData, deriveFileKey, derivePassphraseKey, encryptData } from './encryption.js';
|
|
8
|
+
export { AccountError, type CooldownOptions, type Credential, CredentialExistsError, type CredentialHealth, CredentialNotFoundError, CredentialPoolError, classifyStatus, cooldownSeconds, DEFAULT_COOLDOWN_SECONDS, type FailureAction, KeyPool, type KeyPoolOptions, KNOWN_PROVIDER_HOSTS, MAX_COOLDOWN_SECONDS, MIN_COOLDOWN_SECONDS, type MigrationResult, PoolExhaustedError, parseRateLimitReset, parseRetryAfter, providerFromBaseUrl } from './key-pool.js';
|
|
9
|
+
export { CredentialCryptoError, decryptSecret, encryptSecret, keyHint, loadOrCreateKey, SECRET_KEY_LENGTH, SECRET_NONCE_LENGTH, SecretCipher } from './key-pool-crypto.js';
|
|
10
|
+
export { type AccountRow, type AddCredentialInput, CredentialStore, type CredentialStoreOptions, credentialKeyPath, defaultHullDbPath, KEY_POOL_SCHEMA, type ModelCellLike, type PoolDiagnostics } from './key-pool-store.js';
|
|
7
11
|
export { getMachineId, getUsername } from './machine-id.js';
|
|
8
|
-
export { clearMode, getMode, type ServerMode, setLocalMode } from './mode.js';
|
|
9
12
|
export { credPath, PerPluginStore, setHomeDirForTesting } from './per-plugin-store.js';
|
|
10
13
|
export { type ConfigSource, type ResolvedConfig, resolveConfig } from './resolver.js';
|
|
11
|
-
export { acquireSessionLock, releaseSessionLock, type SessionInfo, setLockDir, writeSessionLock } from './session-lock.js';
|
|
12
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EACL,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EACL,cAAc,EACd,KAAK,iBAAiB,EACtB,eAAe,EACf,cAAc,EACd,KAAK,qBAAqB,EAC3B,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAIzF,OAAO,EACL,kBAAkB,IAAI,YAAY,EAClC,gBAAgB,IAAI,UAAU,EAC9B,iBAAiB,IAAI,WAAW,EACjC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,KAAK,eAAe,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAChG,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC9F,OAAO,EACL,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,KAAK,aAAa,EAClB,OAAO,EACP,KAAK,cAAc,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,eAAe,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACpB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,OAAO,EACP,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,eAAe,EACf,KAAK,sBAAsB,EAC3B,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC3D,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"}
|
package/build/storage/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
export { AccountRegistry } from './account-registry.js';
|
|
1
2
|
export { atomicWriteFile } from './atomic-write.js';
|
|
2
|
-
export { backendFromEnv,
|
|
3
|
+
export { backendFromEnv, InMemoryBackend, LocalFsBackend } from './backends.js';
|
|
3
4
|
export { exportConfig, importConfig, listConfigs, setConfigPath } from './config-file.js';
|
|
4
5
|
// Single-user credential read/write/delete route through the unified
|
|
5
6
|
// per-plugin store (with legacy config.enc read fallback), so downstream
|
|
@@ -7,9 +8,10 @@ export { exportConfig, importConfig, listConfigs, setConfigPath } from './config
|
|
|
7
8
|
export { deleteStoredConfig as deleteConfig, readStoredConfig as readConfig, writeStoredConfig as writeConfig } from './credential-store.js';
|
|
8
9
|
export { dataDir, dataDirCandidates, legacyDataDirs } from './data-dir.js';
|
|
9
10
|
export { decryptData, deriveFileKey, derivePassphraseKey, encryptData } from './encryption.js';
|
|
11
|
+
export { AccountError, CredentialExistsError, CredentialNotFoundError, CredentialPoolError, classifyStatus, cooldownSeconds, DEFAULT_COOLDOWN_SECONDS, KeyPool, KNOWN_PROVIDER_HOSTS, MAX_COOLDOWN_SECONDS, MIN_COOLDOWN_SECONDS, PoolExhaustedError, parseRateLimitReset, parseRetryAfter, providerFromBaseUrl } from './key-pool.js';
|
|
12
|
+
export { CredentialCryptoError, decryptSecret, encryptSecret, keyHint, loadOrCreateKey, SECRET_KEY_LENGTH, SECRET_NONCE_LENGTH, SecretCipher } from './key-pool-crypto.js';
|
|
13
|
+
export { CredentialStore, credentialKeyPath, defaultHullDbPath, KEY_POOL_SCHEMA } from './key-pool-store.js';
|
|
10
14
|
export { getMachineId, getUsername } from './machine-id.js';
|
|
11
|
-
export { clearMode, getMode, setLocalMode } from './mode.js';
|
|
12
15
|
export { credPath, PerPluginStore, setHomeDirForTesting } from './per-plugin-store.js';
|
|
13
16
|
export { resolveConfig } from './resolver.js';
|
|
14
|
-
export { acquireSessionLock, releaseSessionLock, setLockDir, writeSessionLock } from './session-lock.js';
|
|
15
17
|
//# sourceMappingURL=index.js.map
|