@kya-os/mcp-i-core 1.3.13 → 1.3.15

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 (255) hide show
  1. package/dist/config/remote-config.js +9 -12
  2. package/dist/runtime/base.d.ts +2 -1
  3. package/dist/runtime/base.js +34 -6
  4. package/dist/services/access-control.service.js +5 -0
  5. package/dist/services/tool-protection.service.js +17 -8
  6. package/package.json +2 -2
  7. package/.turbo/turbo-build.log +0 -4
  8. package/.turbo/turbo-test$colon$coverage.log +0 -4586
  9. package/.turbo/turbo-test.log +0 -4631
  10. package/COMPLIANCE_IMPROVEMENT_REPORT.md +0 -483
  11. package/Composer 3.md +0 -615
  12. package/GPT-5.md +0 -1169
  13. package/OPUS-plan.md +0 -352
  14. package/PHASE_3_AND_4.1_SUMMARY.md +0 -585
  15. package/PHASE_3_SUMMARY.md +0 -317
  16. package/PHASE_4.1.3_SUMMARY.md +0 -428
  17. package/PHASE_4.1_COMPLETE.md +0 -525
  18. package/PHASE_4_USER_DID_IDENTITY_LINKING_PLAN.md +0 -1240
  19. package/SCHEMA_COMPLIANCE_REPORT.md +0 -275
  20. package/TEST_PLAN.md +0 -571
  21. package/coverage/coverage-final.json +0 -60
  22. package/dist/cache/oauth-config-cache.d.ts.map +0 -1
  23. package/dist/cache/oauth-config-cache.js.map +0 -1
  24. package/dist/cache/tool-protection-cache.d.ts.map +0 -1
  25. package/dist/cache/tool-protection-cache.js.map +0 -1
  26. package/dist/compliance/index.d.ts.map +0 -1
  27. package/dist/compliance/index.js.map +0 -1
  28. package/dist/compliance/schema-registry.d.ts.map +0 -1
  29. package/dist/compliance/schema-registry.js.map +0 -1
  30. package/dist/compliance/schema-verifier.d.ts.map +0 -1
  31. package/dist/compliance/schema-verifier.js.map +0 -1
  32. package/dist/config/remote-config.d.ts.map +0 -1
  33. package/dist/config/remote-config.js.map +0 -1
  34. package/dist/config.d.ts.map +0 -1
  35. package/dist/config.js.map +0 -1
  36. package/dist/delegation/audience-validator.d.ts.map +0 -1
  37. package/dist/delegation/audience-validator.js.map +0 -1
  38. package/dist/delegation/bitstring.d.ts.map +0 -1
  39. package/dist/delegation/bitstring.js.map +0 -1
  40. package/dist/delegation/cascading-revocation.d.ts.map +0 -1
  41. package/dist/delegation/cascading-revocation.js.map +0 -1
  42. package/dist/delegation/delegation-graph.d.ts.map +0 -1
  43. package/dist/delegation/delegation-graph.js.map +0 -1
  44. package/dist/delegation/did-key-resolver.d.ts.map +0 -1
  45. package/dist/delegation/did-key-resolver.js.map +0 -1
  46. package/dist/delegation/index.d.ts.map +0 -1
  47. package/dist/delegation/index.js.map +0 -1
  48. package/dist/delegation/statuslist-manager.d.ts.map +0 -1
  49. package/dist/delegation/statuslist-manager.js.map +0 -1
  50. package/dist/delegation/storage/index.d.ts.map +0 -1
  51. package/dist/delegation/storage/index.js.map +0 -1
  52. package/dist/delegation/storage/memory-graph-storage.d.ts.map +0 -1
  53. package/dist/delegation/storage/memory-graph-storage.js.map +0 -1
  54. package/dist/delegation/storage/memory-statuslist-storage.d.ts.map +0 -1
  55. package/dist/delegation/storage/memory-statuslist-storage.js.map +0 -1
  56. package/dist/delegation/utils.d.ts.map +0 -1
  57. package/dist/delegation/utils.js.map +0 -1
  58. package/dist/delegation/vc-issuer.d.ts.map +0 -1
  59. package/dist/delegation/vc-issuer.js.map +0 -1
  60. package/dist/delegation/vc-verifier.d.ts.map +0 -1
  61. package/dist/delegation/vc-verifier.js.map +0 -1
  62. package/dist/identity/idp-token-resolver.d.ts.map +0 -1
  63. package/dist/identity/idp-token-resolver.js.map +0 -1
  64. package/dist/identity/idp-token-storage.interface.d.ts.map +0 -1
  65. package/dist/identity/idp-token-storage.interface.js.map +0 -1
  66. package/dist/identity/user-did-manager.d.ts.map +0 -1
  67. package/dist/identity/user-did-manager.js.map +0 -1
  68. package/dist/index.d.ts.map +0 -1
  69. package/dist/index.js.map +0 -1
  70. package/dist/providers/base.d.ts.map +0 -1
  71. package/dist/providers/base.js.map +0 -1
  72. package/dist/providers/memory.d.ts.map +0 -1
  73. package/dist/providers/memory.js.map +0 -1
  74. package/dist/runtime/audit-logger.d.ts.map +0 -1
  75. package/dist/runtime/audit-logger.js.map +0 -1
  76. package/dist/runtime/base.d.ts.map +0 -1
  77. package/dist/runtime/base.js.map +0 -1
  78. package/dist/services/access-control.service.d.ts.map +0 -1
  79. package/dist/services/access-control.service.js.map +0 -1
  80. package/dist/services/authorization/authorization-registry.d.ts.map +0 -1
  81. package/dist/services/authorization/authorization-registry.js.map +0 -1
  82. package/dist/services/authorization/types.d.ts.map +0 -1
  83. package/dist/services/authorization/types.js.map +0 -1
  84. package/dist/services/batch-delegation.service.d.ts.map +0 -1
  85. package/dist/services/batch-delegation.service.js.map +0 -1
  86. package/dist/services/crypto.service.d.ts.map +0 -1
  87. package/dist/services/crypto.service.js.map +0 -1
  88. package/dist/services/errors.d.ts.map +0 -1
  89. package/dist/services/errors.js.map +0 -1
  90. package/dist/services/index.d.ts.map +0 -1
  91. package/dist/services/index.js.map +0 -1
  92. package/dist/services/oauth-config.service.d.ts.map +0 -1
  93. package/dist/services/oauth-config.service.js.map +0 -1
  94. package/dist/services/oauth-provider-registry.d.ts.map +0 -1
  95. package/dist/services/oauth-provider-registry.js.map +0 -1
  96. package/dist/services/oauth-service.d.ts.map +0 -1
  97. package/dist/services/oauth-service.js.map +0 -1
  98. package/dist/services/oauth-token-retrieval.service.d.ts.map +0 -1
  99. package/dist/services/oauth-token-retrieval.service.js.map +0 -1
  100. package/dist/services/proof-verifier.d.ts.map +0 -1
  101. package/dist/services/proof-verifier.js.map +0 -1
  102. package/dist/services/provider-resolver.d.ts.map +0 -1
  103. package/dist/services/provider-resolver.js.map +0 -1
  104. package/dist/services/provider-validator.d.ts.map +0 -1
  105. package/dist/services/provider-validator.js.map +0 -1
  106. package/dist/services/session-registration.service.d.ts.map +0 -1
  107. package/dist/services/session-registration.service.js.map +0 -1
  108. package/dist/services/storage.service.d.ts.map +0 -1
  109. package/dist/services/storage.service.js.map +0 -1
  110. package/dist/services/tool-context-builder.d.ts.map +0 -1
  111. package/dist/services/tool-context-builder.js.map +0 -1
  112. package/dist/services/tool-protection.service.d.ts.map +0 -1
  113. package/dist/services/tool-protection.service.js.map +0 -1
  114. package/dist/types/oauth-required-error.d.ts.map +0 -1
  115. package/dist/types/oauth-required-error.js.map +0 -1
  116. package/dist/types/tool-protection.d.ts.map +0 -1
  117. package/dist/types/tool-protection.js.map +0 -1
  118. package/dist/utils/base58.d.ts.map +0 -1
  119. package/dist/utils/base58.js.map +0 -1
  120. package/dist/utils/base64.d.ts.map +0 -1
  121. package/dist/utils/base64.js.map +0 -1
  122. package/dist/utils/cors.d.ts.map +0 -1
  123. package/dist/utils/cors.js.map +0 -1
  124. package/dist/utils/did-helpers.d.ts.map +0 -1
  125. package/dist/utils/did-helpers.js.map +0 -1
  126. package/dist/utils/index.d.ts.map +0 -1
  127. package/dist/utils/index.js.map +0 -1
  128. package/dist/utils/storage-keys.d.ts.map +0 -1
  129. package/dist/utils/storage-keys.js.map +0 -1
  130. package/docs/API_REFERENCE.md +0 -1362
  131. package/docs/COMPLIANCE_MATRIX.md +0 -691
  132. package/docs/STATUSLIST2021_GUIDE.md +0 -696
  133. package/docs/W3C_VC_DELEGATION_GUIDE.md +0 -710
  134. package/src/__tests__/cache/tool-protection-cache.test.ts +0 -640
  135. package/src/__tests__/config/provider-runtime-config.test.ts +0 -309
  136. package/src/__tests__/delegation-e2e.test.ts +0 -690
  137. package/src/__tests__/identity/user-did-manager.test.ts +0 -232
  138. package/src/__tests__/index.test.ts +0 -56
  139. package/src/__tests__/integration/full-flow.test.ts +0 -789
  140. package/src/__tests__/integration.test.ts +0 -281
  141. package/src/__tests__/providers/base.test.ts +0 -173
  142. package/src/__tests__/providers/memory.test.ts +0 -319
  143. package/src/__tests__/regression/phase2-regression.test.ts +0 -429
  144. package/src/__tests__/runtime/audit-logger.test.ts +0 -154
  145. package/src/__tests__/runtime/base-extensions.test.ts +0 -595
  146. package/src/__tests__/runtime/base.test.ts +0 -869
  147. package/src/__tests__/runtime/delegation-flow.test.ts +0 -164
  148. package/src/__tests__/runtime/proof-client-did.test.ts +0 -376
  149. package/src/__tests__/runtime/route-interception.test.ts +0 -686
  150. package/src/__tests__/runtime/tool-protection-enforcement.test.ts +0 -908
  151. package/src/__tests__/services/agentshield-integration.test.ts +0 -791
  152. package/src/__tests__/services/cache-busting.test.ts +0 -125
  153. package/src/__tests__/services/oauth-service-pkce.test.ts +0 -556
  154. package/src/__tests__/services/provider-resolver-edge-cases.test.ts +0 -591
  155. package/src/__tests__/services/tool-protection-merged-config.test.ts +0 -485
  156. package/src/__tests__/services/tool-protection-oauth-provider.test.ts +0 -480
  157. package/src/__tests__/services/tool-protection.service.test.ts +0 -1373
  158. package/src/__tests__/utils/mock-providers.ts +0 -340
  159. package/src/cache/oauth-config-cache.d.ts +0 -69
  160. package/src/cache/oauth-config-cache.d.ts.map +0 -1
  161. package/src/cache/oauth-config-cache.js.map +0 -1
  162. package/src/cache/oauth-config-cache.ts +0 -123
  163. package/src/cache/tool-protection-cache.ts +0 -171
  164. package/src/compliance/EXAMPLE.md +0 -412
  165. package/src/compliance/__tests__/schema-verifier.test.ts +0 -797
  166. package/src/compliance/index.ts +0 -8
  167. package/src/compliance/schema-registry.ts +0 -460
  168. package/src/compliance/schema-verifier.ts +0 -708
  169. package/src/config/__tests__/merged-config.spec.ts +0 -445
  170. package/src/config/__tests__/remote-config.spec.ts +0 -268
  171. package/src/config/remote-config.ts +0 -264
  172. package/src/config.ts +0 -312
  173. package/src/delegation/__tests__/audience-validator.test.ts +0 -112
  174. package/src/delegation/__tests__/bitstring.test.ts +0 -346
  175. package/src/delegation/__tests__/cascading-revocation.test.ts +0 -628
  176. package/src/delegation/__tests__/delegation-graph.test.ts +0 -584
  177. package/src/delegation/__tests__/did-key-resolver.test.ts +0 -265
  178. package/src/delegation/__tests__/utils.test.ts +0 -152
  179. package/src/delegation/__tests__/vc-issuer.test.ts +0 -442
  180. package/src/delegation/__tests__/vc-verifier.test.ts +0 -922
  181. package/src/delegation/audience-validator.ts +0 -52
  182. package/src/delegation/bitstring.ts +0 -278
  183. package/src/delegation/cascading-revocation.ts +0 -370
  184. package/src/delegation/delegation-graph.ts +0 -299
  185. package/src/delegation/did-key-resolver.ts +0 -179
  186. package/src/delegation/index.ts +0 -14
  187. package/src/delegation/statuslist-manager.ts +0 -353
  188. package/src/delegation/storage/__tests__/memory-graph-storage.test.ts +0 -366
  189. package/src/delegation/storage/__tests__/memory-statuslist-storage.test.ts +0 -228
  190. package/src/delegation/storage/index.ts +0 -9
  191. package/src/delegation/storage/memory-graph-storage.ts +0 -178
  192. package/src/delegation/storage/memory-statuslist-storage.ts +0 -77
  193. package/src/delegation/utils.ts +0 -221
  194. package/src/delegation/vc-issuer.ts +0 -232
  195. package/src/delegation/vc-verifier.ts +0 -568
  196. package/src/identity/idp-token-resolver.ts +0 -181
  197. package/src/identity/idp-token-storage.interface.ts +0 -94
  198. package/src/identity/user-did-manager.ts +0 -526
  199. package/src/index.ts +0 -310
  200. package/src/providers/base.d.ts +0 -91
  201. package/src/providers/base.d.ts.map +0 -1
  202. package/src/providers/base.js.map +0 -1
  203. package/src/providers/base.ts +0 -96
  204. package/src/providers/memory.ts +0 -142
  205. package/src/runtime/audit-logger.ts +0 -39
  206. package/src/runtime/base.ts +0 -1392
  207. package/src/services/__tests__/access-control.integration.test.ts +0 -443
  208. package/src/services/__tests__/access-control.proof-response-validation.test.ts +0 -578
  209. package/src/services/__tests__/access-control.service.test.ts +0 -970
  210. package/src/services/__tests__/batch-delegation.service.test.ts +0 -351
  211. package/src/services/__tests__/crypto.service.test.ts +0 -531
  212. package/src/services/__tests__/oauth-provider-registry.test.ts +0 -142
  213. package/src/services/__tests__/proof-verifier.integration.test.ts +0 -485
  214. package/src/services/__tests__/proof-verifier.test.ts +0 -489
  215. package/src/services/__tests__/provider-resolution.integration.test.ts +0 -202
  216. package/src/services/__tests__/provider-resolver.test.ts +0 -213
  217. package/src/services/__tests__/storage.service.test.ts +0 -358
  218. package/src/services/access-control.service.ts +0 -990
  219. package/src/services/authorization/authorization-registry.ts +0 -66
  220. package/src/services/authorization/types.ts +0 -71
  221. package/src/services/batch-delegation.service.ts +0 -137
  222. package/src/services/crypto.service.ts +0 -302
  223. package/src/services/errors.ts +0 -76
  224. package/src/services/index.ts +0 -18
  225. package/src/services/oauth-config.service.d.ts +0 -53
  226. package/src/services/oauth-config.service.d.ts.map +0 -1
  227. package/src/services/oauth-config.service.js.map +0 -1
  228. package/src/services/oauth-config.service.ts +0 -192
  229. package/src/services/oauth-provider-registry.d.ts +0 -57
  230. package/src/services/oauth-provider-registry.d.ts.map +0 -1
  231. package/src/services/oauth-provider-registry.js.map +0 -1
  232. package/src/services/oauth-provider-registry.ts +0 -141
  233. package/src/services/oauth-service.ts +0 -544
  234. package/src/services/oauth-token-retrieval.service.ts +0 -245
  235. package/src/services/proof-verifier.ts +0 -478
  236. package/src/services/provider-resolver.d.ts +0 -48
  237. package/src/services/provider-resolver.d.ts.map +0 -1
  238. package/src/services/provider-resolver.js.map +0 -1
  239. package/src/services/provider-resolver.ts +0 -146
  240. package/src/services/provider-validator.ts +0 -170
  241. package/src/services/session-registration.service.ts +0 -251
  242. package/src/services/storage.service.ts +0 -566
  243. package/src/services/tool-context-builder.ts +0 -237
  244. package/src/services/tool-protection.service.ts +0 -1070
  245. package/src/types/oauth-required-error.ts +0 -63
  246. package/src/types/tool-protection.ts +0 -155
  247. package/src/utils/__tests__/did-helpers.test.ts +0 -156
  248. package/src/utils/base58.ts +0 -109
  249. package/src/utils/base64.ts +0 -148
  250. package/src/utils/cors.ts +0 -83
  251. package/src/utils/did-helpers.ts +0 -210
  252. package/src/utils/index.ts +0 -8
  253. package/src/utils/storage-keys.ts +0 -278
  254. package/tsconfig.json +0 -21
  255. package/vitest.config.ts +0 -56
@@ -1,309 +0,0 @@
1
- /**
2
- * Tests for ProviderRuntimeConfig
3
- */
4
-
5
- import { describe, it, expect, vi } from 'vitest';
6
- import type { ProviderRuntimeConfig } from '../../config.js';
7
- import type {
8
- CryptoProvider,
9
- ClockProvider,
10
- FetchProvider,
11
- StorageProvider,
12
- NonceCacheProvider,
13
- IdentityProvider
14
- } from '../../providers/base.js';
15
-
16
- describe('ProviderRuntimeConfig', () => {
17
- // Mock providers for testing
18
- const mockCryptoProvider: CryptoProvider = {
19
- generateKeyPair: vi.fn(),
20
- sign: vi.fn(),
21
- verify: vi.fn(),
22
- hash: vi.fn(),
23
- randomBytes: vi.fn(),
24
- };
25
-
26
- const mockClockProvider: ClockProvider = {
27
- now: vi.fn(() => Date.now()),
28
- timestamp: vi.fn(() => new Date().toISOString()),
29
- };
30
-
31
- const mockFetchProvider: FetchProvider = {
32
- fetch: vi.fn(),
33
- };
34
-
35
- const mockStorageProvider: StorageProvider = {
36
- get: vi.fn(),
37
- set: vi.fn(),
38
- delete: vi.fn(),
39
- list: vi.fn(),
40
- };
41
-
42
- const mockNonceCacheProvider: NonceCacheProvider = {
43
- getNonce: vi.fn(),
44
- setNonce: vi.fn(),
45
- deleteNonce: vi.fn(),
46
- };
47
-
48
- const mockIdentityProvider: IdentityProvider = {
49
- getIdentity: vi.fn(),
50
- ensureIdentity: vi.fn(),
51
- };
52
-
53
- describe('Minimal configuration', () => {
54
- it('should accept minimal valid config with all providers', () => {
55
- const config: ProviderRuntimeConfig = {
56
- environment: 'development',
57
- cryptoProvider: mockCryptoProvider,
58
- clockProvider: mockClockProvider,
59
- fetchProvider: mockFetchProvider,
60
- storageProvider: mockStorageProvider,
61
- nonceCacheProvider: mockNonceCacheProvider,
62
- identityProvider: mockIdentityProvider,
63
- };
64
-
65
- expect(config.environment).toBe('development');
66
- expect(config.cryptoProvider).toBeDefined();
67
- expect(config.clockProvider).toBeDefined();
68
- expect(config.fetchProvider).toBeDefined();
69
- expect(config.storageProvider).toBeDefined();
70
- expect(config.nonceCacheProvider).toBeDefined();
71
- expect(config.identityProvider).toBeDefined();
72
- });
73
- });
74
-
75
- describe('Configuration with session', () => {
76
- it('should accept session configuration', () => {
77
- const config: ProviderRuntimeConfig = {
78
- environment: 'production',
79
- cryptoProvider: mockCryptoProvider,
80
- clockProvider: mockClockProvider,
81
- fetchProvider: mockFetchProvider,
82
- storageProvider: mockStorageProvider,
83
- nonceCacheProvider: mockNonceCacheProvider,
84
- identityProvider: mockIdentityProvider,
85
- session: {
86
- timestampSkewSeconds: 60,
87
- ttlMinutes: 15,
88
- },
89
- };
90
-
91
- expect(config.session?.timestampSkewSeconds).toBe(60);
92
- expect(config.session?.ttlMinutes).toBe(15);
93
- });
94
- });
95
-
96
- describe('Configuration with identity', () => {
97
- it('should accept identity configuration', () => {
98
- const config: ProviderRuntimeConfig = {
99
- environment: 'development',
100
- cryptoProvider: mockCryptoProvider,
101
- clockProvider: mockClockProvider,
102
- fetchProvider: mockFetchProvider,
103
- storageProvider: mockStorageProvider,
104
- nonceCacheProvider: mockNonceCacheProvider,
105
- identityProvider: mockIdentityProvider,
106
- identity: {
107
- enabled: true,
108
- environment: 'development',
109
- },
110
- };
111
-
112
- expect(config.identity?.enabled).toBe(true);
113
- expect(config.identity?.environment).toBe('development');
114
- });
115
- });
116
-
117
- describe('Configuration with proofing', () => {
118
- it('should accept proofing configuration', () => {
119
- const config: ProviderRuntimeConfig = {
120
- environment: 'production',
121
- cryptoProvider: mockCryptoProvider,
122
- clockProvider: mockClockProvider,
123
- fetchProvider: mockFetchProvider,
124
- storageProvider: mockStorageProvider,
125
- nonceCacheProvider: mockNonceCacheProvider,
126
- identityProvider: mockIdentityProvider,
127
- proofing: {
128
- enabled: true,
129
- batchQueue: {
130
- destinations: [
131
- {
132
- type: 'agentshield',
133
- apiUrl: 'https://kya.vouched.id',
134
- apiKey: 'test-key',
135
- },
136
- ],
137
- },
138
- },
139
- };
140
-
141
- expect(config.proofing?.enabled).toBe(true);
142
- expect(config.proofing?.batchQueue?.destinations).toHaveLength(1);
143
- });
144
- });
145
-
146
- describe('Configuration with delegation', () => {
147
- it('should accept delegation configuration', () => {
148
- const config: ProviderRuntimeConfig = {
149
- environment: 'production',
150
- cryptoProvider: mockCryptoProvider,
151
- clockProvider: mockClockProvider,
152
- fetchProvider: mockFetchProvider,
153
- storageProvider: mockStorageProvider,
154
- nonceCacheProvider: mockNonceCacheProvider,
155
- identityProvider: mockIdentityProvider,
156
- delegation: {
157
- enabled: true,
158
- verifier: {
159
- type: 'agentshield',
160
- apiUrl: 'https://kya.vouched.id',
161
- apiKey: 'test-key',
162
- },
163
- },
164
- };
165
-
166
- expect(config.delegation?.enabled).toBe(true);
167
- expect(config.delegation?.verifier.type).toBe('agentshield');
168
- });
169
- });
170
-
171
- describe('Configuration with tool protection', () => {
172
- it('should accept tool protection source config', () => {
173
- const config: ProviderRuntimeConfig = {
174
- environment: 'development',
175
- cryptoProvider: mockCryptoProvider,
176
- clockProvider: mockClockProvider,
177
- fetchProvider: mockFetchProvider,
178
- storageProvider: mockStorageProvider,
179
- nonceCacheProvider: mockNonceCacheProvider,
180
- identityProvider: mockIdentityProvider,
181
- toolProtection: {
182
- source: 'inline',
183
- inline: {
184
- test_tool: {
185
- requiresDelegation: true,
186
- requiredScopes: ['test:execute'],
187
- },
188
- },
189
- },
190
- };
191
-
192
- expect(config.toolProtection?.source).toBe('inline');
193
- expect(config.toolProtection?.inline?.test_tool?.requiresDelegation).toBe(true);
194
- });
195
- });
196
-
197
- describe('Complete configuration', () => {
198
- it('should accept complete configuration with all features', () => {
199
- const config: ProviderRuntimeConfig = {
200
- environment: 'production',
201
- cryptoProvider: mockCryptoProvider,
202
- clockProvider: mockClockProvider,
203
- fetchProvider: mockFetchProvider,
204
- storageProvider: mockStorageProvider,
205
- nonceCacheProvider: mockNonceCacheProvider,
206
- identityProvider: mockIdentityProvider,
207
- session: {
208
- timestampSkewSeconds: 120,
209
- ttlMinutes: 30,
210
- },
211
- identity: {
212
- enabled: true,
213
- environment: 'production',
214
- },
215
- proofing: {
216
- enabled: true,
217
- batchQueue: {
218
- destinations: [
219
- {
220
- type: 'agentshield',
221
- apiUrl: 'https://kya.vouched.id',
222
- apiKey: 'as-key',
223
- },
224
- ],
225
- maxBatchSize: 10,
226
- flushIntervalMs: 5000,
227
- },
228
- },
229
- delegation: {
230
- enabled: true,
231
- verifier: {
232
- type: 'agentshield',
233
- apiUrl: 'https://kya.vouched.id',
234
- apiKey: 'as-key',
235
- },
236
- },
237
- toolProtection: {
238
- source: 'agentshield',
239
- agentShield: {
240
- apiUrl: 'https://kya.vouched.id',
241
- apiKey: 'as-key',
242
- },
243
- },
244
- audit: {
245
- enabled: true,
246
- includeProofHashes: false,
247
- },
248
- wellKnown: {
249
- enabled: true,
250
- serviceName: 'Test Service',
251
- },
252
- };
253
-
254
- expect(config.environment).toBe('production');
255
- expect(config.session?.timestampSkewSeconds).toBe(120);
256
- expect(config.identity?.enabled).toBe(true);
257
- expect(config.proofing?.enabled).toBe(true);
258
- expect(config.delegation?.enabled).toBe(true);
259
- expect(config.toolProtection?.source).toBe('agentshield');
260
- expect(config.audit?.enabled).toBe(true);
261
- expect(config.wellKnown?.enabled).toBe(true);
262
- });
263
- });
264
-
265
- describe('Type composition', () => {
266
- it('should extend MCPIBaseConfig', () => {
267
- const config: ProviderRuntimeConfig = {
268
- environment: 'development',
269
- cryptoProvider: mockCryptoProvider,
270
- clockProvider: mockClockProvider,
271
- fetchProvider: mockFetchProvider,
272
- storageProvider: mockStorageProvider,
273
- nonceCacheProvider: mockNonceCacheProvider,
274
- identityProvider: mockIdentityProvider,
275
- audit: {
276
- enabled: true,
277
- },
278
- wellKnown: {
279
- enabled: true,
280
- },
281
- };
282
-
283
- // MCPIBaseConfig fields should be available
284
- expect(config.environment).toBeDefined();
285
- expect(config.audit).toBeDefined();
286
- expect(config.wellKnown).toBeDefined();
287
- });
288
-
289
- it('should require all providers', () => {
290
- // This test validates that all providers are required
291
- const config: ProviderRuntimeConfig = {
292
- environment: 'development',
293
- cryptoProvider: mockCryptoProvider,
294
- clockProvider: mockClockProvider,
295
- fetchProvider: mockFetchProvider,
296
- storageProvider: mockStorageProvider,
297
- nonceCacheProvider: mockNonceCacheProvider,
298
- identityProvider: mockIdentityProvider,
299
- };
300
-
301
- expect(config.cryptoProvider).toBeDefined();
302
- expect(config.clockProvider).toBeDefined();
303
- expect(config.fetchProvider).toBeDefined();
304
- expect(config.storageProvider).toBeDefined();
305
- expect(config.nonceCacheProvider).toBeDefined();
306
- expect(config.identityProvider).toBeDefined();
307
- });
308
- });
309
- });