@o3co/create-auth-provider 0.17.0-rc.3 → 0.17.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 (37) hide show
  1. package/package.json +3 -3
  2. package/templates/standalone/README.ja.md +5 -4
  3. package/templates/standalone/README.md +23 -4
  4. package/templates/standalone/config/clients.yaml.example +11 -5
  5. package/templates/standalone/config/reference.conf +5 -2
  6. package/templates/standalone/package.json +7 -6
  7. package/templates/standalone/src/__tests__/all-modules-composition.fixture.mts +6 -10
  8. package/templates/standalone/src/__tests__/all-modules-composition.test.mts +2 -2
  9. package/templates/standalone/src/__tests__/audit-sink.test.mts +13 -4
  10. package/templates/standalone/src/__tests__/backchannel-peer.fixture.mts +64 -0
  11. package/templates/standalone/src/__tests__/documented-env-overrides.test.mts +14 -12
  12. package/templates/standalone/src/__tests__/federation-grants-composition.test.mts +7 -4
  13. package/templates/standalone/src/__tests__/federation-grants-survive-logout.test.mts +7 -4
  14. package/templates/standalone/src/__tests__/frontchannel-logout-csp.test.mts +168 -0
  15. package/templates/standalone/src/__tests__/google-session.fixture.mts +17 -7
  16. package/templates/standalone/src/__tests__/lifecycle-pending-close.test.mts +13 -12
  17. package/templates/standalone/src/__tests__/logout-session-cookie.test.mts +113 -0
  18. package/templates/standalone/src/__tests__/own-modules.test.mts +3 -35
  19. package/templates/standalone/src/__tests__/redis-assume-noeviction.test.mts +73 -4
  20. package/templates/standalone/src/__tests__/redis-stand-in.fixture.mts +98 -0
  21. package/templates/standalone/src/__tests__/replica-safety.test.mts +7 -4
  22. package/templates/standalone/src/__tests__/repositories-logger.test.mts +119 -0
  23. package/templates/standalone/src/__tests__/sections.test.mts +15 -3
  24. package/templates/standalone/src/__tests__/session-lifecycle.test.mts +8 -10
  25. package/templates/standalone/src/__tests__/session-logout-invalidates-token.test.mts +13 -4
  26. package/templates/standalone/src/__tests__/session-logout-lifecycle.test.mts +7 -7
  27. package/templates/standalone/src/__tests__/smoke.test.mts +13 -5
  28. package/templates/standalone/src/__tests__/startup-log-lines.test.mts +24 -8
  29. package/templates/standalone/src/__tests__/store-credential.test.mts +7 -5
  30. package/templates/standalone/src/__tests__/upstream-amr.acceptance.test.mts +7 -4
  31. package/templates/standalone/src/app.mts +2 -11
  32. package/templates/standalone/src/modules.mts +9 -3
  33. package/templates/standalone/src/sections.mts +3 -2
  34. package/templates/standalone/src/securityHeaders.mts +36 -0
  35. package/templates/standalone/tests/package-lock.json +95 -95
  36. package/templates/standalone/tests/package.json +1 -1
  37. package/templates/versions.json +18 -18
@@ -240,7 +240,10 @@ export function repositoriesModuleFor(selection: RepositorySelection): Module {
240
240
  // Forwarded into the repository factories so client/user adapters can
241
241
  // register disposal callbacks (file-watch closers, say). Without it, a
242
242
  // builder's `ctx.lifecycle?.register` is a no-op and those resources leak.
243
- optional: ["lifecycleRegistrar"] as const,
243
+ // The logger is the composition's, so what a builder logs (the yaml user
244
+ // repository's `user_repository_in_memory`) goes where the template's
245
+ // logging goes, at its level, rather than to the console.
246
+ optional: ["lifecycleRegistrar", "logger"] as const,
244
247
  provides: {
245
248
  clientRepository: async ({ section, lifecycleRegistrar }) => {
246
249
  const { clientFactory } = createRepositoryFactories({ lifecycle: lifecycleRegistrar });
@@ -250,8 +253,11 @@ export function repositoriesModuleFor(selection: RepositorySelection): Module {
250
253
  path: path.resolve(process.cwd(), file.path),
251
254
  });
252
255
  },
253
- userRepository: async ({ section, lifecycleRegistrar }) => {
254
- const { userFactory } = createRepositoryFactories({ lifecycle: lifecycleRegistrar });
256
+ userRepository: async ({ section, lifecycleRegistrar, logger }) => {
257
+ const { userFactory } = createRepositoryFactories({
258
+ lifecycle: lifecycleRegistrar,
259
+ logger,
260
+ });
255
261
  registerBuiltinAdapters({ userFactory });
256
262
  return userFactory.create(
257
263
  flattenAdapterConfig({
@@ -244,13 +244,14 @@ export const keyStoreSectionSchema = z
244
244
  * `redis-clients`: the one Redis connection every Redis-backed store shares.
245
245
  * `assumeNoEviction` is the operator's assertion that the server runs
246
246
  * `maxmemory-policy noeviction`, read by the Redis stores' eviction gate only
247
- * where the server will not report its policy.
247
+ * where the server will not report its policy; the template's
248
+ * `config/reference.conf` ships it false.
248
249
  */
249
250
  export const redisClientsSectionSchema = z
250
251
  .object({
251
252
  url: z.string(),
252
253
  password: z.string().optional(),
253
- assumeNoEviction: coerceBooleanFromEnv.default(false),
254
+ assumeNoEviction: coerceBooleanFromEnv,
254
255
  })
255
256
  .strict();
256
257
 
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Copyright 2026 1o1 Co. Ltd.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ /**
18
+ * The template's security headers, on every response: helmet's defaults with
19
+ * a Content-Security-Policy that allows nothing by default and no framing. A
20
+ * route whose page needs more sets that response's own policy in place of
21
+ * this one.
22
+ */
23
+
24
+ import type { RequestHandler } from "express";
25
+ import helmet from "helmet";
26
+
27
+ export function securityHeaders(): RequestHandler {
28
+ return helmet({
29
+ contentSecurityPolicy: {
30
+ directives: {
31
+ defaultSrc: ["'none'"],
32
+ frameAncestors: ["'none'"],
33
+ },
34
+ },
35
+ });
36
+ }
@@ -12,7 +12,7 @@
12
12
  "jsonwebtoken": "^9.0.3"
13
13
  },
14
14
  "devDependencies": {
15
- "vitest": "^5.0.2"
15
+ "vitest": "^5.0.3"
16
16
  }
17
17
  },
18
18
  "node_modules/@jridgewell/resolve-uri": {
@@ -44,9 +44,9 @@
44
44
  }
45
45
  },
46
46
  "node_modules/@oxc-project/types": {
47
- "version": "0.151.0",
48
- "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.151.0.tgz",
49
- "integrity": "sha512-J1yXrIlNDZVzE3ada310xeAw7nH8yCAyLPuUIsjKatFPmfn5bS1oW+cM+QsGOtVWd5nhSpbwZWx/rue+r5Z+PA==",
47
+ "version": "0.152.0",
48
+ "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.152.0.tgz",
49
+ "integrity": "sha512-oM/5rLBm2tPkg0iBgkH/FOeR3PCDpY19GTgAZjMFM8h9WI9VW7cLgzp6nwtarYKmovavIQZ+Fe/RKX/8C8O/Rw==",
50
50
  "dev": true,
51
51
  "license": "MIT",
52
52
  "peer": true,
@@ -55,9 +55,9 @@
55
55
  }
56
56
  },
57
57
  "node_modules/@rolldown/binding-android-arm-eabi": {
58
- "version": "1.2.11",
59
- "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.11.tgz",
60
- "integrity": "sha512-A5kXfGKvKWWZE0TtPrfsvT+q4Y5d1QG8gGUzpYjGydM+fARM9MuX90PrXYXe0XbsDVgyxxNzHo6giCj90bsFNw==",
58
+ "version": "1.2.12",
59
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.12.tgz",
60
+ "integrity": "sha512-dB/a1214qKfHMXCpgqR4OZT+jS4kTyEXbQGJPqzobt5EwH5rX080pxE37alt3RzvR1bf1Yz/yGqRfrYAxuPw0A==",
61
61
  "cpu": [
62
62
  "arm"
63
63
  ],
@@ -73,9 +73,9 @@
73
73
  }
74
74
  },
75
75
  "node_modules/@rolldown/binding-android-arm64": {
76
- "version": "1.2.11",
77
- "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.11.tgz",
78
- "integrity": "sha512-z6cTycz+iJ4PVkuL4HHW4DfTfoeU/2nqYYuSOrTmH7yHK5Y0LCOnA03V4ZNxavyVaU1oOqUgIg2klN/s+USGOA==",
76
+ "version": "1.2.12",
77
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.12.tgz",
78
+ "integrity": "sha512-7KHFgQ5VJxIHcLlrwrc3Xbds7oTNQT7Pgi9gQCJKrd2VGab/UksIOYp6VD8MzCstGxOKMgNamPwUCfxPdP1OHg==",
79
79
  "cpu": [
80
80
  "arm64"
81
81
  ],
@@ -91,9 +91,9 @@
91
91
  }
92
92
  },
93
93
  "node_modules/@rolldown/binding-darwin-arm64": {
94
- "version": "1.2.11",
95
- "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.11.tgz",
96
- "integrity": "sha512-jShvqNtP6vDC6/A5JOAzbVV+DkgHqhl/ScVCJEbt+TUY6QYz7YnXcrg3sLtFBniro0f/Ld50ZwCWA6f7KYD1nQ==",
94
+ "version": "1.2.12",
95
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.12.tgz",
96
+ "integrity": "sha512-3YIhqHD96nA5SaYNRBR16HnGv4oavZvXfD/ayHM+oYZ0WD/8lBAtf6zQua4kEyAvpqrluKXl0lnOBoiNby7x9w==",
97
97
  "cpu": [
98
98
  "arm64"
99
99
  ],
@@ -109,9 +109,9 @@
109
109
  }
110
110
  },
111
111
  "node_modules/@rolldown/binding-darwin-x64": {
112
- "version": "1.2.11",
113
- "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.11.tgz",
114
- "integrity": "sha512-f2i2xiNWq1Z1l2++q2fuhZRdLAT3aqxD6vRNm1RAxpUoBcdqNB3C0s1Bt+K+PbEx2F5F4gQp6hqKkphCY/xF9w==",
112
+ "version": "1.2.12",
113
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.12.tgz",
114
+ "integrity": "sha512-UuuJ35MFw4gmFOrE9pEqIV+K3syIKveph+Qc1/ljHZVdoDW4pz/JHR/eMVom+TZGl/5OOvGJOWaOCVt3ZfqhxA==",
115
115
  "cpu": [
116
116
  "x64"
117
117
  ],
@@ -127,9 +127,9 @@
127
127
  }
128
128
  },
129
129
  "node_modules/@rolldown/binding-freebsd-x64": {
130
- "version": "1.2.11",
131
- "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.11.tgz",
132
- "integrity": "sha512-4Ir5FSOKIAMr4r0kExpt1s3bMgzJU3rA45AYOHtQpls0oNeqcYBKrWMlckrYH4KCfGLfkfn1tN1dmZPMVsdXow==",
130
+ "version": "1.2.12",
131
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.12.tgz",
132
+ "integrity": "sha512-uMvssit0a4W+/7D8CbHUvG719mH3R2jwXAlh/XcPvuHTE0g++LymF88DCGNX0HM2rBOn0xrzgXktIB6fLSJBTQ==",
133
133
  "cpu": [
134
134
  "x64"
135
135
  ],
@@ -145,9 +145,9 @@
145
145
  }
146
146
  },
147
147
  "node_modules/@rolldown/binding-linux-arm-gnueabihf": {
148
- "version": "1.2.11",
149
- "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.11.tgz",
150
- "integrity": "sha512-/gnRDM+39BROzAN/k1OZjDPnDMcZxB/0EUxKjONO5yVkNEvlsoMDrxGNKgZi/ttFriS2gwlDNzB65pvNbFOXIQ==",
148
+ "version": "1.2.12",
149
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.12.tgz",
150
+ "integrity": "sha512-XcFu0R0xWnwzSf4IQgFH1rJIckPN1pLy2R+4r9IDB7Yfu/ys9cVqfa4pBrMHj7a3gl8mIR4nRNPg0e5IvEVs6g==",
151
151
  "cpu": [
152
152
  "arm"
153
153
  ],
@@ -163,9 +163,9 @@
163
163
  }
164
164
  },
165
165
  "node_modules/@rolldown/binding-linux-arm64-gnu": {
166
- "version": "1.2.11",
167
- "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.11.tgz",
168
- "integrity": "sha512-PFaK8HwvAHbaKbBcDNQihjMKYvFnA5hiENx/l5tphTDz1E0WFp32l0A7aq7lyUwGsRw/xSrNIy/gIK4thrSCrw==",
166
+ "version": "1.2.12",
167
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.12.tgz",
168
+ "integrity": "sha512-260UrKgn8tz39ak+SMDOirKzr7V04M9dWPw5llW00SwBivCZoWcRBKV1d8cXnRkUmSZA3BdiUmBHWk7734Ulpw==",
169
169
  "cpu": [
170
170
  "arm64"
171
171
  ],
@@ -184,9 +184,9 @@
184
184
  }
185
185
  },
186
186
  "node_modules/@rolldown/binding-linux-arm64-musl": {
187
- "version": "1.2.11",
188
- "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.11.tgz",
189
- "integrity": "sha512-AskzJUIKRLPxkruR1wLKewGbOw+EYfU/9lOrBFj4AFrEA8hPpKFnODWNu2WLaNs0QNkEb9QIJufmVZZIL/bJlg==",
187
+ "version": "1.2.12",
188
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.12.tgz",
189
+ "integrity": "sha512-5YK1I9SqDkbPgc1IA8BgDl34suqUS2q0KWnBrirm0E51YjOs6eo6dV6jbQfNE/argHRSvd0QUGgtpIoYx+WWpw==",
190
190
  "cpu": [
191
191
  "arm64"
192
192
  ],
@@ -205,9 +205,9 @@
205
205
  }
206
206
  },
207
207
  "node_modules/@rolldown/binding-linux-ppc64-gnu": {
208
- "version": "1.2.11",
209
- "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.11.tgz",
210
- "integrity": "sha512-qlUGAheh2yh8afH7QBgx0PrRHN85hKnNd78x8MeMhXivuevgd8vgf6/CstOzmNKY/lLTHvNTrPy98cLnAugzJw==",
208
+ "version": "1.2.12",
209
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.12.tgz",
210
+ "integrity": "sha512-Rkcrmp7eFRg74yL5fXEU91JEWbdEPLevWwGtXpmhbjlD1StScbWTmO94Bhly+Mo+ketKYkdmM1vNUKeWSlx8cQ==",
211
211
  "cpu": [
212
212
  "ppc64"
213
213
  ],
@@ -226,9 +226,9 @@
226
226
  }
227
227
  },
228
228
  "node_modules/@rolldown/binding-linux-s390x-gnu": {
229
- "version": "1.2.11",
230
- "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.11.tgz",
231
- "integrity": "sha512-secpEad+0vCbSfn8upFySkDskv+bGPk3THSDS9Y89yc4rb4kzqHp8Dmyd9BkQW4SnhNXBZCl/6CrO//hZahNJQ==",
229
+ "version": "1.2.12",
230
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.12.tgz",
231
+ "integrity": "sha512-qvK4DuAsQc2BSjlx+Xr+IzOIvvxbGZqxFwdWfG6F518Erj0GGISyQbJ6pIappnOxlNPzNHvo/L0BwB30GZ+zVw==",
232
232
  "cpu": [
233
233
  "s390x"
234
234
  ],
@@ -247,9 +247,9 @@
247
247
  }
248
248
  },
249
249
  "node_modules/@rolldown/binding-linux-x64-gnu": {
250
- "version": "1.2.11",
251
- "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.11.tgz",
252
- "integrity": "sha512-mOVBT3dPpkWm8XBWPmU4bf+U6dYDLeMo/9ojUmis4N0L5uu10qra5vOyngZ7/PSdoE4G9KvRt4bloRxNjLas7A==",
250
+ "version": "1.2.12",
251
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.12.tgz",
252
+ "integrity": "sha512-Q9uLBO53Xd4QIq1WOycVQyPP1O4HhraEV2qqb3uTrnVw6QZih9duY4vNXOivL1xoUS1/z+W8eF4NMfl2a8Sdjw==",
253
253
  "cpu": [
254
254
  "x64"
255
255
  ],
@@ -268,9 +268,9 @@
268
268
  }
269
269
  },
270
270
  "node_modules/@rolldown/binding-linux-x64-musl": {
271
- "version": "1.2.11",
272
- "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.11.tgz",
273
- "integrity": "sha512-Is78i9A8Ui4SqcxUwFJ9uMmjDn58IbVTjFWYdQestFEgeuEmHMLGNriXnVJKkwG2YiZjw8cP0zCTyDMdDGtOOg==",
271
+ "version": "1.2.12",
272
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.12.tgz",
273
+ "integrity": "sha512-3IBxWFMjbOZskDPKv8Lf9BCnahlKuHthWkYnyIxOH/QcJrFcS4EmcenthApkwr/5+nEqZlLzeYbxeMaX7A5u4g==",
274
274
  "cpu": [
275
275
  "x64"
276
276
  ],
@@ -289,9 +289,9 @@
289
289
  }
290
290
  },
291
291
  "node_modules/@rolldown/binding-openharmony-arm64": {
292
- "version": "1.2.11",
293
- "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.11.tgz",
294
- "integrity": "sha512-dUCXneZ87INUMyQ0D+C0HrEBNUPNXHaPmU5GTjyKTJEiussw9Kaj5Ln8UztPe4epV/ffvgNBEadksdYhmW6xJA==",
292
+ "version": "1.2.12",
293
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.12.tgz",
294
+ "integrity": "sha512-xtX61xg4LKPkPWilZU1ynKClz5Gj4bf74LML4r3eVLWumKnGjoEr1OSHQhMdbBDoYTi+yjrujvpZe2pUnqCrrA==",
295
295
  "cpu": [
296
296
  "arm64"
297
297
  ],
@@ -307,9 +307,9 @@
307
307
  }
308
308
  },
309
309
  "node_modules/@rolldown/binding-win32-arm64-msvc": {
310
- "version": "1.2.11",
311
- "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.11.tgz",
312
- "integrity": "sha512-jByxb6qfd+bH1xUd0qnfFnb17i9sWBPY2tOavJ0l3tdr3OTu+Kvtm8cd/JV5nFt657b1VqGltxg9olOEfofXWw==",
310
+ "version": "1.2.12",
311
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.12.tgz",
312
+ "integrity": "sha512-At7fPB6PCaIjzgIhEZFxuT+BBFqiQibJDT4d3PhiR3f4E7bbMZF4aKblbFfEM3sETRDd1YiQx/+U/g/B/ou5Ew==",
313
313
  "cpu": [
314
314
  "arm64"
315
315
  ],
@@ -325,9 +325,9 @@
325
325
  }
326
326
  },
327
327
  "node_modules/@rolldown/binding-win32-x64-msvc": {
328
- "version": "1.2.11",
329
- "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.11.tgz",
330
- "integrity": "sha512-/PzKqzAJ03i19oy2ItPvyvaVjOjBCNnfaJs8yvUdGBKmiESgnrJSQ2awd81QzFbbnAmu7YO9ZnJrDCb9VSJPRA==",
328
+ "version": "1.2.12",
329
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.12.tgz",
330
+ "integrity": "sha512-WIw2haVKwjuYdXkHaoC0mF8Le71TuCBxjrdKqLbJGctbBABj+ClfmNvtbOnzpq3RokNo5+V1qhtSzJyXorsklQ==",
331
331
  "cpu": [
332
332
  "x64"
333
333
  ],
@@ -376,14 +376,14 @@
376
376
  "license": "MIT"
377
377
  },
378
378
  "node_modules/@vitest/mocker": {
379
- "version": "5.0.2",
380
- "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-5.0.2.tgz",
381
- "integrity": "sha512-Z5FS00Q1SJHkB35xATsmWGdQ5WA1/0MV3CDjqyv7GavHv1OfOj145MNfHOlHk7QLes21dKFDHr8EO2zvL+9WGA==",
379
+ "version": "5.0.3",
380
+ "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-5.0.3.tgz",
381
+ "integrity": "sha512-T8sWAIbkSyAjkwTcaEc3Iu0o9A27X1/kdXrizhZkGuSKScRQtRzclfAMpOTcGdXCsqxeWlpGy3XjqaW8CpLORg==",
382
382
  "dev": true,
383
383
  "license": "MIT",
384
384
  "dependencies": {
385
385
  "@jridgewell/trace-mapping": "0.3.31",
386
- "@vitest/spy": "5.0.2",
386
+ "@vitest/spy": "5.0.3",
387
387
  "estree-walker": "^3.0.3",
388
388
  "magic-string": "^1.2.3"
389
389
  },
@@ -404,9 +404,9 @@
404
404
  }
405
405
  },
406
406
  "node_modules/@vitest/spy": {
407
- "version": "5.0.2",
408
- "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-5.0.2.tgz",
409
- "integrity": "sha512-Ijc7T1nT9efNb5LxvjaBrEqw3f/QwUv5EE0nKqZxgqsaV/FxAAZ8baGylA8X/Z2oS4Lp+K74Jr6dTJsDKxJDeg==",
407
+ "version": "5.0.3",
408
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-5.0.3.tgz",
409
+ "integrity": "sha512-XhFysQTB8AZ+P4gMi+Lpo99vg2AZi0qKpaB9yXQl37+CaMEAPO3iH/wGVnSyL5MPERiLezpqTVtrR6UZH5GCXg==",
410
410
  "dev": true,
411
411
  "license": "MIT",
412
412
  "funding": {
@@ -1317,14 +1317,14 @@
1317
1317
  }
1318
1318
  },
1319
1319
  "node_modules/rolldown": {
1320
- "version": "1.2.11",
1321
- "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.11.tgz",
1322
- "integrity": "sha512-qpSwIyz0jHQq5qXBTNxFmE6664rJ7O+4TvPFOiOaBSrz8IOHc1koKKSqTM2H6u1UG1+TveuC6vaDHKXFOvb1Kw==",
1320
+ "version": "1.2.12",
1321
+ "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.12.tgz",
1322
+ "integrity": "sha512-8wafseiaG80xmXSfqidUNqZcylTlhmPZZt+za2m+js2sFZ8dTNlhIOV2WcbIPx2hgwPBJpEUGFAMZ9bgBBLTSQ==",
1323
1323
  "dev": true,
1324
1324
  "license": "MIT",
1325
1325
  "peer": true,
1326
1326
  "dependencies": {
1327
- "@oxc-project/types": "=0.151.0",
1327
+ "@oxc-project/types": "=0.152.0",
1328
1328
  "@rolldown/pluginutils": "^1.0.0"
1329
1329
  },
1330
1330
  "bin": {
@@ -1334,21 +1334,21 @@
1334
1334
  "node": "^20.19.0 || >=22.12.0"
1335
1335
  },
1336
1336
  "optionalDependencies": {
1337
- "@rolldown/binding-android-arm-eabi": "1.2.11",
1338
- "@rolldown/binding-android-arm64": "1.2.11",
1339
- "@rolldown/binding-darwin-arm64": "1.2.11",
1340
- "@rolldown/binding-darwin-x64": "1.2.11",
1341
- "@rolldown/binding-freebsd-x64": "1.2.11",
1342
- "@rolldown/binding-linux-arm-gnueabihf": "1.2.11",
1343
- "@rolldown/binding-linux-arm64-gnu": "1.2.11",
1344
- "@rolldown/binding-linux-arm64-musl": "1.2.11",
1345
- "@rolldown/binding-linux-ppc64-gnu": "1.2.11",
1346
- "@rolldown/binding-linux-s390x-gnu": "1.2.11",
1347
- "@rolldown/binding-linux-x64-gnu": "1.2.11",
1348
- "@rolldown/binding-linux-x64-musl": "1.2.11",
1349
- "@rolldown/binding-openharmony-arm64": "1.2.11",
1350
- "@rolldown/binding-win32-arm64-msvc": "1.2.11",
1351
- "@rolldown/binding-win32-x64-msvc": "1.2.11"
1337
+ "@rolldown/binding-android-arm-eabi": "1.2.12",
1338
+ "@rolldown/binding-android-arm64": "1.2.12",
1339
+ "@rolldown/binding-darwin-arm64": "1.2.12",
1340
+ "@rolldown/binding-darwin-x64": "1.2.12",
1341
+ "@rolldown/binding-freebsd-x64": "1.2.12",
1342
+ "@rolldown/binding-linux-arm-gnueabihf": "1.2.12",
1343
+ "@rolldown/binding-linux-arm64-gnu": "1.2.12",
1344
+ "@rolldown/binding-linux-arm64-musl": "1.2.12",
1345
+ "@rolldown/binding-linux-ppc64-gnu": "1.2.12",
1346
+ "@rolldown/binding-linux-s390x-gnu": "1.2.12",
1347
+ "@rolldown/binding-linux-x64-gnu": "1.2.12",
1348
+ "@rolldown/binding-linux-x64-musl": "1.2.12",
1349
+ "@rolldown/binding-openharmony-arm64": "1.2.12",
1350
+ "@rolldown/binding-win32-arm64-msvc": "1.2.12",
1351
+ "@rolldown/binding-win32-x64-msvc": "1.2.12"
1352
1352
  }
1353
1353
  },
1354
1354
  "node_modules/safe-buffer": {
@@ -1384,9 +1384,9 @@
1384
1384
  }
1385
1385
  },
1386
1386
  "node_modules/source-map-js": {
1387
- "version": "1.2.1",
1388
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
1389
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
1387
+ "version": "1.2.2",
1388
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz",
1389
+ "integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==",
1390
1390
  "dev": true,
1391
1391
  "license": "BSD-3-Clause",
1392
1392
  "peer": true,
@@ -1439,9 +1439,9 @@
1439
1439
  }
1440
1440
  },
1441
1441
  "node_modules/vite": {
1442
- "version": "8.3.1",
1443
- "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.1.tgz",
1444
- "integrity": "sha512-/bvH9E9tmCXRGp2uXY3WbOldqpTwFkbha/8ANaEQ6VkxhH60KyqLwgZq6lG2y+4uT55x9+9eUHMpQ7uGnOCKjA==",
1442
+ "version": "8.3.2",
1443
+ "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.2.tgz",
1444
+ "integrity": "sha512-SQr1x6W5vVSbROg7vsyXIaxK9b0G7zsT68acdWWRmnBUsgDieLCRG+Rep9WdZgcposvv/GSnr4GUUBqB3vXq6w==",
1445
1445
  "dev": true,
1446
1446
  "license": "MIT",
1447
1447
  "peer": true,
@@ -1449,7 +1449,7 @@
1449
1449
  "lightningcss": "^1.33.0",
1450
1450
  "picomatch": "^4.0.7",
1451
1451
  "postcss": "^8.5.28",
1452
- "rolldown": "~1.2.9",
1452
+ "rolldown": "~1.2.11",
1453
1453
  "tinyglobby": "^0.2.17"
1454
1454
  },
1455
1455
  "bin": {
@@ -1518,14 +1518,14 @@
1518
1518
  }
1519
1519
  },
1520
1520
  "node_modules/vitest": {
1521
- "version": "5.0.2",
1522
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-5.0.2.tgz",
1523
- "integrity": "sha512-7MQrx9pDv5aHiUcovIb/70Ys3tgtkUVgCtledvKdCmEO+/1Dicq5ZqoSxOW034m03oqC+oHOKui2dM6qtMLoJg==",
1521
+ "version": "5.0.3",
1522
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-5.0.3.tgz",
1523
+ "integrity": "sha512-xMw97S3rjdtj5dkVat7jCsqWBpvchs3RlpQctUqwJD0KkERk40vz2fJ77lDwW/Vzh/pk18eItYAzkodhSes3jQ==",
1524
1524
  "dev": true,
1525
1525
  "license": "MIT",
1526
1526
  "dependencies": {
1527
1527
  "@types/chai": "^5.2.2",
1528
- "@vitest/mocker": "5.0.2",
1528
+ "@vitest/mocker": "5.0.3",
1529
1529
  "chai": "^6.2.2",
1530
1530
  "es-module-lexer": "^2.3.2",
1531
1531
  "expect-type": "^1.4.0",
@@ -1536,7 +1536,7 @@
1536
1536
  "tinybench": "^6.1.4",
1537
1537
  "tinyexec": "^1.3.0",
1538
1538
  "tinyglobby": "^0.2.17",
1539
- "why-is-node-running": "^3.2.1"
1539
+ "why-is-node-running": "3.2.1"
1540
1540
  },
1541
1541
  "bin": {
1542
1542
  "vitest": "vitest.mjs"
@@ -1551,12 +1551,12 @@
1551
1551
  "@edge-runtime/vm": "*",
1552
1552
  "@opentelemetry/api": "^1.9.0",
1553
1553
  "@types/node": "^22.0.0 || >=24.0.0",
1554
- "@vitest/browser-playwright": "5.0.2",
1555
- "@vitest/browser-preview": "5.0.2",
1554
+ "@vitest/browser-playwright": "5.0.3",
1555
+ "@vitest/browser-preview": "5.0.3",
1556
1556
  "@vitest/browser-webdriverio": "^5.0.0-beta.5 || >=5.0.0",
1557
- "@vitest/coverage-istanbul": "5.0.2",
1558
- "@vitest/coverage-v8": "5.0.2",
1559
- "@vitest/ui": "5.0.2",
1557
+ "@vitest/coverage-istanbul": "5.0.3",
1558
+ "@vitest/coverage-v8": "5.0.3",
1559
+ "@vitest/ui": "5.0.3",
1560
1560
  "happy-dom": "*",
1561
1561
  "jsdom": "*",
1562
1562
  "vite": "^6.4.0 || ^7.0.0 || ^8.0.0"
@@ -1601,9 +1601,9 @@
1601
1601
  }
1602
1602
  },
1603
1603
  "node_modules/why-is-node-running": {
1604
- "version": "3.2.2",
1605
- "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-3.2.2.tgz",
1606
- "integrity": "sha512-NKUzAelcoCXhXL4dJzKIwXeR8iEVqsA0Lq6Vnd0UXvgaKbzVo4ZTHROF2Jidrv+SgxOQ03fMinnNhzZATxOD3A==",
1604
+ "version": "3.2.1",
1605
+ "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-3.2.1.tgz",
1606
+ "integrity": "sha512-Tb2FUhB4vUsGQlfSquQLYkApkuPAFQXGFzxWKHHumVz2dK+X1RUm/HnID4+TfIGYJ1kTcwOaCk/buYCEJr6YjQ==",
1607
1607
  "dev": true,
1608
1608
  "license": "MIT",
1609
1609
  "bin": {
@@ -11,6 +11,6 @@
11
11
  "jsonwebtoken": "^9.0.3"
12
12
  },
13
13
  "devDependencies": {
14
- "vitest": "^5.0.2"
14
+ "vitest": "^5.0.3"
15
15
  }
16
16
  }
@@ -1,20 +1,20 @@
1
1
  {
2
- "@o3co/auth-provider-core": "0.17.0-rc.3",
3
- "@o3co/auth-provider-device-grant": "0.17.0-rc.3",
4
- "@o3co/auth-provider-dpop": "0.17.0-rc.3",
5
- "@o3co/auth-provider-mtls": "0.17.0-rc.3",
6
- "@o3co/auth-provider-federation-apple": "0.17.0-rc.3",
7
- "@o3co/auth-provider-federation-google": "0.17.0-rc.3",
8
- "@o3co/auth-provider-federation-github": "0.17.0-rc.3",
9
- "@o3co/auth-provider-federation-grants": "0.17.0-rc.3",
10
- "@o3co/auth-provider-federation-oidc": "0.17.0-rc.3",
11
- "@o3co/auth-provider-oauth": "0.17.0-rc.3",
12
- "@o3co/auth-provider-oauth-token-exchange": "0.17.0-rc.3",
13
- "@o3co/auth-provider-session": "0.17.0-rc.3",
14
- "@o3co/auth-provider-foundation": "0.17.0-rc.3",
15
- "@o3co/auth-provider-mfa": "0.17.0-rc.3",
16
- "@o3co/auth-provider-redis": "0.17.0-rc.3",
17
- "@o3co/auth-provider-standard": "0.17.0-rc.3",
18
- "@o3co/auth-provider-test-kit": "0.17.0-rc.3",
19
- "@o3co/auth-provider-webauthn": "0.17.0-rc.3"
2
+ "@o3co/auth-provider-core": "0.17.0",
3
+ "@o3co/auth-provider-device-grant": "0.17.0",
4
+ "@o3co/auth-provider-dpop": "0.17.0",
5
+ "@o3co/auth-provider-mtls": "0.17.0",
6
+ "@o3co/auth-provider-federation-apple": "0.17.0",
7
+ "@o3co/auth-provider-federation-google": "0.17.0",
8
+ "@o3co/auth-provider-federation-github": "0.17.0",
9
+ "@o3co/auth-provider-federation-grants": "0.17.0",
10
+ "@o3co/auth-provider-federation-oidc": "0.17.0",
11
+ "@o3co/auth-provider-oauth": "0.17.0",
12
+ "@o3co/auth-provider-oauth-token-exchange": "0.17.0",
13
+ "@o3co/auth-provider-session": "0.17.0",
14
+ "@o3co/auth-provider-foundation": "0.17.0",
15
+ "@o3co/auth-provider-mfa": "0.17.0",
16
+ "@o3co/auth-provider-redis": "0.17.0",
17
+ "@o3co/auth-provider-standard": "0.17.0",
18
+ "@o3co/auth-provider-test-kit": "0.17.0",
19
+ "@o3co/auth-provider-webauthn": "0.17.0"
20
20
  }