audible-api-ts 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/types.d.ts CHANGED
@@ -16,10 +16,58 @@ export type AudibleCredentials = {
16
16
  locale: AudibleLocale;
17
17
  expiresAt: Date;
18
18
  };
19
- /** An audiobook item from Audible's catalog */
19
+ /** Rating distribution for a single dimension (overall, performance, or story) */
20
+ export type RatingDistribution = {
21
+ averageRating: number;
22
+ displayAverageRating: string;
23
+ displayStars: number;
24
+ numRatings: number;
25
+ numFiveStarRatings: number;
26
+ numFourStarRatings: number;
27
+ numThreeStarRatings: number;
28
+ numTwoStarRatings: number;
29
+ numOneStarRatings: number;
30
+ };
31
+ /** Full rating data for an audiobook */
32
+ export type AudibleRating = {
33
+ numReviews: number;
34
+ overallDistribution?: RatingDistribution;
35
+ performanceDistribution?: RatingDistribution;
36
+ storyDistribution?: RatingDistribution;
37
+ };
38
+ /** A category in the Audible taxonomy */
39
+ export type AudibleCategory = {
40
+ id: string;
41
+ name: string;
42
+ };
43
+ /** A category path from root to leaf */
44
+ export type CategoryLadder = {
45
+ root: string;
46
+ categories: AudibleCategory[];
47
+ };
48
+ /** A relationship to another Audible product */
49
+ export type AudibleRelationship = {
50
+ asin: string;
51
+ relationshipToProduct: string;
52
+ relationshipType: string;
53
+ title?: string;
54
+ sort?: string;
55
+ url?: string;
56
+ };
57
+ /** Listening progress for a library item */
58
+ export type ListeningStatus = {
59
+ finishedAt?: Date;
60
+ isFinished?: boolean;
61
+ percentComplete?: number;
62
+ timeRemainingSeconds?: number;
63
+ };
64
+ /** An audiobook item from Audible */
20
65
  export type AudibleItem = {
21
66
  asin: string;
22
67
  title: string;
68
+ subtitle?: string;
69
+ isbn?: string;
70
+ sku?: string;
23
71
  authors: string[];
24
72
  narrators: string[];
25
73
  durationMinutes: number;
@@ -27,11 +75,38 @@ export type AudibleItem = {
27
75
  language?: string;
28
76
  releaseDate?: Date;
29
77
  coverUrl?: string;
78
+ summary?: string;
79
+ description?: string;
80
+ merchandisingSummary?: string;
81
+ copyright?: string;
82
+ formatType?: string;
83
+ contentType?: string;
84
+ contentDeliveryType?: string;
85
+ programParticipation?: string;
30
86
  series?: {
31
87
  name: string;
32
88
  position?: number;
33
89
  };
34
- finishedAt?: Date;
90
+ categories: CategoryLadder[];
91
+ keywords: string[];
92
+ rating?: AudibleRating;
93
+ listeningStatus?: ListeningStatus;
94
+ purchaseDate?: Date;
95
+ dateAdded?: Date;
96
+ relationships: AudibleRelationship[];
97
+ isAdultProduct: boolean;
98
+ productImages: Record<string, string>;
99
+ socialMediaImages: Record<string, string>;
100
+ };
101
+ /** Options for searching the Audible catalog */
102
+ export type CatalogOptions = {
103
+ category?: import('./categories.js').AudibleGenre;
104
+ categoryId?: string;
105
+ sortBy?: 'MostVoted' | 'BestSellers' | 'AvgRating' | 'Relevance' | 'ReleaseDate' | '-ReleaseDate' | 'Title';
106
+ limit?: number | 'all';
107
+ keywords?: string;
108
+ author?: string;
109
+ narrator?: string;
35
110
  };
36
111
  /** PKCE auth session — returned by generateLoginUrl, passed back to registerDevice */
37
112
  export type AuthSession = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,MAAM,aAAa,GACrB,IAAI,GACJ,KAAK,GACL,OAAO,GACP,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,QAAQ,GACR,IAAI,GACJ,OAAO,CAAA;AAEX,mDAAmD;AACnD,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,qDAAqD;AACrD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,aAAa,CAAA;IACrB,SAAS,EAAE,IAAI,CAAA;CAChB,CAAA;AAED,+CAA+C;AAC/C,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,UAAU,CAAC,EAAE,IAAI,CAAA;CAClB,CAAA;AAED,sFAAsF;AACtF,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,aAAa,CAAA;IACrB,SAAS,EAAE,IAAI,CAAA;CAChB,CAAA;AAED,uEAAuE;AACvE,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=utils.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.unit.test.d.ts","sourceRoot":"","sources":["../src/utils.unit.test.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "audible-api-ts",
3
- "version": "0.1.0",
4
- "description": "A fully typed TypeScript client for the Audible API — authentication, library, and wishlist",
3
+ "version": "0.2.0",
4
+ "description": "A fully typed TypeScript client for the Audible API — authentication, library, wishlist, and catalog search",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -17,6 +17,8 @@
17
17
  "build:js": "bun build ./src/index.ts --outdir ./dist --target node --format esm --splitting",
18
18
  "build:types": "tsc -p tsconfig.build.json",
19
19
  "test": "bun test",
20
+ "test:unit": "bun test unit",
21
+ "test:int": "bun test int",
20
22
  "lint": "bunx biome check",
21
23
  "lint:fix": "bunx biome check --write",
22
24
  "docs:dev": "cd docs && bun run dev",
@@ -48,11 +50,13 @@
48
50
  "node": ">=18.0.0"
49
51
  },
50
52
  "dependencies": {
53
+ "lodash-es": "^4.17.23",
51
54
  "zod": "^3.24.0"
52
55
  },
53
56
  "devDependencies": {
54
57
  "@biomejs/biome": "^1.9.0",
55
58
  "@types/bun": "^1.2.0",
59
+ "@types/lodash-es": "^4.17.12",
56
60
  "typescript": "^5.7.0"
57
61
  }
58
62
  }