@fern-api/fern-api-dev 5.47.0 → 5.47.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 +179 -18
  2. package/package.json +1 -1
package/cli.cjs CHANGED
@@ -237730,8 +237730,19 @@ var init_GraphQLConverter = __esm({
237730
237730
  } finally {
237731
237731
  this.processingTypes.delete(typeName);
237732
237732
  }
237733
- } else if (type8 instanceof GraphQLScalarType && !this.isBuiltInScalar(typeName)) {
237734
- continue;
237733
+ } else if (type8 instanceof GraphQLScalarType) {
237734
+ this.processingTypes.add(typeName);
237735
+ try {
237736
+ this.types[typeId] = {
237737
+ name: this.getNamespacedTypeName(typeName),
237738
+ shape: this.convertScalarTypeDefinition(type8),
237739
+ displayName: void 0,
237740
+ description: type8.description ?? void 0,
237741
+ availability: void 0
237742
+ };
237743
+ } finally {
237744
+ this.processingTypes.delete(typeName);
237745
+ }
237735
237746
  }
237736
237747
  }
237737
237748
  }
@@ -237938,13 +237949,9 @@ var init_GraphQLConverter = __esm({
237938
237949
  }
237939
237950
  } else {
237940
237951
  return {
237941
- type: "primitive",
237942
- value: {
237943
- type: "scalar",
237944
- name: type8.name,
237945
- description: type8.description ?? void 0,
237946
- default: void 0
237947
- }
237952
+ type: "id",
237953
+ value: this.getNamespacedTypeId(type8.name),
237954
+ default: void 0
237948
237955
  };
237949
237956
  }
237950
237957
  }
@@ -651231,6 +651238,46 @@ var OneOfSchemaConverter = class extends AbstractConverter {
651231
651238
  required: filteredRequired
651232
651239
  };
651233
651240
  }
651241
+ /**
651242
+ * When `discriminator.mapping` is absent, infers the mapping from the `oneOf`/`anyOf` $ref schemas.
651243
+ *
651244
+ * Per the OpenAPI 3.x spec, if no mapping is provided the discriminant values are derived from
651245
+ * the schema names in the $ref paths. We also check the resolved schema's discriminant property
651246
+ * for `const` or single-element `enum` values, which take precedence over the schema name.
651247
+ */
651248
+ inferDiscriminatorMapping(discriminantProperty) {
651249
+ const subSchemas = this.schema.oneOf ?? this.schema.anyOf ?? [];
651250
+ const mapping = {};
651251
+ for (const subSchema of subSchemas) {
651252
+ if (!this.context.isReferenceObject(subSchema)) {
651253
+ continue;
651254
+ }
651255
+ const ref2 = subSchema.$ref;
651256
+ const schemaName = ref2.split("/").pop();
651257
+ if (schemaName == null) {
651258
+ continue;
651259
+ }
651260
+ const resolved = this.context.resolveReference({
651261
+ reference: subSchema,
651262
+ breadcrumbs: this.breadcrumbs,
651263
+ skipErrorCollector: true
651264
+ });
651265
+ let discriminantValue = schemaName;
651266
+ if (resolved.resolved) {
651267
+ const discriminantPropSchema = resolved.value.properties?.[discriminantProperty];
651268
+ if (discriminantPropSchema != null && !this.context.isReferenceObject(discriminantPropSchema)) {
651269
+ const constValue = discriminantPropSchema.const;
651270
+ if (typeof constValue === "string") {
651271
+ discriminantValue = constValue;
651272
+ } else if (discriminantPropSchema.enum != null && discriminantPropSchema.enum.length === 1 && typeof discriminantPropSchema.enum[0] === "string") {
651273
+ discriminantValue = discriminantPropSchema.enum[0];
651274
+ }
651275
+ }
651276
+ }
651277
+ mapping[discriminantValue] = ref2;
651278
+ }
651279
+ return mapping;
651280
+ }
651234
651281
  convertAsDiscriminatedUnion() {
651235
651282
  if (this.schema.discriminator == null) {
651236
651283
  return void 0;
@@ -651239,7 +651286,8 @@ var OneOfSchemaConverter = class extends AbstractConverter {
651239
651286
  const unionTypes = [];
651240
651287
  let referencedTypes = /* @__PURE__ */ new Set();
651241
651288
  let inlinedTypes = {};
651242
- for (const [discriminant22, reference4] of Object.entries(this.schema.discriminator.mapping ?? {})) {
651289
+ const effectiveMapping = this.schema.discriminator.mapping ?? this.inferDiscriminatorMapping(discriminantProperty);
651290
+ for (const [discriminant22, reference4] of Object.entries(effectiveMapping)) {
651243
651291
  const typeId = this.context.getTypeIdFromSchemaReference({ $ref: reference4 });
651244
651292
  const breadcrumbs = [...this.breadcrumbs, "discriminator", "mapping", discriminant22];
651245
651293
  const resolvedSchema = this.context.resolveReference({
@@ -670298,7 +670346,7 @@ var AccessTokenPosthogManager = class {
670298
670346
  properties: {
670299
670347
  ...event,
670300
670348
  ...event.properties,
670301
- version: "5.47.0",
670349
+ version: "5.47.2",
670302
670350
  usingAccessToken: true,
670303
670351
  ...getRunIdProperties()
670304
670352
  }
@@ -670362,7 +670410,7 @@ var UserPosthogManager = class {
670362
670410
  distinctId: this.userId ?? await this.getPersistedDistinctId(),
670363
670411
  event: "CLI",
670364
670412
  properties: {
670365
- version: "5.47.0",
670413
+ version: "5.47.2",
670366
670414
  ...event,
670367
670415
  ...event.properties,
670368
670416
  usingAccessToken: false,
@@ -862331,7 +862379,7 @@ var LOCAL_STORAGE_FOLDER4 = ".fern-dev";
862331
862379
  var LOGS_FOLDER_NAME = "logs";
862332
862380
  var MAX_LOGS_DIR_SIZE_BYTES = 100 * 1024 * 1024;
862333
862381
  function getCliSource() {
862334
- const version7 = "5.47.0";
862382
+ const version7 = "5.47.2";
862335
862383
  return `cli@${version7}`;
862336
862384
  }
862337
862385
  var DebugLogger = class {
@@ -893560,7 +893608,7 @@ var LegacyDocsPublisher = class {
893560
893608
  previewId,
893561
893609
  disableTemplates: void 0,
893562
893610
  skipUpload,
893563
- cliVersion: "5.47.0",
893611
+ cliVersion: "5.47.2",
893564
893612
  loginCommand: "fern auth login"
893565
893613
  });
893566
893614
  if (taskContext.getResult() === TaskResult.Failure) {
@@ -942728,6 +942776,119 @@ var AstNode9 = class extends AbstractAstNode {
942728
942776
  }
942729
942777
  };
942730
942778
 
942779
+ // ../../../generators/typescript-v2/ast/lib/custom-config/TypescriptCustomConfigSchema.js
942780
+ init_zod();
942781
+
942782
+ // ../../../generators/typescript-v2/ast/lib/custom-config/CustomReadmeSectionSchema.js
942783
+ init_zod();
942784
+ var CustomReadmeSectionSchema2 = external_exports2.strictObject({
942785
+ title: external_exports2.string(),
942786
+ content: external_exports2.string()
942787
+ });
942788
+
942789
+ // ../../../generators/typescript-v2/ast/lib/custom-config/TypescriptCustomConfigSchema.js
942790
+ var JS_IDENTIFIER_REGEX = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/;
942791
+ var jsIdentifier = external_exports2.string().refine((val) => JS_IDENTIFIER_REGEX.test(val), {
942792
+ message: "Must be a valid JavaScript identifier (e.g., 'acme', 'MySDK')"
942793
+ });
942794
+ var NamingObjectSchema = external_exports2.strictObject({
942795
+ namespace: external_exports2.optional(jsIdentifier),
942796
+ client: external_exports2.optional(external_exports2.string()),
942797
+ error: external_exports2.optional(external_exports2.string()),
942798
+ timeoutError: external_exports2.optional(external_exports2.string()),
942799
+ environment: external_exports2.optional(external_exports2.string()),
942800
+ environmentUrls: external_exports2.optional(external_exports2.string()),
942801
+ version: external_exports2.optional(external_exports2.string())
942802
+ });
942803
+ var NamingConfigSchema = external_exports2.union([jsIdentifier, NamingObjectSchema]);
942804
+ var TypescriptCustomConfigSchema = external_exports2.strictObject({
942805
+ neverThrowErrors: external_exports2.optional(external_exports2.boolean()),
942806
+ outputEsm: external_exports2.optional(external_exports2.boolean()),
942807
+ outputSourceFiles: external_exports2.optional(external_exports2.boolean()),
942808
+ outputSrcOnly: external_exports2.optional(external_exports2.boolean()),
942809
+ includeCredentialsOnCrossOriginRequests: external_exports2.optional(external_exports2.boolean()),
942810
+ bundle: external_exports2.optional(external_exports2.boolean()),
942811
+ allowCustomFetcher: external_exports2.optional(external_exports2.boolean()),
942812
+ generateWebSocketClients: external_exports2.optional(external_exports2.boolean()),
942813
+ defaultTimeoutInSeconds: external_exports2.optional(external_exports2.union([external_exports2.literal("infinity"), external_exports2.number()])),
942814
+ skipResponseValidation: external_exports2.optional(external_exports2.boolean()),
942815
+ extraDependencies: external_exports2.optional(external_exports2.record(external_exports2.string())),
942816
+ extraDevDependencies: external_exports2.optional(external_exports2.record(external_exports2.string())),
942817
+ extraPeerDependencies: external_exports2.optional(external_exports2.record(external_exports2.string())),
942818
+ extraPeerDependenciesMeta: external_exports2.optional(external_exports2.record(external_exports2.any())),
942819
+ treatUnknownAsAny: external_exports2.optional(external_exports2.boolean()),
942820
+ noOptionalProperties: external_exports2.optional(external_exports2.boolean()),
942821
+ tolerateRepublish: external_exports2.optional(external_exports2.boolean()),
942822
+ packageJson: external_exports2.optional(external_exports2.record(external_exports2.any())),
942823
+ publishToJsr: external_exports2.optional(external_exports2.boolean()),
942824
+ omitUndefined: external_exports2.optional(external_exports2.boolean()),
942825
+ useLegacyExports: external_exports2.optional(external_exports2.boolean()),
942826
+ streamType: external_exports2.optional(external_exports2.enum(["wrapper", "web"])),
942827
+ fileResponseType: external_exports2.optional(external_exports2.enum(["stream", "binary-response"])),
942828
+ formDataSupport: external_exports2.optional(external_exports2.enum(["Node16", "Node18"])),
942829
+ fetchSupport: external_exports2.optional(external_exports2.enum(["node-fetch", "native"])),
942830
+ packagePath: external_exports2.optional(external_exports2.string()),
942831
+ omitFernHeaders: external_exports2.optional(external_exports2.boolean()),
942832
+ useDefaultRequestParameterValues: external_exports2.optional(external_exports2.boolean()),
942833
+ packageManager: external_exports2.optional(external_exports2.enum(["pnpm", "yarn"])),
942834
+ flattenRequestParameters: external_exports2.optional(external_exports2.boolean()),
942835
+ exportAllRequestsAtRoot: external_exports2.optional(external_exports2.boolean()),
942836
+ customReadmeSections: external_exports2.optional(external_exports2.array(CustomReadmeSectionSchema2)),
942837
+ testFramework: external_exports2.optional(external_exports2.enum(["jest", "vitest"])),
942838
+ consolidateTypeFiles: external_exports2.optional(external_exports2.boolean()),
942839
+ generateEndpointMetadata: external_exports2.optional(external_exports2.boolean()),
942840
+ wireTestsFallbackToAutoGeneratedErrorExamples: external_exports2.boolean().optional(),
942841
+ linter: external_exports2.optional(external_exports2.enum(["biome", "oxlint", "none"])),
942842
+ formatter: external_exports2.optional(external_exports2.enum(["prettier", "biome", "oxfmt", "none"])),
942843
+ enableForwardCompatibleEnums: external_exports2.optional(external_exports2.boolean()),
942844
+ parameterNaming: external_exports2.optional(external_exports2.enum(["originalName", "wireValue", "camelCase", "snakeCase", "default"])),
942845
+ generateSubpackageExports: external_exports2.optional(external_exports2.boolean()),
942846
+ // relevant to dynamic snippets
942847
+ allowExtraFields: external_exports2.optional(external_exports2.boolean()),
942848
+ enableInlineTypes: external_exports2.optional(external_exports2.boolean()),
942849
+ inlineFileProperties: external_exports2.optional(external_exports2.boolean()),
942850
+ inlinePathParameters: external_exports2.optional(external_exports2.boolean()),
942851
+ naming: external_exports2.optional(NamingConfigSchema),
942852
+ // @deprecated Use naming.namespace instead
942853
+ // namespaceExport is kept for backwards compatibility
942854
+ namespaceExport: external_exports2.optional(external_exports2.string()),
942855
+ noSerdeLayer: external_exports2.optional(external_exports2.boolean()),
942856
+ serdeLayer: external_exports2.optional(external_exports2.boolean()),
942857
+ private: external_exports2.optional(external_exports2.boolean()),
942858
+ requireDefaultEnvironment: external_exports2.optional(external_exports2.boolean()),
942859
+ retainOriginalCasing: external_exports2.optional(external_exports2.boolean()),
942860
+ useBigInt: external_exports2.optional(external_exports2.boolean()),
942861
+ useBrandedStringAliases: external_exports2.optional(external_exports2.boolean()),
942862
+ offsetSemantics: external_exports2.optional(external_exports2.enum(["item-index", "page-index"])),
942863
+ customPagerName: external_exports2.optional(external_exports2.string()),
942864
+ resolveQueryParameterNameConflicts: external_exports2.optional(external_exports2.boolean()),
942865
+ alwaysSendAuth: external_exports2.optional(external_exports2.boolean()),
942866
+ // beta (not in docs)
942867
+ includeContentHeadersOnFileDownloadResponse: external_exports2.optional(external_exports2.boolean()),
942868
+ includeUtilsOnUnionMembers: external_exports2.optional(external_exports2.boolean()),
942869
+ includeOtherInUnionTypes: external_exports2.optional(external_exports2.boolean()),
942870
+ writeUnitTests: external_exports2.optional(external_exports2.boolean()),
942871
+ generateWireTests: external_exports2.optional(external_exports2.boolean()),
942872
+ noScripts: external_exports2.optional(external_exports2.boolean()),
942873
+ skipNpmPkgFix: external_exports2.optional(external_exports2.boolean()),
942874
+ experimentalGenerateReadWriteOnlyTypes: external_exports2.optional(external_exports2.boolean()),
942875
+ // deprecated
942876
+ timeoutInSeconds: external_exports2.optional(external_exports2.union([external_exports2.literal("infinity"), external_exports2.number()])),
942877
+ includeApiReference: external_exports2.optional(external_exports2.boolean()),
942878
+ // @deprecated Use generateWebSocketClients instead
942879
+ shouldGenerateWebsocketClients: external_exports2.optional(external_exports2.boolean()),
942880
+ // internal - license name extracted from custom license file
942881
+ _fernLicenseName: external_exports2.optional(external_exports2.string()),
942882
+ maxRetries: external_exports2.optional(external_exports2.number().int().min(0)),
942883
+ retryStatusCodes: external_exports2.optional(external_exports2.enum(["legacy", "recommended"]))
942884
+ });
942885
+ function resolveNoSerdeLayer(config5) {
942886
+ if (config5?.serdeLayer != null) {
942887
+ return !config5.serdeLayer;
942888
+ }
942889
+ return !!config5?.noSerdeLayer;
942890
+ }
942891
+
942731
942892
  // ../../../generators/typescript-v2/ast/lib/typescript.js
942732
942893
  var typescript_exports = {};
942733
942894
  __export(typescript_exports, {
@@ -943122,7 +943283,7 @@ var TypeLiteral4 = class _TypeLiteral extends AstNode9 {
943122
943283
  this.internalType = internalType;
943123
943284
  }
943124
943285
  write(writer2) {
943125
- const noSerdeLayer = !!writer2.customConfig?.noSerdeLayer;
943286
+ const noSerdeLayer = resolveNoSerdeLayer(writer2.customConfig);
943126
943287
  const useBigInt = !!writer2.customConfig?.useBigInt;
943127
943288
  switch (this.internalType.type) {
943128
943289
  case "array": {
@@ -944316,7 +944477,7 @@ var DynamicSnippetsGeneratorContext9 = class _DynamicSnippetsGeneratorContext ex
944316
944477
  return this.resolvedClientName;
944317
944478
  }
944318
944479
  getPropertyName(name2) {
944319
- if (this.customConfig?.retainOriginalCasing || this.customConfig?.noSerdeLayer) {
944480
+ if (this.customConfig?.retainOriginalCasing || resolveNoSerdeLayer(this.customConfig)) {
944320
944481
  return this.formatOriginalPropertyName(name2.originalName);
944321
944482
  }
944322
944483
  return name2.camelCase.unsafeName;
@@ -958828,7 +958989,7 @@ function getAutomationContextFromEnv() {
958828
958989
  config_branch: process.env.FERN_CONFIG_BRANCH,
958829
958990
  config_pr_number: process.env.FERN_CONFIG_PR_NUMBER,
958830
958991
  trigger: process.env.GITHUB_EVENT_NAME,
958831
- cli_version: "5.47.0"
958992
+ cli_version: "5.47.2"
958832
958993
  };
958833
958994
  }
958834
958995
  function isAutomationMode() {
@@ -959654,7 +959815,7 @@ var CliContext = class _CliContext {
959654
959815
  if (false) {
959655
959816
  this.logger.error("CLI_VERSION is not defined");
959656
959817
  }
959657
- return "5.47.0";
959818
+ return "5.47.2";
959658
959819
  }
959659
959820
  getCliName() {
959660
959821
  if (false) {
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "5.47.0",
2
+ "version": "5.47.2",
3
3
  "repository": {
4
4
  "type": "git",
5
5
  "url": "git+https://github.com/fern-api/fern.git",