@kya-os/mcp-i-cloudflare 1.5.1-canary.1 → 1.5.1-canary.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapter.d.ts +31 -1
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +284 -23
- package/dist/adapter.js.map +1 -1
- package/dist/constants/storage-keys.d.ts +89 -0
- package/dist/constants/storage-keys.d.ts.map +1 -0
- package/dist/constants/storage-keys.js +142 -0
- package/dist/constants/storage-keys.js.map +1 -0
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -3
- package/dist/index.js.map +1 -1
- package/dist/runtime/oauth-handler.d.ts +6 -0
- package/dist/runtime/oauth-handler.d.ts.map +1 -1
- package/dist/runtime/oauth-handler.js +96 -21
- package/dist/runtime/oauth-handler.js.map +1 -1
- package/dist/services/admin.service.d.ts +4 -0
- package/dist/services/admin.service.d.ts.map +1 -1
- package/dist/services/admin.service.js +170 -77
- package/dist/services/admin.service.js.map +1 -1
- package/dist/services/consent-config.service.d.ts.map +1 -1
- package/dist/services/consent-config.service.js +7 -3
- package/dist/services/consent-config.service.js.map +1 -1
- package/dist/services/consent-page-renderer.d.ts +8 -2
- package/dist/services/consent-page-renderer.d.ts.map +1 -1
- package/dist/services/consent-page-renderer.js +42 -8
- package/dist/services/consent-page-renderer.js.map +1 -1
- package/dist/services/consent.service.d.ts +90 -0
- package/dist/services/consent.service.d.ts.map +1 -1
- package/dist/services/consent.service.js +556 -99
- 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 +54 -19
- package/dist/services/delegation.service.js.map +1 -1
- package/dist/services/oauth-security.service.d.ts +92 -0
- package/dist/services/oauth-security.service.d.ts.map +1 -0
- package/dist/services/oauth-security.service.js +260 -0
- package/dist/services/oauth-security.service.js.map +1 -0
- package/dist/services/rate-limit.service.d.ts +59 -0
- package/dist/services/rate-limit.service.d.ts.map +1 -0
- package/dist/services/rate-limit.service.js +146 -0
- package/dist/services/rate-limit.service.js.map +1 -0
- package/dist/types/client.d.ts +10 -0
- package/dist/types/client.d.ts.map +1 -1
- package/dist/utils/day0-config.d.ts +51 -0
- package/dist/utils/day0-config.d.ts.map +1 -0
- package/dist/utils/day0-config.js +72 -0
- package/dist/utils/day0-config.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized storage key definitions for consistent namespace management
|
|
3
|
+
*
|
|
4
|
+
* These keys ensure proper multi-tenant isolation and prevent storage conflicts.
|
|
5
|
+
* All storage operations should use these helpers to maintain consistency.
|
|
6
|
+
*
|
|
7
|
+
* Key Format Guidelines:
|
|
8
|
+
* - Use descriptive prefixes (userDid:, oauth:, delegation:, session:)
|
|
9
|
+
* - Include all relevant identifiers (userDid, agentDid, projectId)
|
|
10
|
+
* - Keep keys readable for debugging
|
|
11
|
+
* - Maintain backward compatibility during migration
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Storage key generators for consistent namespace management
|
|
15
|
+
*/
|
|
16
|
+
export const STORAGE_KEYS = {
|
|
17
|
+
/**
|
|
18
|
+
* User DID storage (persistent - 90 days)
|
|
19
|
+
* Maps OAuth provider + subject to persistent User DID
|
|
20
|
+
*/
|
|
21
|
+
userDid: (provider, subject) => `userDid:oauth:${provider}:${subject}`,
|
|
22
|
+
/**
|
|
23
|
+
* OAuth identity mapping (persistent - 90 days)
|
|
24
|
+
* Stores full OAuth identity information linked to User DID
|
|
25
|
+
*/
|
|
26
|
+
oauthIdentity: (provider, subject) => `oauth:${provider}:${subject}`,
|
|
27
|
+
/**
|
|
28
|
+
* User+Agent delegation tokens (persistent - 7 days)
|
|
29
|
+
* Primary storage format for delegation tokens with multi-tenant isolation
|
|
30
|
+
*/
|
|
31
|
+
delegation: (userDid, agentDid) => `delegation:user:${userDid}:agent:${agentDid}`,
|
|
32
|
+
/**
|
|
33
|
+
* Session cache (temporary - 30 minutes)
|
|
34
|
+
* Stores session data including userDid, agentDid, and delegationToken
|
|
35
|
+
*/
|
|
36
|
+
session: (sessionId) => `session:${sessionId}`,
|
|
37
|
+
/**
|
|
38
|
+
* Legacy delegation format (deprecated - 24 hours TTL)
|
|
39
|
+
* Agent-only scoped key for backward compatibility during migration
|
|
40
|
+
*/
|
|
41
|
+
legacyDelegation: (agentDid) => `agent:${agentDid}:delegation`,
|
|
42
|
+
/**
|
|
43
|
+
* Verification cache (temporary - 5 minutes)
|
|
44
|
+
* Caches delegation verification results to reduce API calls
|
|
45
|
+
*/
|
|
46
|
+
verificationCache: (tokenHash) => `verified:${tokenHash}`,
|
|
47
|
+
/**
|
|
48
|
+
* Rate limiting (temporary - 1 hour)
|
|
49
|
+
* Tracks rate limit counters per operation and identifier
|
|
50
|
+
*/
|
|
51
|
+
rateLimit: (operation, identifier) => `rl:${operation}:${identifier}`,
|
|
52
|
+
/**
|
|
53
|
+
* Audit logs (persistent - 30 days)
|
|
54
|
+
* Stores audit trail for identity and delegation operations
|
|
55
|
+
*/
|
|
56
|
+
audit: (action, timestamp) => `audit:${action}:${timestamp}`,
|
|
57
|
+
/**
|
|
58
|
+
* OAuth state (temporary - 10 minutes)
|
|
59
|
+
* Stores OAuth state for CSRF protection during OAuth flow
|
|
60
|
+
*/
|
|
61
|
+
oauthState: (state) => `oauth:state:${state}`,
|
|
62
|
+
/**
|
|
63
|
+
* Nonce tracking (temporary - 5 minutes)
|
|
64
|
+
* Prevents replay attacks by tracking used nonces
|
|
65
|
+
*/
|
|
66
|
+
nonce: (nonce) => `nonce:${nonce}`,
|
|
67
|
+
/**
|
|
68
|
+
* Day0 API configuration cache (persistent - 1 hour)
|
|
69
|
+
* Caches Day0 API verification results
|
|
70
|
+
*/
|
|
71
|
+
day0Config: () => `day0:api:config`,
|
|
72
|
+
/**
|
|
73
|
+
* Format preference cache (temporary - 1 hour)
|
|
74
|
+
* Caches successful API format preference (full vs simplified)
|
|
75
|
+
*/
|
|
76
|
+
formatPreference: () => `agentshield:format:preference`,
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Extract components from storage keys (for migration/debugging)
|
|
80
|
+
*/
|
|
81
|
+
export function parseStorageKey(key) {
|
|
82
|
+
if (key.startsWith("delegation:user:")) {
|
|
83
|
+
// delegation:user:${userDid}:agent:${agentDid}
|
|
84
|
+
// DIDs contain colons (e.g., did:key:z6Mk...), so we need to find the :agent: separator
|
|
85
|
+
const agentSeparator = ":agent:";
|
|
86
|
+
const agentIndex = key.indexOf(agentSeparator);
|
|
87
|
+
if (agentIndex !== -1) {
|
|
88
|
+
const userDidPrefix = "delegation:user:";
|
|
89
|
+
const userDid = key.substring(userDidPrefix.length, agentIndex);
|
|
90
|
+
const agentDid = key.substring(agentIndex + agentSeparator.length);
|
|
91
|
+
return {
|
|
92
|
+
type: "delegation",
|
|
93
|
+
components: {
|
|
94
|
+
userDid,
|
|
95
|
+
agentDid,
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (key.startsWith("oauth:")) {
|
|
101
|
+
// oauth:${provider}:${subject}
|
|
102
|
+
// Subject might contain colons, so find the second colon
|
|
103
|
+
const parts = key.split(":");
|
|
104
|
+
if (parts.length >= 3) {
|
|
105
|
+
const provider = parts[1];
|
|
106
|
+
const subject = parts.slice(2).join(":"); // Rejoin in case subject has colons
|
|
107
|
+
return {
|
|
108
|
+
type: "oauth",
|
|
109
|
+
components: {
|
|
110
|
+
provider,
|
|
111
|
+
subject,
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (key.startsWith("session:")) {
|
|
117
|
+
// session:${sessionId}
|
|
118
|
+
const sessionId = key.substring("session:".length);
|
|
119
|
+
return {
|
|
120
|
+
type: "session",
|
|
121
|
+
components: {
|
|
122
|
+
sessionId,
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
if (key.startsWith("agent:") && key.endsWith(":delegation")) {
|
|
127
|
+
// agent:${agentDid}:delegation (legacy)
|
|
128
|
+
// Agent DID might contain colons, so extract everything between "agent:" and ":delegation"
|
|
129
|
+
const agentDid = key.substring("agent:".length, key.length - ":delegation".length);
|
|
130
|
+
return {
|
|
131
|
+
type: "legacyDelegation",
|
|
132
|
+
components: {
|
|
133
|
+
agentDid,
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
return {
|
|
138
|
+
type: "unknown",
|
|
139
|
+
components: {},
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=storage-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-keys.js","sourceRoot":"","sources":["../../src/constants/storage-keys.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -13,16 +13,20 @@ import type { CloudflareEnv } from "./types";
|
|
|
13
13
|
import type { CloudflareRuntimeConfig } from "./config";
|
|
14
14
|
export { WebCryptoProvider, KVStorageProvider, KVNonceCacheProvider, WorkersClockProvider, WorkersFetchProvider, WorkersIdentityProvider, KVIdentityProvider, };
|
|
15
15
|
export { KVProofArchive, type DetachedProof, type ProofRecord, type ProofQuery, type ProofStats, } from "./storage/kv-proof-archive";
|
|
16
|
+
export { ConsentService } from "./services/consent.service";
|
|
17
|
+
export { DelegationService } from "./services/delegation.service";
|
|
18
|
+
export { ProofService } from "./services/proof.service";
|
|
19
|
+
export { RateLimitService } from "./services/rate-limit.service";
|
|
20
|
+
export { OAuthSecurityService } from "./services/oauth-security.service";
|
|
21
|
+
export { STORAGE_KEYS } from "./constants/storage-keys";
|
|
22
|
+
export { loadDay0Config, getDelegationFieldName, supportsFullDelegationFormat, hasResponseWrapper, type Day0Config, } from "./utils/day0-config";
|
|
16
23
|
export { CloudflareProofGenerator, type ProofMeta, type SessionContext, type ToolRequest, type ToolResponse, type ProofOptions, } from "./proof-generator";
|
|
17
24
|
export { CloudflareRuntime, type ToolCallContext } from "./runtime";
|
|
18
25
|
export { KVToolProtectionCache, type KVNamespace, } from "./cache/kv-tool-protection-cache";
|
|
19
26
|
export { createOAuthCallbackHandler, extractDelegationToken, type HonoContext, type OAuthCallbackConfig, type OAuthSuccessData, type OAuthErrorData, type OAuthState, type TokenExchangeResponse, } from "./runtime/oauth-handler";
|
|
20
27
|
export type { AgentIdentity } from "@kya-os/mcp-i-core";
|
|
21
28
|
export { MCPICloudflareServer, type MCPICloudflareServerOptions, } from "./server";
|
|
22
|
-
export { DelegationService } from "./services/delegation.service";
|
|
23
|
-
export { ProofService, type ProofSubmissionContext, } from "./services/proof.service";
|
|
24
29
|
export { AdminService } from "./services/admin.service";
|
|
25
|
-
export { ConsentService } from "./services/consent.service";
|
|
26
30
|
export { MCPICloudflareAgent, type MCPICloudflareAgentOptions, type PrefixedCloudflareEnv, } from "./agent";
|
|
27
31
|
export { createMCPIApp, type CreateMCPIAppOptions } from "./app";
|
|
28
32
|
export { mapPrefixedEnv } from "./helpers/env-mapper";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAIL,qBAAqB,EAGtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAGxD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,GACnB,CAAC;AAGF,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,UAAU,GAChB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,wBAAwB,EACxB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAGpE,OAAO,EACL,qBAAqB,EACrB,KAAK,WAAW,GACjB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,qBAAqB,GAC3B,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EACL,oBAAoB,EACpB,KAAK,2BAA2B,GACjC,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -13,6 +13,15 @@ import { CloudflareRuntime } from "./runtime";
|
|
|
13
13
|
export { WebCryptoProvider, KVStorageProvider, KVNonceCacheProvider, WorkersClockProvider, WorkersFetchProvider, WorkersIdentityProvider, KVIdentityProvider, };
|
|
14
14
|
// Re-export storage classes
|
|
15
15
|
export { KVProofArchive, } from "./storage/kv-proof-archive";
|
|
16
|
+
// Re-export services
|
|
17
|
+
export { ConsentService } from "./services/consent.service";
|
|
18
|
+
export { DelegationService } from "./services/delegation.service";
|
|
19
|
+
export { ProofService } from "./services/proof.service";
|
|
20
|
+
export { RateLimitService } from "./services/rate-limit.service";
|
|
21
|
+
export { OAuthSecurityService } from "./services/oauth-security.service";
|
|
22
|
+
// Re-export constants and utilities
|
|
23
|
+
export { STORAGE_KEYS } from "./constants/storage-keys";
|
|
24
|
+
export { loadDay0Config, getDelegationFieldName, supportsFullDelegationFormat, hasResponseWrapper, } from "./utils/day0-config";
|
|
16
25
|
// Re-export proof generation
|
|
17
26
|
export { CloudflareProofGenerator, } from "./proof-generator";
|
|
18
27
|
// Re-export runtime (extended with CloudflareProofGenerator)
|
|
@@ -23,10 +32,7 @@ export { KVToolProtectionCache, } from "./cache/kv-tool-protection-cache";
|
|
|
23
32
|
export { createOAuthCallbackHandler, extractDelegationToken, } from "./runtime/oauth-handler";
|
|
24
33
|
// Re-export MCPICloudflareServer and services
|
|
25
34
|
export { MCPICloudflareServer, } from "./server";
|
|
26
|
-
export { DelegationService } from "./services/delegation.service";
|
|
27
|
-
export { ProofService, } from "./services/proof.service";
|
|
28
35
|
export { AdminService } from "./services/admin.service";
|
|
29
|
-
export { ConsentService } from "./services/consent.service";
|
|
30
36
|
// Re-export agent base class and app factory
|
|
31
37
|
export { MCPICloudflareAgent, } from "./agent";
|
|
32
38
|
export { createMCPIApp } from "./app";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAGL,uBAAuB,EAEvB,uBAAuB,EACvB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAI9C,sBAAsB;AACtB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,GACnB,CAAC;AAEF,4BAA4B;AAC5B,OAAO,EACL,cAAc,GAKf,MAAM,4BAA4B,CAAC;AAEpC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,9 @@ export interface HonoContext {
|
|
|
11
11
|
};
|
|
12
12
|
html: (html: string, status?: number) => Response;
|
|
13
13
|
json: (object: any, status?: number) => Response;
|
|
14
|
+
header: (name: string, value: string) => void;
|
|
14
15
|
}
|
|
16
|
+
import type { ConsentService } from '../services/consent.service';
|
|
15
17
|
export interface OAuthCallbackConfig {
|
|
16
18
|
/**
|
|
17
19
|
* AgentShield API URL (defaults to AGENTSHIELD_API_URL env var)
|
|
@@ -21,6 +23,10 @@ export interface OAuthCallbackConfig {
|
|
|
21
23
|
* KV namespace binding for delegation storage
|
|
22
24
|
*/
|
|
23
25
|
delegationStorage?: KVNamespace;
|
|
26
|
+
/**
|
|
27
|
+
* ConsentService instance for OAuth identity linking (Phase 4)
|
|
28
|
+
*/
|
|
29
|
+
consentService?: ConsentService;
|
|
24
30
|
/**
|
|
25
31
|
* Custom success HTML template (optional)
|
|
26
32
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-handler.d.ts","sourceRoot":"","sources":["../../src/runtime/oauth-handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,EAAE;QACH,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;KAC9C,CAAC;IACF,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAC;IAClD,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth-handler.d.ts","sourceRoot":"","sources":["../../src/runtime/oauth-handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,EAAE;QACH,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;KAC9C,CAAC;IACF,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAC;IAClD,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAC;IACjD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAID,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlE,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAEhC;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,MAAM,CAAC;IAErD;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,MAAM,CAAC;IAElD;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA8KD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,GAAE,mBAAwB,IAC3D,GAAG,WAAW,uBA4Q7B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAoBpE"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Provides reusable OAuth callback handler for agents using delegation flow
|
|
5
5
|
*/
|
|
6
|
+
import { STORAGE_KEYS } from '../constants/storage-keys';
|
|
6
7
|
/**
|
|
7
8
|
* Default success page template
|
|
8
9
|
*/
|
|
@@ -183,7 +184,7 @@ export function createOAuthCallbackHandler(config = {}) {
|
|
|
183
184
|
return async (c) => {
|
|
184
185
|
const env = c.env;
|
|
185
186
|
// Get configuration with defaults
|
|
186
|
-
const { agentShieldApiUrl = env.AGENTSHIELD_API_URL || 'https://hobbs.work', delegationStorage, successTemplate = defaultSuccessTemplate, errorTemplate = defaultErrorTemplate, autoClose = true, autoCloseDelay = 5000 } = config;
|
|
187
|
+
const { agentShieldApiUrl = env.AGENTSHIELD_API_URL || 'https://hobbs.work', delegationStorage, consentService, successTemplate = defaultSuccessTemplate, errorTemplate = defaultErrorTemplate, autoClose = true, autoCloseDelay = 5000 } = config;
|
|
187
188
|
// Get query parameters
|
|
188
189
|
const code = c.req.query('code');
|
|
189
190
|
const stateParam = c.req.query('state');
|
|
@@ -280,34 +281,108 @@ export function createOAuthCallbackHandler(config = {}) {
|
|
|
280
281
|
expiresIn: tokenData.expires_in,
|
|
281
282
|
scopes: tokenData.scopes
|
|
282
283
|
});
|
|
284
|
+
// Phase 4 PR #3: Extract OAuth user info and link to User DID
|
|
285
|
+
let oauthIdentity = null;
|
|
286
|
+
let userDid;
|
|
287
|
+
if (consentService && delegationStorage) {
|
|
288
|
+
try {
|
|
289
|
+
// Option A: Check if AgentShield token response includes user info
|
|
290
|
+
// If tokenData has user info fields, extract them:
|
|
291
|
+
const userInfoFromToken = tokenData.user_info || tokenData.user;
|
|
292
|
+
if (userInfoFromToken) {
|
|
293
|
+
// Extract provider from (in order of precedence):
|
|
294
|
+
// 1. AgentShield token response (if available)
|
|
295
|
+
// 2. State parameter (if stored during OAuth initiation)
|
|
296
|
+
// 3. Environment variable (if configured)
|
|
297
|
+
// 4. Default fallback ('google')
|
|
298
|
+
const provider = tokenData.provider
|
|
299
|
+
|| state.provider
|
|
300
|
+
|| env.DEFAULT_OAUTH_PROVIDER
|
|
301
|
+
|| 'google';
|
|
302
|
+
oauthIdentity = {
|
|
303
|
+
provider: provider,
|
|
304
|
+
subject: userInfoFromToken.sub || userInfoFromToken.id || userInfoFromToken.email,
|
|
305
|
+
email: userInfoFromToken.email,
|
|
306
|
+
name: userInfoFromToken.name || userInfoFromToken.display_name,
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
else {
|
|
310
|
+
// Option B: Call OAuth provider's userinfo endpoint
|
|
311
|
+
// This requires an access_token from the token exchange
|
|
312
|
+
// For now, we'll log a warning and skip OAuth linking
|
|
313
|
+
// TODO: Implement userinfo endpoint call if access_token is available
|
|
314
|
+
console.warn('[OAuth] User info not available in token response. OAuth linking skipped.');
|
|
315
|
+
console.warn('[OAuth] To enable OAuth linking, ensure AgentShield returns user info or access_token in token response.');
|
|
316
|
+
}
|
|
317
|
+
// Link OAuth identity to User DID if we have it
|
|
318
|
+
if (oauthIdentity && oauthIdentity.subject) {
|
|
319
|
+
userDid = await consentService.linkOAuthToUserDid(oauthIdentity, session_id);
|
|
320
|
+
// Set OAuth identity cookie for consent page
|
|
321
|
+
const cookieValue = encodeURIComponent(JSON.stringify(oauthIdentity));
|
|
322
|
+
c.header("Set-Cookie", `oauth_identity=${cookieValue}; HttpOnly; Secure; SameSite=Lax; Max-Age=604800; Path=/`);
|
|
323
|
+
console.log('[OAuth] OAuth identity linked and cookie set:', {
|
|
324
|
+
provider: oauthIdentity.provider,
|
|
325
|
+
subject: oauthIdentity.subject.substring(0, 20) + '...',
|
|
326
|
+
userDid: userDid.substring(0, 20) + '...',
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
catch (error) {
|
|
331
|
+
// OAuth linking errors are non-fatal - log but continue
|
|
332
|
+
console.error('[OAuth] Failed to link OAuth identity (non-fatal):', error);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
283
335
|
// Store delegation token in KV if storage is configured
|
|
284
336
|
if (delegationStorage) {
|
|
285
337
|
const ttl = tokenData.expires_in || (7 * 24 * 60 * 60); // Default 7 days
|
|
286
338
|
try {
|
|
287
|
-
//
|
|
288
|
-
//
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
339
|
+
// Get userDID from session if available (Phase 4)
|
|
340
|
+
// Use linked userDid if available, otherwise check session
|
|
341
|
+
let sessionUserDid = userDid;
|
|
342
|
+
const sessionKey = STORAGE_KEYS.session(session_id);
|
|
343
|
+
if (!sessionUserDid) {
|
|
344
|
+
const sessionData = await delegationStorage.get(sessionKey, "json");
|
|
345
|
+
sessionUserDid = sessionData?.userDid;
|
|
346
|
+
}
|
|
347
|
+
// Primary: User+Agent scoped (no conflicts) - Phase 4
|
|
348
|
+
if (sessionUserDid) {
|
|
349
|
+
const userAgentKey = STORAGE_KEYS.delegation(sessionUserDid, agent_did);
|
|
350
|
+
await delegationStorage.put(userAgentKey, tokenData.delegation_token, {
|
|
351
|
+
expirationTtl: ttl
|
|
352
|
+
});
|
|
353
|
+
console.log('[OAuth] Delegation token stored with user+agent DID:', {
|
|
354
|
+
key: userAgentKey,
|
|
355
|
+
ttl,
|
|
356
|
+
agentDid: agent_did.substring(0, 20) + '...',
|
|
357
|
+
delegationId: tokenData.delegation_id
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
// Backward compatibility: Agent-only key (24 hour TTL)
|
|
361
|
+
const legacyKey = STORAGE_KEYS.legacyDelegation(agent_did);
|
|
362
|
+
await delegationStorage.put(legacyKey, tokenData.delegation_token, {
|
|
363
|
+
expirationTtl: 24 * 60 * 60 // 24 hours only
|
|
292
364
|
});
|
|
293
|
-
console.log('[OAuth] Delegation token stored with agent
|
|
294
|
-
key:
|
|
295
|
-
ttl,
|
|
365
|
+
console.log('[OAuth] Delegation token stored with legacy agent key:', {
|
|
366
|
+
key: legacyKey,
|
|
367
|
+
ttl: 24 * 60 * 60,
|
|
296
368
|
agentDid: agent_did.substring(0, 20) + '...',
|
|
297
369
|
delegationId: tokenData.delegation_id
|
|
298
370
|
});
|
|
299
|
-
//
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
371
|
+
// Session cache for fast lookup (shorter TTL for performance)
|
|
372
|
+
await delegationStorage.put(sessionKey, JSON.stringify({
|
|
373
|
+
userDid: sessionUserDid,
|
|
374
|
+
agentDid: agent_did,
|
|
375
|
+
delegationToken: tokenData.delegation_token,
|
|
376
|
+
cachedAt: Date.now(),
|
|
377
|
+
}), {
|
|
378
|
+
expirationTtl: Math.min(ttl, 1800) // 30 minutes or token TTL, whichever is shorter
|
|
379
|
+
});
|
|
380
|
+
console.log('[OAuth] Delegation token cached for session:', {
|
|
381
|
+
key: sessionKey,
|
|
382
|
+
ttl: Math.min(ttl, 1800),
|
|
383
|
+
sessionId: session_id,
|
|
384
|
+
userDid: sessionUserDid,
|
|
385
|
+
});
|
|
311
386
|
}
|
|
312
387
|
catch (storageError) {
|
|
313
388
|
// Storage errors are non-fatal - log but continue
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-handler.js","sourceRoot":"","sources":["../../src/runtime/oauth-handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"oauth-handler.js","sourceRoot":"","sources":["../../src/runtime/oauth-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,10 @@ import type { CloudflareEnv } from "../types";
|
|
|
8
8
|
export declare class AdminService {
|
|
9
9
|
private env;
|
|
10
10
|
constructor(env: CloudflareEnv);
|
|
11
|
+
/**
|
|
12
|
+
* Create a consistent error response in AgentShield API format
|
|
13
|
+
*/
|
|
14
|
+
private createErrorResponse;
|
|
11
15
|
/**
|
|
12
16
|
* Handle admin requests
|
|
13
17
|
* @param request - Incoming request
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.service.d.ts","sourceRoot":"","sources":["../../src/services/admin.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"admin.service.d.ts","sourceRoot":"","sources":["../../src/services/admin.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAW9C,qBAAa,YAAY;IACvB,OAAO,CAAC,GAAG,CAAgB;gBAEf,GAAG,EAAE,aAAa;IAI9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;;;OAIG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IA6CjD;;OAEG;YACW,gBAAgB;CAmR/B"}
|