@churchapps/content-providers 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -235,10 +235,7 @@ interface IProvider {
235
235
  checkMediaLicense?(mediaId: string, auth?: ContentProviderAuthData | null): Promise<MediaLicenseResult | null>;
236
236
  }
237
237
 
238
- /**
239
- * Navigate to a specific item using a dot-notation path.
240
- * Path format: "0.2.1" means items[0].children[2].children[1]
241
- */
238
+ /** Navigate to a specific item using dot-notation path (e.g. "0.2.1" → items[0].children[2].children[1]). */
242
239
  declare function navigateToPath(instructions: Instructions, path: string): InstructionItem | null;
243
240
 
244
241
  declare class OAuthHelper {
@@ -269,12 +266,7 @@ declare class DeviceFlowHelper {
269
266
  calculatePollDelay(baseInterval?: number, slowDownCount?: number): number;
270
267
  }
271
268
 
272
- /**
273
- * Shared base for providers: identity metadata, an authenticated fetch wrapper, and a
274
- * config-driven supportsDeviceFlow. Auth-flow methods (initiateDeviceFlow, buildAuthUrl, ...)
275
- * deliberately do NOT live here: consumers feature-detect them with `"method" in provider`,
276
- * so they must exist only on the providers that actually support each flow.
277
- */
269
+ /** Base for providers; auth-flow methods are intentionally not here so consumers can feature-detect with `"method" in provider`. */
278
270
  declare abstract class BaseProvider implements IProvider {
279
271
  abstract readonly id: string;
280
272
  abstract readonly name: string;
@@ -289,16 +281,7 @@ declare abstract class BaseProvider implements IProvider {
289
281
  supportsDeviceFlow(): boolean;
290
282
  }
291
283
 
292
- /**
293
- * APlay Provider
294
- *
295
- * Path structure (variable depth based on module products):
296
- * /modules -> list modules
297
- * /modules/{moduleId} -> list products OR libraries (depends on module)
298
- * /modules/{moduleId}/products/{productId} -> list libraries (if module has multiple products)
299
- * /modules/{moduleId}/products/{productId}/{libraryId} -> media files
300
- * /modules/{moduleId}/libraries/{libraryId} -> media files (if module has 0-1 products)
301
- */
284
+ /** APlay Provider: media curriculum library with OAuth 2.0 auth. */
302
285
  declare class APlayProvider extends BaseProvider {
303
286
  readonly id = "aplay";
304
287
  readonly name = "APlay";
@@ -317,13 +300,7 @@ declare class APlayProvider extends BaseProvider {
317
300
  checkMediaLicense(mediaId: string, auth?: ContentProviderAuthData | null): Promise<MediaLicenseResult | null>;
318
301
  }
319
302
 
320
- /**
321
- * SignPresenter Provider
322
- *
323
- * Path structure:
324
- * /playlists -> list playlists
325
- * /playlists/{playlistId} -> list messages (files)
326
- */
303
+ /** Browses SignPresenter playlists → messages (files). */
327
304
  declare class SignPresenterProvider extends BaseProvider {
328
305
  private readonly oauthHelper;
329
306
  private readonly deviceFlowHelper;
@@ -351,18 +328,9 @@ declare class SignPresenterProvider extends BaseProvider {
351
328
  }
352
329
 
353
330
  /**
354
- * LessonsChurch Provider
355
- *
356
- * Path structure:
357
- * /lessons -> programs
358
- * /lessons/{programId} -> studies
359
- * /lessons/{programId}/{studyId} -> lessons
360
- * /lessons/{programId}/{studyId}/{lessonId} -> venues
361
- * /lessons/{programId}/{studyId}/{lessonId}/{venueId} -> playlist files
362
- *
363
- * /addons -> categories
364
- * /addons/{category} -> individual add-ons
365
- * /addons/{category}/{addOnId} -> single add-on file
331
+ * Path: /lessons → programs, /lessons/{id} → studies, /lessons/{id}/{id} → lessons,
332
+ * /lessons/{id}/{id}/{id} → venues, /lessons/{id}/{id}/{id}/{id} → files;
333
+ * /addons → categories, /addons/{cat} → items, /addons/{cat}/{id} → file.
366
334
  */
367
335
  declare class LessonsChurchProvider extends BaseProvider {
368
336
  readonly id = "lessonschurch";
@@ -436,7 +404,6 @@ declare class DropboxProvider extends BaseProvider {
436
404
  private resolveFileLinks;
437
405
  private checkIsLeaf;
438
406
  browse(path?: string | null, auth?: ContentProviderAuthData | null): Promise<ContentItem[]>;
439
- /** Resolve a folder path to playable files (list + media filter + link resolution). */
440
407
  private resolveMediaFiles;
441
408
  getPlaylist(path: string, auth?: ContentProviderAuthData | null, _resolution?: number): Promise<ContentFile[] | null>;
442
409
  getInstructions(path: string, auth?: ContentProviderAuthData | null): Promise<Instructions | null>;
@@ -450,14 +417,7 @@ declare class DropboxProvider extends BaseProvider {
450
417
  exchangeCodeForTokens(code: string, codeVerifier: string, redirectUri: string): Promise<ContentProviderAuthData | null>;
451
418
  }
452
419
 
453
- /**
454
- * PlanningCenter Provider
455
- *
456
- * Path structure:
457
- * /serviceTypes -> list service types
458
- * /serviceTypes/{serviceTypeId} -> list plans
459
- * /serviceTypes/{serviceTypeId}/{planId} -> plan items (leaf)
460
- */
420
+ /** Browses Planning Center service types → plans → items. */
461
421
  declare class PlanningCenterProvider extends BaseProvider {
462
422
  readonly id = "planningcenter";
463
423
  readonly name = "Planning Center";
@@ -472,14 +432,7 @@ declare class PlanningCenterProvider extends BaseProvider {
472
432
  private getPlanItems;
473
433
  }
474
434
 
475
- /**
476
- * BibleProject Provider
477
- *
478
- * Path structure:
479
- * / -> list collections
480
- * /{collectionSlug} -> list videos in collection
481
- * /{collectionSlug}/{videoId} -> single video
482
- */
435
+ /** BibleProject Provider: Bible education video content. */
483
436
  declare class BibleProjectProvider extends BaseProvider {
484
437
  readonly id = "bibleproject";
485
438
  readonly name = "The Bible Project";
@@ -499,13 +452,8 @@ declare class BibleProjectProvider extends BaseProvider {
499
452
  }
500
453
 
501
454
  /**
502
- * HighVoltageKids Provider
503
- *
504
- * Path structure:
505
- * / -> list collections (Elementary, Preschool)
506
- * /{collectionSlug} -> list studies
507
- * /{collectionSlug}/{studyId} -> list lessons
508
- * /{collectionSlug}/{studyId}/{lessonId} -> lesson files (leaf)
455
+ * Path structure: / → collections, /{collection} → studies, /{collection}/{study} → lessons,
456
+ * /{collection}/{study}/{lesson} → files (leaf).
509
457
  */
510
458
  declare class HighVoltageKidsProvider extends BaseProvider {
511
459
  readonly id = "highvoltagekids";
@@ -522,15 +470,8 @@ declare class HighVoltageKidsProvider extends BaseProvider {
522
470
  }
523
471
 
524
472
  /**
525
- * Jesus Film Project Provider
526
- *
527
- * Uses the public Arclight API to browse video content from jesusfilm.org.
528
- *
529
- * Path structure:
530
- * / -> categories (Feature Films, Series, Collections)
531
- * /{category} -> list items in category
532
- * /{category}/{id} -> single video (feature film) or container children (series/collection)
533
- * /{category}/{...containerIds}/{id} -> nested containers or single video (supports arbitrary depth)
473
+ * Path: / → categories, /{category} → items, /{category}/{id} → video or children,
474
+ * /{category}/{...ids}/{id} → nested containers or video.
534
475
  */
535
476
  declare class JesusFilmProvider extends BaseProvider {
536
477
  readonly id = "jesusfilm";
@@ -556,17 +497,7 @@ declare class JesusFilmProvider extends BaseProvider {
556
497
  getInstructions(path: string, _auth?: ContentProviderAuthData | null): Promise<Instructions | null>;
557
498
  }
558
499
 
559
- /**
560
- * CBN Provider
561
- *
562
- * Faith-based kids' video curriculum. Auth uses OAuth 2.0 Device Flow.
563
- *
564
- * Path structure:
565
- * / -> single "Catalog" root folder
566
- * /catalog -> course folders (GET /catalog)
567
- * /catalog/{courseId} -> lesson folders (GET /catalog/{courseId})
568
- * /catalog/{courseId}/{lessonId} -> video files (GET /lesson-playlist/{lessonId})
569
- */
500
+ /** Faith-based kids' video curriculum with OAuth 2.0 Device Flow auth. */
570
501
  declare class CbnProvider extends BaseProvider {
571
502
  private readonly deviceFlowHelper;
572
503
  readonly id = "cbn";
@@ -585,26 +516,7 @@ declare class CbnProvider extends BaseProvider {
585
516
  pollDeviceFlowToken(deviceCode: string): Promise<DeviceFlowPollResult>;
586
517
  }
587
518
 
588
- /**
589
- * Life.Church Provider
590
- *
591
- * Browses the Life.Church kids curriculum from a static catalog generated by
592
- * scripts/scrape-lifechurch.ts (sourced from life.church/media/* + the
593
- * open.life.church weekly calendar).
594
- *
595
- * Path structure:
596
- * / -> "scheduled" folder + 4 series
597
- * /scheduled -> this Sunday's scheduled lessons (one per age group)
598
- * /scheduled/{scheduledId} -> single video file (leaf)
599
- * /{seriesId} -> units within the series
600
- * /{seriesId}/{unitId} -> lessons within the unit
601
- * /{seriesId}/{unitId}/{lessonId} -> single video file (leaf)
602
- *
603
- * Video delivery: ContentFile.url is a direct mp4 on Life.Church's CDN
604
- * (https://d.life.church/.../{slug}_720p.mp4). Public, no auth, supports
605
- * range requests — plays in any standard mp4 player including
606
- * react-native-video.
607
- */
519
+ /** Browses Life.Church's kids curriculum from a static catalog (series → units → lessons), plus a weekly scheduled lesson index. */
608
520
  declare class LifeChurchProvider extends BaseProvider {
609
521
  readonly id = "lifechurch";
610
522
  readonly name = "Life.Church";
@@ -638,11 +550,7 @@ declare function registerProvider(provider: IProvider): void;
638
550
  * Get provider configuration by ID (for backward compatibility).
639
551
  */
640
552
  declare function getProviderConfig(providerId: string): ContentProviderConfig | null;
641
- /**
642
- * Get list of available providers with their info including logos and auth types.
643
- * Includes both implemented providers and coming soon providers.
644
- * @param ids - Optional array of provider IDs to filter the results. If provided, only providers with matching IDs will be returned.
645
- */
553
+ /** Get available providers (implemented and coming soon), optionally filtered by IDs. */
646
554
  declare function getAvailableProviders(ids?: string[]): ProviderInfo[];
647
555
 
648
556
  /**
package/dist/index.d.ts CHANGED
@@ -235,10 +235,7 @@ interface IProvider {
235
235
  checkMediaLicense?(mediaId: string, auth?: ContentProviderAuthData | null): Promise<MediaLicenseResult | null>;
236
236
  }
237
237
 
238
- /**
239
- * Navigate to a specific item using a dot-notation path.
240
- * Path format: "0.2.1" means items[0].children[2].children[1]
241
- */
238
+ /** Navigate to a specific item using dot-notation path (e.g. "0.2.1" → items[0].children[2].children[1]). */
242
239
  declare function navigateToPath(instructions: Instructions, path: string): InstructionItem | null;
243
240
 
244
241
  declare class OAuthHelper {
@@ -269,12 +266,7 @@ declare class DeviceFlowHelper {
269
266
  calculatePollDelay(baseInterval?: number, slowDownCount?: number): number;
270
267
  }
271
268
 
272
- /**
273
- * Shared base for providers: identity metadata, an authenticated fetch wrapper, and a
274
- * config-driven supportsDeviceFlow. Auth-flow methods (initiateDeviceFlow, buildAuthUrl, ...)
275
- * deliberately do NOT live here: consumers feature-detect them with `"method" in provider`,
276
- * so they must exist only on the providers that actually support each flow.
277
- */
269
+ /** Base for providers; auth-flow methods are intentionally not here so consumers can feature-detect with `"method" in provider`. */
278
270
  declare abstract class BaseProvider implements IProvider {
279
271
  abstract readonly id: string;
280
272
  abstract readonly name: string;
@@ -289,16 +281,7 @@ declare abstract class BaseProvider implements IProvider {
289
281
  supportsDeviceFlow(): boolean;
290
282
  }
291
283
 
292
- /**
293
- * APlay Provider
294
- *
295
- * Path structure (variable depth based on module products):
296
- * /modules -> list modules
297
- * /modules/{moduleId} -> list products OR libraries (depends on module)
298
- * /modules/{moduleId}/products/{productId} -> list libraries (if module has multiple products)
299
- * /modules/{moduleId}/products/{productId}/{libraryId} -> media files
300
- * /modules/{moduleId}/libraries/{libraryId} -> media files (if module has 0-1 products)
301
- */
284
+ /** APlay Provider: media curriculum library with OAuth 2.0 auth. */
302
285
  declare class APlayProvider extends BaseProvider {
303
286
  readonly id = "aplay";
304
287
  readonly name = "APlay";
@@ -317,13 +300,7 @@ declare class APlayProvider extends BaseProvider {
317
300
  checkMediaLicense(mediaId: string, auth?: ContentProviderAuthData | null): Promise<MediaLicenseResult | null>;
318
301
  }
319
302
 
320
- /**
321
- * SignPresenter Provider
322
- *
323
- * Path structure:
324
- * /playlists -> list playlists
325
- * /playlists/{playlistId} -> list messages (files)
326
- */
303
+ /** Browses SignPresenter playlists → messages (files). */
327
304
  declare class SignPresenterProvider extends BaseProvider {
328
305
  private readonly oauthHelper;
329
306
  private readonly deviceFlowHelper;
@@ -351,18 +328,9 @@ declare class SignPresenterProvider extends BaseProvider {
351
328
  }
352
329
 
353
330
  /**
354
- * LessonsChurch Provider
355
- *
356
- * Path structure:
357
- * /lessons -> programs
358
- * /lessons/{programId} -> studies
359
- * /lessons/{programId}/{studyId} -> lessons
360
- * /lessons/{programId}/{studyId}/{lessonId} -> venues
361
- * /lessons/{programId}/{studyId}/{lessonId}/{venueId} -> playlist files
362
- *
363
- * /addons -> categories
364
- * /addons/{category} -> individual add-ons
365
- * /addons/{category}/{addOnId} -> single add-on file
331
+ * Path: /lessons → programs, /lessons/{id} → studies, /lessons/{id}/{id} → lessons,
332
+ * /lessons/{id}/{id}/{id} → venues, /lessons/{id}/{id}/{id}/{id} → files;
333
+ * /addons → categories, /addons/{cat} → items, /addons/{cat}/{id} → file.
366
334
  */
367
335
  declare class LessonsChurchProvider extends BaseProvider {
368
336
  readonly id = "lessonschurch";
@@ -436,7 +404,6 @@ declare class DropboxProvider extends BaseProvider {
436
404
  private resolveFileLinks;
437
405
  private checkIsLeaf;
438
406
  browse(path?: string | null, auth?: ContentProviderAuthData | null): Promise<ContentItem[]>;
439
- /** Resolve a folder path to playable files (list + media filter + link resolution). */
440
407
  private resolveMediaFiles;
441
408
  getPlaylist(path: string, auth?: ContentProviderAuthData | null, _resolution?: number): Promise<ContentFile[] | null>;
442
409
  getInstructions(path: string, auth?: ContentProviderAuthData | null): Promise<Instructions | null>;
@@ -450,14 +417,7 @@ declare class DropboxProvider extends BaseProvider {
450
417
  exchangeCodeForTokens(code: string, codeVerifier: string, redirectUri: string): Promise<ContentProviderAuthData | null>;
451
418
  }
452
419
 
453
- /**
454
- * PlanningCenter Provider
455
- *
456
- * Path structure:
457
- * /serviceTypes -> list service types
458
- * /serviceTypes/{serviceTypeId} -> list plans
459
- * /serviceTypes/{serviceTypeId}/{planId} -> plan items (leaf)
460
- */
420
+ /** Browses Planning Center service types → plans → items. */
461
421
  declare class PlanningCenterProvider extends BaseProvider {
462
422
  readonly id = "planningcenter";
463
423
  readonly name = "Planning Center";
@@ -472,14 +432,7 @@ declare class PlanningCenterProvider extends BaseProvider {
472
432
  private getPlanItems;
473
433
  }
474
434
 
475
- /**
476
- * BibleProject Provider
477
- *
478
- * Path structure:
479
- * / -> list collections
480
- * /{collectionSlug} -> list videos in collection
481
- * /{collectionSlug}/{videoId} -> single video
482
- */
435
+ /** BibleProject Provider: Bible education video content. */
483
436
  declare class BibleProjectProvider extends BaseProvider {
484
437
  readonly id = "bibleproject";
485
438
  readonly name = "The Bible Project";
@@ -499,13 +452,8 @@ declare class BibleProjectProvider extends BaseProvider {
499
452
  }
500
453
 
501
454
  /**
502
- * HighVoltageKids Provider
503
- *
504
- * Path structure:
505
- * / -> list collections (Elementary, Preschool)
506
- * /{collectionSlug} -> list studies
507
- * /{collectionSlug}/{studyId} -> list lessons
508
- * /{collectionSlug}/{studyId}/{lessonId} -> lesson files (leaf)
455
+ * Path structure: / → collections, /{collection} → studies, /{collection}/{study} → lessons,
456
+ * /{collection}/{study}/{lesson} → files (leaf).
509
457
  */
510
458
  declare class HighVoltageKidsProvider extends BaseProvider {
511
459
  readonly id = "highvoltagekids";
@@ -522,15 +470,8 @@ declare class HighVoltageKidsProvider extends BaseProvider {
522
470
  }
523
471
 
524
472
  /**
525
- * Jesus Film Project Provider
526
- *
527
- * Uses the public Arclight API to browse video content from jesusfilm.org.
528
- *
529
- * Path structure:
530
- * / -> categories (Feature Films, Series, Collections)
531
- * /{category} -> list items in category
532
- * /{category}/{id} -> single video (feature film) or container children (series/collection)
533
- * /{category}/{...containerIds}/{id} -> nested containers or single video (supports arbitrary depth)
473
+ * Path: / → categories, /{category} → items, /{category}/{id} → video or children,
474
+ * /{category}/{...ids}/{id} → nested containers or video.
534
475
  */
535
476
  declare class JesusFilmProvider extends BaseProvider {
536
477
  readonly id = "jesusfilm";
@@ -556,17 +497,7 @@ declare class JesusFilmProvider extends BaseProvider {
556
497
  getInstructions(path: string, _auth?: ContentProviderAuthData | null): Promise<Instructions | null>;
557
498
  }
558
499
 
559
- /**
560
- * CBN Provider
561
- *
562
- * Faith-based kids' video curriculum. Auth uses OAuth 2.0 Device Flow.
563
- *
564
- * Path structure:
565
- * / -> single "Catalog" root folder
566
- * /catalog -> course folders (GET /catalog)
567
- * /catalog/{courseId} -> lesson folders (GET /catalog/{courseId})
568
- * /catalog/{courseId}/{lessonId} -> video files (GET /lesson-playlist/{lessonId})
569
- */
500
+ /** Faith-based kids' video curriculum with OAuth 2.0 Device Flow auth. */
570
501
  declare class CbnProvider extends BaseProvider {
571
502
  private readonly deviceFlowHelper;
572
503
  readonly id = "cbn";
@@ -585,26 +516,7 @@ declare class CbnProvider extends BaseProvider {
585
516
  pollDeviceFlowToken(deviceCode: string): Promise<DeviceFlowPollResult>;
586
517
  }
587
518
 
588
- /**
589
- * Life.Church Provider
590
- *
591
- * Browses the Life.Church kids curriculum from a static catalog generated by
592
- * scripts/scrape-lifechurch.ts (sourced from life.church/media/* + the
593
- * open.life.church weekly calendar).
594
- *
595
- * Path structure:
596
- * / -> "scheduled" folder + 4 series
597
- * /scheduled -> this Sunday's scheduled lessons (one per age group)
598
- * /scheduled/{scheduledId} -> single video file (leaf)
599
- * /{seriesId} -> units within the series
600
- * /{seriesId}/{unitId} -> lessons within the unit
601
- * /{seriesId}/{unitId}/{lessonId} -> single video file (leaf)
602
- *
603
- * Video delivery: ContentFile.url is a direct mp4 on Life.Church's CDN
604
- * (https://d.life.church/.../{slug}_720p.mp4). Public, no auth, supports
605
- * range requests — plays in any standard mp4 player including
606
- * react-native-video.
607
- */
519
+ /** Browses Life.Church's kids curriculum from a static catalog (series → units → lessons), plus a weekly scheduled lesson index. */
608
520
  declare class LifeChurchProvider extends BaseProvider {
609
521
  readonly id = "lifechurch";
610
522
  readonly name = "Life.Church";
@@ -638,11 +550,7 @@ declare function registerProvider(provider: IProvider): void;
638
550
  * Get provider configuration by ID (for backward compatibility).
639
551
  */
640
552
  declare function getProviderConfig(providerId: string): ContentProviderConfig | null;
641
- /**
642
- * Get list of available providers with their info including logos and auth types.
643
- * Includes both implemented providers and coming soon providers.
644
- * @param ids - Optional array of provider IDs to filter the results. If provided, only providers with matching IDs will be returned.
645
- */
553
+ /** Get available providers (implemented and coming soon), optionally filtered by IDs. */
646
554
  declare function getAvailableProviders(ids?: string[]): ProviderInfo[];
647
555
 
648
556
  /**
package/dist/index.js CHANGED
@@ -546,7 +546,6 @@ var SignPresenterProvider = class extends BaseProvider {
546
546
  const instructions = filesToInstructions(title, files, { id: playlistId + "-section", label: title });
547
547
  return { name: title, items: [{ id: playlistId + "-header", itemType: "header", label: title, children: instructions.items }] };
548
548
  }
549
- // Auth methods
550
549
  generateCodeVerifier() {
551
550
  return this.oauthHelper.generateCodeVerifier();
552
551
  }
@@ -1663,7 +1662,6 @@ var DropboxProvider = class extends BaseProvider {
1663
1662
  mediaLicensing: false
1664
1663
  };
1665
1664
  }
1666
- // -- Pagination helper --
1667
1665
  dropboxPost(endpoint, body, auth) {
1668
1666
  if (!auth) {
1669
1667
  console.error("[Dropbox] No auth token provided");
@@ -1697,7 +1695,6 @@ var DropboxProvider = class extends BaseProvider {
1697
1695
  }
1698
1696
  return allEntries;
1699
1697
  }
1700
- // -- File link helpers --
1701
1698
  async getSharedLink(filePath, auth) {
1702
1699
  if (!auth) return null;
1703
1700
  try {
@@ -1753,7 +1750,6 @@ var DropboxProvider = class extends BaseProvider {
1753
1750
  );
1754
1751
  return results.filter((r) => r.viewUrl || r.downloadUrl).map((r) => fileEntryToContentFile(r.entry, r.viewUrl || r.downloadUrl, r.downloadUrl));
1755
1752
  }
1756
- // -- Leaf detection --
1757
1753
  async checkIsLeaf(folderPath, auth) {
1758
1754
  const response = await this.dropboxPost(
1759
1755
  "/2/files/list_folder",
@@ -1763,7 +1759,6 @@ var DropboxProvider = class extends BaseProvider {
1763
1759
  if (!response) return false;
1764
1760
  return !response.entries.some((e) => e[".tag"] === "folder");
1765
1761
  }
1766
- // -- IProvider methods --
1767
1762
  async browse(path, auth) {
1768
1763
  const dropboxPath = path && path !== "/" ? path.startsWith("/") ? path : "/" + path : "";
1769
1764
  const allEntries = await this.listAllEntries(dropboxPath, auth);
@@ -1775,7 +1770,6 @@ var DropboxProvider = class extends BaseProvider {
1775
1770
  const fileItems = await this.resolveFileLinks(mediaFiles, auth);
1776
1771
  return [...folderItems, ...fileItems];
1777
1772
  }
1778
- /** Resolve a folder path to playable files (list + media filter + link resolution). */
1779
1773
  async resolveMediaFiles(path, auth) {
1780
1774
  if (!path || path === "/") return null;
1781
1775
  const dropboxPath = path.startsWith("/") ? path : "/" + path;
@@ -1797,7 +1791,6 @@ var DropboxProvider = class extends BaseProvider {
1797
1791
  const folderName = segments[segments.length - 1] || "Dropbox";
1798
1792
  return filesToInstructions(folderName, resolved.files, { id: "dropbox-section", label: folderName });
1799
1793
  }
1800
- // -- Auth methods --
1801
1794
  generateCodeVerifier() {
1802
1795
  return this.oauthHelper.generateCodeVerifier();
1803
1796
  }
@@ -16317,7 +16310,7 @@ function getAvailableProviders(ids) {
16317
16310
  }
16318
16311
 
16319
16312
  // src/index.ts
16320
- var VERSION = true ? "0.5.0" : "dev";
16313
+ var VERSION = true ? "0.5.1" : "dev";
16321
16314
  export {
16322
16315
  APlayProvider,
16323
16316
  B1ChurchProvider,