@kya-os/mcp-i-cloudflare 1.5.1-canary.6 → 1.5.1
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 +8 -0
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +102 -87
- 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/consent-page-renderer.d.ts +5 -2
- package/dist/services/consent-page-renderer.d.ts.map +1 -1
- package/dist/services/consent-page-renderer.js +29 -8
- package/dist/services/consent-page-renderer.js.map +1 -1
- package/dist/services/consent.service.d.ts +52 -0
- package/dist/services/consent.service.d.ts.map +1 -1
- package/dist/services/consent.service.js +451 -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/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 +3 -3
|
@@ -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":"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,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAGzE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,4BAA4B,EAC5B,kBAAkB,EAClB,KAAK,UAAU,GAChB,MAAM,qBAAqB,CAAC;AAG7B,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,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxD,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,GAC3B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,YAAY,EACV,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAGlB,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,aAAa,CAAC;IACnB,WAAW,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IAC3C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;KACxC,CAAC;IACF,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAE9C,aAAa,CAAC,EAAE,uBAAuB,CAAC;CACzC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,oBAAoB,GAC3B,iBAAiB,CAmFnB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB;mBAIrC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;EAsFnD;AAGD,OAAO,EACL,2BAA2B,EAC3B,KAAK,2BAA2B,EAChC,KAAK,cAAc,GACpB,MAAM,WAAW,CAAC;AAGnB,cAAc,UAAU,CAAC"}
|
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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"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* Related Spec: MCP-I Phase 0 Implementation Plan, Task B.4
|
|
15
15
|
*/
|
|
16
|
-
import type { ConsentPageConfig } from "@kya-os/contracts/consent";
|
|
16
|
+
import type { ConsentPageConfig, OAuthIdentity } from "@kya-os/contracts/consent";
|
|
17
17
|
/**
|
|
18
18
|
* Consent Page Renderer
|
|
19
19
|
*
|
|
@@ -24,9 +24,10 @@ export declare class ConsentPageRenderer {
|
|
|
24
24
|
* Render consent page HTML
|
|
25
25
|
*
|
|
26
26
|
* @param config - Consent page configuration (will be sanitized)
|
|
27
|
+
* @param oauthIdentity - Optional OAuth identity from cookie (Phase 4 PR #4)
|
|
27
28
|
* @returns HTML string
|
|
28
29
|
*/
|
|
29
|
-
render(config: ConsentPageConfig): string;
|
|
30
|
+
render(config: ConsentPageConfig, oauthIdentity?: OAuthIdentity): string;
|
|
30
31
|
/**
|
|
31
32
|
* Render success page HTML
|
|
32
33
|
*
|
|
@@ -123,6 +124,7 @@ export declare class ConsentPageRenderer {
|
|
|
123
124
|
* Render form
|
|
124
125
|
*
|
|
125
126
|
* @param config - Sanitized configuration
|
|
127
|
+
* @param oauthIdentity - Optional OAuth identity (Phase 4 PR #4)
|
|
126
128
|
* @returns HTML string
|
|
127
129
|
*/
|
|
128
130
|
private renderForm;
|
|
@@ -130,6 +132,7 @@ export declare class ConsentPageRenderer {
|
|
|
130
132
|
* Render JavaScript for form handling
|
|
131
133
|
*
|
|
132
134
|
* @param config - Sanitized configuration
|
|
135
|
+
* @param _oauthIdentity - Optional OAuth identity (Phase 4 PR #4) - not used directly, extracted from form
|
|
133
136
|
* @returns HTML string
|
|
134
137
|
*/
|
|
135
138
|
private renderScript;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent-page-renderer.d.ts","sourceRoot":"","sources":["../../src/services/consent-page-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,iBAAiB,
|
|
1
|
+
{"version":3,"file":"consent-page-renderer.d.ts","sourceRoot":"","sources":["../../src/services/consent-page-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,iBAAiB,EAIjB,aAAa,EACd,MAAM,2BAA2B,CAAC;AAEnC;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,MAAM;IAyBxE;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM;IA6B5E;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU;IAYlB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAanB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IASrB;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;IA0BtB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAkCxB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IASrB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAuBpB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IA0BpB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAqBnB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA6D1B;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAqDlB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;CAuIrB"}
|
|
@@ -23,9 +23,10 @@ export class ConsentPageRenderer {
|
|
|
23
23
|
* Render consent page HTML
|
|
24
24
|
*
|
|
25
25
|
* @param config - Consent page configuration (will be sanitized)
|
|
26
|
+
* @param oauthIdentity - Optional OAuth identity from cookie (Phase 4 PR #4)
|
|
26
27
|
* @returns HTML string
|
|
27
28
|
*/
|
|
28
|
-
render(config) {
|
|
29
|
+
render(config, oauthIdentity) {
|
|
29
30
|
const sanitized = this.sanitizeConfig(config);
|
|
30
31
|
return `<!DOCTYPE html>
|
|
31
32
|
<html lang="en">
|
|
@@ -42,9 +43,9 @@ export class ConsentPageRenderer {
|
|
|
42
43
|
${this.renderScopes(sanitized.scopes)}
|
|
43
44
|
${this.renderTerms(sanitized.terms)}
|
|
44
45
|
${this.renderCustomFields(sanitized.customFields)}
|
|
45
|
-
${this.renderForm(sanitized)}
|
|
46
|
+
${this.renderForm(sanitized, oauthIdentity)}
|
|
46
47
|
</div>
|
|
47
|
-
${this.renderScript(sanitized)}
|
|
48
|
+
${this.renderScript(sanitized, oauthIdentity)}
|
|
48
49
|
</body>
|
|
49
50
|
</html>`;
|
|
50
51
|
}
|
|
@@ -250,7 +251,7 @@ export class ConsentPageRenderer {
|
|
|
250
251
|
// Escape logoUrl for HTML attribute to prevent XSS
|
|
251
252
|
const logoUrlEscaped = branding?.logoUrl
|
|
252
253
|
? this.escapeHtml(branding.logoUrl)
|
|
253
|
-
:
|
|
254
|
+
: "";
|
|
254
255
|
const logoHtml = branding?.logoUrl
|
|
255
256
|
? `<img src="${logoUrlEscaped}" alt="${branding.companyName || "Logo"}" class="h-12 w-auto mb-4" />`
|
|
256
257
|
: "";
|
|
@@ -307,7 +308,7 @@ export class ConsentPageRenderer {
|
|
|
307
308
|
? `<p class="text-sm text-gray-600 mb-4">${terms.text}</p>`
|
|
308
309
|
: "";
|
|
309
310
|
// Escape URL for HTML attribute to prevent XSS
|
|
310
|
-
const termsUrlEscaped = terms.url ? this.escapeHtml(terms.url) :
|
|
311
|
+
const termsUrlEscaped = terms.url ? this.escapeHtml(terms.url) : "";
|
|
311
312
|
const termsLink = terms.url
|
|
312
313
|
? `<a href="${termsUrlEscaped}" target="_blank" rel="noopener noreferrer" class="text-blue-600 hover:underline text-sm">View Terms</a>`
|
|
313
314
|
: "";
|
|
@@ -384,9 +385,10 @@ export class ConsentPageRenderer {
|
|
|
384
385
|
* Render form
|
|
385
386
|
*
|
|
386
387
|
* @param config - Sanitized configuration
|
|
388
|
+
* @param oauthIdentity - Optional OAuth identity (Phase 4 PR #4)
|
|
387
389
|
* @returns HTML string
|
|
388
390
|
*/
|
|
389
|
-
renderForm(config) {
|
|
391
|
+
renderForm(config, oauthIdentity) {
|
|
390
392
|
const scopesJson = JSON.stringify(config.scopes);
|
|
391
393
|
const agentDid = config.agentDid;
|
|
392
394
|
const sessionId = config.sessionId;
|
|
@@ -397,8 +399,13 @@ export class ConsentPageRenderer {
|
|
|
397
399
|
// Use single quotes for scopes value to avoid escaping JSON quotes
|
|
398
400
|
// The JSON string contains double quotes, so we use single quotes for the HTML attribute
|
|
399
401
|
const scopesJsonEscaped = scopesJson.replace(/'/g, "'"); // Only escape single quotes
|
|
402
|
+
// Phase 4 PR #4: Add hidden input for OAuth identity (if available)
|
|
403
|
+
const oauthIdentityField = oauthIdentity
|
|
404
|
+
? `<input type="hidden" name="oauth_identity_json" value="${this.escapeHtml(JSON.stringify(oauthIdentity))}" />`
|
|
405
|
+
: "";
|
|
400
406
|
return `
|
|
401
407
|
<form id="consent-form" method="POST" action="${serverUrlEscaped}/consent/approve" class="space-y-4">
|
|
408
|
+
${oauthIdentityField}
|
|
402
409
|
<input type="hidden" name="tool" value="${tool}" />
|
|
403
410
|
<input type="hidden" name="scopes" value='${scopesJsonEscaped}' />
|
|
404
411
|
<input type="hidden" name="agent_did" value="${agentDid}" />
|
|
@@ -430,9 +437,10 @@ export class ConsentPageRenderer {
|
|
|
430
437
|
* Render JavaScript for form handling
|
|
431
438
|
*
|
|
432
439
|
* @param config - Sanitized configuration
|
|
440
|
+
* @param _oauthIdentity - Optional OAuth identity (Phase 4 PR #4) - not used directly, extracted from form
|
|
433
441
|
* @returns HTML string
|
|
434
442
|
*/
|
|
435
|
-
renderScript(config) {
|
|
443
|
+
renderScript(config, _oauthIdentity) {
|
|
436
444
|
// serverUrl is already validated, but we need to escape it for JavaScript string
|
|
437
445
|
// Use JSON.stringify to safely embed the URL in JavaScript
|
|
438
446
|
const serverUrlJs = JSON.stringify(config.serverUrl);
|
|
@@ -473,6 +481,18 @@ export class ConsentPageRenderer {
|
|
|
473
481
|
}
|
|
474
482
|
}
|
|
475
483
|
|
|
484
|
+
// Phase 4 PR #4: Extract OAuth identity from hidden input field
|
|
485
|
+
let extractedOAuthIdentity = null;
|
|
486
|
+
try {
|
|
487
|
+
const oauthIdentityJson = formData.get('oauth_identity_json');
|
|
488
|
+
if (oauthIdentityJson && typeof oauthIdentityJson === 'string') {
|
|
489
|
+
extractedOAuthIdentity = JSON.parse(oauthIdentityJson);
|
|
490
|
+
}
|
|
491
|
+
} catch (error) {
|
|
492
|
+
console.warn('Failed to parse OAuth identity:', error);
|
|
493
|
+
// Non-fatal - continue without OAuth identity
|
|
494
|
+
}
|
|
495
|
+
|
|
476
496
|
const data = {
|
|
477
497
|
tool: formData.get('tool'),
|
|
478
498
|
scopes: scopes,
|
|
@@ -480,7 +500,8 @@ export class ConsentPageRenderer {
|
|
|
480
500
|
session_id: formData.get('session_id'),
|
|
481
501
|
project_id: formData.get('project_id'),
|
|
482
502
|
termsAccepted: formData.get('termsAccepted') === 'on',
|
|
483
|
-
customFields: {}
|
|
503
|
+
customFields: {},
|
|
504
|
+
oauth_identity: extractedOAuthIdentity
|
|
484
505
|
};
|
|
485
506
|
|
|
486
507
|
// Collect custom fields
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent-page-renderer.js","sourceRoot":"","sources":["../../src/services/consent-page-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"consent-page-renderer.js","sourceRoot":"","sources":["../../src/services/consent-page-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,12 +8,38 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import type { CloudflareEnv } from "../types";
|
|
10
10
|
import type { CloudflareRuntime } from "../runtime";
|
|
11
|
+
import type { OAuthIdentity } from "@kya-os/contracts/consent";
|
|
11
12
|
export declare class ConsentService {
|
|
12
13
|
private configService;
|
|
13
14
|
private renderer;
|
|
14
15
|
private env;
|
|
15
16
|
private runtime?;
|
|
17
|
+
private userDidManager?;
|
|
16
18
|
constructor(env: CloudflareEnv, runtime?: CloudflareRuntime);
|
|
19
|
+
/**
|
|
20
|
+
* Get or generate User DID for a session
|
|
21
|
+
*
|
|
22
|
+
* Phase 4 PR #1: Generates ephemeral DIDs for sessions
|
|
23
|
+
* Phase 4 PR #3: Checks OAuth mappings for persistent DIDs
|
|
24
|
+
*
|
|
25
|
+
* @param sessionId - Session ID
|
|
26
|
+
* @param oauthIdentity - Optional OAuth provider identity
|
|
27
|
+
* @returns User DID (did:key format)
|
|
28
|
+
*/
|
|
29
|
+
private getUserDidForSession;
|
|
30
|
+
/**
|
|
31
|
+
* Link OAuth identity to User DID
|
|
32
|
+
*
|
|
33
|
+
* Maps OAuth provider identity (provider + subject) to a persistent User DID.
|
|
34
|
+
* If an ephemeral DID exists for the session, it becomes persistent.
|
|
35
|
+
*
|
|
36
|
+
* Phase 4 PR #3: OAuth Identity Linking
|
|
37
|
+
*
|
|
38
|
+
* @param oauthIdentity - OAuth provider identity
|
|
39
|
+
* @param sessionId - Current session ID (for ephemeral DID lookup)
|
|
40
|
+
* @returns Persistent User DID
|
|
41
|
+
*/
|
|
42
|
+
linkOAuthToUserDid(oauthIdentity: OAuthIdentity, sessionId: string): Promise<string>;
|
|
17
43
|
/**
|
|
18
44
|
* Handle consent requests
|
|
19
45
|
*
|
|
@@ -76,5 +102,31 @@ export declare class ConsentService {
|
|
|
76
102
|
* @returns HTML response
|
|
77
103
|
*/
|
|
78
104
|
private renderSuccessPage;
|
|
105
|
+
/**
|
|
106
|
+
* Build delegation request with error-based format detection
|
|
107
|
+
*
|
|
108
|
+
* Uses Day0 config to determine field name and includes issuerDid when available.
|
|
109
|
+
*/
|
|
110
|
+
private buildDelegationRequest;
|
|
111
|
+
/**
|
|
112
|
+
* Build full DelegationRecord format request (future format)
|
|
113
|
+
*/
|
|
114
|
+
private buildFullFormatRequest;
|
|
115
|
+
/**
|
|
116
|
+
* Build simplified format request with proper field name
|
|
117
|
+
*/
|
|
118
|
+
private buildSimplifiedFormatRequest;
|
|
119
|
+
/**
|
|
120
|
+
* Try API call with error-based format detection
|
|
121
|
+
*/
|
|
122
|
+
private tryAPICall;
|
|
123
|
+
/**
|
|
124
|
+
* Make API call and parse response
|
|
125
|
+
*/
|
|
126
|
+
private makeAPICall;
|
|
127
|
+
/**
|
|
128
|
+
* Cache successful format preference
|
|
129
|
+
*/
|
|
130
|
+
private cacheFormatPreference;
|
|
79
131
|
}
|
|
80
132
|
//# sourceMappingURL=consent.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent.service.d.ts","sourceRoot":"","sources":["../../src/services/consent.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"consent.service.d.ts","sourceRoot":"","sources":["../../src/services/consent.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAWpD,OAAO,KAAK,EAIV,aAAa,EACd,MAAM,2BAA2B,CAAC;AAenC,qBAAa,cAAc;IACzB,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAoB;IACpC,OAAO,CAAC,cAAc,CAAC,CAAiB;gBAE5B,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAO3D;;;;;;;;;OASG;YACW,oBAAoB;IA4GlC;;;;;;;;;;;OAWG;IACG,kBAAkB,CACtB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;IAuElB;;;;;;;;;;OAUG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAqBjD;;;;;;;;;;;;;OAaG;YACW,iBAAiB;IA0J/B;;;;;;;;OAQG;YACW,cAAc;IA8F5B;;;;;OAKG;YACW,gBAAgB;IAyL9B;;;;;;;;;OASG;YACW,oBAAoB;IAgFlC;;;;;OAKG;YACW,iBAAiB;IAmC/B;;;;OAIG;YACW,sBAAsB;IA+EpC;;OAEG;YACW,sBAAsB;IAuBpC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAwCpC;;OAEG;YACW,UAAU;IAqDxB;;OAEG;YACW,WAAW;IAoFzB;;OAEG;YACW,qBAAqB;CAyBpC"}
|