@fern-api/fern-api-dev 5.77.0 → 5.78.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.
- package/cli.cjs +99 -20
- package/package.json +1 -1
package/cli.cjs
CHANGED
|
@@ -145601,7 +145601,7 @@ var init_convertFullExample = __esm({
|
|
|
145601
145601
|
});
|
|
145602
145602
|
|
|
145603
145603
|
// ../api-importers/openapi/openapi-ir-to-fern/lib/buildEndpointExample.js
|
|
145604
|
-
function buildEndpointExample({ endpointExample, context: context3 }) {
|
|
145604
|
+
function buildEndpointExample({ endpointExample, context: context3, pathParameterRenames }) {
|
|
145605
145605
|
const example = {};
|
|
145606
145606
|
if (endpointExample.type !== "full") {
|
|
145607
145607
|
return endpointExample.value;
|
|
@@ -145622,7 +145622,7 @@ function buildEndpointExample({ endpointExample, context: context3 }) {
|
|
|
145622
145622
|
}
|
|
145623
145623
|
}
|
|
145624
145624
|
if (endpointExample.pathParameters != null && endpointExample.pathParameters.length > 0) {
|
|
145625
|
-
Object.assign(pathParametersForExample, convertPathParameterExample(endpointExample.pathParameters));
|
|
145625
|
+
Object.assign(pathParametersForExample, convertPathParameterExample(endpointExample.pathParameters, pathParameterRenames));
|
|
145626
145626
|
}
|
|
145627
145627
|
if (Object.keys(pathParametersForExample).length > 0) {
|
|
145628
145628
|
example["path-parameters"] = pathParametersForExample;
|
|
@@ -145724,12 +145724,13 @@ function buildEndpointExample({ endpointExample, context: context3 }) {
|
|
|
145724
145724
|
}
|
|
145725
145725
|
return example;
|
|
145726
145726
|
}
|
|
145727
|
-
function convertPathParameterExample(pathParameterExamples) {
|
|
145727
|
+
function convertPathParameterExample(pathParameterExamples, pathParameterRenames) {
|
|
145728
145728
|
const result = {};
|
|
145729
145729
|
pathParameterExamples.forEach((pathParameterExample) => {
|
|
145730
145730
|
const convertedExample = convertFullExample2(pathParameterExample.value);
|
|
145731
145731
|
if (convertedExample != null) {
|
|
145732
|
-
|
|
145732
|
+
const name2 = pathParameterExample.parameterNameOverride ?? pathParameterRenames?.[pathParameterExample.name] ?? pathParameterExample.name;
|
|
145733
|
+
result[name2] = convertedExample;
|
|
145733
145734
|
}
|
|
145734
145735
|
});
|
|
145735
145736
|
return result;
|
|
@@ -145854,17 +145855,92 @@ var init_isWriteMethod = __esm({
|
|
|
145854
145855
|
});
|
|
145855
145856
|
|
|
145856
145857
|
// ../api-importers/openapi/openapi-ir-to-fern/lib/buildEndpoint.js
|
|
145858
|
+
function getReservedRequestPropertyNames({ endpoint: endpoint3, context: context3, namespace }) {
|
|
145859
|
+
const reservedNames = /* @__PURE__ */ new Set();
|
|
145860
|
+
for (const queryParameter of endpoint3.queryParameters) {
|
|
145861
|
+
reservedNames.add(queryParameter.name);
|
|
145862
|
+
}
|
|
145863
|
+
for (const header of endpoint3.headers) {
|
|
145864
|
+
reservedNames.add(header.parameterNameOverride ?? header.name);
|
|
145865
|
+
}
|
|
145866
|
+
const request7 = endpoint3.request;
|
|
145867
|
+
if (request7 == null) {
|
|
145868
|
+
return reservedNames;
|
|
145869
|
+
}
|
|
145870
|
+
switch (request7.type) {
|
|
145871
|
+
case "multipart":
|
|
145872
|
+
for (const property24 of request7.properties) {
|
|
145873
|
+
reservedNames.add(property24.key);
|
|
145874
|
+
}
|
|
145875
|
+
break;
|
|
145876
|
+
case "json":
|
|
145877
|
+
case "formUrlEncoded": {
|
|
145878
|
+
const maybeSchemaId = request7.schema.type === "reference" ? request7.schema.schema : void 0;
|
|
145879
|
+
const resolvedSchema = request7.schema.type === "reference" ? context3.getSchema(request7.schema.schema, namespace) : request7.schema;
|
|
145880
|
+
if (resolvedSchema?.type !== "object" || maybeSchemaId != null && context3.isResponseReachable(maybeSchemaId)) {
|
|
145881
|
+
reservedNames.add("body");
|
|
145882
|
+
break;
|
|
145883
|
+
}
|
|
145884
|
+
for (const property24 of resolvedSchema.properties) {
|
|
145885
|
+
reservedNames.add(property24.nameOverride ?? property24.key);
|
|
145886
|
+
}
|
|
145887
|
+
for (const allOfRef of resolvedSchema.allOf) {
|
|
145888
|
+
const { properties: allOfProperties } = getProperties(context3, allOfRef.schema, namespace);
|
|
145889
|
+
for (const property24 of allOfProperties) {
|
|
145890
|
+
reservedNames.add(property24.nameOverride ?? property24.key);
|
|
145891
|
+
}
|
|
145892
|
+
}
|
|
145893
|
+
break;
|
|
145894
|
+
}
|
|
145895
|
+
case "octetStream":
|
|
145896
|
+
break;
|
|
145897
|
+
default:
|
|
145898
|
+
assertNever(request7);
|
|
145899
|
+
}
|
|
145900
|
+
return reservedNames;
|
|
145901
|
+
}
|
|
145902
|
+
function deconflictPathParameterName({ pathParameterName, reservedNames, pathParameters }) {
|
|
145903
|
+
const otherPathParameterNames = /* @__PURE__ */ new Set();
|
|
145904
|
+
for (const pathParameter of pathParameters) {
|
|
145905
|
+
const name2 = pathParameter.parameterNameOverride ?? pathParameter.name;
|
|
145906
|
+
if (name2 !== pathParameterName) {
|
|
145907
|
+
otherPathParameterNames.add(name2);
|
|
145908
|
+
}
|
|
145909
|
+
}
|
|
145910
|
+
let candidate = `${pathParameterName}${PATH_PARAM_DECONFLICT_SUFFIX}`;
|
|
145911
|
+
let counter = 2;
|
|
145912
|
+
while (reservedNames.has(candidate) || otherPathParameterNames.has(candidate)) {
|
|
145913
|
+
candidate = `${pathParameterName}${PATH_PARAM_DECONFLICT_SUFFIX}${counter}`;
|
|
145914
|
+
counter++;
|
|
145915
|
+
}
|
|
145916
|
+
return candidate;
|
|
145917
|
+
}
|
|
145857
145918
|
function buildEndpoint({ endpoint: endpoint3, declarationFile, context: context3 }) {
|
|
145858
145919
|
let schemaIdsToExclude = [];
|
|
145859
145920
|
const names2 = /* @__PURE__ */ new Set();
|
|
145860
145921
|
let path120 = endpoint3.path;
|
|
145861
145922
|
const maybeEndpointNamespace = getEndpointNamespace(endpoint3.sdkName, endpoint3.namespace);
|
|
145923
|
+
const reservedRequestPropertyNames = getReservedRequestPropertyNames({
|
|
145924
|
+
endpoint: endpoint3,
|
|
145925
|
+
context: context3,
|
|
145926
|
+
namespace: maybeEndpointNamespace
|
|
145927
|
+
});
|
|
145928
|
+
const pathParameterRenames = {};
|
|
145862
145929
|
const pathParameters = {};
|
|
145863
145930
|
for (const pathParameter of endpoint3.pathParameters) {
|
|
145864
|
-
|
|
145865
|
-
|
|
145931
|
+
let parameterNameOverride = pathParameter.parameterNameOverride;
|
|
145932
|
+
if (parameterNameOverride == null && reservedRequestPropertyNames.has(pathParameter.name)) {
|
|
145933
|
+
parameterNameOverride = deconflictPathParameterName({
|
|
145934
|
+
pathParameterName: pathParameter.name,
|
|
145935
|
+
reservedNames: reservedRequestPropertyNames,
|
|
145936
|
+
pathParameters: endpoint3.pathParameters
|
|
145937
|
+
});
|
|
145938
|
+
pathParameterRenames[pathParameter.name] = parameterNameOverride;
|
|
145866
145939
|
}
|
|
145867
|
-
|
|
145940
|
+
if (parameterNameOverride) {
|
|
145941
|
+
path120 = path120.replace(`{${pathParameter.name}}`, `{${parameterNameOverride}}`);
|
|
145942
|
+
}
|
|
145943
|
+
pathParameters[parameterNameOverride ?? pathParameter.name] = buildPathParameter({
|
|
145868
145944
|
pathParameter,
|
|
145869
145945
|
context: context3,
|
|
145870
145946
|
fileContainingReference: declarationFile,
|
|
@@ -146171,7 +146247,8 @@ function buildEndpoint({ endpoint: endpoint3, declarationFile, context: context3
|
|
|
146171
146247
|
if (endpoint3.examples.length > 0) {
|
|
146172
146248
|
convertedEndpoint.examples = convertEndpointExamples({
|
|
146173
146249
|
endpointExamples: endpoint3.examples,
|
|
146174
|
-
context: context3
|
|
146250
|
+
context: context3,
|
|
146251
|
+
pathParameterRenames
|
|
146175
146252
|
});
|
|
146176
146253
|
}
|
|
146177
146254
|
if (endpoint3.retries != null) {
|
|
@@ -146213,10 +146290,10 @@ function convertEndpointAuth({ endpoint: endpoint3, context: context3 }) {
|
|
|
146213
146290
|
}
|
|
146214
146291
|
return endpoint3.security;
|
|
146215
146292
|
}
|
|
146216
|
-
function convertEndpointExamples({ endpointExamples, context: context3 }) {
|
|
146293
|
+
function convertEndpointExamples({ endpointExamples, context: context3, pathParameterRenames }) {
|
|
146217
146294
|
return endpointExamples.map((endpointExample) => {
|
|
146218
146295
|
try {
|
|
146219
|
-
return buildEndpointExample({ endpointExample, context: context3 });
|
|
146296
|
+
return buildEndpointExample({ endpointExample, context: context3, pathParameterRenames });
|
|
146220
146297
|
} catch (e2) {
|
|
146221
146298
|
console.error(`Error building endpoint example: ${e2}`);
|
|
146222
146299
|
throw e2;
|
|
@@ -146548,6 +146625,7 @@ function endpointRequestSupportsInlinedPathParameters({ context: context3, reque
|
|
|
146548
146625
|
assertNever(request7);
|
|
146549
146626
|
}
|
|
146550
146627
|
}
|
|
146628
|
+
var PATH_PARAM_DECONFLICT_SUFFIX;
|
|
146551
146629
|
var init_buildEndpoint = __esm({
|
|
146552
146630
|
"../api-importers/openapi/openapi-ir-to-fern/lib/buildEndpoint.js"() {
|
|
146553
146631
|
"use strict";
|
|
@@ -146573,6 +146651,7 @@ var init_buildEndpoint = __esm({
|
|
|
146573
146651
|
init_getNamespaceFromGroup();
|
|
146574
146652
|
init_getTypeFromTypeReference();
|
|
146575
146653
|
init_isWriteMethod();
|
|
146654
|
+
PATH_PARAM_DECONFLICT_SUFFIX = "PathParam";
|
|
146576
146655
|
}
|
|
146577
146656
|
});
|
|
146578
146657
|
|
|
@@ -691395,7 +691474,7 @@ var AccessTokenPosthogManager = class {
|
|
|
691395
691474
|
properties: {
|
|
691396
691475
|
...event,
|
|
691397
691476
|
...event.properties,
|
|
691398
|
-
version: "5.
|
|
691477
|
+
version: "5.78.0",
|
|
691399
691478
|
usingAccessToken: true,
|
|
691400
691479
|
...getRunIdProperties()
|
|
691401
691480
|
}
|
|
@@ -691461,7 +691540,7 @@ var UserPosthogManager = class {
|
|
|
691461
691540
|
distinctId: this.userId ?? await this.getPersistedDistinctId(),
|
|
691462
691541
|
event: "CLI",
|
|
691463
691542
|
properties: {
|
|
691464
|
-
version: "5.
|
|
691543
|
+
version: "5.78.0",
|
|
691465
691544
|
...event,
|
|
691466
691545
|
...event.properties,
|
|
691467
691546
|
usingAccessToken: false,
|
|
@@ -872567,7 +872646,7 @@ var LOCAL_STORAGE_FOLDER4 = ".fern-dev";
|
|
|
872567
872646
|
var LOGS_FOLDER_NAME = "logs";
|
|
872568
872647
|
var MAX_LOGS_DIR_SIZE_BYTES = 100 * 1024 * 1024;
|
|
872569
872648
|
function getCliSource() {
|
|
872570
|
-
const version7 = "5.
|
|
872649
|
+
const version7 = "5.78.0";
|
|
872571
872650
|
return `cli@${version7}`;
|
|
872572
872651
|
}
|
|
872573
872652
|
var DebugLogger = class {
|
|
@@ -905220,7 +905299,7 @@ var LegacyDocsPublisher = class {
|
|
|
905220
905299
|
previewId,
|
|
905221
905300
|
disableTemplates: void 0,
|
|
905222
905301
|
skipUpload,
|
|
905223
|
-
cliVersion: "5.
|
|
905302
|
+
cliVersion: "5.78.0",
|
|
905224
905303
|
loginCommand: "fern auth login"
|
|
905225
905304
|
});
|
|
905226
905305
|
if (taskContext.getResult() === TaskResult.Failure) {
|
|
@@ -924941,6 +925020,8 @@ var Generation = class {
|
|
|
924941
925020
|
userAgentNameFromPackage: () => this.customConfig["user-agent-name-from-package"] ?? false,
|
|
924942
925021
|
/** When true, moves auth params and IR headers into ClientOptions so the constructor takes only named arguments. Default: false. */
|
|
924943
925022
|
unifiedClientOptions: () => this.customConfig["unified-client-options"] ?? false,
|
|
925023
|
+
/** When true, exposes server URL variables as ClientOptions properties and interpolates them into the environment URL template(s) at construction time. When false, suppresses those options and the interpolation, falling back to the pre-feature base-URL behavior. Default: true. */
|
|
925024
|
+
serverUrlVariables: () => this.customConfig["server-url-variables"] ?? true,
|
|
924944
925025
|
/** When true, uses PascalCase for environment names (e.g., "Production" instead of "production"). Default: true. */
|
|
924945
925026
|
pascalCaseEnvironments: () => this.customConfig["pascal-case-environments"] ?? true,
|
|
924946
925027
|
/** Solution file format: "sln" generates both .sln and .slnx, "slnx" (default) generates only .slnx. */
|
|
@@ -948946,8 +949027,7 @@ var DynamicTypeLiteralMapper5 = class {
|
|
|
948946
949027
|
if (!enumVariant2) {
|
|
948947
949028
|
return rust_exports.Expression.raw(`todo!("Unknown enum variant: ${value2}")`);
|
|
948948
949029
|
}
|
|
948949
|
-
const
|
|
948950
|
-
const variantName = this.context.escapeRustReservedType(rawVariantName);
|
|
949030
|
+
const variantName = enumVariant2.name.pascalCase.safeName;
|
|
948951
949031
|
return rust_exports.Expression.reference(`${enumName}::${variantName}`);
|
|
948952
949032
|
}
|
|
948953
949033
|
convertDiscriminatedUnionType({ unionType: unionType2, value: value2 }) {
|
|
@@ -950430,8 +950510,7 @@ var EndpointSnippetGenerator7 = class {
|
|
|
950430
950510
|
if (namedType.values.length > 0) {
|
|
950431
950511
|
const firstVariant = namedType.values[0];
|
|
950432
950512
|
if (firstVariant) {
|
|
950433
|
-
const
|
|
950434
|
-
const variantName = this.context.escapeRustReservedType(rawVariantName);
|
|
950513
|
+
const variantName = firstVariant.name.pascalCase.safeName;
|
|
950435
950514
|
return rust_exports.Expression.raw(`${typeName}::${variantName}`);
|
|
950436
950515
|
}
|
|
950437
950516
|
}
|
|
@@ -972133,7 +972212,7 @@ function getAutomationContextFromEnv() {
|
|
|
972133
972212
|
config_branch: process.env.FERN_CONFIG_BRANCH,
|
|
972134
972213
|
config_pr_number: process.env.FERN_CONFIG_PR_NUMBER,
|
|
972135
972214
|
trigger: process.env.GITHUB_EVENT_NAME,
|
|
972136
|
-
cli_version: "5.
|
|
972215
|
+
cli_version: "5.78.0"
|
|
972137
972216
|
};
|
|
972138
972217
|
}
|
|
972139
972218
|
function isAutomationMode() {
|
|
@@ -972965,7 +973044,7 @@ var CliContext = class _CliContext {
|
|
|
972965
973044
|
if (false) {
|
|
972966
973045
|
this.logger.error("CLI_VERSION is not defined");
|
|
972967
973046
|
}
|
|
972968
|
-
return "5.
|
|
973047
|
+
return "5.78.0";
|
|
972969
973048
|
}
|
|
972970
973049
|
getCliName() {
|
|
972971
973050
|
if (false) {
|
package/package.json
CHANGED