@scalar/oas-utils 0.2.68 → 0.2.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/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @scalar/oas-utils
2
2
 
3
+ ## 0.2.70
4
+
5
+ ### Patch Changes
6
+
7
+ - c3e76d9: fix: handle scopes as an array
8
+ - Updated dependencies [a607115]
9
+ - @scalar/openapi-types@0.1.5
10
+ - @scalar/types@0.0.19
11
+ - @scalar/themes@0.9.46
12
+
13
+ ## 0.2.69
14
+
15
+ ### Patch Changes
16
+
17
+ - 8c5d767: feat: add support for PKCE auth code flow
18
+ - 359ee2d: fix: updates path regex
19
+
3
20
  ## 0.2.68
4
21
 
5
22
  ### Patch Changes
@@ -4,4 +4,4 @@ export { oasRequestSchema, requestMethods, requestSchema } from './requests.js';
4
4
  export { createExampleFromRequest, createParamInstance, exampleRequestBodyEncoding, exampleRequestBodySchema, requestExampleParametersSchema, requestExampleSchema } from './request-examples.js';
5
5
  export { oasContactSchema, oasExternalDocumentationSchema, oasInfoSchema, oasLicenseSchema, oasTagSchema, tagSchema, xScalarNestedSchema } from './spec-objects.js';
6
6
  export { oasParameterSchema, parameterStyleSchema, parameterTypeSchema } from './parameters.js';
7
- export { authExampleFromSchema, oasOauthFlowSchema, oasSecurityRequirementSchema, oasSecuritySchemeSchema, securityApiKeySchema, securityHttpSchema, securityOauthSchema, securityOpenIdSchema, securitySchemeApiKeyIn, securitySchemeExampleValueSchema, securitySchemeSchema } from './security.js';
7
+ export { authExampleFromSchema, oasOauthFlowSchema, oasSecurityRequirementSchema, oasSecuritySchemeSchema, pkceOptions, securityApiKeySchema, securityHttpSchema, securityOauthSchema, securityOpenIdSchema, securitySchemeApiKeyIn, securitySchemeExampleValueSchema, securitySchemeSchema } from './security.js';
@@ -184,6 +184,8 @@ export declare const securityOpenIdSchema: z.ZodObject<z.objectUtil.extendShape<
184
184
  openIdConnectUrl?: string | undefined;
185
185
  }>;
186
186
  export type SecuritySchemaOpenId = z.infer<typeof securityOpenIdSchema>;
187
+ /** Options for the x-usePkce extension */
188
+ export declare const pkceOptions: readonly ["SHA-256", "plain", "no"];
187
189
  export declare const oasOauthFlowSchema: z.ZodDefault<z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<z.objectUtil.extendShape<{
188
190
  /**
189
191
  * The URL to be used for obtaining refresh tokens. This MUST be in the form of a
@@ -283,6 +285,12 @@ export declare const oasOauthFlowSchema: z.ZodDefault<z.ZodOptional<z.ZodDiscrim
283
285
  }, {
284
286
  type: z.ZodLiteral<"authorizationCode">;
285
287
  authorizationUrl: z.ZodDefault<z.ZodString>;
288
+ /**
289
+ * Whether to use PKCE for the authorization code flow.
290
+ *
291
+ * TODO: add docs
292
+ */
293
+ 'x-usePkce': z.ZodDefault<z.ZodOptional<z.ZodEnum<["SHA-256", "plain", "no"]>>>;
286
294
  'x-scalar-redirect-uri': z.ZodDefault<z.ZodOptional<z.ZodString>>;
287
295
  tokenUrl: z.ZodDefault<z.ZodString>;
288
296
  }>, "strip", z.ZodTypeAny, {
@@ -293,6 +301,7 @@ export declare const oasOauthFlowSchema: z.ZodDefault<z.ZodOptional<z.ZodDiscrim
293
301
  authorizationUrl: string;
294
302
  'x-scalar-redirect-uri': string;
295
303
  tokenUrl: string;
304
+ 'x-usePkce': "SHA-256" | "plain" | "no";
296
305
  }, {
297
306
  type: "authorizationCode";
298
307
  refreshUrl?: string | undefined;
@@ -301,6 +310,7 @@ export declare const oasOauthFlowSchema: z.ZodDefault<z.ZodOptional<z.ZodDiscrim
301
310
  authorizationUrl?: string | undefined;
302
311
  'x-scalar-redirect-uri'?: string | undefined;
303
312
  tokenUrl?: string | undefined;
313
+ 'x-usePkce'?: "SHA-256" | "plain" | "no" | undefined;
304
314
  }>]>>>;
305
315
  export declare const securityOauthSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<{
306
316
  description: z.ZodOptional<z.ZodString>;
@@ -406,6 +416,12 @@ export declare const securityOauthSchema: z.ZodObject<z.objectUtil.extendShape<z
406
416
  }, {
407
417
  type: z.ZodLiteral<"authorizationCode">;
408
418
  authorizationUrl: z.ZodDefault<z.ZodString>;
419
+ /**
420
+ * Whether to use PKCE for the authorization code flow.
421
+ *
422
+ * TODO: add docs
423
+ */
424
+ 'x-usePkce': z.ZodDefault<z.ZodOptional<z.ZodEnum<["SHA-256", "plain", "no"]>>>;
409
425
  'x-scalar-redirect-uri': z.ZodDefault<z.ZodOptional<z.ZodString>>;
410
426
  tokenUrl: z.ZodDefault<z.ZodString>;
411
427
  }>, "strip", z.ZodTypeAny, {
@@ -416,6 +432,7 @@ export declare const securityOauthSchema: z.ZodObject<z.objectUtil.extendShape<z
416
432
  authorizationUrl: string;
417
433
  'x-scalar-redirect-uri': string;
418
434
  tokenUrl: string;
435
+ 'x-usePkce': "SHA-256" | "plain" | "no";
419
436
  }, {
420
437
  type: "authorizationCode";
421
438
  refreshUrl?: string | undefined;
@@ -424,6 +441,7 @@ export declare const securityOauthSchema: z.ZodObject<z.objectUtil.extendShape<z
424
441
  authorizationUrl?: string | undefined;
425
442
  'x-scalar-redirect-uri'?: string | undefined;
426
443
  tokenUrl?: string | undefined;
444
+ 'x-usePkce'?: "SHA-256" | "plain" | "no" | undefined;
427
445
  }>]>>>;
428
446
  /** Extension to save the client Id associated with an oauth flow */
429
447
  'x-scalar-client-id': z.ZodDefault<z.ZodOptional<z.ZodString>>;
@@ -462,6 +480,7 @@ export declare const securityOauthSchema: z.ZodObject<z.objectUtil.extendShape<z
462
480
  authorizationUrl: string;
463
481
  'x-scalar-redirect-uri': string;
464
482
  tokenUrl: string;
483
+ 'x-usePkce': "SHA-256" | "plain" | "no";
465
484
  };
466
485
  'x-scalar-client-id': string;
467
486
  description?: string | undefined;
@@ -497,6 +516,7 @@ export declare const securityOauthSchema: z.ZodObject<z.objectUtil.extendShape<z
497
516
  authorizationUrl?: string | undefined;
498
517
  'x-scalar-redirect-uri'?: string | undefined;
499
518
  tokenUrl?: string | undefined;
519
+ 'x-usePkce'?: "SHA-256" | "plain" | "no" | undefined;
500
520
  } | undefined;
501
521
  'x-scalar-client-id'?: string | undefined;
502
522
  }>;
@@ -660,6 +680,12 @@ export declare const oasSecuritySchemeSchema: z.ZodUnion<[z.ZodObject<z.objectUt
660
680
  }, {
661
681
  type: z.ZodLiteral<"authorizationCode">;
662
682
  authorizationUrl: z.ZodDefault<z.ZodString>;
683
+ /**
684
+ * Whether to use PKCE for the authorization code flow.
685
+ *
686
+ * TODO: add docs
687
+ */
688
+ 'x-usePkce': z.ZodDefault<z.ZodOptional<z.ZodEnum<["SHA-256", "plain", "no"]>>>;
663
689
  'x-scalar-redirect-uri': z.ZodDefault<z.ZodOptional<z.ZodString>>;
664
690
  tokenUrl: z.ZodDefault<z.ZodString>;
665
691
  }>, "strip", z.ZodTypeAny, {
@@ -670,6 +696,7 @@ export declare const oasSecuritySchemeSchema: z.ZodUnion<[z.ZodObject<z.objectUt
670
696
  authorizationUrl: string;
671
697
  'x-scalar-redirect-uri': string;
672
698
  tokenUrl: string;
699
+ 'x-usePkce': "SHA-256" | "plain" | "no";
673
700
  }, {
674
701
  type: "authorizationCode";
675
702
  refreshUrl?: string | undefined;
@@ -678,6 +705,7 @@ export declare const oasSecuritySchemeSchema: z.ZodUnion<[z.ZodObject<z.objectUt
678
705
  authorizationUrl?: string | undefined;
679
706
  'x-scalar-redirect-uri'?: string | undefined;
680
707
  tokenUrl?: string | undefined;
708
+ 'x-usePkce'?: "SHA-256" | "plain" | "no" | undefined;
681
709
  }>]>>>;
682
710
  /** Extension to save the client Id associated with an oauth flow */
683
711
  'x-scalar-client-id': z.ZodDefault<z.ZodOptional<z.ZodString>>;
@@ -710,6 +738,7 @@ export declare const oasSecuritySchemeSchema: z.ZodUnion<[z.ZodObject<z.objectUt
710
738
  authorizationUrl: string;
711
739
  'x-scalar-redirect-uri': string;
712
740
  tokenUrl: string;
741
+ 'x-usePkce': "SHA-256" | "plain" | "no";
713
742
  };
714
743
  'x-scalar-client-id': string;
715
744
  description?: string | undefined;
@@ -743,6 +772,7 @@ export declare const oasSecuritySchemeSchema: z.ZodUnion<[z.ZodObject<z.objectUt
743
772
  authorizationUrl?: string | undefined;
744
773
  'x-scalar-redirect-uri'?: string | undefined;
745
774
  tokenUrl?: string | undefined;
775
+ 'x-usePkce'?: "SHA-256" | "plain" | "no" | undefined;
746
776
  } | undefined;
747
777
  'x-scalar-client-id'?: string | undefined;
748
778
  }>, z.ZodObject<z.objectUtil.extendShape<{
@@ -952,6 +982,12 @@ export declare const securitySchemeSchema: z.ZodUnion<[z.ZodObject<z.objectUtil.
952
982
  }, {
953
983
  type: z.ZodLiteral<"authorizationCode">;
954
984
  authorizationUrl: z.ZodDefault<z.ZodString>;
985
+ /**
986
+ * Whether to use PKCE for the authorization code flow.
987
+ *
988
+ * TODO: add docs
989
+ */
990
+ 'x-usePkce': z.ZodDefault<z.ZodOptional<z.ZodEnum<["SHA-256", "plain", "no"]>>>;
955
991
  'x-scalar-redirect-uri': z.ZodDefault<z.ZodOptional<z.ZodString>>;
956
992
  tokenUrl: z.ZodDefault<z.ZodString>;
957
993
  }>, "strip", z.ZodTypeAny, {
@@ -962,6 +998,7 @@ export declare const securitySchemeSchema: z.ZodUnion<[z.ZodObject<z.objectUtil.
962
998
  authorizationUrl: string;
963
999
  'x-scalar-redirect-uri': string;
964
1000
  tokenUrl: string;
1001
+ 'x-usePkce': "SHA-256" | "plain" | "no";
965
1002
  }, {
966
1003
  type: "authorizationCode";
967
1004
  refreshUrl?: string | undefined;
@@ -970,6 +1007,7 @@ export declare const securitySchemeSchema: z.ZodUnion<[z.ZodObject<z.objectUtil.
970
1007
  authorizationUrl?: string | undefined;
971
1008
  'x-scalar-redirect-uri'?: string | undefined;
972
1009
  tokenUrl?: string | undefined;
1010
+ 'x-usePkce'?: "SHA-256" | "plain" | "no" | undefined;
973
1011
  }>]>>>;
974
1012
  /** Extension to save the client Id associated with an oauth flow */
975
1013
  'x-scalar-client-id': z.ZodDefault<z.ZodOptional<z.ZodString>>;
@@ -1008,6 +1046,7 @@ export declare const securitySchemeSchema: z.ZodUnion<[z.ZodObject<z.objectUtil.
1008
1046
  authorizationUrl: string;
1009
1047
  'x-scalar-redirect-uri': string;
1010
1048
  tokenUrl: string;
1049
+ 'x-usePkce': "SHA-256" | "plain" | "no";
1011
1050
  };
1012
1051
  'x-scalar-client-id': string;
1013
1052
  description?: string | undefined;
@@ -1043,6 +1082,7 @@ export declare const securitySchemeSchema: z.ZodUnion<[z.ZodObject<z.objectUtil.
1043
1082
  authorizationUrl?: string | undefined;
1044
1083
  'x-scalar-redirect-uri'?: string | undefined;
1045
1084
  tokenUrl?: string | undefined;
1085
+ 'x-usePkce'?: "SHA-256" | "plain" | "no" | undefined;
1046
1086
  } | undefined;
1047
1087
  'x-scalar-client-id'?: string | undefined;
1048
1088
  }>]>;
@@ -1 +1 @@
1
- {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../../src/entities/spec/security.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA6CvB;;;GAGG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAO3C,CAAA;AAEF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAA;AAED,gDAAgD;AAChD,MAAM,MAAM,gCAAgC,GAAG,OAAO,CACpD,0BAA0B,EAC1B;IAAE,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAC5B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,UAAU,GAAE,GAAQ,GACnB,0BAA0B,GAAG,IAAI,CAuCnC;AAoBD,eAAO,MAAM,sBAAsB,wCAAyC,CAAA;AAU5E,eAAO,MAAM,oBAAoB;;;;IAN/B,8EAA8E;;IAE9E,6FAA6F;;;;IAb7F,0EAA0E;;;;;;;;;;;;;;;;EAmB3E,CAAA;AACD,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AA4BvE,eAAO,MAAM,kBAAkB;;;;IArB7B;;;OAGG;;IAOH;;;;OAIG;;;;IAzCH,0EAA0E;;;;;;;;;;;;;;;;EAkD3E,CAAA;AACD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAanE,eAAO,MAAM,oBAAoB;;;;IAP/B;;;OAGG;;;;IA5DH,0EAA0E;;;;;;;;;;;;;;EAkE3E,CAAA;AACD,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AA4CvE,eAAO,MAAM,kBAAkB;IA1B7B;;;OAGG;;IAEH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;IARH;;;OAGG;;IAEH;;;OAGG;;;;;;;;;;;;;;;;;;;IARH;;;OAGG;;IAEH;;;OAGG;;;;;;;;;;;;;;;;;;;IARH;;;OAGG;;IAEH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;MAmDsE,CAAA;AAU3E,eAAO,MAAM,mBAAmB;;;;IAN9B,6FAA6F;;QA/D7F;;;WAGG;;QAEH;;;WAGG;;;;;;;;;;;;;;;;;;;;;;QARH;;;WAGG;;QAEH;;;WAGG;;;;;;;;;;;;;;;;;;;QARH;;;WAGG;;QAEH;;;WAGG;;;;;;;;;;;;;;;;;;;QARH;;;WAGG;;QAEH;;;WAGG;;;;;;;;;;;;;;;;;;;;;;;;;IAyDH,oEAAoE;;;;IAtJpE,0EAA0E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4J3E,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAKtE;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,wFAGxC,CAAA;AAED,qCAAqC;AACrC,eAAO,MAAM,uBAAuB;;;;IAxKlC,8EAA8E;;IAE9E,6FAA6F;;;;;;;;;;;;;;;;IAc7F;;;OAGG;;IAOH;;;;OAIG;;;;;;;;;;;;;;;;IA2GH,6FAA6F;;QA/D7F;;;WAGG;;QAEH;;;WAGG;;;;;;;;;;;;;;;;;;;;;;QARH;;;WAGG;;QAEH;;;WAGG;;;;;;;;;;;;;;;;;;;QARH;;;WAGG;;QAEH;;;WAGG;;;;;;;;;;;;;;;;;;;QARH;;;WAGG;;QAEH;;;WAGG;;;;;;;;;;;;;;;;;;;;;;;;;IAyDH,oEAAoE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA7FpE;;;OAGG;;;;;;;;;;IA4HH,CAAA;AAEF,oDAAoD;AACpD,eAAO,MAAM,oBAAoB;;;;IAhL/B,8EAA8E;;IAE9E,6FAA6F;;;;IAb7F,0EAA0E;;;;;;;;;;;;;;;;;;;;IA2B1E;;;OAGG;;IAOH;;;;OAIG;;;;IAzCH,0EAA0E;;;;;;;;;;;;;;;;;;;;IAyD1E;;;OAGG;;;;IA5DH,0EAA0E;;;;;;;;;;;;;;;;;;IAoJ1E,6FAA6F;;QA/D7F;;;WAGG;;QAEH;;;WAGG;;;;;;;;;;;;;;;;;;;;;;QARH;;;WAGG;;QAEH;;;WAGG;;;;;;;;;;;;;;;;;;;QARH;;;WAGG;;QAEH;;;WAGG;;;;;;;;;;;;;;;;;;;QARH;;;WAGG;;QAEH;;;WAGG;;;;;;;;;;;;;;;;;;;;;;;;;IAyDH,oEAAoE;;;;IAtJpE,0EAA0E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgM1E,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACjE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../../src/entities/spec/security.ts"],"names":[],"mappings":"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"}
@@ -173,6 +173,8 @@ const oauthCommon = z.object({
173
173
  const defaultRedirectUri = typeof window !== 'undefined'
174
174
  ? window.location.origin + window.location.pathname
175
175
  : '';
176
+ /** Options for the x-usePkce extension */
177
+ const pkceOptions = ['SHA-256', 'plain', 'no'];
176
178
  const oasOauthFlowSchema = z
177
179
  .discriminatedUnion('type', [
178
180
  /** Configuration for the OAuth Implicit flow */
@@ -198,6 +200,12 @@ const oasOauthFlowSchema = z
198
200
  oauthCommon.extend({
199
201
  'type': z.literal('authorizationCode'),
200
202
  authorizationUrl,
203
+ /**
204
+ * Whether to use PKCE for the authorization code flow.
205
+ *
206
+ * TODO: add docs
207
+ */
208
+ 'x-usePkce': z.enum(pkceOptions).optional().default('no'),
201
209
  'x-scalar-redirect-uri': z
202
210
  .string()
203
211
  .optional()
@@ -243,4 +251,4 @@ const securitySchemeSchema = z.union([
243
251
  securityOauthSchema,
244
252
  ]);
245
253
 
246
- export { authExampleFromSchema, oasOauthFlowSchema, oasSecurityRequirementSchema, oasSecuritySchemeSchema, securityApiKeySchema, securityHttpSchema, securityOauthSchema, securityOpenIdSchema, securitySchemeApiKeyIn, securitySchemeExampleValueSchema, securitySchemeSchema };
254
+ export { authExampleFromSchema, oasOauthFlowSchema, oasSecurityRequirementSchema, oasSecuritySchemeSchema, pkceOptions, securityApiKeySchema, securityHttpSchema, securityOauthSchema, securityOpenIdSchema, securitySchemeApiKeyIn, securitySchemeExampleValueSchema, securitySchemeSchema };
@@ -1 +1 @@
1
- {"version":3,"file":"regexHelpers.d.ts","sourceRoot":"","sources":["../../src/helpers/regexHelpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,QAA+B,CAAA;AACzD,eAAO,MAAM,SAAS,QAA2B,CAAA"}
1
+ {"version":3,"file":"regexHelpers.d.ts","sourceRoot":"","sources":["../../src/helpers/regexHelpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,QAA+B,CAAA;AACzD,eAAO,MAAM,SAAS,QAAyB,CAAA"}
@@ -1,4 +1,4 @@
1
1
  const variableRegex = /{{((?:[^{}]|{[^{}]*})*)}}/g;
2
- const pathRegex = /(?<!{){([^{}]+)}(?!})/g;
2
+ const pathRegex = /(?:{)([^{}]+)}(?!})/g;
3
3
 
4
4
  export { pathRegex, variableRegex };
@@ -264,6 +264,7 @@ export declare const migrate_v_2_1_0: (data: Omit<v_0_0_0.Data, "folders">) => {
264
264
  authorizationUrl: string;
265
265
  'x-scalar-redirect-uri': string;
266
266
  tokenUrl: string;
267
+ 'x-usePkce': "SHA-256" | "plain" | "no";
267
268
  };
268
269
  uid: string;
269
270
  description?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../src/migrations/v-2.1.0/migration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AAInE,mCAAmC;AACnC,eAAO,MAAM,eAAe,SAAU,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;;;;;;;;;;oBAG/C,CAAC;mBAIjB,CADJ;qBAA4C,CAAC;;;;0BAKlC,CAAC;mBACR,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAiDsD,CAAC;;;;oBASlD,CAAC;;;;;;wBAIF,CAAR;;;;;;sCAM2B,GAAG;oHAMoB,GAAsB;iCAGhE,GAAC;+BACS,GAAG;;+BAKb,CAAC;0BAED,CAAC;4BAIY,CAAA;wBAAoC,CAAC;wBAAqC,CAAC;0BACpF,CAAC;2BAAsC,CAAC;2BAGvC,CAAC;2BAAsC,CAAC;4BACxC,CAAC;;;kBACR,CAAD;;;;;;;;oBAQD,CAAC;2BAAqC,CAAC;sBAElB,CAAC;wBACA,CAAC;oBAAkC,CAAC;oBAG1D,CAAF;sBAAmC,CAAC;uBAE5B,CAAC;uBAAoC,CAAC;uBAChB,CAAC;wBACtB,CAAC;;;;;;oBAOS,CAAC;2BACR,CAAC;sBAAmC,CAAC;wBACtC,CAAC;oBACR,CAAC;oBAAmC,CAAC;sBAE7B,CAAC;uBACa,CAAC;uBACJ,CAAC;uBAAoC,CAAC;wBAC9C,CAAA;;;;;;oBAIS,CAAC;2BACA,CAAC;sBAChB,CAAC;wBACY,CAAA;oBACC,CAAC;oBAInB,CAAC;sBACE,CAAC;uBACS,CAAC;uBAGd,CAAC;uBAAoC,CAAC;wBAExC,CAAN;;;;;;oBAOmB,CAAA;2BAAqC,CAAC;sBACnC,CAAC;wBACW,CAAC;oBACtB,CAAC;oBACR,CAAN;sBAAmC,CAAC;uBACf,CAAC;uBAChB,CAAA;uBAAoC,CAAC;wBAIvC,CADH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAUU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA0Iyd,CAAC;;6BAA4E,CAAC;;;;;;;;;;CADljB,CAAA"}
1
+ {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../src/migrations/v-2.1.0/migration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AAInE,mCAAmC;AACnC,eAAO,MAAM,eAAe,SAAU,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;;;;;;;;;;oBAG/C,CAAC;mBAIjB,CADJ;qBAA4C,CAAC;;;;0BAKlC,CAAC;mBACR,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAiDsD,CAAC;;;;oBASlD,CAAC;;;;;;wBAIF,CAAR;;;;;;sCAM2B,GAAG;oHAMoB,GAAsB;iCAGhE,GAAC;+BACS,GAAG;;+BAKb,CAAC;0BAED,CAAC;4BAIY,CAAA;wBAAoC,CAAC;wBAAqC,CAAC;0BACpF,CAAC;2BAAsC,CAAC;2BAGvC,CAAC;2BAAsC,CAAC;4BACxC,CAAC;;;kBACR,CAAD;;;;;;;;oBAQD,CAAC;2BAAqC,CAAC;sBAElB,CAAC;wBACA,CAAC;oBAAkC,CAAC;oBAG1D,CAAF;sBAAmC,CAAC;uBAE5B,CAAC;uBAAoC,CAAC;uBAChB,CAAC;wBACtB,CAAC;;;;;;oBAOS,CAAC;2BACR,CAAC;sBAAmC,CAAC;wBACtC,CAAC;oBACR,CAAC;oBAAmC,CAAC;sBAE7B,CAAC;uBACa,CAAC;uBACJ,CAAC;uBAAoC,CAAC;wBAC9C,CAAA;;;;;;oBAIS,CAAC;2BACA,CAAC;sBAChB,CAAC;wBACY,CAAA;oBACC,CAAC;oBAInB,CAAC;sBACE,CAAC;uBACS,CAAC;uBAGd,CAAC;uBAAoC,CAAC;wBAExC,CAAN;;;;;;oBAOmB,CAAA;2BAAqC,CAAC;sBACnC,CAAC;wBACW,CAAC;oBACtB,CAAC;oBACR,CAAN;sBAAmC,CAAC;uBACf,CAAC;uBAChB,CAAA;uBAAoC,CAAC;wBAIvC,CADH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAUU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA4I+b,CAAC;;6BAA4E,CAAC;;;;;;;;;;CADxhB,CAAA"}
@@ -185,6 +185,7 @@ const migrate_v_2_1_0 = (data) => {
185
185
  return {
186
186
  ...flow,
187
187
  ...base,
188
+ 'x-usePkce': 'no',
188
189
  'x-scalar-redirect-uri': ('redirectUri' in flow ? flow.redirectUri : '') || '',
189
190
  'authorizationUrl': flow.authorizationUrl || '',
190
191
  'tokenUrl': flow.tokenUrl || '',
@@ -1 +1 @@
1
- {"version":3,"file":"import-spec.d.ts","sourceRoot":"","sources":["../../src/transforms/import-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,cAAc,EAGnB,KAAK,MAAM,EACX,KAAK,GAAG,EAOT,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAIhC,MAAM,0BAA0B,CAAA;AAIjC,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AA4CxD,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,WACpB,cAAc,SACf,sBAAsB,CAAC,gBAAgB,CAAC,KAC9C,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,0BAA0B,CAgC5D,CAAA;AAED,mFAAmF;AACnF,eAAO,MAAM,WAAW,SAAgB,MAAM,GAAG,aAAa;YAKjC,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ;;EACrE,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,iBAAiB,EACjB,aAAa,GAAG,WAAW,CAC5B,GACC,IAAI,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,GAAG;IAC/C,mFAAmF;IACnF,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAEH;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,GAAG,aAAa,EAC5B,EACE,cAAc,EACd,WAAW,EACX,qBAA6B,EAC7B,SAAiB,GAClB,GAAE,yBAA8B,GAChC,OAAO,CACN;IACE,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,MAAM,EAAE,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;IACjD,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,eAAe,EAAE,cAAc,EAAE,CAAA;CAClC,GACD;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAC5C,CAkRA"}
1
+ {"version":3,"file":"import-spec.d.ts","sourceRoot":"","sources":["../../src/transforms/import-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,cAAc,EAGnB,KAAK,MAAM,EACX,KAAK,GAAG,EAOT,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAIhC,MAAM,0BAA0B,CAAA;AAIjC,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAiDxD,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,WACpB,cAAc,SACf,sBAAsB,CAAC,gBAAgB,CAAC,KAC9C,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,0BAA0B,CAgC5D,CAAA;AAED,mFAAmF;AACnF,eAAO,MAAM,WAAW,SAAgB,MAAM,GAAG,aAAa;YAKjC,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ;;EACrE,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,iBAAiB,EACjB,aAAa,GAAG,WAAW,CAC5B,GACC,IAAI,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,GAAG;IAC/C,mFAAmF;IACnF,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAEH;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,GAAG,aAAa,EAC5B,EACE,cAAc,EACd,WAAW,EACX,qBAA6B,EAC7B,SAAiB,GAClB,GAAE,yBAA8B,GAChC,OAAO,CACN;IACE,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,MAAM,EAAE,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;IACjD,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,eAAe,EAAE,cAAc,EAAE,CAAA;CAClC,GACD;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAC5C,CAkRA"}
@@ -22,6 +22,11 @@ const convertOauth2Flows = (security, nameKey, auth) => {
22
22
  nameKey,
23
23
  flow: {
24
24
  ...flow,
25
+ scopes:
26
+ // Ensure we convert array scope to an object
27
+ Array.isArray(flow.scopes) && typeof flow.scopes[0] === 'string'
28
+ ? flow.scopes.reduce((prev, s) => ({ ...prev, [s]: '' }), {})
29
+ : flow.scopes,
25
30
  type,
26
31
  },
27
32
  };
package/package.json CHANGED
@@ -16,7 +16,7 @@
16
16
  "specification",
17
17
  "yaml"
18
18
  ],
19
- "version": "0.2.68",
19
+ "version": "0.2.70",
20
20
  "engines": {
21
21
  "node": ">=18"
22
22
  },
@@ -106,10 +106,10 @@
106
106
  "nanoid": "^5.0.7",
107
107
  "yaml": "^2.4.5",
108
108
  "zod": "^3.23.8",
109
+ "@scalar/themes": "0.9.46",
109
110
  "@scalar/object-utils": "1.1.11",
110
- "@scalar/themes": "0.9.45",
111
- "@scalar/openapi-types": "0.1.4",
112
- "@scalar/types": "0.0.18"
111
+ "@scalar/openapi-types": "0.1.5",
112
+ "@scalar/types": "0.0.19"
113
113
  },
114
114
  "devDependencies": {
115
115
  "type-fest": "^4.20.0",
@@ -117,8 +117,8 @@
117
117
  "vitest": "^1.6.0",
118
118
  "zod-to-ts": "^1.2.0",
119
119
  "@scalar/build-tooling": "0.1.11",
120
- "@scalar/openapi-types": "0.1.4",
121
- "@scalar/openapi-parser": "0.8.8"
120
+ "@scalar/openapi-types": "0.1.5",
121
+ "@scalar/openapi-parser": "0.8.9"
122
122
  },
123
123
  "scripts": {
124
124
  "build": "scalar-build-rollup",