@kya-os/mcp-i-cloudflare 1.5.8-canary.6 → 1.5.8-canary.60
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 +130 -0
- package/dist/__tests__/e2e/test-config.d.ts +37 -0
- package/dist/__tests__/e2e/test-config.d.ts.map +1 -0
- package/dist/__tests__/e2e/test-config.js +62 -0
- package/dist/__tests__/e2e/test-config.js.map +1 -0
- package/dist/adapter.d.ts +44 -0
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +677 -88
- package/dist/adapter.js.map +1 -1
- package/dist/agent.d.ts +69 -25
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +438 -39
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts +0 -8
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +208 -55
- package/dist/app.js.map +1 -1
- package/dist/cache/kv-oauth-config-cache.d.ts +47 -0
- package/dist/cache/kv-oauth-config-cache.d.ts.map +1 -0
- package/dist/cache/kv-oauth-config-cache.js +82 -0
- package/dist/cache/kv-oauth-config-cache.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +33 -4
- package/dist/config.js.map +1 -1
- package/dist/helpers/env-mapper.d.ts +60 -1
- package/dist/helpers/env-mapper.d.ts.map +1 -1
- package/dist/helpers/env-mapper.js +136 -6
- package/dist/helpers/env-mapper.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/runtime/audit-logger.d.ts +96 -0
- package/dist/runtime/audit-logger.d.ts.map +1 -0
- package/dist/runtime/audit-logger.js +276 -0
- package/dist/runtime/audit-logger.js.map +1 -0
- package/dist/runtime/oauth-handler.d.ts +5 -0
- package/dist/runtime/oauth-handler.d.ts.map +1 -1
- package/dist/runtime/oauth-handler.js +287 -35
- package/dist/runtime/oauth-handler.js.map +1 -1
- package/dist/runtime.d.ts +12 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +34 -4
- package/dist/runtime.js.map +1 -1
- package/dist/server.d.ts +7 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +55 -2
- package/dist/server.js.map +1 -1
- package/dist/services/admin.service.d.ts.map +1 -1
- package/dist/services/admin.service.js +27 -0
- package/dist/services/admin.service.js.map +1 -1
- package/dist/services/consent-audit.service.d.ts +91 -0
- package/dist/services/consent-audit.service.d.ts.map +1 -0
- package/dist/services/consent-audit.service.js +243 -0
- package/dist/services/consent-audit.service.js.map +1 -0
- package/dist/services/consent-config.service.d.ts +2 -2
- package/dist/services/consent-config.service.d.ts.map +1 -1
- package/dist/services/consent-config.service.js +55 -24
- package/dist/services/consent-config.service.js.map +1 -1
- package/dist/services/consent-page-renderer.d.ts +14 -0
- package/dist/services/consent-page-renderer.d.ts.map +1 -1
- package/dist/services/consent-page-renderer.js +42 -0
- package/dist/services/consent-page-renderer.js.map +1 -1
- package/dist/services/consent.service.d.ts +82 -4
- package/dist/services/consent.service.d.ts.map +1 -1
- package/dist/services/consent.service.js +1717 -34
- package/dist/services/consent.service.js.map +1 -1
- package/dist/services/delegation.service.d.ts.map +1 -1
- package/dist/services/delegation.service.js +67 -29
- package/dist/services/delegation.service.js.map +1 -1
- package/dist/services/idp-token-storage.d.ts +68 -0
- package/dist/services/idp-token-storage.d.ts.map +1 -0
- package/dist/services/idp-token-storage.js +157 -0
- package/dist/services/idp-token-storage.js.map +1 -0
- package/dist/services/oauth-service.d.ts +66 -0
- package/dist/services/oauth-service.d.ts.map +1 -0
- package/dist/services/oauth-service.js +223 -0
- package/dist/services/oauth-service.js.map +1 -0
- package/dist/services/proof.service.d.ts +5 -3
- package/dist/services/proof.service.d.ts.map +1 -1
- package/dist/services/proof.service.js +35 -8
- package/dist/services/proof.service.js.map +1 -1
- package/dist/services/tool-context-builder.d.ts +55 -0
- package/dist/services/tool-context-builder.d.ts.map +1 -0
- package/dist/services/tool-context-builder.js +124 -0
- package/dist/services/tool-context-builder.js.map +1 -0
- package/dist/types/tool-context.d.ts +35 -0
- package/dist/types/tool-context.d.ts.map +1 -0
- package/dist/types/tool-context.js +13 -0
- package/dist/types/tool-context.js.map +1 -0
- package/dist/types.d.ts +30 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +27 -60
package/dist/app.js
CHANGED
|
@@ -9,7 +9,6 @@ import { cors } from "hono/cors";
|
|
|
9
9
|
import { MCPICloudflareServer } from "./server";
|
|
10
10
|
import { CloudflareRuntime, createCloudflareRuntime } from "./index";
|
|
11
11
|
import { mapPrefixedEnv } from "./helpers/env-mapper";
|
|
12
|
-
import { MCPICloudflareAgent } from "./agent";
|
|
13
12
|
/**
|
|
14
13
|
* Create a Hono app with all MCP-I routes configured
|
|
15
14
|
*
|
|
@@ -28,67 +27,96 @@ import { MCPICloudflareAgent } from "./agent";
|
|
|
28
27
|
* ```
|
|
29
28
|
*/
|
|
30
29
|
export function createMCPIApp(options) {
|
|
31
|
-
//
|
|
32
|
-
|
|
33
|
-
name: options.agentName,
|
|
34
|
-
version: options.agentVersion,
|
|
35
|
-
envPrefix: options.envPrefix,
|
|
36
|
-
getRuntimeConfig: options.getRuntimeConfig,
|
|
37
|
-
});
|
|
30
|
+
// Agent class is now self-contained and implements required abstract methods
|
|
31
|
+
// No registry pattern needed - configuration is accessed via abstract methods
|
|
38
32
|
const app = new Hono();
|
|
39
33
|
app.use("*", cors());
|
|
40
34
|
// Initialize MCPICloudflareServer for framework routes
|
|
41
35
|
let mcpiServer = null;
|
|
42
36
|
async function getMcpiServer(env) {
|
|
43
37
|
if (!mcpiServer) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
mappedEnv
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
38
|
+
let runtimeConfig;
|
|
39
|
+
try {
|
|
40
|
+
console.log("[App] Initializing MCPICloudflareServer...");
|
|
41
|
+
// Map prefixed KV bindings to standard names
|
|
42
|
+
const mappedEnv = options.envPrefix
|
|
43
|
+
? mapPrefixedEnv(env, options.envPrefix)
|
|
44
|
+
: env;
|
|
45
|
+
console.log("[App] Getting runtime config...");
|
|
46
|
+
runtimeConfig = options.getRuntimeConfig(mappedEnv);
|
|
47
|
+
// Create runtime for MCPICloudflareServer
|
|
48
|
+
const toolProtectionService = runtimeConfig.toolProtection &&
|
|
49
|
+
mappedEnv.TOOL_PROTECTION_KV &&
|
|
50
|
+
mappedEnv.AGENTSHIELD_API_KEY
|
|
51
|
+
? CloudflareRuntime.createToolProtectionService(mappedEnv.TOOL_PROTECTION_KV, {
|
|
52
|
+
apiUrl: runtimeConfig.toolProtection.agentShield?.apiUrl ||
|
|
53
|
+
mappedEnv.AGENTSHIELD_API_URL ||
|
|
54
|
+
"https://kya.vouched.id",
|
|
55
|
+
apiKey: mappedEnv.AGENTSHIELD_API_KEY,
|
|
56
|
+
projectId: runtimeConfig.toolProtection.agentShield?.projectId ||
|
|
57
|
+
mappedEnv.AGENTSHIELD_PROJECT_ID,
|
|
58
|
+
cacheTtl: runtimeConfig.toolProtection.agentShield?.cacheTtl || 300000,
|
|
59
|
+
debug: runtimeConfig.environment === "development",
|
|
60
|
+
// Wrap fallback ToolProtectionMap into ToolProtectionConfig format
|
|
61
|
+
// Handle both wrapped and unwrapped formats for backward compatibility
|
|
62
|
+
fallbackConfig: runtimeConfig.toolProtection.fallback
|
|
63
|
+
? runtimeConfig.toolProtection.fallback.toolProtections !==
|
|
64
|
+
undefined
|
|
65
|
+
? runtimeConfig.toolProtection.fallback // Already wrapped
|
|
66
|
+
: { toolProtections: runtimeConfig.toolProtection.fallback } // Wrap it
|
|
67
|
+
: undefined,
|
|
68
|
+
})
|
|
69
|
+
: undefined;
|
|
70
|
+
const runtime = createCloudflareRuntime({
|
|
71
|
+
env: mappedEnv,
|
|
72
|
+
environment: runtimeConfig.environment,
|
|
73
|
+
audit: {
|
|
74
|
+
enabled: runtimeConfig.audit?.enabled ?? true,
|
|
75
|
+
logFunction: runtimeConfig.audit?.logFunction ||
|
|
76
|
+
((record) => console.log("[MCP-I Audit]", record)),
|
|
77
|
+
},
|
|
78
|
+
toolProtectionService,
|
|
79
|
+
runtimeConfig, // Pass full CloudflareRuntimeConfig for proofing support
|
|
80
|
+
});
|
|
81
|
+
console.log("[App] Creating MCPICloudflareServer...");
|
|
82
|
+
mcpiServer = new MCPICloudflareServer({
|
|
83
|
+
env: mappedEnv,
|
|
84
|
+
config: runtimeConfig,
|
|
85
|
+
runtime,
|
|
86
|
+
});
|
|
87
|
+
console.log("[App] MCPICloudflareServer initialized successfully");
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
console.error("[App] Failed to initialize MCPICloudflareServer:", error);
|
|
91
|
+
console.error("[App] Error message:", error?.message);
|
|
92
|
+
console.error("[App] Error stack:", error?.stack);
|
|
93
|
+
console.error("[App] Error name:", error?.name);
|
|
94
|
+
if (error?.cause) {
|
|
95
|
+
console.error("[App] Error cause:", error.cause);
|
|
96
|
+
}
|
|
97
|
+
console.error("[App] Environment keys:", Object.keys(env || {}));
|
|
98
|
+
throw error; // Re-throw so route handlers can catch it
|
|
99
|
+
}
|
|
85
100
|
}
|
|
86
101
|
return mcpiServer;
|
|
87
102
|
}
|
|
88
103
|
// Route framework endpoints to MCPICloudflareServer
|
|
89
104
|
app.all("/health", async (c) => {
|
|
90
|
-
|
|
91
|
-
|
|
105
|
+
try {
|
|
106
|
+
console.log("[App] Health check route hit");
|
|
107
|
+
const server = await getMcpiServer(c.env);
|
|
108
|
+
return server.handleRequest(c.req.raw, c.executionCtx);
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
console.error("[App] Health check error:", error);
|
|
112
|
+
return new Response(JSON.stringify({
|
|
113
|
+
status: "error",
|
|
114
|
+
error: error?.message || "Unknown error"
|
|
115
|
+
}), {
|
|
116
|
+
status: 500,
|
|
117
|
+
headers: { "Content-Type": "application/json" }
|
|
118
|
+
});
|
|
119
|
+
}
|
|
92
120
|
});
|
|
93
121
|
// Consent routes - handle both exact /consent and /consent/* paths
|
|
94
122
|
app.all("/consent", async (c) => {
|
|
@@ -126,10 +154,135 @@ export function createMCPIApp(options) {
|
|
|
126
154
|
// This is handled by Cloudflare Workers runtime
|
|
127
155
|
// Cast to McpAgent to access static serve/serveSSE methods
|
|
128
156
|
const AgentClass = options.AgentClass;
|
|
129
|
-
//
|
|
130
|
-
//
|
|
131
|
-
|
|
132
|
-
|
|
157
|
+
// Get fetch handlers from agent class
|
|
158
|
+
// These handlers manage Durable Object routing internally
|
|
159
|
+
const sseHandler = AgentClass.serveSSE("/sse").fetch;
|
|
160
|
+
const mcpHandler = AgentClass.serve("/mcp").fetch;
|
|
161
|
+
// Register routes using app.all() to handle all HTTP methods
|
|
162
|
+
// The agent's fetch handlers will handle routing to the correct Durable Object instance
|
|
163
|
+
app.all("/sse", async (c) => {
|
|
164
|
+
try {
|
|
165
|
+
console.log("[App] SSE route hit:", { url: c.req.url, method: c.req.method });
|
|
166
|
+
return await sseHandler(c.req.raw, c.env, c.executionCtx);
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
console.error("[App] SSE route error:", error);
|
|
170
|
+
console.error("[App] Error message:", error?.message);
|
|
171
|
+
console.error("[App] Error stack:", error?.stack);
|
|
172
|
+
// Get runtime config to check environment
|
|
173
|
+
let isDev = false;
|
|
174
|
+
try {
|
|
175
|
+
const mappedEnv = options.envPrefix
|
|
176
|
+
? mapPrefixedEnv(c.env, options.envPrefix)
|
|
177
|
+
: c.env;
|
|
178
|
+
const config = options.getRuntimeConfig(mappedEnv);
|
|
179
|
+
isDev = config.environment === "development";
|
|
180
|
+
}
|
|
181
|
+
catch {
|
|
182
|
+
// Ignore errors getting config
|
|
183
|
+
}
|
|
184
|
+
return new Response(JSON.stringify({
|
|
185
|
+
jsonrpc: "2.0",
|
|
186
|
+
error: {
|
|
187
|
+
code: -32603,
|
|
188
|
+
message: "Internal server error",
|
|
189
|
+
data: isDev ? error?.message : undefined
|
|
190
|
+
}
|
|
191
|
+
}), {
|
|
192
|
+
status: 500,
|
|
193
|
+
headers: { "Content-Type": "application/json" }
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
app.all("/mcp", async (c) => {
|
|
198
|
+
try {
|
|
199
|
+
console.log("[App] MCP route hit:", {
|
|
200
|
+
url: c.req.url,
|
|
201
|
+
method: c.req.method,
|
|
202
|
+
pathname: new URL(c.req.url).pathname
|
|
203
|
+
});
|
|
204
|
+
const response = await mcpHandler(c.req.raw, c.env, c.executionCtx);
|
|
205
|
+
console.log("[App] MCP route response status:", response?.status);
|
|
206
|
+
return response;
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
console.error("[App] MCP route error:", error);
|
|
210
|
+
console.error("[App] Error message:", error?.message);
|
|
211
|
+
console.error("[App] Error stack:", error?.stack);
|
|
212
|
+
console.error("[App] Error name:", error?.name);
|
|
213
|
+
if (error?.cause) {
|
|
214
|
+
console.error("[App] Error cause:", error.cause);
|
|
215
|
+
}
|
|
216
|
+
// Get runtime config to check environment
|
|
217
|
+
let isDev = false;
|
|
218
|
+
try {
|
|
219
|
+
const mappedEnv = options.envPrefix
|
|
220
|
+
? mapPrefixedEnv(c.env, options.envPrefix)
|
|
221
|
+
: c.env;
|
|
222
|
+
const config = options.getRuntimeConfig(mappedEnv);
|
|
223
|
+
isDev = config.environment === "development";
|
|
224
|
+
}
|
|
225
|
+
catch {
|
|
226
|
+
// Ignore errors getting config
|
|
227
|
+
}
|
|
228
|
+
return new Response(JSON.stringify({
|
|
229
|
+
jsonrpc: "2.0",
|
|
230
|
+
error: {
|
|
231
|
+
code: -32603,
|
|
232
|
+
message: "Internal server error",
|
|
233
|
+
data: isDev ? error?.message : undefined
|
|
234
|
+
}
|
|
235
|
+
}), {
|
|
236
|
+
status: 500,
|
|
237
|
+
headers: { "Content-Type": "application/json" }
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
// Also handle /mcp/* paths for sub-routes (e.g., /mcp/handshake)
|
|
242
|
+
app.all("/mcp/*", async (c) => {
|
|
243
|
+
try {
|
|
244
|
+
console.log("[App] MCP wildcard route hit:", {
|
|
245
|
+
url: c.req.url,
|
|
246
|
+
method: c.req.method,
|
|
247
|
+
pathname: new URL(c.req.url).pathname
|
|
248
|
+
});
|
|
249
|
+
const response = await mcpHandler(c.req.raw, c.env, c.executionCtx);
|
|
250
|
+
console.log("[App] MCP wildcard route response status:", response?.status);
|
|
251
|
+
return response;
|
|
252
|
+
}
|
|
253
|
+
catch (error) {
|
|
254
|
+
console.error("[App] MCP wildcard route error:", error);
|
|
255
|
+
console.error("[App] Error message:", error?.message);
|
|
256
|
+
console.error("[App] Error stack:", error?.stack);
|
|
257
|
+
console.error("[App] Error name:", error?.name);
|
|
258
|
+
if (error?.cause) {
|
|
259
|
+
console.error("[App] Error cause:", error.cause);
|
|
260
|
+
}
|
|
261
|
+
// Get runtime config to check environment
|
|
262
|
+
let isDev = false;
|
|
263
|
+
try {
|
|
264
|
+
const mappedEnv = options.envPrefix
|
|
265
|
+
? mapPrefixedEnv(c.env, options.envPrefix)
|
|
266
|
+
: c.env;
|
|
267
|
+
const config = options.getRuntimeConfig(mappedEnv);
|
|
268
|
+
isDev = config.environment === "development";
|
|
269
|
+
}
|
|
270
|
+
catch {
|
|
271
|
+
// Ignore errors getting config
|
|
272
|
+
}
|
|
273
|
+
return new Response(JSON.stringify({
|
|
274
|
+
jsonrpc: "2.0",
|
|
275
|
+
error: {
|
|
276
|
+
code: -32603,
|
|
277
|
+
message: "Internal server error",
|
|
278
|
+
data: isDev ? error?.message : undefined
|
|
279
|
+
}
|
|
280
|
+
}), {
|
|
281
|
+
status: 500,
|
|
282
|
+
headers: { "Content-Type": "application/json" }
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
});
|
|
133
286
|
// Return Cloudflare Worker export with both fetch and scheduled handlers
|
|
134
287
|
return {
|
|
135
288
|
fetch: app.fetch.bind(app),
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloudflare KV-based cache implementation for OAuth provider configurations
|
|
3
|
+
*
|
|
4
|
+
* Uses Cloudflare KV for distributed caching across Workers instances.
|
|
5
|
+
* Suitable for production Cloudflare Workers deployments.
|
|
6
|
+
*
|
|
7
|
+
* @package @kya-os/mcp-i-cloudflare
|
|
8
|
+
*/
|
|
9
|
+
import type { OAuthConfig } from "@kya-os/contracts/config";
|
|
10
|
+
import type { OAuthConfigCache } from "@kya-os/mcp-i-core";
|
|
11
|
+
/**
|
|
12
|
+
* Minimal KV interface for compatibility across @cloudflare/workers-types versions
|
|
13
|
+
*/
|
|
14
|
+
interface KVNamespaceLike {
|
|
15
|
+
get(key: string, options?: {
|
|
16
|
+
type?: 'text' | 'json' | 'arrayBuffer' | 'stream';
|
|
17
|
+
}): Promise<string | null>;
|
|
18
|
+
put(key: string, value: string, options?: {
|
|
19
|
+
expirationTtl?: number;
|
|
20
|
+
}): Promise<void>;
|
|
21
|
+
delete(key: string): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
export interface KVOAuthConfigCacheConfig {
|
|
24
|
+
/** KV namespace for storing cached configs */
|
|
25
|
+
kv: KVNamespaceLike;
|
|
26
|
+
/** Optional key prefix (default: "oauth-config:") */
|
|
27
|
+
keyPrefix?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* KV-based cache implementation for OAuth configs
|
|
31
|
+
*
|
|
32
|
+
* Storage format:
|
|
33
|
+
* - Key: `oauth-config:{projectId}`
|
|
34
|
+
* - Value: JSON stringified OAuthConfig
|
|
35
|
+
* - Metadata: expiration timestamp stored in KV metadata
|
|
36
|
+
*/
|
|
37
|
+
export declare class KVOAuthConfigCache implements OAuthConfigCache {
|
|
38
|
+
private kv;
|
|
39
|
+
private keyPrefix;
|
|
40
|
+
constructor(config: KVOAuthConfigCacheConfig);
|
|
41
|
+
get(key: string): Promise<OAuthConfig | null>;
|
|
42
|
+
set(key: string, value: OAuthConfig, ttl: number): Promise<void>;
|
|
43
|
+
clear(): Promise<void>;
|
|
44
|
+
delete(key: string): Promise<void>;
|
|
45
|
+
}
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=kv-oauth-config-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kv-oauth-config-cache.d.ts","sourceRoot":"","sources":["../../src/cache/kv-oauth-config-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;GAEG;AACH,UAAU,eAAe;IACvB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1G,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,wBAAwB;IACvC,8CAA8C;IAC9C,EAAE,EAAE,eAAe,CAAC;IAEpB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,qBAAa,kBAAmB,YAAW,gBAAgB;IACzD,OAAO,CAAC,EAAE,CAAkB;IAC5B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,wBAAwB;IAKtC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAwB7C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBhE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAazC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloudflare KV-based cache implementation for OAuth provider configurations
|
|
3
|
+
*
|
|
4
|
+
* Uses Cloudflare KV for distributed caching across Workers instances.
|
|
5
|
+
* Suitable for production Cloudflare Workers deployments.
|
|
6
|
+
*
|
|
7
|
+
* @package @kya-os/mcp-i-cloudflare
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* KV-based cache implementation for OAuth configs
|
|
11
|
+
*
|
|
12
|
+
* Storage format:
|
|
13
|
+
* - Key: `oauth-config:{projectId}`
|
|
14
|
+
* - Value: JSON stringified OAuthConfig
|
|
15
|
+
* - Metadata: expiration timestamp stored in KV metadata
|
|
16
|
+
*/
|
|
17
|
+
export class KVOAuthConfigCache {
|
|
18
|
+
kv;
|
|
19
|
+
keyPrefix;
|
|
20
|
+
constructor(config) {
|
|
21
|
+
this.kv = config.kv;
|
|
22
|
+
this.keyPrefix = config.keyPrefix || "oauth-config:";
|
|
23
|
+
}
|
|
24
|
+
async get(key) {
|
|
25
|
+
const cacheKey = `${this.keyPrefix}${key}`;
|
|
26
|
+
try {
|
|
27
|
+
const cached = await this.kv.get(cacheKey, {
|
|
28
|
+
type: "json",
|
|
29
|
+
});
|
|
30
|
+
if (!cached) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
// KV automatically handles expiration via expirationTtl set during put()
|
|
34
|
+
// When type is "json", KV returns the parsed object
|
|
35
|
+
return cached;
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
console.warn("[KVOAuthConfigCache] Failed to get cache entry", {
|
|
39
|
+
key: cacheKey,
|
|
40
|
+
error: error instanceof Error ? error.message : String(error),
|
|
41
|
+
});
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async set(key, value, ttl) {
|
|
46
|
+
const cacheKey = `${this.keyPrefix}${key}`;
|
|
47
|
+
try {
|
|
48
|
+
// Convert TTL from milliseconds to seconds (KV uses seconds)
|
|
49
|
+
const ttlSeconds = Math.floor(ttl / 1000);
|
|
50
|
+
await this.kv.put(cacheKey, JSON.stringify(value), {
|
|
51
|
+
expirationTtl: ttlSeconds,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
console.warn("[KVOAuthConfigCache] Failed to set cache entry", {
|
|
56
|
+
key: cacheKey,
|
|
57
|
+
error: error instanceof Error ? error.message : String(error),
|
|
58
|
+
});
|
|
59
|
+
// Don't throw - cache failures shouldn't break the app
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async clear() {
|
|
63
|
+
// KV doesn't support clearing all keys efficiently
|
|
64
|
+
// This would require listing all keys, which is expensive
|
|
65
|
+
// For now, we'll log a warning
|
|
66
|
+
console.warn("[KVOAuthConfigCache] clear() not supported for KV cache. Use delete() for specific keys.");
|
|
67
|
+
}
|
|
68
|
+
async delete(key) {
|
|
69
|
+
const cacheKey = `${this.keyPrefix}${key}`;
|
|
70
|
+
try {
|
|
71
|
+
await this.kv.delete(cacheKey);
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
console.warn("[KVOAuthConfigCache] Failed to delete cache entry", {
|
|
75
|
+
key: cacheKey,
|
|
76
|
+
error: error instanceof Error ? error.message : String(error),
|
|
77
|
+
});
|
|
78
|
+
// Don't throw - cache failures shouldn't break the app
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=kv-oauth-config-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kv-oauth-config-cache.js","sourceRoot":"","sources":["../../src/cache/kv-oauth-config-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsBH;;;;;;;GAOG;AACH,MAAM,OAAO,kBAAkB;IACrB,EAAE,CAAkB;IACpB,SAAS,CAAS;IAE1B,YAAY,MAAgC;QAC1C,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,eAAe,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;QAE3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE;gBACzC,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC;YACd,CAAC;YAED,yEAAyE;YACzE,oDAAoD;YACpD,OAAO,MAAgC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,gDAAgD,EAAE;gBAC7D,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAkB,EAAE,GAAW;QACpD,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;QAE3C,IAAI,CAAC;YACH,6DAA6D;YAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;YAE1C,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACjD,aAAa,EAAE,UAAU;aAC1B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,gDAAgD,EAAE;gBAC7D,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,uDAAuD;QACzD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,mDAAmD;QACnD,0DAA0D;QAC1D,+BAA+B;QAC/B,OAAO,CAAC,IAAI,CACV,0FAA0F,CAC3F,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;QAE3C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE;gBAChE,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,uDAAuD;QACzD,CAAC;IACH,CAAC;CACF"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,UAAU,EAIV,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,0BAA0B,CAAC;AAGlC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,EAAE,UAAU,GAAG,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;CAC3D;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;CACrD;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAwB,SAAQ,UAAU;IACzD;;OAEG;IACH,OAAO,CAAC,EAAE;QACR;;;WAGG;QACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAE3B;;;WAGG;QACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;QAE9B;;;WAGG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;QAEf;;;WAGG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF;;OAEG;IACH,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAE3B;;OAEG;IACH,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAEvC;;OAEG;IACH,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAE3B;;OAEG;IACH,IAAI,CAAC,EAAE;QACL;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QAErB;;WAEG;QACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAE7B;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QAErB;;WAEG;QACH,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;KACnC,CAAC;IAEF;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf;;WAEG;QACH,IAAI,EAAE,MAAM,CAAC;QAEb;;WAEG;QACH,OAAO,EAAE,MAAM,CAAC;QAEhB;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IAEH;;;OAGG;IACH,cAAc,CAAC,EAAE,0BAA0B,CAAC;IAE5C;;;OAGG;IACH,KAAK,CAAC,EAAE;QACN;;;WAGG;QACH,OAAO,EAAE,OAAO,CAAC;QAEjB;;;WAGG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF;;OAEG;IACH,UAAU,CAAC,EAAE,gBAAgB,GAAG;QAC9B;;;WAGG;QACH,QAAQ,CAAC,EAAE;YACT,IAAI,EAAE,eAAe,GAAG,aAAa,GAAG,KAAK,GAAG,QAAQ,CAAC;YACzD;;;eAGG;YACH,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB;;eAEG;YACH,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE;QACZ;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QAEpB;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE/B;;WAEG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,CAAC;IAEF;;OAEG;IACH,YAAY,CAAC,EAAE;QACb;;;WAGG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAElB;;;WAGG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,KAAK,CAAC,EAAE,qBAAqB,CAAC;CAC/B;AAED;;GAEG;AACH,YAAY,EACV,UAAU,EACV,cAAc,EACd,qBAAqB,IAAI,kBAAkB,EAC3C,cAAc,EACd,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,OAAO,CAAC,uBAAuB,CAezE,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,qBAW1C,CAAC;AAEF;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACxC,uBAAuB,CA2BzB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACtC,qBAAqB,CAYvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,aAAa,GACjB,OAAO,CAAC,uBAAuB,CAAC,CAsBlC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACvC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -155,12 +155,41 @@ export function defineConfig(config) {
|
|
|
155
155
|
apiUrl: env.AGENTSHIELD_API_URL || 'https://kya.vouched.id',
|
|
156
156
|
apiKey: env.AGENTSHIELD_API_KEY,
|
|
157
157
|
projectId: env.AGENTSHIELD_PROJECT_ID,
|
|
158
|
-
|
|
158
|
+
/**
|
|
159
|
+
* Cache TTL for tool protection configuration.
|
|
160
|
+
*
|
|
161
|
+
* Default: 300000ms (5 minutes)
|
|
162
|
+
*
|
|
163
|
+
* Environment variable: TOOL_PROTECTION_CACHE_TTL
|
|
164
|
+
*
|
|
165
|
+
* Recommendations:
|
|
166
|
+
* - Production: 300000ms (5 min) - Good balance between performance and freshness
|
|
167
|
+
* - Development: 60000ms (1 min) - Faster feedback during testing
|
|
168
|
+
* - Debugging: 0ms (no cache) - Immediate updates, but degrades performance
|
|
169
|
+
*
|
|
170
|
+
* Note: Even with cache enabled, the AgentShield dashboard automatically
|
|
171
|
+
* triggers cache invalidation via POST /admin/clear-cache when you update
|
|
172
|
+
* tool protection settings. This means changes take effect within seconds
|
|
173
|
+
* rather than waiting for the full cache TTL.
|
|
174
|
+
*
|
|
175
|
+
* Valid range: 0 to 3600000ms (0 to 1 hour)
|
|
176
|
+
*/
|
|
177
|
+
cacheTtl: (() => {
|
|
178
|
+
const ttl = env.TOOL_PROTECTION_CACHE_TTL
|
|
179
|
+
? parseInt(env.TOOL_PROTECTION_CACHE_TTL, 10)
|
|
180
|
+
: 300000; // 5 minutes default
|
|
181
|
+
// Validate range: 0 to 1 hour
|
|
182
|
+
if (isNaN(ttl) || ttl < 0 || ttl > 3600000) {
|
|
183
|
+
console.warn(`Invalid TOOL_PROTECTION_CACHE_TTL: ${env.TOOL_PROTECTION_CACHE_TTL}. ` +
|
|
184
|
+
`Must be between 0 and 3600000 (1 hour). Using default 300000ms (5 min).`);
|
|
185
|
+
return 300000;
|
|
186
|
+
}
|
|
187
|
+
return ttl;
|
|
188
|
+
})(),
|
|
159
189
|
},
|
|
160
190
|
// Fallback config (used if API is unavailable)
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
},
|
|
191
|
+
// Type is ToolProtectionMap (Record<string, ToolProtection>), not wrapped
|
|
192
|
+
fallback: {},
|
|
164
193
|
debug: baseConfig.environment === 'development',
|
|
165
194
|
} : undefined),
|
|
166
195
|
// Admin API configuration
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,41 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Environment Mapping Helpers
|
|
3
3
|
*
|
|
4
|
-
* Utilities for mapping prefixed KV bindings to standard CloudflareEnv format
|
|
4
|
+
* Utilities for mapping prefixed KV bindings to standard CloudflareEnv format.
|
|
5
|
+
*
|
|
6
|
+
* These utilities ensure consistent KV binding access across all components,
|
|
7
|
+
* supporting both prefixed (e.g., `_17429_NONCE_CACHE`) and non-prefixed (e.g., `NONCE_CACHE`) formats.
|
|
8
|
+
*
|
|
9
|
+
* @module @kya-os/mcp-i-cloudflare/helpers/env-mapper
|
|
5
10
|
*/
|
|
6
11
|
import type { CloudflareEnv } from "../types";
|
|
7
12
|
import type { PrefixedCloudflareEnv } from "../agent";
|
|
13
|
+
/**
|
|
14
|
+
* Detect environment prefix by checking for prefixed KV bindings
|
|
15
|
+
*
|
|
16
|
+
* Checks common KV binding names to determine if a prefix is being used.
|
|
17
|
+
* Returns the prefix (without underscore) if found, undefined otherwise.
|
|
18
|
+
*
|
|
19
|
+
* @param env - Environment object to check
|
|
20
|
+
* @returns Detected prefix (e.g., "_17429" → "17429") or undefined
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const env = { _17429_NONCE_CACHE: kvNamespace };
|
|
25
|
+
* const prefix = detectEnvPrefix(env); // Returns "17429"
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function detectEnvPrefix(env: any): string | undefined;
|
|
8
29
|
/**
|
|
9
30
|
* Map prefixed KV bindings to standard CloudflareEnv format
|
|
10
31
|
*
|
|
32
|
+
* Explicitly maps prefixed KV bindings (e.g., `MYAPP_NONCE_CACHE`) to standard names
|
|
33
|
+
* (e.g., `NONCE_CACHE`). Use this when you know the prefix ahead of time.
|
|
34
|
+
*
|
|
35
|
+
* @param env - Environment object with prefixed KV bindings
|
|
36
|
+
* @param prefix - Prefix to use (e.g., "MYAPP" or "_17429")
|
|
37
|
+
* @returns Normalized CloudflareEnv with standard KV binding names
|
|
38
|
+
*
|
|
11
39
|
* @example
|
|
12
40
|
* ```typescript
|
|
13
41
|
* const env = {
|
|
@@ -20,4 +48,35 @@ import type { PrefixedCloudflareEnv } from "../agent";
|
|
|
20
48
|
* ```
|
|
21
49
|
*/
|
|
22
50
|
export declare function mapPrefixedEnv(env: PrefixedCloudflareEnv, prefix: string): CloudflareEnv;
|
|
51
|
+
/**
|
|
52
|
+
* Normalize Cloudflare environment to standard CloudflareEnv format
|
|
53
|
+
*
|
|
54
|
+
* Automatically handles both prefixed and non-prefixed KV bindings:
|
|
55
|
+
* - If `prefix` is provided, uses explicit prefix mapping
|
|
56
|
+
* - If `prefix` is not provided, attempts auto-detection
|
|
57
|
+
* - Falls back to direct access if no prefix detected
|
|
58
|
+
*
|
|
59
|
+
* This is the recommended function for normalizing environments before use.
|
|
60
|
+
* All components should use this to ensure consistent KV binding access.
|
|
61
|
+
*
|
|
62
|
+
* @param env - Environment object (may have prefixed or non-prefixed KV bindings)
|
|
63
|
+
* @param prefix - Optional explicit prefix (e.g., "MYAPP" or "_17429")
|
|
64
|
+
* @returns Normalized CloudflareEnv with standard KV binding names
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* // With explicit prefix
|
|
69
|
+
* const env1 = { MYAPP_NONCE_CACHE: kvNamespace };
|
|
70
|
+
* const normalized1 = normalizeCloudflareEnv(env1, "MYAPP");
|
|
71
|
+
*
|
|
72
|
+
* // With auto-detection
|
|
73
|
+
* const env2 = { _17429_NONCE_CACHE: kvNamespace };
|
|
74
|
+
* const normalized2 = normalizeCloudflareEnv(env2); // Auto-detects "_17429"
|
|
75
|
+
*
|
|
76
|
+
* // Without prefix (direct access)
|
|
77
|
+
* const env3 = { NONCE_CACHE: kvNamespace };
|
|
78
|
+
* const normalized3 = normalizeCloudflareEnv(env3); // Uses direct access
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export declare function normalizeCloudflareEnv(env: any, prefix?: string): CloudflareEnv;
|
|
23
82
|
//# sourceMappingURL=env-mapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-mapper.d.ts","sourceRoot":"","sources":["../../src/helpers/env-mapper.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"env-mapper.d.ts","sourceRoot":"","sources":["../../src/helpers/env-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAatD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAsB5D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,qBAAqB,EAC1B,MAAM,EAAE,MAAM,GACb,aAAa,CA+Bf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,GAAG,EACR,MAAM,CAAC,EAAE,MAAM,GACd,aAAa,CAgCf"}
|