@fern-api/fern-api-dev 5.89.2 → 5.89.4

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 +176 -74
  2. package/package.json +1 -1
package/cli.cjs CHANGED
@@ -147333,6 +147333,9 @@ function resolveEndpointLocationWithNamespaceOverride({ location: location2, nam
147333
147333
  }
147334
147334
  return location2;
147335
147335
  }
147336
+ function sanitizeEndpointId(operationId) {
147337
+ return operationId.includes(".") ? camelCase_default(operationId) : operationId;
147338
+ }
147336
147339
  function getUnresolvedEndpointLocation(endpoint3) {
147337
147340
  const namespace = endpoint3.namespace;
147338
147341
  const tag2 = endpoint3.tags.filter((tag3) => tag3 !== namespace)[0];
@@ -147358,7 +147361,7 @@ function getUnresolvedEndpointLocation(endpoint3) {
147358
147361
  if (tag2 == null) {
147359
147362
  return {
147360
147363
  file: RelativeFilePath.of(FERN_PACKAGE_MARKER_FILENAME),
147361
- endpointId: operationId
147364
+ endpointId: sanitizeEndpointId(operationId)
147362
147365
  };
147363
147366
  }
147364
147367
  const tagTokens = tokenizeString(tag2);
@@ -147387,7 +147390,7 @@ function getUnresolvedEndpointLocation(endpoint3) {
147387
147390
  const camelCasedTag = camelCase_default(tag2);
147388
147391
  return {
147389
147392
  file: RelativeFilePath.of(`${camelCasedTag}.yml`),
147390
- endpointId: operationId,
147393
+ endpointId: sanitizeEndpointId(operationId),
147391
147394
  tag: tag2
147392
147395
  };
147393
147396
  }
@@ -353647,11 +353650,17 @@ var init_AbstractOperationConverter = __esm({
353647
353650
  }
353648
353651
  return operationId;
353649
353652
  }
353653
+ // A dot in a method name is parsed as a reference to another file (`import.endpoint`),
353654
+ // so dotted operation ids must be collapsed into a single name. This runs after
353655
+ // tokenization so that grouping still sees the individual tokens.
353656
+ sanitizeMethodName(methodName) {
353657
+ return methodName.includes(".") ? camelCase_default(methodName) : methodName;
353658
+ }
353650
353659
  computeGroupNameFromTagAndOperationId() {
353651
353660
  const tag2 = this.operation.tags?.[0];
353652
353661
  const methodName = this.evaluateMethodNameFromOperation();
353653
353662
  if (tag2 == null) {
353654
- return { method: methodName };
353663
+ return { method: this.sanitizeMethodName(methodName) };
353655
353664
  }
353656
353665
  const tagTokens = tokenizeString2(tag2);
353657
353666
  const methodNameTokens = tokenizeString2(methodName);
@@ -353672,7 +353681,7 @@ var init_AbstractOperationConverter = __esm({
353672
353681
  if (tagIsNotPrefixOfMethodName) {
353673
353682
  return {
353674
353683
  group: [tag2],
353675
- method: methodName
353684
+ method: this.sanitizeMethodName(methodName)
353676
353685
  };
353677
353686
  }
353678
353687
  const methodTokens = methodNameTokens.slice(tagTokens.length);
@@ -453143,49 +453152,103 @@ function requoteLeadingZeroValues(doc) {
453143
453152
  function getLargeFileBytes() {
453144
453153
  return parseInt(process.env.FERN_DOCS_LARGE_FILE_BYTES ?? "5000000", 10);
453145
453154
  }
453155
+ function isJsxTagStart(content5, index3) {
453156
+ if (content5[index3] !== "<" || content5[index3 - 1] === "\\") {
453157
+ return false;
453158
+ }
453159
+ const nameStart = content5[index3 + 1] === "/" ? content5[index3 + 2] : content5[index3 + 1];
453160
+ return nameStart != null && JSX_TAG_NAME_START_REGEX.test(nameStart);
453161
+ }
453162
+ function findScanLimit(content5, start2) {
453163
+ const blankLine2 = BLANK_LINE_REGEX.exec(content5.slice(start2));
453164
+ return blankLine2 == null ? content5.length : start2 + blankLine2.index;
453165
+ }
453166
+ function findCodeFenceEnd(content5, start2) {
453167
+ const lineEnd = content5.indexOf("\n", start2);
453168
+ const line = content5.slice(start2, lineEnd === -1 ? content5.length : lineEnd);
453169
+ const fence = CODE_FENCE_REGEX.exec(line)?.[1];
453170
+ if (fence == null || lineEnd === -1) {
453171
+ return null;
453172
+ }
453173
+ const closingFenceRegex = new RegExp(`^[ \\t]*${fence[0] === "`" ? "`" : "~"}{${fence.length},}[ \\t\\r]*$`);
453174
+ let i5 = lineEnd + 1;
453175
+ while (i5 <= content5.length) {
453176
+ const nextLineEnd = content5.indexOf("\n", i5);
453177
+ const end = nextLineEnd === -1 ? content5.length : nextLineEnd;
453178
+ if (closingFenceRegex.test(content5.slice(i5, end))) {
453179
+ return end;
453180
+ }
453181
+ if (nextLineEnd === -1) {
453182
+ return null;
453183
+ }
453184
+ i5 = nextLineEnd + 1;
453185
+ }
453186
+ return null;
453187
+ }
453188
+ function findInlineCodeEnd(content5, start2) {
453189
+ const limit = findScanLimit(content5, start2);
453190
+ let runLength = 0;
453191
+ while (content5[start2 + runLength] === "`") {
453192
+ runLength++;
453193
+ }
453194
+ let i5 = start2 + runLength;
453195
+ while (i5 < limit) {
453196
+ if (content5[i5] !== "`") {
453197
+ i5++;
453198
+ continue;
453199
+ }
453200
+ let closingRunLength = 0;
453201
+ while (content5[i5 + closingRunLength] === "`") {
453202
+ closingRunLength++;
453203
+ }
453204
+ if (closingRunLength === runLength) {
453205
+ return i5 + closingRunLength;
453206
+ }
453207
+ i5 += closingRunLength;
453208
+ }
453209
+ return null;
453210
+ }
453146
453211
  function streamingScanForImages(content5, metadata) {
453147
453212
  const filepaths = /* @__PURE__ */ new Set();
453148
453213
  const edits = [];
453149
453214
  let i5 = 0;
453150
453215
  const len = content5.length;
453151
- let inCodeFence = false;
453152
- let inInlineCode = false;
453153
453216
  while (i5 < len) {
453154
453217
  if (i5 === 0 || content5[i5 - 1] === "\n") {
453155
- if (content5.slice(i5, i5 + 3) === "```") {
453156
- inCodeFence = !inCodeFence;
453157
- i5 += 3;
453218
+ const fenceEnd = findCodeFenceEnd(content5, i5);
453219
+ if (fenceEnd != null) {
453220
+ i5 = fenceEnd;
453158
453221
  continue;
453159
453222
  }
453160
453223
  }
453161
- if (!inCodeFence) {
453162
- if (content5[i5] === "`" && (i5 === 0 || content5[i5 - 1] !== "\\")) {
453163
- inInlineCode = !inInlineCode;
453164
- i5++;
453224
+ if (content5[i5] === "`" && content5[i5 - 1] !== "\\") {
453225
+ const inlineCodeEnd = findInlineCodeEnd(content5, i5);
453226
+ if (inlineCodeEnd != null) {
453227
+ i5 = inlineCodeEnd;
453165
453228
  continue;
453166
453229
  }
453167
- if (!inInlineCode) {
453168
- if (content5[i5] === "!" && content5[i5 + 1] === "[") {
453169
- const result = parseMarkdownImage(content5, i5, metadata);
453170
- if (result) {
453171
- filepaths.add(result.filepath);
453172
- edits.push(result.edit);
453173
- i5 = result.nextIndex;
453174
- continue;
453175
- }
453176
- } else if (content5[i5] === "[" && content5[i5 - 1] !== "!") {
453177
- const result = parseMarkdownLink(content5, i5, metadata);
453178
- if (result) {
453179
- i5 = result.nextIndex;
453180
- continue;
453181
- }
453182
- } else if (content5[i5] === "<") {
453183
- const result = parseJsxTag(content5, i5, metadata, filepaths, edits);
453184
- if (result) {
453185
- i5 = result.nextIndex;
453186
- continue;
453187
- }
453188
- }
453230
+ i5++;
453231
+ continue;
453232
+ }
453233
+ if (content5[i5] === "!" && content5[i5 + 1] === "[") {
453234
+ const result = parseMarkdownImage(content5, i5, metadata);
453235
+ if (result) {
453236
+ filepaths.add(result.filepath);
453237
+ edits.push(result.edit);
453238
+ i5 = result.nextIndex;
453239
+ continue;
453240
+ }
453241
+ } else if (content5[i5] === "[" && content5[i5 - 1] !== "!") {
453242
+ const result = parseMarkdownLink(content5, i5, metadata);
453243
+ if (result) {
453244
+ i5 = result.nextIndex;
453245
+ continue;
453246
+ }
453247
+ } else if (content5[i5] === "<") {
453248
+ const result = parseJsxTag(content5, i5, metadata, filepaths, edits);
453249
+ if (result) {
453250
+ i5 = result.nextIndex;
453251
+ continue;
453189
453252
  }
453190
453253
  }
453191
453254
  i5++;
@@ -453294,30 +453357,35 @@ function parseMarkdownLink(content5, start2, metadata) {
453294
453357
  return { nextIndex: i5 };
453295
453358
  }
453296
453359
  function parseJsxTag(content5, start2, metadata, filepaths, edits) {
453360
+ if (!isJsxTagStart(content5, start2)) {
453361
+ return null;
453362
+ }
453297
453363
  let i5 = start2 + 1;
453298
- const len = content5.length;
453299
- while (i5 < len && content5[i5] !== ">" && content5[i5] !== " " && content5[i5] !== "\n") {
453364
+ const limit = findScanLimit(content5, start2);
453365
+ const tagFilepaths = [];
453366
+ const tagEdits = [];
453367
+ while (i5 < limit && content5[i5] !== ">" && content5[i5] !== " " && content5[i5] !== "\n") {
453300
453368
  i5++;
453301
453369
  }
453302
- while (i5 < len && content5[i5] !== ">") {
453303
- while (i5 < len && (content5[i5] === " " || content5[i5] === "\n")) {
453370
+ while (i5 < limit && content5[i5] !== ">") {
453371
+ while (i5 < limit && (content5[i5] === " " || content5[i5] === "\n")) {
453304
453372
  i5++;
453305
453373
  }
453306
453374
  const attrStart = i5;
453307
- while (i5 < len && content5[i5] !== "=" && content5[i5] !== ">" && content5[i5] !== " " && content5[i5] !== "\n") {
453375
+ while (i5 < limit && content5[i5] !== "=" && content5[i5] !== ">" && content5[i5] !== " " && content5[i5] !== "\n") {
453308
453376
  i5++;
453309
453377
  }
453310
453378
  const attrName = content5.slice(attrStart, i5).trim();
453311
453379
  if (content5[i5] === "=") {
453312
453380
  i5++;
453313
- while (i5 < len && (content5[i5] === " " || content5[i5] === "\n")) {
453381
+ while (i5 < limit && (content5[i5] === " " || content5[i5] === "\n")) {
453314
453382
  i5++;
453315
453383
  }
453316
453384
  if (content5[i5] === '"' || content5[i5] === "'") {
453317
453385
  const quote2 = content5[i5];
453318
453386
  i5++;
453319
453387
  const valueStart = i5;
453320
- while (i5 < len && content5[i5] !== quote2) {
453388
+ while (i5 < limit && content5[i5] !== quote2) {
453321
453389
  if (content5[i5] === "\\") {
453322
453390
  i5 += 2;
453323
453391
  } else {
@@ -453330,15 +453398,15 @@ function parseJsxTag(content5, start2, metadata, filepaths, edits) {
453330
453398
  const src = trimAnchor(value2);
453331
453399
  const resolvedPath = resolvePath5(src, metadata);
453332
453400
  if (src && resolvedPath) {
453333
- filepaths.add(resolvedPath);
453334
- edits.push({ start: valueStart, end: valueStart + value2.length, replacement: resolvedPath });
453401
+ tagFilepaths.push(resolvedPath);
453402
+ tagEdits.push({ start: valueStart, end: valueStart + value2.length, replacement: resolvedPath });
453335
453403
  }
453336
453404
  }
453337
453405
  } else if (content5[i5] === "{") {
453338
453406
  i5++;
453339
453407
  let braceDepth = 1;
453340
453408
  const exprStart = i5;
453341
- while (i5 < len && braceDepth > 0) {
453409
+ while (i5 < limit && braceDepth > 0) {
453342
453410
  if (content5[i5] === "{") {
453343
453411
  braceDepth++;
453344
453412
  } else if (content5[i5] === "}") {
@@ -453353,8 +453421,8 @@ function parseJsxTag(content5, start2, metadata, filepaths, edits) {
453353
453421
  const src = trimAnchor(value2);
453354
453422
  const resolvedPath = resolvePath5(src, metadata);
453355
453423
  if (src && resolvedPath) {
453356
- filepaths.add(resolvedPath);
453357
- edits.push({
453424
+ tagFilepaths.push(resolvedPath);
453425
+ tagEdits.push({
453358
453426
  start: exprStart + 1,
453359
453427
  end: exprStart + 1 + value2.length,
453360
453428
  replacement: resolvedPath
@@ -453367,8 +453435,8 @@ function parseJsxTag(content5, start2, metadata, filepaths, edits) {
453367
453435
  const src = trimAnchor(value2);
453368
453436
  const resolvedPath = resolvePath5(src, metadata);
453369
453437
  if (src && resolvedPath) {
453370
- filepaths.add(resolvedPath);
453371
- edits.push({
453438
+ tagFilepaths.push(resolvedPath);
453439
+ tagEdits.push({
453372
453440
  start: exprStart + 1,
453373
453441
  end: exprStart + 1 + value2.length,
453374
453442
  replacement: resolvedPath
@@ -453379,9 +453447,14 @@ function parseJsxTag(content5, start2, metadata, filepaths, edits) {
453379
453447
  }
453380
453448
  }
453381
453449
  }
453382
- if (i5 < len && content5[i5] === ">") {
453383
- i5++;
453450
+ if (i5 >= limit || content5[i5] !== ">") {
453451
+ return null;
453384
453452
  }
453453
+ i5++;
453454
+ for (const filepath of tagFilepaths) {
453455
+ filepaths.add(filepath);
453456
+ }
453457
+ edits.push(...tagEdits);
453385
453458
  return { nextIndex: i5 };
453386
453459
  }
453387
453460
  function precomputeLineStarts(content5) {
@@ -453646,6 +453719,22 @@ function replaceImagePathsAndUrls(markdown, fileIdsMap, markdownFilesToPathName,
453646
453719
  let i5 = 0;
453647
453720
  const len = content5.length;
453648
453721
  while (i5 < len) {
453722
+ if (i5 === 0 || content5[i5 - 1] === "\n") {
453723
+ const fenceEnd = findCodeFenceEnd(content5, i5);
453724
+ if (fenceEnd != null) {
453725
+ i5 = fenceEnd;
453726
+ continue;
453727
+ }
453728
+ }
453729
+ if (content5[i5] === "`" && content5[i5 - 1] !== "\\") {
453730
+ const inlineCodeEnd = findInlineCodeEnd(content5, i5);
453731
+ if (inlineCodeEnd != null) {
453732
+ i5 = inlineCodeEnd;
453733
+ continue;
453734
+ }
453735
+ i5++;
453736
+ continue;
453737
+ }
453649
453738
  if (content5[i5] === "!" && content5[i5 + 1] === "[") {
453650
453739
  const result = parseMarkdownImage(content5, i5, metadata);
453651
453740
  if (result) {
@@ -453686,6 +453775,10 @@ function replaceImagePathsAndUrls(markdown, fileIdsMap, markdownFilesToPathName,
453686
453775
  j5++;
453687
453776
  }
453688
453777
  }
453778
+ if (parenDepth !== 0) {
453779
+ i5++;
453780
+ continue;
453781
+ }
453689
453782
  const urlEnd = j5 - 1;
453690
453783
  const href = content5.slice(urlStart, urlEnd).trim();
453691
453784
  const destination = splitDestinationAndTitle(href);
@@ -453707,17 +453800,19 @@ function replaceImagePathsAndUrls(markdown, fileIdsMap, markdownFilesToPathName,
453707
453800
  i5 = j5;
453708
453801
  continue;
453709
453802
  }
453710
- } else if (content5[i5] === "<") {
453803
+ } else if (isJsxTagStart(content5, i5)) {
453804
+ const limit = findScanLimit(content5, i5);
453805
+ const editsBeforeTag = edits.length;
453711
453806
  let j5 = i5 + 1;
453712
- while (j5 < len && content5[j5] !== ">" && content5[j5] !== " " && content5[j5] !== "\n") {
453807
+ while (j5 < limit && content5[j5] !== ">" && content5[j5] !== " " && content5[j5] !== "\n") {
453713
453808
  j5++;
453714
453809
  }
453715
- while (j5 < len && content5[j5] !== ">") {
453716
- while (j5 < len && (content5[j5] === " " || content5[j5] === "\n")) {
453810
+ while (j5 < limit && content5[j5] !== ">") {
453811
+ while (j5 < limit && (content5[j5] === " " || content5[j5] === "\n")) {
453717
453812
  j5++;
453718
453813
  }
453719
453814
  const attrStart = j5;
453720
- while (j5 < len && content5[j5] !== "=" && content5[j5] !== ">" && content5[j5] !== " " && content5[j5] !== "\n") {
453815
+ while (j5 < limit && content5[j5] !== "=" && content5[j5] !== ">" && content5[j5] !== " " && content5[j5] !== "\n") {
453721
453816
  j5++;
453722
453817
  }
453723
453818
  const attrName = content5.slice(attrStart, j5).trim();
@@ -453725,7 +453820,7 @@ function replaceImagePathsAndUrls(markdown, fileIdsMap, markdownFilesToPathName,
453725
453820
  hasUnhandledExpressions = true;
453726
453821
  let braceDepth = 0;
453727
453822
  j5 = attrStart;
453728
- while (j5 < len) {
453823
+ while (j5 < limit) {
453729
453824
  if (content5[j5] === "{") {
453730
453825
  braceDepth++;
453731
453826
  } else if (content5[j5] === "}") {
@@ -453737,7 +453832,7 @@ function replaceImagePathsAndUrls(markdown, fileIdsMap, markdownFilesToPathName,
453737
453832
  } else if (content5[j5] === '"' || content5[j5] === "'") {
453738
453833
  const q5 = content5[j5];
453739
453834
  j5++;
453740
- while (j5 < len && content5[j5] !== q5) {
453835
+ while (j5 < limit && content5[j5] !== q5) {
453741
453836
  if (content5[j5] === "\\") {
453742
453837
  j5++;
453743
453838
  }
@@ -453750,13 +453845,13 @@ function replaceImagePathsAndUrls(markdown, fileIdsMap, markdownFilesToPathName,
453750
453845
  }
453751
453846
  if (content5[j5] === "=") {
453752
453847
  j5++;
453753
- while (j5 < len && (content5[j5] === " " || content5[j5] === "\n")) {
453848
+ while (j5 < limit && (content5[j5] === " " || content5[j5] === "\n")) {
453754
453849
  j5++;
453755
453850
  }
453756
453851
  const isCurlyWrapped = content5[j5] === "{";
453757
453852
  if (isCurlyWrapped) {
453758
453853
  j5++;
453759
- while (j5 < len && (content5[j5] === " " || content5[j5] === "\n")) {
453854
+ while (j5 < limit && (content5[j5] === " " || content5[j5] === "\n")) {
453760
453855
  j5++;
453761
453856
  }
453762
453857
  }
@@ -453764,7 +453859,7 @@ function replaceImagePathsAndUrls(markdown, fileIdsMap, markdownFilesToPathName,
453764
453859
  const quote2 = content5[j5];
453765
453860
  j5++;
453766
453861
  const valueStart = j5;
453767
- while (j5 < len && content5[j5] !== quote2) {
453862
+ while (j5 < limit && content5[j5] !== quote2) {
453768
453863
  if (content5[j5] === "\\") {
453769
453864
  j5 += 2;
453770
453865
  } else {
@@ -453774,10 +453869,10 @@ function replaceImagePathsAndUrls(markdown, fileIdsMap, markdownFilesToPathName,
453774
453869
  const value2 = content5.slice(valueStart, j5);
453775
453870
  j5++;
453776
453871
  if (isCurlyWrapped) {
453777
- while (j5 < len && (content5[j5] === " " || content5[j5] === "\n")) {
453872
+ while (j5 < limit && (content5[j5] === " " || content5[j5] === "\n")) {
453778
453873
  j5++;
453779
453874
  }
453780
- if (j5 < len && content5[j5] === "}") {
453875
+ if (j5 < limit && content5[j5] === "}") {
453781
453876
  j5++;
453782
453877
  }
453783
453878
  }
@@ -453811,7 +453906,7 @@ function replaceImagePathsAndUrls(markdown, fileIdsMap, markdownFilesToPathName,
453811
453906
  } else if (isCurlyWrapped && (attrName === "src" || attrName === "icon" || attrName === "href")) {
453812
453907
  hasUnhandledExpressions = true;
453813
453908
  let braceDepth = 1;
453814
- while (j5 < len && braceDepth > 0) {
453909
+ while (j5 < limit && braceDepth > 0) {
453815
453910
  if (content5[j5] === "{") {
453816
453911
  braceDepth++;
453817
453912
  } else if (content5[j5] === "}") {
@@ -453819,7 +453914,7 @@ function replaceImagePathsAndUrls(markdown, fileIdsMap, markdownFilesToPathName,
453819
453914
  } else if (content5[j5] === '"' || content5[j5] === "'") {
453820
453915
  const q5 = content5[j5];
453821
453916
  j5++;
453822
- while (j5 < len && content5[j5] !== q5) {
453917
+ while (j5 < limit && content5[j5] !== q5) {
453823
453918
  if (content5[j5] === "\\") {
453824
453919
  j5++;
453825
453920
  }
@@ -453831,9 +453926,12 @@ function replaceImagePathsAndUrls(markdown, fileIdsMap, markdownFilesToPathName,
453831
453926
  }
453832
453927
  }
453833
453928
  }
453834
- if (j5 < len && content5[j5] === ">") {
453835
- j5++;
453929
+ if (j5 >= limit || content5[j5] !== ">") {
453930
+ edits.length = editsBeforeTag;
453931
+ i5++;
453932
+ continue;
453836
453933
  }
453934
+ j5++;
453837
453935
  i5 = j5;
453838
453936
  continue;
453839
453937
  }
@@ -453961,7 +454059,7 @@ function replaceFrontmatterImagesforLogo(data2, mapImage) {
453961
454059
  }
453962
454060
  }
453963
454061
  }
453964
- var import_gray_matter3, import_path55, LogoOverrideFrontmatterSchema;
454062
+ var import_gray_matter3, import_path55, JSX_TAG_NAME_START_REGEX, BLANK_LINE_REGEX, CODE_FENCE_REGEX, LogoOverrideFrontmatterSchema;
453965
454063
  var init_parseImagePaths = __esm({
453966
454064
  "../docs-markdown-utils/lib/parseImagePaths.js"() {
453967
454065
  "use strict";
@@ -453975,6 +454073,9 @@ var init_parseImagePaths = __esm({
453975
454073
  init_is_mdx_element();
453976
454074
  init_parseMarkdownToTree();
453977
454075
  init_walk_estree_jsx_attributes();
454076
+ JSX_TAG_NAME_START_REGEX = /[A-Za-z]/;
454077
+ BLANK_LINE_REGEX = /\n[ \t]*\r?\n/;
454078
+ CODE_FENCE_REGEX = /^[ \t]*(`{3,}|~{3,})/;
453978
454079
  LogoOverrideFrontmatterSchema = external_exports2.union([
453979
454080
  external_exports2.string(),
453980
454081
  external_exports2.object({
@@ -694317,7 +694418,7 @@ var AccessTokenPosthogManager = class {
694317
694418
  properties: {
694318
694419
  ...event,
694319
694420
  ...event.properties,
694320
- version: "5.89.2",
694421
+ version: "5.89.4",
694321
694422
  usingAccessToken: true,
694322
694423
  ...getRunIdProperties()
694323
694424
  }
@@ -694383,7 +694484,7 @@ var UserPosthogManager = class {
694383
694484
  distinctId: this.userId ?? await this.getPersistedDistinctId(),
694384
694485
  event: "CLI",
694385
694486
  properties: {
694386
- version: "5.89.2",
694487
+ version: "5.89.4",
694387
694488
  ...event,
694388
694489
  ...event.properties,
694389
694490
  usingAccessToken: false,
@@ -875513,7 +875614,7 @@ var LOCAL_STORAGE_FOLDER4 = ".fern-dev";
875513
875614
  var LOGS_FOLDER_NAME = "logs";
875514
875615
  var MAX_LOGS_DIR_SIZE_BYTES = 100 * 1024 * 1024;
875515
875616
  function getCliSource() {
875516
- const version7 = "5.89.2";
875617
+ const version7 = "5.89.4";
875517
875618
  return `cli@${version7}`;
875518
875619
  }
875519
875620
  var DebugLogger = class {
@@ -908223,7 +908324,7 @@ var LegacyDocsPublisher = class {
908223
908324
  previewId,
908224
908325
  disableTemplates: void 0,
908225
908326
  skipUpload,
908226
- cliVersion: "5.89.2",
908327
+ cliVersion: "5.89.4",
908227
908328
  loginCommand: "fern auth login"
908228
908329
  });
908229
908330
  if (taskContext.getResult() === TaskResult.Failure) {
@@ -958729,6 +958830,7 @@ var TypescriptCustomConfigSchema = external_exports2.strictObject({
958729
958830
  packagePath: external_exports2.optional(external_exports2.string()),
958730
958831
  omitFernHeaders: external_exports2.optional(external_exports2.boolean()),
958731
958832
  includePlatformHeaders: external_exports2.optional(external_exports2.boolean()),
958833
+ allowUserAgentAppInfo: external_exports2.optional(external_exports2.boolean()),
958732
958834
  useDefaultRequestParameterValues: external_exports2.optional(external_exports2.boolean()),
958733
958835
  packageManager: external_exports2.optional(external_exports2.enum(["pnpm", "yarn"])),
958734
958836
  flattenRequestParameters: external_exports2.optional(external_exports2.boolean()),
@@ -975098,7 +975200,7 @@ function getAutomationContextFromEnv() {
975098
975200
  config_branch: process.env.FERN_CONFIG_BRANCH,
975099
975201
  config_pr_number: process.env.FERN_CONFIG_PR_NUMBER,
975100
975202
  trigger: process.env.GITHUB_EVENT_NAME,
975101
- cli_version: "5.89.2"
975203
+ cli_version: "5.89.4"
975102
975204
  };
975103
975205
  }
975104
975206
  function isAutomationMode() {
@@ -975930,7 +976032,7 @@ var CliContext = class _CliContext {
975930
976032
  if (false) {
975931
976033
  this.logger.error("CLI_VERSION is not defined");
975932
976034
  }
975933
- return "5.89.2";
976035
+ return "5.89.4";
975934
976036
  }
975935
976037
  getCliName() {
975936
976038
  if (false) {
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "5.89.2",
2
+ "version": "5.89.4",
3
3
  "repository": {
4
4
  "type": "git",
5
5
  "url": "git+https://github.com/fern-api/fern.git",