@frontmcp/auth 0.9.0 → 0.11.0

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 (127) hide show
  1. package/__test-utils__/assertion.helpers.d.ts +2 -0
  2. package/__test-utils__/assertion.helpers.d.ts.map +1 -0
  3. package/authorization/authorization.class.d.ts +122 -0
  4. package/authorization/authorization.class.d.ts.map +1 -0
  5. package/authorization/authorization.types.d.ts +65 -1
  6. package/authorization/authorization.types.d.ts.map +1 -1
  7. package/authorization/index.d.ts +11 -2
  8. package/authorization/index.d.ts.map +1 -1
  9. package/authorization/orchestrated.accessor.d.ts +161 -0
  10. package/authorization/orchestrated.accessor.d.ts.map +1 -0
  11. package/authorization/orchestrated.authorization.d.ts +257 -0
  12. package/authorization/orchestrated.authorization.d.ts.map +1 -0
  13. package/authorization/public.authorization.d.ts +92 -0
  14. package/authorization/public.authorization.d.ts.map +1 -0
  15. package/authorization/transparent.authorization.d.ts +130 -0
  16. package/authorization/transparent.authorization.d.ts.map +1 -0
  17. package/common/auth-logger.interface.d.ts +15 -0
  18. package/common/auth-logger.interface.d.ts.map +1 -0
  19. package/common/index.d.ts +6 -0
  20. package/common/index.d.ts.map +1 -0
  21. package/common/jwt.types.d.ts +87 -0
  22. package/common/jwt.types.d.ts.map +1 -0
  23. package/common/session-user.types.d.ts +17 -0
  24. package/common/session-user.types.d.ts.map +1 -0
  25. package/common/session.types.d.ts +190 -0
  26. package/common/session.types.d.ts.map +1 -0
  27. package/common/zod-utils.d.ts +5 -0
  28. package/common/zod-utils.d.ts.map +1 -0
  29. package/consent/consent.types.d.ts +112 -0
  30. package/consent/consent.types.d.ts.map +1 -0
  31. package/consent/index.d.ts +2 -0
  32. package/consent/index.d.ts.map +1 -0
  33. package/detection/auth-provider-detection.d.ts +53 -0
  34. package/detection/auth-provider-detection.d.ts.map +1 -0
  35. package/detection/index.d.ts +3 -0
  36. package/detection/index.d.ts.map +1 -0
  37. package/errors/auth-internal.error.d.ts +33 -0
  38. package/errors/auth-internal.error.d.ts.map +1 -0
  39. package/errors/auth-internal.errors.d.ts +123 -0
  40. package/errors/auth-internal.errors.d.ts.map +1 -0
  41. package/errors/index.d.ts +3 -0
  42. package/errors/index.d.ts.map +1 -0
  43. package/esm/index.mjs +5473 -1204
  44. package/esm/package.json +18 -3
  45. package/index.d.ts +18 -5
  46. package/index.d.ts.map +1 -1
  47. package/index.js +5351 -961
  48. package/jwks/jwks.service.d.ts +1 -0
  49. package/jwks/jwks.service.d.ts.map +1 -1
  50. package/jwks/jwks.types.d.ts +3 -0
  51. package/jwks/jwks.types.d.ts.map +1 -1
  52. package/machine-id/index.d.ts +2 -0
  53. package/machine-id/index.d.ts.map +1 -0
  54. package/machine-id/machine-id.d.ts +28 -0
  55. package/machine-id/machine-id.d.ts.map +1 -0
  56. package/options/app-auth.schema.d.ts +272 -0
  57. package/options/app-auth.schema.d.ts.map +1 -0
  58. package/options/index.d.ts +15 -0
  59. package/options/index.d.ts.map +1 -0
  60. package/options/interfaces.d.ts +250 -0
  61. package/options/interfaces.d.ts.map +1 -0
  62. package/options/orchestrated.schema.d.ts +446 -0
  63. package/options/orchestrated.schema.d.ts.map +1 -0
  64. package/options/public.schema.d.ts +19 -0
  65. package/options/public.schema.d.ts.map +1 -0
  66. package/options/schema.d.ts +265 -0
  67. package/options/schema.d.ts.map +1 -0
  68. package/options/shared.schemas.d.ts +128 -0
  69. package/options/shared.schemas.d.ts.map +1 -0
  70. package/options/transparent.schema.d.ts +33 -0
  71. package/options/transparent.schema.d.ts.map +1 -0
  72. package/options/typecheck.d.ts +2 -0
  73. package/options/typecheck.d.ts.map +1 -0
  74. package/options/utils.d.ts +33 -0
  75. package/options/utils.d.ts.map +1 -0
  76. package/package.json +18 -3
  77. package/session/encrypted-authorization-vault.d.ts +182 -0
  78. package/session/encrypted-authorization-vault.d.ts.map +1 -0
  79. package/session/federated-auth.session.d.ts +252 -0
  80. package/session/federated-auth.session.d.ts.map +1 -0
  81. package/session/index.d.ts +21 -1
  82. package/session/index.d.ts.map +1 -1
  83. package/session/orchestrated-token.store.d.ts +155 -0
  84. package/session/orchestrated-token.store.d.ts.map +1 -0
  85. package/session/redis-session.store.d.ts +93 -0
  86. package/session/redis-session.store.d.ts.map +1 -0
  87. package/session/session-crypto.d.ts +84 -0
  88. package/session/session-crypto.d.ts.map +1 -0
  89. package/session/session-rate-limiter.d.ts +114 -0
  90. package/session/session-rate-limiter.d.ts.map +1 -0
  91. package/session/session.transport.d.ts +11 -0
  92. package/session/session.transport.d.ts.map +1 -0
  93. package/session/session.types.d.ts +66 -0
  94. package/session/session.types.d.ts.map +1 -0
  95. package/session/token.refresh.d.ts +61 -0
  96. package/session/token.refresh.d.ts.map +1 -0
  97. package/session/transport-session.types.d.ts +479 -0
  98. package/session/transport-session.types.d.ts.map +1 -0
  99. package/session/utils/auth-token.utils.d.ts +12 -0
  100. package/session/utils/auth-token.utils.d.ts.map +1 -0
  101. package/session/utils/index.d.ts +2 -0
  102. package/session/utils/index.d.ts.map +1 -1
  103. package/session/utils/session-crypto.utils.d.ts +30 -0
  104. package/session/utils/session-crypto.utils.d.ts.map +1 -0
  105. package/session/vercel-kv-session.store.d.ts +123 -0
  106. package/session/vercel-kv-session.store.d.ts.map +1 -0
  107. package/utils/authorization-id.utils.d.ts +12 -0
  108. package/utils/authorization-id.utils.d.ts.map +1 -0
  109. package/utils/index.d.ts +1 -0
  110. package/utils/index.d.ts.map +1 -1
  111. package/vault/auth-providers.accessor.d.ts +154 -0
  112. package/vault/auth-providers.accessor.d.ts.map +1 -0
  113. package/vault/auth-providers.accessor.impl.d.ts +54 -0
  114. package/vault/auth-providers.accessor.impl.d.ts.map +1 -0
  115. package/vault/auth-providers.registry.d.ts +111 -0
  116. package/vault/auth-providers.registry.d.ts.map +1 -0
  117. package/vault/auth-providers.types.d.ts +3 -3
  118. package/vault/auth-providers.vault.d.ts +94 -0
  119. package/vault/auth-providers.vault.d.ts.map +1 -0
  120. package/vault/credential-loaders/eager-loader.d.ts +47 -0
  121. package/vault/credential-loaders/eager-loader.d.ts.map +1 -0
  122. package/vault/credential-loaders/index.d.ts +7 -0
  123. package/vault/credential-loaders/index.d.ts.map +1 -0
  124. package/vault/credential-loaders/lazy-loader.d.ts +54 -0
  125. package/vault/credential-loaders/lazy-loader.d.ts.map +1 -0
  126. package/vault/index.d.ts +9 -0
  127. package/vault/index.d.ts.map +1 -1
@@ -0,0 +1,265 @@
1
+ import { z } from 'zod';
2
+ export declare const authOptionsSchema: z.ZodUnion<readonly [z.ZodObject<{
3
+ mode: z.ZodLiteral<"public">;
4
+ issuer: z.ZodOptional<z.ZodString>;
5
+ sessionTtl: z.ZodDefault<z.ZodNumber>;
6
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
7
+ publicAccess: z.ZodOptional<z.ZodObject<{
8
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
9
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
10
+ rateLimit: z.ZodDefault<z.ZodNumber>;
11
+ }, z.core.$strip>>;
12
+ jwks: z.ZodOptional<z.ZodObject<{
13
+ keys: z.ZodArray<z.ZodType<import("..").JWK, unknown, z.core.$ZodTypeInternals<import("..").JWK, unknown>>>;
14
+ }, z.core.$strip>>;
15
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<import("..").JWK, unknown, z.core.$ZodTypeInternals<import("..").JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
16
+ }, z.core.$strip>, z.ZodObject<{
17
+ mode: z.ZodLiteral<"transparent">;
18
+ remote: z.ZodObject<{
19
+ provider: z.ZodString;
20
+ name: z.ZodOptional<z.ZodString>;
21
+ id: z.ZodOptional<z.ZodString>;
22
+ jwks: z.ZodOptional<z.ZodObject<{
23
+ keys: z.ZodArray<z.ZodType<import("..").JWK, unknown, z.core.$ZodTypeInternals<import("..").JWK, unknown>>>;
24
+ }, z.core.$strip>>;
25
+ jwksUri: z.ZodOptional<z.ZodString>;
26
+ clientId: z.ZodOptional<z.ZodString>;
27
+ clientSecret: z.ZodOptional<z.ZodString>;
28
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
29
+ dcrEnabled: z.ZodDefault<z.ZodBoolean>;
30
+ authEndpoint: z.ZodOptional<z.ZodString>;
31
+ tokenEndpoint: z.ZodOptional<z.ZodString>;
32
+ registrationEndpoint: z.ZodOptional<z.ZodString>;
33
+ userInfoEndpoint: z.ZodOptional<z.ZodString>;
34
+ }, z.core.$strip>;
35
+ expectedAudience: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
36
+ requiredScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
37
+ allowAnonymous: z.ZodDefault<z.ZodBoolean>;
38
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
39
+ publicAccess: z.ZodOptional<z.ZodObject<{
40
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
41
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
42
+ rateLimit: z.ZodDefault<z.ZodNumber>;
43
+ }, z.core.$strip>>;
44
+ }, z.core.$strip>, z.ZodObject<{
45
+ local: z.ZodOptional<z.ZodObject<{
46
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<import("..").JWK, unknown, z.core.$ZodTypeInternals<import("..").JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
47
+ jwks: z.ZodOptional<z.ZodObject<{
48
+ keys: z.ZodArray<z.ZodType<import("..").JWK, unknown, z.core.$ZodTypeInternals<import("..").JWK, unknown>>>;
49
+ }, z.core.$strip>>;
50
+ issuer: z.ZodOptional<z.ZodString>;
51
+ }, z.core.$strip>>;
52
+ tokenStorage: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
53
+ type: z.ZodLiteral<"memory">;
54
+ }, z.core.$strip>, z.ZodObject<{
55
+ type: z.ZodLiteral<"redis">;
56
+ config: z.ZodObject<{
57
+ host: z.ZodString;
58
+ port: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
59
+ password: z.ZodOptional<z.ZodString>;
60
+ db: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
61
+ tls: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
62
+ keyPrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
63
+ defaultTtlMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
64
+ }, z.core.$strip>;
65
+ }, z.core.$strip>], "type">>;
66
+ allowDefaultPublic: z.ZodDefault<z.ZodBoolean>;
67
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
68
+ publicAccess: z.ZodOptional<z.ZodObject<{
69
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
70
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
71
+ rateLimit: z.ZodDefault<z.ZodNumber>;
72
+ }, z.core.$strip>>;
73
+ consent: z.ZodOptional<z.ZodObject<{
74
+ enabled: z.ZodDefault<z.ZodBoolean>;
75
+ groupByApp: z.ZodDefault<z.ZodBoolean>;
76
+ showDescriptions: z.ZodDefault<z.ZodBoolean>;
77
+ allowSelectAll: z.ZodDefault<z.ZodBoolean>;
78
+ requireSelection: z.ZodDefault<z.ZodBoolean>;
79
+ customMessage: z.ZodOptional<z.ZodString>;
80
+ rememberConsent: z.ZodDefault<z.ZodBoolean>;
81
+ excludedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
82
+ defaultSelectedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
83
+ }, z.core.$strip>>;
84
+ federatedAuth: z.ZodOptional<z.ZodObject<{
85
+ stateValidation: z.ZodDefault<z.ZodEnum<{
86
+ format: "format";
87
+ strict: "strict";
88
+ }>>;
89
+ }, z.core.$strip>>;
90
+ refresh: z.ZodOptional<z.ZodObject<{
91
+ enabled: z.ZodDefault<z.ZodBoolean>;
92
+ skewSeconds: z.ZodDefault<z.ZodNumber>;
93
+ }, z.core.$strip>>;
94
+ expectedAudience: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
95
+ incrementalAuth: z.ZodOptional<z.ZodObject<{
96
+ enabled: z.ZodDefault<z.ZodBoolean>;
97
+ skippedAppBehavior: z.ZodDefault<z.ZodEnum<{
98
+ anonymous: "anonymous";
99
+ "require-auth": "require-auth";
100
+ }>>;
101
+ allowSkip: z.ZodDefault<z.ZodBoolean>;
102
+ showAllAppsAtOnce: z.ZodDefault<z.ZodBoolean>;
103
+ }, z.core.$strip>>;
104
+ cimd: z.ZodOptional<z.ZodObject<{
105
+ enabled: z.ZodDefault<z.ZodBoolean>;
106
+ cache: z.ZodOptional<z.ZodObject<{
107
+ type: z.ZodDefault<z.ZodEnum<{
108
+ memory: "memory";
109
+ redis: "redis";
110
+ }>>;
111
+ defaultTtlMs: z.ZodDefault<z.ZodNumber>;
112
+ maxTtlMs: z.ZodDefault<z.ZodNumber>;
113
+ minTtlMs: z.ZodDefault<z.ZodNumber>;
114
+ redis: z.ZodOptional<z.ZodObject<{
115
+ url: z.ZodOptional<z.ZodString>;
116
+ host: z.ZodOptional<z.ZodString>;
117
+ port: z.ZodOptional<z.ZodNumber>;
118
+ password: z.ZodOptional<z.ZodString>;
119
+ db: z.ZodOptional<z.ZodNumber>;
120
+ tls: z.ZodOptional<z.ZodBoolean>;
121
+ keyPrefix: z.ZodDefault<z.ZodString>;
122
+ }, z.core.$strip>>;
123
+ }, z.core.$strip>>;
124
+ security: z.ZodOptional<z.ZodObject<{
125
+ blockPrivateIPs: z.ZodDefault<z.ZodBoolean>;
126
+ allowedDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
127
+ blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
128
+ warnOnLocalhostRedirects: z.ZodDefault<z.ZodBoolean>;
129
+ allowInsecureForTesting: z.ZodDefault<z.ZodBoolean>;
130
+ }, z.core.$strip>>;
131
+ network: z.ZodOptional<z.ZodObject<{
132
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
133
+ maxResponseSizeBytes: z.ZodDefault<z.ZodNumber>;
134
+ redirectPolicy: z.ZodDefault<z.ZodEnum<{
135
+ deny: "deny";
136
+ "same-origin": "same-origin";
137
+ allow: "allow";
138
+ }>>;
139
+ maxRedirects: z.ZodDefault<z.ZodNumber>;
140
+ }, z.core.$strip>>;
141
+ }, z.core.$strip>>;
142
+ mode: z.ZodLiteral<"orchestrated">;
143
+ type: z.ZodLiteral<"local">;
144
+ }, z.core.$strip>, z.ZodObject<{
145
+ local: z.ZodOptional<z.ZodObject<{
146
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<import("..").JWK, unknown, z.core.$ZodTypeInternals<import("..").JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
147
+ jwks: z.ZodOptional<z.ZodObject<{
148
+ keys: z.ZodArray<z.ZodType<import("..").JWK, unknown, z.core.$ZodTypeInternals<import("..").JWK, unknown>>>;
149
+ }, z.core.$strip>>;
150
+ issuer: z.ZodOptional<z.ZodString>;
151
+ }, z.core.$strip>>;
152
+ tokenStorage: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
153
+ type: z.ZodLiteral<"memory">;
154
+ }, z.core.$strip>, z.ZodObject<{
155
+ type: z.ZodLiteral<"redis">;
156
+ config: z.ZodObject<{
157
+ host: z.ZodString;
158
+ port: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
159
+ password: z.ZodOptional<z.ZodString>;
160
+ db: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
161
+ tls: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
162
+ keyPrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
163
+ defaultTtlMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
164
+ }, z.core.$strip>;
165
+ }, z.core.$strip>], "type">>;
166
+ allowDefaultPublic: z.ZodDefault<z.ZodBoolean>;
167
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
168
+ publicAccess: z.ZodOptional<z.ZodObject<{
169
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
170
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
171
+ rateLimit: z.ZodDefault<z.ZodNumber>;
172
+ }, z.core.$strip>>;
173
+ consent: z.ZodOptional<z.ZodObject<{
174
+ enabled: z.ZodDefault<z.ZodBoolean>;
175
+ groupByApp: z.ZodDefault<z.ZodBoolean>;
176
+ showDescriptions: z.ZodDefault<z.ZodBoolean>;
177
+ allowSelectAll: z.ZodDefault<z.ZodBoolean>;
178
+ requireSelection: z.ZodDefault<z.ZodBoolean>;
179
+ customMessage: z.ZodOptional<z.ZodString>;
180
+ rememberConsent: z.ZodDefault<z.ZodBoolean>;
181
+ excludedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
182
+ defaultSelectedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
183
+ }, z.core.$strip>>;
184
+ federatedAuth: z.ZodOptional<z.ZodObject<{
185
+ stateValidation: z.ZodDefault<z.ZodEnum<{
186
+ format: "format";
187
+ strict: "strict";
188
+ }>>;
189
+ }, z.core.$strip>>;
190
+ refresh: z.ZodOptional<z.ZodObject<{
191
+ enabled: z.ZodDefault<z.ZodBoolean>;
192
+ skewSeconds: z.ZodDefault<z.ZodNumber>;
193
+ }, z.core.$strip>>;
194
+ expectedAudience: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
195
+ incrementalAuth: z.ZodOptional<z.ZodObject<{
196
+ enabled: z.ZodDefault<z.ZodBoolean>;
197
+ skippedAppBehavior: z.ZodDefault<z.ZodEnum<{
198
+ anonymous: "anonymous";
199
+ "require-auth": "require-auth";
200
+ }>>;
201
+ allowSkip: z.ZodDefault<z.ZodBoolean>;
202
+ showAllAppsAtOnce: z.ZodDefault<z.ZodBoolean>;
203
+ }, z.core.$strip>>;
204
+ cimd: z.ZodOptional<z.ZodObject<{
205
+ enabled: z.ZodDefault<z.ZodBoolean>;
206
+ cache: z.ZodOptional<z.ZodObject<{
207
+ type: z.ZodDefault<z.ZodEnum<{
208
+ memory: "memory";
209
+ redis: "redis";
210
+ }>>;
211
+ defaultTtlMs: z.ZodDefault<z.ZodNumber>;
212
+ maxTtlMs: z.ZodDefault<z.ZodNumber>;
213
+ minTtlMs: z.ZodDefault<z.ZodNumber>;
214
+ redis: z.ZodOptional<z.ZodObject<{
215
+ url: z.ZodOptional<z.ZodString>;
216
+ host: z.ZodOptional<z.ZodString>;
217
+ port: z.ZodOptional<z.ZodNumber>;
218
+ password: z.ZodOptional<z.ZodString>;
219
+ db: z.ZodOptional<z.ZodNumber>;
220
+ tls: z.ZodOptional<z.ZodBoolean>;
221
+ keyPrefix: z.ZodDefault<z.ZodString>;
222
+ }, z.core.$strip>>;
223
+ }, z.core.$strip>>;
224
+ security: z.ZodOptional<z.ZodObject<{
225
+ blockPrivateIPs: z.ZodDefault<z.ZodBoolean>;
226
+ allowedDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
227
+ blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
228
+ warnOnLocalhostRedirects: z.ZodDefault<z.ZodBoolean>;
229
+ allowInsecureForTesting: z.ZodDefault<z.ZodBoolean>;
230
+ }, z.core.$strip>>;
231
+ network: z.ZodOptional<z.ZodObject<{
232
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
233
+ maxResponseSizeBytes: z.ZodDefault<z.ZodNumber>;
234
+ redirectPolicy: z.ZodDefault<z.ZodEnum<{
235
+ deny: "deny";
236
+ "same-origin": "same-origin";
237
+ allow: "allow";
238
+ }>>;
239
+ maxRedirects: z.ZodDefault<z.ZodNumber>;
240
+ }, z.core.$strip>>;
241
+ }, z.core.$strip>>;
242
+ mode: z.ZodLiteral<"orchestrated">;
243
+ type: z.ZodLiteral<"remote">;
244
+ remote: z.ZodObject<{
245
+ provider: z.ZodString;
246
+ name: z.ZodOptional<z.ZodString>;
247
+ id: z.ZodOptional<z.ZodString>;
248
+ jwks: z.ZodOptional<z.ZodObject<{
249
+ keys: z.ZodArray<z.ZodType<import("..").JWK, unknown, z.core.$ZodTypeInternals<import("..").JWK, unknown>>>;
250
+ }, z.core.$strip>>;
251
+ jwksUri: z.ZodOptional<z.ZodString>;
252
+ clientId: z.ZodOptional<z.ZodString>;
253
+ clientSecret: z.ZodOptional<z.ZodString>;
254
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
255
+ dcrEnabled: z.ZodDefault<z.ZodBoolean>;
256
+ authEndpoint: z.ZodOptional<z.ZodString>;
257
+ tokenEndpoint: z.ZodOptional<z.ZodString>;
258
+ registrationEndpoint: z.ZodOptional<z.ZodString>;
259
+ userInfoEndpoint: z.ZodOptional<z.ZodString>;
260
+ }, z.core.$strip>;
261
+ }, z.core.$strip>]>;
262
+ export type AuthOptions = z.infer<typeof authOptionsSchema>;
263
+ export type AuthOptionsInput = z.input<typeof authOptionsSchema>;
264
+ export type AuthMode = 'public' | 'transparent' | 'orchestrated';
265
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/options/schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAK5B,CAAC;AAMH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACjE,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,cAAc,CAAC"}
@@ -0,0 +1,128 @@
1
+ import { z } from 'zod';
2
+ import { RedisConfig } from '../session/transport-session.types';
3
+ /**
4
+ * Public access configuration for tools/prompts
5
+ */
6
+ export declare const publicAccessConfigSchema: z.ZodObject<{
7
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
8
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
9
+ rateLimit: z.ZodDefault<z.ZodNumber>;
10
+ }, z.core.$strip>;
11
+ export type PublicAccessConfig = z.infer<typeof publicAccessConfigSchema>;
12
+ export type PublicAccessConfigInput = z.input<typeof publicAccessConfigSchema>;
13
+ /**
14
+ * Local signing configuration (for orchestrated local type)
15
+ */
16
+ export declare const localSigningConfigSchema: z.ZodObject<{
17
+ signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<import("../common/jwt.types").JWK, unknown, z.core.$ZodTypeInternals<import("../common/jwt.types").JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
18
+ jwks: z.ZodOptional<z.ZodObject<{
19
+ keys: z.ZodArray<z.ZodType<import("../common/jwt.types").JWK, unknown, z.core.$ZodTypeInternals<import("../common/jwt.types").JWK, unknown>>>;
20
+ }, z.core.$strip>>;
21
+ issuer: z.ZodOptional<z.ZodString>;
22
+ }, z.core.$strip>;
23
+ export type LocalSigningConfig = z.infer<typeof localSigningConfigSchema>;
24
+ export type LocalSigningConfigInput = z.input<typeof localSigningConfigSchema>;
25
+ /**
26
+ * Remote OAuth provider configuration (for orchestrated remote and transparent)
27
+ */
28
+ export declare const remoteProviderConfigSchema: z.ZodObject<{
29
+ provider: z.ZodString;
30
+ name: z.ZodOptional<z.ZodString>;
31
+ id: z.ZodOptional<z.ZodString>;
32
+ jwks: z.ZodOptional<z.ZodObject<{
33
+ keys: z.ZodArray<z.ZodType<import("../common/jwt.types").JWK, unknown, z.core.$ZodTypeInternals<import("../common/jwt.types").JWK, unknown>>>;
34
+ }, z.core.$strip>>;
35
+ jwksUri: z.ZodOptional<z.ZodString>;
36
+ clientId: z.ZodOptional<z.ZodString>;
37
+ clientSecret: z.ZodOptional<z.ZodString>;
38
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
39
+ dcrEnabled: z.ZodDefault<z.ZodBoolean>;
40
+ authEndpoint: z.ZodOptional<z.ZodString>;
41
+ tokenEndpoint: z.ZodOptional<z.ZodString>;
42
+ registrationEndpoint: z.ZodOptional<z.ZodString>;
43
+ userInfoEndpoint: z.ZodOptional<z.ZodString>;
44
+ }, z.core.$strip>;
45
+ export type RemoteProviderConfig = z.infer<typeof remoteProviderConfigSchema>;
46
+ export type RemoteProviderConfigInput = z.input<typeof remoteProviderConfigSchema>;
47
+ /**
48
+ * Token storage configuration for orchestrated mode
49
+ */
50
+ export declare const tokenStorageConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
51
+ type: z.ZodLiteral<"memory">;
52
+ }, z.core.$strip>, z.ZodObject<{
53
+ type: z.ZodLiteral<"redis">;
54
+ config: z.ZodObject<{
55
+ host: z.ZodString;
56
+ port: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
57
+ password: z.ZodOptional<z.ZodString>;
58
+ db: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
59
+ tls: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
60
+ keyPrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
61
+ defaultTtlMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
62
+ }, z.core.$strip>;
63
+ }, z.core.$strip>], "type">;
64
+ export type TokenStorageConfig = z.infer<typeof tokenStorageConfigSchema>;
65
+ export type TokenStorageConfigInput = z.input<typeof tokenStorageConfigSchema>;
66
+ /**
67
+ * Token refresh configuration
68
+ */
69
+ export declare const tokenRefreshConfigSchema: z.ZodObject<{
70
+ enabled: z.ZodDefault<z.ZodBoolean>;
71
+ skewSeconds: z.ZodDefault<z.ZodNumber>;
72
+ }, z.core.$strip>;
73
+ export type TokenRefreshConfig = z.infer<typeof tokenRefreshConfigSchema>;
74
+ export type TokenRefreshConfigInput = z.input<typeof tokenRefreshConfigSchema>;
75
+ /**
76
+ * Behavior when a tool from a skipped (not yet authorized) app is called
77
+ */
78
+ export declare const skippedAppBehaviorSchema: z.ZodEnum<{
79
+ anonymous: "anonymous";
80
+ "require-auth": "require-auth";
81
+ }>;
82
+ export type SkippedAppBehavior = z.infer<typeof skippedAppBehaviorSchema>;
83
+ /**
84
+ * Consent configuration for tool selection
85
+ * Allows users to choose which MCP tools to expose to the LLM
86
+ */
87
+ export declare const consentConfigSchema: z.ZodObject<{
88
+ enabled: z.ZodDefault<z.ZodBoolean>;
89
+ groupByApp: z.ZodDefault<z.ZodBoolean>;
90
+ showDescriptions: z.ZodDefault<z.ZodBoolean>;
91
+ allowSelectAll: z.ZodDefault<z.ZodBoolean>;
92
+ requireSelection: z.ZodDefault<z.ZodBoolean>;
93
+ customMessage: z.ZodOptional<z.ZodString>;
94
+ rememberConsent: z.ZodDefault<z.ZodBoolean>;
95
+ excludedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
96
+ defaultSelectedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
97
+ }, z.core.$strip>;
98
+ export type ConsentConfig = z.infer<typeof consentConfigSchema>;
99
+ export type ConsentConfigInput = z.input<typeof consentConfigSchema>;
100
+ /**
101
+ * Federated authentication configuration
102
+ */
103
+ export declare const federatedAuthConfigSchema: z.ZodObject<{
104
+ stateValidation: z.ZodDefault<z.ZodEnum<{
105
+ format: "format";
106
+ strict: "strict";
107
+ }>>;
108
+ }, z.core.$strip>;
109
+ export type FederatedAuthConfig = z.infer<typeof federatedAuthConfigSchema>;
110
+ export type FederatedAuthConfigInput = z.input<typeof federatedAuthConfigSchema>;
111
+ /**
112
+ * Progressive/Incremental authorization configuration
113
+ * Allows users to authorize apps one at a time after initial auth
114
+ */
115
+ export declare const incrementalAuthConfigSchema: z.ZodObject<{
116
+ enabled: z.ZodDefault<z.ZodBoolean>;
117
+ skippedAppBehavior: z.ZodDefault<z.ZodEnum<{
118
+ anonymous: "anonymous";
119
+ "require-auth": "require-auth";
120
+ }>>;
121
+ allowSkip: z.ZodDefault<z.ZodBoolean>;
122
+ showAllAppsAtOnce: z.ZodDefault<z.ZodBoolean>;
123
+ }, z.core.$strip>;
124
+ export type IncrementalAuthConfig = z.infer<typeof incrementalAuthConfigSchema>;
125
+ export type IncrementalAuthConfigInput = z.input<typeof incrementalAuthConfigSchema>;
126
+ export { cimdCacheConfigSchema, cimdSecurityConfigSchema, cimdNetworkConfigSchema, cimdConfigSchema, type CimdCacheConfig, type CimdSecurityConfig, type CimdNetworkConfig, type CimdConfig, type CimdConfigInput, } from '../cimd';
127
+ export type { RedisConfig };
128
+ //# sourceMappingURL=shared.schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.schemas.d.ts","sourceRoot":"","sources":["../../src/options/shared.schemas.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAqB,MAAM,oCAAoC,CAAC;AAMpF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;iBAkBnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAM/E;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;iBAkBnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAM/E;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;iBAqErC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAMnF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;2BAGnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAM/E;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;iBAYnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAM/E;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;EAAwC,CAAC;AAE9E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAM1E;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAqD9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMrE;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;iBAQpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAMjF;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;iBA4BtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAMrF,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,eAAe,GACrB,MAAM,SAAS,CAAC;AAGjB,YAAY,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { z } from 'zod';
2
+ export declare const transparentAuthOptionsSchema: z.ZodObject<{
3
+ mode: z.ZodLiteral<"transparent">;
4
+ remote: z.ZodObject<{
5
+ provider: z.ZodString;
6
+ name: z.ZodOptional<z.ZodString>;
7
+ id: z.ZodOptional<z.ZodString>;
8
+ jwks: z.ZodOptional<z.ZodObject<{
9
+ keys: z.ZodArray<z.ZodType<import("..").JWK, unknown, z.core.$ZodTypeInternals<import("..").JWK, unknown>>>;
10
+ }, z.core.$strip>>;
11
+ jwksUri: z.ZodOptional<z.ZodString>;
12
+ clientId: z.ZodOptional<z.ZodString>;
13
+ clientSecret: z.ZodOptional<z.ZodString>;
14
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
15
+ dcrEnabled: z.ZodDefault<z.ZodBoolean>;
16
+ authEndpoint: z.ZodOptional<z.ZodString>;
17
+ tokenEndpoint: z.ZodOptional<z.ZodString>;
18
+ registrationEndpoint: z.ZodOptional<z.ZodString>;
19
+ userInfoEndpoint: z.ZodOptional<z.ZodString>;
20
+ }, z.core.$strip>;
21
+ expectedAudience: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
22
+ requiredScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
23
+ allowAnonymous: z.ZodDefault<z.ZodBoolean>;
24
+ anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
25
+ publicAccess: z.ZodOptional<z.ZodObject<{
26
+ tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
27
+ prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
28
+ rateLimit: z.ZodDefault<z.ZodNumber>;
29
+ }, z.core.$strip>>;
30
+ }, z.core.$strip>;
31
+ export type TransparentAuthOptions = z.infer<typeof transparentAuthOptionsSchema>;
32
+ export type TransparentAuthOptionsInput = z.input<typeof transparentAuthOptionsSchema>;
33
+ //# sourceMappingURL=transparent.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transparent.schema.d.ts","sourceRoot":"","sources":["../../src/options/transparent.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqCvC,CAAC;AAMH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=typecheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typecheck.d.ts","sourceRoot":"","sources":["../../src/options/typecheck.ts"],"names":[],"mappings":"AA2EA,OAAO,EAAE,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { AuthOptions, AuthOptionsInput } from './schema';
2
+ import { PublicAuthOptions } from './public.schema';
3
+ import { TransparentAuthOptions } from './transparent.schema';
4
+ import { OrchestratedAuthOptions, OrchestratedLocalOptions, OrchestratedRemoteOptions } from './orchestrated.schema';
5
+ /**
6
+ * Parse and validate auth options with defaults
7
+ */
8
+ export declare function parseAuthOptions(input: AuthOptionsInput): AuthOptions;
9
+ /**
10
+ * Check if options are public mode
11
+ */
12
+ export declare function isPublicMode(options: AuthOptions | AuthOptionsInput): options is PublicAuthOptions;
13
+ /**
14
+ * Check if options are transparent mode
15
+ */
16
+ export declare function isTransparentMode(options: AuthOptions | AuthOptionsInput): options is TransparentAuthOptions;
17
+ /**
18
+ * Check if options are orchestrated mode
19
+ */
20
+ export declare function isOrchestratedMode(options: AuthOptions | AuthOptionsInput): options is OrchestratedAuthOptions;
21
+ /**
22
+ * Check if orchestrated options are local type
23
+ */
24
+ export declare function isOrchestratedLocal(options: OrchestratedAuthOptions): options is OrchestratedLocalOptions;
25
+ /**
26
+ * Check if orchestrated options are remote type
27
+ */
28
+ export declare function isOrchestratedRemote(options: OrchestratedAuthOptions): options is OrchestratedRemoteOptions;
29
+ /**
30
+ * Check if options allow public/anonymous access
31
+ */
32
+ export declare function allowsPublicAccess(options: AuthOptions): boolean;
33
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/options/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAqB,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAMrH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,WAAW,CAErE;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,gBAAgB,GAAG,OAAO,IAAI,iBAAiB,CAElG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,gBAAgB,GAAG,OAAO,IAAI,sBAAsB,CAE5G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,gBAAgB,GAAG,OAAO,IAAI,uBAAuB,CAE9G;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,IAAI,wBAAwB,CAEzG;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,IAAI,yBAAyB,CAE3G;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAKhE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontmcp/auth",
3
- "version": "0.9.0",
3
+ "version": "0.11.0",
4
4
  "description": "FrontMCP Auth - Authentication, session management, and credential vault",
5
5
  "author": "AgentFront <info@agentfront.dev>",
6
6
  "homepage": "https://docs.agentfront.dev",
@@ -47,10 +47,25 @@
47
47
  "node": ">=22.0.0"
48
48
  },
49
49
  "peerDependencies": {
50
- "zod": "^4.0.0"
50
+ "zod": "^4.0.0",
51
+ "ioredis": "^5.0.0",
52
+ "@vercel/kv": "^3.0.0",
53
+ "@frontmcp/storage-sqlite": "0.11.0"
54
+ },
55
+ "peerDependenciesMeta": {
56
+ "ioredis": {
57
+ "optional": true
58
+ },
59
+ "@vercel/kv": {
60
+ "optional": true
61
+ },
62
+ "@frontmcp/storage-sqlite": {
63
+ "optional": true
64
+ }
51
65
  },
52
66
  "dependencies": {
53
- "@frontmcp/utils": "0.9.0",
67
+ "@frontmcp/utils": "0.11.0",
68
+ "@frontmcp/di": "0.11.0",
54
69
  "jose": "^6.0.0"
55
70
  },
56
71
  "devDependencies": {