@slashfi/agents-sdk 0.12.0 → 0.14.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/dist/agent-definitions/auth.d.ts +13 -0
- package/dist/agent-definitions/auth.d.ts.map +1 -1
- package/dist/agent-definitions/auth.js +92 -18
- package/dist/agent-definitions/auth.js.map +1 -1
- package/dist/agent-definitions/integrations.d.ts.map +1 -1
- package/dist/agent-definitions/integrations.js +18 -2
- package/dist/agent-definitions/integrations.js.map +1 -1
- package/dist/agent-definitions/remote-registry.d.ts.map +1 -1
- package/dist/agent-definitions/remote-registry.js +59 -8
- package/dist/agent-definitions/remote-registry.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/key-manager.d.ts +76 -0
- package/dist/key-manager.d.ts.map +1 -0
- package/dist/key-manager.js +156 -0
- package/dist/key-manager.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +43 -27
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
- package/src/agent-definitions/auth.ts +125 -18
- package/src/agent-definitions/integrations.ts +8 -2
- package/src/agent-definitions/remote-registry.ts +57 -9
- package/src/index.ts +1 -0
- package/src/key-manager.test.ts +273 -0
- package/src/key-manager.ts +257 -0
- package/src/server.ts +44 -28
|
@@ -79,17 +79,30 @@ export function createRemoteRegistryAgent(options) {
|
|
|
79
79
|
});
|
|
80
80
|
const rpc = await res.json();
|
|
81
81
|
const text = rpc.result?.content?.[0]?.text;
|
|
82
|
-
|
|
82
|
+
if (!text)
|
|
83
|
+
return rpc.result;
|
|
84
|
+
const parsed = JSON.parse(text);
|
|
85
|
+
// Unwrap the remote call_agent envelope: { success, result } → just result
|
|
86
|
+
// The caller (proxyCall) will re-wrap with its own { success, result }
|
|
87
|
+
if (parsed && typeof parsed === "object" && "success" in parsed && "result" in parsed) {
|
|
88
|
+
if (!parsed.success) {
|
|
89
|
+
throw new Error(parsed.error ?? "Remote call failed");
|
|
90
|
+
}
|
|
91
|
+
return parsed.result;
|
|
92
|
+
}
|
|
93
|
+
return parsed;
|
|
83
94
|
}
|
|
84
95
|
// --- Proxy: sign JWT and call remote ---
|
|
85
96
|
async function proxyCall(ownerId, registryId, request) {
|
|
86
97
|
const conn = await loadConnection(ownerId, registryId);
|
|
87
98
|
if (!conn) {
|
|
88
|
-
|
|
99
|
+
throw new Error(`No connection '${registryId}'. Use setup_integration first.`);
|
|
89
100
|
}
|
|
90
101
|
const jwt = await signJwt({ tenantId: conn.remoteTenantId, action: "proxy", type: "agent-registry" });
|
|
91
|
-
|
|
92
|
-
|
|
102
|
+
// mcpCall already unwraps the remote call_agent envelope,
|
|
103
|
+
// so this returns the remote tool's result directly.
|
|
104
|
+
// registry.call() will wrap it in { success: true, result } for us.
|
|
105
|
+
return mcpCall(conn.url, jwt, request);
|
|
93
106
|
}
|
|
94
107
|
// --- Tools ---
|
|
95
108
|
const proxyTool = defineTool({
|
|
@@ -116,6 +129,32 @@ export function createRemoteRegistryAgent(options) {
|
|
|
116
129
|
});
|
|
117
130
|
},
|
|
118
131
|
});
|
|
132
|
+
const addConnectionTool = defineTool({
|
|
133
|
+
name: "add_connection",
|
|
134
|
+
description: "Directly store a connection to a remote registry (no OAuth exchange). Used for reverse registration.",
|
|
135
|
+
visibility: "public",
|
|
136
|
+
inputSchema: {
|
|
137
|
+
type: "object",
|
|
138
|
+
properties: {
|
|
139
|
+
id: { type: "string", description: "Connection ID" },
|
|
140
|
+
name: { type: "string", description: "Display name" },
|
|
141
|
+
url: { type: "string", description: "Remote registry URL" },
|
|
142
|
+
remoteTenantId: { type: "string", description: "Tenant ID on the remote side" },
|
|
143
|
+
},
|
|
144
|
+
required: ["id", "url"],
|
|
145
|
+
},
|
|
146
|
+
execute: async (input, _ctx) => {
|
|
147
|
+
const conn = {
|
|
148
|
+
id: input.id,
|
|
149
|
+
name: input.name ?? input.id,
|
|
150
|
+
url: input.url.replace(/\/$/, ""),
|
|
151
|
+
remoteTenantId: input.remoteTenantId ?? input.id,
|
|
152
|
+
createdAt: Date.now(),
|
|
153
|
+
};
|
|
154
|
+
await storeConnection("system", conn);
|
|
155
|
+
return { success: true, data: conn };
|
|
156
|
+
},
|
|
157
|
+
});
|
|
119
158
|
const listTool = defineTool({
|
|
120
159
|
name: "list_connections",
|
|
121
160
|
description: "List all connected remote registries.",
|
|
@@ -135,6 +174,7 @@ export function createRemoteRegistryAgent(options) {
|
|
|
135
174
|
});
|
|
136
175
|
// Extract setup/connect as standalone functions to avoid circular reference
|
|
137
176
|
const setupFn = async (params, _ctx) => {
|
|
177
|
+
console.log("[remote-registry] setupFn called with:", JSON.stringify(params));
|
|
138
178
|
const url = params.url;
|
|
139
179
|
const name = params.name ?? "registry";
|
|
140
180
|
const oidcUserId = params.oidcUserId;
|
|
@@ -147,7 +187,7 @@ export function createRemoteRegistryAgent(options) {
|
|
|
147
187
|
const jwt = await signJwt({ sub: oidcUserId, action: "setup", type: "agent-registry" });
|
|
148
188
|
const tokenRes = await globalThis.fetch(baseUrl + "/oauth/token", {
|
|
149
189
|
method: "POST", headers: { "Content-Type": "application/json" },
|
|
150
|
-
body: JSON.stringify({ grant_type: "jwt_exchange", assertion: jwt, scope: "setup" }),
|
|
190
|
+
body: JSON.stringify({ grant_type: "jwt_exchange", assertion: jwt, scope: "setup", redirect_uri: params.redirect_uri ?? "" }),
|
|
151
191
|
});
|
|
152
192
|
const tokenData = await tokenRes.json();
|
|
153
193
|
if (!tokenData.access_token && !tokenData.tenant_id) {
|
|
@@ -160,24 +200,35 @@ export function createRemoteRegistryAgent(options) {
|
|
|
160
200
|
}
|
|
161
201
|
// Phase 1: Discover JWKS, establish trust, then request OIDC
|
|
162
202
|
const configUrl = baseUrl + "/.well-known/configuration";
|
|
203
|
+
console.log("[setupFn] fetching config:", configUrl);
|
|
163
204
|
const configRes = await globalThis.fetch(configUrl);
|
|
205
|
+
console.log("[setupFn] config status:", configRes.status);
|
|
164
206
|
if (!configRes.ok)
|
|
165
207
|
return { success: false, error: "Failed to discover registry at " + configUrl };
|
|
166
208
|
const remoteConfig = await configRes.json();
|
|
167
209
|
if (remoteConfig.jwks_uri) {
|
|
210
|
+
console.log("[setupFn] fetching JWKS:", remoteConfig.jwks_uri);
|
|
168
211
|
const jwksRes = await globalThis.fetch(remoteConfig.jwks_uri);
|
|
212
|
+
console.log("[setupFn] JWKS status:", jwksRes.status);
|
|
169
213
|
if (!jwksRes.ok)
|
|
170
214
|
return { success: false, error: "JWKS not reachable" };
|
|
171
215
|
}
|
|
172
|
-
if (addTrustedIssuer)
|
|
216
|
+
if (addTrustedIssuer) {
|
|
217
|
+
console.log("[setupFn] adding trusted issuer:", baseUrl);
|
|
173
218
|
await addTrustedIssuer(baseUrl);
|
|
219
|
+
console.log("[setupFn] added trusted issuer");
|
|
220
|
+
}
|
|
174
221
|
// Request identity — atlas will return authorize URL for Slack OIDC
|
|
222
|
+
console.log("[setupFn] Phase 1: requesting identity via jwt_exchange");
|
|
175
223
|
const jwt = await signJwt({ action: "setup", type: "agent-registry", targetUrl: url });
|
|
224
|
+
console.log("[setupFn] POSTing to:", baseUrl + "/oauth/token");
|
|
176
225
|
const tokenRes = await globalThis.fetch(baseUrl + "/oauth/token", {
|
|
177
226
|
method: "POST", headers: { "Content-Type": "application/json" },
|
|
178
|
-
body: JSON.stringify({ grant_type: "jwt_exchange", assertion: jwt, scope: "setup" }),
|
|
227
|
+
body: JSON.stringify({ grant_type: "jwt_exchange", assertion: jwt, scope: "setup", redirect_uri: params.redirect_uri ?? "" }),
|
|
179
228
|
});
|
|
229
|
+
console.log("[setupFn] token status:", tokenRes.status);
|
|
180
230
|
const tokenData = await tokenRes.json();
|
|
231
|
+
console.log("[setupFn] tokenData:", JSON.stringify(tokenData).substring(0, 300));
|
|
181
232
|
// If already set up (user linked), store connection directly
|
|
182
233
|
if (tokenData.access_token) {
|
|
183
234
|
const remoteTenantId = tokenData.tenant_id ?? name;
|
|
@@ -280,7 +331,7 @@ export function createRemoteRegistryAgent(options) {
|
|
|
280
331
|
return { success: true, data: conn };
|
|
281
332
|
},
|
|
282
333
|
},
|
|
283
|
-
tools: [proxyTool, listTool],
|
|
334
|
+
tools: [proxyTool, listTool, addConnectionTool],
|
|
284
335
|
});
|
|
285
336
|
}
|
|
286
337
|
//# sourceMappingURL=remote-registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-registry.js","sourceRoot":"","sources":["../../src/agent-definitions/remote-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remote-registry.js","sourceRoot":"","sources":["../../src/agent-definitions/remote-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -74,4 +74,5 @@ export type { User, UserIdentity, UserStore, UsersAgentOptions, } from "./agent-
|
|
|
74
74
|
export * from "./integrations-store.js";
|
|
75
75
|
export * from "./integration-interface.js";
|
|
76
76
|
export type { ContextFactory } from "./registry.js";
|
|
77
|
+
export { createKeyManager, type KeyManager, type KeyStore, type KeyManagerOptions, type StoredKey, type KeyStatus } from "./key-manager.js";
|
|
77
78
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -74,4 +74,5 @@ export { createRemoteRegistryAgent } from "./agent-definitions/remote-registry.j
|
|
|
74
74
|
export { createUsersAgent, createInMemoryUserStore, } from "./agent-definitions/users.js";
|
|
75
75
|
export * from "./integrations-store.js";
|
|
76
76
|
export * from "./integration-interface.js";
|
|
77
|
+
export { createKeyManager } from "./key-manager.js";
|
|
77
78
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AA2CH,mBAAmB;AACnB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGtD,WAAW;AACX,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGpD,SAAS;AACT,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGtF,oBAAoB;AACpB,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAMhC,OAAO;AACP,OAAO,EACL,eAAe,EACf,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AASrC,QAAQ;AACR,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,UAAU;AACV,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,WAAW,EACX,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AAOxC,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM;AACN,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGpK,wBAAwB;AAExB,eAAe;AACf,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,qCAAqC,CAAC;AAkB7C,kBAAkB;AAClB,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,QAAQ;AACR,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AAOtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AA2CH,mBAAmB;AACnB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGtD,WAAW;AACX,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGpD,SAAS;AACT,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGtF,oBAAoB;AACpB,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAMhC,OAAO;AACP,OAAO,EACL,eAAe,EACf,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AASrC,QAAQ;AACR,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,UAAU;AACV,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,WAAW,EACX,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AAOxC,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM;AACN,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGpK,wBAAwB;AAExB,eAAe;AACf,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,qCAAqC,CAAC;AAkB7C,kBAAkB;AAClB,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,QAAQ;AACR,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AAOtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAA0F,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JWKS Key Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages ES256 signing keys with automatic rotation and revocation.
|
|
5
|
+
* Store-agnostic — provide a KeyStore implementation for your DB.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Automatic key rotation on a configurable schedule
|
|
9
|
+
* - Key lifecycle: active → deprecated → revoked → cleaned up
|
|
10
|
+
* - Multi-instance safe: checks DB before rotating (another instance may have already rotated)
|
|
11
|
+
* - Periodic background checks (configurable interval)
|
|
12
|
+
* - Exposes JWKS for /.well-known/jwks.json
|
|
13
|
+
* - Signs JWTs with the active key
|
|
14
|
+
*/
|
|
15
|
+
import { type JWK } from "jose";
|
|
16
|
+
export type KeyStatus = "active" | "deprecated" | "revoked";
|
|
17
|
+
export interface StoredKey {
|
|
18
|
+
kid: string;
|
|
19
|
+
alg: string;
|
|
20
|
+
status: KeyStatus;
|
|
21
|
+
publicJwk: JWK;
|
|
22
|
+
privateJwk: JWK;
|
|
23
|
+
createdAt: Date;
|
|
24
|
+
expiresAt: Date;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Pluggable store interface for key persistence.
|
|
28
|
+
* Implement this for your database (CockroachDB, Postgres, SQLite, etc.)
|
|
29
|
+
*/
|
|
30
|
+
export interface KeyStore {
|
|
31
|
+
/** Load all non-revoked keys */
|
|
32
|
+
loadKeys(): Promise<StoredKey[]>;
|
|
33
|
+
/** Insert a new key */
|
|
34
|
+
insertKey(key: StoredKey): Promise<void>;
|
|
35
|
+
/** Set all active keys to deprecated */
|
|
36
|
+
deprecateAllActive(): Promise<void>;
|
|
37
|
+
/** Delete expired keys, return count deleted */
|
|
38
|
+
cleanupExpired(): Promise<number>;
|
|
39
|
+
/**
|
|
40
|
+
* Run operations atomically. Implementations with transaction support
|
|
41
|
+
* should wrap the callback in a DB transaction to ensure rotate() is
|
|
42
|
+
* atomic (load + deprecate + insert + cleanup all succeed or all fail).
|
|
43
|
+
* For stores without real tx support, pass a no-op wrapper that runs fn sequentially.
|
|
44
|
+
*/
|
|
45
|
+
transaction<T>(fn: () => Promise<T>): Promise<T>;
|
|
46
|
+
}
|
|
47
|
+
export interface KeyManager {
|
|
48
|
+
/** Get the JWKS for /.well-known/jwks.json */
|
|
49
|
+
getJwks(): {
|
|
50
|
+
keys: JWK[];
|
|
51
|
+
};
|
|
52
|
+
/** Sign a JWT with the active key */
|
|
53
|
+
signJwt(claims: Record<string, unknown>): Promise<string>;
|
|
54
|
+
/** Force a key rotation */
|
|
55
|
+
rotate(): Promise<void>;
|
|
56
|
+
/** Stop the background rotation check */
|
|
57
|
+
stop(): void;
|
|
58
|
+
}
|
|
59
|
+
export interface KeyManagerOptions {
|
|
60
|
+
/** Key store implementation */
|
|
61
|
+
store: KeyStore;
|
|
62
|
+
/** Issuer URL for the iss claim */
|
|
63
|
+
issuer: string;
|
|
64
|
+
/** How often to check if rotation is needed (default: 5 min) */
|
|
65
|
+
checkIntervalMs?: number;
|
|
66
|
+
/** Max age of an active key before rotation (default: 1 hour) */
|
|
67
|
+
rotationThresholdMs?: number;
|
|
68
|
+
/** How long deprecated keys stay in JWKS for verification (default: 2 hours) */
|
|
69
|
+
keyLifetimeMs?: number;
|
|
70
|
+
/** Token TTL in seconds (default: 300 = 5 min) */
|
|
71
|
+
tokenTtlSeconds?: number;
|
|
72
|
+
/** Enable background key rotation (default: true). Set to false on read-only replicas. */
|
|
73
|
+
enableRotation?: boolean;
|
|
74
|
+
}
|
|
75
|
+
export declare function createKeyManager(opts: KeyManagerOptions): Promise<KeyManager>;
|
|
76
|
+
//# sourceMappingURL=key-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-manager.d.ts","sourceRoot":"","sources":["../src/key-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAKL,KAAK,GAAG,EACT,MAAM,MAAM,CAAC;AAId,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;AAE5D,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC;IACf,UAAU,EAAE,GAAG,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAMD;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACjC,uBAAuB;IACvB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,wCAAwC;IACxC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,gDAAgD;IAChD,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC;;;;;OAKG;IACH,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,OAAO,IAAI;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;IAC3B,qCAAqC;IACrC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,2BAA2B;IAC3B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,yCAAyC;IACzC,IAAI,IAAI,IAAI,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,KAAK,EAAE,QAAQ,CAAC;IAChB,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AA8CD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAyHnF"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JWKS Key Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages ES256 signing keys with automatic rotation and revocation.
|
|
5
|
+
* Store-agnostic — provide a KeyStore implementation for your DB.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Automatic key rotation on a configurable schedule
|
|
9
|
+
* - Key lifecycle: active → deprecated → revoked → cleaned up
|
|
10
|
+
* - Multi-instance safe: checks DB before rotating (another instance may have already rotated)
|
|
11
|
+
* - Periodic background checks (configurable interval)
|
|
12
|
+
* - Exposes JWKS for /.well-known/jwks.json
|
|
13
|
+
* - Signs JWTs with the active key
|
|
14
|
+
*/
|
|
15
|
+
import { generateKeyPair, exportJWK, importJWK, SignJWT, } from "jose";
|
|
16
|
+
// ── Constants ──
|
|
17
|
+
const FIVE_MINUTES = 5 * 60 * 1000;
|
|
18
|
+
const ONE_HOUR = 60 * 60 * 1000;
|
|
19
|
+
const TWO_HOURS = 2 * ONE_HOUR;
|
|
20
|
+
const ALG = "ES256";
|
|
21
|
+
// ── Key generation ──
|
|
22
|
+
function generateKid() {
|
|
23
|
+
return `key-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
24
|
+
}
|
|
25
|
+
async function generateNewKey(keyLifetimeMs) {
|
|
26
|
+
const { privateKey, publicKey } = await generateKeyPair(ALG, { extractable: true });
|
|
27
|
+
const kid = generateKid();
|
|
28
|
+
const publicJwk = await exportJWK(publicKey);
|
|
29
|
+
publicJwk.kid = kid;
|
|
30
|
+
publicJwk.alg = ALG;
|
|
31
|
+
publicJwk.use = "sig";
|
|
32
|
+
const privateJwk = await exportJWK(privateKey);
|
|
33
|
+
privateJwk.kid = kid;
|
|
34
|
+
privateJwk.alg = ALG;
|
|
35
|
+
return {
|
|
36
|
+
kid,
|
|
37
|
+
alg: ALG,
|
|
38
|
+
status: "active",
|
|
39
|
+
publicJwk,
|
|
40
|
+
privateJwk,
|
|
41
|
+
createdAt: new Date(),
|
|
42
|
+
expiresAt: new Date(Date.now() + keyLifetimeMs),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
async function toCachedKey(stored) {
|
|
46
|
+
const privateKey = await importJWK(stored.privateJwk, ALG);
|
|
47
|
+
return { ...stored, privateKey };
|
|
48
|
+
}
|
|
49
|
+
// ── Key Manager ──
|
|
50
|
+
export async function createKeyManager(opts) {
|
|
51
|
+
const { store, issuer, checkIntervalMs = FIVE_MINUTES, rotationThresholdMs = ONE_HOUR, keyLifetimeMs = TWO_HOURS, tokenTtlSeconds = 300, enableRotation = true, } = opts;
|
|
52
|
+
let keys = [];
|
|
53
|
+
/** Generate a new key, deprecate old ones, cleanup expired, refresh cache — all in one transaction */
|
|
54
|
+
async function rotate() {
|
|
55
|
+
await store.transaction(async () => {
|
|
56
|
+
const newKey = await generateNewKey(keyLifetimeMs);
|
|
57
|
+
await store.deprecateAllActive();
|
|
58
|
+
await store.insertKey(newKey);
|
|
59
|
+
await store.cleanupExpired();
|
|
60
|
+
const updated = await store.loadKeys();
|
|
61
|
+
keys = await Promise.all(updated.map(toCachedKey));
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/** Check if rotation is needed and rotate if so — all within a single transaction */
|
|
65
|
+
async function checkAndRotate() {
|
|
66
|
+
// Quick check against cache — no DB/store hit if key is fresh
|
|
67
|
+
const cached = keys.find((k) => k.status === "active");
|
|
68
|
+
if (cached) {
|
|
69
|
+
const age = Date.now() - cached.createdAt.getTime();
|
|
70
|
+
if (age < rotationThresholdMs)
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
// Cache says stale (or empty) — take a lock via transaction to check + rotate atomically
|
|
74
|
+
await store.transaction(async () => {
|
|
75
|
+
const stored = await store.loadKeys();
|
|
76
|
+
const active = stored.find((k) => k.status === "active");
|
|
77
|
+
if (active) {
|
|
78
|
+
const age = Date.now() - active.createdAt.getTime();
|
|
79
|
+
if (age < rotationThresholdMs) {
|
|
80
|
+
// Another instance already rotated — just update our cache
|
|
81
|
+
keys = await Promise.all(stored.map(toCachedKey));
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// Still stale (or no active key) — rotate within this tx
|
|
86
|
+
const newKey = await generateNewKey(keyLifetimeMs);
|
|
87
|
+
await store.deprecateAllActive();
|
|
88
|
+
await store.insertKey(newKey);
|
|
89
|
+
await store.cleanupExpired();
|
|
90
|
+
// Refresh cache inside the tx for a consistent read
|
|
91
|
+
const updated = await store.loadKeys();
|
|
92
|
+
keys = await Promise.all(updated.map(toCachedKey));
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
// Initial load + ensure we have at least one key
|
|
96
|
+
// Initial load from store
|
|
97
|
+
const stored = await store.loadKeys();
|
|
98
|
+
keys = await Promise.all(stored.map(toCachedKey));
|
|
99
|
+
if (!keys.some((k) => k.status === "active")) {
|
|
100
|
+
if (enableRotation) {
|
|
101
|
+
await rotate();
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
// Read-only mode: generate a key in memory only (no store writes)
|
|
105
|
+
// This ensures signJwt works even without rotation enabled
|
|
106
|
+
const newKey = await generateNewKey(keyLifetimeMs);
|
|
107
|
+
keys.push(await toCachedKey(newKey));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else if (enableRotation) {
|
|
111
|
+
await checkAndRotate();
|
|
112
|
+
}
|
|
113
|
+
// Periodic background check (only if rotation enabled)
|
|
114
|
+
const interval = enableRotation
|
|
115
|
+
? setInterval(async () => {
|
|
116
|
+
try {
|
|
117
|
+
await checkAndRotate();
|
|
118
|
+
}
|
|
119
|
+
catch (err) {
|
|
120
|
+
console.error("[key-manager] Check/rotation failed:", err);
|
|
121
|
+
}
|
|
122
|
+
}, checkIntervalMs)
|
|
123
|
+
: null;
|
|
124
|
+
function getActiveKey() {
|
|
125
|
+
const active = keys.find((k) => k.status === "active");
|
|
126
|
+
if (!active)
|
|
127
|
+
throw new Error("[key-manager] No active signing key");
|
|
128
|
+
return active;
|
|
129
|
+
}
|
|
130
|
+
return {
|
|
131
|
+
getJwks() {
|
|
132
|
+
return {
|
|
133
|
+
keys: keys
|
|
134
|
+
.filter((k) => k.status !== "revoked")
|
|
135
|
+
.map((k) => k.publicJwk),
|
|
136
|
+
};
|
|
137
|
+
},
|
|
138
|
+
async signJwt(claims) {
|
|
139
|
+
const key = getActiveKey();
|
|
140
|
+
return new SignJWT({ ...claims })
|
|
141
|
+
.setProtectedHeader({ alg: ALG, kid: key.kid })
|
|
142
|
+
.setIssuer(issuer)
|
|
143
|
+
.setIssuedAt()
|
|
144
|
+
.setExpirationTime(`${tokenTtlSeconds}s`)
|
|
145
|
+
.sign(key.privateKey);
|
|
146
|
+
},
|
|
147
|
+
async rotate() {
|
|
148
|
+
await rotate();
|
|
149
|
+
},
|
|
150
|
+
stop() {
|
|
151
|
+
if (interval)
|
|
152
|
+
clearInterval(interval);
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=key-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-manager.js","sourceRoot":"","sources":["../src/key-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -85,6 +85,8 @@ export interface AgentServerOptions {
|
|
|
85
85
|
signingKey?: SigningKey;
|
|
86
86
|
/** OAuth identity provider for cross-registry user linking */
|
|
87
87
|
oauthIdentityProvider?: OAuthIdentityProvider;
|
|
88
|
+
/** Key store for managed key rotation (if provided, uses createKeyManager instead of simple key gen) */
|
|
89
|
+
keyStore?: import("./key-manager.js").KeyStore;
|
|
88
90
|
}
|
|
89
91
|
export interface AgentServer {
|
|
90
92
|
/** Initialize signing keys without starting HTTP server */
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EACL,KAAK,WAAW,EAEjB,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,YAAY,CAAC;AAMhF,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAID,2EAA2E;AAC3E,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE;QAC9B,iDAAiD;QACjD,KAAK,EAAE,MAAM,CAAC;QACd,mCAAmC;QACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,yCAAyC;QACzC,WAAW,EAAE,MAAM,CAAC;QACpB,8BAA8B;QAC9B,OAAO,EAAE,MAAM,CAAC;QAChB,0DAA0D;QAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE;QAC7B,8BAA8B;QAC9B,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvB;AACD,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iDAAiD;IACjD,cAAc,CAAC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC;IAC5C,6EAA6E;IAC7E,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,8DAA8D;IAC9D,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|