fern-api 0.30.8-rc4 → 0.30.8-rc6

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/bundle.cjs +484 -253
  2. package/package.json +1 -1
package/bundle.cjs CHANGED
@@ -22002,7 +22002,7 @@ var init_NavigationItem = __esm({
22002
22002
  NavigationItem = schemas_exports.undiscriminatedUnion([
22003
22003
  schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).PageConfiguration),
22004
22004
  schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).SectionConfiguration),
22005
- schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ApiSectionConfiguration),
22005
+ schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ApiReferenceConfiguration),
22006
22006
  schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).LinkConfiguration)
22007
22007
  ]);
22008
22008
  }
@@ -22198,19 +22198,19 @@ var init_SectionConfiguration = __esm({
22198
22198
  }
22199
22199
  });
22200
22200
 
22201
- // pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/ApiSectionConfiguration.js
22202
- var ApiSectionConfiguration;
22203
- var init_ApiSectionConfiguration = __esm({
22204
- "pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/ApiSectionConfiguration.js"() {
22201
+ // pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/ApiReferenceConfiguration.js
22202
+ var ApiReferenceConfiguration;
22203
+ var init_ApiReferenceConfiguration = __esm({
22204
+ "pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/ApiReferenceConfiguration.js"() {
22205
22205
  init_core();
22206
- ApiSectionConfiguration = schemas_exports.object({
22206
+ ApiReferenceConfiguration = schemas_exports.object({
22207
22207
  api: schemas_exports.string(),
22208
22208
  apiName: schemas_exports.property("api-name", schemas_exports.string().optional()),
22209
22209
  audiences: schemas_exports.list(schemas_exports.string()).optional(),
22210
22210
  displayErrors: schemas_exports.property("display-errors", schemas_exports.boolean().optional()),
22211
22211
  snippets: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).SnippetsConfiguration).optional(),
22212
22212
  summary: schemas_exports.string().optional(),
22213
- layout: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ApiNavigationItems).optional(),
22213
+ layout: schemas_exports.list(schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ApiReferenceLayoutItem)).optional(),
22214
22214
  icon: schemas_exports.string().optional(),
22215
22215
  slug: schemas_exports.string().optional(),
22216
22216
  hidden: schemas_exports.boolean().optional(),
@@ -22222,30 +22222,18 @@ var init_ApiSectionConfiguration = __esm({
22222
22222
  }
22223
22223
  });
22224
22224
 
22225
- // pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/ApiNavigationItem.js
22226
- var ApiNavigationItem;
22227
- var init_ApiNavigationItem = __esm({
22228
- "pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/ApiNavigationItem.js"() {
22225
+ // pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/ApiReferenceLayoutItem.js
22226
+ var ApiReferenceLayoutItem;
22227
+ var init_ApiReferenceLayoutItem = __esm({
22228
+ "pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/ApiReferenceLayoutItem.js"() {
22229
22229
  init_core();
22230
- ApiNavigationItem = schemas_exports.undiscriminatedUnion([
22230
+ ApiReferenceLayoutItem = schemas_exports.undiscriminatedUnion([
22231
22231
  schemas_exports.string(),
22232
- schemas_exports.record(schemas_exports.string(), schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ApiNavigationItems)),
22233
- schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).PageConfiguration),
22234
- schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).LinkConfiguration),
22232
+ schemas_exports.record(schemas_exports.string(), schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ApiReferencePackageConfiguration)),
22235
22233
  schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ApiReferenceSectionConfiguration),
22236
- schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ApiReferencePackageConfiguration)
22237
- ]);
22238
- }
22239
- });
22240
-
22241
- // pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/SubpackageOrSubpackages.js
22242
- var SubpackageOrSubpackages;
22243
- var init_SubpackageOrSubpackages = __esm({
22244
- "pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/SubpackageOrSubpackages.js"() {
22245
- init_core();
22246
- SubpackageOrSubpackages = schemas_exports.undiscriminatedUnion([
22247
- schemas_exports.string(),
22248
- schemas_exports.list(schemas_exports.string())
22234
+ schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ApiReferenceEndpointConfiguration),
22235
+ schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).PageConfiguration),
22236
+ schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).LinkConfiguration)
22249
22237
  ]);
22250
22238
  }
22251
22239
  });
@@ -22257,9 +22245,9 @@ var init_ApiReferenceSectionConfiguration = __esm({
22257
22245
  init_core();
22258
22246
  ApiReferenceSectionConfiguration = schemas_exports.object({
22259
22247
  section: schemas_exports.string(),
22260
- package: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).SubpackageOrSubpackages).optional(),
22248
+ referencedPackages: schemas_exports.property("referenced-packages", schemas_exports.list(schemas_exports.string()).optional()),
22261
22249
  summary: schemas_exports.string().optional(),
22262
- contents: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ApiNavigationItems),
22250
+ contents: schemas_exports.list(schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ApiReferenceLayoutItem)).optional(),
22263
22251
  slug: schemas_exports.string().optional(),
22264
22252
  icon: schemas_exports.string().optional(),
22265
22253
  hidden: schemas_exports.boolean().optional(),
@@ -22273,10 +22261,22 @@ var ApiReferencePackageConfiguration;
22273
22261
  var init_ApiReferencePackageConfiguration = __esm({
22274
22262
  "pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/ApiReferencePackageConfiguration.js"() {
22275
22263
  init_core();
22276
- ApiReferencePackageConfiguration = schemas_exports.object({
22277
- package: schemas_exports.string(),
22264
+ ApiReferencePackageConfiguration = schemas_exports.undiscriminatedUnion([
22265
+ schemas_exports.list(schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ApiReferenceLayoutItem)),
22266
+ schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ApiReferencePackageConfigurationWithOptions)
22267
+ ]);
22268
+ }
22269
+ });
22270
+
22271
+ // pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/ApiReferencePackageConfigurationWithOptions.js
22272
+ var ApiReferencePackageConfigurationWithOptions;
22273
+ var init_ApiReferencePackageConfigurationWithOptions = __esm({
22274
+ "pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/ApiReferencePackageConfigurationWithOptions.js"() {
22275
+ init_core();
22276
+ ApiReferencePackageConfigurationWithOptions = schemas_exports.object({
22277
+ title: schemas_exports.string().optional(),
22278
22278
  summary: schemas_exports.string().optional(),
22279
- contents: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ApiNavigationItems),
22279
+ contents: schemas_exports.list(schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ApiReferenceLayoutItem)).optional(),
22280
22280
  slug: schemas_exports.string().optional(),
22281
22281
  icon: schemas_exports.string().optional(),
22282
22282
  hidden: schemas_exports.boolean().optional(),
@@ -22285,12 +22285,18 @@ var init_ApiReferencePackageConfiguration = __esm({
22285
22285
  }
22286
22286
  });
22287
22287
 
22288
- // pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/ApiNavigationItems.js
22289
- var ApiNavigationItems;
22290
- var init_ApiNavigationItems = __esm({
22291
- "pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/ApiNavigationItems.js"() {
22288
+ // pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/ApiReferenceEndpointConfiguration.js
22289
+ var ApiReferenceEndpointConfiguration;
22290
+ var init_ApiReferenceEndpointConfiguration = __esm({
22291
+ "pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/types/ApiReferenceEndpointConfiguration.js"() {
22292
22292
  init_core();
22293
- ApiNavigationItems = schemas_exports.list(schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ApiNavigationItem));
22293
+ ApiReferenceEndpointConfiguration = schemas_exports.object({
22294
+ endpoint: schemas_exports.string(),
22295
+ title: schemas_exports.string().optional(),
22296
+ slug: schemas_exports.string().optional(),
22297
+ icon: schemas_exports.string().optional(),
22298
+ hidden: schemas_exports.boolean().optional()
22299
+ });
22294
22300
  }
22295
22301
  });
22296
22302
 
@@ -22627,12 +22633,12 @@ var init_types = __esm({
22627
22633
  init_FontConfigVariant();
22628
22634
  init_PageConfiguration();
22629
22635
  init_SectionConfiguration();
22630
- init_ApiSectionConfiguration();
22631
- init_ApiNavigationItem();
22632
- init_SubpackageOrSubpackages();
22636
+ init_ApiReferenceConfiguration();
22637
+ init_ApiReferenceLayoutItem();
22633
22638
  init_ApiReferenceSectionConfiguration();
22634
22639
  init_ApiReferencePackageConfiguration();
22635
- init_ApiNavigationItems();
22640
+ init_ApiReferencePackageConfigurationWithOptions();
22641
+ init_ApiReferenceEndpointConfiguration();
22636
22642
  init_LinkConfiguration();
22637
22643
  init_VersionedSnippetLanguageConfiguration();
22638
22644
  init_SnippetLanguageConfiguration();
@@ -22661,11 +22667,12 @@ var init_types = __esm({
22661
22667
  // pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/resources/docs/index.js
22662
22668
  var docs_exports3 = {};
22663
22669
  __export(docs_exports3, {
22664
- ApiNavigationItem: () => ApiNavigationItem,
22665
- ApiNavigationItems: () => ApiNavigationItems,
22670
+ ApiReferenceConfiguration: () => ApiReferenceConfiguration,
22671
+ ApiReferenceEndpointConfiguration: () => ApiReferenceEndpointConfiguration,
22672
+ ApiReferenceLayoutItem: () => ApiReferenceLayoutItem,
22666
22673
  ApiReferencePackageConfiguration: () => ApiReferencePackageConfiguration,
22674
+ ApiReferencePackageConfigurationWithOptions: () => ApiReferencePackageConfigurationWithOptions,
22667
22675
  ApiReferenceSectionConfiguration: () => ApiReferenceSectionConfiguration,
22668
- ApiSectionConfiguration: () => ApiSectionConfiguration,
22669
22676
  AudiencesConfig: () => AudiencesConfig,
22670
22677
  BackgroundImageConfiguration: () => BackgroundImageConfiguration,
22671
22678
  BackgroundImageThemedConfig: () => BackgroundImageThemedConfig,
@@ -22709,7 +22716,6 @@ __export(docs_exports3, {
22709
22716
  SidebarOrHeaderPlacement: () => SidebarOrHeaderPlacement4,
22710
22717
  SnippetLanguageConfiguration: () => SnippetLanguageConfiguration,
22711
22718
  SnippetsConfiguration: () => SnippetsConfiguration,
22712
- SubpackageOrSubpackages: () => SubpackageOrSubpackages,
22713
22719
  TabConfig: () => TabConfig,
22714
22720
  TabId: () => TabId2,
22715
22721
  TabbedNavigationConfig: () => TabbedNavigationConfig,
@@ -22738,11 +22744,12 @@ var init_resources = __esm({
22738
22744
  // pnp:/home/circleci/project/packages/cli/configuration/lib/docs-yml/schemas/sdk/serialization/index.js
22739
22745
  var serialization_exports = {};
22740
22746
  __export(serialization_exports, {
22741
- ApiNavigationItem: () => ApiNavigationItem,
22742
- ApiNavigationItems: () => ApiNavigationItems,
22747
+ ApiReferenceConfiguration: () => ApiReferenceConfiguration,
22748
+ ApiReferenceEndpointConfiguration: () => ApiReferenceEndpointConfiguration,
22749
+ ApiReferenceLayoutItem: () => ApiReferenceLayoutItem,
22743
22750
  ApiReferencePackageConfiguration: () => ApiReferencePackageConfiguration,
22751
+ ApiReferencePackageConfigurationWithOptions: () => ApiReferencePackageConfigurationWithOptions,
22744
22752
  ApiReferenceSectionConfiguration: () => ApiReferenceSectionConfiguration,
22745
- ApiSectionConfiguration: () => ApiSectionConfiguration,
22746
22753
  AudiencesConfig: () => AudiencesConfig,
22747
22754
  BackgroundImageConfiguration: () => BackgroundImageConfiguration,
22748
22755
  BackgroundImageThemedConfig: () => BackgroundImageThemedConfig,
@@ -22786,7 +22793,6 @@ __export(serialization_exports, {
22786
22793
  SidebarOrHeaderPlacement: () => SidebarOrHeaderPlacement4,
22787
22794
  SnippetLanguageConfiguration: () => SnippetLanguageConfiguration,
22788
22795
  SnippetsConfiguration: () => SnippetsConfiguration,
22789
- SubpackageOrSubpackages: () => SubpackageOrSubpackages,
22790
22796
  TabConfig: () => TabConfig,
22791
22797
  TabId: () => TabId2,
22792
22798
  TabbedNavigationConfig: () => TabbedNavigationConfig,
@@ -349826,6 +349832,12 @@ var init_WebhookGroupId = __esm({
349826
349832
  }
349827
349833
  });
349828
349834
 
349835
+ // pnp:/home/circleci/project/packages/ir-sdk/lib/sdk/api/resources/commons/types/WebhookId.js
349836
+ var init_WebhookId = __esm({
349837
+ "pnp:/home/circleci/project/packages/ir-sdk/lib/sdk/api/resources/commons/types/WebhookId.js"() {
349838
+ }
349839
+ });
349840
+
349829
349841
  // pnp:/home/circleci/project/packages/ir-sdk/lib/sdk/api/resources/commons/types/WebSocketChannelId.js
349830
349842
  var init_WebSocketChannelId = __esm({
349831
349843
  "pnp:/home/circleci/project/packages/ir-sdk/lib/sdk/api/resources/commons/types/WebSocketChannelId.js"() {
@@ -349899,6 +349911,7 @@ var init_types3 = __esm({
349899
349911
  init_TypeId();
349900
349912
  init_ErrorId();
349901
349913
  init_WebhookGroupId();
349914
+ init_WebhookId();
349902
349915
  init_WebSocketChannelId();
349903
349916
  init_FeatureId();
349904
349917
  init_Declaration();
@@ -354723,6 +354736,15 @@ var init_WebhookGroupId2 = __esm({
354723
354736
  }
354724
354737
  });
354725
354738
 
354739
+ // pnp:/home/circleci/project/packages/ir-sdk/lib/sdk/serialization/resources/commons/types/WebhookId.js
354740
+ var WebhookId2;
354741
+ var init_WebhookId2 = __esm({
354742
+ "pnp:/home/circleci/project/packages/ir-sdk/lib/sdk/serialization/resources/commons/types/WebhookId.js"() {
354743
+ init_core2();
354744
+ WebhookId2 = schemas_exports4.string();
354745
+ }
354746
+ });
354747
+
354726
354748
  // pnp:/home/circleci/project/packages/ir-sdk/lib/sdk/serialization/resources/commons/types/WebSocketChannelId.js
354727
354749
  var WebSocketChannelId;
354728
354750
  var init_WebSocketChannelId2 = __esm({
@@ -354802,6 +354824,7 @@ var init_types15 = __esm({
354802
354824
  init_TypeId2();
354803
354825
  init_ErrorId2();
354804
354826
  init_WebhookGroupId2();
354827
+ init_WebhookId2();
354805
354828
  init_WebSocketChannelId2();
354806
354829
  init_FeatureId2();
354807
354830
  init_Declaration2();
@@ -354831,6 +354854,7 @@ __export(commons_exports12, {
354831
354854
  TypeId: () => TypeId,
354832
354855
  WebSocketChannelId: () => WebSocketChannelId,
354833
354856
  WebhookGroupId: () => WebhookGroupId,
354857
+ WebhookId: () => WebhookId2,
354834
354858
  WithDocs: () => WithDocs,
354835
354859
  WithJsonExample: () => WithJsonExample
354836
354860
  });
@@ -357452,6 +357476,7 @@ var init_Webhook2 = __esm({
357452
357476
  "pnp:/home/circleci/project/packages/ir-sdk/lib/sdk/serialization/resources/webhooks/types/Webhook.js"() {
357453
357477
  init_core2();
357454
357478
  Webhook = schemas_exports4.objectWithoutOptionalProperties({
357479
+ id: schemas_exports4.lazy(async () => (await Promise.resolve().then(() => (init_serialization2(), serialization_exports2))).WebhookId).optional(),
357455
357480
  name: schemas_exports4.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization2(), serialization_exports2))).WebhookName),
357456
357481
  displayName: schemas_exports4.string().optional(),
357457
357482
  method: schemas_exports4.lazy(async () => (await Promise.resolve().then(() => (init_serialization2(), serialization_exports2))).WebhookHttpMethod),
@@ -358017,6 +358042,7 @@ __export(serialization_exports2, {
358017
358042
  WebhookGroup: () => WebhookGroup,
358018
358043
  WebhookGroupId: () => WebhookGroupId,
358019
358044
  WebhookHttpMethod: () => WebhookHttpMethod4,
358045
+ WebhookId: () => WebhookId2,
358020
358046
  WebhookName: () => WebhookName,
358021
358047
  WebhookPayload: () => WebhookPayload2,
358022
358048
  WebhookPayloadReference: () => WebhookPayloadReference,
@@ -1049723,7 +1049749,7 @@ async function getAllPages({ navigation, absolutePathToFernFolder }) {
1049723
1049749
  async function getAllPagesFromNavigationItem({ item, absolutePathToFernFolder }) {
1049724
1049750
  switch (item.type) {
1049725
1049751
  case "apiSection": {
1049726
- const toRet = combineMaps(await Promise.all(item.navigation.map((apiNavigation) => getAllPagesFromApiNavigationItem({ item: apiNavigation, absolutePathToFernFolder }))));
1049752
+ const toRet = combineMaps(await Promise.all(item.navigation.map((apiNavigation) => getAllPagesFromApiReferenceLayoutItem({ item: apiNavigation, absolutePathToFernFolder }))));
1049727
1049753
  if (item.summaryAbsolutePath != null) {
1049728
1049754
  toRet[await relativize(absolutePathToFernFolder, item.summaryAbsolutePath)] = (await (0, import_promises7.readFile)(item.summaryAbsolutePath)).toString();
1049729
1049755
  }
@@ -1049746,14 +1049772,14 @@ async function getAllPagesFromNavigationItem({ item, absolutePathToFernFolder })
1049746
1049772
  function combineMaps(maps) {
1049747
1049773
  return maps.reduce((acc, record4) => ({ ...acc, ...record4 }), {});
1049748
1049774
  }
1049749
- async function getAllPagesFromApiNavigationItem({ item, absolutePathToFernFolder }) {
1049775
+ async function getAllPagesFromApiReferenceLayoutItem({ item, absolutePathToFernFolder }) {
1049750
1049776
  if (item.type === "page") {
1049751
1049777
  return {
1049752
1049778
  [await relativize(absolutePathToFernFolder, item.absolutePath)]: (await (0, import_promises7.readFile)(item.absolutePath)).toString()
1049753
1049779
  };
1049754
- } else if (item.type === "package") {
1049780
+ } else if (item.type === "package" || item.type === "section") {
1049755
1049781
  const toRet = combineMaps(await Promise.all(item.contents.map(async (subItem) => {
1049756
- return await getAllPagesFromApiNavigationItem({ item: subItem, absolutePathToFernFolder });
1049782
+ return await getAllPagesFromApiReferenceLayoutItem({ item: subItem, absolutePathToFernFolder });
1049757
1049783
  })));
1049758
1049784
  if (item.summaryAbsolutePath != null) {
1049759
1049785
  toRet[await relativize(absolutePathToFernFolder, item.summaryAbsolutePath)] = (await (0, import_promises7.readFile)(item.summaryAbsolutePath)).toString();
@@ -1050233,7 +1050259,7 @@ async function convertNavigationItem({ rawConfig, absolutePathToFernFolder, abso
1050233
1050259
  audiences: rawConfig.audiences != null ? { type: "select", audiences: rawConfig.audiences } : { type: "all" },
1050234
1050260
  showErrors: rawConfig.displayErrors ?? false,
1050235
1050261
  snippetsConfiguration: rawConfig.snippets != null ? convertSnippetsConfiguration({ rawConfig: rawConfig.snippets }) : void 0,
1050236
- navigation: ((_a5 = rawConfig.layout) == null ? void 0 : _a5.flatMap((item) => parseApiNavigationItem(item, absolutePathToConfig))) ?? [],
1050262
+ navigation: ((_a5 = rawConfig.layout) == null ? void 0 : _a5.flatMap((item) => parseApiReferenceLayoutItem(item, absolutePathToConfig))) ?? [],
1050237
1050263
  summaryAbsolutePath: resolveFilepath(rawConfig.summary, absolutePathToConfig),
1050238
1050264
  hidden: rawConfig.hidden ?? void 0,
1050239
1050265
  slug: rawConfig.slug,
@@ -1050253,7 +1050279,8 @@ async function convertNavigationItem({ rawConfig, absolutePathToFernFolder, abso
1050253
1050279
  }
1050254
1050280
  assertNever(rawConfig);
1050255
1050281
  }
1050256
- function parseApiNavigationItem(item, absolutePathToConfig) {
1050282
+ function parseApiReferenceLayoutItem(item, absolutePathToConfig) {
1050283
+ var _a5;
1050257
1050284
  if (typeof item === "string") {
1050258
1050285
  return [{ type: "item", value: item }];
1050259
1050286
  }
@@ -1050281,40 +1050308,55 @@ function parseApiNavigationItem(item, absolutePathToConfig) {
1050281
1050308
  return [
1050282
1050309
  {
1050283
1050310
  type: "section",
1050284
- section: item.section,
1050285
- subpackages: typeof item.package === "string" ? [item.package] : item.package ?? [],
1050311
+ title: item.section,
1050312
+ referencedSubpackages: item.referencedPackages ?? [],
1050286
1050313
  summaryAbsolutePath: resolveFilepath(item.summary, absolutePathToConfig),
1050287
- contents: item.contents.flatMap((value) => parseApiNavigationItem(value, absolutePathToConfig)),
1050314
+ contents: ((_a5 = item.contents) == null ? void 0 : _a5.flatMap((value) => parseApiReferenceLayoutItem(value, absolutePathToConfig))) ?? [],
1050288
1050315
  slug: item.slug,
1050289
1050316
  hidden: item.hidden,
1050290
1050317
  skipUrlSlug: item.skipSlug,
1050291
1050318
  icon: item.icon
1050292
1050319
  }
1050293
1050320
  ];
1050294
- } else if (isRawApiRefPackageConfiguration(item)) {
1050321
+ } else if (isRawApiRefEndpointConfiguration(item)) {
1050295
1050322
  return [
1050296
1050323
  {
1050297
- type: "package",
1050298
- package: item.package,
1050299
- summaryAbsolutePath: resolveFilepath(item.summary, absolutePathToConfig),
1050300
- contents: item.contents.flatMap((value) => parseApiNavigationItem(value, absolutePathToConfig)),
1050324
+ type: "endpoint",
1050325
+ endpoint: item.endpoint,
1050326
+ title: item.title,
1050327
+ icon: item.icon,
1050301
1050328
  slug: item.slug,
1050302
- hidden: item.hidden,
1050303
- skipUrlSlug: item.skipSlug,
1050304
- icon: item.icon
1050329
+ hidden: item.hidden
1050305
1050330
  }
1050306
1050331
  ];
1050307
1050332
  }
1050308
- return Object.entries(item).map(([key2, values3]) => ({
1050309
- type: "package",
1050310
- package: key2,
1050311
- summaryAbsolutePath: void 0,
1050312
- contents: values3.flatMap((value) => parseApiNavigationItem(value, absolutePathToConfig)),
1050313
- hidden: false,
1050314
- slug: void 0,
1050315
- skipUrlSlug: false,
1050316
- icon: void 0
1050317
- }));
1050333
+ return Object.entries(item).map(([key2, value]) => {
1050334
+ var _a6;
1050335
+ if (isRawApiRefPackageConfiguration(value)) {
1050336
+ return {
1050337
+ type: "package",
1050338
+ title: value.title,
1050339
+ package: key2,
1050340
+ summaryAbsolutePath: resolveFilepath(value.summary, absolutePathToConfig),
1050341
+ contents: ((_a6 = value.contents) == null ? void 0 : _a6.flatMap((value2) => parseApiReferenceLayoutItem(value2, absolutePathToConfig))) ?? [],
1050342
+ slug: value.slug,
1050343
+ hidden: value.hidden,
1050344
+ skipUrlSlug: value.skipSlug,
1050345
+ icon: value.icon
1050346
+ };
1050347
+ }
1050348
+ return {
1050349
+ type: "package",
1050350
+ title: void 0,
1050351
+ package: key2,
1050352
+ summaryAbsolutePath: void 0,
1050353
+ contents: value.flatMap((value2) => parseApiReferenceLayoutItem(value2, absolutePathToConfig)),
1050354
+ hidden: false,
1050355
+ slug: void 0,
1050356
+ skipUrlSlug: false,
1050357
+ icon: void 0
1050358
+ };
1050359
+ });
1050318
1050360
  }
1050319
1050361
  function convertSnippetsConfiguration({ rawConfig }) {
1050320
1050362
  return {
@@ -1050334,13 +1050376,17 @@ function isRawApiSectionConfig(item) {
1050334
1050376
  return item.api != null;
1050335
1050377
  }
1050336
1050378
  function isRawLinkConfig(item) {
1050379
+ api_exports4;
1050337
1050380
  return isPlainObject(item) && typeof item.link === "string" && typeof item.href === "string";
1050338
1050381
  }
1050339
1050382
  function isRawApiRefSectionConfiguration(item) {
1050340
1050383
  return isPlainObject(item) && typeof item.section === "string" && Array.isArray(item.contents);
1050341
1050384
  }
1050385
+ function isRawApiRefEndpointConfiguration(item) {
1050386
+ return isPlainObject(item) && typeof item.endpoint === "string";
1050387
+ }
1050342
1050388
  function isRawApiRefPackageConfiguration(item) {
1050343
- return isPlainObject(item) && item.section == null && typeof item.package === "string" && Array.isArray(item.contents);
1050389
+ return !Array.isArray(item);
1050344
1050390
  }
1050345
1050391
  function resolveFilepath(unresolvedFilepath, absoluteFilepathToDocsConfig) {
1050346
1050392
  if (unresolvedFilepath == null) {
@@ -1054342,7 +1054388,7 @@ var AccessTokenPosthogManager = class {
1054342
1054388
  properties: {
1054343
1054389
  ...event,
1054344
1054390
  ...event.properties,
1054345
- version: "0.30.8-rc4",
1054391
+ version: "0.30.8-rc6",
1054346
1054392
  usingAccessToken: true
1054347
1054393
  }
1054348
1054394
  });
@@ -1054404,7 +1054450,7 @@ var UserPosthogManager = class {
1054404
1054450
  distinctId: this.userId ?? await this.getPersistedDistinctId(),
1054405
1054451
  event: "CLI",
1054406
1054452
  properties: {
1054407
- version: "0.30.8-rc4",
1054453
+ version: "0.30.8-rc6",
1054408
1054454
  ...event,
1054409
1054455
  ...event.properties
1054410
1054456
  }
@@ -1080347,10 +1080393,10 @@ var CliContext = class {
1080347
1080393
  return "fern-api";
1080348
1080394
  }
1080349
1080395
  getPackageVersion() {
1080350
- if ("0.30.8-rc4" == null) {
1080396
+ if ("0.30.8-rc6" == null) {
1080351
1080397
  this.logger.error("CLI_VERSION is not defined");
1080352
1080398
  }
1080353
- return "0.30.8-rc4";
1080399
+ return "0.30.8-rc6";
1080354
1080400
  }
1080355
1080401
  getCliName() {
1080356
1080402
  if ("fern" == null) {
@@ -1081179,6 +1081225,10 @@ var IdGenerator = {
1081179
1081225
  const joinedFernFilePath = stringifyFernFilepath(fernFilepath);
1081180
1081226
  return `webhooks_${joinedFernFilePath}`;
1081181
1081227
  },
1081228
+ generateWebhookId: (fernFilepath, webhookId) => {
1081229
+ const joinedFernFilePath = stringifyFernFilepath(fernFilepath);
1081230
+ return `webhooks_${joinedFernFilePath}.${webhookId}`;
1081231
+ },
1081182
1081232
  generateWebSocketChannelId: (fernFilepath) => {
1081183
1081233
  const joinedFernFilePath = stringifyFernFilepath(fernFilepath);
1081184
1081234
  return `channel_${joinedFernFilePath}`;
@@ -1084870,6 +1084920,7 @@ async function convertWebhookGroup({ webhooks, file, typeResolver, exampleResolv
1084870
1084920
  const webhookGroup = [];
1084871
1084921
  for (const [webhookId, webhook] of Object.entries(webhooks)) {
1084872
1084922
  webhookGroup.push({
1084923
+ id: IdGenerator.generateWebhookId(file.fernFilepath, webhookId),
1084873
1084924
  availability: convertAvailability2(webhook.availability),
1084874
1084925
  displayName: webhook["display-name"],
1084875
1084926
  docs: webhook.docs,
@@ -1085761,13 +1085812,17 @@ var FilteredIrImpl = class {
1085761
1085812
  services = /* @__PURE__ */ new Set();
1085762
1085813
  endpoints = /* @__PURE__ */ new Set();
1085763
1085814
  requestProperties;
1085815
+ webhooks = /* @__PURE__ */ new Set();
1085816
+ webhookPayloadProperties;
1085764
1085817
  subpackages = /* @__PURE__ */ new Set();
1085765
- constructor({ types: types3, errors, services, endpoints, subpackages, requestProperties, properties }) {
1085818
+ constructor({ types: types3, errors, services, endpoints, webhooks, subpackages, requestProperties, webhookPayloadProperties, properties }) {
1085766
1085819
  this.types = types3;
1085767
1085820
  this.properties = properties;
1085768
1085821
  this.errors = errors;
1085769
1085822
  this.services = services;
1085770
1085823
  this.endpoints = endpoints;
1085824
+ this.webhooks = webhooks;
1085825
+ this.webhookPayloadProperties = webhookPayloadProperties;
1085771
1085826
  this.subpackages = subpackages;
1085772
1085827
  this.requestProperties = requestProperties;
1085773
1085828
  }
@@ -1085815,6 +1085870,19 @@ var FilteredIrImpl = class {
1085815
1085870
  hasSubpackage(subpackageId) {
1085816
1085871
  return this.subpackages.has(subpackageId);
1085817
1085872
  }
1085873
+ hasWebhook(webhook) {
1085874
+ if (webhook.id) {
1085875
+ return this.webhooks.has(webhook.id);
1085876
+ }
1085877
+ return true;
1085878
+ }
1085879
+ hasWebhookPayloadProperty(webhookId, property5) {
1085880
+ const properties = this.webhookPayloadProperties[webhookId];
1085881
+ if (properties == null) {
1085882
+ return true;
1085883
+ }
1085884
+ return properties.has(property5);
1085885
+ }
1085818
1085886
  };
1085819
1085887
 
1085820
1085888
  // pnp:/home/circleci/project/packages/cli/generation/ir-generator/lib/filtered-ir/IrGraph.js
@@ -1085822,13 +1085890,16 @@ var IrGraph = class {
1085822
1085890
  types = {};
1085823
1085891
  properties = {};
1085824
1085892
  requestProperties = {};
1085893
+ webhookProperties = {};
1085825
1085894
  errors = {};
1085826
1085895
  endpoints = {};
1085896
+ webhooks = {};
1085827
1085897
  audiences;
1085828
1085898
  typesReferencedByService = {};
1085829
1085899
  typesNeededForAudience = /* @__PURE__ */ new Set();
1085830
1085900
  servicesNeededForAudience = /* @__PURE__ */ new Set();
1085831
1085901
  endpointsNeededForAudience = /* @__PURE__ */ new Set();
1085902
+ webhooksNeededForAudience = /* @__PURE__ */ new Set();
1085832
1085903
  subpackagesNeededForAudience = /* @__PURE__ */ new Set();
1085833
1085904
  constructor(audiences) {
1085834
1085905
  this.audiences = audiencesFromConfig(audiences);
@@ -1085989,6 +1086060,56 @@ var IrGraph = class {
1085989
1086060
  this.addSubpackages(declaredServiceName.fernFilepath);
1085990
1086061
  }
1085991
1086062
  }
1086063
+ addWebhook(file, webhook, rawWebhook) {
1086064
+ const webhookId = webhook.id;
1086065
+ if (webhookId == null) {
1086066
+ return;
1086067
+ }
1086068
+ const referencedTypes = /* @__PURE__ */ new Set();
1086069
+ const referencedSubpackages = /* @__PURE__ */ new Set();
1086070
+ if (webhook.payload != null) {
1086071
+ WebhookPayload._visit(webhook.payload, {
1086072
+ inlinedPayload: (inlinedPayload) => {
1086073
+ for (const extension3 of inlinedPayload.extends) {
1086074
+ populateReferencesFromTypeName(extension3, referencedTypes, referencedSubpackages);
1086075
+ }
1086076
+ for (const property5 of inlinedPayload.properties) {
1086077
+ populateReferencesFromTypeReference(property5.valueType, referencedTypes, referencedSubpackages);
1086078
+ }
1086079
+ if ((rawWebhook == null ? void 0 : rawWebhook.payload) != null && typeof rawWebhook.payload === "object" && !isReferencedWebhookPayloadSchema2(rawWebhook.payload)) {
1086080
+ const propertiesByAudience = getPropertiesForAudience(rawWebhook.payload.properties ?? {});
1086081
+ this.webhookProperties[webhookId] = {
1086082
+ webhookId,
1086083
+ propertiesByAudience
1086084
+ };
1086085
+ }
1086086
+ },
1086087
+ reference: ({ payloadType }) => {
1086088
+ populateReferencesFromTypeReference(payloadType, referencedTypes, referencedSubpackages);
1086089
+ },
1086090
+ _other: () => {
1086091
+ var _a5;
1086092
+ throw new Error("Unknown WebhookPayload: " + ((_a5 = webhook.payload) == null ? void 0 : _a5.type));
1086093
+ }
1086094
+ });
1086095
+ }
1086096
+ referencedSubpackages.add(file.fernFilepath);
1086097
+ this.webhooks[webhookId] = {
1086098
+ webhookId,
1086099
+ referencedTypes,
1086100
+ referencedSubpackages
1086101
+ };
1086102
+ }
1086103
+ markWebhookForAudiences(file, webhook, audiences) {
1086104
+ const webhookId = webhook.id;
1086105
+ if (webhookId == null) {
1086106
+ return;
1086107
+ }
1086108
+ if (this.hasAudience(audiences)) {
1086109
+ this.webhooksNeededForAudience.add(webhookId);
1086110
+ this.addSubpackages(file.fernFilepath);
1086111
+ }
1086112
+ }
1085992
1086113
  build() {
1085993
1086114
  const typeIds = /* @__PURE__ */ new Set();
1085994
1086115
  const errorIds = /* @__PURE__ */ new Set();
@@ -1086005,8 +1086126,13 @@ var IrGraph = class {
1086005
1086126
  this.addReferencedTypes(typeIds, endpointNode.referencedTypes);
1086006
1086127
  }
1086007
1086128
  this.addReferencedTypes(typeIds, this.typesNeededForAudience);
1086129
+ for (const webhookId of this.webhooksNeededForAudience.keys()) {
1086130
+ const webhookNode = this.getWebhookNode(webhookId);
1086131
+ this.addReferencedTypes(typeIds, webhookNode.referencedTypes);
1086132
+ }
1086008
1086133
  const properties = {};
1086009
1086134
  const requestProperties = {};
1086135
+ const webhookPayloadProperties = {};
1086010
1086136
  if (this.audiences.type === "filtered") {
1086011
1086137
  for (const [typeId, typePropertiesNode] of Object.entries(this.properties)) {
1086012
1086138
  if (!typeIds.has(typeId)) {
@@ -1086042,6 +1086168,23 @@ var IrGraph = class {
1086042
1086168
  requestProperties[endpointId] = propertiesForEndpoint;
1086043
1086169
  }
1086044
1086170
  }
1086171
+ for (const [webhookId, webhookPaylodPropertiesNode] of Object.entries(this.webhookProperties)) {
1086172
+ if (!this.webhooksNeededForAudience.has(webhookId)) {
1086173
+ continue;
1086174
+ }
1086175
+ const propertiesForWebhook = /* @__PURE__ */ new Set();
1086176
+ for (const audience of this.audiences.audiences) {
1086177
+ const propertiesForAudience = webhookPaylodPropertiesNode.propertiesByAudience[audience];
1086178
+ if (propertiesForAudience != null) {
1086179
+ propertiesForAudience.forEach((property5) => {
1086180
+ propertiesForWebhook.add(property5);
1086181
+ });
1086182
+ }
1086183
+ }
1086184
+ if (propertiesForWebhook.size > 0) {
1086185
+ requestProperties[webhookId] = propertiesForWebhook;
1086186
+ }
1086187
+ }
1086045
1086188
  }
1086046
1086189
  return new FilteredIrImpl({
1086047
1086190
  types: typeIds,
@@ -1086050,6 +1086193,8 @@ var IrGraph = class {
1086050
1086193
  requestProperties,
1086051
1086194
  services: this.servicesNeededForAudience,
1086052
1086195
  endpoints: this.endpointsNeededForAudience,
1086196
+ webhooks: this.webhooksNeededForAudience,
1086197
+ webhookPayloadProperties,
1086053
1086198
  subpackages: this.subpackagesNeededForAudience
1086054
1086199
  });
1086055
1086200
  }
@@ -1086110,6 +1086255,13 @@ var IrGraph = class {
1086110
1086255
  }
1086111
1086256
  return endpointNode;
1086112
1086257
  }
1086258
+ getWebhookNode(webhookId) {
1086259
+ const webhookNode = this.webhooks[webhookId];
1086260
+ if (webhookNode == null) {
1086261
+ throw new Error(`Failed to find webhook node with id ${webhookId}`);
1086262
+ }
1086263
+ return webhookNode;
1086264
+ }
1086113
1086265
  hasNoAudiences() {
1086114
1086266
  return this.audiences.type === "none";
1086115
1086267
  }
@@ -1087436,6 +1087588,19 @@ async function generateIntermediateRepresentation({ workspace, generationLanguag
1087436
1087588
  exampleResolver,
1087437
1087589
  workspace
1087438
1087590
  });
1087591
+ const webhooksByOriginalName = {};
1087592
+ for (const convertedWebhook of convertedWebhookGroup) {
1087593
+ webhooksByOriginalName[convertedWebhook.name.originalName] = convertedWebhook;
1087594
+ }
1087595
+ Object.entries(webhooks).forEach(([key2, webhook]) => {
1087596
+ const irWebhook = webhooksByOriginalName[key2];
1087597
+ if (irWebhook != null) {
1087598
+ irGraph.addWebhook(file, irWebhook, webhook);
1087599
+ if (webhook.audiences != null) {
1087600
+ irGraph.markWebhookForAudiences(file, irWebhook, webhook.audiences);
1087601
+ }
1087602
+ }
1087603
+ });
1087439
1087604
  intermediateRepresentation.webhookGroups[webhookGroupId] = convertedWebhookGroup;
1087440
1087605
  packageTreeGenerator.addWebhookGroup(webhookGroupId, file.fernFilepath);
1087441
1087606
  },
@@ -1087585,6 +1087750,21 @@ function filterIntermediateRepresentationForAudiences(intermediateRepresentation
1087585
1087750
  }
1087586
1087751
  return [typeId, typeDeclaration];
1087587
1087752
  }));
1087753
+ const filteredWebhookGroups = Object.fromEntries(Object.entries(intermediateRepresentation.webhookGroups).map(([webhookGroupId, webhookGroup]) => {
1087754
+ const filteredWebhooks = webhookGroup.filter((webhook) => filteredIr.hasWebhook(webhook)).map((webhook) => {
1087755
+ const webhookId = webhook.id;
1087756
+ if (webhook.payload.type === "inlinedPayload" && webhookId != null) {
1087757
+ webhook.payload = {
1087758
+ ...webhook.payload,
1087759
+ properties: webhook.payload.properties.filter((property5) => {
1087760
+ return filteredIr.hasWebhookPayloadProperty(webhookId, property5.name.wireValue);
1087761
+ })
1087762
+ };
1087763
+ }
1087764
+ return webhook;
1087765
+ });
1087766
+ return [webhookGroupId, filteredWebhooks];
1087767
+ }));
1087588
1087768
  return {
1087589
1087769
  ...intermediateRepresentation,
1087590
1087770
  types: filteredTypesAndProperties,
@@ -1087619,6 +1087799,7 @@ function filterIntermediateRepresentationForAudiences(intermediateRepresentation
1087619
1087799
  return httpEndpoint;
1087620
1087800
  })
1087621
1087801
  })),
1087802
+ webhookGroups: filteredWebhookGroups,
1087622
1087803
  serviceTypeReferenceInfo: filterServiceTypeReferenceInfoForAudiences(intermediateRepresentation.serviceTypeReferenceInfo, filteredIr)
1087623
1087804
  };
1087624
1087805
  }
@@ -1087657,7 +1087838,7 @@ function stringifyEndpointPathParts22(path42) {
1087657
1087838
  }
1087658
1087839
 
1087659
1087840
  // pnp:/home/circleci/project/packages/cli/docs-resolver/lib/ApiDefinitionHolder.js
1087660
- var ROOT_PACKAGE_ID = "root";
1087841
+ var ROOT_PACKAGE_ID = "__package__";
1087661
1087842
  var _endpoints2, _webSockets2, _webhooks2, _endpointsInverted, _webSocketsInverted, _webhooksInverted, _subpackages, _endpointsByLocator, _webSocketsByLocator, _webhooksByLocator, _subpackagesByLocator, _constructSubpackageLocators, constructSubpackageLocators_fn;
1087662
1087843
  var _ApiDefinitionHolder2 = class {
1087663
1087844
  constructor(api, context) {
@@ -1087742,13 +1087923,6 @@ var _ApiDefinitionHolder2 = class {
1087742
1087923
  pkg2.webhooks.forEach((webhook) => {
1087743
1087924
  subpackageHolder.webhooks.set(webhook.id, webhook);
1087744
1087925
  __privateGet(this, _webhooks2).set(_ApiDefinitionHolder2.createWebhookId(webhook, subpackageId), webhook);
1087745
- const locators = [];
1087746
- locators.push(`${webhook.method} ${urlJoin22("/", ...webhook.path)}`);
1087747
- locators.forEach((locator) => {
1087748
- var _a5;
1087749
- (_a5 = this.context) == null ? void 0 : _a5.logger.debug(`Registering webhook locator: ${locator}`);
1087750
- __privateGet(this, _webhooksByLocator).set(locator, webhook);
1087751
- });
1087752
1087926
  });
1087753
1087927
  });
1087754
1087928
  __privateGet(this, _endpoints2).forEach((endpoint, endpointId) => {
@@ -1087807,6 +1087981,9 @@ var _ApiDefinitionHolder2 = class {
1087807
1087981
  get subpackages() {
1087808
1087982
  return __privateGet(this, _subpackages);
1087809
1087983
  }
1087984
+ get subpackagesByLocator() {
1087985
+ return __privateGet(this, _subpackagesByLocator);
1087986
+ }
1087810
1087987
  getEndpointId(endpoint) {
1087811
1087988
  return __privateGet(this, _endpointsInverted).get(endpoint);
1087812
1087989
  }
@@ -1087844,27 +1088021,42 @@ constructSubpackageLocators_fn = function(pkg2, parents) {
1087844
1088021
  return;
1087845
1088022
  }
1087846
1088023
  const packageList = isSubpackage2(pkg2) ? [...parents, pkg2.name] : parents;
1087847
- __privateGet(this, _subpackagesByLocator).set(packageList.length === 0 ? ROOT_PACKAGE_ID : packageList.join("."), pkg2);
1088024
+ const path42 = packageList.length === 0 ? [ROOT_PACKAGE_ID] : packageList;
1088025
+ const locators = [path42.join("."), path42.join("/"), `${path42.join(".")}.yml`];
1088026
+ locators.forEach((locator) => {
1088027
+ var _a5;
1088028
+ (_a5 = this.context) == null ? void 0 : _a5.logger.debug(`Registering subpackage locator: ${locator}`);
1088029
+ __privateGet(this, _subpackagesByLocator).set(locator, pkg2);
1088030
+ });
1087848
1088031
  if (pkg2.pointsTo != null) {
1087849
1088032
  return __privateMethod(this, _constructSubpackageLocators, constructSubpackageLocators_fn).call(this, this.api.subpackages[pkg2.pointsTo], packageList);
1087850
1088033
  }
1087851
1088034
  pkg2.endpoints.forEach((endpoint) => {
1087852
- var _a5;
1087853
- const locator = [...packageList, endpoint.id].join(".");
1087854
- (_a5 = this.context) == null ? void 0 : _a5.logger.debug(`Registering endpoint locator: ${locator}`);
1087855
- __privateGet(this, _endpointsByLocator).set(locator, endpoint);
1088035
+ const path43 = [...packageList, endpoint.id];
1088036
+ const locators2 = [path43.join("."), path43.join("/")];
1088037
+ locators2.forEach((locator) => {
1088038
+ var _a5;
1088039
+ (_a5 = this.context) == null ? void 0 : _a5.logger.debug(`Registering endpoint locator: ${locator}`);
1088040
+ __privateGet(this, _endpointsByLocator).set(locator, endpoint);
1088041
+ });
1087856
1088042
  });
1087857
1088043
  pkg2.websockets.forEach((webSocket) => {
1087858
- var _a5;
1087859
- const locator = [...packageList, webSocket.id].join(".");
1087860
- (_a5 = this.context) == null ? void 0 : _a5.logger.debug(`Registering websocket locator: ${locator}`);
1087861
- __privateGet(this, _webSocketsByLocator).set(locator, webSocket);
1088044
+ const path43 = [...packageList, webSocket.id];
1088045
+ const locators2 = [path43.join("."), path43.join("/")];
1088046
+ locators2.forEach((locator) => {
1088047
+ var _a5;
1088048
+ (_a5 = this.context) == null ? void 0 : _a5.logger.debug(`Registering websocket locator: ${locator}`);
1088049
+ __privateGet(this, _webSocketsByLocator).set(locator, webSocket);
1088050
+ });
1087862
1088051
  });
1087863
1088052
  pkg2.webhooks.forEach((webhook) => {
1087864
- var _a5;
1087865
- const locator = [...packageList, webhook.id].join(".");
1087866
- (_a5 = this.context) == null ? void 0 : _a5.logger.debug(`Registering webhook locator: ${locator}`);
1087867
- __privateGet(this, _webhooksByLocator).set(locator, webhook);
1088053
+ const path43 = [...packageList, webhook.id];
1088054
+ const locators2 = [path43.join("."), path43.join("/")];
1088055
+ locators2.forEach((locator) => {
1088056
+ var _a5;
1088057
+ (_a5 = this.context) == null ? void 0 : _a5.logger.debug(`Registering webhook locator: ${locator}`);
1088058
+ __privateGet(this, _webhooksByLocator).set(locator, webhook);
1088059
+ });
1087868
1088060
  });
1087869
1088061
  pkg2.subpackages.forEach((subpackageId) => {
1087870
1088062
  __privateMethod(this, _constructSubpackageLocators, constructSubpackageLocators_fn).call(this, this.api.subpackages[subpackageId], packageList);
@@ -1088052,14 +1088244,18 @@ var NodeIdGenerator2 = class {
1088052
1088244
  };
1088053
1088245
 
1088054
1088246
  // pnp:/home/circleci/project/packages/cli/docs-resolver/lib/ApiReferenceNodeConverter.js
1088055
- var _holder2, _visitedEndpoints2, _visitedWebSockets2, _visitedWebhooks2, _visitedSubpackages2, _nodeIdToSubpackageId, _children, _overviewPageId, _slug, _convertApiNavigationItems, convertApiNavigationItems_fn, _convertPackage, convertPackage_fn, _convertSection, convertSection_fn, _convertApiDefinitionPackage, convertApiDefinitionPackage_fn, _convertUnknownIdentifier, convertUnknownIdentifier_fn;
1088247
+ var _holder2, _visitedEndpoints2, _visitedWebSockets2, _visitedWebhooks2, _visitedSubpackages2, _nodeIdToSubpackageId, _children, _overviewPageId, _slug, _convertApiReferenceLayoutItems, convertApiReferenceLayoutItems_fn, _convertPackage, convertPackage_fn, _convertSection, convertSection_fn, _convertUnknownIdentifier, convertUnknownIdentifier_fn, _convertEndpoint, convertEndpoint_fn, _mergeAndFilterChildren, mergeAndFilterChildren_fn, _convertApiPackageChild, convertApiPackageChild_fn, _convertApiDefinitionPackage, convertApiDefinitionPackage_fn, _convertApiDefinitionPackageId, convertApiDefinitionPackageId_fn;
1088056
1088248
  var ApiReferenceNodeConverter = class {
1088057
1088249
  constructor(apiSection, api, parentSlug, workspace, docsWorkspace, taskContext, markdownFilesToFullSlugs) {
1088058
- __privateAdd(this, _convertApiNavigationItems);
1088250
+ __privateAdd(this, _convertApiReferenceLayoutItems);
1088059
1088251
  __privateAdd(this, _convertPackage);
1088060
1088252
  __privateAdd(this, _convertSection);
1088061
- __privateAdd(this, _convertApiDefinitionPackage);
1088062
1088253
  __privateAdd(this, _convertUnknownIdentifier);
1088254
+ __privateAdd(this, _convertEndpoint);
1088255
+ __privateAdd(this, _mergeAndFilterChildren);
1088256
+ __privateAdd(this, _convertApiPackageChild);
1088257
+ __privateAdd(this, _convertApiDefinitionPackage);
1088258
+ __privateAdd(this, _convertApiDefinitionPackageId);
1088063
1088259
  __publicField(this, "apiSection");
1088064
1088260
  __publicField(this, "workspace");
1088065
1088261
  __publicField(this, "docsWorkspace");
@@ -1088091,9 +1088287,9 @@ var ApiReferenceNodeConverter = class {
1088091
1088287
  urlSlug: this.apiSection.slug ?? kebabCase_default2(this.apiSection.title)
1088092
1088288
  }));
1088093
1088289
  if (this.apiSection.navigation != null) {
1088094
- __privateSet(this, _children, __privateMethod(this, _convertApiNavigationItems, convertApiNavigationItems_fn).call(this, this.apiSection.navigation, __privateGet(this, _holder2).api.rootPackage, __privateGet(this, _slug), idgen));
1088290
+ __privateSet(this, _children, __privateMethod(this, _convertApiReferenceLayoutItems, convertApiReferenceLayoutItems_fn).call(this, this.apiSection.navigation, __privateGet(this, _holder2).api.rootPackage, __privateGet(this, _slug), idgen));
1088095
1088291
  }
1088096
- __privateSet(this, _children, __privateMethod(this, _convertApiDefinitionPackage, convertApiDefinitionPackage_fn).call(this, "root", __privateGet(this, _children), __privateGet(this, _slug), idgen));
1088292
+ __privateSet(this, _children, __privateMethod(this, _mergeAndFilterChildren, mergeAndFilterChildren_fn).call(this, __privateGet(this, _children).map((child) => __privateMethod(this, _convertApiPackageChild, convertApiPackageChild_fn).call(this, child, __privateGet(this, _slug), idgen)), __privateMethod(this, _convertApiDefinitionPackage, convertApiDefinitionPackage_fn).call(this, __privateGet(this, _holder2).api.rootPackage, __privateGet(this, _slug), idgen)));
1088097
1088293
  }
1088098
1088294
  get() {
1088099
1088295
  const pointsTo = navigation_exports2.utils.followRedirects(__privateGet(this, _children));
@@ -1088162,8 +1088358,8 @@ _nodeIdToSubpackageId = new WeakMap();
1088162
1088358
  _children = new WeakMap();
1088163
1088359
  _overviewPageId = new WeakMap();
1088164
1088360
  _slug = new WeakMap();
1088165
- _convertApiNavigationItems = new WeakSet();
1088166
- convertApiNavigationItems_fn = function(navigation, apiDefinitionPackage, parentSlug, idgen) {
1088361
+ _convertApiReferenceLayoutItems = new WeakSet();
1088362
+ convertApiReferenceLayoutItems_fn = function(navigation, apiDefinitionPackage, parentSlug, idgen) {
1088167
1088363
  apiDefinitionPackage = __privateGet(this, _holder2).resolveSubpackage(apiDefinitionPackage);
1088168
1088364
  const apiDefinitionPackageId = apiDefinitionPackage != null ? ApiDefinitionHolder2.getSubpackageId(apiDefinitionPackage) : void 0;
1088169
1088365
  return navigation.map((item) => visitDiscriminatedUnion2(item)._visit({
@@ -1088177,22 +1088373,24 @@ convertApiNavigationItems_fn = function(navigation, apiDefinitionPackage, parent
1088177
1088373
  page: (page) => {
1088178
1088374
  var _a5;
1088179
1088375
  const pageId = navigation_exports2.PageId(this.toRelativeFilepath(page.absolutePath));
1088376
+ const pageSlug = parentSlug.apply({
1088377
+ fullSlug: (_a5 = this.markdownFilesToFullSlugs.get(page.absolutePath)) == null ? void 0 : _a5.split("/"),
1088378
+ urlSlug: page.slug ?? kebabCase_default2(page.title)
1088379
+ });
1088180
1088380
  return {
1088181
1088381
  id: idgen.append(`page:${pageId}`).get(),
1088182
1088382
  type: "page",
1088183
1088383
  pageId,
1088184
1088384
  title: page.title,
1088185
- slug: parentSlug.apply({
1088186
- fullSlug: (_a5 = this.markdownFilesToFullSlugs.get(page.absolutePath)) == null ? void 0 : _a5.split("/"),
1088187
- urlSlug: page.slug ?? kebabCase_default2(page.title)
1088188
- }).get(),
1088385
+ slug: pageSlug.get(),
1088189
1088386
  icon: page.icon,
1088190
1088387
  hidden: page.hidden
1088191
1088388
  };
1088192
1088389
  },
1088193
1088390
  package: (pkg2) => __privateMethod(this, _convertPackage, convertPackage_fn).call(this, pkg2, parentSlug, idgen),
1088194
1088391
  section: (section) => __privateMethod(this, _convertSection, convertSection_fn).call(this, section, parentSlug, idgen),
1088195
- item: ({ value: unknownIdentifier }) => __privateMethod(this, _convertUnknownIdentifier, convertUnknownIdentifier_fn).call(this, unknownIdentifier, apiDefinitionPackageId, parentSlug, idgen)
1088392
+ item: ({ value: unknownIdentifier }) => __privateMethod(this, _convertUnknownIdentifier, convertUnknownIdentifier_fn).call(this, unknownIdentifier, apiDefinitionPackageId, parentSlug, idgen),
1088393
+ endpoint: (endpoint) => __privateMethod(this, _convertEndpoint, convertEndpoint_fn).call(this, endpoint, apiDefinitionPackageId, parentSlug, idgen)
1088196
1088394
  })).filter(isNonNullish);
1088197
1088395
  };
1088198
1088396
  _convertPackage = new WeakSet();
@@ -1088203,20 +1088401,23 @@ convertPackage_fn = function(pkg2, parentSlug, idgen) {
1088203
1088401
  if (subpackage != null) {
1088204
1088402
  const subpackageId = ApiDefinitionHolder2.getSubpackageId(subpackage);
1088205
1088403
  const subpackageNodeId = idgen.append(subpackageId);
1088404
+ if (__privateGet(this, _visitedSubpackages2).has(subpackageId)) {
1088405
+ this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${subpackageId}`);
1088406
+ }
1088206
1088407
  __privateGet(this, _visitedSubpackages2).add(subpackageId);
1088207
- __privateGet(this, _nodeIdToSubpackageId).set(subpackageNodeId.get(), subpackageId);
1088408
+ __privateGet(this, _nodeIdToSubpackageId).set(subpackageNodeId.get(), [subpackageId]);
1088208
1088409
  const urlSlug = pkg2.slug ?? (isSubpackage2(subpackage) ? subpackage.urlSlug : this.apiSection.slug ?? kebabCase_default2(this.apiSection.title));
1088209
1088410
  const slug = parentSlug.apply({
1088210
1088411
  fullSlug: maybeFullSlug == null ? void 0 : maybeFullSlug.split("/"),
1088211
1088412
  skipUrlSlug: pkg2.skipUrlSlug,
1088212
1088413
  urlSlug
1088213
1088414
  });
1088214
- const convertedItems = __privateMethod(this, _convertApiNavigationItems, convertApiNavigationItems_fn).call(this, pkg2.contents, subpackage, slug, subpackageNodeId);
1088415
+ const convertedItems = __privateMethod(this, _convertApiReferenceLayoutItems, convertApiReferenceLayoutItems_fn).call(this, pkg2.contents, subpackage, slug, subpackageNodeId);
1088215
1088416
  return {
1088216
1088417
  id: subpackageNodeId.get(),
1088217
1088418
  type: "apiPackage",
1088218
1088419
  children: convertedItems,
1088219
- title: isSubpackage2(subpackage) ? subpackage.displayName ?? titleCase(subpackage.name) : this.apiSection.title,
1088420
+ title: pkg2.title ?? (isSubpackage2(subpackage) ? subpackage.displayName ?? titleCase(subpackage.name) : this.apiSection.title),
1088220
1088421
  slug: slug.get(),
1088221
1088422
  icon: pkg2.icon,
1088222
1088423
  hidden: pkg2.hidden,
@@ -1088226,19 +1088427,19 @@ convertPackage_fn = function(pkg2, parentSlug, idgen) {
1088226
1088427
  pointsTo: void 0
1088227
1088428
  };
1088228
1088429
  } else {
1088229
- this.taskContext.logger.error(`Subpackage ${pkg2.package} not found in ${this.apiDefinitionId}`);
1088430
+ this.taskContext.logger.warn(`Subpackage ${pkg2.package} not found in ${this.apiDefinitionId}, treating it as a section`);
1088230
1088431
  const urlSlug = pkg2.slug ?? kebabCase_default2(pkg2.package);
1088231
1088432
  const slug = parentSlug.apply({
1088232
1088433
  fullSlug: maybeFullSlug == null ? void 0 : maybeFullSlug.split("/"),
1088233
1088434
  skipUrlSlug: pkg2.skipUrlSlug,
1088234
1088435
  urlSlug
1088235
1088436
  });
1088236
- const convertedItems = __privateMethod(this, _convertApiNavigationItems, convertApiNavigationItems_fn).call(this, pkg2.contents, subpackage, slug, idgen);
1088437
+ const convertedItems = __privateMethod(this, _convertApiReferenceLayoutItems, convertApiReferenceLayoutItems_fn).call(this, pkg2.contents, void 0, slug, idgen);
1088237
1088438
  return {
1088238
1088439
  id: idgen.append(kebabCase_default2(pkg2.package)).get(),
1088239
1088440
  type: "apiPackage",
1088240
1088441
  children: convertedItems,
1088241
- title: pkg2.package,
1088442
+ title: pkg2.title ?? pkg2.package,
1088242
1088443
  slug: slug.get(),
1088243
1088444
  icon: pkg2.icon,
1088244
1088445
  hidden: pkg2.hidden,
@@ -1088253,28 +1088454,34 @@ _convertSection = new WeakSet();
1088253
1088454
  convertSection_fn = function(section, parentSlug, idgen) {
1088254
1088455
  const overviewPageId = section.summaryAbsolutePath != null ? navigation_exports2.PageId(this.toRelativeFilepath(section.summaryAbsolutePath)) : void 0;
1088255
1088456
  const maybeFullSlug = section.summaryAbsolutePath != null ? this.markdownFilesToFullSlugs.get(section.summaryAbsolutePath) : void 0;
1088256
- const nodeId = idgen.append(`section:${kebabCase_default2(section.section)}`);
1088257
- section.subpackages.forEach((subpackageId) => {
1088457
+ const nodeId = idgen.append(`section:${kebabCase_default2(section.title)}`);
1088458
+ const subpackages = section.referencedSubpackages.filter((subpackageId) => {
1088258
1088459
  const subpackage = __privateGet(this, _holder2).getSubpackage(subpackageId);
1088259
1088460
  if (subpackage == null) {
1088260
1088461
  this.taskContext.logger.error(`Subpackage ${subpackageId} not found in ${this.apiDefinitionId}`);
1088261
- return;
1088462
+ return false;
1088463
+ }
1088464
+ return true;
1088465
+ });
1088466
+ __privateGet(this, _nodeIdToSubpackageId).set(nodeId.get(), subpackages);
1088467
+ subpackages.forEach((subpackageId) => {
1088468
+ if (__privateGet(this, _visitedSubpackages2).has(subpackageId)) {
1088469
+ this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${subpackageId}`);
1088262
1088470
  }
1088263
1088471
  __privateGet(this, _visitedSubpackages2).add(subpackageId);
1088264
- __privateGet(this, _nodeIdToSubpackageId).set(nodeId.get(), subpackageId);
1088265
1088472
  });
1088266
- const urlSlug = section.slug ?? kebabCase_default2(section.section);
1088473
+ const urlSlug = section.slug ?? kebabCase_default2(section.title);
1088267
1088474
  const slug = parentSlug.apply({
1088268
1088475
  fullSlug: maybeFullSlug == null ? void 0 : maybeFullSlug.split("/"),
1088269
1088476
  skipUrlSlug: section.skipUrlSlug,
1088270
1088477
  urlSlug
1088271
1088478
  });
1088272
- const convertedItems = __privateMethod(this, _convertApiNavigationItems, convertApiNavigationItems_fn).call(this, section.contents, section.subpackages.length === 1 ? __privateGet(this, _holder2).getSubpackage(section.subpackages[0]) : void 0, slug, idgen);
1088479
+ const convertedItems = __privateMethod(this, _convertApiReferenceLayoutItems, convertApiReferenceLayoutItems_fn).call(this, section.contents, void 0, slug, idgen);
1088273
1088480
  return {
1088274
1088481
  id: nodeId.get(),
1088275
1088482
  type: "apiPackage",
1088276
1088483
  children: convertedItems,
1088277
- title: section.section,
1088484
+ title: section.title,
1088278
1088485
  slug: slug.get(),
1088279
1088486
  icon: section.icon,
1088280
1088487
  hidden: section.hidden,
@@ -1088284,11 +1088491,143 @@ convertSection_fn = function(section, parentSlug, idgen) {
1088284
1088491
  pointsTo: void 0
1088285
1088492
  };
1088286
1088493
  };
1088494
+ _convertUnknownIdentifier = new WeakSet();
1088495
+ convertUnknownIdentifier_fn = function(unknownIdentifier, apiDefinitionPackageId, parentSlug, idgen) {
1088496
+ unknownIdentifier = unknownIdentifier.trim();
1088497
+ const subpackage = __privateGet(this, _holder2).getSubpackage(unknownIdentifier);
1088498
+ if (subpackage != null) {
1088499
+ const subpackageId = ApiDefinitionHolder2.getSubpackageId(subpackage);
1088500
+ const subpackageNodeId = idgen.append(subpackageId);
1088501
+ if (__privateGet(this, _visitedSubpackages2).has(subpackageId)) {
1088502
+ this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${subpackageId}`);
1088503
+ }
1088504
+ __privateGet(this, _visitedSubpackages2).add(subpackageId);
1088505
+ __privateGet(this, _nodeIdToSubpackageId).set(subpackageNodeId.get(), [subpackageId]);
1088506
+ const urlSlug = isSubpackage2(subpackage) ? subpackage.urlSlug : "";
1088507
+ const slug = parentSlug.apply({ urlSlug });
1088508
+ return {
1088509
+ id: subpackageNodeId.get(),
1088510
+ type: "apiPackage",
1088511
+ children: [],
1088512
+ title: isSubpackage2(subpackage) ? subpackage.displayName ?? titleCase(subpackage.name) : this.apiSection.title,
1088513
+ slug: slug.get(),
1088514
+ icon: void 0,
1088515
+ hidden: void 0,
1088516
+ overviewPageId: void 0,
1088517
+ availability: void 0,
1088518
+ apiDefinitionId: this.apiDefinitionId,
1088519
+ pointsTo: void 0
1088520
+ };
1088521
+ }
1088522
+ return __privateMethod(this, _convertEndpoint, convertEndpoint_fn).call(this, {
1088523
+ type: "endpoint",
1088524
+ endpoint: unknownIdentifier,
1088525
+ title: void 0,
1088526
+ icon: void 0,
1088527
+ slug: void 0,
1088528
+ hidden: void 0
1088529
+ }, apiDefinitionPackageId, parentSlug, idgen);
1088530
+ };
1088531
+ _convertEndpoint = new WeakSet();
1088532
+ convertEndpoint_fn = function(endpointItem, apiDefinitionPackageId, parentSlug, idgen) {
1088533
+ var _a5, _b4, _c4, _d2;
1088534
+ const endpoint = (apiDefinitionPackageId != null ? (_a5 = __privateGet(this, _holder2).subpackages.get(apiDefinitionPackageId)) == null ? void 0 : _a5.endpoints.get(endpointItem.endpoint) : void 0) ?? __privateGet(this, _holder2).endpointsByLocator.get(endpointItem.endpoint);
1088535
+ if (endpoint != null) {
1088536
+ const endpointId = __privateGet(this, _holder2).getEndpointId(endpoint);
1088537
+ if (endpointId == null) {
1088538
+ throw new Error(`Expected Endpoint ID for ${endpoint.id}. Got undefined.`);
1088539
+ }
1088540
+ if (__privateGet(this, _visitedEndpoints2).has(endpointId)) {
1088541
+ this.taskContext.logger.error(`Duplicate endpoint found in the API Reference layout: ${endpointId}`);
1088542
+ }
1088543
+ __privateGet(this, _visitedEndpoints2).add(endpointId);
1088544
+ return {
1088545
+ id: idgen.append(endpoint.id).get(),
1088546
+ type: "endpoint",
1088547
+ method: endpoint.method,
1088548
+ endpointId,
1088549
+ apiDefinitionId: this.apiDefinitionId,
1088550
+ availability: navigation_exports2.utils.convertAvailability(endpoint.availability),
1088551
+ isResponseStream: ((_b4 = endpoint.response) == null ? void 0 : _b4.type.type) === "stream",
1088552
+ title: endpointItem.title ?? endpoint.name ?? stringifyEndpointPathParts2(endpoint.path.parts),
1088553
+ slug: (endpointItem.slug != null ? parentSlug.append(endpointItem.slug) : parentSlug.apply(endpoint)).get(),
1088554
+ icon: endpointItem.icon,
1088555
+ hidden: endpointItem.hidden
1088556
+ };
1088557
+ }
1088558
+ const webSocket = (apiDefinitionPackageId != null ? (_c4 = __privateGet(this, _holder2).subpackages.get(apiDefinitionPackageId)) == null ? void 0 : _c4.webSockets.get(endpointItem.endpoint) : void 0) ?? __privateGet(this, _holder2).webSocketsByLocator.get(endpointItem.endpoint);
1088559
+ if (webSocket != null) {
1088560
+ const webSocketId = __privateGet(this, _holder2).getWebSocketId(webSocket);
1088561
+ if (webSocketId == null) {
1088562
+ throw new Error(`Expected WebSocket ID for ${webSocket.id}. Got undefined.`);
1088563
+ }
1088564
+ if (__privateGet(this, _visitedWebSockets2).has(webSocketId)) {
1088565
+ this.taskContext.logger.error(`Duplicate web socket found in the API Reference layout: ${webSocketId}`);
1088566
+ }
1088567
+ __privateGet(this, _visitedWebSockets2).add(webSocketId);
1088568
+ return {
1088569
+ id: idgen.append(webSocket.id).get(),
1088570
+ type: "webSocket",
1088571
+ webSocketId,
1088572
+ title: endpointItem.title ?? webSocket.name ?? stringifyEndpointPathParts2(webSocket.path.parts),
1088573
+ slug: (endpointItem.slug != null ? parentSlug.append(endpointItem.slug) : parentSlug.apply(webSocket)).get(),
1088574
+ icon: endpointItem.icon,
1088575
+ hidden: endpointItem.hidden,
1088576
+ apiDefinitionId: this.apiDefinitionId,
1088577
+ availability: navigation_exports2.utils.convertAvailability(webSocket.availability)
1088578
+ };
1088579
+ }
1088580
+ const webhook = (apiDefinitionPackageId != null ? (_d2 = __privateGet(this, _holder2).subpackages.get(apiDefinitionPackageId)) == null ? void 0 : _d2.webhooks.get(endpointItem.endpoint) : void 0) ?? __privateGet(this, _holder2).webhooks.get(navigation_exports2.WebhookId(endpointItem.endpoint));
1088581
+ if (webhook != null) {
1088582
+ const webhookId = __privateGet(this, _holder2).getWebhookId(webhook);
1088583
+ if (webhookId == null) {
1088584
+ throw new Error(`Expected Webhook ID for ${webhook.id}. Got undefined.`);
1088585
+ }
1088586
+ if (__privateGet(this, _visitedWebhooks2).has(webhookId)) {
1088587
+ this.taskContext.logger.error(`Duplicate webhook found in the API Reference layout: ${webhookId}`);
1088588
+ }
1088589
+ __privateGet(this, _visitedWebhooks2).add(webhookId);
1088590
+ return {
1088591
+ id: idgen.append(webhook.id).get(),
1088592
+ type: "webhook",
1088593
+ webhookId,
1088594
+ method: webhook.method,
1088595
+ title: endpointItem.title ?? webhook.name ?? urlJoin22("/", ...webhook.path),
1088596
+ slug: (endpointItem.slug != null ? parentSlug.append(endpointItem.slug) : parentSlug.apply(webhook)).get(),
1088597
+ icon: endpointItem.icon,
1088598
+ hidden: endpointItem.hidden,
1088599
+ apiDefinitionId: this.apiDefinitionId,
1088600
+ availability: void 0
1088601
+ };
1088602
+ }
1088603
+ this.taskContext.logger.error("Unknown identifier in the API Reference layout: ", endpointItem.endpoint);
1088604
+ return;
1088605
+ };
1088606
+ _mergeAndFilterChildren = new WeakSet();
1088607
+ mergeAndFilterChildren_fn = function(left3, right3) {
1088608
+ return this.mergeEndpointPairs([...left3, ...right3], NodeIdGenerator2.init(this.apiDefinitionId)).filter((child) => child.type === "apiPackage" ? child.children.length > 0 : true);
1088609
+ };
1088610
+ _convertApiPackageChild = new WeakSet();
1088611
+ convertApiPackageChild_fn = function(child, parentSlug, idgen) {
1088612
+ if (child.type === "apiPackage") {
1088613
+ const slug = parentSlug.set(child.slug);
1088614
+ const innerIdgen = idgen.append(kebabCase_default2(child.title));
1088615
+ const subpackageIds = __privateGet(this, _nodeIdToSubpackageId).get(child.id) ?? [];
1088616
+ const subpackageChildren = subpackageIds.flatMap((subpackageId) => __privateMethod(this, _convertApiDefinitionPackageId, convertApiDefinitionPackageId_fn).call(this, subpackageId, slug, innerIdgen));
1088617
+ const children2 = __privateMethod(this, _mergeAndFilterChildren, mergeAndFilterChildren_fn).call(this, child.children, subpackageChildren);
1088618
+ return {
1088619
+ ...child,
1088620
+ children: children2,
1088621
+ pointsTo: navigation_exports2.utils.followRedirects(children2)
1088622
+ };
1088623
+ }
1088624
+ return child;
1088625
+ };
1088287
1088626
  _convertApiDefinitionPackage = new WeakSet();
1088288
- convertApiDefinitionPackage_fn = function(packageId, children2, parentSlug, idgen) {
1088289
- const pkg2 = packageId != null ? __privateGet(this, _holder2).resolveSubpackage(__privateGet(this, _holder2).getSubpackage(packageId)) : void 0;
1088627
+ convertApiDefinitionPackage_fn = function(pkg2, parentSlug, idgen) {
1088290
1088628
  let additionalChildren = [];
1088291
- pkg2 == null ? void 0 : pkg2.endpoints.forEach((endpoint) => {
1088629
+ idgen = idgen.append(isSubpackage2(pkg2) ? pkg2.subpackageId : ROOT_PACKAGE_ID);
1088630
+ pkg2.endpoints.forEach((endpoint) => {
1088292
1088631
  var _a5;
1088293
1088632
  const endpointId = __privateGet(this, _holder2).getEndpointId(endpoint);
1088294
1088633
  if (endpointId == null) {
@@ -1088311,7 +1088650,7 @@ convertApiDefinitionPackage_fn = function(packageId, children2, parentSlug, idge
1088311
1088650
  hidden: void 0
1088312
1088651
  });
1088313
1088652
  });
1088314
- pkg2 == null ? void 0 : pkg2.websockets.forEach((webSocket) => {
1088653
+ pkg2.websockets.forEach((webSocket) => {
1088315
1088654
  const webSocketId = __privateGet(this, _holder2).getWebSocketId(webSocket);
1088316
1088655
  if (webSocketId == null) {
1088317
1088656
  throw new Error(`Expected WebSocket ID for ${webSocket.id}. Got undefined.`);
@@ -1088331,7 +1088670,7 @@ convertApiDefinitionPackage_fn = function(packageId, children2, parentSlug, idge
1088331
1088670
  availability: navigation_exports2.utils.convertAvailability(webSocket.availability)
1088332
1088671
  });
1088333
1088672
  });
1088334
- pkg2 == null ? void 0 : pkg2.webhooks.forEach((webhook) => {
1088673
+ pkg2.webhooks.forEach((webhook) => {
1088335
1088674
  const webhookId = __privateGet(this, _holder2).getWebhookId(webhook);
1088336
1088675
  if (webhookId == null) {
1088337
1088676
  throw new Error(`Expected Webhook ID for ${webhook.id}. Got undefined.`);
@@ -1088344,7 +1088683,7 @@ convertApiDefinitionPackage_fn = function(packageId, children2, parentSlug, idge
1088344
1088683
  type: "webhook",
1088345
1088684
  webhookId,
1088346
1088685
  method: webhook.method,
1088347
- title: webhook.name ?? urlJoin22("/", ...webhook.path),
1088686
+ title: webhook.name ?? titleCase(webhook.id),
1088348
1088687
  slug: parentSlug.apply(webhook).get(),
1088349
1088688
  icon: void 0,
1088350
1088689
  hidden: void 0,
@@ -1088352,7 +1088691,7 @@ convertApiDefinitionPackage_fn = function(packageId, children2, parentSlug, idge
1088352
1088691
  availability: void 0
1088353
1088692
  });
1088354
1088693
  });
1088355
- pkg2 == null ? void 0 : pkg2.subpackages.forEach((subpackageId) => {
1088694
+ pkg2.subpackages.forEach((subpackageId) => {
1088356
1088695
  if (__privateGet(this, _visitedSubpackages2).has(subpackageId)) {
1088357
1088696
  return;
1088358
1088697
  }
@@ -1088363,7 +1088702,7 @@ convertApiDefinitionPackage_fn = function(packageId, children2, parentSlug, idge
1088363
1088702
  }
1088364
1088703
  const subpackageNodeId = idgen.append(subpackageId);
1088365
1088704
  const slug = isSubpackage2(subpackage) ? parentSlug.apply(subpackage) : parentSlug;
1088366
- const subpackageChildren = __privateMethod(this, _convertApiDefinitionPackage, convertApiDefinitionPackage_fn).call(this, subpackageId, [], slug, subpackageNodeId);
1088705
+ const subpackageChildren = __privateMethod(this, _convertApiDefinitionPackageId, convertApiDefinitionPackageId_fn).call(this, subpackageId, slug, subpackageNodeId);
1088367
1088706
  additionalChildren.push({
1088368
1088707
  id: subpackageNodeId.get(),
1088369
1088708
  type: "apiPackage",
@@ -1088385,124 +1088724,16 @@ convertApiDefinitionPackage_fn = function(packageId, children2, parentSlug, idge
1088385
1088724
  return aTitle.localeCompare(bTitle);
1088386
1088725
  });
1088387
1088726
  }
1088388
- let toRet = [
1088389
- ...children2.map((child) => {
1088390
- if (child.type === "apiPackage") {
1088391
- const subpackageId = __privateGet(this, _nodeIdToSubpackageId).get(child.id);
1088392
- const newChildren = __privateMethod(this, _convertApiDefinitionPackage, convertApiDefinitionPackage_fn).call(this, subpackageId, child.children, parentSlug.set(child.slug), idgen.append(subpackageId ?? kebabCase_default2(child.title)));
1088393
- return {
1088394
- ...child,
1088395
- children: newChildren,
1088396
- pointsTo: navigation_exports2.utils.followRedirects(newChildren)
1088397
- };
1088398
- }
1088399
- return child;
1088400
- }),
1088401
- ...additionalChildren
1088402
- ];
1088403
- toRet = this.mergeEndpointPairs(toRet, idgen);
1088404
- return toRet.filter((child) => child.type === "apiPackage" ? child.children.length > 0 : true);
1088727
+ return additionalChildren;
1088405
1088728
  };
1088406
- _convertUnknownIdentifier = new WeakSet();
1088407
- convertUnknownIdentifier_fn = function(unknownIdentifier, apiDefinitionPackageId, parentSlug, idgen) {
1088408
- var _a5, _b4, _c4, _d2;
1088409
- unknownIdentifier = unknownIdentifier.trim();
1088410
- const subpackage = __privateGet(this, _holder2).getSubpackage(unknownIdentifier);
1088411
- if (subpackage != null) {
1088412
- const subpackageId = ApiDefinitionHolder2.getSubpackageId(subpackage);
1088413
- const subpackageNodeId = idgen.append(subpackageId);
1088414
- if (__privateGet(this, _visitedSubpackages2).has(subpackageId)) {
1088415
- this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${subpackageId}`);
1088416
- }
1088417
- __privateGet(this, _visitedSubpackages2).add(subpackageId);
1088418
- __privateGet(this, _nodeIdToSubpackageId).set(subpackageNodeId.get(), subpackageId);
1088419
- const urlSlug = isSubpackage2(subpackage) ? subpackage.urlSlug : "";
1088420
- const slug = parentSlug.apply({ urlSlug });
1088421
- return {
1088422
- id: subpackageNodeId.get(),
1088423
- type: "apiPackage",
1088424
- children: [],
1088425
- title: isSubpackage2(subpackage) ? subpackage.displayName ?? titleCase(subpackage.name) : this.apiSection.title,
1088426
- slug: slug.get(),
1088427
- icon: void 0,
1088428
- hidden: void 0,
1088429
- overviewPageId: void 0,
1088430
- availability: void 0,
1088431
- apiDefinitionId: this.apiDefinitionId,
1088432
- pointsTo: void 0
1088433
- };
1088434
- }
1088435
- const endpoint = (apiDefinitionPackageId != null ? (_a5 = __privateGet(this, _holder2).subpackages.get(apiDefinitionPackageId)) == null ? void 0 : _a5.endpoints.get(unknownIdentifier) : void 0) ?? __privateGet(this, _holder2).endpointsByLocator.get(unknownIdentifier);
1088436
- if (endpoint != null) {
1088437
- const endpointId = __privateGet(this, _holder2).getEndpointId(endpoint);
1088438
- if (endpointId == null) {
1088439
- throw new Error(`Expected Endpoint ID for ${endpoint.id}. Got undefined.`);
1088440
- }
1088441
- if (__privateGet(this, _visitedEndpoints2).has(endpointId)) {
1088442
- this.taskContext.logger.error(`Duplicate endpoint found in the API Reference layout: ${endpointId}`);
1088443
- }
1088444
- __privateGet(this, _visitedEndpoints2).add(endpointId);
1088445
- return {
1088446
- id: idgen.append(endpoint.id).get(),
1088447
- type: "endpoint",
1088448
- method: endpoint.method,
1088449
- endpointId,
1088450
- apiDefinitionId: this.apiDefinitionId,
1088451
- availability: navigation_exports2.utils.convertAvailability(endpoint.availability),
1088452
- isResponseStream: ((_b4 = endpoint.response) == null ? void 0 : _b4.type.type) === "stream",
1088453
- title: endpoint.name ?? stringifyEndpointPathParts2(endpoint.path.parts),
1088454
- slug: parentSlug.apply(endpoint).get(),
1088455
- icon: void 0,
1088456
- hidden: void 0
1088457
- };
1088458
- }
1088459
- const webSocket = (apiDefinitionPackageId != null ? (_c4 = __privateGet(this, _holder2).subpackages.get(apiDefinitionPackageId)) == null ? void 0 : _c4.webSockets.get(unknownIdentifier) : void 0) ?? __privateGet(this, _holder2).webSocketsByLocator.get(unknownIdentifier);
1088460
- if (webSocket != null) {
1088461
- const webSocketId = __privateGet(this, _holder2).getWebSocketId(webSocket);
1088462
- if (webSocketId == null) {
1088463
- throw new Error(`Expected WebSocket ID for ${webSocket.id}. Got undefined.`);
1088464
- }
1088465
- if (__privateGet(this, _visitedWebSockets2).has(webSocketId)) {
1088466
- this.taskContext.logger.error(`Duplicate web socket found in the API Reference layout: ${webSocketId}`);
1088467
- }
1088468
- __privateGet(this, _visitedWebSockets2).add(webSocketId);
1088469
- return {
1088470
- id: idgen.append(webSocket.id).get(),
1088471
- type: "webSocket",
1088472
- webSocketId,
1088473
- title: webSocket.name ?? stringifyEndpointPathParts2(webSocket.path.parts),
1088474
- slug: parentSlug.apply(webSocket).get(),
1088475
- icon: void 0,
1088476
- hidden: void 0,
1088477
- apiDefinitionId: this.apiDefinitionId,
1088478
- availability: navigation_exports2.utils.convertAvailability(webSocket.availability)
1088479
- };
1088480
- }
1088481
- const webhook = (apiDefinitionPackageId != null ? (_d2 = __privateGet(this, _holder2).subpackages.get(apiDefinitionPackageId)) == null ? void 0 : _d2.webhooks.get(unknownIdentifier) : void 0) ?? __privateGet(this, _holder2).webhooks.get(navigation_exports2.WebhookId(unknownIdentifier));
1088482
- if (webhook != null) {
1088483
- const webhookId = __privateGet(this, _holder2).getWebhookId(webhook);
1088484
- if (webhookId == null) {
1088485
- throw new Error(`Expected Webhook ID for ${webhook.id}. Got undefined.`);
1088486
- }
1088487
- if (__privateGet(this, _visitedWebhooks2).has(webhookId)) {
1088488
- this.taskContext.logger.error(`Duplicate webhook found in the API Reference layout: ${webhookId}`);
1088489
- }
1088490
- __privateGet(this, _visitedWebhooks2).add(webhookId);
1088491
- return {
1088492
- id: idgen.append(webhook.id).get(),
1088493
- type: "webhook",
1088494
- webhookId,
1088495
- method: webhook.method,
1088496
- title: webhook.name ?? urlJoin22("/", ...webhook.path),
1088497
- slug: parentSlug.apply(webhook).get(),
1088498
- icon: void 0,
1088499
- hidden: void 0,
1088500
- apiDefinitionId: this.apiDefinitionId,
1088501
- availability: void 0
1088502
- };
1088729
+ _convertApiDefinitionPackageId = new WeakSet();
1088730
+ convertApiDefinitionPackageId_fn = function(packageId, parentSlug, idgen) {
1088731
+ const pkg2 = packageId != null ? __privateGet(this, _holder2).resolveSubpackage(__privateGet(this, _holder2).getSubpackage(packageId)) : void 0;
1088732
+ if (pkg2 == null) {
1088733
+ this.taskContext.logger.error(`Subpackage ${packageId} not found in ${this.apiDefinitionId}`);
1088734
+ return [];
1088503
1088735
  }
1088504
- this.taskContext.logger.error("Unknown identifier in the API Reference layout: ", unknownIdentifier);
1088505
- return;
1088736
+ return __privateMethod(this, _convertApiDefinitionPackage, convertApiDefinitionPackage_fn).call(this, pkg2, parentSlug, idgen);
1088506
1088737
  };
1088507
1088738
 
1088508
1088739
  // pnp:/home/circleci/project/packages/cli/docs-resolver/lib/utils/convertDocsSnippetsConfigToFdr.js
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fern-api",
3
- "version": "0.30.8-rc4",
3
+ "version": "0.30.8-rc6",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/fern-api/fern.git",