@kya-os/mcp-i-core 1.2.2-canary.23 → 1.2.2-canary.25

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.
Files changed (67) hide show
  1. package/dist/cache/oauth-config-cache.d.ts +69 -0
  2. package/dist/cache/oauth-config-cache.d.ts.map +1 -0
  3. package/dist/cache/oauth-config-cache.js +76 -0
  4. package/dist/cache/oauth-config-cache.js.map +1 -0
  5. package/dist/identity/idp-token-resolver.d.ts +53 -0
  6. package/dist/identity/idp-token-resolver.d.ts.map +1 -0
  7. package/dist/identity/idp-token-resolver.js +108 -0
  8. package/dist/identity/idp-token-resolver.js.map +1 -0
  9. package/dist/identity/idp-token-storage.interface.d.ts +42 -0
  10. package/dist/identity/idp-token-storage.interface.d.ts.map +1 -0
  11. package/dist/identity/idp-token-storage.interface.js +12 -0
  12. package/dist/identity/idp-token-storage.interface.js.map +1 -0
  13. package/dist/index.d.ts +20 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +36 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/services/access-control.service.d.ts.map +1 -1
  18. package/dist/services/access-control.service.js +44 -3
  19. package/dist/services/access-control.service.js.map +1 -1
  20. package/dist/services/batch-delegation.service.d.ts +53 -0
  21. package/dist/services/batch-delegation.service.d.ts.map +1 -0
  22. package/dist/services/batch-delegation.service.js +95 -0
  23. package/dist/services/batch-delegation.service.js.map +1 -0
  24. package/dist/services/oauth-config.service.d.ts +53 -0
  25. package/dist/services/oauth-config.service.d.ts.map +1 -0
  26. package/dist/services/oauth-config.service.js +117 -0
  27. package/dist/services/oauth-config.service.js.map +1 -0
  28. package/dist/services/oauth-provider-registry.d.ts +77 -0
  29. package/dist/services/oauth-provider-registry.d.ts.map +1 -0
  30. package/dist/services/oauth-provider-registry.js +112 -0
  31. package/dist/services/oauth-provider-registry.js.map +1 -0
  32. package/dist/services/oauth-service.d.ts +77 -0
  33. package/dist/services/oauth-service.d.ts.map +1 -0
  34. package/dist/services/oauth-service.js +348 -0
  35. package/dist/services/oauth-service.js.map +1 -0
  36. package/dist/services/oauth-token-retrieval.service.d.ts +49 -0
  37. package/dist/services/oauth-token-retrieval.service.d.ts.map +1 -0
  38. package/dist/services/oauth-token-retrieval.service.js +150 -0
  39. package/dist/services/oauth-token-retrieval.service.js.map +1 -0
  40. package/dist/services/provider-resolver.d.ts +48 -0
  41. package/dist/services/provider-resolver.d.ts.map +1 -0
  42. package/dist/services/provider-resolver.js +120 -0
  43. package/dist/services/provider-resolver.js.map +1 -0
  44. package/dist/services/provider-validator.d.ts +55 -0
  45. package/dist/services/provider-validator.d.ts.map +1 -0
  46. package/dist/services/provider-validator.js +135 -0
  47. package/dist/services/provider-validator.js.map +1 -0
  48. package/dist/services/tool-context-builder.d.ts +57 -0
  49. package/dist/services/tool-context-builder.d.ts.map +1 -0
  50. package/dist/services/tool-context-builder.js +125 -0
  51. package/dist/services/tool-context-builder.js.map +1 -0
  52. package/dist/services/tool-protection.service.d.ts.map +1 -1
  53. package/dist/services/tool-protection.service.js +27 -0
  54. package/dist/services/tool-protection.service.js.map +1 -1
  55. package/dist/types/oauth-required-error.d.ts +40 -0
  56. package/dist/types/oauth-required-error.d.ts.map +1 -0
  57. package/dist/types/oauth-required-error.js +40 -0
  58. package/dist/types/oauth-required-error.js.map +1 -0
  59. package/dist/utils/did-helpers.d.ts +33 -0
  60. package/dist/utils/did-helpers.d.ts.map +1 -1
  61. package/dist/utils/did-helpers.js +40 -0
  62. package/dist/utils/did-helpers.js.map +1 -1
  63. package/dist/utils/index.d.ts +1 -0
  64. package/dist/utils/index.d.ts.map +1 -1
  65. package/dist/utils/index.js +1 -0
  66. package/dist/utils/index.js.map +1 -1
  67. package/package.json +7 -2
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Platform-agnostic cache interface for OAuth provider configurations
3
+ *
4
+ * This interface allows different runtime adapters to provide their own
5
+ * caching implementations (e.g., in-memory for Node.js, KV for Cloudflare)
6
+ *
7
+ * @package @kya-os/mcp-i-core
8
+ */
9
+ import type { OAuthConfig } from "@kya-os/contracts/config";
10
+ /**
11
+ * Cache interface for storing and retrieving OAuth provider configurations
12
+ */
13
+ export interface OAuthConfigCache {
14
+ /**
15
+ * Retrieve a cached OAuth configuration
16
+ * @param key Cache key (typically projectId)
17
+ * @returns Cached config or null if not found/expired
18
+ */
19
+ get(key: string): Promise<OAuthConfig | null>;
20
+ /**
21
+ * Store an OAuth configuration in cache
22
+ * @param key Cache key (typically projectId)
23
+ * @param value OAuth configuration to cache
24
+ * @param ttl Time-to-live in milliseconds
25
+ */
26
+ set(key: string, value: OAuthConfig, ttl: number): Promise<void>;
27
+ /**
28
+ * Clear all cached entries
29
+ */
30
+ clear(): Promise<void>;
31
+ /**
32
+ * Remove a specific cache entry
33
+ * @param key Cache key to remove
34
+ */
35
+ delete(key: string): Promise<void>;
36
+ }
37
+ /**
38
+ * In-memory cache implementation
39
+ *
40
+ * Suitable for:
41
+ * - Node.js runtimes
42
+ * - Development/testing
43
+ * - Single-instance deployments
44
+ *
45
+ * NOT suitable for:
46
+ * - Multi-instance deployments (cache not shared)
47
+ * - Serverless environments (state not persisted)
48
+ */
49
+ export declare class InMemoryOAuthConfigCache implements OAuthConfigCache {
50
+ private cache;
51
+ get(key: string): Promise<OAuthConfig | null>;
52
+ set(key: string, value: OAuthConfig, ttl: number): Promise<void>;
53
+ clear(): Promise<void>;
54
+ delete(key: string): Promise<void>;
55
+ }
56
+ /**
57
+ * No-op cache implementation (disables caching)
58
+ *
59
+ * Use when:
60
+ * - You want to disable caching entirely
61
+ * - Testing scenarios that require fresh data
62
+ */
63
+ export declare class NoOpOAuthConfigCache implements OAuthConfigCache {
64
+ get(_key: string): Promise<OAuthConfig | null>;
65
+ set(_key: string, _value: OAuthConfig, _ttl: number): Promise<void>;
66
+ clear(): Promise<void>;
67
+ delete(_key: string): Promise<void>;
68
+ }
69
+ //# sourceMappingURL=oauth-config-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-config-cache.d.ts","sourceRoot":"","sources":["../../src/cache/oauth-config-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAE9C;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjE;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,wBAAyB,YAAW,gBAAgB;IAC/D,OAAO,CAAC,KAAK,CAGT;IAEE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAgB7C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAShE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGzC;AAED;;;;;;GAMG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IACrD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAI9C,GAAG,CACP,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAIV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ /**
3
+ * Platform-agnostic cache interface for OAuth provider configurations
4
+ *
5
+ * This interface allows different runtime adapters to provide their own
6
+ * caching implementations (e.g., in-memory for Node.js, KV for Cloudflare)
7
+ *
8
+ * @package @kya-os/mcp-i-core
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.NoOpOAuthConfigCache = exports.InMemoryOAuthConfigCache = void 0;
12
+ /**
13
+ * In-memory cache implementation
14
+ *
15
+ * Suitable for:
16
+ * - Node.js runtimes
17
+ * - Development/testing
18
+ * - Single-instance deployments
19
+ *
20
+ * NOT suitable for:
21
+ * - Multi-instance deployments (cache not shared)
22
+ * - Serverless environments (state not persisted)
23
+ */
24
+ class InMemoryOAuthConfigCache {
25
+ cache = new Map();
26
+ async get(key) {
27
+ const entry = this.cache.get(key);
28
+ if (!entry) {
29
+ return null;
30
+ }
31
+ // Check if expired
32
+ if (Date.now() > entry.expiresAt) {
33
+ this.cache.delete(key);
34
+ return null;
35
+ }
36
+ return entry.value;
37
+ }
38
+ async set(key, value, ttl) {
39
+ // If TTL is <= 0, don't store (entry would be immediately expired)
40
+ if (ttl <= 0) {
41
+ return;
42
+ }
43
+ const expiresAt = Date.now() + ttl;
44
+ this.cache.set(key, { value, expiresAt });
45
+ }
46
+ async clear() {
47
+ this.cache.clear();
48
+ }
49
+ async delete(key) {
50
+ this.cache.delete(key);
51
+ }
52
+ }
53
+ exports.InMemoryOAuthConfigCache = InMemoryOAuthConfigCache;
54
+ /**
55
+ * No-op cache implementation (disables caching)
56
+ *
57
+ * Use when:
58
+ * - You want to disable caching entirely
59
+ * - Testing scenarios that require fresh data
60
+ */
61
+ class NoOpOAuthConfigCache {
62
+ async get(_key) {
63
+ return null;
64
+ }
65
+ async set(_key, _value, _ttl) {
66
+ // No-op
67
+ }
68
+ async clear() {
69
+ // No-op
70
+ }
71
+ async delete(_key) {
72
+ // No-op
73
+ }
74
+ }
75
+ exports.NoOpOAuthConfigCache = NoOpOAuthConfigCache;
76
+ //# sourceMappingURL=oauth-config-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-config-cache.js","sourceRoot":"","sources":["../../src/cache/oauth-config-cache.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAmCH;;;;;;;;;;;GAWG;AACH,MAAa,wBAAwB;IAC3B,KAAK,GAAG,IAAI,GAAG,EAGpB,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mBAAmB;QACnB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAkB,EAAE,GAAW;QACpD,mEAAmE;QACnE,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;CACF;AAtCD,4DAsCC;AAED;;;;;;GAMG;AACH,MAAa,oBAAoB;IAC/B,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAG,CACP,IAAY,EACZ,MAAmB,EACnB,IAAY;QAEZ,QAAQ;IACV,CAAC;IAED,KAAK,CAAC,KAAK;QACT,QAAQ;IACV,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,QAAQ;IACV,CAAC;CACF;AApBD,oDAoBC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * IDP Token Resolver
3
+ *
4
+ * Resolves User DID to IDP access token (MH-7 requirement).
5
+ * Handles token lookup, expiration checking, and automatic refresh.
6
+ *
7
+ * @package @kya-os/mcp-i-core
8
+ */
9
+ import type { IdpTokens } from "@kya-os/contracts/config";
10
+ import type { IIdpTokenStorage } from "./idp-token-storage.interface.js";
11
+ export interface IdpTokenResolverConfig {
12
+ /** Token storage implementation */
13
+ tokenStorage: IIdpTokenStorage;
14
+ /** OAuth service for token refresh */
15
+ oauthService: {
16
+ refreshToken(provider: string, refreshToken: string): Promise<IdpTokens | null>;
17
+ };
18
+ /** Optional logger callback for diagnostics */
19
+ logger?: (message: string, data?: unknown) => void;
20
+ }
21
+ /**
22
+ * Service for resolving User DID to IDP access token
23
+ *
24
+ * MH-7 Requirement: resolveTokenFromDid(userDid: string): Promise<string>
25
+ *
26
+ * This service implements the core MH-7 functionality:
27
+ * - Resolves User DID to IDP access token
28
+ * - Handles token expiration and automatic refresh
29
+ * - Supports multiple IDP providers
30
+ */
31
+ export declare class IdpTokenResolver {
32
+ private config;
33
+ constructor(config: IdpTokenResolverConfig);
34
+ /**
35
+ * Resolve User DID to IDP access token
36
+ *
37
+ * MH-7 Requirement: resolveTokenFromDid(userDid: string): Promise<string>
38
+ *
39
+ * Flow:
40
+ * 1. Look up token from storage
41
+ * 2. Check expiration
42
+ * 3. Auto-refresh if expired and refresh_token available
43
+ * 4. Update storage after refresh
44
+ * 5. Return access_token or null
45
+ *
46
+ * @param userDid - User DID to resolve
47
+ * @param provider - OAuth provider name (e.g., "github", "google")
48
+ * @param scopes - Required scopes for token
49
+ * @returns Access token or null if not found/expired
50
+ */
51
+ resolveTokenFromDid(userDid: string, provider: string, scopes: string[]): Promise<string | null>;
52
+ }
53
+ //# sourceMappingURL=idp-token-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idp-token-resolver.d.ts","sourceRoot":"","sources":["../../src/identity/idp-token-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,MAAM,WAAW,sBAAsB;IACrC,mCAAmC;IACnC,YAAY,EAAE,gBAAgB,CAAC;IAE/B,sCAAsC;IACtC,YAAY,EAAE;QACZ,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;KACjF,CAAC;IAEF,+CAA+C;IAC/C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACpD;AAED;;;;;;;;;GASG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAEZ;gBAEU,MAAM,EAAE,sBAAsB;IAQ1C;;;;;;;;;;;;;;;;OAgBG;IACG,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CA4E1B"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ /**
3
+ * IDP Token Resolver
4
+ *
5
+ * Resolves User DID to IDP access token (MH-7 requirement).
6
+ * Handles token lookup, expiration checking, and automatic refresh.
7
+ *
8
+ * @package @kya-os/mcp-i-core
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.IdpTokenResolver = void 0;
12
+ /**
13
+ * Service for resolving User DID to IDP access token
14
+ *
15
+ * MH-7 Requirement: resolveTokenFromDid(userDid: string): Promise<string>
16
+ *
17
+ * This service implements the core MH-7 functionality:
18
+ * - Resolves User DID to IDP access token
19
+ * - Handles token expiration and automatic refresh
20
+ * - Supports multiple IDP providers
21
+ */
22
+ class IdpTokenResolver {
23
+ config;
24
+ constructor(config) {
25
+ this.config = {
26
+ tokenStorage: config.tokenStorage,
27
+ oauthService: config.oauthService,
28
+ logger: config.logger || (() => { }),
29
+ };
30
+ }
31
+ /**
32
+ * Resolve User DID to IDP access token
33
+ *
34
+ * MH-7 Requirement: resolveTokenFromDid(userDid: string): Promise<string>
35
+ *
36
+ * Flow:
37
+ * 1. Look up token from storage
38
+ * 2. Check expiration
39
+ * 3. Auto-refresh if expired and refresh_token available
40
+ * 4. Update storage after refresh
41
+ * 5. Return access_token or null
42
+ *
43
+ * @param userDid - User DID to resolve
44
+ * @param provider - OAuth provider name (e.g., "github", "google")
45
+ * @param scopes - Required scopes for token
46
+ * @returns Access token or null if not found/expired
47
+ */
48
+ async resolveTokenFromDid(userDid, provider, scopes) {
49
+ // 1. Look up token from storage
50
+ const storedToken = await this.config.tokenStorage.getToken(userDid, provider, scopes);
51
+ if (!storedToken) {
52
+ this.config.logger("[IdpTokenResolver] Token not found", {
53
+ userDid: userDid.substring(0, 20) + "...",
54
+ provider,
55
+ scopes,
56
+ });
57
+ return null;
58
+ }
59
+ // 2. Check expiration
60
+ const now = Date.now();
61
+ if (storedToken.expires_at < now) {
62
+ this.config.logger("[IdpTokenResolver] Token expired, attempting refresh", {
63
+ userDid: userDid.substring(0, 20) + "...",
64
+ provider,
65
+ expiresAt: new Date(storedToken.expires_at).toISOString(),
66
+ hasRefreshToken: !!storedToken.refresh_token,
67
+ });
68
+ // 3. Refresh if refresh_token available
69
+ if (storedToken.refresh_token) {
70
+ const refreshed = await this.config.oauthService.refreshToken(provider, storedToken.refresh_token);
71
+ if (refreshed) {
72
+ // 4. Update storage with new tokens
73
+ await this.config.tokenStorage.storeToken(userDid, provider, scopes, refreshed);
74
+ this.config.logger("[IdpTokenResolver] Token refreshed successfully", {
75
+ userDid: userDid.substring(0, 20) + "...",
76
+ provider,
77
+ expiresAt: new Date(refreshed.expires_at).toISOString(),
78
+ });
79
+ // 5. Return new access_token
80
+ return refreshed.access_token;
81
+ }
82
+ else {
83
+ this.config.logger("[IdpTokenResolver] Token refresh failed", {
84
+ userDid: userDid.substring(0, 20) + "...",
85
+ provider,
86
+ });
87
+ return null;
88
+ }
89
+ }
90
+ else {
91
+ this.config.logger("[IdpTokenResolver] Token expired and no refresh token", {
92
+ userDid: userDid.substring(0, 20) + "...",
93
+ provider,
94
+ });
95
+ return null;
96
+ }
97
+ }
98
+ // 4. Return valid access_token
99
+ this.config.logger("[IdpTokenResolver] Token resolved successfully", {
100
+ userDid: userDid.substring(0, 20) + "...",
101
+ provider,
102
+ expiresAt: new Date(storedToken.expires_at).toISOString(),
103
+ });
104
+ return storedToken.access_token;
105
+ }
106
+ }
107
+ exports.IdpTokenResolver = IdpTokenResolver;
108
+ //# sourceMappingURL=idp-token-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idp-token-resolver.js","sourceRoot":"","sources":["../../src/identity/idp-token-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * IDP Token Storage Interface
3
+ *
4
+ * Platform-agnostic interface for storing and retrieving IDP tokens.
5
+ * Platform-specific implementations (Cloudflare KV, Node.js database, etc.)
6
+ * implement this interface.
7
+ *
8
+ * @package @kya-os/mcp-i-core
9
+ */
10
+ import type { IdpTokens } from "@kya-os/contracts/config";
11
+ /**
12
+ * Interface for IDP token storage
13
+ */
14
+ export interface IIdpTokenStorage {
15
+ /**
16
+ * Store IDP tokens
17
+ *
18
+ * @param userDid - User DID to associate tokens with
19
+ * @param provider - OAuth provider name
20
+ * @param scopes - Scopes granted for these tokens
21
+ * @param tokens - IDP tokens to store
22
+ */
23
+ storeToken(userDid: string, provider: string, scopes: string[], tokens: IdpTokens): Promise<void>;
24
+ /**
25
+ * Retrieve IDP tokens
26
+ *
27
+ * @param userDid - User DID to retrieve tokens for
28
+ * @param provider - OAuth provider name
29
+ * @param scopes - Scopes to retrieve tokens for
30
+ * @returns IDP tokens or null if not found
31
+ */
32
+ getToken(userDid: string, provider: string, scopes: string[]): Promise<IdpTokens | null>;
33
+ /**
34
+ * Delete IDP tokens
35
+ *
36
+ * @param userDid - User DID
37
+ * @param provider - OAuth provider name
38
+ * @param scopes - Scopes
39
+ */
40
+ deleteToken(userDid: string, provider: string, scopes: string[]): Promise<void>;
41
+ }
42
+ //# sourceMappingURL=idp-token-storage.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idp-token-storage.interface.d.ts","sourceRoot":"","sources":["../../src/identity/idp-token-storage.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;OAOG;IACH,UAAU,CACR,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;OAOG;IACH,QAAQ,CACN,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAE7B;;;;;;OAMG;IACH,WAAW,CACT,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ /**
3
+ * IDP Token Storage Interface
4
+ *
5
+ * Platform-agnostic interface for storing and retrieving IDP tokens.
6
+ * Platform-specific implementations (Cloudflare KV, Node.js database, etc.)
7
+ * implement this interface.
8
+ *
9
+ * @package @kya-os/mcp-i-core
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ //# sourceMappingURL=idp-token-storage.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idp-token-storage.interface.js","sourceRoot":"","sources":["../../src/identity/idp-token-storage.interface.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG"}
package/dist/index.d.ts CHANGED
@@ -17,6 +17,21 @@ export { ProofVerifier } from "./services/proof-verifier";
17
17
  export type { ProofVerificationResult, ProofVerifierConfig, } from "./services/proof-verifier";
18
18
  export { AccessControlApiService } from "./services/access-control.service";
19
19
  export type { AccessControlApiServiceConfig, AccessControlApiServiceMetrics, } from "./services/access-control.service";
20
+ export { OAuthConfigService } from "./services/oauth-config.service";
21
+ export type { OAuthConfigServiceConfig } from "./services/oauth-config.service";
22
+ export { OAuthService } from "./services/oauth-service";
23
+ export type { OAuthServiceConfig } from "./services/oauth-service";
24
+ export { ToolContextBuilder } from "./services/tool-context-builder";
25
+ export type { ToolContextBuilderConfig } from "./services/tool-context-builder";
26
+ export { OAuthProviderRegistry } from "./services/oauth-provider-registry";
27
+ export { ProviderResolver } from "./services/provider-resolver";
28
+ export { ProviderValidator, ProviderValidationError } from "./services/provider-validator";
29
+ export { OAuthTokenRetrievalService } from "./services/oauth-token-retrieval.service";
30
+ export type { OAuthTokenRetrievalServiceConfig } from "./services/oauth-token-retrieval.service";
31
+ export { BatchDelegationService } from "./services/batch-delegation.service";
32
+ export type { ToolGroup } from "./services/batch-delegation.service";
33
+ export { InMemoryOAuthConfigCache, NoOpOAuthConfigCache, } from "./cache/oauth-config-cache";
34
+ export type { OAuthConfigCache } from "./cache/oauth-config-cache";
20
35
  export { createStorageProviders, StorageKeyHelpers, migrateLegacyKeys, } from "./services/storage.service";
21
36
  export type { StorageServiceConfig, StorageProviders, } from "./services/storage.service";
22
37
  export { ProofVerificationError, PROOF_VERIFICATION_ERROR_CODES, createProofVerificationError, } from "./services/errors";
@@ -24,6 +39,8 @@ export type { ProofVerificationErrorCode } from "./services/errors";
24
39
  export { ToolProtectionCache, InMemoryToolProtectionCache, NoOpToolProtectionCache, } from "./cache/tool-protection-cache";
25
40
  export type { ToolProtection, ToolProtectionConfig, ToolProtectionServiceConfig, } from "./types/tool-protection";
26
41
  export { DelegationRequiredError } from "./types/tool-protection";
42
+ export { OAuthRequiredError } from "./types/oauth-required-error";
43
+ export type { OAuthRequiredErrorOptions } from "./types/oauth-required-error";
27
44
  export { DelegationCredentialIssuer, createDelegationIssuer, type IssueDelegationOptions, type VCSigningFunction, type IdentityProvider as DelegationIdentityProvider, } from "./delegation/vc-issuer";
28
45
  export { DelegationCredentialVerifier, createDelegationVerifier, type DelegationVCVerificationResult, type VerifyDelegationVCOptions, type DIDResolver, type DIDDocument, type VerificationMethod, type StatusListResolver, type SignatureVerificationFunction, } from "./delegation/vc-verifier";
29
46
  export { StatusList2021Manager, createStatusListManager, type StatusListStorageProvider, type StatusListIdentityProvider, } from "./delegation/statuslist-manager";
@@ -41,4 +58,7 @@ export * from "./config";
41
58
  export { fetchRemoteConfig, type RemoteConfigCache, type RemoteConfigOptions, } from "./config/remote-config";
42
59
  export { UserDidManager } from "./identity/user-did-manager";
43
60
  export type { UserDidStorage, UserDidManagerConfig, } from "./identity/user-did-manager";
61
+ export { IdpTokenResolver } from "./identity/idp-token-resolver";
62
+ export type { IdpTokenResolverConfig } from "./identity/idp-token-resolver";
63
+ export type { IIdpTokenStorage } from "./identity/idp-token-storage.interface";
44
64
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -20,7 +20,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
20
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.UserDidManager = exports.fetchRemoteConfig = exports.canonicalizeJSON = exports.getSchemaStats = exports.getCriticalSchemas = exports.getSchemaById = exports.getSchemasByCategory = exports.getAllSchemas = exports.SCHEMA_REGISTRY = exports.createSchemaVerifier = exports.SchemaVerifier = exports.MemoryDelegationGraphStorage = exports.MemoryStatusListStorage = exports.createCascadingRevocationManager = exports.CascadingRevocationManager = exports.createDelegationGraph = exports.DelegationGraphManager = exports.isIndexSet = exports.BitstringManager = exports.createStatusListManager = exports.StatusList2021Manager = exports.createDelegationVerifier = exports.DelegationCredentialVerifier = exports.createDelegationIssuer = exports.DelegationCredentialIssuer = exports.DelegationRequiredError = exports.NoOpToolProtectionCache = exports.InMemoryToolProtectionCache = exports.createProofVerificationError = exports.PROOF_VERIFICATION_ERROR_CODES = exports.ProofVerificationError = exports.migrateLegacyKeys = exports.StorageKeyHelpers = exports.createStorageProviders = exports.AccessControlApiService = exports.ProofVerifier = exports.CryptoService = exports.ToolProtectionService = exports.MCPIRuntimeBase = exports.MemoryIdentityProvider = exports.MemoryNonceCacheProvider = exports.MemoryStorageProvider = exports.IdentityProvider = exports.NonceCacheProvider = exports.StorageProvider = exports.FetchProvider = exports.ClockProvider = exports.CryptoProvider = void 0;
23
+ exports.SchemaVerifier = exports.MemoryDelegationGraphStorage = exports.MemoryStatusListStorage = exports.createCascadingRevocationManager = exports.CascadingRevocationManager = exports.createDelegationGraph = exports.DelegationGraphManager = exports.isIndexSet = exports.BitstringManager = exports.createStatusListManager = exports.StatusList2021Manager = exports.createDelegationVerifier = exports.DelegationCredentialVerifier = exports.createDelegationIssuer = exports.DelegationCredentialIssuer = exports.OAuthRequiredError = exports.DelegationRequiredError = exports.NoOpToolProtectionCache = exports.InMemoryToolProtectionCache = exports.createProofVerificationError = exports.PROOF_VERIFICATION_ERROR_CODES = exports.ProofVerificationError = exports.migrateLegacyKeys = exports.StorageKeyHelpers = exports.createStorageProviders = exports.NoOpOAuthConfigCache = exports.InMemoryOAuthConfigCache = exports.BatchDelegationService = exports.OAuthTokenRetrievalService = exports.ProviderValidationError = exports.ProviderValidator = exports.ProviderResolver = exports.OAuthProviderRegistry = exports.ToolContextBuilder = exports.OAuthService = exports.OAuthConfigService = exports.AccessControlApiService = exports.ProofVerifier = exports.CryptoService = exports.ToolProtectionService = exports.MCPIRuntimeBase = exports.MemoryIdentityProvider = exports.MemoryNonceCacheProvider = exports.MemoryStorageProvider = exports.IdentityProvider = exports.NonceCacheProvider = exports.StorageProvider = exports.FetchProvider = exports.ClockProvider = exports.CryptoProvider = void 0;
24
+ exports.IdpTokenResolver = exports.UserDidManager = exports.fetchRemoteConfig = exports.canonicalizeJSON = exports.getSchemaStats = exports.getCriticalSchemas = exports.getSchemaById = exports.getSchemasByCategory = exports.getAllSchemas = exports.SCHEMA_REGISTRY = exports.createSchemaVerifier = void 0;
24
25
  // Base providers
25
26
  var base_1 = require("./providers/base");
26
27
  Object.defineProperty(exports, "CryptoProvider", { enumerable: true, get: function () { return base_1.CryptoProvider; } });
@@ -51,6 +52,35 @@ Object.defineProperty(exports, "ProofVerifier", { enumerable: true, get: functio
51
52
  // Access Control API Service (stub for Phase 3)
52
53
  var access_control_service_1 = require("./services/access-control.service");
53
54
  Object.defineProperty(exports, "AccessControlApiService", { enumerable: true, get: function () { return access_control_service_1.AccessControlApiService; } });
55
+ // OAuth Config Service (Phase 1)
56
+ var oauth_config_service_1 = require("./services/oauth-config.service");
57
+ Object.defineProperty(exports, "OAuthConfigService", { enumerable: true, get: function () { return oauth_config_service_1.OAuthConfigService; } });
58
+ // OAuth Service (Phase 1)
59
+ var oauth_service_1 = require("./services/oauth-service");
60
+ Object.defineProperty(exports, "OAuthService", { enumerable: true, get: function () { return oauth_service_1.OAuthService; } });
61
+ // Tool Context Builder (Phase 1)
62
+ var tool_context_builder_1 = require("./services/tool-context-builder");
63
+ Object.defineProperty(exports, "ToolContextBuilder", { enumerable: true, get: function () { return tool_context_builder_1.ToolContextBuilder; } });
64
+ // OAuth Provider Registry (Phase 2)
65
+ var oauth_provider_registry_1 = require("./services/oauth-provider-registry");
66
+ Object.defineProperty(exports, "OAuthProviderRegistry", { enumerable: true, get: function () { return oauth_provider_registry_1.OAuthProviderRegistry; } });
67
+ // Provider Resolver (Phase 2)
68
+ var provider_resolver_1 = require("./services/provider-resolver");
69
+ Object.defineProperty(exports, "ProviderResolver", { enumerable: true, get: function () { return provider_resolver_1.ProviderResolver; } });
70
+ // Provider Validator (Phase 3)
71
+ var provider_validator_1 = require("./services/provider-validator");
72
+ Object.defineProperty(exports, "ProviderValidator", { enumerable: true, get: function () { return provider_validator_1.ProviderValidator; } });
73
+ Object.defineProperty(exports, "ProviderValidationError", { enumerable: true, get: function () { return provider_validator_1.ProviderValidationError; } });
74
+ // OAuth Token Retrieval Service (Phase 3)
75
+ var oauth_token_retrieval_service_1 = require("./services/oauth-token-retrieval.service");
76
+ Object.defineProperty(exports, "OAuthTokenRetrievalService", { enumerable: true, get: function () { return oauth_token_retrieval_service_1.OAuthTokenRetrievalService; } });
77
+ // Batch Delegation Service (Phase 2)
78
+ var batch_delegation_service_1 = require("./services/batch-delegation.service");
79
+ Object.defineProperty(exports, "BatchDelegationService", { enumerable: true, get: function () { return batch_delegation_service_1.BatchDelegationService; } });
80
+ // OAuth Config Cache
81
+ var oauth_config_cache_1 = require("./cache/oauth-config-cache");
82
+ Object.defineProperty(exports, "InMemoryOAuthConfigCache", { enumerable: true, get: function () { return oauth_config_cache_1.InMemoryOAuthConfigCache; } });
83
+ Object.defineProperty(exports, "NoOpOAuthConfigCache", { enumerable: true, get: function () { return oauth_config_cache_1.NoOpOAuthConfigCache; } });
54
84
  // Storage Service Factory
55
85
  var storage_service_1 = require("./services/storage.service");
56
86
  Object.defineProperty(exports, "createStorageProviders", { enumerable: true, get: function () { return storage_service_1.createStorageProviders; } });
@@ -66,6 +96,8 @@ Object.defineProperty(exports, "InMemoryToolProtectionCache", { enumerable: true
66
96
  Object.defineProperty(exports, "NoOpToolProtectionCache", { enumerable: true, get: function () { return tool_protection_cache_1.NoOpToolProtectionCache; } });
67
97
  var tool_protection_1 = require("./types/tool-protection");
68
98
  Object.defineProperty(exports, "DelegationRequiredError", { enumerable: true, get: function () { return tool_protection_1.DelegationRequiredError; } });
99
+ var oauth_required_error_1 = require("./types/oauth-required-error");
100
+ Object.defineProperty(exports, "OAuthRequiredError", { enumerable: true, get: function () { return oauth_required_error_1.OAuthRequiredError; } });
69
101
  // Delegation (W3C VC-based)
70
102
  var vc_issuer_1 = require("./delegation/vc-issuer");
71
103
  Object.defineProperty(exports, "DelegationCredentialIssuer", { enumerable: true, get: function () { return vc_issuer_1.DelegationCredentialIssuer; } });
@@ -113,4 +145,7 @@ Object.defineProperty(exports, "fetchRemoteConfig", { enumerable: true, get: fun
113
145
  // User DID Manager (Phase 4)
114
146
  var user_did_manager_1 = require("./identity/user-did-manager");
115
147
  Object.defineProperty(exports, "UserDidManager", { enumerable: true, get: function () { return user_did_manager_1.UserDidManager; } });
148
+ // IDP Token Resolver (Phase 1 - MH-7)
149
+ var idp_token_resolver_1 = require("./identity/idp-token-resolver");
150
+ Object.defineProperty(exports, "IdpTokenResolver", { enumerable: true, get: function () { return idp_token_resolver_1.IdpTokenResolver; } });
116
151
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;AAEH,iBAAiB;AACjB,yCAQ0B;AAPxB,sGAAA,cAAc,OAAA;AACd,qGAAA,aAAa,OAAA;AACb,qGAAA,aAAa,OAAA;AACb,uGAAA,eAAe,OAAA;AACf,0GAAA,kBAAkB,OAAA;AAClB,wGAAA,gBAAgB,OAAA;AAIlB,mBAAmB;AACnB,6CAI4B;AAH1B,+GAAA,qBAAqB,OAAA;AACrB,kHAAA,wBAAwB,OAAA;AACxB,gHAAA,sBAAsB,OAAA;AAGxB,UAAU;AACV,uCAAiD;AAAxC,uGAAA,eAAe,OAAA;AAMxB,YAAY;AACZ,0CAAwB;AACxB,kBAAkB;AAClB,8EAA2E;AAAlE,gIAAA,qBAAqB,OAAA;AAE9B,iBAAiB;AACjB,4DAA0D;AAAjD,+GAAA,aAAa,OAAA;AAItB,yBAAyB;AACzB,4DAA0D;AAAjD,+GAAA,aAAa,OAAA;AAOtB,gDAAgD;AAChD,4EAA4E;AAAnE,iIAAA,uBAAuB,OAAA;AAOhC,0BAA0B;AAC1B,8DAIoC;AAHlC,yHAAA,sBAAsB,OAAA;AACtB,oHAAA,iBAAiB,OAAA;AACjB,oHAAA,iBAAiB,OAAA;AAQnB,4BAA4B;AAC5B,4CAI2B;AAHzB,gHAAA,sBAAsB,OAAA;AACtB,wHAAA,8BAA8B,OAAA;AAC9B,sHAAA,4BAA4B,OAAA;AAK9B,uEAIuC;AAFrC,oIAAA,2BAA2B,OAAA;AAC3B,gIAAA,uBAAuB,OAAA;AASzB,2DAAkE;AAAzD,0HAAA,uBAAuB,OAAA;AAEhC,4BAA4B;AAC5B,oDAMgC;AAL9B,uHAAA,0BAA0B,OAAA;AAC1B,mHAAA,sBAAsB,OAAA;AAMxB,wDAUkC;AAThC,2HAAA,4BAA4B,OAAA;AAC5B,uHAAA,wBAAwB,OAAA;AAU1B,iBAAiB;AACjB,sEAKyC;AAJvC,2HAAA,qBAAqB,OAAA;AACrB,6HAAA,uBAAuB,OAAA;AAKzB,oDAKgC;AAJ9B,6GAAA,gBAAgB,OAAA;AAChB,uGAAA,UAAU,OAAA;AAKZ,0CAA0C;AAC1C,kEAKuC;AAJrC,0HAAA,sBAAsB,OAAA;AACtB,yHAAA,qBAAqB,OAAA;AAKvB,0EAM2C;AALzC,kIAAA,0BAA0B,OAAA;AAC1B,wIAAA,gCAAgC,OAAA;AAMlC,qDAAqD;AACrD,4FAAyF;AAAhF,oIAAA,uBAAuB,OAAA;AAEhC,kFAAyF;AAAhF,oIAAA,4BAA4B,OAAA;AAErC,8DAA8D;AAC9D,gEAOsC;AANpC,iHAAA,cAAc,OAAA;AACd,uHAAA,oBAAoB,OAAA;AAOtB,gEAOsC;AANpC,kHAAA,eAAe,OAAA;AACf,gHAAA,aAAa,OAAA;AACb,uHAAA,oBAAoB,OAAA;AACpB,gHAAA,aAAa,OAAA;AACb,qHAAA,kBAAkB,OAAA;AAClB,iHAAA,cAAc,OAAA;AAGhB,4CAAsD;AAA7C,yGAAA,gBAAgB,OAAA;AA4BzB,oCAAoC;AACpC,2CAAyB;AAEzB,gCAAgC;AAChC,wDAIgC;AAH9B,kHAAA,iBAAiB,OAAA;AAKnB,6BAA6B;AAC7B,gEAA6D;AAApD,kHAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"access-control.service.d.ts","sourceRoot":"","sources":["../../src/services/access-control.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,+BAA+B,EAC/B,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAS3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AASvD,MAAM,WAAW,6BAA6B;IAC5C,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IAEf,8CAA8C;IAC9C,aAAa,EAAE,aAAa,CAAC;IAE7B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnD,mCAAmC;IACnC,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,6DAA6D;IAC7D,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,8BAA8B;IAC7C,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IAErB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IAEnB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB;AA0BD;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,OAAO,CAAiC;gBAEpC,MAAM,EAAE,6BAA6B;IAwBjD;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAkD5C;;;;OAIG;IACG,gBAAgB,CACpB,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GACA,OAAO,CAAC,2BAA2B,CAAC;IAwHvC;;;;OAIG;IACG,YAAY,CAChB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,uBAAuB,CAAC;IA2TnC;;OAEG;IACH,UAAU,IAAI,8BAA8B;IAI5C;;OAEG;IACH,YAAY,IAAI,IAAI;IAQpB;;;;OAIG;YACW,gBAAgB;IAkC9B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAmCxB;;;;;OAKG;IACH,OAAO,CAAC,KAAK;IAIb;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;CAkC5B"}
1
+ {"version":3,"file":"access-control.service.d.ts","sourceRoot":"","sources":["../../src/services/access-control.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,+BAA+B,EAC/B,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAS3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AASvD,MAAM,WAAW,6BAA6B;IAC5C,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IAEf,8CAA8C;IAC9C,aAAa,EAAE,aAAa,CAAC;IAE7B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnD,mCAAmC;IACnC,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,6DAA6D;IAC7D,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,8BAA8B;IAC7C,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IAErB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IAEnB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB;AA0BD;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,OAAO,CAAiC;gBAEpC,MAAM,EAAE,6BAA6B;IAwBjD;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAkD5C;;;;OAIG;IACG,gBAAgB,CACpB,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GACA,OAAO,CAAC,2BAA2B,CAAC;IAwHvC;;;;OAIG;IACG,YAAY,CAChB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,uBAAuB,CAAC;IAoWnC;;OAEG;IACH,UAAU,IAAI,8BAA8B;IAI5C;;OAEG;IACH,YAAY,IAAI,IAAI;IAQpB;;;;OAIG;YACW,gBAAgB;IAkC9B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAmCxB;;;;;OAKG;IACH,OAAO,CAAC,KAAK;IAIb;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;CAkC5B"}
@@ -352,6 +352,7 @@ class AccessControlApiService {
352
352
  const validationErrorLog = {
353
353
  correlationId,
354
354
  zodErrors: dataParsed.error.errors,
355
+ zodErrorDetails: JSON.stringify(dataParsed.error.errors, null, 2),
355
356
  dataToValidate: JSON.stringify(dataToValidate, null, 2).substring(0, 2000),
356
357
  dataWithSuccess: JSON.stringify(dataWithSuccess, null, 2).substring(0, 2000),
357
358
  dataKeys: Object.keys(dataToValidate),
@@ -361,8 +362,24 @@ class AccessControlApiService {
361
362
  // Also log to console.error for visibility in production
362
363
  console.error(`[AccessControl] Wrapped response validation failed`, validationErrorLog);
363
364
  console.error(`[AccessControl] Original wrapped response:`, JSON.stringify(responseData, null, 2));
364
- console.error(`[AccessControl] ZOD VALIDATION ERRORS:`, JSON.stringify(dataParsed.error.errors, null, 2));
365
- console.error(`[AccessControl] ❌ ZOD VALIDATION ERRORS:`, JSON.stringify(dataParsed.error.errors, null, 2));
365
+ // CRITICAL: Log each zod error individually for easier debugging
366
+ console.error(`[AccessControl] ❌ ZOD VALIDATION FAILED - ${dataParsed.error.errors.length} error(s):`);
367
+ dataParsed.error.errors.forEach((err, idx) => {
368
+ const errorDetails = {
369
+ path: err.path.join('.') || '(root)',
370
+ message: err.message,
371
+ code: err.code,
372
+ };
373
+ // Only include properties that exist on specific error types
374
+ if ('received' in err)
375
+ errorDetails.received = err.received;
376
+ if ('expected' in err)
377
+ errorDetails.expected = err.expected;
378
+ if ('input' in err)
379
+ errorDetails.input = err.input;
380
+ console.error(`[AccessControl] Error ${idx + 1}:`, errorDetails);
381
+ });
382
+ console.error(`[AccessControl] ❌ Full ZOD errors JSON:`, JSON.stringify(dataParsed.error.errors, null, 2));
366
383
  }
367
384
  }
368
385
  // Try parsing as direct ProofSubmissionResponse
@@ -381,8 +398,32 @@ class AccessControlApiService {
381
398
  };
382
399
  this.config.logger(`[AccessControl] Response validation failed`, validationErrorLog);
383
400
  // CRITICAL: Log to console.error with full details for debugging
401
+ // This format matches test expectations: single call with message and error object
402
+ // This log must include 'Response validation failed' in the message for test compatibility
403
+ console.error(`[AccessControl] Response validation failed`, {
404
+ zodErrors: parsed.error.errors,
405
+ responseData: responseData,
406
+ });
407
+ // Additional detailed logging for debugging
384
408
  console.error(`[AccessControl] Response validation failed`, validationErrorLog);
385
- console.error(`[AccessControl] ZOD ERRORS:`, JSON.stringify(parsed.error.errors, null, 2));
409
+ // CRITICAL: Log each zod error individually for easier debugging
410
+ console.error(`[AccessControl] ❌ ZOD VALIDATION FAILED (direct) - ${parsed.error.errors.length} error(s):`);
411
+ parsed.error.errors.forEach((err, idx) => {
412
+ const errorDetails = {
413
+ path: err.path.join('.') || '(root)',
414
+ message: err.message,
415
+ code: err.code,
416
+ };
417
+ // Only include properties that exist on specific error types
418
+ if ('received' in err)
419
+ errorDetails.received = err.received;
420
+ if ('expected' in err)
421
+ errorDetails.expected = err.expected;
422
+ if ('input' in err)
423
+ errorDetails.input = err.input;
424
+ console.error(`[AccessControl] Error ${idx + 1}:`, errorDetails);
425
+ });
426
+ console.error(`[AccessControl] ❌ Full ZOD errors JSON:`, JSON.stringify(parsed.error.errors, null, 2));
386
427
  console.error(`[AccessControl] ❌ ACTUAL RESPONSE DATA:`, JSON.stringify(responseData, null, 2));
387
428
  throw new agentshield_api_2.AgentShieldAPIError("invalid_response", "Response validation failed", { zodErrors: parsed.error.errors, responseData });
388
429
  }