@fern-api/fern-api-dev 5.119.0 → 5.119.2

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 +264 -249
  2. package/package.json +1 -1
package/cli.cjs CHANGED
@@ -353917,7 +353917,8 @@ var init_AbstractParameterConverter = __esm({
353917
353917
  clientDefault: void 0,
353918
353918
  defaultValue: parameterDefaultValue,
353919
353919
  v2Examples: this.convertParameterExamples({
353920
- schema: parameterSchemaWithExampleOverride ?? schema
353920
+ schema: parameterSchemaWithExampleOverride ?? schema,
353921
+ originalSchema: schema
353921
353922
  }),
353922
353923
  availability,
353923
353924
  explode: this.getExplodeForQueryParameter()
@@ -353938,7 +353939,8 @@ var init_AbstractParameterConverter = __esm({
353938
353939
  clientDefault: void 0,
353939
353940
  defaultValue: parameterDefaultValue,
353940
353941
  v2Examples: this.convertParameterExamples({
353941
- schema: parameterSchemaWithExampleOverride ?? schema
353942
+ schema: parameterSchemaWithExampleOverride ?? schema,
353943
+ originalSchema: schema
353942
353944
  }),
353943
353945
  availability
353944
353946
  },
@@ -353955,7 +353957,8 @@ var init_AbstractParameterConverter = __esm({
353955
353957
  variable: void 0,
353956
353958
  clientDefault: void 0,
353957
353959
  v2Examples: this.convertParameterExamples({
353958
- schema: parameterSchemaWithExampleOverride ?? schema
353960
+ schema: parameterSchemaWithExampleOverride ?? schema,
353961
+ originalSchema: schema
353959
353962
  }),
353960
353963
  explode: this.getExplodeForPathParameter()
353961
353964
  },
@@ -353991,7 +353994,7 @@ var init_AbstractParameterConverter = __esm({
353991
353994
  }
353992
353995
  return schema;
353993
353996
  }
353994
- convertParameterExamples({ schema }) {
353997
+ convertParameterExamples({ schema, originalSchema }) {
353995
353998
  const v2Examples = {
353996
353999
  userSpecifiedExamples: {},
353997
354000
  autogeneratedExamples: {}
@@ -354019,6 +354022,23 @@ var init_AbstractParameterConverter = __esm({
354019
354022
  exampleName: parameterExampleName
354020
354023
  });
354021
354024
  }
354025
+ if (Object.keys(v2Examples.userSpecifiedExamples).length === 0) {
354026
+ const schemaExamples = this.context.getExamplesFromSchema({
354027
+ schema: this.resolveSchemaChain(originalSchema),
354028
+ breadcrumbs: this.breadcrumbs
354029
+ });
354030
+ for (const schemaExample of schemaExamples) {
354031
+ const exampleName = this.context.generateUniqueName({
354032
+ prefix: `${this.parameter.name}_example`,
354033
+ existingNames: Object.keys(v2Examples.userSpecifiedExamples)
354034
+ });
354035
+ v2Examples.userSpecifiedExamples[exampleName] = this.generateOrValidateExample({
354036
+ schema,
354037
+ example: this.context.resolveExample(schemaExample),
354038
+ exampleName
354039
+ });
354040
+ }
354041
+ }
354022
354042
  if (Object.keys(v2Examples.userSpecifiedExamples).length === 0) {
354023
354043
  const exampleName = `${this.parameter.name}_example`;
354024
354044
  v2Examples.autogeneratedExamples[exampleName] = this.generateOrValidateExample({
@@ -354030,6 +354050,26 @@ var init_AbstractParameterConverter = __esm({
354030
354050
  }
354031
354051
  return v2Examples;
354032
354052
  }
354053
+ resolveSchemaChain(schemaOrReference) {
354054
+ const visited = /* @__PURE__ */ new Set();
354055
+ let current3 = schemaOrReference;
354056
+ while (this.context.isReferenceObject(current3)) {
354057
+ if (visited.has(current3.$ref)) {
354058
+ return void 0;
354059
+ }
354060
+ visited.add(current3.$ref);
354061
+ const resolved = this.context.resolveReference({
354062
+ reference: current3,
354063
+ breadcrumbs: this.breadcrumbs,
354064
+ skipErrorCollector: true
354065
+ });
354066
+ if (!resolved.resolved) {
354067
+ return void 0;
354068
+ }
354069
+ current3 = resolved.value;
354070
+ }
354071
+ return current3;
354072
+ }
354033
354073
  generateOrValidateExample({ schema, example }) {
354034
354074
  const exampleConverter = new ExampleConverter({
354035
354075
  breadcrumbs: this.breadcrumbs,
@@ -354094,6 +354134,171 @@ var init_abstract = __esm({
354094
354134
  }
354095
354135
  });
354096
354136
 
354137
+ // ../api-importers/v3-importer-commons/lib/converters/ResponseHeaderConverter.js
354138
+ function convertResponseHeaders({ context: context3, breadcrumbs, headers: responseHeaders }) {
354139
+ const headers2 = [];
354140
+ const inlinedTypes = {};
354141
+ const headerBreadcrumbs = breadcrumbs ?? [];
354142
+ if (responseHeaders == null) {
354143
+ return { headers: headers2, inlinedTypes };
354144
+ }
354145
+ for (const [headerName, headerOrRef] of Object.entries(responseHeaders)) {
354146
+ const resolvedHeader = context3.resolveMaybeReference({
354147
+ schemaOrReference: headerOrRef,
354148
+ breadcrumbs: [...headerBreadcrumbs, "headers", headerName]
354149
+ });
354150
+ if (resolvedHeader == null) {
354151
+ continue;
354152
+ }
354153
+ const headerSchema2 = getHeaderSchema({ context: context3, header: resolvedHeader });
354154
+ let valueType = AbstractConverter.OPTIONAL_STRING;
354155
+ let resolvedSchema;
354156
+ const availability = context3.getAvailability({
354157
+ node: resolvedHeader,
354158
+ breadcrumbs: [...headerBreadcrumbs, "headers", headerName]
354159
+ });
354160
+ if (headerSchema2 != null) {
354161
+ resolvedSchema = context3.resolveMaybeReference({
354162
+ schemaOrReference: headerSchema2,
354163
+ breadcrumbs: [...headerBreadcrumbs, "headers", headerName, "schema"]
354164
+ });
354165
+ if (resolvedSchema?.type === "number" || resolvedSchema?.type === "integer") {
354166
+ valueType = TypeReference2.primitive({
354167
+ v1: resolvedSchema.type === "integer" ? "INTEGER" : "DOUBLE",
354168
+ v2: resolvedSchema.type === "integer" ? PrimitiveTypeV2.integer({ default: void 0, validation: void 0 }) : PrimitiveTypeV2.double({ default: void 0, validation: void 0 })
354169
+ });
354170
+ } else if (resolvedSchema?.type === "boolean") {
354171
+ valueType = TypeReference2.primitive({
354172
+ v1: "BOOLEAN",
354173
+ v2: PrimitiveTypeV2.boolean({ default: void 0 })
354174
+ });
354175
+ } else {
354176
+ const convertedHeaderSchema = new SchemaOrReferenceConverter({
354177
+ context: context3,
354178
+ breadcrumbs: [...headerBreadcrumbs, "headers", headerName, "schema"],
354179
+ schemaOrReference: headerSchema2,
354180
+ wrapAsOptional: true,
354181
+ schemaIdOverride: context3.convertBreadcrumbsToName([...headerBreadcrumbs, "headers", headerName])
354182
+ }).convert();
354183
+ if (convertedHeaderSchema != null) {
354184
+ valueType = convertedHeaderSchema.type;
354185
+ for (const [typeId, inlinedType] of Object.entries(convertedHeaderSchema.inlinedTypes)) {
354186
+ inlinedTypes[typeId] = inlinedType;
354187
+ }
354188
+ }
354189
+ }
354190
+ }
354191
+ const v2Examples = convertHeaderExamples3({
354192
+ context: context3,
354193
+ breadcrumbs: headerBreadcrumbs,
354194
+ header: resolvedHeader,
354195
+ headerName,
354196
+ schema: headerSchema2
354197
+ });
354198
+ headers2.push({
354199
+ name: context3.casingsGenerator.generateNameAndWireValue({
354200
+ name: headerName,
354201
+ wireValue: headerName
354202
+ }),
354203
+ docs: resolvedHeader.description,
354204
+ valueType,
354205
+ env: void 0,
354206
+ v2Examples,
354207
+ availability,
354208
+ clientDefault: void 0,
354209
+ defaultValue: resolvedSchema?.default
354210
+ });
354211
+ }
354212
+ return { headers: headers2, inlinedTypes };
354213
+ }
354214
+ function getHeaderSchema({ context: context3, header }) {
354215
+ if (header.schema != null) {
354216
+ return header.schema;
354217
+ }
354218
+ if (!context3.settings.respectParameterContent || header.content == null) {
354219
+ return void 0;
354220
+ }
354221
+ for (const [contentType, mediaTypeObject] of Object.entries(header.content)) {
354222
+ if (mediaTypeObject.schema != null && MediaType.parse(contentType)?.isJSON()) {
354223
+ return mediaTypeObject.schema;
354224
+ }
354225
+ }
354226
+ return void 0;
354227
+ }
354228
+ function convertHeaderExamples3({ context: context3, breadcrumbs, header, headerName, schema }) {
354229
+ const v2Examples = {
354230
+ userSpecifiedExamples: {},
354231
+ autogeneratedExamples: {}
354232
+ };
354233
+ const headerExample = header.example;
354234
+ const headerExamples = header.examples;
354235
+ for (const [key2, example] of Object.entries(headerExamples ?? {})) {
354236
+ const resolvedExample = context3.resolveExampleWithValue(example);
354237
+ if (resolvedExample != null) {
354238
+ v2Examples.userSpecifiedExamples[key2] = generateHeaderExample({
354239
+ context: context3,
354240
+ breadcrumbs,
354241
+ schema,
354242
+ example: resolvedExample
354243
+ });
354244
+ }
354245
+ }
354246
+ if (headerExample != null) {
354247
+ const exampleName = context3.generateUniqueName({
354248
+ prefix: `${headerName}_example`,
354249
+ existingNames: Object.keys(v2Examples.userSpecifiedExamples)
354250
+ });
354251
+ v2Examples.userSpecifiedExamples[exampleName] = generateHeaderExample({
354252
+ context: context3,
354253
+ breadcrumbs,
354254
+ schema,
354255
+ example: headerExample
354256
+ });
354257
+ }
354258
+ if (Object.keys(v2Examples.userSpecifiedExamples).length === 0 && schema != null) {
354259
+ const exampleName = `${headerName}_example`;
354260
+ v2Examples.autogeneratedExamples[exampleName] = generateHeaderExample({
354261
+ context: context3,
354262
+ breadcrumbs,
354263
+ schema,
354264
+ example: void 0,
354265
+ ignoreErrors: true
354266
+ });
354267
+ }
354268
+ return v2Examples;
354269
+ }
354270
+ function generateHeaderExample({ context: context3, breadcrumbs, schema, example, ignoreErrors }) {
354271
+ if (schema == null) {
354272
+ return example;
354273
+ }
354274
+ const exampleConverter = new ExampleConverter({
354275
+ breadcrumbs,
354276
+ context: context3,
354277
+ schema,
354278
+ example
354279
+ });
354280
+ const { validExample: convertedExample, errors: errors4 } = exampleConverter.convert();
354281
+ if (!ignoreErrors) {
354282
+ errors4.forEach((error50) => {
354283
+ context3.errorCollector.collect({
354284
+ message: error50.message,
354285
+ path: error50.path
354286
+ });
354287
+ });
354288
+ }
354289
+ return convertedExample;
354290
+ }
354291
+ var init_ResponseHeaderConverter = __esm({
354292
+ "../api-importers/v3-importer-commons/lib/converters/ResponseHeaderConverter.js"() {
354293
+ "use strict";
354294
+ init_lib4();
354295
+ init_lib9();
354296
+ init_AbstractConverter();
354297
+ init_ExampleConverter();
354298
+ init_SchemaOrReferenceConverter();
354299
+ }
354300
+ });
354301
+
354097
354302
  // ../api-importers/v3-importer-commons/lib/extensions/x-fern-server-name.js
354098
354303
  var ServerNameExtension;
354099
354304
  var init_x_fern_server_name = __esm({
@@ -354364,13 +354569,15 @@ __export(converters_exports, {
354364
354569
  AbstractConverters: () => abstract_exports,
354365
354570
  ExampleConverter: () => ExampleConverter,
354366
354571
  SchemaConverters: () => schema_exports,
354367
- ServersConverter: () => ServersConverter
354572
+ ServersConverter: () => ServersConverter,
354573
+ convertResponseHeaders: () => convertResponseHeaders
354368
354574
  });
354369
354575
  var init_converters = __esm({
354370
354576
  "../api-importers/v3-importer-commons/lib/converters/index.js"() {
354371
354577
  "use strict";
354372
354578
  init_abstract();
354373
354579
  init_ExampleConverter();
354580
+ init_ResponseHeaderConverter();
354374
354581
  init_schema();
354375
354582
  init_ServersConverter();
354376
354583
  }
@@ -358667,6 +358874,7 @@ var init_ResponseBodyConverter = __esm({
358667
358874
  responseBody;
358668
358875
  statusCode;
358669
358876
  streamingExtension;
358877
+ convertedResponseHeaders;
358670
358878
  constructor({ context: context3, breadcrumbs, responseBody, group, method: method8, statusCode, streamingExtension }) {
358671
358879
  super({ context: context3, breadcrumbs, group, method: method8 });
358672
358880
  this.responseBody = responseBody;
@@ -358838,9 +359046,10 @@ var init_ResponseBodyConverter = __esm({
358838
359046
  })),
358839
359047
  inlinedTypes: {
358840
359048
  ...convertedStreamingSchema.inlinedTypes,
358841
- ...convertedNonStreamingSchema.inlinedTypes
359049
+ ...convertedNonStreamingSchema.inlinedTypes,
359050
+ ...this.convertResponseHeaders().inlinedTypes
358842
359051
  },
358843
- headers: this.convertResponseHeaders()
359052
+ headers: this.convertResponseHeaders().headers
358844
359053
  };
358845
359054
  }
358846
359055
  convertStreamingResponse({ mediaTypeObject, convertedSchema }) {
@@ -358862,9 +359071,12 @@ var init_ResponseBodyConverter = __esm({
358862
359071
  })
358863
359072
  })),
358864
359073
  streamResponseBody: void 0,
358865
- inlinedTypes: convertedSchema.inlinedTypes,
359074
+ inlinedTypes: {
359075
+ ...convertedSchema.inlinedTypes,
359076
+ ...this.convertResponseHeaders().inlinedTypes
359077
+ },
358866
359078
  examples: convertedSchema.examples,
358867
- headers: this.convertResponseHeaders()
359079
+ headers: this.convertResponseHeaders().headers
358868
359080
  };
358869
359081
  }
358870
359082
  case "sse": {
@@ -358881,9 +359093,12 @@ var init_ResponseBodyConverter = __esm({
358881
359093
  })
358882
359094
  })),
358883
359095
  streamResponseBody: void 0,
358884
- inlinedTypes: convertedSchema.inlinedTypes,
359096
+ inlinedTypes: {
359097
+ ...convertedSchema.inlinedTypes,
359098
+ ...this.convertResponseHeaders().inlinedTypes
359099
+ },
358885
359100
  examples: convertedSchema.examples,
358886
- headers: this.convertResponseHeaders()
359101
+ headers: this.convertResponseHeaders().headers
358887
359102
  };
358888
359103
  }
358889
359104
  default: {
@@ -358903,9 +359118,12 @@ var init_ResponseBodyConverter = __esm({
358903
359118
  })
358904
359119
  })),
358905
359120
  streamResponseBody: void 0,
358906
- inlinedTypes: convertedSchema.inlinedTypes,
359121
+ inlinedTypes: {
359122
+ ...convertedSchema.inlinedTypes,
359123
+ ...this.convertResponseHeaders().inlinedTypes
359124
+ },
358907
359125
  examples: convertedSchema.examples,
358908
- headers: this.convertResponseHeaders()
359126
+ headers: this.convertResponseHeaders().headers
358909
359127
  };
358910
359128
  }
358911
359129
  returnBytesResponse({ mediaTypeObject }) {
@@ -358919,8 +359137,8 @@ var init_ResponseBodyConverter = __esm({
358919
359137
  })
358920
359138
  }),
358921
359139
  streamResponseBody: void 0,
358922
- inlinedTypes: {},
358923
- headers: this.convertResponseHeaders()
359140
+ inlinedTypes: this.convertResponseHeaders().inlinedTypes,
359141
+ headers: this.convertResponseHeaders().headers
358924
359142
  };
358925
359143
  }
358926
359144
  returnFileDownloadResponse({ mediaTypeObject }) {
@@ -358934,8 +359152,8 @@ var init_ResponseBodyConverter = __esm({
358934
359152
  })
358935
359153
  }),
358936
359154
  streamResponseBody: void 0,
358937
- inlinedTypes: {},
358938
- headers: this.convertResponseHeaders()
359155
+ inlinedTypes: this.convertResponseHeaders().inlinedTypes,
359156
+ headers: this.convertResponseHeaders().headers
358939
359157
  };
358940
359158
  }
358941
359159
  returnTextResponse({ mediaTypeObject, contentType }) {
@@ -358950,8 +359168,8 @@ var init_ResponseBodyConverter = __esm({
358950
359168
  contentType: MediaType.parse(contentType)?.isPlainText() ? void 0 : contentType
358951
359169
  }),
358952
359170
  streamResponseBody: void 0,
358953
- inlinedTypes: {},
358954
- headers: this.convertResponseHeaders()
359171
+ inlinedTypes: this.convertResponseHeaders().inlinedTypes,
359172
+ headers: this.convertResponseHeaders().headers
358955
359173
  };
358956
359174
  }
358957
359175
  isBinarySchema(convertedSchema) {
@@ -358983,118 +359201,12 @@ var init_ResponseBodyConverter = __esm({
358983
359201
  return MediaType.parse(contentType)?.isText() ?? false;
358984
359202
  }
358985
359203
  convertResponseHeaders() {
358986
- const headers2 = [];
358987
- const responseHeaders = this.responseBody.headers;
358988
- if (responseHeaders == null) {
358989
- return headers2;
358990
- }
358991
- for (const [headerName, headerOrRef] of Object.entries(responseHeaders)) {
358992
- const resolvedHeader = this.context.resolveMaybeReference({
358993
- schemaOrReference: headerOrRef,
358994
- breadcrumbs: [...this.breadcrumbs, "headers", headerName]
358995
- });
358996
- if (resolvedHeader == null) {
358997
- continue;
358998
- }
358999
- const headerSchema2 = resolvedHeader.schema;
359000
- let valueType = AbstractConverter.OPTIONAL_STRING;
359001
- let resolvedSchema;
359002
- if (headerSchema2 != null) {
359003
- resolvedSchema = this.context.resolveMaybeReference({
359004
- schemaOrReference: headerSchema2,
359005
- breadcrumbs: [...this.breadcrumbs, "headers", headerName, "schema"]
359006
- });
359007
- if (resolvedSchema != null) {
359008
- if (resolvedSchema.type === "number" || resolvedSchema.type === "integer") {
359009
- valueType = TypeReference2.primitive({
359010
- v1: resolvedSchema.type === "integer" ? "INTEGER" : "DOUBLE",
359011
- v2: resolvedSchema.type === "integer" ? PrimitiveTypeV2.integer({ default: void 0, validation: void 0 }) : PrimitiveTypeV2.double({ default: void 0, validation: void 0 })
359012
- });
359013
- } else if (resolvedSchema.type === "boolean") {
359014
- valueType = TypeReference2.primitive({
359015
- v1: "BOOLEAN",
359016
- v2: PrimitiveTypeV2.boolean({ default: void 0 })
359017
- });
359018
- }
359019
- }
359020
- }
359021
- const v2Examples = this.convertHeaderExamples({
359022
- header: resolvedHeader,
359023
- headerName,
359024
- schema: headerSchema2
359025
- });
359026
- headers2.push({
359027
- name: this.context.casingsGenerator.generateNameAndWireValue({
359028
- name: headerName,
359029
- wireValue: headerName
359030
- }),
359031
- docs: resolvedHeader.description,
359032
- valueType,
359033
- env: void 0,
359034
- v2Examples,
359035
- availability: void 0,
359036
- clientDefault: void 0,
359037
- defaultValue: resolvedSchema?.default
359038
- });
359039
- }
359040
- return headers2;
359041
- }
359042
- convertHeaderExamples({ header, headerName, schema }) {
359043
- const v2Examples = {
359044
- userSpecifiedExamples: {},
359045
- autogeneratedExamples: {}
359046
- };
359047
- const headerExample = header.example;
359048
- const headerExamples = header.examples;
359049
- for (const [key2, example] of Object.entries(headerExamples ?? {})) {
359050
- const resolvedExample = this.context.resolveExampleWithValue(example);
359051
- if (resolvedExample != null) {
359052
- v2Examples.userSpecifiedExamples[key2] = this.generateHeaderExample({
359053
- schema,
359054
- example: resolvedExample
359055
- });
359056
- }
359057
- }
359058
- if (headerExample != null) {
359059
- const exampleName = this.context.generateUniqueName({
359060
- prefix: `${headerName}_example`,
359061
- existingNames: Object.keys(v2Examples.userSpecifiedExamples)
359062
- });
359063
- v2Examples.userSpecifiedExamples[exampleName] = this.generateHeaderExample({
359064
- schema,
359065
- example: headerExample
359066
- });
359067
- }
359068
- if (Object.keys(v2Examples.userSpecifiedExamples).length === 0 && schema != null) {
359069
- const exampleName = `${headerName}_example`;
359070
- v2Examples.autogeneratedExamples[exampleName] = this.generateHeaderExample({
359071
- schema,
359072
- example: void 0,
359073
- ignoreErrors: true
359074
- });
359075
- }
359076
- return v2Examples;
359077
- }
359078
- generateHeaderExample({ schema, example, ignoreErrors }) {
359079
- if (schema == null) {
359080
- return example;
359081
- }
359082
- const exampleConverter = new ExampleConverter({
359083
- breadcrumbs: this.breadcrumbs,
359204
+ this.convertedResponseHeaders ??= convertResponseHeaders({
359084
359205
  context: this.context,
359085
- schema,
359086
- example
359206
+ breadcrumbs: this.breadcrumbs,
359207
+ headers: this.responseBody.headers
359087
359208
  });
359088
- const { validExample: convertedExample, errors: errors4 } = exampleConverter.convert();
359089
- if (!ignoreErrors) {
359090
- errors4.forEach((error50) => {
359091
- this.context.errorCollector.collect({
359092
- message: error50.message,
359093
- path: error50.path
359094
- });
359095
- });
359096
- }
359097
- return convertedExample;
359209
+ return this.convertedResponseHeaders;
359098
359210
  }
359099
359211
  };
359100
359212
  }
@@ -359118,6 +359230,7 @@ var init_ResponseErrorConverter = __esm({
359118
359230
  statusCode;
359119
359231
  methodName;
359120
359232
  isWildcardStatusCode;
359233
+ convertedResponseHeaders;
359121
359234
  constructor({ context: context3, breadcrumbs, responseError, group, method: method8, methodName, statusCode, isWildcardStatusCode }) {
359122
359235
  super({ context: context3, breadcrumbs, group, method: method8 });
359123
359236
  this.responseError = responseError;
@@ -359151,9 +359264,9 @@ var init_ResponseErrorConverter = __esm({
359151
359264
  displayName: errorName2,
359152
359265
  statusCode: this.statusCode,
359153
359266
  isWildcardStatusCode: this.isWildcardStatusCode,
359154
- inlinedTypes: {},
359267
+ inlinedTypes: this.convertResponseHeaders().inlinedTypes,
359155
359268
  examples: {},
359156
- headers: this.convertResponseHeaders()
359269
+ headers: this.convertResponseHeaders().headers
359157
359270
  };
359158
359271
  }
359159
359272
  const jsonContentTypes = Object.keys(this.responseError.content).filter((type7) => type7.includes("json"));
@@ -359210,9 +359323,12 @@ var init_ResponseErrorConverter = __esm({
359210
359323
  displayName: errorName,
359211
359324
  statusCode: this.statusCode,
359212
359325
  isWildcardStatusCode: this.isWildcardStatusCode,
359213
- inlinedTypes: convertedSchema.inlinedTypes,
359326
+ inlinedTypes: {
359327
+ ...convertedSchema.inlinedTypes,
359328
+ ...this.convertResponseHeaders().inlinedTypes
359329
+ },
359214
359330
  examples: this.convertErrorExamples({ mediaTypeObject }),
359215
- headers: this.convertResponseHeaders()
359331
+ headers: this.convertResponseHeaders().headers
359216
359332
  };
359217
359333
  }
359218
359334
  /**
@@ -359274,118 +359390,12 @@ var init_ResponseErrorConverter = __esm({
359274
359390
  return this.context.enableUniqueErrorsPerEndpoint ? uppercaseFirstChar(`${this.methodName}Request${errorName}`) : errorName;
359275
359391
  }
359276
359392
  convertResponseHeaders() {
359277
- const headers2 = [];
359278
- const responseHeaders = this.responseError.headers;
359279
- if (responseHeaders == null) {
359280
- return headers2;
359281
- }
359282
- for (const [headerName, headerOrRef] of Object.entries(responseHeaders)) {
359283
- const resolvedHeader = this.context.resolveMaybeReference({
359284
- schemaOrReference: headerOrRef,
359285
- breadcrumbs: [...this.breadcrumbs, "headers", headerName]
359286
- });
359287
- if (resolvedHeader == null) {
359288
- continue;
359289
- }
359290
- const headerSchema2 = resolvedHeader.schema;
359291
- let valueType = AbstractConverter.OPTIONAL_STRING;
359292
- let resolvedSchema;
359293
- if (headerSchema2 != null) {
359294
- resolvedSchema = this.context.resolveMaybeReference({
359295
- schemaOrReference: headerSchema2,
359296
- breadcrumbs: [...this.breadcrumbs, "headers", headerName, "schema"]
359297
- });
359298
- if (resolvedSchema != null) {
359299
- if (resolvedSchema.type === "number" || resolvedSchema.type === "integer") {
359300
- valueType = TypeReference2.primitive({
359301
- v1: resolvedSchema.type === "integer" ? "INTEGER" : "DOUBLE",
359302
- v2: resolvedSchema.type === "integer" ? PrimitiveTypeV2.integer({ default: void 0, validation: void 0 }) : PrimitiveTypeV2.double({ default: void 0, validation: void 0 })
359303
- });
359304
- } else if (resolvedSchema.type === "boolean") {
359305
- valueType = TypeReference2.primitive({
359306
- v1: "BOOLEAN",
359307
- v2: PrimitiveTypeV2.boolean({ default: void 0 })
359308
- });
359309
- }
359310
- }
359311
- }
359312
- const v2Examples = this.convertHeaderExamples({
359313
- header: resolvedHeader,
359314
- headerName,
359315
- schema: headerSchema2
359316
- });
359317
- headers2.push({
359318
- name: this.context.casingsGenerator.generateNameAndWireValue({
359319
- name: headerName,
359320
- wireValue: headerName
359321
- }),
359322
- docs: resolvedHeader.description,
359323
- valueType,
359324
- env: void 0,
359325
- v2Examples,
359326
- availability: void 0,
359327
- clientDefault: void 0,
359328
- defaultValue: resolvedSchema?.default
359329
- });
359330
- }
359331
- return headers2;
359332
- }
359333
- convertHeaderExamples({ header, headerName, schema }) {
359334
- const v2Examples = {
359335
- userSpecifiedExamples: {},
359336
- autogeneratedExamples: {}
359337
- };
359338
- const headerExample = header.example;
359339
- const headerExamples = header.examples;
359340
- for (const [key2, example] of Object.entries(headerExamples ?? {})) {
359341
- const resolvedExample = this.context.resolveExampleWithValue(example);
359342
- if (resolvedExample != null) {
359343
- v2Examples.userSpecifiedExamples[key2] = this.generateHeaderExample({
359344
- schema,
359345
- example: resolvedExample
359346
- });
359347
- }
359348
- }
359349
- if (headerExample != null) {
359350
- const exampleName = this.context.generateUniqueName({
359351
- prefix: `${headerName}_example`,
359352
- existingNames: Object.keys(v2Examples.userSpecifiedExamples)
359353
- });
359354
- v2Examples.userSpecifiedExamples[exampleName] = this.generateHeaderExample({
359355
- schema,
359356
- example: headerExample
359357
- });
359358
- }
359359
- if (Object.keys(v2Examples.userSpecifiedExamples).length === 0 && schema != null) {
359360
- const exampleName = `${headerName}_example`;
359361
- v2Examples.autogeneratedExamples[exampleName] = this.generateHeaderExample({
359362
- schema,
359363
- example: void 0,
359364
- ignoreErrors: true
359365
- });
359366
- }
359367
- return v2Examples;
359368
- }
359369
- generateHeaderExample({ schema, example, ignoreErrors }) {
359370
- if (schema == null) {
359371
- return example;
359372
- }
359373
- const exampleConverter = new ExampleConverter({
359374
- breadcrumbs: this.breadcrumbs,
359393
+ this.convertedResponseHeaders ??= convertResponseHeaders({
359375
359394
  context: this.context,
359376
- schema,
359377
- example
359395
+ breadcrumbs: this.breadcrumbs,
359396
+ headers: this.responseError.headers
359378
359397
  });
359379
- const { validExample: convertedExample, errors: errors4 } = exampleConverter.convert();
359380
- if (!ignoreErrors) {
359381
- errors4.forEach((error50) => {
359382
- this.context.errorCollector.collect({
359383
- message: error50.message,
359384
- path: error50.path
359385
- });
359386
- });
359387
- }
359388
- return convertedExample;
359398
+ return this.convertedResponseHeaders;
359389
359399
  }
359390
359400
  };
359391
359401
  }
@@ -706710,7 +706720,7 @@ var AccessTokenPosthogManager = class {
706710
706720
  properties: {
706711
706721
  ...event,
706712
706722
  ...event.properties,
706713
- version: "5.119.0",
706723
+ version: "5.119.2",
706714
706724
  usingAccessToken: true,
706715
706725
  ...getRunIdProperties()
706716
706726
  }
@@ -706776,7 +706786,7 @@ var UserPosthogManager = class {
706776
706786
  distinctId: this.userId ?? await this.getPersistedDistinctId(),
706777
706787
  event: "CLI",
706778
706788
  properties: {
706779
- version: "5.119.0",
706789
+ version: "5.119.2",
706780
706790
  ...event,
706781
706791
  ...event.properties,
706782
706792
  usingAccessToken: false,
@@ -888454,7 +888464,7 @@ var LOCAL_STORAGE_FOLDER4 = ".fern-dev";
888454
888464
  var LOGS_FOLDER_NAME = "logs";
888455
888465
  var MAX_LOGS_DIR_SIZE_BYTES = 100 * 1024 * 1024;
888456
888466
  function getCliSource() {
888457
- const version7 = "5.119.0";
888467
+ const version7 = "5.119.2";
888458
888468
  return `cli@${version7}`;
888459
888469
  }
888460
888470
  var DebugLogger = class {
@@ -915801,7 +915811,7 @@ var LegacyDocsPublisher = class {
915801
915811
  previewId,
915802
915812
  disableTemplates: void 0,
915803
915813
  skipUpload,
915804
- cliVersion: "5.119.0",
915814
+ cliVersion: "5.119.2",
915805
915815
  loginCommand: "fern auth login"
915806
915816
  });
915807
915817
  if (taskContext.getResult() === TaskResult.Failure) {
@@ -966842,6 +966852,11 @@ var TypescriptCustomConfigSchema = external_exports2.strictObject({
966842
966852
  tolerateRepublish: external_exports2.optional(external_exports2.boolean()),
966843
966853
  packageJson: external_exports2.optional(external_exports2.record(external_exports2.any())),
966844
966854
  packageJsonMergeStrategy: external_exports2.optional(external_exports2.enum(["shallow", "deep"])),
966855
+ // When true, the generated SDK compiles cleanly under TypeScript's
966856
+ // `exactOptionalPropertyTypes` compiler option: every optional property is
966857
+ // emitted as `prop?: T | undefined`, and `exactOptionalPropertyTypes: true`
966858
+ // is enabled in the generated tsconfig files.
966859
+ exactOptionalPropertyTypes: external_exports2.optional(external_exports2.boolean()),
966845
966860
  publishToJsr: external_exports2.optional(external_exports2.boolean()),
966846
966861
  omitUndefined: external_exports2.optional(external_exports2.boolean()),
966847
966862
  useLegacyExports: external_exports2.optional(external_exports2.boolean()),
@@ -983214,7 +983229,7 @@ function getAutomationContextFromEnv() {
983214
983229
  config_branch: process.env.FERN_CONFIG_BRANCH,
983215
983230
  config_pr_number: process.env.FERN_CONFIG_PR_NUMBER,
983216
983231
  trigger: process.env.GITHUB_EVENT_NAME,
983217
- cli_version: "5.119.0"
983232
+ cli_version: "5.119.2"
983218
983233
  };
983219
983234
  }
983220
983235
  function isAutomationMode() {
@@ -984046,7 +984061,7 @@ var CliContext = class _CliContext {
984046
984061
  if (false) {
984047
984062
  this.logger.error("CLI_VERSION is not defined");
984048
984063
  }
984049
- return "5.119.0";
984064
+ return "5.119.2";
984050
984065
  }
984051
984066
  getCliName() {
984052
984067
  if (false) {
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "5.119.0",
2
+ "version": "5.119.2",
3
3
  "repository": {
4
4
  "type": "git",
5
5
  "url": "git+https://github.com/fern-api/fern.git",