@kya-os/mcp-i-cloudflare 1.14.7 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +8 -4
- package/dist/adapter.js.map +1 -1
- package/dist/agent.d.ts +22 -5
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +88 -46
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +15 -8
- package/dist/app.js.map +1 -1
- package/dist/config.d.ts +101 -5
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +18 -12
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +5 -3
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +6 -4
- package/dist/constants.js.map +1 -1
- package/dist/delegation-http/anchor-registration.d.ts +2 -2
- package/dist/delegation-http/anchor-registration.js +4 -4
- package/dist/delegation-http/anchor-registration.js.map +1 -1
- package/dist/delegation-http/consent-anchor-bridge.js +3 -3
- package/dist/delegation-http/consent-anchor-bridge.js.map +1 -1
- package/dist/delegation-http/credential-consent.d.ts +2 -2
- package/dist/delegation-http/credential-consent.js +14 -14
- package/dist/delegation-http/credential-consent.js.map +1 -1
- package/dist/delegation-http/native-http.js +5 -5
- package/dist/delegation-http/native-http.js.map +1 -1
- package/dist/delegation-http/native-oauth-state-do.d.ts +43 -0
- package/dist/delegation-http/native-oauth-state-do.d.ts.map +1 -0
- package/dist/delegation-http/native-oauth-state-do.js +175 -0
- package/dist/delegation-http/native-oauth-state-do.js.map +1 -0
- package/dist/delegation-http/native-oauth-state.d.ts +12 -0
- package/dist/delegation-http/native-oauth-state.d.ts.map +1 -0
- package/dist/delegation-http/native-oauth-state.js +131 -0
- package/dist/delegation-http/native-oauth-state.js.map +1 -0
- package/dist/delegation-http/native-oauth.d.ts.map +1 -1
- package/dist/delegation-http/native-oauth.js +22 -17
- package/dist/delegation-http/native-oauth.js.map +1 -1
- package/dist/delegation-http/register.js +1 -1
- package/dist/delegation-http/register.js.map +1 -1
- package/dist/delegation-http/registrar-auth.d.ts +1 -1
- package/dist/delegation-http/registrar-auth.js +2 -2
- package/dist/delegation-http/registrar-auth.js.map +1 -1
- package/dist/delegation-http/remote-issuer.d.ts +1 -1
- package/dist/delegation-http/remote-issuer.d.ts.map +1 -1
- package/dist/delegation-http/remote-issuer.js +4 -4
- package/dist/delegation-http/remote-issuer.js.map +1 -1
- package/dist/helpers/env-mapper.d.ts +2 -2
- package/dist/helpers/env-mapper.d.ts.map +1 -1
- package/dist/helpers/env-mapper.js +21 -14
- package/dist/helpers/env-mapper.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/needs-authorization-meta.d.ts +5 -0
- package/dist/needs-authorization-meta.d.ts.map +1 -1
- package/dist/needs-authorization-meta.js +9 -0
- package/dist/needs-authorization-meta.js.map +1 -1
- package/dist/proof-generator.d.ts +3 -3
- package/dist/proof-generator.js +4 -4
- package/dist/proof-generator.js.map +1 -1
- package/dist/runtime/invoke-tool-handler.d.ts +26 -1
- package/dist/runtime/invoke-tool-handler.d.ts.map +1 -1
- package/dist/runtime/invoke-tool-handler.js +32 -0
- package/dist/runtime/invoke-tool-handler.js.map +1 -1
- package/dist/runtime/oauth-handler.d.ts +9 -7
- package/dist/runtime/oauth-handler.d.ts.map +1 -1
- package/dist/runtime/oauth-handler.js +53 -49
- package/dist/runtime/oauth-handler.js.map +1 -1
- package/dist/runtime/oidc/authorize-url.js +2 -2
- package/dist/runtime/oidc/authorize-url.js.map +1 -1
- package/dist/runtime/oidc/token-exchange.d.ts +1 -1
- package/dist/runtime/oidc/token-exchange.d.ts.map +1 -1
- package/dist/runtime/tool-activity.d.ts +56 -0
- package/dist/runtime/tool-activity.d.ts.map +1 -0
- package/dist/runtime/tool-activity.js +55 -0
- package/dist/runtime/tool-activity.js.map +1 -0
- package/dist/runtime.d.ts +30 -13
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +71 -18
- package/dist/runtime.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +17 -15
- package/dist/server.js.map +1 -1
- package/dist/services/admin.service.d.ts +1 -1
- package/dist/services/admin.service.js +13 -13
- package/dist/services/admin.service.js.map +1 -1
- package/dist/services/consent-config.service.d.ts +5 -5
- package/dist/services/consent-config.service.js +12 -12
- package/dist/services/consent-config.service.js.map +1 -1
- package/dist/services/consent-templates/base/components.d.ts +1 -1
- package/dist/services/consent-templates/base/components.js +1 -1
- package/dist/services/consent-templates/base/styles.d.ts +2 -2
- package/dist/services/consent-templates/base/styles.js +4 -4
- package/dist/services/consent-templates/base/styles.js.map +1 -1
- package/dist/services/consent-templates/helpers.d.ts +3 -3
- package/dist/services/consent-templates/helpers.js +4 -4
- package/dist/services/consent-templates/helpers.js.map +1 -1
- package/dist/services/consent-templates/index.d.ts +1 -1
- package/dist/services/consent-templates/index.js +1 -1
- package/dist/services/consent-templates/modes/credentials.template.d.ts +5 -5
- package/dist/services/consent-templates/modes/credentials.template.js +9 -9
- package/dist/services/consent-templates/modes/credentials.template.js.map +1 -1
- package/dist/services/consent-templates/registry.d.ts +3 -3
- package/dist/services/consent-templates/registry.js +3 -3
- package/dist/services/consent-templates/template-renderer.d.ts +5 -3
- package/dist/services/consent-templates/template-renderer.d.ts.map +1 -1
- package/dist/services/consent-templates/template-renderer.js +5 -3
- package/dist/services/consent-templates/template-renderer.js.map +1 -1
- package/dist/services/consent-templates/types.d.ts +4 -4
- package/dist/services/consent-templates/types.js +2 -2
- package/dist/services/consent.service.d.ts +44 -24
- package/dist/services/consent.service.d.ts.map +1 -1
- package/dist/services/consent.service.js +197 -119
- package/dist/services/consent.service.js.map +1 -1
- package/dist/services/delegation-mandate.d.ts +40 -0
- package/dist/services/delegation-mandate.d.ts.map +1 -0
- package/dist/services/delegation-mandate.js +46 -0
- package/dist/services/delegation-mandate.js.map +1 -0
- package/dist/services/delegation.service.d.ts +28 -12
- package/dist/services/delegation.service.d.ts.map +1 -1
- package/dist/services/delegation.service.js +88 -99
- package/dist/services/delegation.service.js.map +1 -1
- package/dist/services/kya-os-events.service.d.ts +15 -3
- package/dist/services/kya-os-events.service.d.ts.map +1 -1
- package/dist/services/kya-os-events.service.js +14 -4
- package/dist/services/kya-os-events.service.js.map +1 -1
- package/dist/services/proof-batch-queue.d.ts +4 -4
- package/dist/services/proof-batch-queue.d.ts.map +1 -1
- package/dist/services/proof-batch-queue.js +10 -10
- package/dist/services/proof-batch-queue.js.map +1 -1
- package/dist/services/proof.service.d.ts +64 -5
- package/dist/services/proof.service.d.ts.map +1 -1
- package/dist/services/proof.service.js +127 -40
- package/dist/services/proof.service.js.map +1 -1
- package/dist/services/provider-loader.service.d.ts +6 -6
- package/dist/services/provider-loader.service.d.ts.map +1 -1
- package/dist/services/provider-loader.service.js +4 -4
- package/dist/services/provider-loader.service.js.map +1 -1
- package/dist/services/vault-resolver.d.ts +4 -4
- package/dist/services/vault-resolver.d.ts.map +1 -1
- package/dist/services/vault-resolver.js +2 -2
- package/dist/types.d.ts +6 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/day0-config.d.ts +1 -1
- package/dist/utils/day0-config.js +1 -1
- package/dist/utils/env-secret-resolver.d.ts +1 -1
- package/dist/utils/env-secret-resolver.js +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { type DelegationDenial, type DelegationRequiredError } from "@kya-os/mcp-i-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* The activity verdict for one tool dispatch, as sent on `tool.invoked`.
|
|
4
|
+
*
|
|
5
|
+
* A fail excerpt is always one of: a denial code with its default message, a
|
|
6
|
+
* refusal code, or `needs_authorization`. It is never built from handler
|
|
7
|
+
* output, the consent URL or upstream verifier text, because Checkpoint
|
|
8
|
+
* promises that tool args and results never appear on activity events.
|
|
9
|
+
*/
|
|
10
|
+
export type ToolActivity = {
|
|
11
|
+
verdict: "pass";
|
|
12
|
+
} | FailedToolActivity;
|
|
13
|
+
/** A fail verdict and its safe excerpt. */
|
|
14
|
+
export interface FailedToolActivity {
|
|
15
|
+
verdict: "fail";
|
|
16
|
+
excerpt: string;
|
|
17
|
+
}
|
|
18
|
+
/** Excerpt for a protected call that arrived without a grant. */
|
|
19
|
+
export declare const NEEDS_AUTHORIZATION_EXCERPT = "needs_authorization";
|
|
20
|
+
/**
|
|
21
|
+
* True for the runtime's delegation-required signal. Matched by name, like
|
|
22
|
+
* the agent and the audit mapper, so a second bundled copy of the runtime
|
|
23
|
+
* package still matches.
|
|
24
|
+
*/
|
|
25
|
+
export declare function isDelegationRequiredError(error: unknown): error is DelegationRequiredError;
|
|
26
|
+
/**
|
|
27
|
+
* Activity for a result the handler returned. A result carrying the refusal
|
|
28
|
+
* marker is a fail with exactly its code; anything else, including a bare
|
|
29
|
+
* `isError` result, is a pass.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* activityForResult({ isError: true, _meta: markToolRefusal("SPEND_CAP_EXCEEDED") });
|
|
34
|
+
* // { verdict: "fail", excerpt: "SPEND_CAP_EXCEEDED" }
|
|
35
|
+
* activityForResult({ isError: true, content: [] }); // { verdict: "pass" }
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare function activityForResult(result: unknown): ToolActivity;
|
|
39
|
+
/**
|
|
40
|
+
* Activity for a call the runtime refused before the handler ran. A verifier
|
|
41
|
+
* denial gives `${code}: ${DEFAULT_DENIAL_MESSAGES[code]}`; a missing grant
|
|
42
|
+
* (or a code outside the allowlist) gives `needs_authorization`.
|
|
43
|
+
*
|
|
44
|
+
* The message is looked up by code rather than read from the error, so the
|
|
45
|
+
* excerpt can only ever be one of the fixed default strings.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* activityForDenial(revokedError);
|
|
50
|
+
* // { verdict: "fail", excerpt: "delegation_revoked: This authorization was revoked. Nothing was executed." }
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare function activityForDenial(error: {
|
|
54
|
+
denial?: DelegationDenial;
|
|
55
|
+
}): FailedToolActivity;
|
|
56
|
+
//# sourceMappingURL=tool-activity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-activity.d.ts","sourceRoot":"","sources":["../../src/runtime/tool-activity.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GACnB,kBAAkB,CAAC;AAEvB,2CAA2C;AAC3C,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,iEAAiE;AACjE,eAAO,MAAM,2BAA2B,wBAAwB,CAAC;AAIjE;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,uBAAuB,CAElC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,CAG/D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,GAAG,kBAAkB,CAYrB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { readToolRefusal } from "@kya-os/contracts/config";
|
|
2
|
+
import { DEFAULT_DENIAL_MESSAGES, } from "@kya-os/mcp-i-runtime";
|
|
3
|
+
/** Excerpt for a protected call that arrived without a grant. */
|
|
4
|
+
export const NEEDS_AUTHORIZATION_EXCERPT = "needs_authorization";
|
|
5
|
+
const PASS = Object.freeze({ verdict: "pass" });
|
|
6
|
+
/**
|
|
7
|
+
* True for the runtime's delegation-required signal. Matched by name, like
|
|
8
|
+
* the agent and the audit mapper, so a second bundled copy of the runtime
|
|
9
|
+
* package still matches.
|
|
10
|
+
*/
|
|
11
|
+
export function isDelegationRequiredError(error) {
|
|
12
|
+
return error instanceof Error && error.name === "DelegationRequiredError";
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Activity for a result the handler returned. A result carrying the refusal
|
|
16
|
+
* marker is a fail with exactly its code; anything else, including a bare
|
|
17
|
+
* `isError` result, is a pass.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* activityForResult({ isError: true, _meta: markToolRefusal("SPEND_CAP_EXCEEDED") });
|
|
22
|
+
* // { verdict: "fail", excerpt: "SPEND_CAP_EXCEEDED" }
|
|
23
|
+
* activityForResult({ isError: true, content: [] }); // { verdict: "pass" }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export function activityForResult(result) {
|
|
27
|
+
const refusal = readToolRefusal(result);
|
|
28
|
+
return refusal ? { verdict: "fail", excerpt: refusal.code } : PASS;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Activity for a call the runtime refused before the handler ran. A verifier
|
|
32
|
+
* denial gives `${code}: ${DEFAULT_DENIAL_MESSAGES[code]}`; a missing grant
|
|
33
|
+
* (or a code outside the allowlist) gives `needs_authorization`.
|
|
34
|
+
*
|
|
35
|
+
* The message is looked up by code rather than read from the error, so the
|
|
36
|
+
* excerpt can only ever be one of the fixed default strings.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* activityForDenial(revokedError);
|
|
41
|
+
* // { verdict: "fail", excerpt: "delegation_revoked: This authorization was revoked. Nothing was executed." }
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export function activityForDenial(error) {
|
|
45
|
+
const code = error.denial?.code;
|
|
46
|
+
if (code === undefined ||
|
|
47
|
+
!Object.prototype.hasOwnProperty.call(DEFAULT_DENIAL_MESSAGES, code)) {
|
|
48
|
+
return { verdict: "fail", excerpt: NEEDS_AUTHORIZATION_EXCERPT };
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
verdict: "fail",
|
|
52
|
+
excerpt: `${code}: ${DEFAULT_DENIAL_MESSAGES[code]}`,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=tool-activity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-activity.js","sourceRoot":"","sources":["../../src/runtime/tool-activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACL,uBAAuB,GAGxB,MAAM,uBAAuB,CAAC;AAoB/B,iEAAiE;AACjE,MAAM,CAAC,MAAM,2BAA2B,GAAG,qBAAqB,CAAC;AAEjE,MAAM,IAAI,GAAiB,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAe,EAAE,CAAC,CAAC;AAEvE;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAc;IAEd,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,CAAC;AAC5E,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAe;IAC/C,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAEjC;IACC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;IAChC,IACE,IAAI,KAAK,SAAS;QAClB,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,EACpE,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;IACnE,CAAC;IACD,OAAO;QACL,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,GAAG,IAAI,KAAK,uBAAuB,CAAC,IAAI,CAAC,EAAE;KACrD,CAAC;AACJ,CAAC"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* This runtime automatically uses CloudflareProofGenerator for all proof generation,
|
|
8
8
|
* producing full JWS compact format (header.payload.signature) compatible with
|
|
9
|
-
*
|
|
9
|
+
* Checkpoint and the MCP-I proof specification.
|
|
10
10
|
*/
|
|
11
11
|
import { MCPIRuntimeBase, type ProviderRuntimeConfig, ToolProtectionService, type ToolProtectionServiceConfig, AccessControlApiService, ProofVerifier } from "@kya-os/mcp-i-runtime";
|
|
12
12
|
import { CloudflareProofGenerator } from "./proof-generator";
|
|
@@ -14,11 +14,12 @@ import type { DetachedProof } from "@kya-os/contracts/proof";
|
|
|
14
14
|
import { type KVNamespace } from "./cache/kv-tool-protection-cache";
|
|
15
15
|
import type { CloudflareRuntimeConfig } from "./config";
|
|
16
16
|
import type { AgentIdentity } from "@kya-os/mcp-i-runtime";
|
|
17
|
+
import type { VerifiedDelegation } from "@kya-os/contracts/config";
|
|
17
18
|
/**
|
|
18
19
|
* CloudflareRuntime extends MCPIRuntimeBase with CloudflareProofGenerator
|
|
19
20
|
*/
|
|
20
21
|
/**
|
|
21
|
-
* Tool call context for
|
|
22
|
+
* Tool call context for Checkpoint dashboard
|
|
22
23
|
*/
|
|
23
24
|
export interface ToolCallContext {
|
|
24
25
|
tool: string;
|
|
@@ -48,6 +49,15 @@ export declare class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
48
49
|
* Set AccessControlApiService (injected by createCloudflareRuntime)
|
|
49
50
|
*/
|
|
50
51
|
setAccessControlService(service: AccessControlApiService): void;
|
|
52
|
+
/**
|
|
53
|
+
* The injected delegation verifier, or undefined without an API key.
|
|
54
|
+
*
|
|
55
|
+
* Agent subclasses reach it through MCPICloudflareAgent's protected
|
|
56
|
+
* getDelegationVerifier(); this getter stays out of the documented API.
|
|
57
|
+
*
|
|
58
|
+
* @internal
|
|
59
|
+
*/
|
|
60
|
+
getAccessControlService(): AccessControlApiService | undefined;
|
|
51
61
|
/**
|
|
52
62
|
* Set ProofVerifier (injected by createCloudflareRuntime)
|
|
53
63
|
*/
|
|
@@ -68,21 +78,28 @@ export declare class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
68
78
|
* - jws: Full compact JWS (header.payload.signature)
|
|
69
79
|
* - meta: ProofMeta with all required fields
|
|
70
80
|
*
|
|
71
|
-
* The proof is compatible with
|
|
81
|
+
* The proof is compatible with Checkpoint and follows MCP-I specification.
|
|
72
82
|
*/
|
|
73
83
|
createProof(data: any, session?: any): Promise<DetachedProof>;
|
|
74
84
|
/**
|
|
75
85
|
* Override processToolCall to pass tool metadata through session,
|
|
76
|
-
* automatically submit proofs to
|
|
86
|
+
* automatically submit proofs to Checkpoint, and attach proofs to result for MCP Inspector.
|
|
77
87
|
*
|
|
78
88
|
* This ensures that CloudflareProofGenerator has access to the tool name
|
|
79
89
|
* and parameters for generating accurate proof hashes, proofs are automatically
|
|
80
|
-
* submitted to
|
|
90
|
+
* submitted to Checkpoint for dashboard integration, and proofs are included
|
|
81
91
|
* in the response for MCP Inspector.
|
|
82
92
|
*
|
|
83
93
|
* Note: Creates a new session object to avoid mutating the input session.
|
|
84
94
|
*/
|
|
85
|
-
processToolCall(toolName: string, args: any, handler: (args: any) => Promise<any>, session?: any): Promise<any>;
|
|
95
|
+
processToolCall(toolName: string, args: any, handler: (args: any, verified?: VerifiedDelegation) => Promise<any>, session?: any): Promise<any>;
|
|
96
|
+
/**
|
|
97
|
+
* Send the activity event for a protected call refused before its handler
|
|
98
|
+
* ran. The proof service decides whether to send anything (structured mode
|
|
99
|
+
* only). Awaited so a Durable Object does not cancel the POST, and guarded
|
|
100
|
+
* so a telemetry failure never replaces the refusal the caller rethrows.
|
|
101
|
+
*/
|
|
102
|
+
private reportDeniedToolCall;
|
|
86
103
|
/**
|
|
87
104
|
* Get the CloudflareProofGenerator instance (for advanced usage)
|
|
88
105
|
*/
|
|
@@ -141,7 +158,7 @@ export declare class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
141
158
|
/**
|
|
142
159
|
* Get the last tool call context
|
|
143
160
|
*
|
|
144
|
-
* Returns plaintext tool execution data for
|
|
161
|
+
* Returns plaintext tool execution data for Checkpoint dashboard integration.
|
|
145
162
|
* This context can be submitted alongside proofs for enhanced UX.
|
|
146
163
|
*/
|
|
147
164
|
getLastToolCallContext(): ToolCallContext | undefined;
|
|
@@ -149,14 +166,14 @@ export declare class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
149
166
|
* Override buildConsentUrl to use server-hosted consent page
|
|
150
167
|
*
|
|
151
168
|
* Auto-detects server URL from request origin (via session.serverOrigin),
|
|
152
|
-
* falls back to MCP_SERVER_URL env var, then to
|
|
169
|
+
* falls back to MCP_SERVER_URL env var, then to Checkpoint dashboard.
|
|
153
170
|
*
|
|
154
171
|
* Priority:
|
|
155
172
|
* 1. session.serverOrigin (auto-detected from request)
|
|
156
173
|
* 2. this.serverUrl (from MCP_SERVER_URL env var)
|
|
157
|
-
* 3.
|
|
174
|
+
* 3. Checkpoint dashboard (backward compatibility)
|
|
158
175
|
*
|
|
159
|
-
*
|
|
176
|
+
* Checkpoint consent endpoint requires:
|
|
160
177
|
* - snake_case parameter names (agent_did, session_id, project_id)
|
|
161
178
|
* - project_id parameter (required)
|
|
162
179
|
* - provider parameter (optional, for selecting specific auth method)
|
|
@@ -167,7 +184,7 @@ export declare class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
167
184
|
/**
|
|
168
185
|
* Create a ToolProtectionService with CloudFlare KV cache
|
|
169
186
|
*
|
|
170
|
-
* The service fetches tool protection config from
|
|
187
|
+
* The service fetches tool protection config from Checkpoint by agent DID.
|
|
171
188
|
* Config is cached in KV for 5 minutes to minimize API calls.
|
|
172
189
|
*
|
|
173
190
|
* Usage in CloudFlare Worker:
|
|
@@ -175,8 +192,8 @@ export declare class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
175
192
|
* const toolProtectionService = CloudflareRuntime.createToolProtectionService(
|
|
176
193
|
* env.TOOL_PROTECTION_KV, // KV namespace from wrangler.toml
|
|
177
194
|
* {
|
|
178
|
-
* apiUrl: env.
|
|
179
|
-
* apiKey: env.
|
|
195
|
+
* apiUrl: env.CHECKPOINT_API_URL || 'https://kya.vouched.id',
|
|
196
|
+
* apiKey: env.CHECKPOINT_API_KEY,
|
|
180
197
|
* cacheTtl: 300000, // 5 minutes (default)
|
|
181
198
|
* debug: env.MCPI_ENV === 'development',
|
|
182
199
|
* localConfig: {
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,qBAAqB,EACrB,KAAK,2BAA2B,EAChC,uBAAuB,EACvB,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.js
CHANGED
|
@@ -6,12 +6,13 @@
|
|
|
6
6
|
*
|
|
7
7
|
* This runtime automatically uses CloudflareProofGenerator for all proof generation,
|
|
8
8
|
* producing full JWS compact format (header.payload.signature) compatible with
|
|
9
|
-
*
|
|
9
|
+
* Checkpoint and the MCP-I proof specification.
|
|
10
10
|
*/
|
|
11
11
|
import { MCPIRuntimeBase, ToolProtectionService, } from "@kya-os/mcp-i-runtime";
|
|
12
12
|
import { CloudflareProofGenerator } from "./proof-generator";
|
|
13
13
|
import { KVToolProtectionCache, } from "./cache/kv-tool-protection-cache";
|
|
14
14
|
import { ProofService } from "./services/proof.service";
|
|
15
|
+
import { activityForResult, isDelegationRequiredError, } from "./runtime/tool-activity";
|
|
15
16
|
export class CloudflareRuntime extends MCPIRuntimeBase {
|
|
16
17
|
proofGenerator;
|
|
17
18
|
lastDetachedProof;
|
|
@@ -45,6 +46,17 @@ export class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
45
46
|
// Protected members are accessible from subclasses in TypeScript
|
|
46
47
|
this.accessControlService = service;
|
|
47
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* The injected delegation verifier, or undefined without an API key.
|
|
51
|
+
*
|
|
52
|
+
* Agent subclasses reach it through MCPICloudflareAgent's protected
|
|
53
|
+
* getDelegationVerifier(); this getter stays out of the documented API.
|
|
54
|
+
*
|
|
55
|
+
* @internal
|
|
56
|
+
*/
|
|
57
|
+
getAccessControlService() {
|
|
58
|
+
return this.accessControlService;
|
|
59
|
+
}
|
|
48
60
|
/**
|
|
49
61
|
* Set ProofVerifier (injected by createCloudflareRuntime)
|
|
50
62
|
*/
|
|
@@ -80,7 +92,7 @@ export class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
80
92
|
* - jws: Full compact JWS (header.payload.signature)
|
|
81
93
|
* - meta: ProofMeta with all required fields
|
|
82
94
|
*
|
|
83
|
-
* The proof is compatible with
|
|
95
|
+
* The proof is compatible with Checkpoint and follows MCP-I specification.
|
|
84
96
|
*/
|
|
85
97
|
async createProof(data, session) {
|
|
86
98
|
if (!this.proofGenerator) {
|
|
@@ -140,7 +152,7 @@ export class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
140
152
|
if (auditInvocationId) {
|
|
141
153
|
this.proofByInvocation.set(auditInvocationId, detachedProof);
|
|
142
154
|
}
|
|
143
|
-
// ✅ Store tool call context for
|
|
155
|
+
// ✅ Store tool call context for Checkpoint dashboard
|
|
144
156
|
this.lastToolCallContext = {
|
|
145
157
|
tool: session.toolName || "unknown",
|
|
146
158
|
args: session.toolParams || session.args || {},
|
|
@@ -164,11 +176,11 @@ export class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
164
176
|
}
|
|
165
177
|
/**
|
|
166
178
|
* Override processToolCall to pass tool metadata through session,
|
|
167
|
-
* automatically submit proofs to
|
|
179
|
+
* automatically submit proofs to Checkpoint, and attach proofs to result for MCP Inspector.
|
|
168
180
|
*
|
|
169
181
|
* This ensures that CloudflareProofGenerator has access to the tool name
|
|
170
182
|
* and parameters for generating accurate proof hashes, proofs are automatically
|
|
171
|
-
* submitted to
|
|
183
|
+
* submitted to Checkpoint for dashboard integration, and proofs are included
|
|
172
184
|
* in the response for MCP Inspector.
|
|
173
185
|
*
|
|
174
186
|
* Note: Creates a new session object to avoid mutating the input session.
|
|
@@ -187,20 +199,35 @@ export class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
187
199
|
auditInvocationId: invocationId,
|
|
188
200
|
}
|
|
189
201
|
: undefined;
|
|
202
|
+
// Set only when THIS call's verify passed. Local to the call, so concurrent
|
|
203
|
+
// calls on the same runtime never attribute a proof to another call's grant.
|
|
204
|
+
let verifiedDelegationId;
|
|
205
|
+
const handlerRecordingVerified = (handlerArgs, verified) => {
|
|
206
|
+
verifiedDelegationId = verified?.id;
|
|
207
|
+
// Keep the exact arity: an unverified call still receives only (args).
|
|
208
|
+
return verified ? handler(handlerArgs, verified) : handler(handlerArgs);
|
|
209
|
+
};
|
|
190
210
|
try {
|
|
191
211
|
// Call parent implementation with enhanced session (generates proof)
|
|
192
|
-
|
|
212
|
+
let result;
|
|
213
|
+
try {
|
|
214
|
+
result = await super.processToolCall(toolName, args, handlerRecordingVerified, enhancedSession);
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
await this.reportDeniedToolCall(error, toolName, enhancedSession);
|
|
218
|
+
throw error;
|
|
219
|
+
}
|
|
193
220
|
// Resolve only the proof created for this invocation. `lastDetachedProof`
|
|
194
221
|
// is retained solely as a legacy observational accessor.
|
|
195
222
|
const proof = this.proofByInvocation.get(invocationId);
|
|
196
|
-
// Automatically submit proof to
|
|
223
|
+
// Automatically submit proof to Checkpoint if available
|
|
197
224
|
// CRITICAL FIX: Await the proof submission directly instead of using ctx.waitUntil()
|
|
198
225
|
// In Durable Objects (McpAgent), ctx.waitUntil() doesn't reliably extend lifetime,
|
|
199
226
|
// causing proof submissions to be cancelled before completion.
|
|
200
227
|
if (proof && this.proofService && enhancedSession) {
|
|
201
228
|
try {
|
|
202
229
|
// Determine MCP server URL from session or stored serverUrl
|
|
203
|
-
// Ensure URL has protocol (https://) for
|
|
230
|
+
// Ensure URL has protocol (https://) for Checkpoint tool discovery
|
|
204
231
|
let mcpServerUrl = enhancedSession.serverOrigin || this.serverUrl;
|
|
205
232
|
if (mcpServerUrl &&
|
|
206
233
|
!mcpServerUrl.startsWith("http://") &&
|
|
@@ -220,6 +247,8 @@ export class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
220
247
|
args,
|
|
221
248
|
result,
|
|
222
249
|
mcpServerUrl,
|
|
250
|
+
activity: activityForResult(result),
|
|
251
|
+
verifiedDelegationId,
|
|
223
252
|
});
|
|
224
253
|
console.error("[CloudflareRuntime] ✅ Proof submission completed");
|
|
225
254
|
}
|
|
@@ -265,6 +294,30 @@ export class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
265
294
|
this.proofByInvocation.delete(invocationId);
|
|
266
295
|
}
|
|
267
296
|
}
|
|
297
|
+
/**
|
|
298
|
+
* Send the activity event for a protected call refused before its handler
|
|
299
|
+
* ran. The proof service decides whether to send anything (structured mode
|
|
300
|
+
* only). Awaited so a Durable Object does not cancel the POST, and guarded
|
|
301
|
+
* so a telemetry failure never replaces the refusal the caller rethrows.
|
|
302
|
+
*/
|
|
303
|
+
async reportDeniedToolCall(error, toolName, session) {
|
|
304
|
+
if (!this.proofService || !isDelegationRequiredError(error)) {
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
try {
|
|
308
|
+
const identity = await this.getIdentity();
|
|
309
|
+
await this.proofService.reportDenied({
|
|
310
|
+
serverDid: identity.did,
|
|
311
|
+
sessionId: session?.id,
|
|
312
|
+
toolName,
|
|
313
|
+
error,
|
|
314
|
+
delegationId: session?.delegationId,
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
catch (reportError) {
|
|
318
|
+
console.error("[CloudflareRuntime] Failed to report denied tool call:", reportError);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
268
321
|
/**
|
|
269
322
|
* Get the CloudflareProofGenerator instance (for advanced usage)
|
|
270
323
|
*/
|
|
@@ -336,7 +389,7 @@ export class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
336
389
|
/**
|
|
337
390
|
* Get the last tool call context
|
|
338
391
|
*
|
|
339
|
-
* Returns plaintext tool execution data for
|
|
392
|
+
* Returns plaintext tool execution data for Checkpoint dashboard integration.
|
|
340
393
|
* This context can be submitted alongside proofs for enhanced UX.
|
|
341
394
|
*/
|
|
342
395
|
getLastToolCallContext() {
|
|
@@ -346,14 +399,14 @@ export class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
346
399
|
* Override buildConsentUrl to use server-hosted consent page
|
|
347
400
|
*
|
|
348
401
|
* Auto-detects server URL from request origin (via session.serverOrigin),
|
|
349
|
-
* falls back to MCP_SERVER_URL env var, then to
|
|
402
|
+
* falls back to MCP_SERVER_URL env var, then to Checkpoint dashboard.
|
|
350
403
|
*
|
|
351
404
|
* Priority:
|
|
352
405
|
* 1. session.serverOrigin (auto-detected from request)
|
|
353
406
|
* 2. this.serverUrl (from MCP_SERVER_URL env var)
|
|
354
|
-
* 3.
|
|
407
|
+
* 3. Checkpoint dashboard (backward compatibility)
|
|
355
408
|
*
|
|
356
|
-
*
|
|
409
|
+
* Checkpoint consent endpoint requires:
|
|
357
410
|
* - snake_case parameter names (agent_did, session_id, project_id)
|
|
358
411
|
* - project_id parameter (required)
|
|
359
412
|
* - provider parameter (optional, for selecting specific auth method)
|
|
@@ -371,7 +424,7 @@ export class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
371
424
|
session_id: session?.id || "",
|
|
372
425
|
agent_did: session?.agentDid || "",
|
|
373
426
|
});
|
|
374
|
-
// Add agent_name for
|
|
427
|
+
// Add agent_name for Checkpoint dashboard display
|
|
375
428
|
// Priority: session.agentName > "Unknown Agent"
|
|
376
429
|
const agentName = session?.agentName;
|
|
377
430
|
if (agentName) {
|
|
@@ -393,7 +446,7 @@ export class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
393
446
|
// Determine server URL with priority:
|
|
394
447
|
// 1. Auto-detected from request origin (session.serverOrigin)
|
|
395
448
|
// 2. From env var (this.serverUrl)
|
|
396
|
-
// 3. Fallback to
|
|
449
|
+
// 3. Fallback to Checkpoint dashboard
|
|
397
450
|
let serverUrl;
|
|
398
451
|
if (session?.serverOrigin) {
|
|
399
452
|
// Use auto-detected origin from request
|
|
@@ -409,13 +462,13 @@ export class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
409
462
|
const baseUrl = serverUrl.replace(/\/$/, "");
|
|
410
463
|
return `${baseUrl}/consent?${params.toString()}`;
|
|
411
464
|
}
|
|
412
|
-
// Fallback to
|
|
465
|
+
// Fallback to Checkpoint dashboard (for backward compatibility or when server URL not available)
|
|
413
466
|
return `https://kya.vouched.id/bouncer/consent?${params.toString()}`;
|
|
414
467
|
}
|
|
415
468
|
/**
|
|
416
469
|
* Create a ToolProtectionService with CloudFlare KV cache
|
|
417
470
|
*
|
|
418
|
-
* The service fetches tool protection config from
|
|
471
|
+
* The service fetches tool protection config from Checkpoint by agent DID.
|
|
419
472
|
* Config is cached in KV for 5 minutes to minimize API calls.
|
|
420
473
|
*
|
|
421
474
|
* Usage in CloudFlare Worker:
|
|
@@ -423,8 +476,8 @@ export class CloudflareRuntime extends MCPIRuntimeBase {
|
|
|
423
476
|
* const toolProtectionService = CloudflareRuntime.createToolProtectionService(
|
|
424
477
|
* env.TOOL_PROTECTION_KV, // KV namespace from wrangler.toml
|
|
425
478
|
* {
|
|
426
|
-
* apiUrl: env.
|
|
427
|
-
* apiKey: env.
|
|
479
|
+
* apiUrl: env.CHECKPOINT_API_URL || 'https://kya.vouched.id',
|
|
480
|
+
* apiKey: env.CHECKPOINT_API_KEY,
|
|
428
481
|
* cacheTtl: 300000, // 5 minutes (default)
|
|
429
482
|
* debug: env.MCPI_ENV === 'development',
|
|
430
483
|
* localConfig: {
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,eAAe,EAEf,qBAAqB,GAItB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EACL,qBAAqB,GAEtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AA+B5D,MAAM,WAAW,2BAA2B;IAC1C,GAAG,EAAE,aAAa,CAAC;IACnB,MAAM,EAAE,uBAAuB,CAAC;IAChC,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,OAAO,CAAC,CAAoB;IACpC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,gBAAgB,CAAC,CAAmD;IAC5E,OAAO,CAAC,gBAAgB,CAAC,CAAwD;IAEjF,OAAO,CAAC,2BAA2B,CAAC,CAAgB;gBAExC,OAAO,EAAE,2BAA2B;IA8DhD;;;OAGG;YACW,0BAA0B;IAsExC;;;;;;OAMG;YACW,2BAA2B;IAgBzC;;;OAGG;IACG,aAAa,CACjB,OAAO,EAAE,OAAO,EAChB,GAAG,CAAC,EAAE,gBAAgB,GACrB,OAAO,CAAC,QAAQ,CAAC;IAmFpB;;OAEG;YACW,mBAAmB;IA+CjC;;OAEG;IACG,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3D;;OAEG;IACH,oBAAoB,IAAI,iBAAiB;IAIzC;;OAEG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACH,eAAe,IAAI,YAAY,GAAG,SAAS;IAI3C;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;;;OAKG;YACW,WAAW;CAmB1B"}
|
package/dist/server.js
CHANGED
|
@@ -15,6 +15,7 @@ import { WebCryptoProvider } from "./providers/crypto";
|
|
|
15
15
|
// at module load time, preventing esbuild from tree-shaking the OAuth services
|
|
16
16
|
import { getOAuthServices, isOAuthServicesAvailable, } from "./utils/oauth-service-registry";
|
|
17
17
|
import { WorkersClockProvider, WorkersFetchProvider, KVNonceCacheProvider, } from "./providers/storage";
|
|
18
|
+
import { withCheckpointNames } from "@kya-os/contracts/config";
|
|
18
19
|
// CRITICAL: Force OAuth registry evaluation at module load time
|
|
19
20
|
// This creates an observable side effect that esbuild cannot tree-shake
|
|
20
21
|
// Without this, esbuild may eliminate oauth-service-registry.ts entirely
|
|
@@ -38,7 +39,7 @@ export class MCPICloudflareServer {
|
|
|
38
39
|
// Store the initialization promise so consent routes can wait for it
|
|
39
40
|
providerServicesInitPromise;
|
|
40
41
|
constructor(options) {
|
|
41
|
-
this.env = options.env;
|
|
42
|
+
this.env = withCheckpointNames(options.env);
|
|
42
43
|
this.config = options.config;
|
|
43
44
|
this.runtime = options.runtime;
|
|
44
45
|
// Initialize all services
|
|
@@ -47,30 +48,30 @@ export class MCPICloudflareServer {
|
|
|
47
48
|
// Phase 2: Initialize provider services if OAuth is configured
|
|
48
49
|
// Note: These are initialized lazily in an async method to avoid await in constructor
|
|
49
50
|
this.consentService = new ConsentService(this.env, this.runtime, undefined, // providerResolver - initialized lazily
|
|
50
|
-
undefined // providerRegistry - initialized lazily
|
|
51
|
-
);
|
|
51
|
+
undefined, // providerRegistry - initialized lazily
|
|
52
|
+
{ delegationMandate: this.config.delegationMandate });
|
|
52
53
|
// Initialize provider services asynchronously (if needed)
|
|
53
54
|
// Store the promise so consent routes can wait for initialization
|
|
54
|
-
if (this.env.
|
|
55
|
+
if (this.env.CHECKPOINT_API_KEY && this.runtime) {
|
|
55
56
|
this.providerServicesInitPromise = this.initializeProviderServices();
|
|
56
57
|
}
|
|
57
58
|
// Admin service is optional based on config
|
|
58
|
-
// Auto-enable if
|
|
59
|
+
// Auto-enable if CHECKPOINT_API_KEY is present and admin config is not explicitly disabled
|
|
59
60
|
const shouldEnableAdmin = this.config.admin?.enabled !== false && // Not explicitly disabled
|
|
60
61
|
(this.config.admin?.enabled === true || // Explicitly enabled OR
|
|
61
|
-
!!this.env.
|
|
62
|
+
!!this.env.CHECKPOINT_API_KEY); // Auto-enable when API key present
|
|
62
63
|
if (shouldEnableAdmin) {
|
|
63
64
|
console.error("[MCPICloudflareServer] Initializing admin service", {
|
|
64
65
|
adminEnabled: this.config.admin?.enabled,
|
|
65
|
-
hasApiKey: !!this.env.
|
|
66
|
-
autoEnabled: !this.config.admin && !!this.env.
|
|
66
|
+
hasApiKey: !!this.env.CHECKPOINT_API_KEY,
|
|
67
|
+
autoEnabled: !this.config.admin && !!this.env.CHECKPOINT_API_KEY,
|
|
67
68
|
});
|
|
68
69
|
this.adminService = new AdminService(this.env);
|
|
69
70
|
}
|
|
70
71
|
else {
|
|
71
72
|
console.error("[MCPICloudflareServer] Admin service disabled", {
|
|
72
73
|
adminEnabled: this.config.admin?.enabled,
|
|
73
|
-
hasApiKey: !!this.env.
|
|
74
|
+
hasApiKey: !!this.env.CHECKPOINT_API_KEY,
|
|
74
75
|
});
|
|
75
76
|
}
|
|
76
77
|
// Initialize ProofVerifier with dependency injection
|
|
@@ -92,7 +93,7 @@ export class MCPICloudflareServer {
|
|
|
92
93
|
* This is called lazily to avoid await in constructor
|
|
93
94
|
*/
|
|
94
95
|
async initializeProviderServices() {
|
|
95
|
-
if (!this.env.
|
|
96
|
+
if (!this.env.CHECKPOINT_API_KEY || !this.runtime) {
|
|
96
97
|
return;
|
|
97
98
|
}
|
|
98
99
|
try {
|
|
@@ -109,8 +110,8 @@ export class MCPICloudflareServer {
|
|
|
109
110
|
? new KVOAuthConfigCache({ kv: this.env.TOOL_PROTECTION_KV })
|
|
110
111
|
: undefined;
|
|
111
112
|
const oauthConfigService = new ConfigService({
|
|
112
|
-
baseUrl: this.env.
|
|
113
|
-
apiKey: this.env.
|
|
113
|
+
baseUrl: this.env.CHECKPOINT_API_URL || "https://kya.vouched.id",
|
|
114
|
+
apiKey: this.env.CHECKPOINT_API_KEY,
|
|
114
115
|
fetchProvider,
|
|
115
116
|
cache: oauthConfigCache,
|
|
116
117
|
});
|
|
@@ -179,12 +180,12 @@ export class MCPICloudflareServer {
|
|
|
179
180
|
method: request.method,
|
|
180
181
|
hasAdminService: !!this.adminService,
|
|
181
182
|
adminEnabled: this.config.admin?.enabled,
|
|
182
|
-
hasApiKey: !!this.env.
|
|
183
|
+
hasApiKey: !!this.env.CHECKPOINT_API_KEY,
|
|
183
184
|
});
|
|
184
185
|
if (!this.adminService) {
|
|
185
186
|
console.warn("[MCPICloudflareServer] Admin service not initialized", {
|
|
186
187
|
adminEnabled: this.config.admin?.enabled,
|
|
187
|
-
hasApiKey: !!this.env.
|
|
188
|
+
hasApiKey: !!this.env.CHECKPOINT_API_KEY,
|
|
188
189
|
configAdmin: this.config.admin,
|
|
189
190
|
});
|
|
190
191
|
return new Response(JSON.stringify({
|
|
@@ -241,7 +242,7 @@ export class MCPICloudflareServer {
|
|
|
241
242
|
// FIX: Pass consentService so OAuth callback can call getUserDidForSession()
|
|
242
243
|
// Without this, effectiveUserDid is undefined and IDP tokens are not stored
|
|
243
244
|
const handler = createOAuthCallbackHandler({
|
|
244
|
-
|
|
245
|
+
checkpointApiUrl: this.env.CHECKPOINT_API_URL,
|
|
245
246
|
delegationStorage: this.env.DELEGATION_STORAGE,
|
|
246
247
|
oauthSecurityService,
|
|
247
248
|
consentService: this.consentService, // FIX: Enable session userDid lookup
|
|
@@ -252,6 +253,7 @@ export class MCPICloudflareServer {
|
|
|
252
253
|
const mockContext = {
|
|
253
254
|
env: this.env,
|
|
254
255
|
req: {
|
|
256
|
+
url: request.url,
|
|
255
257
|
query: (key) => url.searchParams.get(key) || undefined,
|
|
256
258
|
header: (name) => request.headers.get(name) || undefined,
|
|
257
259
|
},
|