@fern-api/fern-api-dev 5.105.3 → 5.106.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.
Files changed (2) hide show
  1. package/cli.cjs +426 -45
  2. package/package.json +1 -1
package/cli.cjs CHANGED
@@ -117970,6 +117970,7 @@ __export(DocsYmlSchemas_exports, {
117970
117970
  Availability: () => Availability2,
117971
117971
  BackgroundImageConfiguration: () => BackgroundImageConfiguration,
117972
117972
  BackgroundImageThemedConfig: () => BackgroundImageThemedConfig,
117973
+ BlogConfiguration: () => BlogConfiguration,
117973
117974
  BodyThemeConfig: () => BodyThemeConfig,
117974
117975
  ChangelogConfiguration: () => ChangelogConfiguration,
117975
117976
  ChangelogFolderRelativePath: () => ChangelogFolderRelativePath,
@@ -118100,7 +118101,7 @@ function normalizeTranslationConfig(config5) {
118100
118101
  }
118101
118102
  return config5;
118102
118103
  }
118103
- var TabId, ChangelogFolderRelativePath, AudienceId, RoleId, LibraryName, ProgrammingLanguage, Language, PageActionOption, AIChatLocation, AIChatModel, EditThisPageLaunch, Availability2, VersionAvailability, TitleSource, LibraryLanguage, FontStyle, FontDisplay, SearchbarPlacement, TabsPlacement, SwitcherPlacement, ContentAlignment, HeaderPosition, ChangelogLayout, ApiReferenceLayout, ProductSwitcherThemeConfig, LanguageSwitcherThemeConfig, FooterNavThemeConfig, TabsThemeConfig, BodyThemeConfig, SidebarThemeConfig, PageActionsThemeConfig, HttpSnippetLanguage, Target, TwitterCardSetting, JsScriptStrategy, FontWeight, ColorThemedConfig, ColorConfig, Audience, Role, CustomDomain, HttpSnippetsConfig, BackgroundImageThemedConfig, BackgroundImageConfiguration, CssConfig, CollapsedStringValue, CollapsedValue, WithPermissions, FeatureFlag, FeatureFlagConfiguration, WithFeatureFlags, WithViewers, SegmentConfig, FullStoryAnalyticsConfig, IntercomConfig, PostHogConfig, GTMConfig, GoogleAnalytics4Config, AnalyticsConfig, AiExamplesConfig, AIChatWebsiteDatasource, AIChatDatasource, PageDescriptionSource, AgentsConfig, AIChatConfig, FontConfigVariant, FontConfigPath, FontConfig, DocsTypographyConfig, ThemeConfig, LayoutConfig, SearchSettingsConfig, DocsSettingsConfig, ColorsConfiguration, CustomPageAction, PageActionOptions, PageActionsConfig, GithubEditThisPageConfig, EditThisPageConfig, DocsInstance, LogoConfiguration, LinkConfiguration, VersionedSnippetLanguageConfiguration, SnippetLanguageConfiguration, SnippetsConfiguration, PlaygroundButtonSettings, PlaygroundSettings, AnnouncementConfig, NavbarLinkConfig, NavbarGithubConfigWithOptions, NavbarGithubConfig, NavbarDropdownConfig, NavbarLink, FooterLinksConfig, JsFileConfigSettings, JsFileConfig, JsRemoteConfig, JsConfigOptions, JsConfig, MetadataConfig, RedirectConfig, CheckRuleSeverity, CheckRulesConfig, CheckConfig, IntegrationsConfig, ExperimentalConfig, GitLibraryInputSchema, PathLibraryInputSchema, LibraryInputConfiguration, LibraryOutputConfiguration, LibraryConfiguration, PageConfiguration, ChangelogConfiguration, LibraryReferenceConfiguration, FolderConfiguration, ApiReferenceEndpointConfiguration, ApiReferenceOperationConfiguration, ApiReferenceLayoutItem, ApiReferenceSectionConfiguration, ApiReferencePackageConfigurationWithOptions, ApiReferencePackageConfiguration, ApiReferenceConfiguration, NavigationItem, SectionConfiguration, UntabbedNavigationConfig, TabVariant, TabbedNavigationItemWithLayout, TabbedNavigationItemWithVariants, TabbedNavigationItem, TabbedNavigationConfig, NavigationConfig, TabConfig, VersionConfig, VersionFileConfig, ProductConfigBase, InternalProduct, ExternalProduct, ProductConfig, RelativeProductPath, AbsoluteProductPath, ProductPath, ProductFileConfig, TranslationConfigObject, TranslationConfig, DocsConfiguration;
118104
+ var TabId, ChangelogFolderRelativePath, AudienceId, RoleId, LibraryName, ProgrammingLanguage, Language, PageActionOption, AIChatLocation, AIChatModel, EditThisPageLaunch, Availability2, VersionAvailability, TitleSource, LibraryLanguage, FontStyle, FontDisplay, SearchbarPlacement, TabsPlacement, SwitcherPlacement, ContentAlignment, HeaderPosition, ChangelogLayout, ApiReferenceLayout, ProductSwitcherThemeConfig, LanguageSwitcherThemeConfig, FooterNavThemeConfig, TabsThemeConfig, BodyThemeConfig, SidebarThemeConfig, PageActionsThemeConfig, HttpSnippetLanguage, Target, TwitterCardSetting, JsScriptStrategy, FontWeight, ColorThemedConfig, ColorConfig, Audience, Role, CustomDomain, HttpSnippetsConfig, BackgroundImageThemedConfig, BackgroundImageConfiguration, CssConfig, CollapsedStringValue, CollapsedValue, WithPermissions, FeatureFlag, FeatureFlagConfiguration, WithFeatureFlags, WithViewers, SegmentConfig, FullStoryAnalyticsConfig, IntercomConfig, PostHogConfig, GTMConfig, GoogleAnalytics4Config, AnalyticsConfig, AiExamplesConfig, AIChatWebsiteDatasource, AIChatDatasource, PageDescriptionSource, AgentsConfig, AIChatConfig, FontConfigVariant, FontConfigPath, FontConfig, DocsTypographyConfig, ThemeConfig, LayoutConfig, SearchSettingsConfig, DocsSettingsConfig, ColorsConfiguration, CustomPageAction, PageActionOptions, PageActionsConfig, GithubEditThisPageConfig, EditThisPageConfig, DocsInstance, LogoConfiguration, LinkConfiguration, VersionedSnippetLanguageConfiguration, SnippetLanguageConfiguration, SnippetsConfiguration, PlaygroundButtonSettings, PlaygroundSettings, AnnouncementConfig, NavbarLinkConfig, NavbarGithubConfigWithOptions, NavbarGithubConfig, NavbarDropdownConfig, NavbarLink, FooterLinksConfig, JsFileConfigSettings, JsFileConfig, JsRemoteConfig, JsConfigOptions, JsConfig, MetadataConfig, RedirectConfig, CheckRuleSeverity, CheckRulesConfig, CheckConfig, IntegrationsConfig, ExperimentalConfig, GitLibraryInputSchema, PathLibraryInputSchema, LibraryInputConfiguration, LibraryOutputConfiguration, LibraryConfiguration, PageConfiguration, ChangelogConfiguration, BlogConfiguration, LibraryReferenceConfiguration, FolderConfiguration, ApiReferenceEndpointConfiguration, ApiReferenceOperationConfiguration, ApiReferenceLayoutItem, ApiReferenceSectionConfiguration, ApiReferencePackageConfigurationWithOptions, ApiReferencePackageConfiguration, ApiReferenceConfiguration, NavigationItem, SectionConfiguration, UntabbedNavigationConfig, TabVariant, TabbedNavigationItemWithLayout, TabbedNavigationItemWithVariants, TabbedNavigationItem, TabbedNavigationConfig, NavigationConfig, TabConfig, VersionConfig, VersionFileConfig, ProductConfigBase, InternalProduct, ExternalProduct, ProductConfig, RelativeProductPath, AbsoluteProductPath, ProductPath, ProductFileConfig, TranslationConfigObject, TranslationConfig, DocsConfiguration;
118104
118105
  var init_DocsYmlSchemas = __esm({
118105
118106
  "../configuration/lib/docs-yml/DocsYmlSchemas.js"() {
118106
118107
  "use strict";
@@ -118593,6 +118594,13 @@ var init_DocsYmlSchemas = __esm({
118593
118594
  icon: external_exports.string().optional(),
118594
118595
  hidden: external_exports.boolean().optional()
118595
118596
  }));
118597
+ BlogConfiguration = WithPermissions.merge(WithFeatureFlags).merge(external_exports.object({
118598
+ blog: ChangelogFolderRelativePath,
118599
+ title: external_exports.string().optional(),
118600
+ slug: external_exports.string().optional(),
118601
+ icon: external_exports.string().optional(),
118602
+ hidden: external_exports.boolean().optional()
118603
+ }));
118596
118604
  LibraryReferenceConfiguration = WithPermissions.merge(WithFeatureFlags).merge(external_exports.object({
118597
118605
  library: LibraryName,
118598
118606
  title: external_exports.string().optional(),
@@ -118692,6 +118700,7 @@ var init_DocsYmlSchemas = __esm({
118692
118700
  LibraryReferenceConfiguration,
118693
118701
  LinkConfiguration,
118694
118702
  ChangelogConfiguration,
118703
+ BlogConfiguration,
118695
118704
  FolderConfiguration
118696
118705
  ]));
118697
118706
  SectionConfiguration = WithPermissions.merge(WithFeatureFlags).merge(external_exports.object({
@@ -118737,7 +118746,8 @@ var init_DocsYmlSchemas = __esm({
118737
118746
  hidden: external_exports.boolean().optional(),
118738
118747
  href: external_exports.string().optional(),
118739
118748
  target: Target.optional(),
118740
- changelog: ChangelogFolderRelativePath.optional()
118749
+ changelog: ChangelogFolderRelativePath.optional(),
118750
+ blog: ChangelogFolderRelativePath.optional()
118741
118751
  }));
118742
118752
  VersionConfig = WithPermissions.merge(WithFeatureFlags).merge(external_exports.object({
118743
118753
  "display-name": external_exports.string(),
@@ -118847,6 +118857,28 @@ var init_DocsYmlSchemas = __esm({
118847
118857
  }
118848
118858
  });
118849
118859
 
118860
+ // ../configuration/lib/docs-yml/navigation.js
118861
+ function getChangelogFolderFromNavigationItem(item) {
118862
+ if ("changelog" in item) {
118863
+ return item.changelog;
118864
+ }
118865
+ if ("blog" in item) {
118866
+ return item.blog;
118867
+ }
118868
+ return void 0;
118869
+ }
118870
+ function getChangelogFolderFromTabConfig(tab2) {
118871
+ return tab2.changelog ?? tab2.blog;
118872
+ }
118873
+ var DEFAULT_CHANGELOG_TITLE, DEFAULT_BLOG_TITLE;
118874
+ var init_navigation = __esm({
118875
+ "../configuration/lib/docs-yml/navigation.js"() {
118876
+ "use strict";
118877
+ DEFAULT_CHANGELOG_TITLE = "Changelog";
118878
+ DEFAULT_BLOG_TITLE = "Blog";
118879
+ }
118880
+ });
118881
+
118850
118882
  // ../configuration/lib/docs-yml/ParsedDocsConfiguration.js
118851
118883
  var init_ParsedDocsConfiguration = __esm({
118852
118884
  "../configuration/lib/docs-yml/ParsedDocsConfiguration.js"() {
@@ -119044,6 +119076,13 @@ var init_BackgroundImageThemedConfig = __esm({
119044
119076
  }
119045
119077
  });
119046
119078
 
119079
+ // ../configuration/lib/docs-yml/schemas/sdk/api/resources/docs/types/BlogConfiguration.js
119080
+ var init_BlogConfiguration = __esm({
119081
+ "../configuration/lib/docs-yml/schemas/sdk/api/resources/docs/types/BlogConfiguration.js"() {
119082
+ "use strict";
119083
+ }
119084
+ });
119085
+
119047
119086
  // ../configuration/lib/docs-yml/schemas/sdk/api/resources/docs/types/BodyThemeConfig.js
119048
119087
  var BodyThemeConfig2;
119049
119088
  var init_BodyThemeConfig = __esm({
@@ -120189,6 +120228,7 @@ var init_types100 = __esm({
120189
120228
  init_Availability3();
120190
120229
  init_BackgroundImageConfiguration();
120191
120230
  init_BackgroundImageThemedConfig();
120231
+ init_BlogConfiguration();
120192
120232
  init_BodyThemeConfig();
120193
120233
  init_ChangelogConfiguration();
120194
120234
  init_ChangelogFolderRelativePath();
@@ -123282,16 +123322,6 @@ var init_BackgroundImageConfiguration2 = __esm({
123282
123322
  }
123283
123323
  });
123284
123324
 
123285
- // ../configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/BodyThemeConfig.js
123286
- var BodyThemeConfig3;
123287
- var init_BodyThemeConfig2 = __esm({
123288
- "../configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/BodyThemeConfig.js"() {
123289
- "use strict";
123290
- init_core5();
123291
- BodyThemeConfig3 = schemas_exports6.enum_(["default", "canvas"]);
123292
- }
123293
- });
123294
-
123295
123325
  // ../configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/ChangelogFolderRelativePath.js
123296
123326
  var ChangelogFolderRelativePath2;
123297
123327
  var init_ChangelogFolderRelativePath2 = __esm({
@@ -123302,6 +123332,35 @@ var init_ChangelogFolderRelativePath2 = __esm({
123302
123332
  }
123303
123333
  });
123304
123334
 
123335
+ // ../configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/BlogConfiguration.js
123336
+ var BlogConfiguration2;
123337
+ var init_BlogConfiguration2 = __esm({
123338
+ "../configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/BlogConfiguration.js"() {
123339
+ "use strict";
123340
+ init_core5();
123341
+ init_ChangelogFolderRelativePath2();
123342
+ init_WithFeatureFlags2();
123343
+ init_WithPermissions2();
123344
+ BlogConfiguration2 = schemas_exports6.object({
123345
+ blog: ChangelogFolderRelativePath2,
123346
+ title: schemas_exports6.string().optional(),
123347
+ slug: schemas_exports6.string().optional(),
123348
+ icon: schemas_exports6.string().optional(),
123349
+ hidden: schemas_exports6.boolean().optional()
123350
+ }).extend(WithPermissions2).extend(WithFeatureFlags2);
123351
+ }
123352
+ });
123353
+
123354
+ // ../configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/BodyThemeConfig.js
123355
+ var BodyThemeConfig3;
123356
+ var init_BodyThemeConfig2 = __esm({
123357
+ "../configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/BodyThemeConfig.js"() {
123358
+ "use strict";
123359
+ init_core5();
123360
+ BodyThemeConfig3 = schemas_exports6.enum_(["default", "canvas"]);
123361
+ }
123362
+ });
123363
+
123305
123364
  // ../configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/ChangelogConfiguration.js
123306
123365
  var ChangelogConfiguration2;
123307
123366
  var init_ChangelogConfiguration2 = __esm({
@@ -124598,7 +124657,8 @@ var init_TabConfig2 = __esm({
124598
124657
  hidden: schemas_exports6.boolean().optional(),
124599
124658
  href: schemas_exports6.string().optional(),
124600
124659
  target: Target3.optional(),
124601
- changelog: ChangelogFolderRelativePath2.optional()
124660
+ changelog: ChangelogFolderRelativePath2.optional(),
124661
+ blog: ChangelogFolderRelativePath2.optional()
124602
124662
  }).extend(WithPermissions2).extend(WithFeatureFlags2);
124603
124663
  }
124604
124664
  });
@@ -124889,6 +124949,7 @@ var init_NavigationItem2 = __esm({
124889
124949
  init_core5();
124890
124950
  init_serialization3();
124891
124951
  init_ApiReferenceConfiguration2();
124952
+ init_BlogConfiguration2();
124892
124953
  init_ChangelogConfiguration2();
124893
124954
  init_FolderConfiguration2();
124894
124955
  init_LibraryReferenceConfiguration2();
@@ -124901,6 +124962,7 @@ var init_NavigationItem2 = __esm({
124901
124962
  LibraryReferenceConfiguration2,
124902
124963
  LinkConfiguration2,
124903
124964
  ChangelogConfiguration2,
124965
+ BlogConfiguration2,
124904
124966
  FolderConfiguration2
124905
124967
  ]);
124906
124968
  }
@@ -125024,6 +125086,7 @@ var init_types101 = __esm({
125024
125086
  init_Availability4();
125025
125087
  init_BackgroundImageConfiguration2();
125026
125088
  init_BackgroundImageThemedConfig2();
125089
+ init_BlogConfiguration2();
125027
125090
  init_BodyThemeConfig2();
125028
125091
  init_ChangelogConfiguration2();
125029
125092
  init_ChangelogFolderRelativePath2();
@@ -125184,6 +125247,7 @@ __export(docs_exports2, {
125184
125247
  Availability: () => Availability4,
125185
125248
  BackgroundImageConfiguration: () => BackgroundImageConfiguration2,
125186
125249
  BackgroundImageThemedConfig: () => BackgroundImageThemedConfig2,
125250
+ BlogConfiguration: () => BlogConfiguration2,
125187
125251
  BodyThemeConfig: () => BodyThemeConfig3,
125188
125252
  ChangelogConfiguration: () => ChangelogConfiguration2,
125189
125253
  ChangelogFolderRelativePath: () => ChangelogFolderRelativePath2,
@@ -125358,6 +125422,7 @@ __export(serialization_exports3, {
125358
125422
  Availability: () => Availability4,
125359
125423
  BackgroundImageConfiguration: () => BackgroundImageConfiguration2,
125360
125424
  BackgroundImageThemedConfig: () => BackgroundImageThemedConfig2,
125425
+ BlogConfiguration: () => BlogConfiguration2,
125361
125426
  BodyThemeConfig: () => BodyThemeConfig3,
125362
125427
  ChangelogConfiguration: () => ChangelogConfiguration2,
125363
125428
  ChangelogFolderRelativePath: () => ChangelogFolderRelativePath2,
@@ -125600,16 +125665,21 @@ var init_themeEligibleFields = __esm({
125600
125665
  // ../configuration/lib/docs-yml/index.js
125601
125666
  var docs_yml_exports = {};
125602
125667
  __export(docs_yml_exports, {
125668
+ DEFAULT_BLOG_TITLE: () => DEFAULT_BLOG_TITLE,
125669
+ DEFAULT_CHANGELOG_TITLE: () => DEFAULT_CHANGELOG_TITLE,
125603
125670
  DocsYmlSchemas: () => DocsYmlSchemas_exports,
125604
125671
  RawSchemas: () => schemas_exports7,
125605
125672
  THEME_ELIGIBLE_FIELDS: () => THEME_ELIGIBLE_FIELDS,
125606
125673
  THEME_ELIGIBLE_YAML_KEYS: () => THEME_ELIGIBLE_YAML_KEYS,
125607
- THEME_FIELD_POLICIES: () => THEME_FIELD_POLICIES
125674
+ THEME_FIELD_POLICIES: () => THEME_FIELD_POLICIES,
125675
+ getChangelogFolderFromNavigationItem: () => getChangelogFolderFromNavigationItem,
125676
+ getChangelogFolderFromTabConfig: () => getChangelogFolderFromTabConfig
125608
125677
  });
125609
125678
  var init_docs_yml = __esm({
125610
125679
  "../configuration/lib/docs-yml/index.js"() {
125611
125680
  "use strict";
125612
125681
  init_DocsYmlSchemas();
125682
+ init_navigation();
125613
125683
  init_ParsedDocsConfiguration();
125614
125684
  init_schemas7();
125615
125685
  init_themeEligibleFields();
@@ -237925,7 +237995,8 @@ async function convertNavigationTabConfiguration({ tabs, item, absolutePathToFer
237925
237995
  featureFlags: convertFeatureFlag(tab2.featureFlag)
237926
237996
  };
237927
237997
  }
237928
- if (tab2.changelog != null) {
237998
+ const changelogPath = docs_yml_exports.getChangelogFolderFromTabConfig(tab2);
237999
+ if (changelogPath != null) {
237929
238000
  return {
237930
238001
  title: tab2.displayName,
237931
238002
  icon: resolveIconPath(tab2.icon, absolutePathToConfig),
@@ -237934,7 +238005,7 @@ async function convertNavigationTabConfiguration({ tabs, item, absolutePathToFer
237934
238005
  hidden: tab2.hidden,
237935
238006
  child: {
237936
238007
  type: "changelog",
237937
- changelog: await listFiles(resolveFilepath(tab2.changelog, absolutePathToConfig), "{md,mdx}")
238008
+ changelog: await listFiles(resolveFilepath(changelogPath, absolutePathToConfig), "{md,mdx}")
237938
238009
  },
237939
238010
  viewers: parseRoles(tab2.viewers),
237940
238011
  orphaned: tab2.orphaned,
@@ -238013,7 +238084,8 @@ async function expandFolderConfiguration({ rawConfig, absolutePathToFernFolder,
238013
238084
  availability: rawConfig.availability
238014
238085
  };
238015
238086
  }
238016
- async function convertNavigationItem({ rawConfig, absolutePathToFernFolder, absolutePathToConfig, context: context3, folderTitleSource }) {
238087
+ async function convertNavigationItem({ rawConfig: rawConfigInput, absolutePathToFernFolder, absolutePathToConfig, context: context3, folderTitleSource }) {
238088
+ const rawConfig = normalizeNavigationItem(rawConfigInput);
238017
238089
  if (isRawPageConfig(rawConfig)) {
238018
238090
  return parsePageConfig(rawConfig, absolutePathToConfig);
238019
238091
  }
@@ -238092,7 +238164,7 @@ async function convertNavigationItem({ rawConfig, absolutePathToFernFolder, abso
238092
238164
  changelog: await listFiles(resolveFilepath(rawConfig.changelog, absolutePathToConfig), "{md,mdx}"),
238093
238165
  hidden: rawConfig.hidden ?? false,
238094
238166
  icon: resolveIconPath(rawConfig.icon, absolutePathToConfig),
238095
- title: rawConfig.title ?? DEFAULT_CHANGELOG_TITLE,
238167
+ title: rawConfig.title ?? DEFAULT_CHANGELOG_TITLE2,
238096
238168
  slug: rawConfig.slug,
238097
238169
  viewers: parseRoles(rawConfig.viewers),
238098
238170
  orphaned: rawConfig.orphaned,
@@ -238282,6 +238354,20 @@ function isRawLinkConfig(item) {
238282
238354
  function isRawChangelogConfig(item) {
238283
238355
  return isPlainObject4(item) && typeof item.changelog === "string";
238284
238356
  }
238357
+ function isRawBlogConfig(item) {
238358
+ return isPlainObject4(item) && typeof item.blog === "string";
238359
+ }
238360
+ function normalizeNavigationItem(rawConfig) {
238361
+ if (!isRawBlogConfig(rawConfig)) {
238362
+ return rawConfig;
238363
+ }
238364
+ const { blog, ...rest } = rawConfig;
238365
+ return {
238366
+ ...rest,
238367
+ changelog: blog,
238368
+ title: rawConfig.title ?? docs_yml_exports.DEFAULT_BLOG_TITLE
238369
+ };
238370
+ }
238285
238371
  function isRawFolderConfig(item) {
238286
238372
  return isPlainObject4(item) && typeof item.folder === "string";
238287
238373
  }
@@ -238854,7 +238940,7 @@ function parseVariantOverlays(variants) {
238854
238940
  }
238855
238941
  return result;
238856
238942
  }
238857
- var import_promises15, import_path23, DEFAULT_CHANGELOG_TITLE;
238943
+ var import_promises15, import_path23, DEFAULT_CHANGELOG_TITLE2;
238858
238944
  var init_parseDocsConfiguration = __esm({
238859
238945
  "../configuration-loader/lib/docs-yml/parseDocsConfiguration.js"() {
238860
238946
  "use strict";
@@ -238872,7 +238958,7 @@ var init_parseDocsConfiguration = __esm({
238872
238958
  init_materializeGitRef();
238873
238959
  init_resolveRefContentRoot();
238874
238960
  init_navigationUtils();
238875
- DEFAULT_CHANGELOG_TITLE = "Changelog";
238961
+ DEFAULT_CHANGELOG_TITLE2 = "Changelog";
238876
238962
  }
238877
238963
  });
238878
238964
 
@@ -459210,6 +459296,16 @@ var init_docs_yml_schema = __esm({
459210
459296
  type: "null"
459211
459297
  }
459212
459298
  ]
459299
+ },
459300
+ blog: {
459301
+ oneOf: [
459302
+ {
459303
+ $ref: "#/definitions/docs.ChangelogFolderRelativePath"
459304
+ },
459305
+ {
459306
+ type: "null"
459307
+ }
459308
+ ]
459213
459309
  }
459214
459310
  },
459215
459311
  required: [
@@ -461052,6 +461148,89 @@ var init_docs_yml_schema = __esm({
461052
461148
  ],
461053
461149
  additionalProperties: false
461054
461150
  },
461151
+ "docs.BlogConfiguration": {
461152
+ type: "object",
461153
+ properties: {
461154
+ viewers: {
461155
+ oneOf: [
461156
+ {
461157
+ $ref: "#/definitions/docs.Role"
461158
+ },
461159
+ {
461160
+ type: "null"
461161
+ }
461162
+ ]
461163
+ },
461164
+ orphaned: {
461165
+ oneOf: [
461166
+ {
461167
+ type: "boolean"
461168
+ },
461169
+ {
461170
+ type: "null"
461171
+ }
461172
+ ],
461173
+ description: "When `orphaned` is set to `true`, the roles will not inherit from parents."
461174
+ },
461175
+ "feature-flag": {
461176
+ oneOf: [
461177
+ {
461178
+ $ref: "#/definitions/docs.FeatureFlagConfiguration"
461179
+ },
461180
+ {
461181
+ type: "null"
461182
+ }
461183
+ ]
461184
+ },
461185
+ blog: {
461186
+ $ref: "#/definitions/docs.ChangelogFolderRelativePath"
461187
+ },
461188
+ title: {
461189
+ oneOf: [
461190
+ {
461191
+ type: "string"
461192
+ },
461193
+ {
461194
+ type: "null"
461195
+ }
461196
+ ]
461197
+ },
461198
+ slug: {
461199
+ oneOf: [
461200
+ {
461201
+ type: "string"
461202
+ },
461203
+ {
461204
+ type: "null"
461205
+ }
461206
+ ]
461207
+ },
461208
+ icon: {
461209
+ oneOf: [
461210
+ {
461211
+ type: "string"
461212
+ },
461213
+ {
461214
+ type: "null"
461215
+ }
461216
+ ]
461217
+ },
461218
+ hidden: {
461219
+ oneOf: [
461220
+ {
461221
+ type: "boolean"
461222
+ },
461223
+ {
461224
+ type: "null"
461225
+ }
461226
+ ]
461227
+ }
461228
+ },
461229
+ required: [
461230
+ "blog"
461231
+ ],
461232
+ additionalProperties: false
461233
+ },
461055
461234
  "docs.TitleSource": {
461056
461235
  type: "string",
461057
461236
  enum: [
@@ -461228,6 +461407,9 @@ var init_docs_yml_schema = __esm({
461228
461407
  {
461229
461408
  $ref: "#/definitions/docs.ChangelogConfiguration"
461230
461409
  },
461410
+ {
461411
+ $ref: "#/definitions/docs.BlogConfiguration"
461412
+ },
461231
461413
  {
461232
461414
  $ref: "#/definitions/docs.FolderConfiguration"
461233
461415
  }
@@ -465432,7 +465614,7 @@ function orderBy3(items, key2, order2 = "asc") {
465432
465614
  return 0;
465433
465615
  });
465434
465616
  }
465435
- var import_dayjs2, import_utc2, DEFAULT_CHANGELOG_TITLE2, RESERVED_OVERVIEW_PAGE_NAMES, ChangelogNodeConverter;
465617
+ var import_dayjs2, import_utc2, DEFAULT_CHANGELOG_TITLE3, RESERVED_OVERVIEW_PAGE_NAMES, ChangelogNodeConverter;
465436
465618
  var init_ChangelogNodeConverter = __esm({
465437
465619
  "../docs-resolver/lib/ChangelogNodeConverter.js"() {
465438
465620
  "use strict";
@@ -465443,7 +465625,7 @@ var init_ChangelogNodeConverter = __esm({
465443
465625
  init_lodash();
465444
465626
  init_extractDatetimeFromChangelogTitle();
465445
465627
  import_dayjs2.default.extend(import_utc2.default);
465446
- DEFAULT_CHANGELOG_TITLE2 = "Changelog";
465628
+ DEFAULT_CHANGELOG_TITLE3 = "Changelog";
465447
465629
  RESERVED_OVERVIEW_PAGE_NAMES = ["summary", "index", "overview"];
465448
465630
  ChangelogNodeConverter = class {
465449
465631
  markdownToFullSlug;
@@ -465461,7 +465643,7 @@ var init_ChangelogNodeConverter = __esm({
465461
465643
  this.idgen = idgen;
465462
465644
  }
465463
465645
  toChangelogNode(opts) {
465464
- const title2 = opts.title ?? DEFAULT_CHANGELOG_TITLE2;
465646
+ const title2 = opts.title ?? DEFAULT_CHANGELOG_TITLE3;
465465
465647
  const unsortedChangelogItems = [];
465466
465648
  let overviewPagePath = void 0;
465467
465649
  for (const absoluteFilepath of this.changelogFiles ?? []) {
@@ -704517,7 +704699,7 @@ var AccessTokenPosthogManager = class {
704517
704699
  properties: {
704518
704700
  ...event,
704519
704701
  ...event.properties,
704520
- version: "5.105.3",
704702
+ version: "5.106.0",
704521
704703
  usingAccessToken: true,
704522
704704
  ...getRunIdProperties()
704523
704705
  }
@@ -704583,7 +704765,7 @@ var UserPosthogManager = class {
704583
704765
  distinctId: this.userId ?? await this.getPersistedDistinctId(),
704584
704766
  event: "CLI",
704585
704767
  properties: {
704586
- version: "5.105.3",
704768
+ version: "5.106.0",
704587
704769
  ...event,
704588
704770
  ...event.properties,
704589
704771
  usingAccessToken: false,
@@ -853023,6 +853205,16 @@ var definitions5 = {
853023
853205
  type: "null"
853024
853206
  }
853025
853207
  ]
853208
+ },
853209
+ blog: {
853210
+ oneOf: [
853211
+ {
853212
+ $ref: "#/definitions/docs.ChangelogFolderRelativePath"
853213
+ },
853214
+ {
853215
+ type: "null"
853216
+ }
853217
+ ]
853026
853218
  }
853027
853219
  },
853028
853220
  required: [
@@ -854507,6 +854699,89 @@ var definitions5 = {
854507
854699
  ],
854508
854700
  additionalProperties: false
854509
854701
  },
854702
+ "docs.BlogConfiguration": {
854703
+ type: "object",
854704
+ properties: {
854705
+ viewers: {
854706
+ oneOf: [
854707
+ {
854708
+ $ref: "#/definitions/docs.Role"
854709
+ },
854710
+ {
854711
+ type: "null"
854712
+ }
854713
+ ]
854714
+ },
854715
+ orphaned: {
854716
+ oneOf: [
854717
+ {
854718
+ type: "boolean"
854719
+ },
854720
+ {
854721
+ type: "null"
854722
+ }
854723
+ ],
854724
+ description: "When `orphaned` is set to `true`, the roles will not inherit from parents."
854725
+ },
854726
+ "feature-flag": {
854727
+ oneOf: [
854728
+ {
854729
+ $ref: "#/definitions/docs.FeatureFlagConfiguration"
854730
+ },
854731
+ {
854732
+ type: "null"
854733
+ }
854734
+ ]
854735
+ },
854736
+ blog: {
854737
+ $ref: "#/definitions/docs.ChangelogFolderRelativePath"
854738
+ },
854739
+ title: {
854740
+ oneOf: [
854741
+ {
854742
+ type: "string"
854743
+ },
854744
+ {
854745
+ type: "null"
854746
+ }
854747
+ ]
854748
+ },
854749
+ slug: {
854750
+ oneOf: [
854751
+ {
854752
+ type: "string"
854753
+ },
854754
+ {
854755
+ type: "null"
854756
+ }
854757
+ ]
854758
+ },
854759
+ icon: {
854760
+ oneOf: [
854761
+ {
854762
+ type: "string"
854763
+ },
854764
+ {
854765
+ type: "null"
854766
+ }
854767
+ ]
854768
+ },
854769
+ hidden: {
854770
+ oneOf: [
854771
+ {
854772
+ type: "boolean"
854773
+ },
854774
+ {
854775
+ type: "null"
854776
+ }
854777
+ ]
854778
+ }
854779
+ },
854780
+ required: [
854781
+ "blog"
854782
+ ],
854783
+ additionalProperties: false
854784
+ },
854510
854785
  "docs.TitleSource": {
854511
854786
  type: "string",
854512
854787
  enum: [
@@ -854683,6 +854958,9 @@ var definitions5 = {
854683
854958
  {
854684
854959
  $ref: "#/definitions/docs.ChangelogConfiguration"
854685
854960
  },
854961
+ {
854962
+ $ref: "#/definitions/docs.BlogConfiguration"
854963
+ },
854686
854964
  {
854687
854965
  $ref: "#/definitions/docs.FolderConfiguration"
854688
854966
  }
@@ -855165,6 +855443,16 @@ var definitions6 = {
855165
855443
  type: "null"
855166
855444
  }
855167
855445
  ]
855446
+ },
855447
+ blog: {
855448
+ oneOf: [
855449
+ {
855450
+ $ref: "#/definitions/docs.ChangelogFolderRelativePath"
855451
+ },
855452
+ {
855453
+ type: "null"
855454
+ }
855455
+ ]
855168
855456
  }
855169
855457
  },
855170
855458
  required: [
@@ -856649,6 +856937,89 @@ var definitions6 = {
856649
856937
  ],
856650
856938
  additionalProperties: false
856651
856939
  },
856940
+ "docs.BlogConfiguration": {
856941
+ type: "object",
856942
+ properties: {
856943
+ viewers: {
856944
+ oneOf: [
856945
+ {
856946
+ $ref: "#/definitions/docs.Role"
856947
+ },
856948
+ {
856949
+ type: "null"
856950
+ }
856951
+ ]
856952
+ },
856953
+ orphaned: {
856954
+ oneOf: [
856955
+ {
856956
+ type: "boolean"
856957
+ },
856958
+ {
856959
+ type: "null"
856960
+ }
856961
+ ],
856962
+ description: "When `orphaned` is set to `true`, the roles will not inherit from parents."
856963
+ },
856964
+ "feature-flag": {
856965
+ oneOf: [
856966
+ {
856967
+ $ref: "#/definitions/docs.FeatureFlagConfiguration"
856968
+ },
856969
+ {
856970
+ type: "null"
856971
+ }
856972
+ ]
856973
+ },
856974
+ blog: {
856975
+ $ref: "#/definitions/docs.ChangelogFolderRelativePath"
856976
+ },
856977
+ title: {
856978
+ oneOf: [
856979
+ {
856980
+ type: "string"
856981
+ },
856982
+ {
856983
+ type: "null"
856984
+ }
856985
+ ]
856986
+ },
856987
+ slug: {
856988
+ oneOf: [
856989
+ {
856990
+ type: "string"
856991
+ },
856992
+ {
856993
+ type: "null"
856994
+ }
856995
+ ]
856996
+ },
856997
+ icon: {
856998
+ oneOf: [
856999
+ {
857000
+ type: "string"
857001
+ },
857002
+ {
857003
+ type: "null"
857004
+ }
857005
+ ]
857006
+ },
857007
+ hidden: {
857008
+ oneOf: [
857009
+ {
857010
+ type: "boolean"
857011
+ },
857012
+ {
857013
+ type: "null"
857014
+ }
857015
+ ]
857016
+ }
857017
+ },
857018
+ required: [
857019
+ "blog"
857020
+ ],
857021
+ additionalProperties: false
857022
+ },
856652
857023
  "docs.TitleSource": {
856653
857024
  type: "string",
856654
857025
  enum: [
@@ -856825,6 +857196,9 @@ var definitions6 = {
856825
857196
  {
856826
857197
  $ref: "#/definitions/docs.ChangelogConfiguration"
856827
857198
  },
857199
+ {
857200
+ $ref: "#/definitions/docs.BlogConfiguration"
857201
+ },
856828
857202
  {
856829
857203
  $ref: "#/definitions/docs.FolderConfiguration"
856830
857204
  }
@@ -857063,6 +857437,7 @@ async function visitFilepath({ absoluteFilepathToConfiguration, rawUnresolvedFil
857063
857437
  }
857064
857438
 
857065
857439
  // ../yaml/docs-validator/lib/docsAst/visitNavigationAst.js
857440
+ init_lib12();
857066
857441
  init_lib4();
857067
857442
  init_lib64();
857068
857443
  init_lib8();
@@ -857284,8 +857659,9 @@ async function visitNavigationItem2({ absolutePathToFernFolder, navigationItem,
857284
857659
  });
857285
857660
  }
857286
857661
  }
857287
- if (navigationItemIsChangelog(navigationItem)) {
857288
- const changelogDir = resolve6(dirname6(absoluteFilepathToConfiguration), navigationItem.changelog);
857662
+ const changelogFolder = docs_yml_exports.getChangelogFolderFromNavigationItem(navigationItem);
857663
+ if (changelogFolder != null) {
857664
+ const changelogDir = resolve6(dirname6(absoluteFilepathToConfiguration), changelogFolder);
857289
857665
  context3.logger.trace(`Starting changelog processing for directory: ${changelogDir}`);
857290
857666
  if (await doesPathExist(changelogDir)) {
857291
857667
  const startTime = performance.now();
@@ -857357,9 +857733,6 @@ async function visitFolderMarkdownFiles({ directoryPath, absolutePathToFernFolde
857357
857733
  });
857358
857734
  });
857359
857735
  }
857360
- function navigationItemIsChangelog(item) {
857361
- return item?.changelog != null;
857362
- }
857363
857736
  function navigationItemIsPage(item) {
857364
857737
  return item?.page != null;
857365
857738
  }
@@ -858907,18 +859280,21 @@ function buildExpectedDirectoryTree({ translationsDirExists, missingDirs, fernFo
858907
859280
  }
858908
859281
 
858909
859282
  // ../yaml/docs-validator/lib/rules/valid-changelog-slug/valid-changelog-slug.js
859283
+ init_lib12();
858910
859284
  init_lodash();
858911
859285
  var CHANGELOG_FEED_ALLOWED_SLUGS = [
859286
+ "blog",
859287
+ "blogs",
858912
859288
  "changelog",
858913
859289
  "changelogs",
859290
+ "posts",
858914
859291
  "release-notes",
858915
859292
  "releasenotes",
858916
859293
  "whats-new",
858917
859294
  "whatsnew"
858918
859295
  ];
858919
- var DEFAULT_CHANGELOG_TITLE3 = "Changelog";
858920
859296
  function getEffectiveChangelogSlugSegments(config5) {
858921
- const raw = config5.slug ?? kebabCase_default(config5.title ?? DEFAULT_CHANGELOG_TITLE3);
859297
+ const raw = config5.slug ?? kebabCase_default(config5.title ?? docs_yml_exports.DEFAULT_CHANGELOG_TITLE);
858922
859298
  return splitSegments(raw);
858923
859299
  }
858924
859300
  function getEffectiveChangelogSlugLastSegment(config5) {
@@ -858948,10 +859324,14 @@ function collectChangelogLocations(items, breadcrumb, ancestorSegments) {
858948
859324
  const out = [];
858949
859325
  for (const item of items) {
858950
859326
  if (isChangelog(item)) {
859327
+ const changelogFolder = docs_yml_exports.getChangelogFolderFromNavigationItem(item);
859328
+ if (changelogFolder == null) {
859329
+ continue;
859330
+ }
858951
859331
  out.push({
858952
- where: `${breadcrumb} > changelog (${item.changelog})`,
859332
+ where: `${breadcrumb} > changelog (${changelogFolder})`,
858953
859333
  slug: item.slug,
858954
- title: item.title,
859334
+ title: item.title ?? ("blog" in item ? docs_yml_exports.DEFAULT_BLOG_TITLE : docs_yml_exports.DEFAULT_CHANGELOG_TITLE),
858955
859335
  ancestorSegments
858956
859336
  });
858957
859337
  continue;
@@ -858968,17 +859348,21 @@ function collectChangelogLocations(items, breadcrumb, ancestorSegments) {
858968
859348
  }
858969
859349
  return out;
858970
859350
  }
859351
+ function isChangelog(item) {
859352
+ return docs_yml_exports.getChangelogFolderFromNavigationItem(item) != null;
859353
+ }
858971
859354
  function collectFromTabs(tabs, breadcrumb, ancestorSegments) {
858972
859355
  if (tabs == null) {
858973
859356
  return [];
858974
859357
  }
858975
859358
  const out = [];
858976
859359
  for (const [tabId, tab2] of Object.entries(tabs)) {
858977
- if (tab2.changelog != null) {
859360
+ const changelogFolder = docs_yml_exports.getChangelogFolderFromTabConfig(tab2);
859361
+ if (changelogFolder != null) {
858978
859362
  out.push({
858979
- where: `${breadcrumb} > tab "${tabId}" (changelog: ${tab2.changelog})`,
859363
+ where: `${breadcrumb} > tab "${tabId}" (changelog: ${changelogFolder})`,
858980
859364
  slug: tab2.slug,
858981
- title: tab2.displayName,
859365
+ title: tab2.displayName ?? (tab2.blog != null && tab2.changelog == null ? docs_yml_exports.DEFAULT_BLOG_TITLE : docs_yml_exports.DEFAULT_CHANGELOG_TITLE),
858982
859366
  ancestorSegments
858983
859367
  });
858984
859368
  }
@@ -859031,7 +859415,7 @@ function violationsForLocations(locations) {
859031
859415
  continue;
859032
859416
  }
859033
859417
  const allowed = CHANGELOG_FEED_ALLOWED_SLUGS.join(", ");
859034
- const sourceField = loc.slug != null ? `slug: "${loc.slug}"` : `title: "${loc.title ?? DEFAULT_CHANGELOG_TITLE3}"`;
859418
+ const sourceField = loc.slug != null ? `slug: "${loc.slug}"` : `title: "${loc.title ?? docs_yml_exports.DEFAULT_CHANGELOG_TITLE}"`;
859035
859419
  const fullPath = "/" + allSegments.join("/");
859036
859420
  violations.push({
859037
859421
  severity: "error",
@@ -859078,9 +859462,6 @@ var ValidChangelogSlugRule = {
859078
859462
  };
859079
859463
  }
859080
859464
  };
859081
- function isChangelog(item) {
859082
- return item?.changelog != null;
859083
- }
859084
859465
  function isSection3(item) {
859085
859466
  return item?.section != null;
859086
859467
  }
@@ -885966,7 +886347,7 @@ var LOCAL_STORAGE_FOLDER4 = ".fern-dev";
885966
886347
  var LOGS_FOLDER_NAME = "logs";
885967
886348
  var MAX_LOGS_DIR_SIZE_BYTES = 100 * 1024 * 1024;
885968
886349
  function getCliSource() {
885969
- const version7 = "5.105.3";
886350
+ const version7 = "5.106.0";
885970
886351
  return `cli@${version7}`;
885971
886352
  }
885972
886353
  var DebugLogger = class {
@@ -912052,7 +912433,7 @@ var LegacyDocsPublisher = class {
912052
912433
  previewId,
912053
912434
  disableTemplates: void 0,
912054
912435
  skipUpload,
912055
- cliVersion: "5.105.3",
912436
+ cliVersion: "5.106.0",
912056
912437
  loginCommand: "fern auth login"
912057
912438
  });
912058
912439
  if (taskContext.getResult() === TaskResult.Failure) {
@@ -979427,7 +979808,7 @@ function getAutomationContextFromEnv() {
979427
979808
  config_branch: process.env.FERN_CONFIG_BRANCH,
979428
979809
  config_pr_number: process.env.FERN_CONFIG_PR_NUMBER,
979429
979810
  trigger: process.env.GITHUB_EVENT_NAME,
979430
- cli_version: "5.105.3"
979811
+ cli_version: "5.106.0"
979431
979812
  };
979432
979813
  }
979433
979814
  function isAutomationMode() {
@@ -980259,7 +980640,7 @@ var CliContext = class _CliContext {
980259
980640
  if (false) {
980260
980641
  this.logger.error("CLI_VERSION is not defined");
980261
980642
  }
980262
- return "5.105.3";
980643
+ return "5.106.0";
980263
980644
  }
980264
980645
  getCliName() {
980265
980646
  if (false) {
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "5.105.3",
2
+ "version": "5.106.0",
3
3
  "repository": {
4
4
  "type": "git",
5
5
  "url": "git+https://github.com/fern-api/fern.git",