@fern-api/fern-api-dev 4.71.2 → 4.71.3

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 +115 -30
  2. package/package.json +1 -1
package/cli.cjs CHANGED
@@ -563496,12 +563496,16 @@ function convertOAuthRefreshEndpoint({ endpointResolver, propertyResolver, file:
563496
563496
  }
563497
563497
 
563498
563498
  // ../generation/ir-generator/lib/converters/convertOAuthTokenEndpoint.js
563499
- function convertOAuthTokenEndpoint({ endpointResolver, propertyResolver, file: file4, tokenEndpoint }) {
563499
+ function convertOAuthTokenEndpoint({ endpointResolver, propertyResolver, typeResolver, file: file4, tokenEndpoint }) {
563500
563500
  const resolvedEndpoint = endpointResolver.resolveEndpointOrThrow({
563501
563501
  endpoint: tokenEndpoint.endpoint,
563502
563502
  file: file4
563503
563503
  });
563504
- const requestBodyProperties = typeof resolvedEndpoint.endpoint.request === "object" && resolvedEndpoint.endpoint.request.body != null && typeof resolvedEndpoint.endpoint.request.body === "object" && "properties" in resolvedEndpoint.endpoint.request.body ? resolvedEndpoint.endpoint.request.body.properties ?? {} : {};
563504
+ const requestBodyProperties = getRequestBodyPropertyNames({
563505
+ endpoint: resolvedEndpoint.endpoint,
563506
+ file: resolvedEndpoint.file,
563507
+ typeResolver
563508
+ });
563505
563509
  let expiresIn = void 0;
563506
563510
  try {
563507
563511
  expiresIn = tokenEndpoint.responseProperties.expires_in != null ? propertyResolver.resolveResponsePropertyOrThrow({
@@ -563530,7 +563534,7 @@ function convertOAuthTokenEndpoint({ endpointResolver, propertyResolver, file: f
563530
563534
  propertyComponents: tokenEndpoint.requestProperties.scopes
563531
563535
  }) : void 0,
563532
563536
  customProperties: resolveCustomRequestProperties({
563533
- requestBodyProperties,
563537
+ requestBodyPropertyNames: requestBodyProperties,
563534
563538
  tokenEndpoint,
563535
563539
  file: file4,
563536
563540
  propertyResolver
@@ -563551,20 +563555,63 @@ function convertOAuthTokenEndpoint({ endpointResolver, propertyResolver, file: f
563551
563555
  }
563552
563556
  };
563553
563557
  }
563554
- var resolveCustomRequestProperties = ({ requestBodyProperties, tokenEndpoint, file: file4, propertyResolver }) => {
563555
- const customPropertyNames = Object.keys(requestBodyProperties).filter((propertyName) => !tokenEndpoint.requestProperties.client_id.includes(propertyName) && !tokenEndpoint.requestProperties.client_secret.includes(propertyName) && (tokenEndpoint.requestProperties.scopes == null || !tokenEndpoint.requestProperties.scopes.includes(propertyName)));
563558
+ var resolveCustomRequestProperties = ({ requestBodyPropertyNames, tokenEndpoint, file: file4, propertyResolver }) => {
563559
+ const customPropertyNames = requestBodyPropertyNames.filter((propertyName) => !tokenEndpoint.requestProperties.client_id.includes(propertyName) && !tokenEndpoint.requestProperties.client_secret.includes(propertyName) && (tokenEndpoint.requestProperties.scopes == null || !tokenEndpoint.requestProperties.scopes.includes(propertyName)));
563556
563560
  return customPropertyNames.length > 0 ? customPropertyNames.map((propertyName) => propertyResolver.resolveRequestPropertyOrThrow({
563557
563561
  file: file4,
563558
563562
  endpoint: tokenEndpoint.endpoint,
563559
563563
  propertyComponents: [propertyName]
563560
563564
  })) : void 0;
563561
563565
  };
563566
+ function getRequestBodyPropertyNames({ endpoint: endpoint3, file: file4, typeResolver }) {
563567
+ const request7 = endpoint3.request;
563568
+ if (request7 == null) {
563569
+ return [];
563570
+ }
563571
+ if (typeof request7 === "string") {
563572
+ return getPropertyNamesFromType({ typeName: request7, file: file4, typeResolver });
563573
+ }
563574
+ const body = request7.body;
563575
+ if (body == null) {
563576
+ return [];
563577
+ }
563578
+ if (typeof body === "string") {
563579
+ return getPropertyNamesFromType({ typeName: body, file: file4, typeResolver });
563580
+ }
563581
+ if (isInlineRequestBody(body)) {
563582
+ const names2 = Object.keys(body.properties ?? {});
563583
+ if (body.extends != null) {
563584
+ const extendsList = typeof body.extends === "string" ? [body.extends] : body.extends;
563585
+ for (const extendedType of extendsList) {
563586
+ names2.push(...getPropertyNamesFromType({ typeName: extendedType, file: file4, typeResolver }));
563587
+ }
563588
+ }
563589
+ return names2;
563590
+ }
563591
+ return getPropertyNamesFromType({ typeName: body.type, file: file4, typeResolver });
563592
+ }
563593
+ function getPropertyNamesFromType({ typeName, file: file4, typeResolver }) {
563594
+ const resolved = typeResolver.resolveType({ type: typeName, file: file4 });
563595
+ if (resolved == null || resolved._type !== "named") {
563596
+ return [];
563597
+ }
563598
+ const declaration = resolved.declaration;
563599
+ const names2 = [];
563600
+ if ("properties" in declaration && declaration.properties != null) {
563601
+ names2.push(...Object.keys(declaration.properties));
563602
+ }
563603
+ if ("base-properties" in declaration && declaration["base-properties"] != null) {
563604
+ names2.push(...Object.keys(declaration["base-properties"]));
563605
+ }
563606
+ return names2;
563607
+ }
563562
563608
 
563563
563609
  // ../generation/ir-generator/lib/converters/convertOAuthClientCredentials.js
563564
- function convertOAuthClientCredentials({ propertyResolver, endpointResolver, file: file4, oauthScheme, tokenEndpoint, refreshTokenEndpoint }) {
563610
+ function convertOAuthClientCredentials({ propertyResolver, endpointResolver, typeResolver, file: file4, oauthScheme, tokenEndpoint, refreshTokenEndpoint }) {
563565
563611
  const oauthTokenEndpoint = convertOAuthTokenEndpoint({
563566
563612
  propertyResolver,
563567
563613
  endpointResolver,
563614
+ typeResolver,
563568
563615
  file: file4,
563569
563616
  tokenEndpoint
563570
563617
  });
@@ -563692,7 +563739,7 @@ function getTokenEndpointResponsePropertiesWithDefault({ responseProperties, def
563692
563739
  }
563693
563740
 
563694
563741
  // ../generation/ir-generator/lib/converters/convertApiAuth.js
563695
- function convertApiAuth2({ rawApiFileSchema, file: file4, propertyResolver, endpointResolver }) {
563742
+ function convertApiAuth2({ rawApiFileSchema, file: file4, propertyResolver, endpointResolver, typeResolver }) {
563696
563743
  if (rawApiFileSchema.auth == null) {
563697
563744
  return {
563698
563745
  docs: void 0,
@@ -563708,7 +563755,8 @@ function convertApiAuth2({ rawApiFileSchema, file: file4, propertyResolver, endp
563708
563755
  authSchemeDeclarations: rawApiFileSchema["auth-schemes"],
563709
563756
  file: file4,
563710
563757
  propertyResolver,
563711
- endpointResolver
563758
+ endpointResolver,
563759
+ typeResolver
563712
563760
  });
563713
563761
  return {
563714
563762
  docs,
@@ -563724,7 +563772,8 @@ function convertApiAuth2({ rawApiFileSchema, file: file4, propertyResolver, endp
563724
563772
  authSchemeDeclarations: rawApiFileSchema["auth-schemes"],
563725
563773
  file: file4,
563726
563774
  propertyResolver,
563727
- endpointResolver
563775
+ endpointResolver,
563776
+ typeResolver
563728
563777
  }))
563729
563778
  }),
563730
563779
  endpointSecurity: () => ({
@@ -563735,12 +563784,13 @@ function convertApiAuth2({ rawApiFileSchema, file: file4, propertyResolver, endp
563735
563784
  authSchemeDeclarations: rawApiFileSchema["auth-schemes"],
563736
563785
  file: file4,
563737
563786
  propertyResolver,
563738
- endpointResolver
563787
+ endpointResolver,
563788
+ typeResolver
563739
563789
  }))
563740
563790
  })
563741
563791
  });
563742
563792
  }
563743
- function convertSchemeReference2({ reference: reference4, authSchemeDeclarations, file: file4, propertyResolver, endpointResolver }) {
563793
+ function convertSchemeReference2({ reference: reference4, authSchemeDeclarations, file: file4, propertyResolver, endpointResolver, typeResolver }) {
563744
563794
  const convertNamedAuthSchemeReference = (reference5, docs) => {
563745
563795
  const declaration = authSchemeDeclarations?.[reference5];
563746
563796
  if (declaration == null) {
@@ -563784,7 +563834,8 @@ function convertSchemeReference2({ reference: reference4, authSchemeDeclarations
563784
563834
  docs,
563785
563835
  rawScheme,
563786
563836
  propertyResolver,
563787
- endpointResolver
563837
+ endpointResolver,
563838
+ typeResolver
563788
563839
  })
563789
563840
  });
563790
563841
  };
@@ -563811,7 +563862,8 @@ function convertSchemeReference2({ reference: reference4, authSchemeDeclarations
563811
563862
  docs: void 0,
563812
563863
  rawScheme: void 0,
563813
563864
  propertyResolver,
563814
- endpointResolver
563865
+ endpointResolver,
563866
+ typeResolver
563815
563867
  });
563816
563868
  default:
563817
563869
  return convertNamedAuthSchemeReference(scheme, typeof reference4 !== "string" ? reference4.docs : void 0);
@@ -563837,7 +563889,7 @@ function generateBasicAuth2({ key: key2, file: file4, docs, rawScheme }) {
563837
563889
  passwordOmit: rawScheme?.password?.omit
563838
563890
  });
563839
563891
  }
563840
- function generateOAuth({ key: key2, file: file4, docs, rawScheme, propertyResolver, endpointResolver }) {
563892
+ function generateOAuth({ key: key2, file: file4, docs, rawScheme, propertyResolver, endpointResolver, typeResolver }) {
563841
563893
  switch (rawScheme?.type) {
563842
563894
  case "client-credentials":
563843
563895
  return AuthScheme.oauth({
@@ -563846,6 +563898,7 @@ function generateOAuth({ key: key2, file: file4, docs, rawScheme, propertyResolv
563846
563898
  configuration: OAuthConfiguration.clientCredentials(convertOAuthClientCredentials({
563847
563899
  propertyResolver,
563848
563900
  endpointResolver,
563901
+ typeResolver,
563849
563902
  file: file4,
563850
563903
  oauthScheme: rawScheme,
563851
563904
  tokenEndpoint: get0AuthTokenEndpoint(rawScheme),
@@ -566636,7 +566689,8 @@ function generateIntermediateRepresentation({ workspace, generationLanguage, key
566636
566689
  rawApiFileSchema: workspace.definition.rootApiFile.contents,
566637
566690
  file: rootApiFileContext,
566638
566691
  propertyResolver,
566639
- endpointResolver
566692
+ endpointResolver,
566693
+ typeResolver
566640
566694
  }),
566641
566695
  headers: workspace.definition.rootApiFile.contents.headers != null ? Object.entries(workspace.definition.rootApiFile.contents.headers).map(([headerKey, header]) => convertHttpHeader({ headerKey, header, file: rootApiFileContext })) : [],
566642
566696
  idempotencyHeaders: workspace.definition.rootApiFile.contents["idempotency-headers"] != null ? Object.entries(workspace.definition.rootApiFile.contents["idempotency-headers"]).map(([headerKey, header]) => convertHttpHeader({ headerKey, header, file: rootApiFileContext })) : [],
@@ -610875,7 +610929,14 @@ function resolveOAuthScheme({ ir: ir15, key: key2, oauthScheme }) {
610875
610929
  clientId: clientIdProp,
610876
610930
  clientSecret: clientSecretProp,
610877
610931
  scopes: void 0,
610878
- customProperties: void 0
610932
+ customProperties: findCustomRequestProperties({
610933
+ ir: ir15,
610934
+ endpoint: endpoint3,
610935
+ excludeWireValues: [
610936
+ extractWireName(reqProps?.["client-id"], "client_id"),
610937
+ extractWireName(reqProps?.["client-secret"], "client_secret")
610938
+ ]
610939
+ })
610879
610940
  },
610880
610941
  responseProperties: {
610881
610942
  accessToken: accessTokenProp,
@@ -611001,6 +611062,26 @@ function findRequestBodyProperty({ ir: ir15, endpoint: endpoint3, wireValue }) {
611001
611062
  property: RequestPropertyValue.body({ ...prop })
611002
611063
  };
611003
611064
  }
611065
+ function findCustomRequestProperties({ ir: ir15, endpoint: endpoint3, excludeWireValues }) {
611066
+ if (endpoint3.requestBody == null) {
611067
+ return void 0;
611068
+ }
611069
+ let properties7;
611070
+ if (endpoint3.requestBody.type === "inlinedRequestBody") {
611071
+ properties7 = endpoint3.requestBody.properties;
611072
+ } else if (endpoint3.requestBody.type === "reference" && endpoint3.requestBody.requestBodyType.type === "named") {
611073
+ properties7 = getObjectPropertiesForNamedType(ir15, endpoint3.requestBody.requestBodyType.typeId);
611074
+ }
611075
+ if (properties7 == null) {
611076
+ return void 0;
611077
+ }
611078
+ const excludeSet = new Set(excludeWireValues);
611079
+ const customProps = properties7.filter((prop) => !excludeSet.has(getWireValue(prop.name))).map((prop) => ({
611080
+ propertyPath: void 0,
611081
+ property: RequestPropertyValue.body({ ...prop })
611082
+ }));
611083
+ return customProps.length > 0 ? customProps : void 0;
611084
+ }
611004
611085
  function findResponseProperty({ ir: ir15, endpoint: endpoint3, wireValue }) {
611005
611086
  if (endpoint3.response?.body?.type !== "json") {
611006
611087
  return void 0;
@@ -621274,7 +621355,7 @@ var AccessTokenPosthogManager = class {
621274
621355
  properties: {
621275
621356
  ...event,
621276
621357
  ...event.properties,
621277
- version: "4.71.2",
621358
+ version: "4.71.3",
621278
621359
  usingAccessToken: true
621279
621360
  }
621280
621361
  });
@@ -621328,7 +621409,7 @@ var UserPosthogManager = class {
621328
621409
  distinctId: this.userId ?? await this.getPersistedDistinctId(),
621329
621410
  event: "CLI",
621330
621411
  properties: {
621331
- version: "4.71.2",
621412
+ version: "4.71.3",
621332
621413
  ...event,
621333
621414
  ...event.properties,
621334
621415
  usingAccessToken: false,
@@ -793368,7 +793449,7 @@ var ApiReferenceNodeConverter = class {
793368
793449
  const pointsTo = navigation_exports2.V1.followRedirects(this.#children);
793369
793450
  const changelogNodeConverter = new ChangelogNodeConverter(this.markdownFilesToFullSlugs, this.markdownFilesToNoIndex, this.markdownFilesToTags, this.workspace?.changelog?.files.map((file4) => file4.absoluteFilepath), this.docsWorkspace, this.#idgen).orUndefined();
793370
793451
  let overviewPageId = this.#overviewPageId;
793371
- if (overviewPageId == null) {
793452
+ if (overviewPageId == null && !this.apiSection.tagDescriptionPages) {
793372
793453
  const apiPackageWithOverview = this.#children.find((child) => child.type === "apiPackage" && child.overviewPageId != null);
793373
793454
  if (apiPackageWithOverview != null) {
793374
793455
  overviewPageId = apiPackageWithOverview.overviewPageId;
@@ -838427,7 +838508,7 @@ var LOCAL_STORAGE_FOLDER4 = ".fern-dev";
838427
838508
  var LOGS_FOLDER_NAME = "logs";
838428
838509
  var MAX_LOGS_DIR_SIZE_BYTES = 100 * 1024 * 1024;
838429
838510
  function getCliSource() {
838430
- const version7 = "4.71.2";
838511
+ const version7 = "4.71.3";
838431
838512
  return `cli@${version7}`;
838432
838513
  }
838433
838514
  var DebugLogger = class {
@@ -849674,7 +849755,7 @@ var LegacyDocsPublisher = class {
849674
849755
  previewId,
849675
849756
  disableTemplates: void 0,
849676
849757
  skipUpload,
849677
- cliVersion: "4.71.2"
849758
+ cliVersion: "4.71.3"
849678
849759
  });
849679
849760
  if (taskContext.getResult() === TaskResult.Failure) {
849680
849761
  return { success: false };
@@ -877189,19 +877270,20 @@ var DynamicTypeLiteralMapper = class {
877189
877270
  case "discriminatedUnion":
877190
877271
  return this.convertDiscriminatedUnion({
877191
877272
  discriminatedUnion: named,
877192
- value
877273
+ value,
877274
+ as: as8
877193
877275
  });
877194
877276
  case "enum":
877195
877277
  return this.convertEnum({ enum_: named, value });
877196
877278
  case "object":
877197
877279
  return this.convertObject({ object_: named, value, as: as8, inUndiscriminatedUnion });
877198
877280
  case "undiscriminatedUnion":
877199
- return this.convertUndiscriminatedUnion({ undiscriminatedUnion: named, value });
877281
+ return this.convertUndiscriminatedUnion({ undiscriminatedUnion: named, value, as: as8 });
877200
877282
  default:
877201
877283
  assertNever(named);
877202
877284
  }
877203
877285
  }
877204
- convertDiscriminatedUnion({ discriminatedUnion: discriminatedUnion2, value }) {
877286
+ convertDiscriminatedUnion({ discriminatedUnion: discriminatedUnion2, value, as: as8 }) {
877205
877287
  const classReference4 = this.context.getJavaClassReferenceFromDeclaration({
877206
877288
  declaration: discriminatedUnion2.declaration
877207
877289
  });
@@ -877224,7 +877306,7 @@ var DynamicTypeLiteralMapper = class {
877224
877306
  return java_exports.TypeLiteral.reference(java_exports.invokeMethod({
877225
877307
  on: classReference4,
877226
877308
  method: this.context.getPropertyName(unionVariant.discriminantValue.name),
877227
- arguments_: [this.convertNamed({ named, value: discriminatedUnionTypeInstance.value })]
877309
+ arguments_: [this.convertNamed({ named, value: discriminatedUnionTypeInstance.value, as: as8 })]
877228
877310
  }));
877229
877311
  }
877230
877312
  case "singleProperty": {
@@ -877241,7 +877323,8 @@ var DynamicTypeLiteralMapper = class {
877241
877323
  arguments_: [
877242
877324
  this.convert({
877243
877325
  typeReference: unionVariant.typeReference,
877244
- value: record22[propertyKey]
877326
+ value: record22[propertyKey],
877327
+ as: as8
877245
877328
  })
877246
877329
  ]
877247
877330
  }));
@@ -877453,10 +877536,11 @@ var DynamicTypeLiteralMapper = class {
877453
877536
  }
877454
877537
  return this.context.getEnumName(enumValue.name);
877455
877538
  }
877456
- convertUndiscriminatedUnion({ undiscriminatedUnion: undiscriminatedUnion21, value }) {
877539
+ convertUndiscriminatedUnion({ undiscriminatedUnion: undiscriminatedUnion21, value, as: as8 }) {
877457
877540
  const result = this.findMatchingUndiscriminatedUnionType({
877458
877541
  undiscriminatedUnion: undiscriminatedUnion21,
877459
- value
877542
+ value,
877543
+ as: as8
877460
877544
  });
877461
877545
  if (result == null) {
877462
877546
  return java_exports.TypeLiteral.nop();
@@ -877478,13 +877562,14 @@ var DynamicTypeLiteralMapper = class {
877478
877562
  arguments_: [result.typeInstantiation]
877479
877563
  }));
877480
877564
  }
877481
- findMatchingUndiscriminatedUnionType({ undiscriminatedUnion: undiscriminatedUnion21, value }) {
877565
+ findMatchingUndiscriminatedUnionType({ undiscriminatedUnion: undiscriminatedUnion21, value, as: as8 }) {
877482
877566
  for (const typeReference2 of undiscriminatedUnion21.types) {
877483
877567
  const errorsBefore = this.context.errors.size();
877484
877568
  try {
877485
877569
  const typeInstantiation = this.convert({
877486
877570
  typeReference: typeReference2,
877487
877571
  value,
877572
+ as: as8,
877488
877573
  inUndiscriminatedUnion: true
877489
877574
  });
877490
877575
  if (java_exports.TypeLiteral.isNop(typeInstantiation) || this.context.errors.size() > errorsBefore) {
@@ -924023,7 +924108,7 @@ var CliContext = class _CliContext {
924023
924108
  if (false) {
924024
924109
  this.logger.error("CLI_VERSION is not defined");
924025
924110
  }
924026
- return "4.71.2";
924111
+ return "4.71.3";
924027
924112
  }
924028
924113
  getCliName() {
924029
924114
  if (false) {
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "4.71.2",
2
+ "version": "4.71.3",
3
3
  "repository": {
4
4
  "type": "git",
5
5
  "url": "git+https://github.com/fern-api/fern.git",