@fern-api/fern-api-dev 5.59.0 → 5.61.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 +203 -120
  2. package/package.json +1 -1
package/cli.cjs CHANGED
@@ -60204,6 +60204,42 @@ var init_AsymmetricAlgorithmSchema2 = __esm({
60204
60204
  }
60205
60205
  });
60206
60206
 
60207
+ // ../fern-definition/schema/lib/schemas/serialization/resources/webhooks/types/WebhookPayloadBodySortSchema.js
60208
+ var WebhookPayloadBodySortSchema2;
60209
+ var init_WebhookPayloadBodySortSchema2 = __esm({
60210
+ "../fern-definition/schema/lib/schemas/serialization/resources/webhooks/types/WebhookPayloadBodySortSchema.js"() {
60211
+ "use strict";
60212
+ init_core();
60213
+ WebhookPayloadBodySortSchema2 = schemas_exports.enum_(["alphabetical"]);
60214
+ }
60215
+ });
60216
+
60217
+ // ../fern-definition/schema/lib/schemas/serialization/resources/webhooks/types/WebhookPayloadComponentSchema.js
60218
+ var WebhookPayloadComponentSchema2;
60219
+ var init_WebhookPayloadComponentSchema2 = __esm({
60220
+ "../fern-definition/schema/lib/schemas/serialization/resources/webhooks/types/WebhookPayloadComponentSchema.js"() {
60221
+ "use strict";
60222
+ init_core();
60223
+ WebhookPayloadComponentSchema2 = schemas_exports.enum_(["body", "timestamp", "notification-url", "message-id"]);
60224
+ }
60225
+ });
60226
+
60227
+ // ../fern-definition/schema/lib/schemas/serialization/resources/webhooks/types/WebhookPayloadFormatSchema.js
60228
+ var WebhookPayloadFormatSchema;
60229
+ var init_WebhookPayloadFormatSchema2 = __esm({
60230
+ "../fern-definition/schema/lib/schemas/serialization/resources/webhooks/types/WebhookPayloadFormatSchema.js"() {
60231
+ "use strict";
60232
+ init_core();
60233
+ init_WebhookPayloadBodySortSchema2();
60234
+ init_WebhookPayloadComponentSchema2();
60235
+ WebhookPayloadFormatSchema = schemas_exports.object({
60236
+ components: schemas_exports.list(WebhookPayloadComponentSchema2),
60237
+ delimiter: schemas_exports.string().optional(),
60238
+ "body-sort": WebhookPayloadBodySortSchema2.optional()
60239
+ });
60240
+ }
60241
+ });
60242
+
60207
60243
  // ../fern-definition/schema/lib/schemas/serialization/resources/webhooks/types/WebhookSignatureEncodingSchema.js
60208
60244
  var WebhookSignatureEncodingSchema2;
60209
60245
  var init_WebhookSignatureEncodingSchema2 = __esm({
@@ -60246,6 +60282,7 @@ var init_AsymmetricSignatureSchema2 = __esm({
60246
60282
  "use strict";
60247
60283
  init_core();
60248
60284
  init_AsymmetricAlgorithmSchema2();
60285
+ init_WebhookPayloadFormatSchema2();
60249
60286
  init_WebhookSignatureEncodingSchema2();
60250
60287
  init_WebhookTimestampSchema2();
60251
60288
  AsymmetricSignatureSchema = schemas_exports.object({
@@ -60255,47 +60292,12 @@ var init_AsymmetricSignatureSchema2 = __esm({
60255
60292
  "signature-prefix": schemas_exports.string().optional(),
60256
60293
  "jwks-url": schemas_exports.string().optional(),
60257
60294
  "key-id-header": schemas_exports.string().optional(),
60295
+ "payload-format": WebhookPayloadFormatSchema.optional(),
60258
60296
  timestamp: WebhookTimestampSchema.optional()
60259
60297
  });
60260
60298
  }
60261
60299
  });
60262
60300
 
60263
- // ../fern-definition/schema/lib/schemas/serialization/resources/webhooks/types/WebhookPayloadBodySortSchema.js
60264
- var WebhookPayloadBodySortSchema2;
60265
- var init_WebhookPayloadBodySortSchema2 = __esm({
60266
- "../fern-definition/schema/lib/schemas/serialization/resources/webhooks/types/WebhookPayloadBodySortSchema.js"() {
60267
- "use strict";
60268
- init_core();
60269
- WebhookPayloadBodySortSchema2 = schemas_exports.enum_(["alphabetical"]);
60270
- }
60271
- });
60272
-
60273
- // ../fern-definition/schema/lib/schemas/serialization/resources/webhooks/types/WebhookPayloadComponentSchema.js
60274
- var WebhookPayloadComponentSchema2;
60275
- var init_WebhookPayloadComponentSchema2 = __esm({
60276
- "../fern-definition/schema/lib/schemas/serialization/resources/webhooks/types/WebhookPayloadComponentSchema.js"() {
60277
- "use strict";
60278
- init_core();
60279
- WebhookPayloadComponentSchema2 = schemas_exports.enum_(["body", "timestamp", "notification-url", "message-id"]);
60280
- }
60281
- });
60282
-
60283
- // ../fern-definition/schema/lib/schemas/serialization/resources/webhooks/types/WebhookPayloadFormatSchema.js
60284
- var WebhookPayloadFormatSchema;
60285
- var init_WebhookPayloadFormatSchema2 = __esm({
60286
- "../fern-definition/schema/lib/schemas/serialization/resources/webhooks/types/WebhookPayloadFormatSchema.js"() {
60287
- "use strict";
60288
- init_core();
60289
- init_WebhookPayloadBodySortSchema2();
60290
- init_WebhookPayloadComponentSchema2();
60291
- WebhookPayloadFormatSchema = schemas_exports.object({
60292
- components: schemas_exports.list(WebhookPayloadComponentSchema2),
60293
- delimiter: schemas_exports.string().optional(),
60294
- "body-sort": WebhookPayloadBodySortSchema2.optional()
60295
- });
60296
- }
60297
- });
60298
-
60299
60301
  // ../fern-definition/schema/lib/schemas/serialization/resources/webhooks/types/WebhookSignatureAlgorithmSchema.js
60300
60302
  var WebhookSignatureAlgorithmSchema2;
60301
60303
  var init_WebhookSignatureAlgorithmSchema2 = __esm({
@@ -80570,6 +80572,42 @@ var init_AsymmetricKeySource2 = __esm({
80570
80572
  }
80571
80573
  });
80572
80574
 
80575
+ // ../../ir-sdk/lib/sdk/serialization/resources/webhooks/types/WebhookPayloadBodySort.js
80576
+ var WebhookPayloadBodySort2;
80577
+ var init_WebhookPayloadBodySort2 = __esm({
80578
+ "../../ir-sdk/lib/sdk/serialization/resources/webhooks/types/WebhookPayloadBodySort.js"() {
80579
+ "use strict";
80580
+ init_core2();
80581
+ WebhookPayloadBodySort2 = schemas_exports3.enum_(["ALPHABETICAL"]);
80582
+ }
80583
+ });
80584
+
80585
+ // ../../ir-sdk/lib/sdk/serialization/resources/webhooks/types/WebhookPayloadComponent.js
80586
+ var WebhookPayloadComponent2;
80587
+ var init_WebhookPayloadComponent2 = __esm({
80588
+ "../../ir-sdk/lib/sdk/serialization/resources/webhooks/types/WebhookPayloadComponent.js"() {
80589
+ "use strict";
80590
+ init_core2();
80591
+ WebhookPayloadComponent2 = schemas_exports3.enum_(["BODY", "TIMESTAMP", "NOTIFICATION_URL", "MESSAGE_ID"]);
80592
+ }
80593
+ });
80594
+
80595
+ // ../../ir-sdk/lib/sdk/serialization/resources/webhooks/types/WebhookPayloadFormat.js
80596
+ var WebhookPayloadFormat;
80597
+ var init_WebhookPayloadFormat2 = __esm({
80598
+ "../../ir-sdk/lib/sdk/serialization/resources/webhooks/types/WebhookPayloadFormat.js"() {
80599
+ "use strict";
80600
+ init_core2();
80601
+ init_WebhookPayloadBodySort2();
80602
+ init_WebhookPayloadComponent2();
80603
+ WebhookPayloadFormat = schemas_exports3.objectWithoutOptionalProperties({
80604
+ components: schemas_exports3.list(WebhookPayloadComponent2),
80605
+ delimiter: schemas_exports3.string(),
80606
+ bodySort: WebhookPayloadBodySort2.optional()
80607
+ });
80608
+ }
80609
+ });
80610
+
80573
80611
  // ../../ir-sdk/lib/sdk/serialization/resources/webhooks/types/WebhookSignatureEncoding.js
80574
80612
  var WebhookSignatureEncoding2;
80575
80613
  var init_WebhookSignatureEncoding2 = __esm({
@@ -80615,6 +80653,7 @@ var init_AsymmetricKeySignatureVerification2 = __esm({
80615
80653
  init_NameAndWireValueOrString3();
80616
80654
  init_AsymmetricAlgorithm2();
80617
80655
  init_AsymmetricKeySource2();
80656
+ init_WebhookPayloadFormat2();
80618
80657
  init_WebhookSignatureEncoding2();
80619
80658
  init_WebhookTimestampConfig2();
80620
80659
  AsymmetricKeySignatureVerification = schemas_exports3.objectWithoutOptionalProperties({
@@ -80623,6 +80662,7 @@ var init_AsymmetricKeySignatureVerification2 = __esm({
80623
80662
  encoding: WebhookSignatureEncoding2,
80624
80663
  signaturePrefix: schemas_exports3.string().optional(),
80625
80664
  keySource: AsymmetricKeySource2,
80665
+ payloadFormat: WebhookPayloadFormat.optional(),
80626
80666
  timestamp: WebhookTimestampConfig.optional()
80627
80667
  });
80628
80668
  }
@@ -80638,42 +80678,6 @@ var init_HmacAlgorithm2 = __esm({
80638
80678
  }
80639
80679
  });
80640
80680
 
80641
- // ../../ir-sdk/lib/sdk/serialization/resources/webhooks/types/WebhookPayloadBodySort.js
80642
- var WebhookPayloadBodySort2;
80643
- var init_WebhookPayloadBodySort2 = __esm({
80644
- "../../ir-sdk/lib/sdk/serialization/resources/webhooks/types/WebhookPayloadBodySort.js"() {
80645
- "use strict";
80646
- init_core2();
80647
- WebhookPayloadBodySort2 = schemas_exports3.enum_(["ALPHABETICAL"]);
80648
- }
80649
- });
80650
-
80651
- // ../../ir-sdk/lib/sdk/serialization/resources/webhooks/types/WebhookPayloadComponent.js
80652
- var WebhookPayloadComponent2;
80653
- var init_WebhookPayloadComponent2 = __esm({
80654
- "../../ir-sdk/lib/sdk/serialization/resources/webhooks/types/WebhookPayloadComponent.js"() {
80655
- "use strict";
80656
- init_core2();
80657
- WebhookPayloadComponent2 = schemas_exports3.enum_(["BODY", "TIMESTAMP", "NOTIFICATION_URL", "MESSAGE_ID"]);
80658
- }
80659
- });
80660
-
80661
- // ../../ir-sdk/lib/sdk/serialization/resources/webhooks/types/WebhookPayloadFormat.js
80662
- var WebhookPayloadFormat;
80663
- var init_WebhookPayloadFormat2 = __esm({
80664
- "../../ir-sdk/lib/sdk/serialization/resources/webhooks/types/WebhookPayloadFormat.js"() {
80665
- "use strict";
80666
- init_core2();
80667
- init_WebhookPayloadBodySort2();
80668
- init_WebhookPayloadComponent2();
80669
- WebhookPayloadFormat = schemas_exports3.objectWithoutOptionalProperties({
80670
- components: schemas_exports3.list(WebhookPayloadComponent2),
80671
- delimiter: schemas_exports3.string(),
80672
- bodySort: WebhookPayloadBodySort2.optional()
80673
- });
80674
- }
80675
- });
80676
-
80677
80681
  // ../../ir-sdk/lib/sdk/serialization/resources/webhooks/types/HmacSignatureVerification.js
80678
80682
  var HmacSignatureVerification;
80679
80683
  var init_HmacSignatureVerification2 = __esm({
@@ -83620,6 +83624,15 @@ function getPackageNameFromGeneratorConfig(generatorInvocation) {
83620
83624
  }
83621
83625
  return void 0;
83622
83626
  }
83627
+ function getUserAgentTemplateFromGeneratorConfig(generatorInvocation) {
83628
+ if (typeof generatorInvocation.raw?.config === "object" && generatorInvocation.raw?.config !== null) {
83629
+ const template = generatorInvocation.raw.config["user-agent"];
83630
+ if (template != null) {
83631
+ return template;
83632
+ }
83633
+ }
83634
+ return void 0;
83635
+ }
83623
83636
  async function checkVersionDoesNotAlreadyExist({ version: version7, packageName, generatorInvocation, context: context3 }) {
83624
83637
  if (version7 == null) {
83625
83638
  return;
@@ -116905,6 +116918,7 @@ var init_DocsYmlSchemas = __esm({
116905
116918
  chatgpt: external_exports.boolean().optional(),
116906
116919
  claude: external_exports.boolean().optional(),
116907
116920
  cursor: external_exports.boolean().optional(),
116921
+ mcp: external_exports.boolean().optional(),
116908
116922
  vscode: external_exports.boolean().optional(),
116909
116923
  custom: external_exports.array(CustomPageAction).optional()
116910
116924
  });
@@ -122911,6 +122925,7 @@ var init_PageActionOptions2 = __esm({
122911
122925
  claude: schemas_exports6.boolean().optional(),
122912
122926
  claudeCode: schemas_exports6.property("claude-code", schemas_exports6.boolean().optional()),
122913
122927
  cursor: schemas_exports6.boolean().optional(),
122928
+ mcp: schemas_exports6.boolean().optional(),
122914
122929
  vscode: schemas_exports6.boolean().optional(),
122915
122930
  custom: schemas_exports6.list(CustomPageAction2).optional(),
122916
122931
  skills: SkillsPageActionConfig.optional()
@@ -137417,6 +137432,42 @@ var init_AsymmetricAlgorithm4 = __esm({
137417
137432
  }
137418
137433
  });
137419
137434
 
137435
+ // ../api-importers/openapi/openapi-ir/lib/sdk/serialization/resources/finalIr/types/WebhookPayloadBodySort.js
137436
+ var WebhookPayloadBodySort4;
137437
+ var init_WebhookPayloadBodySort4 = __esm({
137438
+ "../api-importers/openapi/openapi-ir/lib/sdk/serialization/resources/finalIr/types/WebhookPayloadBodySort.js"() {
137439
+ "use strict";
137440
+ init_core7();
137441
+ WebhookPayloadBodySort4 = schemas_exports9.enum_(["alphabetical"]);
137442
+ }
137443
+ });
137444
+
137445
+ // ../api-importers/openapi/openapi-ir/lib/sdk/serialization/resources/finalIr/types/WebhookPayloadComponent.js
137446
+ var WebhookPayloadComponent4;
137447
+ var init_WebhookPayloadComponent4 = __esm({
137448
+ "../api-importers/openapi/openapi-ir/lib/sdk/serialization/resources/finalIr/types/WebhookPayloadComponent.js"() {
137449
+ "use strict";
137450
+ init_core7();
137451
+ WebhookPayloadComponent4 = schemas_exports9.enum_(["body", "timestamp", "notification-url", "message-id"]);
137452
+ }
137453
+ });
137454
+
137455
+ // ../api-importers/openapi/openapi-ir/lib/sdk/serialization/resources/finalIr/types/WebhookPayloadFormat.js
137456
+ var WebhookPayloadFormat2;
137457
+ var init_WebhookPayloadFormat4 = __esm({
137458
+ "../api-importers/openapi/openapi-ir/lib/sdk/serialization/resources/finalIr/types/WebhookPayloadFormat.js"() {
137459
+ "use strict";
137460
+ init_core7();
137461
+ init_WebhookPayloadBodySort4();
137462
+ init_WebhookPayloadComponent4();
137463
+ WebhookPayloadFormat2 = schemas_exports9.objectWithoutOptionalProperties({
137464
+ components: schemas_exports9.list(WebhookPayloadComponent4),
137465
+ delimiter: schemas_exports9.string().optional(),
137466
+ bodySort: WebhookPayloadBodySort4.optional()
137467
+ });
137468
+ }
137469
+ });
137470
+
137420
137471
  // ../api-importers/openapi/openapi-ir/lib/sdk/serialization/resources/finalIr/types/WebhookSignatureEncoding.js
137421
137472
  var WebhookSignatureEncoding4;
137422
137473
  var init_WebhookSignatureEncoding4 = __esm({
@@ -137459,6 +137510,7 @@ var init_AsymmetricWebhookSignatureVerification2 = __esm({
137459
137510
  "use strict";
137460
137511
  init_core7();
137461
137512
  init_AsymmetricAlgorithm4();
137513
+ init_WebhookPayloadFormat4();
137462
137514
  init_WebhookSignatureEncoding4();
137463
137515
  init_WebhookTimestamp2();
137464
137516
  AsymmetricWebhookSignatureVerification = schemas_exports9.objectWithoutOptionalProperties({
@@ -137468,6 +137520,7 @@ var init_AsymmetricWebhookSignatureVerification2 = __esm({
137468
137520
  signaturePrefix: schemas_exports9.string().optional(),
137469
137521
  jwksUrl: schemas_exports9.string().optional(),
137470
137522
  keyIdHeader: schemas_exports9.string().optional(),
137523
+ payloadFormat: WebhookPayloadFormat2.optional(),
137471
137524
  timestamp: WebhookTimestamp.optional()
137472
137525
  });
137473
137526
  }
@@ -138427,42 +138480,6 @@ var init_GlobalSecurity2 = __esm({
138427
138480
  }
138428
138481
  });
138429
138482
 
138430
- // ../api-importers/openapi/openapi-ir/lib/sdk/serialization/resources/finalIr/types/WebhookPayloadBodySort.js
138431
- var WebhookPayloadBodySort4;
138432
- var init_WebhookPayloadBodySort4 = __esm({
138433
- "../api-importers/openapi/openapi-ir/lib/sdk/serialization/resources/finalIr/types/WebhookPayloadBodySort.js"() {
138434
- "use strict";
138435
- init_core7();
138436
- WebhookPayloadBodySort4 = schemas_exports9.enum_(["alphabetical"]);
138437
- }
138438
- });
138439
-
138440
- // ../api-importers/openapi/openapi-ir/lib/sdk/serialization/resources/finalIr/types/WebhookPayloadComponent.js
138441
- var WebhookPayloadComponent4;
138442
- var init_WebhookPayloadComponent4 = __esm({
138443
- "../api-importers/openapi/openapi-ir/lib/sdk/serialization/resources/finalIr/types/WebhookPayloadComponent.js"() {
138444
- "use strict";
138445
- init_core7();
138446
- WebhookPayloadComponent4 = schemas_exports9.enum_(["body", "timestamp", "notification-url", "message-id"]);
138447
- }
138448
- });
138449
-
138450
- // ../api-importers/openapi/openapi-ir/lib/sdk/serialization/resources/finalIr/types/WebhookPayloadFormat.js
138451
- var WebhookPayloadFormat2;
138452
- var init_WebhookPayloadFormat4 = __esm({
138453
- "../api-importers/openapi/openapi-ir/lib/sdk/serialization/resources/finalIr/types/WebhookPayloadFormat.js"() {
138454
- "use strict";
138455
- init_core7();
138456
- init_WebhookPayloadBodySort4();
138457
- init_WebhookPayloadComponent4();
138458
- WebhookPayloadFormat2 = schemas_exports9.objectWithoutOptionalProperties({
138459
- components: schemas_exports9.list(WebhookPayloadComponent4),
138460
- delimiter: schemas_exports9.string().optional(),
138461
- bodySort: WebhookPayloadBodySort4.optional()
138462
- });
138463
- }
138464
- });
138465
-
138466
138483
  // ../api-importers/openapi/openapi-ir/lib/sdk/serialization/resources/finalIr/types/WebhookSignatureAlgorithm.js
138467
138484
  var WebhookSignatureAlgorithm2;
138468
138485
  var init_WebhookSignatureAlgorithm2 = __esm({
@@ -146033,6 +146050,7 @@ function convertSignatureVerification(signatureVerification) {
146033
146050
  "signature-prefix": signatureVerification.signaturePrefix,
146034
146051
  "jwks-url": signatureVerification.jwksUrl,
146035
146052
  "key-id-header": signatureVerification.keyIdHeader,
146053
+ "payload-format": convertPayloadFormat(signatureVerification.payloadFormat),
146036
146054
  timestamp: convertTimestamp(signatureVerification.timestamp)
146037
146055
  };
146038
146056
  default:
@@ -165271,6 +165289,7 @@ function convertSignatureSchema(extension4) {
165271
165289
  signaturePrefix: extension4["signature-prefix"],
165272
165290
  jwksUrl: extension4["jwks-url"],
165273
165291
  keyIdHeader: extension4["key-id-header"],
165292
+ payloadFormat: convertPayloadFormat2(extension4["payload-format"]),
165274
165293
  timestamp: convertTimestamp2(extension4.timestamp)
165275
165294
  });
165276
165295
  }
@@ -232162,6 +232181,7 @@ function convertPageActions(pageActions, absoluteFilepathToDocsConfig) {
232162
232181
  claude: pageActions.options?.claude ?? true,
232163
232182
  cursor: pageActions.options?.cursor ?? true,
232164
232183
  claudeCode: pageActions.options?.claudeCode ?? true,
232184
+ mcp: pageActions.options?.mcp ?? true,
232165
232185
  vscode: pageActions.options?.vscode ?? false,
232166
232186
  custom: (pageActions.options?.custom ?? []).map((action) => convertCustomPageAction(action, absoluteFilepathToDocsConfig)),
232167
232187
  skills: convertSkillsPageAction(pageActions.options?.skills)
@@ -273613,6 +273633,7 @@ function convertAsymmetricSignature({ asymmetric, file: file4 }) {
273613
273633
  encoding: convertSignatureEncoding2(asymmetric.encoding),
273614
273634
  signaturePrefix: asymmetric["signature-prefix"],
273615
273635
  keySource: convertKeySource({ asymmetric, file: file4 }),
273636
+ payloadFormat: asymmetric["payload-format"] != null ? convertPayloadFormat3(asymmetric["payload-format"]) : void 0,
273616
273637
  timestamp: convertTimestampConfig({ timestamp: asymmetric.timestamp, file: file4 })
273617
273638
  };
273618
273639
  }
@@ -275740,7 +275761,7 @@ var init_getIrGenerationSettings = __esm({
275740
275761
  });
275741
275762
 
275742
275763
  // ../generation/ir-generator/lib/generateIntermediateRepresentation.js
275743
- function generateIntermediateRepresentation({ workspace, generationLanguage, keywords: keywords3, smartCasing, exampleGeneration, audiences, readme, packageName, version: version7, fdrApiDefinitionId, sourceResolver, disableDynamicExamples, dynamicGeneratorConfig, generationMetadata }) {
275764
+ function generateIntermediateRepresentation({ workspace, generationLanguage, keywords: keywords3, smartCasing, exampleGeneration, audiences, readme, packageName, userAgentTemplate, organization, version: version7, fdrApiDefinitionId, sourceResolver, disableDynamicExamples, dynamicGeneratorConfig, generationMetadata }) {
275744
275765
  const irSettings = getIrGenerationSettings({ workspace });
275745
275766
  const casingsGenerator = constructCasingsGenerator({ generationLanguage, keywords: keywords3, smartCasing });
275746
275767
  const irGraph = new IrGraph(audiences);
@@ -276075,10 +276096,27 @@ function generateIntermediateRepresentation({ workspace, generationLanguage, key
276075
276096
  language: "X-Fern-Language",
276076
276097
  sdkName: "X-Fern-SDK-Name",
276077
276098
  sdkVersion: "X-Fern-SDK-Version",
276078
- userAgent: !hasCustomUserAgentHeader && version7 != null && packageName != null ? {
276079
- header: "User-Agent",
276080
- value: `${packageName}/${version7}`
276081
- } : void 0
276099
+ userAgent: (() => {
276100
+ if (hasCustomUserAgentHeader) {
276101
+ return void 0;
276102
+ }
276103
+ if (userAgentTemplate != null && version7 != null) {
276104
+ const vars = {
276105
+ version: version7,
276106
+ packageName: packageName ?? "",
276107
+ language: generationLanguage ?? "",
276108
+ generatorVersion: generationMetadata?.generatorVersion ?? "",
276109
+ organization: organization ?? "",
276110
+ apiName: workspace.definition.rootApiFile.contents.name ?? ""
276111
+ };
276112
+ const value2 = userAgentTemplate.replace(/\{(\w+)\}/g, (_5, key2) => vars[key2] ?? "");
276113
+ return { header: "User-Agent", value: value2 };
276114
+ }
276115
+ if (version7 != null && packageName != null) {
276116
+ return { header: "User-Agent", value: `${packageName}/${version7}` };
276117
+ }
276118
+ return void 0;
276119
+ })()
276082
276120
  }
276083
276121
  };
276084
276122
  const resolvedReadme = readme ?? workspace.generatorsConfiguration?.rawConfiguration.readme;
@@ -323789,6 +323827,17 @@ var init_fern_schema = __esm({
323789
323827
  ],
323790
323828
  description: "HTTP header containing the key ID for JWKS key selection."
323791
323829
  },
323830
+ "payload-format": {
323831
+ oneOf: [
323832
+ {
323833
+ $ref: "#/definitions/webhooks.WebhookPayloadFormatSchema"
323834
+ },
323835
+ {
323836
+ type: "null"
323837
+ }
323838
+ ],
323839
+ description: 'Describes how the signed payload is constructed.\nDefaults to body-only (components: [body], delimiter: "").'
323840
+ },
323792
323841
  timestamp: {
323793
323842
  oneOf: [
323794
323843
  {
@@ -328094,6 +328143,17 @@ var init_package_yml_schema = __esm({
328094
328143
  ],
328095
328144
  description: "HTTP header containing the key ID for JWKS key selection."
328096
328145
  },
328146
+ "payload-format": {
328147
+ oneOf: [
328148
+ {
328149
+ $ref: "#/definitions/webhooks.WebhookPayloadFormatSchema"
328150
+ },
328151
+ {
328152
+ type: "null"
328153
+ }
328154
+ ],
328155
+ description: 'Describes how the signed payload is constructed.\nDefaults to body-only (components: [body], delimiter: "").'
328156
+ },
328097
328157
  timestamp: {
328098
328158
  oneOf: [
328099
328159
  {
@@ -460862,6 +460922,7 @@ https://buildwithfern.com/learn/docs/getting-started/project-structure#api-defin
460862
460922
  cursor: this.parsedDocsConfig.pageActions.options.cursor,
460863
460923
  claudeCode: this.parsedDocsConfig.pageActions.options.claudeCode,
460864
460924
  vscode: this.parsedDocsConfig.pageActions.options.vscode,
460925
+ ...!this.parsedDocsConfig.pageActions.options.mcp ? { mcp: false } : {},
460865
460926
  custom: this.parsedDocsConfig.pageActions.options.custom.map((customAction) => ({
460866
460927
  title: customAction.title,
460867
460928
  subtitle: customAction.subtitle,
@@ -687088,7 +687149,7 @@ var AccessTokenPosthogManager = class {
687088
687149
  properties: {
687089
687150
  ...event,
687090
687151
  ...event.properties,
687091
- version: "5.59.0",
687152
+ version: "5.61.0",
687092
687153
  usingAccessToken: true,
687093
687154
  ...getRunIdProperties()
687094
687155
  }
@@ -687154,7 +687215,7 @@ var UserPosthogManager = class {
687154
687215
  distinctId: this.userId ?? await this.getPersistedDistinctId(),
687155
687216
  event: "CLI",
687156
687217
  properties: {
687157
- version: "5.59.0",
687218
+ version: "5.61.0",
687158
687219
  ...event,
687159
687220
  ...event.properties,
687160
687221
  usingAccessToken: false,
@@ -868249,7 +868310,7 @@ var LOCAL_STORAGE_FOLDER4 = ".fern-dev";
868249
868310
  var LOGS_FOLDER_NAME = "logs";
868250
868311
  var MAX_LOGS_DIR_SIZE_BYTES = 100 * 1024 * 1024;
868251
868312
  function getCliSource() {
868252
- const version7 = "5.59.0";
868313
+ const version7 = "5.61.0";
868253
868314
  return `cli@${version7}`;
868254
868315
  }
868255
868316
  var DebugLogger = class {
@@ -894648,6 +894709,17 @@ var definitions6 = {
894648
894709
  ],
894649
894710
  description: 'Controls the "Connect to Cursor" button, which installs this docs site\'s MCP server in\nCursor via a deeplink. The button only renders on docs sites that have Ask AI enabled; set\nto `false` to hide it on those sites.\n\n@default: true'
894650
894711
  },
894712
+ mcp: {
894713
+ oneOf: [
894714
+ {
894715
+ type: "boolean"
894716
+ },
894717
+ {
894718
+ type: "null"
894719
+ }
894720
+ ],
894721
+ description: 'Controls whether the MCP server endpoint (`/_mcp/server`) is enabled for this docs site.\nWhen set to `false`, the endpoint returns 404, the MCP server URL is omitted from\n`llms.txt` and agent prompts, and the "Connect to Claude Code" / "Connect to Cursor"\nbuttons are hidden. Useful for authenticated docs sites where unauthenticated AI agents\ndiscovering the endpoint would cause confusion.\n\n@default: true'
894722
+ },
894651
894723
  vscode: {
894652
894724
  oneOf: [
894653
894725
  {
@@ -897987,6 +898059,7 @@ async function runRemoteGenerationForGenerator({ projectConfig, organization, wo
897987
898059
  });
897988
898060
  }
897989
898061
  }
898062
+ const userAgentTemplate = getUserAgentTemplateFromGeneratorConfig(generatorInvocation);
897990
898063
  const ir3 = generateIntermediateRepresentation({
897991
898064
  workspace,
897992
898065
  generationLanguage: generatorInvocation.language,
@@ -898000,6 +898073,8 @@ async function runRemoteGenerationForGenerator({ projectConfig, organization, wo
898000
898073
  audiences,
898001
898074
  readme,
898002
898075
  packageName,
898076
+ userAgentTemplate,
898077
+ organization,
898003
898078
  version: resolvedVersion,
898004
898079
  context: interactiveTaskContext,
898005
898080
  sourceResolver: new SourceResolverImpl(interactiveTaskContext, workspace),
@@ -900730,7 +900805,7 @@ var LegacyDocsPublisher = class {
900730
900805
  previewId,
900731
900806
  disableTemplates: void 0,
900732
900807
  skipUpload,
900733
- cliVersion: "5.59.0",
900808
+ cliVersion: "5.61.0",
900734
900809
  loginCommand: "fern auth login"
900735
900810
  });
900736
900811
  if (taskContext.getResult() === TaskResult.Failure) {
@@ -953533,7 +953608,8 @@ init_lib17();
953533
953608
  init_lib36();
953534
953609
  init_lib26();
953535
953610
  init_lib22();
953536
- async function getIntermediateRepresentation({ workspace, audiences, generatorInvocation, context: context3, irVersionOverride, version: version7, packageName, sourceConfig, includeOptionalRequestPropertyExamples, ir: ir3 }) {
953611
+ async function getIntermediateRepresentation({ workspace, audiences, generatorInvocation, context: context3, irVersionOverride, version: version7, packageName, userAgentTemplate, organization, sourceConfig, includeOptionalRequestPropertyExamples, ir: ir3 }) {
953612
+ const resolvedUserAgentTemplate = userAgentTemplate ?? getUserAgentTemplateFromGeneratorConfig(generatorInvocation);
953537
953613
  const intermediateRepresentation = ir3 ?? generateIntermediateRepresentation({
953538
953614
  workspace,
953539
953615
  audiences,
@@ -953547,6 +953623,8 @@ async function getIntermediateRepresentation({ workspace, audiences, generatorIn
953547
953623
  readme: generatorInvocation.readme,
953548
953624
  version: version7,
953549
953625
  packageName,
953626
+ userAgentTemplate: resolvedUserAgentTemplate,
953627
+ organization,
953550
953628
  context: context3,
953551
953629
  sourceResolver: new SourceResolverImpl(context3, workspace),
953552
953630
  generationMetadata: {
@@ -954869,6 +954947,7 @@ async function runLocalGenerationForWorkspace({ token, projectConfig, workspace,
954869
954947
  generatorInvocation
954870
954948
  });
954871
954949
  const packageName = getPackageNameFromGeneratorConfig(generatorInvocation);
954950
+ const userAgentTemplate = getUserAgentTemplateFromGeneratorConfig(generatorInvocation);
954872
954951
  version7 = version7 ?? await computeSemanticVersion({ packageName, generatorInvocation });
954873
954952
  const intermediateRepresentation = generateIntermediateRepresentation({
954874
954953
  workspace: fernWorkspace,
@@ -954883,6 +954962,8 @@ async function runLocalGenerationForWorkspace({ token, projectConfig, workspace,
954883
954962
  readme: generatorInvocation.readme,
954884
954963
  version: version7 ?? await computeSemanticVersion({ packageName, generatorInvocation }),
954885
954964
  packageName,
954965
+ userAgentTemplate,
954966
+ organization: projectConfig.organization,
954886
954967
  context: context3,
954887
954968
  sourceResolver: new SourceResolverImpl(context3, fernWorkspace),
954888
954969
  dynamicGeneratorConfig,
@@ -955414,6 +955495,8 @@ var GenerationRunner = class {
955414
955495
  readme: generatorInvocation.readme,
955415
955496
  version: outputVersionOverride,
955416
955497
  packageName: generators_yml_exports.getPackageName({ generatorInvocation }),
955498
+ userAgentTemplate: getUserAgentTemplateFromGeneratorConfig(generatorInvocation),
955499
+ organization,
955417
955500
  context: context3,
955418
955501
  sourceResolver: new SourceResolverImpl(context3, workspace),
955419
955502
  generationMetadata: {
@@ -967000,7 +967083,7 @@ function getAutomationContextFromEnv() {
967000
967083
  config_branch: process.env.FERN_CONFIG_BRANCH,
967001
967084
  config_pr_number: process.env.FERN_CONFIG_PR_NUMBER,
967002
967085
  trigger: process.env.GITHUB_EVENT_NAME,
967003
- cli_version: "5.59.0"
967086
+ cli_version: "5.61.0"
967004
967087
  };
967005
967088
  }
967006
967089
  function isAutomationMode() {
@@ -967832,7 +967915,7 @@ var CliContext = class _CliContext {
967832
967915
  if (false) {
967833
967916
  this.logger.error("CLI_VERSION is not defined");
967834
967917
  }
967835
- return "5.59.0";
967918
+ return "5.61.0";
967836
967919
  }
967837
967920
  getCliName() {
967838
967921
  if (false) {
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "5.59.0",
2
+ "version": "5.61.0",
3
3
  "repository": {
4
4
  "type": "git",
5
5
  "url": "git+https://github.com/fern-api/fern.git",