@kya-os/mcp-i-cloudflare 1.5.8-canary.7 → 1.5.8-canary.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +130 -0
- package/dist/__tests__/e2e/test-config.d.ts +37 -0
- package/dist/__tests__/e2e/test-config.d.ts.map +1 -0
- package/dist/__tests__/e2e/test-config.js +62 -0
- package/dist/__tests__/e2e/test-config.js.map +1 -0
- package/dist/adapter.d.ts +44 -0
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +677 -88
- package/dist/adapter.js.map +1 -1
- package/dist/agent.d.ts +79 -25
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +521 -40
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts +0 -8
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +208 -55
- package/dist/app.js.map +1 -1
- package/dist/cache/kv-oauth-config-cache.d.ts +47 -0
- package/dist/cache/kv-oauth-config-cache.d.ts.map +1 -0
- package/dist/cache/kv-oauth-config-cache.js +82 -0
- package/dist/cache/kv-oauth-config-cache.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +33 -4
- package/dist/config.js.map +1 -1
- package/dist/helpers/env-mapper.d.ts +60 -1
- package/dist/helpers/env-mapper.d.ts.map +1 -1
- package/dist/helpers/env-mapper.js +136 -6
- package/dist/helpers/env-mapper.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/runtime/audit-logger.d.ts +96 -0
- package/dist/runtime/audit-logger.d.ts.map +1 -0
- package/dist/runtime/audit-logger.js +276 -0
- package/dist/runtime/audit-logger.js.map +1 -0
- package/dist/runtime/oauth-handler.d.ts +5 -0
- package/dist/runtime/oauth-handler.d.ts.map +1 -1
- package/dist/runtime/oauth-handler.js +287 -35
- package/dist/runtime/oauth-handler.js.map +1 -1
- package/dist/runtime.d.ts +12 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +34 -4
- package/dist/runtime.js.map +1 -1
- package/dist/server.d.ts +7 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +93 -3
- package/dist/server.js.map +1 -1
- package/dist/services/admin.service.d.ts.map +1 -1
- package/dist/services/admin.service.js +89 -10
- package/dist/services/admin.service.js.map +1 -1
- package/dist/services/consent-audit.service.d.ts +91 -0
- package/dist/services/consent-audit.service.d.ts.map +1 -0
- package/dist/services/consent-audit.service.js +243 -0
- package/dist/services/consent-audit.service.js.map +1 -0
- package/dist/services/consent-config.service.d.ts +2 -2
- package/dist/services/consent-config.service.d.ts.map +1 -1
- package/dist/services/consent-config.service.js +55 -24
- package/dist/services/consent-config.service.js.map +1 -1
- package/dist/services/consent-page-renderer.d.ts +14 -0
- package/dist/services/consent-page-renderer.d.ts.map +1 -1
- package/dist/services/consent-page-renderer.js +42 -0
- package/dist/services/consent-page-renderer.js.map +1 -1
- package/dist/services/consent.service.d.ts +82 -4
- package/dist/services/consent.service.d.ts.map +1 -1
- package/dist/services/consent.service.js +1653 -34
- 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 +67 -29
- package/dist/services/delegation.service.js.map +1 -1
- package/dist/services/idp-token-storage.d.ts +68 -0
- package/dist/services/idp-token-storage.d.ts.map +1 -0
- package/dist/services/idp-token-storage.js +157 -0
- package/dist/services/idp-token-storage.js.map +1 -0
- package/dist/services/oauth-service.d.ts +66 -0
- package/dist/services/oauth-service.d.ts.map +1 -0
- package/dist/services/oauth-service.js +223 -0
- package/dist/services/oauth-service.js.map +1 -0
- package/dist/services/proof.service.d.ts +8 -6
- package/dist/services/proof.service.d.ts.map +1 -1
- package/dist/services/proof.service.js +131 -75
- package/dist/services/proof.service.js.map +1 -1
- package/dist/services/tool-context-builder.d.ts +55 -0
- package/dist/services/tool-context-builder.d.ts.map +1 -0
- package/dist/services/tool-context-builder.js +124 -0
- package/dist/services/tool-context-builder.js.map +1 -0
- package/dist/types/tool-context.d.ts +35 -0
- package/dist/types/tool-context.d.ts.map +1 -0
- package/dist/types/tool-context.js +13 -0
- package/dist/types/tool-context.js.map +1 -0
- package/dist/types.d.ts +30 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +27 -60
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAgT3D;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GACzC;IACE,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE;QACP,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,GAAG;KACd;IACD,EAAE,EAAE,EAAE;IACN,cAAc,EAAE,EAAE;IAClB,EAAE,EAAE,EAAE;IACN,IAAI,EAAE;QACJ,WAAW,EAAE,aAAa;KAC3B;IACD,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,EAAE;CACb,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAA0B;IACjE,IAAI,EAAE,cAAc;IACpB,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE;QACZ,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,sBAAsB;KAC7B;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAC3C,MAAyC;IAEzC,OAAO;QACL,GAAG,8BAA8B;QACjC,GAAG,MAAM;QACT,OAAO,EAAE;YACP,GAAG,8BAA8B,CAAC,OAAO;YACzC,GAAG,MAAM,EAAE,OAAO;SACnB;QACD,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,8BAA8B,CAAC,EAAG;QACpD,cAAc,EACZ,MAAM,EAAE,cAAc,IAAI,8BAA8B,CAAC,cAAe;QAC1E,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,8BAA8B,CAAC,EAAG;QACpD,IAAI,EAAE;YACJ,GAAG,8BAA8B,CAAC,IAAI;YACtC,GAAG,MAAM,EAAE,IAAI;SAChB;QACD,UAAU,EAAE,MAAM,EAAE,UAAU;YAC5B,CAAC,CAAC;gBACE,GAAG,MAAM,CAAC,UAAU;gBACpB,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,IAAI;oBACtC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ;oBACpD,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,aAAa,CAAC;wBAChE,EAAE,IAAI;iBACT;aACF;YACH,CAAC,CAAC,SAAS;KACa,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAuC;IAEvC,OAAO;QACL,GAAG,4BAA4B;QAC/B,GAAG,MAAM;QACT,WAAW,EAAE;YACX,GAAG,MAAM,EAAE,WAAW;SACvB;QACD,YAAY,EAAE;YACZ,GAAG,4BAA4B,CAAC,YAAY;YAC5C,GAAG,MAAM,EAAE,YAAY;SACxB;KACF,CAAC;AACJ,CAAC;AASD;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAkB;IAElB,MAAM,MAAM,GAAqC;QAC/C,IAAI,EAAE,EAAE;QACR,EAAE,EAAE,EAAE;QACN,cAAc,EAAE,EAAE;QAClB,EAAE,EAAE,EAAE;QACN,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,gCAAgC;IAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,WAA2C,CAAC;IACvE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAwC;IAExC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IAE9B,0EAA0E;IAC1E,4EAA4E;IAC5E,uFAAuF;IACvF,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAExC,4EAA4E;IAC5E,MAAM,8BAA8B,GAClC,CAAC,MAAM,CAAC,cAAc,IAAI,4BAA4B;QACtD,GAAG,CAAC,mBAAmB,CAAC,CAAC,kBAAkB;IAE7C,yEAAyE;IACzE,OAAO;QACL,GAAG,UAAU;QACb,GAAG,MAAM;QACT,4CAA4C;QAC5C,OAAO,EAAE;YACP,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,GAAG;YACb,GAAG,MAAM,CAAC,OAAO;SAClB;QACD,wBAAwB;QACxB,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE;QACnB,gCAAgC;QAChC,IAAI,EAAE;YACJ,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,mBAAmB,EAAE,GAAG,CAAC,mBAAmB;YAC5C,GAAG,MAAM,CAAC,IAAI;SACf;QACD,uFAAuF;QACvF,mEAAmE;QACnE,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;YACzE,MAAM,EAAE,aAAsB;YAC9B,WAAW,EAAE;gBACX,MAAM,EAAE,GAAG,CAAC,mBAAmB,IAAI,wBAAwB;gBAC3D,MAAM,EAAE,GAAG,CAAC,mBAAmB;gBAC/B,SAAS,EAAE,GAAG,CAAC,sBAAsB;gBACrC,QAAQ,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,41 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Environment Mapping Helpers
|
|
3
3
|
*
|
|
4
|
-
* Utilities for mapping prefixed KV bindings to standard CloudflareEnv format
|
|
4
|
+
* Utilities for mapping prefixed KV bindings to standard CloudflareEnv format.
|
|
5
|
+
*
|
|
6
|
+
* These utilities ensure consistent KV binding access across all components,
|
|
7
|
+
* supporting both prefixed (e.g., `_17429_NONCE_CACHE`) and non-prefixed (e.g., `NONCE_CACHE`) formats.
|
|
8
|
+
*
|
|
9
|
+
* @module @kya-os/mcp-i-cloudflare/helpers/env-mapper
|
|
5
10
|
*/
|
|
6
11
|
import type { CloudflareEnv } from "../types";
|
|
7
12
|
import type { PrefixedCloudflareEnv } from "../agent";
|
|
13
|
+
/**
|
|
14
|
+
* Detect environment prefix by checking for prefixed KV bindings
|
|
15
|
+
*
|
|
16
|
+
* Checks common KV binding names to determine if a prefix is being used.
|
|
17
|
+
* Returns the prefix (without underscore) if found, undefined otherwise.
|
|
18
|
+
*
|
|
19
|
+
* @param env - Environment object to check
|
|
20
|
+
* @returns Detected prefix (e.g., "_17429" → "17429") or undefined
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const env = { _17429_NONCE_CACHE: kvNamespace };
|
|
25
|
+
* const prefix = detectEnvPrefix(env); // Returns "17429"
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function detectEnvPrefix(env: any): string | undefined;
|
|
8
29
|
/**
|
|
9
30
|
* Map prefixed KV bindings to standard CloudflareEnv format
|
|
10
31
|
*
|
|
32
|
+
* Explicitly maps prefixed KV bindings (e.g., `MYAPP_NONCE_CACHE`) to standard names
|
|
33
|
+
* (e.g., `NONCE_CACHE`). Use this when you know the prefix ahead of time.
|
|
34
|
+
*
|
|
35
|
+
* @param env - Environment object with prefixed KV bindings
|
|
36
|
+
* @param prefix - Prefix to use (e.g., "MYAPP" or "_17429")
|
|
37
|
+
* @returns Normalized CloudflareEnv with standard KV binding names
|
|
38
|
+
*
|
|
11
39
|
* @example
|
|
12
40
|
* ```typescript
|
|
13
41
|
* const env = {
|
|
@@ -20,4 +48,35 @@ import type { PrefixedCloudflareEnv } from "../agent";
|
|
|
20
48
|
* ```
|
|
21
49
|
*/
|
|
22
50
|
export declare function mapPrefixedEnv(env: PrefixedCloudflareEnv, prefix: string): CloudflareEnv;
|
|
51
|
+
/**
|
|
52
|
+
* Normalize Cloudflare environment to standard CloudflareEnv format
|
|
53
|
+
*
|
|
54
|
+
* Automatically handles both prefixed and non-prefixed KV bindings:
|
|
55
|
+
* - If `prefix` is provided, uses explicit prefix mapping
|
|
56
|
+
* - If `prefix` is not provided, attempts auto-detection
|
|
57
|
+
* - Falls back to direct access if no prefix detected
|
|
58
|
+
*
|
|
59
|
+
* This is the recommended function for normalizing environments before use.
|
|
60
|
+
* All components should use this to ensure consistent KV binding access.
|
|
61
|
+
*
|
|
62
|
+
* @param env - Environment object (may have prefixed or non-prefixed KV bindings)
|
|
63
|
+
* @param prefix - Optional explicit prefix (e.g., "MYAPP" or "_17429")
|
|
64
|
+
* @returns Normalized CloudflareEnv with standard KV binding names
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* // With explicit prefix
|
|
69
|
+
* const env1 = { MYAPP_NONCE_CACHE: kvNamespace };
|
|
70
|
+
* const normalized1 = normalizeCloudflareEnv(env1, "MYAPP");
|
|
71
|
+
*
|
|
72
|
+
* // With auto-detection
|
|
73
|
+
* const env2 = { _17429_NONCE_CACHE: kvNamespace };
|
|
74
|
+
* const normalized2 = normalizeCloudflareEnv(env2); // Auto-detects "_17429"
|
|
75
|
+
*
|
|
76
|
+
* // Without prefix (direct access)
|
|
77
|
+
* const env3 = { NONCE_CACHE: kvNamespace };
|
|
78
|
+
* const normalized3 = normalizeCloudflareEnv(env3); // Uses direct access
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export declare function normalizeCloudflareEnv(env: any, prefix?: string): CloudflareEnv;
|
|
23
82
|
//# sourceMappingURL=env-mapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-mapper.d.ts","sourceRoot":"","sources":["../../src/helpers/env-mapper.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"env-mapper.d.ts","sourceRoot":"","sources":["../../src/helpers/env-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAatD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAsB5D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,qBAAqB,EAC1B,MAAM,EAAE,MAAM,GACb,aAAa,CA+Bf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,GAAG,EACR,MAAM,CAAC,EAAE,MAAM,GACd,aAAa,CAgCf"}
|
|
@@ -1,11 +1,69 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Environment Mapping Helpers
|
|
3
3
|
*
|
|
4
|
-
* Utilities for mapping prefixed KV bindings to standard CloudflareEnv format
|
|
4
|
+
* Utilities for mapping prefixed KV bindings to standard CloudflareEnv format.
|
|
5
|
+
*
|
|
6
|
+
* These utilities ensure consistent KV binding access across all components,
|
|
7
|
+
* supporting both prefixed (e.g., `_17429_NONCE_CACHE`) and non-prefixed (e.g., `NONCE_CACHE`) formats.
|
|
8
|
+
*
|
|
9
|
+
* @module @kya-os/mcp-i-cloudflare/helpers/env-mapper
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Standard KV binding names that may be prefixed
|
|
13
|
+
*/
|
|
14
|
+
const KV_BINDING_NAMES = [
|
|
15
|
+
'NONCE_CACHE',
|
|
16
|
+
'PROOF_ARCHIVE',
|
|
17
|
+
'IDENTITY_STORAGE',
|
|
18
|
+
'DELEGATION_STORAGE',
|
|
19
|
+
'TOOL_PROTECTION_KV',
|
|
20
|
+
];
|
|
21
|
+
/**
|
|
22
|
+
* Detect environment prefix by checking for prefixed KV bindings
|
|
23
|
+
*
|
|
24
|
+
* Checks common KV binding names to determine if a prefix is being used.
|
|
25
|
+
* Returns the prefix (without underscore) if found, undefined otherwise.
|
|
26
|
+
*
|
|
27
|
+
* @param env - Environment object to check
|
|
28
|
+
* @returns Detected prefix (e.g., "_17429" → "17429") or undefined
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const env = { _17429_NONCE_CACHE: kvNamespace };
|
|
33
|
+
* const prefix = detectEnvPrefix(env); // Returns "17429"
|
|
34
|
+
* ```
|
|
5
35
|
*/
|
|
36
|
+
export function detectEnvPrefix(env) {
|
|
37
|
+
if (!env || typeof env !== 'object') {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
// Check each KV binding name
|
|
41
|
+
for (const bindingName of KV_BINDING_NAMES) {
|
|
42
|
+
// Check for prefixed versions (e.g., _17429_NONCE_CACHE, MYAPP_NONCE_CACHE)
|
|
43
|
+
for (const key in env) {
|
|
44
|
+
if (typeof key === 'string' && key.endsWith(`_${bindingName}`)) {
|
|
45
|
+
// Extract prefix (everything before _NONCE_CACHE, etc.)
|
|
46
|
+
const prefix = key.slice(0, -(bindingName.length + 1));
|
|
47
|
+
if (prefix.length > 0) {
|
|
48
|
+
// Return prefix as-is (including leading underscore if present)
|
|
49
|
+
// The mapPrefixedEnv function handles both _17429 and 17429 formats
|
|
50
|
+
return prefix;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
6
57
|
/**
|
|
7
58
|
* Map prefixed KV bindings to standard CloudflareEnv format
|
|
8
59
|
*
|
|
60
|
+
* Explicitly maps prefixed KV bindings (e.g., `MYAPP_NONCE_CACHE`) to standard names
|
|
61
|
+
* (e.g., `NONCE_CACHE`). Use this when you know the prefix ahead of time.
|
|
62
|
+
*
|
|
63
|
+
* @param env - Environment object with prefixed KV bindings
|
|
64
|
+
* @param prefix - Prefix to use (e.g., "MYAPP" or "_17429")
|
|
65
|
+
* @returns Normalized CloudflareEnv with standard KV binding names
|
|
66
|
+
*
|
|
9
67
|
* @example
|
|
10
68
|
* ```typescript
|
|
11
69
|
* const env = {
|
|
@@ -18,13 +76,83 @@
|
|
|
18
76
|
* ```
|
|
19
77
|
*/
|
|
20
78
|
export function mapPrefixedEnv(env, prefix) {
|
|
79
|
+
// Handle prefix with or without leading underscore
|
|
80
|
+
// Try both formats: _PREFIX_KEY and PREFIX_KEY
|
|
21
81
|
const prefixUpper = prefix.toUpperCase();
|
|
82
|
+
const prefixWithUnderscore = prefixUpper.startsWith('_') ? prefixUpper : `_${prefixUpper}`;
|
|
83
|
+
const prefixWithoutUnderscore = prefixUpper.replace(/^_+/, '');
|
|
84
|
+
// Helper to get KV binding, trying both prefix formats
|
|
85
|
+
const getKV = (bindingName) => {
|
|
86
|
+
return (env[`${prefixWithUnderscore}_${bindingName}`] ||
|
|
87
|
+
env[`${prefixWithoutUnderscore}_${bindingName}`]);
|
|
88
|
+
};
|
|
89
|
+
return {
|
|
90
|
+
NONCE_CACHE: getKV('NONCE_CACHE'),
|
|
91
|
+
PROOF_ARCHIVE: getKV('PROOF_ARCHIVE'),
|
|
92
|
+
IDENTITY_STORAGE: getKV('IDENTITY_STORAGE'),
|
|
93
|
+
DELEGATION_STORAGE: getKV('DELEGATION_STORAGE'),
|
|
94
|
+
TOOL_PROTECTION_KV: getKV('TOOL_PROTECTION_KV'),
|
|
95
|
+
MCP_IDENTITY_PRIVATE_KEY: typeof env.MCP_IDENTITY_PRIVATE_KEY === 'string' ? env.MCP_IDENTITY_PRIVATE_KEY : undefined,
|
|
96
|
+
MCP_IDENTITY_PUBLIC_KEY: typeof env.MCP_IDENTITY_PUBLIC_KEY === 'string' ? env.MCP_IDENTITY_PUBLIC_KEY : undefined,
|
|
97
|
+
MCP_IDENTITY_AGENT_DID: typeof env.MCP_IDENTITY_AGENT_DID === 'string' ? env.MCP_IDENTITY_AGENT_DID : undefined,
|
|
98
|
+
AGENTSHIELD_API_URL: typeof env.AGENTSHIELD_API_URL === 'string' ? env.AGENTSHIELD_API_URL : undefined,
|
|
99
|
+
AGENTSHIELD_API_KEY: typeof env.AGENTSHIELD_API_KEY === 'string' ? env.AGENTSHIELD_API_KEY : undefined,
|
|
100
|
+
AGENTSHIELD_PROJECT_ID: typeof env.AGENTSHIELD_PROJECT_ID === 'string' ? env.AGENTSHIELD_PROJECT_ID : undefined,
|
|
101
|
+
MCPI_ENV: typeof env.MCPI_ENV === 'string' ? env.MCPI_ENV : undefined,
|
|
102
|
+
MCP_SERVER_URL: typeof env.MCP_SERVER_URL === 'string' ? env.MCP_SERVER_URL : undefined,
|
|
103
|
+
ENVIRONMENT: typeof env.ENVIRONMENT === 'string' ? env.ENVIRONMENT : undefined,
|
|
104
|
+
ADMIN_API_KEY: typeof env.ADMIN_API_KEY === 'string' ? env.ADMIN_API_KEY : undefined,
|
|
105
|
+
_durableObjectState: env._durableObjectState,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Normalize Cloudflare environment to standard CloudflareEnv format
|
|
110
|
+
*
|
|
111
|
+
* Automatically handles both prefixed and non-prefixed KV bindings:
|
|
112
|
+
* - If `prefix` is provided, uses explicit prefix mapping
|
|
113
|
+
* - If `prefix` is not provided, attempts auto-detection
|
|
114
|
+
* - Falls back to direct access if no prefix detected
|
|
115
|
+
*
|
|
116
|
+
* This is the recommended function for normalizing environments before use.
|
|
117
|
+
* All components should use this to ensure consistent KV binding access.
|
|
118
|
+
*
|
|
119
|
+
* @param env - Environment object (may have prefixed or non-prefixed KV bindings)
|
|
120
|
+
* @param prefix - Optional explicit prefix (e.g., "MYAPP" or "_17429")
|
|
121
|
+
* @returns Normalized CloudflareEnv with standard KV binding names
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```typescript
|
|
125
|
+
* // With explicit prefix
|
|
126
|
+
* const env1 = { MYAPP_NONCE_CACHE: kvNamespace };
|
|
127
|
+
* const normalized1 = normalizeCloudflareEnv(env1, "MYAPP");
|
|
128
|
+
*
|
|
129
|
+
* // With auto-detection
|
|
130
|
+
* const env2 = { _17429_NONCE_CACHE: kvNamespace };
|
|
131
|
+
* const normalized2 = normalizeCloudflareEnv(env2); // Auto-detects "_17429"
|
|
132
|
+
*
|
|
133
|
+
* // Without prefix (direct access)
|
|
134
|
+
* const env3 = { NONCE_CACHE: kvNamespace };
|
|
135
|
+
* const normalized3 = normalizeCloudflareEnv(env3); // Uses direct access
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
export function normalizeCloudflareEnv(env, prefix) {
|
|
139
|
+
// If explicit prefix provided, use it
|
|
140
|
+
if (prefix) {
|
|
141
|
+
return mapPrefixedEnv(env, prefix);
|
|
142
|
+
}
|
|
143
|
+
// Try auto-detection
|
|
144
|
+
const detectedPrefix = detectEnvPrefix(env);
|
|
145
|
+
if (detectedPrefix) {
|
|
146
|
+
return mapPrefixedEnv(env, detectedPrefix);
|
|
147
|
+
}
|
|
148
|
+
// Fall back to direct access (assumes standard naming)
|
|
149
|
+
// This handles non-prefixed environments
|
|
22
150
|
return {
|
|
23
|
-
NONCE_CACHE: env
|
|
24
|
-
PROOF_ARCHIVE: env
|
|
25
|
-
IDENTITY_STORAGE: env
|
|
26
|
-
DELEGATION_STORAGE: env
|
|
27
|
-
TOOL_PROTECTION_KV: env
|
|
151
|
+
NONCE_CACHE: env.NONCE_CACHE,
|
|
152
|
+
PROOF_ARCHIVE: env.PROOF_ARCHIVE,
|
|
153
|
+
IDENTITY_STORAGE: env.IDENTITY_STORAGE,
|
|
154
|
+
DELEGATION_STORAGE: env.DELEGATION_STORAGE,
|
|
155
|
+
TOOL_PROTECTION_KV: env.TOOL_PROTECTION_KV,
|
|
28
156
|
MCP_IDENTITY_PRIVATE_KEY: typeof env.MCP_IDENTITY_PRIVATE_KEY === 'string' ? env.MCP_IDENTITY_PRIVATE_KEY : undefined,
|
|
29
157
|
MCP_IDENTITY_PUBLIC_KEY: typeof env.MCP_IDENTITY_PUBLIC_KEY === 'string' ? env.MCP_IDENTITY_PUBLIC_KEY : undefined,
|
|
30
158
|
MCP_IDENTITY_AGENT_DID: typeof env.MCP_IDENTITY_AGENT_DID === 'string' ? env.MCP_IDENTITY_AGENT_DID : undefined,
|
|
@@ -34,6 +162,8 @@ export function mapPrefixedEnv(env, prefix) {
|
|
|
34
162
|
MCPI_ENV: typeof env.MCPI_ENV === 'string' ? env.MCPI_ENV : undefined,
|
|
35
163
|
MCP_SERVER_URL: typeof env.MCP_SERVER_URL === 'string' ? env.MCP_SERVER_URL : undefined,
|
|
36
164
|
ENVIRONMENT: typeof env.ENVIRONMENT === 'string' ? env.ENVIRONMENT : undefined,
|
|
165
|
+
ADMIN_API_KEY: typeof env.ADMIN_API_KEY === 'string' ? env.ADMIN_API_KEY : undefined,
|
|
166
|
+
_durableObjectState: env._durableObjectState,
|
|
37
167
|
};
|
|
38
168
|
}
|
|
39
169
|
//# sourceMappingURL=env-mapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-mapper.js","sourceRoot":"","sources":["../../src/helpers/env-mapper.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"env-mapper.js","sourceRoot":"","sources":["../../src/helpers/env-mapper.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -23,13 +23,15 @@ export { loadDay0Config, getDelegationFieldName, supportsFullDelegationFormat, h
|
|
|
23
23
|
export { CloudflareProofGenerator, type ProofMeta, type SessionContext, type ToolRequest, type ToolResponse, type ProofOptions, } from "./proof-generator";
|
|
24
24
|
export { CloudflareRuntime, type ToolCallContext } from "./runtime";
|
|
25
25
|
export { KVToolProtectionCache, type KVNamespace, } from "./cache/kv-tool-protection-cache";
|
|
26
|
+
export { KVOAuthConfigCache } from "./cache/kv-oauth-config-cache";
|
|
27
|
+
export type { KVOAuthConfigCacheConfig } from "./cache/kv-oauth-config-cache";
|
|
26
28
|
export { createOAuthCallbackHandler, extractDelegationToken, type HonoContext, type OAuthCallbackConfig, type OAuthSuccessData, type OAuthErrorData, type OAuthState, type TokenExchangeResponse, } from "./runtime/oauth-handler";
|
|
27
29
|
export type { AgentIdentity } from "@kya-os/mcp-i-core";
|
|
28
30
|
export { MCPICloudflareServer, type MCPICloudflareServerOptions, } from "./server";
|
|
29
31
|
export { AdminService } from "./services/admin.service";
|
|
30
|
-
export { MCPICloudflareAgent, type
|
|
32
|
+
export { MCPICloudflareAgent, type PrefixedCloudflareEnv } from "./agent";
|
|
31
33
|
export { createMCPIApp, type CreateMCPIAppOptions } from "./app";
|
|
32
|
-
export { mapPrefixedEnv } from "./helpers/env-mapper";
|
|
34
|
+
export { mapPrefixedEnv, normalizeCloudflareEnv, detectEnvPrefix, } from "./helpers/env-mapper";
|
|
33
35
|
export * from "./constants";
|
|
34
36
|
export { defineConfig } from "./config";
|
|
35
37
|
export type { CloudflareRuntimeConfig, CloudflareBuildConfig, CloudflareConfig, } from "./config";
|
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,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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -28,15 +28,16 @@ export { CloudflareProofGenerator, } from "./proof-generator";
|
|
|
28
28
|
export { CloudflareRuntime } from "./runtime";
|
|
29
29
|
// Re-export cache implementations
|
|
30
30
|
export { KVToolProtectionCache, } from "./cache/kv-tool-protection-cache";
|
|
31
|
+
export { KVOAuthConfigCache } from "./cache/kv-oauth-config-cache";
|
|
31
32
|
// Re-export OAuth handler utilities
|
|
32
33
|
export { createOAuthCallbackHandler, extractDelegationToken, } from "./runtime/oauth-handler";
|
|
33
34
|
// Re-export MCPICloudflareServer and services
|
|
34
35
|
export { MCPICloudflareServer, } from "./server";
|
|
35
36
|
export { AdminService } from "./services/admin.service";
|
|
36
37
|
// Re-export agent base class and app factory
|
|
37
|
-
export { MCPICloudflareAgent
|
|
38
|
+
export { MCPICloudflareAgent } from "./agent";
|
|
38
39
|
export { createMCPIApp } from "./app";
|
|
39
|
-
export { mapPrefixedEnv } from "./helpers/env-mapper";
|
|
40
|
+
export { mapPrefixedEnv, normalizeCloudflareEnv, detectEnvPrefix, } from "./helpers/env-mapper";
|
|
40
41
|
// Re-export constants
|
|
41
42
|
export * from "./constants";
|
|
42
43
|
// Re-export config utilities
|
|
@@ -77,7 +78,11 @@ export function createCloudflareRuntime(config) {
|
|
|
77
78
|
apiKey: config.env.AGENTSHIELD_API_KEY,
|
|
78
79
|
fetchProvider: fetchProvider,
|
|
79
80
|
logger: (msg, data) => {
|
|
80
|
-
|
|
81
|
+
// Always log errors and validation failures, even in production
|
|
82
|
+
const isError = msg.toLowerCase().includes("error") ||
|
|
83
|
+
msg.toLowerCase().includes("failed") ||
|
|
84
|
+
msg.toLowerCase().includes("validation");
|
|
85
|
+
if (isError || config.environment === "development") {
|
|
81
86
|
console.log(`[AccessControl] ${msg}`, data);
|
|
82
87
|
}
|
|
83
88
|
},
|
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,qBAAqB;AACrB,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;AAEzE,oCAAoC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,4BAA4B,EAC5B,kBAAkB,GAEnB,MAAM,qBAAqB,CAAC;AAE7B,6BAA6B;AAC7B,OAAO,EACL,wBAAwB,GAMzB,MAAM,mBAAmB,CAAC;AAE3B,6DAA6D;AAC7D,OAAO,EAAE,iBAAiB,EAAwB,MAAM,WAAW,CAAC;AAEpE,kCAAkC;AAClC,OAAO,EACL,qBAAqB,GAEtB,MAAM,kCAAkC,CAAC;AAE1C,oCAAoC;AACpC,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,GAOvB,MAAM,yBAAyB,CAAC;AAKjC,8CAA8C;AAC9C,OAAO,EACL,oBAAoB,GAErB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,6CAA6C;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloudflare Audit Logger
|
|
3
|
+
*
|
|
4
|
+
* Cloudflare Workers-compatible implementation of IAuditLogger using Web Crypto API.
|
|
5
|
+
* This implementation uses Web Crypto API instead of Node.js crypto for compatibility
|
|
6
|
+
* with Cloudflare Workers environment.
|
|
7
|
+
*/
|
|
8
|
+
import type { AuditContext, AuditEventContext } from "@kya-os/contracts/audit";
|
|
9
|
+
import type { IAuditLogger } from "@kya-os/mcp-i-core/runtime/audit-logger";
|
|
10
|
+
/**
|
|
11
|
+
* Audit log rotation strategy
|
|
12
|
+
*/
|
|
13
|
+
type AuditRotationStrategy = "size" | "time" | "count" | "custom";
|
|
14
|
+
/**
|
|
15
|
+
* Audit rotation context passed to hooks
|
|
16
|
+
*/
|
|
17
|
+
interface AuditRotationContext {
|
|
18
|
+
strategy: AuditRotationStrategy;
|
|
19
|
+
trigger: string;
|
|
20
|
+
recordsLogged: number;
|
|
21
|
+
timestamp: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Audit rotation hooks
|
|
25
|
+
*/
|
|
26
|
+
interface AuditRotationHooks {
|
|
27
|
+
onRotation?: (context: AuditRotationContext) => Promise<void>;
|
|
28
|
+
onSizeLimit?: (sizeBytes: number, limit: number) => Promise<void>;
|
|
29
|
+
onTimeBased?: (interval: string) => Promise<void>;
|
|
30
|
+
onCountThreshold?: (count: number, threshold: number) => Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Audit logging configuration
|
|
34
|
+
*/
|
|
35
|
+
interface AuditConfig {
|
|
36
|
+
enabled?: boolean;
|
|
37
|
+
logFunction?: (record: string) => void;
|
|
38
|
+
includePayloads?: boolean;
|
|
39
|
+
rotation?: {
|
|
40
|
+
strategy?: AuditRotationStrategy;
|
|
41
|
+
sizeLimit?: number;
|
|
42
|
+
timeInterval?: number;
|
|
43
|
+
countThreshold?: number;
|
|
44
|
+
hooks?: AuditRotationHooks;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Cloudflare-compatible audit logger implementation
|
|
49
|
+
*
|
|
50
|
+
* Uses Web Crypto API for cryptographic operations instead of Node.js crypto.
|
|
51
|
+
* Implements the same audit.v1 format and rotation logic as the Node.js version.
|
|
52
|
+
*/
|
|
53
|
+
export declare class CloudflareAuditLogger implements IAuditLogger {
|
|
54
|
+
private config;
|
|
55
|
+
private sessionAuditLog;
|
|
56
|
+
private totalRecordsLogged;
|
|
57
|
+
private currentLogSize;
|
|
58
|
+
private lastRotationTime;
|
|
59
|
+
private destroyed;
|
|
60
|
+
constructor(config?: AuditConfig);
|
|
61
|
+
/**
|
|
62
|
+
* Log an audit record (with session deduplication)
|
|
63
|
+
*/
|
|
64
|
+
logAuditRecord(context: AuditContext): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Log an event (without session deduplication)
|
|
67
|
+
*/
|
|
68
|
+
logEvent(context: AuditEventContext): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Generate deterministic hash for event using Web Crypto API
|
|
71
|
+
*/
|
|
72
|
+
private hashEvent;
|
|
73
|
+
/**
|
|
74
|
+
* Generate random hex string using Web Crypto API
|
|
75
|
+
*/
|
|
76
|
+
private generateRandomHex;
|
|
77
|
+
/**
|
|
78
|
+
* Format audit record as frozen audit line
|
|
79
|
+
* Format: audit.v1 ts=<unix> session=<id> audience=<host> did=<did> kid=<kid> reqHash=<sha256:..> resHash=<sha256:..> verified=yes|no scope=<scopeId|->
|
|
80
|
+
*/
|
|
81
|
+
private formatAuditLine;
|
|
82
|
+
/**
|
|
83
|
+
* Check if rotation is needed and trigger if necessary (event-driven)
|
|
84
|
+
*/
|
|
85
|
+
private checkRotation;
|
|
86
|
+
/**
|
|
87
|
+
* Rotate audit log now (manually triggered)
|
|
88
|
+
*/
|
|
89
|
+
rotateNow(trigger?: string): Promise<void>;
|
|
90
|
+
/**
|
|
91
|
+
* Destroy the logger (cleanup)
|
|
92
|
+
*/
|
|
93
|
+
destroy(): void;
|
|
94
|
+
}
|
|
95
|
+
export {};
|
|
96
|
+
//# sourceMappingURL=audit-logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-logger.d.ts","sourceRoot":"","sources":["../../src/runtime/audit-logger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EAElB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAE5E;;GAEG;AACH,KAAK,qBAAqB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAElE;;GAEG;AACH,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,qBAAqB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,UAAU,kBAAkB;IAC1B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAED;;GAEG;AACH,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,qBAAqB,CAAC;QACjC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,KAAK,CAAC,EAAE,kBAAkB,CAAC;KAC5B,CAAC;CACH;AAwCD;;;;;GAKG;AACH,qBAAa,qBAAsB,YAAW,YAAY;IACxD,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,GAAE,WAAgB;IAiBpC;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAuD1D;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDzD;;OAEG;YACW,SAAS;IAoBvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;YACW,aAAa;IA+C3B;;OAEG;IACG,SAAS,CAAC,OAAO,GAAE,MAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB1D;;OAEG;IACH,OAAO,IAAI,IAAI;CAIhB"}
|