@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,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delegation mandate: request shaping
|
|
3
|
+
*
|
|
4
|
+
* A server-bound mandate (CloudflareRuntimeConfig.delegationMandate) must
|
|
5
|
+
* reach Checkpoint on whichever delegation-create body is actually POSTed.
|
|
6
|
+
* buildDelegationRequest returns either one body (a cached format) or a
|
|
7
|
+
* try-both wrapper with a full and a simplified body; both bodies need the
|
|
8
|
+
* same top-level `constraints`, or a fallback would create an unconstrained
|
|
9
|
+
* grant.
|
|
10
|
+
*
|
|
11
|
+
* @module @kya-os/mcp-i-cloudflare/services/delegation-mandate
|
|
12
|
+
*/
|
|
13
|
+
import type { DelegationMandate } from "../config";
|
|
14
|
+
/**
|
|
15
|
+
* A delegation-create body, or the try-both wrapper that
|
|
16
|
+
* buildDelegationRequest returns when no request format is cached.
|
|
17
|
+
*/
|
|
18
|
+
export type DelegationCreateRequest = Record<string, unknown> & {
|
|
19
|
+
_tryFormats?: boolean;
|
|
20
|
+
fullFormat?: Record<string, unknown>;
|
|
21
|
+
simplifiedFormat?: Record<string, unknown>;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Add the mandate's constraints as top-level `constraints` on every body the
|
|
25
|
+
* request may POST. Never mutates the input.
|
|
26
|
+
*
|
|
27
|
+
* Constraints come only from the server's mandate, never from client-supplied
|
|
28
|
+
* fields such as `customFields`.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* withMandateConstraints({ agent_did, scopes }, { crisp });
|
|
33
|
+
* // { agent_did, scopes, constraints: { crisp } }
|
|
34
|
+
*
|
|
35
|
+
* withMandateConstraints({ _tryFormats: true, fullFormat, simplifiedFormat }, { crisp });
|
|
36
|
+
* // both fullFormat and simplifiedFormat gain constraints: { crisp }
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function withMandateConstraints(request: DelegationCreateRequest, constraints: DelegationMandate["constraints"]): DelegationCreateRequest;
|
|
40
|
+
//# sourceMappingURL=delegation-mandate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegation-mandate.d.ts","sourceRoot":"","sources":["../../src/services/delegation-mandate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C,CAAC;AASF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,uBAAuB,EAChC,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,GAC5C,uBAAuB,CAczB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delegation mandate: request shaping
|
|
3
|
+
*
|
|
4
|
+
* A server-bound mandate (CloudflareRuntimeConfig.delegationMandate) must
|
|
5
|
+
* reach Checkpoint on whichever delegation-create body is actually POSTed.
|
|
6
|
+
* buildDelegationRequest returns either one body (a cached format) or a
|
|
7
|
+
* try-both wrapper with a full and a simplified body; both bodies need the
|
|
8
|
+
* same top-level `constraints`, or a fallback would create an unconstrained
|
|
9
|
+
* grant.
|
|
10
|
+
*
|
|
11
|
+
* @module @kya-os/mcp-i-cloudflare/services/delegation-mandate
|
|
12
|
+
*/
|
|
13
|
+
function withConstraints(body, constraints) {
|
|
14
|
+
return { ...body, constraints };
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Add the mandate's constraints as top-level `constraints` on every body the
|
|
18
|
+
* request may POST. Never mutates the input.
|
|
19
|
+
*
|
|
20
|
+
* Constraints come only from the server's mandate, never from client-supplied
|
|
21
|
+
* fields such as `customFields`.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* withMandateConstraints({ agent_did, scopes }, { crisp });
|
|
26
|
+
* // { agent_did, scopes, constraints: { crisp } }
|
|
27
|
+
*
|
|
28
|
+
* withMandateConstraints({ _tryFormats: true, fullFormat, simplifiedFormat }, { crisp });
|
|
29
|
+
* // both fullFormat and simplifiedFormat gain constraints: { crisp }
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export function withMandateConstraints(request, constraints) {
|
|
33
|
+
if (!request._tryFormats) {
|
|
34
|
+
return withConstraints(request, constraints);
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
...request,
|
|
38
|
+
fullFormat: request.fullFormat
|
|
39
|
+
? withConstraints(request.fullFormat, constraints)
|
|
40
|
+
: undefined,
|
|
41
|
+
simplifiedFormat: request.simplifiedFormat
|
|
42
|
+
? withConstraints(request.simplifiedFormat, constraints)
|
|
43
|
+
: undefined,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=delegation-mandate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegation-mandate.js","sourceRoot":"","sources":["../../src/services/delegation-mandate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAcH,SAAS,eAAe,CACtB,IAA6B,EAC7B,WAA6C;IAE7C,OAAO,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAgC,EAChC,WAA6C;IAE7C,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QACL,GAAG,OAAO;QACV,UAAU,EAAE,OAAO,CAAC,UAAU;YAC5B,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC;YAClD,CAAC,CAAC,SAAS;QACb,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YACxC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,WAAW,CAAC;YACxD,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Supports both:
|
|
8
8
|
* - Local VC-JWT verification (offline, cryptographic)
|
|
9
|
-
* -
|
|
9
|
+
* - Checkpoint API verification (online, centralized)
|
|
10
10
|
*/
|
|
11
11
|
import type { CloudflareEnv } from "../types";
|
|
12
12
|
import type { CloudflareRuntime } from "../runtime";
|
|
@@ -60,7 +60,7 @@ export declare class DelegationService {
|
|
|
60
60
|
private isVCJWT;
|
|
61
61
|
/**
|
|
62
62
|
* Verify a VC-JWT locally using cryptographic verification
|
|
63
|
-
* This enables offline/local verification without calling
|
|
63
|
+
* This enables offline/local verification without calling Checkpoint API
|
|
64
64
|
*
|
|
65
65
|
* @param vcJwt - The VC-JWT string to verify
|
|
66
66
|
* @returns Verification result with extracted delegation data
|
|
@@ -74,28 +74,44 @@ export declare class DelegationService {
|
|
|
74
74
|
* @returns true if token is expired, false otherwise
|
|
75
75
|
*/
|
|
76
76
|
private isTokenExpired;
|
|
77
|
+
/**
|
|
78
|
+
* Collision-resistant cache-key input for a token: SHA-256 hex of the FULL
|
|
79
|
+
* token. NOT a prefix — the first 16 chars of every EdDSA JWT are the
|
|
80
|
+
* identical base64url header (`eyJhbGciOiJFZERT` = `{"alg":"EdDSA"`), so a
|
|
81
|
+
* prefixed key collides across all EdDSA tokens; one cached positive would
|
|
82
|
+
* then admit any forged token. Keying on the full-token digest gives each
|
|
83
|
+
* distinct token a distinct cache entry.
|
|
84
|
+
*/
|
|
85
|
+
private hashToken;
|
|
77
86
|
/**
|
|
78
87
|
* Verify delegation token - supports both VC-JWT and legacy tokens
|
|
79
88
|
*
|
|
80
89
|
* Verification strategy:
|
|
81
90
|
* 1. Early expiration check (cheap, before any crypto)
|
|
82
91
|
* 2. Check cache
|
|
83
|
-
* 3. If token is a VC-JWT,
|
|
84
|
-
*
|
|
92
|
+
* 3. If token is a VC-JWT, verify its signature locally, which refuses a
|
|
93
|
+
* forged or malformed credential without a network call
|
|
94
|
+
* 4. Confirm with Checkpoint that the delegation is still in force. A valid
|
|
95
|
+
* signature proves who issued the credential, not that it was never
|
|
96
|
+
* revoked; revocation lives at Checkpoint. Only a deployment with no
|
|
97
|
+
* Checkpoint API key (development) skips this and cannot see revocation.
|
|
98
|
+
*
|
|
99
|
+
* With a Checkpoint API key no verdict is cached: every verification asks
|
|
100
|
+
* Checkpoint, so a revocation refuses the very next call. Only the
|
|
101
|
+
* development path, which cannot see revocation anyway, caches a VC-JWT's
|
|
102
|
+
* verified signature for DEFAULT_VERIFICATION_CACHE_TTL seconds.
|
|
85
103
|
*
|
|
86
104
|
* @param token - Delegation token to verify
|
|
87
105
|
* @returns True if token is valid, false otherwise
|
|
88
106
|
*/
|
|
107
|
+
verifyDelegation(token: string): Promise<boolean>;
|
|
89
108
|
/**
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
* then admit any forged token. Keying on the full-token digest gives each
|
|
95
|
-
* distinct token a distinct cache entry.
|
|
109
|
+
* Asks Checkpoint whether the delegation behind `token` is in force.
|
|
110
|
+
* Checkpoint answers every verification with HTTP 200 and the verdict in
|
|
111
|
+
* `data.valid` (a revoked delegation is `valid: false`), so only an explicit
|
|
112
|
+
* `valid: true` counts; any other answer or error fails closed.
|
|
96
113
|
*/
|
|
97
|
-
private
|
|
98
|
-
verifyDelegation(token: string): Promise<boolean>;
|
|
114
|
+
private confirmWithCheckpoint;
|
|
99
115
|
/**
|
|
100
116
|
* Invalidate delegation token in all caches
|
|
101
117
|
* @param sessionId - Session ID to clear
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegation.service.d.ts","sourceRoot":"","sources":["../../src/services/delegation.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAO9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AASpD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,iCAAiC;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAoB;gBAExB,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAK3D;;;;OAIG;IACG,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoIpE;;;;;;;;;OASG;IACH,OAAO,CAAC,OAAO;IAuBf;;;;;;OAMG;YACW,kBAAkB;IAgKhC;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IA8BtB
|
|
1
|
+
{"version":3,"file":"delegation.service.d.ts","sourceRoot":"","sources":["../../src/services/delegation.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAO9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AASpD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,iCAAiC;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAoB;gBAExB,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAK3D;;;;OAIG;IACG,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoIpE;;;;;;;;;OASG;IACH,OAAO,CAAC,OAAO;IAuBf;;;;;;OAMG;YACW,kBAAkB;IAgKhC;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IA8BtB;;;;;;;OAOG;YACW,SAAS;IAUvB;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6DvD;;;;;OAKG;YACW,qBAAqB;IAsDnC;;;;;OAKG;IACG,eAAe,CACnB,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;CAoDjB"}
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Supports both:
|
|
8
8
|
* - Local VC-JWT verification (offline, cryptographic)
|
|
9
|
-
* -
|
|
9
|
+
* - Checkpoint API verification (online, centralized)
|
|
10
10
|
*/
|
|
11
|
-
import {
|
|
11
|
+
import { DEFAULT_CHECKPOINT_URL, DEFAULT_VERIFICATION_CACHE_TTL, DEFAULT_SESSION_CACHE_TTL, } from "../constants";
|
|
12
12
|
import { STORAGE_KEYS } from "../constants/storage-keys";
|
|
13
13
|
import { parseVCJWT, createDidKeyResolver, base64urlDecodeToBytes, bytesToBase64, } from "@kya-os/mcp";
|
|
14
14
|
import { WebCryptoProvider } from "../providers/crypto";
|
|
@@ -148,7 +148,7 @@ export class DelegationService {
|
|
|
148
148
|
}
|
|
149
149
|
/**
|
|
150
150
|
* Verify a VC-JWT locally using cryptographic verification
|
|
151
|
-
* This enables offline/local verification without calling
|
|
151
|
+
* This enables offline/local verification without calling Checkpoint API
|
|
152
152
|
*
|
|
153
153
|
* @param vcJwt - The VC-JWT string to verify
|
|
154
154
|
* @returns Verification result with extracted delegation data
|
|
@@ -317,18 +317,6 @@ export class DelegationService {
|
|
|
317
317
|
return false;
|
|
318
318
|
}
|
|
319
319
|
}
|
|
320
|
-
/**
|
|
321
|
-
* Verify delegation token - supports both VC-JWT and legacy tokens
|
|
322
|
-
*
|
|
323
|
-
* Verification strategy:
|
|
324
|
-
* 1. Early expiration check (cheap, before any crypto)
|
|
325
|
-
* 2. Check cache
|
|
326
|
-
* 3. If token is a VC-JWT, try local cryptographic verification
|
|
327
|
-
* 4. Fall back to AgentShield API if needed
|
|
328
|
-
*
|
|
329
|
-
* @param token - Delegation token to verify
|
|
330
|
-
* @returns True if token is valid, false otherwise
|
|
331
|
-
*/
|
|
332
320
|
/**
|
|
333
321
|
* Collision-resistant cache-key input for a token: SHA-256 hex of the FULL
|
|
334
322
|
* token. NOT a prefix — the first 16 chars of every EdDSA JWT are the
|
|
@@ -343,6 +331,27 @@ export class DelegationService {
|
|
|
343
331
|
.map((b) => b.toString(16).padStart(2, "0"))
|
|
344
332
|
.join("");
|
|
345
333
|
}
|
|
334
|
+
/**
|
|
335
|
+
* Verify delegation token - supports both VC-JWT and legacy tokens
|
|
336
|
+
*
|
|
337
|
+
* Verification strategy:
|
|
338
|
+
* 1. Early expiration check (cheap, before any crypto)
|
|
339
|
+
* 2. Check cache
|
|
340
|
+
* 3. If token is a VC-JWT, verify its signature locally, which refuses a
|
|
341
|
+
* forged or malformed credential without a network call
|
|
342
|
+
* 4. Confirm with Checkpoint that the delegation is still in force. A valid
|
|
343
|
+
* signature proves who issued the credential, not that it was never
|
|
344
|
+
* revoked; revocation lives at Checkpoint. Only a deployment with no
|
|
345
|
+
* Checkpoint API key (development) skips this and cannot see revocation.
|
|
346
|
+
*
|
|
347
|
+
* With a Checkpoint API key no verdict is cached: every verification asks
|
|
348
|
+
* Checkpoint, so a revocation refuses the very next call. Only the
|
|
349
|
+
* development path, which cannot see revocation anyway, caches a VC-JWT's
|
|
350
|
+
* verified signature for DEFAULT_VERIFICATION_CACHE_TTL seconds.
|
|
351
|
+
*
|
|
352
|
+
* @param token - Delegation token to verify
|
|
353
|
+
* @returns True if token is valid, false otherwise
|
|
354
|
+
*/
|
|
346
355
|
async verifyDelegation(token) {
|
|
347
356
|
// Early expiration check - reject expired tokens before any other processing
|
|
348
357
|
// This is a cheap check that doesn't require crypto or API calls
|
|
@@ -350,8 +359,11 @@ export class DelegationService {
|
|
|
350
359
|
console.error("[Delegation] Token rejected: expired (exp claim)");
|
|
351
360
|
return false;
|
|
352
361
|
}
|
|
353
|
-
//
|
|
354
|
-
|
|
362
|
+
// Only development (no Checkpoint) caches: a cached positive would outlive
|
|
363
|
+
// a revocation at Checkpoint.
|
|
364
|
+
const verificationCache = this.env.CHECKPOINT_API_KEY
|
|
365
|
+
? undefined
|
|
366
|
+
: this.env.TOOL_PROTECTION_KV;
|
|
355
367
|
if (verificationCache) {
|
|
356
368
|
const cacheKey = STORAGE_KEYS.verificationCache(await this.hashToken(token));
|
|
357
369
|
const cached = await verificationCache.get(cacheKey);
|
|
@@ -360,110 +372,87 @@ export class DelegationService {
|
|
|
360
372
|
return true;
|
|
361
373
|
}
|
|
362
374
|
}
|
|
363
|
-
|
|
364
|
-
|
|
375
|
+
let agentDid;
|
|
376
|
+
let scopes = [];
|
|
377
|
+
const isVCJWT = this.isVCJWT(token);
|
|
378
|
+
if (isVCJWT) {
|
|
365
379
|
console.error("[Delegation] Detected VC-JWT format, attempting local verification");
|
|
366
380
|
const vcResult = await this.verifyVCJWTLocally(token);
|
|
367
|
-
if (vcResult.valid) {
|
|
368
|
-
//
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
await verificationCache.put(cacheKey, "1", {
|
|
372
|
-
expirationTtl: DEFAULT_VERIFICATION_CACHE_TTL,
|
|
373
|
-
});
|
|
374
|
-
}
|
|
375
|
-
return true;
|
|
381
|
+
if (!vcResult.valid) {
|
|
382
|
+
// If the cryptographic signature is invalid, the token is invalid
|
|
383
|
+
console.error("[Delegation] Local VC-JWT verification failed:", vcResult.error);
|
|
384
|
+
return false;
|
|
376
385
|
}
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
386
|
+
agentDid = vcResult.agentDid ?? "";
|
|
387
|
+
scopes = vcResult.scopes ?? [];
|
|
388
|
+
}
|
|
389
|
+
else {
|
|
390
|
+
agentDid = this.runtime ? (await this.runtime.getIdentity()).did : "";
|
|
391
|
+
}
|
|
392
|
+
if (!this.env.CHECKPOINT_API_KEY) {
|
|
393
|
+
console.warn("[Delegation] No Checkpoint API key configured: accepting without Checkpoint, which cannot see revocation");
|
|
394
|
+
// Development: a legacy token is allowed unchecked and never cached; a
|
|
395
|
+
// VC-JWT's verified signature is cached as before.
|
|
396
|
+
if (!isVCJWT)
|
|
397
|
+
return true;
|
|
398
|
+
}
|
|
399
|
+
else if (!(await this.confirmWithCheckpoint(token, agentDid, scopes))) {
|
|
380
400
|
return false;
|
|
381
401
|
}
|
|
382
|
-
|
|
402
|
+
if (verificationCache) {
|
|
403
|
+
const cacheKey = STORAGE_KEYS.verificationCache(await this.hashToken(token));
|
|
404
|
+
await verificationCache.put(cacheKey, "1", {
|
|
405
|
+
expirationTtl: DEFAULT_VERIFICATION_CACHE_TTL,
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
console.error("[Delegation] Token verified");
|
|
409
|
+
return true;
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Asks Checkpoint whether the delegation behind `token` is in force.
|
|
413
|
+
* Checkpoint answers every verification with HTTP 200 and the verdict in
|
|
414
|
+
* `data.valid` (a revoked delegation is `valid: false`), so only an explicit
|
|
415
|
+
* `valid: true` counts; any other answer or error fails closed.
|
|
416
|
+
*/
|
|
417
|
+
async confirmWithCheckpoint(token, agentDid, scopes) {
|
|
418
|
+
const request = { agent_did: agentDid, delegation_token: token, scopes };
|
|
383
419
|
try {
|
|
384
|
-
const agentShieldUrl = this.env.AGENTSHIELD_API_URL || DEFAULT_AGENTSHIELD_URL;
|
|
385
|
-
const apiKey = this.env.AGENTSHIELD_API_KEY;
|
|
386
|
-
if (!apiKey) {
|
|
387
|
-
console.warn("[Delegation] No AgentShield API key configured, skipping verification");
|
|
388
|
-
return true; // Allow in development without API key
|
|
389
|
-
}
|
|
390
420
|
// Use AccessControlApiService if available from runtime
|
|
391
421
|
if (this.runtime && "accessControlService" in this.runtime) {
|
|
392
|
-
const
|
|
393
|
-
.runtime;
|
|
394
|
-
const accessControlService = runtimeWithAccessControl.accessControlService;
|
|
422
|
+
const accessControlService = this.runtime.accessControlService;
|
|
395
423
|
if (accessControlService) {
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
// Build request with delegation_token
|
|
402
|
-
const request = {
|
|
403
|
-
agent_did: agentDid || "", // Required field, but token verification may not need it
|
|
404
|
-
delegation_token: token,
|
|
405
|
-
scopes: [], // Empty scopes for token verification
|
|
406
|
-
};
|
|
407
|
-
const response = await accessControlService.verifyDelegation(request);
|
|
408
|
-
const isValid = response.data.valid;
|
|
409
|
-
if (isValid) {
|
|
410
|
-
// Cache successful verification
|
|
411
|
-
if (verificationCache) {
|
|
412
|
-
const cacheKey = STORAGE_KEYS.verificationCache(await this.hashToken(token));
|
|
413
|
-
await verificationCache.put(cacheKey, "1", {
|
|
414
|
-
expirationTtl: DEFAULT_VERIFICATION_CACHE_TTL,
|
|
415
|
-
});
|
|
416
|
-
}
|
|
417
|
-
console.error("[Delegation] Token verified successfully with AgentShield");
|
|
418
|
-
return true;
|
|
419
|
-
}
|
|
420
|
-
else {
|
|
421
|
-
console.error("[Delegation] Token verification failed:", response.data.reason || "Invalid token");
|
|
422
|
-
return false;
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
catch (error) {
|
|
426
|
-
console.error("[Delegation] Error verifying token via AccessControlApiService:", error);
|
|
427
|
-
return false; // Fail closed on errors
|
|
428
|
-
}
|
|
424
|
+
const response = await accessControlService.verifyDelegation(request);
|
|
425
|
+
if (response.data.valid)
|
|
426
|
+
return true;
|
|
427
|
+
console.error("[Delegation] Token verification failed:", response.data.reason || "Invalid token");
|
|
428
|
+
return false;
|
|
429
429
|
}
|
|
430
430
|
}
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
const response = await fetch(`${agentShieldUrl}/api/v1/bouncer/delegations/verify`, {
|
|
431
|
+
const checkpointUrl = this.env.CHECKPOINT_API_URL || DEFAULT_CHECKPOINT_URL;
|
|
432
|
+
const response = await fetch(`${checkpointUrl}/api/v1/bouncer/delegations/verify`, {
|
|
434
433
|
method: "POST",
|
|
435
434
|
headers: {
|
|
436
|
-
Authorization: `Bearer ${
|
|
435
|
+
Authorization: `Bearer ${this.env.CHECKPOINT_API_KEY}`,
|
|
437
436
|
"Content-Type": "application/json",
|
|
438
437
|
},
|
|
439
|
-
body: JSON.stringify(
|
|
440
|
-
agent_did: this.runtime
|
|
441
|
-
? (await this.runtime.getIdentity()).did
|
|
442
|
-
: "",
|
|
443
|
-
delegation_token: token,
|
|
444
|
-
scopes: [],
|
|
445
|
-
}),
|
|
438
|
+
body: JSON.stringify(request),
|
|
446
439
|
});
|
|
447
|
-
if (response.ok) {
|
|
448
|
-
// Cache successful verification
|
|
449
|
-
if (verificationCache) {
|
|
450
|
-
const cacheKey = STORAGE_KEYS.verificationCache(await this.hashToken(token));
|
|
451
|
-
await verificationCache.put(cacheKey, "1", {
|
|
452
|
-
expirationTtl: DEFAULT_VERIFICATION_CACHE_TTL,
|
|
453
|
-
});
|
|
454
|
-
}
|
|
455
|
-
console.error("[Delegation] Token verified successfully with AgentShield");
|
|
456
|
-
return true;
|
|
457
|
-
}
|
|
458
440
|
if (response.status === 401 || response.status === 403) {
|
|
459
441
|
console.error("[Delegation] Token verification failed: unauthorized");
|
|
460
442
|
return false;
|
|
461
443
|
}
|
|
462
|
-
|
|
463
|
-
|
|
444
|
+
if (!response.ok) {
|
|
445
|
+
console.warn("[Delegation] Token verification returned unexpected status:", response.status);
|
|
446
|
+
return false; // Fail closed for security
|
|
447
|
+
}
|
|
448
|
+
const body = (await response.json().catch(() => null));
|
|
449
|
+
if (body?.data?.valid === true)
|
|
450
|
+
return true;
|
|
451
|
+
console.error("[Delegation] Token verification failed:", body?.data?.error?.code || "no valid verdict");
|
|
452
|
+
return false;
|
|
464
453
|
}
|
|
465
454
|
catch (error) {
|
|
466
|
-
console.error("[Delegation] Error verifying token with
|
|
455
|
+
console.error("[Delegation] Error verifying token with Checkpoint:", error);
|
|
467
456
|
return false; // Fail closed on errors
|
|
468
457
|
}
|
|
469
458
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegation.service.js","sourceRoot":"","sources":["../../src/services/delegation.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delegation.service.js","sourceRoot":"","sources":["../../src/services/delegation.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,11 +10,13 @@
|
|
|
10
10
|
* - Activity events (`/api/v1/kya-os/events`) are the human-readable feed that
|
|
11
11
|
* powers the dashboard `/activity` view and per-deployment activity.
|
|
12
12
|
*
|
|
13
|
-
* Both share the same
|
|
14
|
-
* `
|
|
13
|
+
* Both share the same Checkpoint credentials (`CHECKPOINT_API_URL` +
|
|
14
|
+
* `CHECKPOINT_API_KEY`) and the same generic {@link BatchQueue} engine:
|
|
15
15
|
* fire-and-forget, auto-flush at batch size, cron-driven flush across requests.
|
|
16
16
|
*
|
|
17
|
-
* Tool arguments and results NEVER appear in an event.
|
|
17
|
+
* Tool arguments and results NEVER appear in an event. A dispatch made under a
|
|
18
|
+
* grant can carry `delegation.jti` (the grant id), which the sink uses to link
|
|
19
|
+
* the call to that delegation and, on a pass, to stamp its last use.
|
|
18
20
|
*/
|
|
19
21
|
import { type BatchDestination } from "./batch-queue";
|
|
20
22
|
/** The SPEC-EVENTS schema version this emitter produces. */
|
|
@@ -52,6 +54,10 @@ export interface ToolInvokedEvent {
|
|
|
52
54
|
error?: {
|
|
53
55
|
excerpt: string;
|
|
54
56
|
};
|
|
57
|
+
/** Links the dispatch to the grant it ran under (the delegation id). */
|
|
58
|
+
delegation?: {
|
|
59
|
+
jti: string;
|
|
60
|
+
};
|
|
55
61
|
}
|
|
56
62
|
/** Union of the event types this emitter can produce (extensible). */
|
|
57
63
|
export type KyaOsEvent = ToolInvokedEvent;
|
|
@@ -86,6 +92,12 @@ export interface ToolInvokedInput {
|
|
|
86
92
|
success?: boolean;
|
|
87
93
|
/** Short failure excerpt (only forwarded when `success === false`). */
|
|
88
94
|
errorExcerpt?: string;
|
|
95
|
+
/**
|
|
96
|
+
* Id of the grant this dispatch ran under, sent as `delegation.jti`. The
|
|
97
|
+
* caller decides when a dispatch is attributable to a grant; the sink maps
|
|
98
|
+
* a fail verdict with a jti to a failed delegation result.
|
|
99
|
+
*/
|
|
100
|
+
delegationJti?: string;
|
|
89
101
|
/** Injectable timestamp for deterministic tests; defaults to now. */
|
|
90
102
|
ts?: string;
|
|
91
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kya-os-events.service.d.ts","sourceRoot":"","sources":["../../src/services/kya-os-events.service.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"kya-os-events.service.d.ts","sourceRoot":"","sources":["../../src/services/kya-os-events.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,21 +10,25 @@
|
|
|
10
10
|
* - Activity events (`/api/v1/kya-os/events`) are the human-readable feed that
|
|
11
11
|
* powers the dashboard `/activity` view and per-deployment activity.
|
|
12
12
|
*
|
|
13
|
-
* Both share the same
|
|
14
|
-
* `
|
|
13
|
+
* Both share the same Checkpoint credentials (`CHECKPOINT_API_URL` +
|
|
14
|
+
* `CHECKPOINT_API_KEY`) and the same generic {@link BatchQueue} engine:
|
|
15
15
|
* fire-and-forget, auto-flush at batch size, cron-driven flush across requests.
|
|
16
16
|
*
|
|
17
|
-
* Tool arguments and results NEVER appear in an event.
|
|
17
|
+
* Tool arguments and results NEVER appear in an event. A dispatch made under a
|
|
18
|
+
* grant can carry `delegation.jti` (the grant id), which the sink uses to link
|
|
19
|
+
* the call to that delegation and, on a pass, to stamp its last use.
|
|
18
20
|
*/
|
|
19
21
|
import { BatchQueue } from "./batch-queue";
|
|
20
22
|
/** The SPEC-EVENTS schema version this emitter produces. */
|
|
21
23
|
export const SPEC_EVENTS_VERSION = "0.1";
|
|
22
24
|
/** Self-identification forwarded to the sink's `source.sdk` block. */
|
|
23
25
|
export const KYA_OS_EVENTS_SDK_NAME = "mcp-i-cloudflare";
|
|
24
|
-
/** The sink path appended to the
|
|
26
|
+
/** The sink path appended to the Checkpoint API base URL. */
|
|
25
27
|
const EVENTS_PATH = "/api/v1/kya-os/events";
|
|
26
28
|
/** Max characters retained from a failure excerpt (sink caps at 200). */
|
|
27
29
|
const MAX_ERROR_EXCERPT = 200;
|
|
30
|
+
/** Max delegation jti length the sink accepts. */
|
|
31
|
+
const MAX_DELEGATION_JTI = 500;
|
|
28
32
|
/**
|
|
29
33
|
* KYA-OS events sink destination.
|
|
30
34
|
*
|
|
@@ -116,6 +120,12 @@ export class KyaOsEventsEmitter {
|
|
|
116
120
|
if (failed && input.errorExcerpt) {
|
|
117
121
|
event.error = { excerpt: input.errorExcerpt.slice(0, MAX_ERROR_EXCERPT) };
|
|
118
122
|
}
|
|
123
|
+
// An out-of-range jti would fail the sink's schema and reject the whole
|
|
124
|
+
// batch, so it is dropped here. Truncating would link to the wrong grant.
|
|
125
|
+
if (input.delegationJti &&
|
|
126
|
+
input.delegationJti.length <= MAX_DELEGATION_JTI) {
|
|
127
|
+
event.delegation = { jti: input.delegationJti };
|
|
128
|
+
}
|
|
119
129
|
this.queue.enqueue(event);
|
|
120
130
|
}
|
|
121
131
|
/** Drain the queue and retry any pending batches (cron-driven). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kya-os-events.service.js","sourceRoot":"","sources":["../../src/services/kya-os-events.service.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"kya-os-events.service.js","sourceRoot":"","sources":["../../src/services/kya-os-events.service.ts"],"names":[],"mappings":"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"}
|