@fern-api/fern-api-dev 5.75.9 → 5.77.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 (2) hide show
  1. package/cli.cjs +249 -21
  2. package/package.json +1 -1
package/cli.cjs CHANGED
@@ -55736,6 +55736,13 @@ var init_WebhookTimestampSchema = __esm({
55736
55736
  }
55737
55737
  });
55738
55738
 
55739
+ // ../fern-definition/schema/lib/schemas/api/resources/webhooks/types/WebhookUrlNormalizationSchema.js
55740
+ var init_WebhookUrlNormalizationSchema = __esm({
55741
+ "../fern-definition/schema/lib/schemas/api/resources/webhooks/types/WebhookUrlNormalizationSchema.js"() {
55742
+ "use strict";
55743
+ }
55744
+ });
55745
+
55739
55746
  // ../fern-definition/schema/lib/schemas/api/resources/webhooks/types/index.js
55740
55747
  var init_types20 = __esm({
55741
55748
  "../fern-definition/schema/lib/schemas/api/resources/webhooks/types/index.js"() {
@@ -55760,6 +55767,7 @@ var init_types20 = __esm({
55760
55767
  init_WebhookSignatureSchema();
55761
55768
  init_WebhookTimestampFormatSchema();
55762
55769
  init_WebhookTimestampSchema();
55770
+ init_WebhookUrlNormalizationSchema();
55763
55771
  }
55764
55772
  });
55765
55773
 
@@ -60428,6 +60436,19 @@ var init_WebhookSignatureAlgorithmSchema2 = __esm({
60428
60436
  }
60429
60437
  });
60430
60438
 
60439
+ // ../fern-definition/schema/lib/schemas/serialization/resources/webhooks/types/WebhookUrlNormalizationSchema.js
60440
+ var WebhookUrlNormalizationSchema;
60441
+ var init_WebhookUrlNormalizationSchema2 = __esm({
60442
+ "../fern-definition/schema/lib/schemas/serialization/resources/webhooks/types/WebhookUrlNormalizationSchema.js"() {
60443
+ "use strict";
60444
+ init_core();
60445
+ WebhookUrlNormalizationSchema = schemas_exports.object({
60446
+ "port-variants": schemas_exports.boolean().optional(),
60447
+ "legacy-query-encoding": schemas_exports.boolean().optional()
60448
+ });
60449
+ }
60450
+ });
60451
+
60431
60452
  // ../fern-definition/schema/lib/schemas/serialization/resources/webhooks/types/HmacSignatureSchema.js
60432
60453
  var HmacSignatureSchema;
60433
60454
  var init_HmacSignatureSchema2 = __esm({
@@ -60439,6 +60460,7 @@ var init_HmacSignatureSchema2 = __esm({
60439
60460
  init_WebhookSignatureAlgorithmSchema2();
60440
60461
  init_WebhookSignatureEncodingSchema2();
60441
60462
  init_WebhookTimestampSchema2();
60463
+ init_WebhookUrlNormalizationSchema2();
60442
60464
  HmacSignatureSchema = schemas_exports.object({
60443
60465
  header: schemas_exports.string(),
60444
60466
  algorithm: WebhookSignatureAlgorithmSchema2.optional(),
@@ -60446,7 +60468,8 @@ var init_HmacSignatureSchema2 = __esm({
60446
60468
  "signature-prefix": schemas_exports.string().optional(),
60447
60469
  "payload-format": WebhookPayloadFormatSchema.optional(),
60448
60470
  timestamp: WebhookTimestampSchema.optional(),
60449
- "body-hash-binding": WebhookBodyHashBindingSchema.optional()
60471
+ "body-hash-binding": WebhookBodyHashBindingSchema.optional(),
60472
+ "url-normalization": WebhookUrlNormalizationSchema.optional()
60450
60473
  });
60451
60474
  }
60452
60475
  });
@@ -61354,6 +61377,7 @@ var init_types40 = __esm({
61354
61377
  init_WebhookSignatureSchema2();
61355
61378
  init_WebhookTimestampFormatSchema2();
61356
61379
  init_WebhookTimestampSchema2();
61380
+ init_WebhookUrlNormalizationSchema2();
61357
61381
  }
61358
61382
  });
61359
61383
 
@@ -61379,7 +61403,8 @@ __export(webhooks_exports2, {
61379
61403
  WebhookSignatureEncodingSchema: () => WebhookSignatureEncodingSchema2,
61380
61404
  WebhookSignatureSchema: () => WebhookSignatureSchema,
61381
61405
  WebhookTimestampFormatSchema: () => WebhookTimestampFormatSchema2,
61382
- WebhookTimestampSchema: () => WebhookTimestampSchema
61406
+ WebhookTimestampSchema: () => WebhookTimestampSchema,
61407
+ WebhookUrlNormalizationSchema: () => WebhookUrlNormalizationSchema
61383
61408
  });
61384
61409
  var init_webhooks2 = __esm({
61385
61410
  "../fern-definition/schema/lib/schemas/serialization/resources/webhooks/index.js"() {
@@ -61645,6 +61670,7 @@ __export(serialization_exports, {
61645
61670
  WebhookSignatureSchema: () => WebhookSignatureSchema,
61646
61671
  WebhookTimestampFormatSchema: () => WebhookTimestampFormatSchema2,
61647
61672
  WebhookTimestampSchema: () => WebhookTimestampSchema,
61673
+ WebhookUrlNormalizationSchema: () => WebhookUrlNormalizationSchema,
61648
61674
  WithAudiences: () => WithAudiences,
61649
61675
  WithAuthSchema: () => WithAuthSchema,
61650
61676
  WithAvailability: () => WithAvailability,
@@ -70270,6 +70296,13 @@ var init_WebhookName = __esm({
70270
70296
  }
70271
70297
  });
70272
70298
 
70299
+ // ../../ir-sdk/lib/sdk/api/resources/webhooks/types/WebhookNotificationUrlNormalization.js
70300
+ var init_WebhookNotificationUrlNormalization = __esm({
70301
+ "../../ir-sdk/lib/sdk/api/resources/webhooks/types/WebhookNotificationUrlNormalization.js"() {
70302
+ "use strict";
70303
+ }
70304
+ });
70305
+
70273
70306
  // ../../ir-sdk/lib/sdk/api/resources/webhooks/types/WebhookPayload.js
70274
70307
  var WebhookPayload;
70275
70308
  var init_WebhookPayload = __esm({
@@ -70505,6 +70538,7 @@ var init_types69 = __esm({
70505
70538
  init_WebhookGroup();
70506
70539
  init_WebhookHttpMethod();
70507
70540
  init_WebhookName();
70541
+ init_WebhookNotificationUrlNormalization();
70508
70542
  init_WebhookPayload();
70509
70543
  init_WebhookPayloadBodySort();
70510
70544
  init_WebhookPayloadComponent();
@@ -81223,6 +81257,19 @@ var init_WebhookBodyHashBinding2 = __esm({
81223
81257
  }
81224
81258
  });
81225
81259
 
81260
+ // ../../ir-sdk/lib/sdk/serialization/resources/webhooks/types/WebhookNotificationUrlNormalization.js
81261
+ var WebhookNotificationUrlNormalization;
81262
+ var init_WebhookNotificationUrlNormalization2 = __esm({
81263
+ "../../ir-sdk/lib/sdk/serialization/resources/webhooks/types/WebhookNotificationUrlNormalization.js"() {
81264
+ "use strict";
81265
+ init_core2();
81266
+ WebhookNotificationUrlNormalization = schemas_exports3.objectWithoutOptionalProperties({
81267
+ portVariants: schemas_exports3.boolean(),
81268
+ legacyQueryEncoding: schemas_exports3.boolean()
81269
+ });
81270
+ }
81271
+ });
81272
+
81226
81273
  // ../../ir-sdk/lib/sdk/serialization/resources/webhooks/types/HmacSignatureVerification.js
81227
81274
  var HmacSignatureVerification;
81228
81275
  var init_HmacSignatureVerification2 = __esm({
@@ -81232,6 +81279,7 @@ var init_HmacSignatureVerification2 = __esm({
81232
81279
  init_NameAndWireValueOrString3();
81233
81280
  init_HmacAlgorithm2();
81234
81281
  init_WebhookBodyHashBinding2();
81282
+ init_WebhookNotificationUrlNormalization2();
81235
81283
  init_WebhookPayloadFormat2();
81236
81284
  init_WebhookSignatureEncoding2();
81237
81285
  init_WebhookTimestampConfig2();
@@ -81242,7 +81290,8 @@ var init_HmacSignatureVerification2 = __esm({
81242
81290
  signaturePrefix: schemas_exports3.string().optional(),
81243
81291
  payloadFormat: WebhookPayloadFormat,
81244
81292
  timestamp: WebhookTimestampConfig.optional(),
81245
- bodyHashBinding: WebhookBodyHashBinding.optional()
81293
+ bodyHashBinding: WebhookBodyHashBinding.optional(),
81294
+ notificationUrlNormalization: WebhookNotificationUrlNormalization.optional()
81246
81295
  });
81247
81296
  }
81248
81297
  });
@@ -82861,6 +82910,7 @@ var init_types98 = __esm({
82861
82910
  init_WebhookGroup2();
82862
82911
  init_WebhookHttpMethod2();
82863
82912
  init_WebhookName2();
82913
+ init_WebhookNotificationUrlNormalization2();
82864
82914
  init_WebhookPayload2();
82865
82915
  init_WebhookPayloadBodySort2();
82866
82916
  init_WebhookPayloadComponent2();
@@ -82894,6 +82944,7 @@ __export(webhooks_exports4, {
82894
82944
  WebhookGroup: () => WebhookGroup,
82895
82945
  WebhookHttpMethod: () => WebhookHttpMethod2,
82896
82946
  WebhookName: () => WebhookName,
82947
+ WebhookNotificationUrlNormalization: () => WebhookNotificationUrlNormalization,
82897
82948
  WebhookPayload: () => WebhookPayload2,
82898
82949
  WebhookPayloadBodySort: () => WebhookPayloadBodySort2,
82899
82950
  WebhookPayloadComponent: () => WebhookPayloadComponent2,
@@ -83320,6 +83371,7 @@ __export(serialization_exports2, {
83320
83371
  WebhookHttpMethod: () => WebhookHttpMethod2,
83321
83372
  WebhookId: () => WebhookId,
83322
83373
  WebhookName: () => WebhookName,
83374
+ WebhookNotificationUrlNormalization: () => WebhookNotificationUrlNormalization,
83323
83375
  WebhookPayload: () => WebhookPayload2,
83324
83376
  WebhookPayloadBodySort: () => WebhookPayloadBodySort2,
83325
83377
  WebhookPayloadComponent: () => WebhookPayloadComponent2,
@@ -130037,7 +130089,8 @@ var init_OpenApiSettingsSchema2 = __esm({
130037
130089
  "group-multi-api-environments": schemas_exports8.boolean().optional(),
130038
130090
  "default-integer-format": DefaultIntegerFormat2.optional(),
130039
130091
  "infer-discriminated-union-base-properties": schemas_exports8.boolean().optional(),
130040
- "disambiguate-request-names": schemas_exports8.boolean().optional()
130092
+ "disambiguate-request-names": schemas_exports8.boolean().optional(),
130093
+ "ignore-tags": schemas_exports8.boolean().optional()
130041
130094
  }).extend(BaseApiSettingsSchema);
130042
130095
  }
130043
130096
  });
@@ -133936,6 +133989,13 @@ var init_WebhookHttpMethod3 = __esm({
133936
133989
  }
133937
133990
  });
133938
133991
 
133992
+ // ../api-importers/openapi/openapi-ir/lib/sdk/api/resources/finalIr/types/WebhookNotificationUrlNormalization.js
133993
+ var init_WebhookNotificationUrlNormalization3 = __esm({
133994
+ "../api-importers/openapi/openapi-ir/lib/sdk/api/resources/finalIr/types/WebhookNotificationUrlNormalization.js"() {
133995
+ "use strict";
133996
+ }
133997
+ });
133998
+
133939
133999
  // ../api-importers/openapi/openapi-ir/lib/sdk/api/resources/finalIr/types/WebhookPayloadBodySort.js
133940
134000
  var WebhookPayloadBodySortValues2, WebhookPayloadBodySort3;
133941
134001
  var init_WebhookPayloadBodySort3 = __esm({
@@ -134288,6 +134348,7 @@ var init_types138 = __esm({
134288
134348
  init_WebhookBodyHashQueryParameterLocation3();
134289
134349
  init_WebhookExampleCall();
134290
134350
  init_WebhookHttpMethod3();
134351
+ init_WebhookNotificationUrlNormalization3();
134291
134352
  init_WebhookPayloadBodySort3();
134292
134353
  init_WebhookPayloadComponent3();
134293
134354
  init_WebhookPayloadFormat3();
@@ -139303,6 +139364,19 @@ var init_WebhookBodyHashBinding4 = __esm({
139303
139364
  }
139304
139365
  });
139305
139366
 
139367
+ // ../api-importers/openapi/openapi-ir/lib/sdk/serialization/resources/finalIr/types/WebhookNotificationUrlNormalization.js
139368
+ var WebhookNotificationUrlNormalization2;
139369
+ var init_WebhookNotificationUrlNormalization4 = __esm({
139370
+ "../api-importers/openapi/openapi-ir/lib/sdk/serialization/resources/finalIr/types/WebhookNotificationUrlNormalization.js"() {
139371
+ "use strict";
139372
+ init_core7();
139373
+ WebhookNotificationUrlNormalization2 = schemas_exports9.objectWithoutOptionalProperties({
139374
+ portVariants: schemas_exports9.boolean(),
139375
+ legacyQueryEncoding: schemas_exports9.boolean()
139376
+ });
139377
+ }
139378
+ });
139379
+
139306
139380
  // ../api-importers/openapi/openapi-ir/lib/sdk/serialization/resources/finalIr/types/WebhookSignatureAlgorithm.js
139307
139381
  var WebhookSignatureAlgorithm2;
139308
139382
  var init_WebhookSignatureAlgorithm2 = __esm({
@@ -139320,6 +139394,7 @@ var init_HmacWebhookSignatureVerification2 = __esm({
139320
139394
  "use strict";
139321
139395
  init_core7();
139322
139396
  init_WebhookBodyHashBinding4();
139397
+ init_WebhookNotificationUrlNormalization4();
139323
139398
  init_WebhookPayloadFormat4();
139324
139399
  init_WebhookSignatureAlgorithm2();
139325
139400
  init_WebhookSignatureEncoding4();
@@ -139331,7 +139406,8 @@ var init_HmacWebhookSignatureVerification2 = __esm({
139331
139406
  signaturePrefix: schemas_exports9.string().optional(),
139332
139407
  payloadFormat: WebhookPayloadFormat2.optional(),
139333
139408
  timestamp: WebhookTimestamp.optional(),
139334
- bodyHashBinding: WebhookBodyHashBinding2.optional()
139409
+ bodyHashBinding: WebhookBodyHashBinding2.optional(),
139410
+ notificationUrlNormalization: WebhookNotificationUrlNormalization2.optional()
139335
139411
  });
139336
139412
  }
139337
139413
  });
@@ -140214,6 +140290,7 @@ var init_types142 = __esm({
140214
140290
  init_WebhookBodyHashQueryParameterLocation4();
140215
140291
  init_WebhookExampleCall2();
140216
140292
  init_WebhookHttpMethod4();
140293
+ init_WebhookNotificationUrlNormalization4();
140217
140294
  init_WebhookPayloadBodySort4();
140218
140295
  init_WebhookPayloadComponent4();
140219
140296
  init_WebhookPayloadFormat4();
@@ -140326,6 +140403,7 @@ __export(finalIr_exports2, {
140326
140403
  WebhookBodyHashQueryParameterLocation: () => WebhookBodyHashQueryParameterLocation2,
140327
140404
  WebhookExampleCall: () => WebhookExampleCall,
140328
140405
  WebhookHttpMethod: () => WebhookHttpMethod4,
140406
+ WebhookNotificationUrlNormalization: () => WebhookNotificationUrlNormalization2,
140329
140407
  WebhookPayloadBodySort: () => WebhookPayloadBodySort4,
140330
140408
  WebhookPayloadComponent: () => WebhookPayloadComponent4,
140331
140409
  WebhookPayloadFormat: () => WebhookPayloadFormat2,
@@ -141593,6 +141671,7 @@ __export(serialization_exports5, {
141593
141671
  WebhookBodyHashQueryParameterLocation: () => WebhookBodyHashQueryParameterLocation2,
141594
141672
  WebhookExampleCall: () => WebhookExampleCall,
141595
141673
  WebhookHttpMethod: () => WebhookHttpMethod4,
141674
+ WebhookNotificationUrlNormalization: () => WebhookNotificationUrlNormalization2,
141596
141675
  WebhookPayloadBodySort: () => WebhookPayloadBodySort4,
141597
141676
  WebhookPayloadComponent: () => WebhookPayloadComponent4,
141598
141677
  WebhookPayloadFormat: () => WebhookPayloadFormat2,
@@ -146936,7 +147015,8 @@ function convertSignatureVerification(signatureVerification) {
146936
147015
  "signature-prefix": signatureVerification.signaturePrefix,
146937
147016
  "payload-format": convertPayloadFormat(signatureVerification.payloadFormat),
146938
147017
  timestamp: convertTimestamp(signatureVerification.timestamp),
146939
- "body-hash-binding": convertBodyHashBinding(signatureVerification.bodyHashBinding)
147018
+ "body-hash-binding": convertBodyHashBinding(signatureVerification.bodyHashBinding),
147019
+ "url-normalization": convertUrlNormalization(signatureVerification.notificationUrlNormalization)
146940
147020
  };
146941
147021
  case "asymmetric":
146942
147022
  return {
@@ -147024,6 +147104,15 @@ function convertBodyHashBinding(binding) {
147024
147104
  location: convertBodyHashLocation(binding.location)
147025
147105
  };
147026
147106
  }
147107
+ function convertUrlNormalization(normalization) {
147108
+ if (normalization == null) {
147109
+ return void 0;
147110
+ }
147111
+ return {
147112
+ "port-variants": normalization.portVariants,
147113
+ "legacy-query-encoding": normalization.legacyQueryEncoding
147114
+ };
147115
+ }
147027
147116
  function convertBodyHashAlgorithm(algorithm) {
147028
147117
  switch (algorithm) {
147029
147118
  case "sha256":
@@ -151759,7 +151848,8 @@ var init_options2 = __esm({
151759
151848
  coerceConstsTo: "enums-coerceable-to-literals",
151760
151849
  respectByteFormat: false,
151761
151850
  shouldInferDiscriminatedUnionBaseProperties: false,
151762
- disambiguateRequestNames: true
151851
+ disambiguateRequestNames: true,
151852
+ ignoreTags: false
151763
151853
  };
151764
151854
  }
151765
151855
  });
@@ -165923,7 +166013,7 @@ function convertHttpOperation({ operationContext, context: context3, responseSta
165923
166013
  idempotent,
165924
166014
  audiences: getExtension(operation, FernOpenAPIExtension.AUDIENCES) ?? [],
165925
166015
  operationId: operation.operationId != null && suffix != null ? operation.operationId + "_" + suffix : operation.operationId,
165926
- tags: context3.resolveTagsToTagIds(operation.tags),
166016
+ tags: context3.options.ignoreTags ? [] : context3.resolveTagsToTagIds(operation.tags),
165927
166017
  namespace: context3.namespace,
165928
166018
  sdkName: createOperationSdkMethodName({ operationContext, request: request7 }),
165929
166019
  pathParameters: convertedParameters.pathParameters,
@@ -166382,6 +166472,29 @@ function convertBodyHashBinding2(binding, logger4) {
166382
166472
  location: convertBodyHashLocation2(binding.location)
166383
166473
  };
166384
166474
  }
166475
+ function convertUrlNormalization2(normalization, logger4) {
166476
+ if (normalization == null) {
166477
+ return void 0;
166478
+ }
166479
+ const portVariants = normalization["port-variants"];
166480
+ const legacyQueryEncoding = normalization["legacy-query-encoding"];
166481
+ if (portVariants != null && typeof portVariants !== "boolean") {
166482
+ logger4.warn(`Ignoring webhook url-normalization: "port-variants" must be a boolean, got "${typeof portVariants}".`);
166483
+ return void 0;
166484
+ }
166485
+ if (legacyQueryEncoding != null && typeof legacyQueryEncoding !== "boolean") {
166486
+ logger4.warn(`Ignoring webhook url-normalization: "legacy-query-encoding" must be a boolean, got "${typeof legacyQueryEncoding}".`);
166487
+ return void 0;
166488
+ }
166489
+ if (!portVariants && !legacyQueryEncoding) {
166490
+ logger4.warn('Ignoring webhook url-normalization: enable at least one of "port-variants" or "legacy-query-encoding".');
166491
+ return void 0;
166492
+ }
166493
+ return {
166494
+ portVariants: portVariants ?? false,
166495
+ legacyQueryEncoding: legacyQueryEncoding ?? false
166496
+ };
166497
+ }
166385
166498
  function convertBodyHashAlgorithm2(algorithm) {
166386
166499
  switch (algorithm) {
166387
166500
  case "sha256":
@@ -166460,7 +166573,8 @@ function convertSignatureSchema(extension4, logger4) {
166460
166573
  signaturePrefix: extension4["signature-prefix"],
166461
166574
  payloadFormat: convertPayloadFormat2(extension4["payload-format"]),
166462
166575
  timestamp: convertTimestamp2(extension4.timestamp),
166463
- bodyHashBinding: convertBodyHashBinding2(extension4["body-hash-binding"], logger4)
166576
+ bodyHashBinding: convertBodyHashBinding2(extension4["body-hash-binding"], logger4),
166577
+ notificationUrlNormalization: convertUrlNormalization2(extension4["url-normalization"], logger4)
166464
166578
  });
166465
166579
  }
166466
166580
  if (extension4.type === "asymmetric") {
@@ -198884,7 +198998,8 @@ var init_getAPIDefinitionSettings = __esm({
198884
198998
  inferForwardCompatible: "inferForwardCompatible",
198885
198999
  coerceConstsTo: "coerceConstsTo",
198886
199000
  shouldInferDiscriminatedUnionBaseProperties: "shouldInferDiscriminatedUnionBaseProperties",
198887
- disambiguateRequestNames: "disambiguateRequestNames"
199001
+ disambiguateRequestNames: "disambiguateRequestNames",
199002
+ ignoreTags: "ignoreTags"
198888
199003
  };
198889
199004
  }
198890
199005
  });
@@ -260536,7 +260651,8 @@ function parseOpenApiDefinitionSettingsSchema(settings) {
260536
260651
  defaultIntegerFormat: settings?.["default-integer-format"],
260537
260652
  pathParameterOrder: settings?.["path-parameter-order"],
260538
260653
  shouldInferDiscriminatedUnionBaseProperties: settings?.["infer-discriminated-union-base-properties"],
260539
- disambiguateRequestNames: settings?.["disambiguate-request-names"]
260654
+ disambiguateRequestNames: settings?.["disambiguate-request-names"],
260655
+ ignoreTags: settings?.["ignore-tags"]
260540
260656
  };
260541
260657
  }
260542
260658
  function parseAsyncApiDefinitionSettingsSchema(settings) {
@@ -261400,7 +261516,8 @@ var init_convertGeneratorsConfiguration = __esm({
261400
261516
  inferForwardCompatible: void 0,
261401
261517
  coerceConstsTo: void 0,
261402
261518
  shouldInferDiscriminatedUnionBaseProperties: void 0,
261403
- disambiguateRequestNames: void 0
261519
+ disambiguateRequestNames: void 0,
261520
+ ignoreTags: void 0
261404
261521
  };
261405
261522
  }
261406
261523
  });
@@ -275409,7 +275526,17 @@ function convertHmacSignature({ hmac, file: file4 }) {
275409
275526
  signaturePrefix: hmac["signature-prefix"],
275410
275527
  payloadFormat: convertPayloadFormat3(hmac["payload-format"]),
275411
275528
  timestamp: convertTimestampConfig({ timestamp: hmac.timestamp, file: file4 }),
275412
- bodyHashBinding: convertBodyHashBinding3(hmac["body-hash-binding"])
275529
+ bodyHashBinding: convertBodyHashBinding3(hmac["body-hash-binding"]),
275530
+ notificationUrlNormalization: convertUrlNormalization3(hmac["url-normalization"])
275531
+ };
275532
+ }
275533
+ function convertUrlNormalization3(normalization) {
275534
+ if (normalization == null) {
275535
+ return void 0;
275536
+ }
275537
+ return {
275538
+ portVariants: normalization["port-variants"] ?? false,
275539
+ legacyQueryEncoding: normalization["legacy-query-encoding"] ?? false
275413
275540
  };
275414
275541
  }
275415
275542
  function convertBodyHashBinding3(binding) {
@@ -326019,6 +326146,34 @@ var init_fern_schema = __esm({
326019
326146
  ],
326020
326147
  additionalProperties: false
326021
326148
  },
326149
+ "webhooks.WebhookUrlNormalizationSchema": {
326150
+ type: "object",
326151
+ properties: {
326152
+ "port-variants": {
326153
+ oneOf: [
326154
+ {
326155
+ type: "boolean"
326156
+ },
326157
+ {
326158
+ type: "null"
326159
+ }
326160
+ ],
326161
+ description: "Try the URL both with the scheme's standard port added (:443 for https, :80 for\nhttp) if absent, and with the port removed. All Twilio libraries do this."
326162
+ },
326163
+ "legacy-query-encoding": {
326164
+ oneOf: [
326165
+ {
326166
+ type: "boolean"
326167
+ },
326168
+ {
326169
+ type: "null"
326170
+ }
326171
+ ],
326172
+ description: "Additionally try each port variant with the query string re-encoded using legacy\nform-encoding, reversing percent-encoding differences introduced by WHATWG URL\nparsing. Twilio's Node library does this; the others do not."
326173
+ }
326174
+ },
326175
+ additionalProperties: false
326176
+ },
326022
326177
  "webhooks.AsymmetricAlgorithmSchema": {
326023
326178
  type: "string",
326024
326179
  enum: [
@@ -326117,6 +326272,17 @@ var init_fern_schema = __esm({
326117
326272
  description: `When set, the raw body is not signed directly; instead a hash of the body is
326118
326273
  transmitted separately (e.g. Twilio's "bodySHA256" query parameter for JSON
326119
326274
  bodies) and verification also recomputes and compares the body hash.`
326275
+ },
326276
+ "url-normalization": {
326277
+ oneOf: [
326278
+ {
326279
+ $ref: "#/definitions/webhooks.WebhookUrlNormalizationSchema"
326280
+ },
326281
+ {
326282
+ type: "null"
326283
+ }
326284
+ ],
326285
+ description: "When set, the signature is verified against multiple normalized forms of the\nnotification URL (e.g. with/without port, legacy query encoding), succeeding if any\ncandidate matches. Required by providers like Twilio."
326120
326286
  }
326121
326287
  },
326122
326288
  required: [
@@ -330426,6 +330592,34 @@ var init_package_yml_schema = __esm({
330426
330592
  ],
330427
330593
  additionalProperties: false
330428
330594
  },
330595
+ "webhooks.WebhookUrlNormalizationSchema": {
330596
+ type: "object",
330597
+ properties: {
330598
+ "port-variants": {
330599
+ oneOf: [
330600
+ {
330601
+ type: "boolean"
330602
+ },
330603
+ {
330604
+ type: "null"
330605
+ }
330606
+ ],
330607
+ description: "Try the URL both with the scheme's standard port added (:443 for https, :80 for\nhttp) if absent, and with the port removed. All Twilio libraries do this."
330608
+ },
330609
+ "legacy-query-encoding": {
330610
+ oneOf: [
330611
+ {
330612
+ type: "boolean"
330613
+ },
330614
+ {
330615
+ type: "null"
330616
+ }
330617
+ ],
330618
+ description: "Additionally try each port variant with the query string re-encoded using legacy\nform-encoding, reversing percent-encoding differences introduced by WHATWG URL\nparsing. Twilio's Node library does this; the others do not."
330619
+ }
330620
+ },
330621
+ additionalProperties: false
330622
+ },
330429
330623
  "webhooks.AsymmetricAlgorithmSchema": {
330430
330624
  type: "string",
330431
330625
  enum: [
@@ -330524,6 +330718,17 @@ var init_package_yml_schema = __esm({
330524
330718
  description: `When set, the raw body is not signed directly; instead a hash of the body is
330525
330719
  transmitted separately (e.g. Twilio's "bodySHA256" query parameter for JSON
330526
330720
  bodies) and verification also recomputes and compares the body hash.`
330721
+ },
330722
+ "url-normalization": {
330723
+ oneOf: [
330724
+ {
330725
+ $ref: "#/definitions/webhooks.WebhookUrlNormalizationSchema"
330726
+ },
330727
+ {
330728
+ type: "null"
330729
+ }
330730
+ ],
330731
+ description: "When set, the signature is verified against multiple normalized forms of the\nnotification URL (e.g. with/without port, legacy query encoding), succeeding if any\ncandidate matches. Required by providers like Twilio."
330527
330732
  }
330528
330733
  },
330529
330734
  required: [
@@ -681332,6 +681537,21 @@ function validateHmac(signature, violations) {
681332
681537
  if (signature["body-hash-binding"] != null) {
681333
681538
  validateBodyHashBinding(signature, violations);
681334
681539
  }
681540
+ if (signature["url-normalization"] != null) {
681541
+ validateUrlNormalization(signature, violations);
681542
+ }
681543
+ }
681544
+ function validateUrlNormalization(signature, violations) {
681545
+ const normalization = signature["url-normalization"];
681546
+ if (normalization == null) {
681547
+ return;
681548
+ }
681549
+ if (!normalization["port-variants"] && !normalization["legacy-query-encoding"]) {
681550
+ violations.push({
681551
+ severity: "error",
681552
+ message: "url-normalization must enable at least one of port-variants or legacy-query-encoding"
681553
+ });
681554
+ }
681335
681555
  }
681336
681556
  function validateBodyHashBinding(signature, violations) {
681337
681557
  const binding = signature["body-hash-binding"];
@@ -682579,7 +682799,14 @@ var OpenApiSettingsSchema2 = BaseApiSettingsSchema2.extend({
682579
682799
  * If false, keep the original "Request" suffix regardless of collisions.
682580
682800
  * Defaults to true.
682581
682801
  */
682582
- "disambiguate-request-names": external_exports.boolean().optional()
682802
+ "disambiguate-request-names": external_exports.boolean().optional(),
682803
+ /**
682804
+ * If true, ignore operation-level tags when determining the SDK structure.
682805
+ * Endpoints fall back to the root package (or their namespace) and method
682806
+ * names are derived from each operation's operationId.
682807
+ * Defaults to false.
682808
+ */
682809
+ "ignore-tags": external_exports.boolean().optional()
682583
682810
  });
682584
682811
 
682585
682812
  // ../config/lib/schemas/specs/OpenApiSpecSchema.js
@@ -691168,7 +691395,7 @@ var AccessTokenPosthogManager = class {
691168
691395
  properties: {
691169
691396
  ...event,
691170
691397
  ...event.properties,
691171
- version: "5.75.9",
691398
+ version: "5.77.0",
691172
691399
  usingAccessToken: true,
691173
691400
  ...getRunIdProperties()
691174
691401
  }
@@ -691234,7 +691461,7 @@ var UserPosthogManager = class {
691234
691461
  distinctId: this.userId ?? await this.getPersistedDistinctId(),
691235
691462
  event: "CLI",
691236
691463
  properties: {
691237
- version: "5.75.9",
691464
+ version: "5.77.0",
691238
691465
  ...event,
691239
691466
  ...event.properties,
691240
691467
  usingAccessToken: false,
@@ -698047,7 +698274,8 @@ var LegacyApiSpecAdapter = class {
698047
698274
  defaultIntegerFormat: this.adaptDefaultIntegerFormat(settings.defaultIntegerFormat),
698048
698275
  coerceConstsTo: settings.coerceConstsTo,
698049
698276
  shouldInferDiscriminatedUnionBaseProperties: settings.inferDiscriminatedUnionBaseProperties,
698050
- disambiguateRequestNames: settings["disambiguate-request-names"]
698277
+ disambiguateRequestNames: settings["disambiguate-request-names"],
698278
+ ignoreTags: settings["ignore-tags"]
698051
698279
  };
698052
698280
  const hasSettings = Object.values(result).some((v3) => v3 != null);
698053
698281
  return hasSettings ? result : void 0;
@@ -872339,7 +872567,7 @@ var LOCAL_STORAGE_FOLDER4 = ".fern-dev";
872339
872567
  var LOGS_FOLDER_NAME = "logs";
872340
872568
  var MAX_LOGS_DIR_SIZE_BYTES = 100 * 1024 * 1024;
872341
872569
  function getCliSource() {
872342
- const version7 = "5.75.9";
872570
+ const version7 = "5.77.0";
872343
872571
  return `cli@${version7}`;
872344
872572
  }
872345
872573
  var DebugLogger = class {
@@ -904992,7 +905220,7 @@ var LegacyDocsPublisher = class {
904992
905220
  previewId,
904993
905221
  disableTemplates: void 0,
904994
905222
  skipUpload,
904995
- cliVersion: "5.75.9",
905223
+ cliVersion: "5.77.0",
904996
905224
  loginCommand: "fern auth login"
904997
905225
  });
904998
905226
  if (taskContext.getResult() === TaskResult.Failure) {
@@ -971905,7 +972133,7 @@ function getAutomationContextFromEnv() {
971905
972133
  config_branch: process.env.FERN_CONFIG_BRANCH,
971906
972134
  config_pr_number: process.env.FERN_CONFIG_PR_NUMBER,
971907
972135
  trigger: process.env.GITHUB_EVENT_NAME,
971908
- cli_version: "5.75.9"
972136
+ cli_version: "5.77.0"
971909
972137
  };
971910
972138
  }
971911
972139
  function isAutomationMode() {
@@ -972737,7 +972965,7 @@ var CliContext = class _CliContext {
972737
972965
  if (false) {
972738
972966
  this.logger.error("CLI_VERSION is not defined");
972739
972967
  }
972740
- return "5.75.9";
972968
+ return "5.77.0";
972741
972969
  }
972742
972970
  getCliName() {
972743
972971
  if (false) {
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "5.75.9",
2
+ "version": "5.77.0",
3
3
  "repository": {
4
4
  "type": "git",
5
5
  "url": "git+https://github.com/fern-api/fern.git",