psn-mcp 0.4.1 → 0.5.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/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  **A [Model Context Protocol](https://modelcontextprotocol.io) server for the PlayStation Network**
6
6
 
7
7
  Let MCP clients like Claude look up PSN profiles, friends, online presence,
8
- trophies, play history, and store deals — in plain language.
8
+ trophies, purchased games, play history, and store deals — in plain language.
9
9
 
10
10
  <br />
11
11
 
@@ -21,8 +21,7 @@ trophies, play history, and store deals — in plain language.
21
21
 
22
22
  The PSN API layer is written from scratch in TypeScript on Node's built-in
23
23
  `fetch` — no PSN client dependencies. It authenticates the same way the official
24
- PlayStation mobile app does and talks directly to Sony's `m.np.playstation.com`
25
- API.
24
+ PlayStation mobile app does and talks directly to Sony's mobile and web APIs.
26
25
 
27
26
  ## ✨ Highlights
28
27
 
@@ -30,6 +29,7 @@ API.
30
29
  - 🟢 **Live presence** — see who's online, on which platform, and what they're playing
31
30
  - 🏆 **Trophies** — levels, tiers, per-game progress, earned state, and global rarity
32
31
  - ⏱️ **Play history** — PS4/PS5 games with play counts and total durations
32
+ - 🎮 **Purchased library** — digital PS4/PS5 games, including unplayed titles, with artwork and license metadata
33
33
  - 🛒 **Store** — deals, prices, discounts, and review scores, **no PSN account required**
34
34
  - 🔒 **Zero client deps** — pure TypeScript on Node `fetch`, credentials stored owner-only
35
35
 
@@ -110,6 +110,7 @@ tools start failing with an auth error, run the login flow again.
110
110
  | `psn_get_title_trophies` | Full trophy list defined for a game (names, types, groups) |
111
111
  | `psn_get_earned_trophies` | Which trophies a user earned in a game, with timestamps and rarity |
112
112
  | `psn_get_played_games` | Played PS4/PS5 games with play counts and durations |
113
+ | `psn_get_purchased_games` | Your digital PS4/PS5 library with artwork and entitlement metadata |
113
114
  | `psn_get_store_deals` | Games on sale, with prices, discounts, and (optional) star ratings |
114
115
  | `psn_get_store_product` | Store product details: price, discount, and community star rating |
115
116
  | `psn_search_store` | Search the store catalog by name, with current prices |
@@ -117,6 +118,30 @@ tools start failing with an auth error, run the login flow again.
117
118
  Every user-scoped tool accepts `"me"` (the authenticated account), a PSN online
118
119
  id (username), or a numeric account id — online ids are resolved automatically.
119
120
 
121
+ `psn_get_purchased_games` accesses only the authenticated account and has no
122
+ `user` parameter. It returns digital library entitlements, including unplayed
123
+ games and potentially free or PS Plus titles, rather than a payment history or
124
+ physical-disc collection. Metadata includes names, platforms, artwork, product,
125
+ title and entitlement ids, and available active/downloadable/pre-order flags
126
+ and membership information. It does not report purchase prices or dates.
127
+
128
+ Purchased games default to active PS4/PS5 licenses, ordered by activation date
129
+ (newest first). Use `platform: ["ps5"]` to filter platforms, `isActive: false`
130
+ for inactive licenses, or `membership: "NONE"` / `"PS_PLUS"` to filter membership.
131
+ Omit `membership` to include both. Use `sortDirection: "asc"` for oldest first.
132
+ Pages accept `limit` (1–100, default 50) and `offset` (default 0). Pass the
133
+ returned `nextOffset` as `offset` until it is absent. When Sony omits its
134
+ `pageInfo`, a full final page can be followed by an empty page; total counts
135
+ are only returned when Sony supplies them.
136
+
137
+ Play time is included by default: `playDuration` (an ISO 8601 duration such as
138
+ `PT12H30M`), `playCount`, `firstPlayedDateTime`, and `lastPlayedDateTime` where
139
+ PSN provides them. This may require several play-history requests per
140
+ purchased-library page; set `includePlayTime: false` to skip them. Games are
141
+ matched by exact title ID, keeping PS4/PS5 versions separate. Missing fields mean no matching
142
+ data was available, not zero time played. If the lookup fails, the library
143
+ still returns with a `playTimeError` explaining why play time is unavailable.
144
+
120
145
  For PS5 titles pass `npServiceName: "trophy2"`; for PS4 and earlier use
121
146
  `"trophy"`. `psn_get_trophy_titles` reports the right value per game.
122
147
 
@@ -162,6 +187,19 @@ list the unearned ones, rarest first.
162
187
 
163
188
  Calls `psn_get_played_games` and ranks by total play duration.
164
189
 
190
+ #### 🎮 Purchased games
191
+
192
+ > _"List the PS5 games in my digital library, including games I haven't played."_
193
+
194
+ Calls `psn_get_purchased_games` with `platform: ["ps5"]`, following `nextOffset`
195
+ to retrieve more pages. Each entry includes its available game and license
196
+ metadata. Use its `productId` with `psn_get_store_product` for current store
197
+ prices and ratings (these are not the original purchase price).
198
+
199
+ > _"List my purchased games with the time I've spent playing each one."_
200
+
201
+ Calls `psn_get_purchased_games`, which includes play time by default.
202
+
165
203
  #### 🛒 Store (no PSN account needed)
166
204
 
167
205
  > _"Give me the top 10 games currently on sale based on review score."_
@@ -183,8 +221,8 @@ src/
183
221
  tools.ts MCP tool definitions (zod schemas -> PSN API calls)
184
222
  psn/
185
223
  auth.ts NPSSO -> OAuth code -> access token exchange, auto-refresh
186
- http.ts Authenticated JSON client for m.np.playstation.com
187
- api.ts Typed endpoint wrappers (profiles, trophies, games, search)
224
+ http.ts Authenticated JSON client for Sony's mobile and web APIs
225
+ api.ts Typed endpoint wrappers (profiles, trophies, game libraries, search)
188
226
  store.ts Public store catalog: deals, search, prices, star ratings
189
227
  types.ts PSN API response types
190
228
  ```
@@ -195,6 +233,10 @@ the Apollo state and star-rating payloads that the store server-renders into
195
233
  every page's `__NEXT_DATA__` blob. This needs no authentication but is
196
234
  inherently coupled to the store's page structure.
197
235
 
236
+ The purchased library uses the authenticated web GraphQL API's persisted
237
+ `getPurchasedGameList` query. Like the other undocumented endpoints, its query
238
+ hash and response shape may change; GraphQL failures are returned as tool errors.
239
+
198
240
  Authentication is lazy: the server starts and lists tools without credentials;
199
241
  the token exchange happens on the first tool call. Access tokens are refreshed
200
242
  ahead of expiry, falling back to a full NPSSO re-exchange if the refresh token
package/dist/psn/api.d.ts CHANGED
@@ -1,8 +1,17 @@
1
1
  import { PsnHttpClient } from "./http.js";
2
- import type { BasicPresence, FriendsResponse, PlayedGamesResponse, TrophiesResponse, TrophySummary, TrophyTitlesResponse, UniversalSearchResponse, UserProfile } from "./types.js";
2
+ import type { BasicPresence, FriendsResponse, PlayedGamesResponse, PurchasedGamesResponse, TrophiesResponse, TrophySummary, TrophyTitlesResponse, UniversalSearchResponse, UserProfile } from "./types.js";
3
3
  export type NpServiceName = "trophy" | "trophy2";
4
+ export interface PurchasedGamesOptions {
5
+ limit?: number;
6
+ offset?: number;
7
+ platform?: Array<"ps4" | "ps5">;
8
+ isActive?: boolean;
9
+ membership?: "NONE" | "PS_PLUS";
10
+ sortDirection?: "asc" | "desc";
11
+ includePlayTime?: boolean;
12
+ }
4
13
  /**
5
- * Typed wrappers around the PSN mobile API endpoints.
14
+ * Typed wrappers around the PSN mobile and web API endpoints.
6
15
  *
7
16
  * User-scoped endpoints accept the literal string "me" (the authenticated
8
17
  * account) or a numeric account id. Use {@link resolveAccountId} to turn an
@@ -32,6 +41,10 @@ export declare class PsnApi {
32
41
  getTitleTrophies(npCommunicationId: string, npServiceName: NpServiceName, trophyGroupId?: string, limit?: number, offset?: number): Promise<TrophiesResponse>;
33
42
  /** A user's earned/unearned status for each trophy in a title. */
34
43
  getEarnedTrophies(accountId: string, npCommunicationId: string, npServiceName: NpServiceName, trophyGroupId?: string, limit?: number, offset?: number): Promise<TrophiesResponse>;
44
+ /** Digital purchases for the authenticated account, including unplayed games. */
45
+ getPurchasedGames(options?: PurchasedGamesOptions): Promise<PurchasedGamesResponse>;
46
+ /** Scan play history until every purchased title is matched or history ends. */
47
+ private addPlayTime;
35
48
  getPlayedGames(accountId: string, limit?: number, offset?: number): Promise<PlayedGamesResponse>;
36
49
  }
37
50
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/psn/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,uBAAuB,EACvB,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjD;;;;;;GAMG;AACH,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,aAAa,EAAI;IAIpD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAIlD;IAED,aAAa,CACX,UAAU,EAAE,MAAM,EAClB,KAAK,SAAK,GACT,OAAO,CAAC,uBAAuB,CAAC,CAgBlC;IAED;;;;OAIG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBpD;IAED,UAAU,CACR,SAAS,EAAE,MAAM,EACjB,KAAK,SAAM,EACX,MAAM,SAAI,GACT,OAAO,CAAC,eAAe,CAAC,CAK1B;IAED,gBAAgB,CACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,aAAa,EAAE,aAAa,CAAA;KAAE,CAAC,CAK3C;IAED,iBAAiB,CACf,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC;QAAE,cAAc,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC,CAK9C;IAID,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAI1D;IAED,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,KAAK,SAAM,EACX,MAAM,SAAI,GACT,OAAO,CAAC,oBAAoB,CAAC,CAK/B;IAED,mEAAmE;IACnE,gBAAgB,CACd,iBAAiB,EAAE,MAAM,EACzB,aAAa,EAAE,aAAa,EAC5B,aAAa,SAAQ,EACrB,KAAK,SAAM,EACX,MAAM,SAAI,GACT,OAAO,CAAC,gBAAgB,CAAC,CAM3B;IAED,kEAAkE;IAClE,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EACzB,aAAa,EAAE,aAAa,EAC5B,aAAa,SAAQ,EACrB,KAAK,SAAM,EACX,MAAM,SAAI,GACT,OAAO,CAAC,gBAAgB,CAAC,CAO3B;IAID,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,KAAK,SAAK,EACV,MAAM,SAAI,GACT,OAAO,CAAC,mBAAmB,CAAC,CAW9B;CACF"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/psn/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAEf,mBAAmB,EAGnB,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,uBAAuB,EACvB,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjD,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAiBD;;;;;;GAMG;AACH,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,aAAa,EAAI;IAIpD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAIlD;IAED,aAAa,CACX,UAAU,EAAE,MAAM,EAClB,KAAK,SAAK,GACT,OAAO,CAAC,uBAAuB,CAAC,CAgBlC;IAED;;;;OAIG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBpD;IAED,UAAU,CACR,SAAS,EAAE,MAAM,EACjB,KAAK,SAAM,EACX,MAAM,SAAI,GACT,OAAO,CAAC,eAAe,CAAC,CAK1B;IAED,gBAAgB,CACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,aAAa,EAAE,aAAa,CAAA;KAAE,CAAC,CAK3C;IAED,iBAAiB,CACf,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC;QAAE,cAAc,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC,CAK9C;IAID,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAI1D;IAED,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,KAAK,SAAM,EACX,MAAM,SAAI,GACT,OAAO,CAAC,oBAAoB,CAAC,CAK/B;IAED,mEAAmE;IACnE,gBAAgB,CACd,iBAAiB,EAAE,MAAM,EACzB,aAAa,EAAE,aAAa,EAC5B,aAAa,SAAQ,EACrB,KAAK,SAAM,EACX,MAAM,SAAI,GACT,OAAO,CAAC,gBAAgB,CAAC,CAM3B;IAED,kEAAkE;IAClE,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EACzB,aAAa,EAAE,aAAa,EAC5B,aAAa,SAAQ,EACrB,KAAK,SAAM,EACX,MAAM,SAAI,GACT,OAAO,CAAC,gBAAgB,CAAC,CAO3B;IAID,iFAAiF;IAC3E,iBAAiB,CACrB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,sBAAsB,CAAC,CAyEjC;IAED,gFAAgF;YAClE,WAAW;IAuCzB,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,KAAK,SAAK,EACV,MAAM,SAAI,GACT,OAAO,CAAC,mBAAmB,CAAC,CAW9B;CACF"}
package/dist/psn/api.js CHANGED
@@ -1,5 +1,8 @@
1
+ // Sony's library accepts persisted queries only. Reference:
2
+ // https://github.com/achievements-app/psn-api/blob/main/src/graphql/operationHashes.ts
3
+ const PURCHASED_GAMES_QUERY_HASH = "827a423f6a8ddca4107ac01395af2ec0eafd8396fc7fa204aaf9b7ed2eefa168";
1
4
  /**
2
- * Typed wrappers around the PSN mobile API endpoints.
5
+ * Typed wrappers around the PSN mobile and web API endpoints.
3
6
  *
4
7
  * User-scoped endpoints accept the literal string "me" (the authenticated
5
8
  * account) or a numeric account id. Use {@link resolveAccountId} to turn an
@@ -74,6 +77,107 @@ export class PsnApi {
74
77
  `/trophyGroups/${encodeURIComponent(trophyGroupId)}/trophies`, { query: { npServiceName, limit, offset } });
75
78
  }
76
79
  // ---- Game library ------------------------------------------------------
80
+ /** Digital purchases for the authenticated account, including unplayed games. */
81
+ async getPurchasedGames(options = {}) {
82
+ const { limit = 50, offset = 0, platform = ["ps4", "ps5"], isActive = true, membership, sortDirection = "desc", includePlayTime = true, } = options;
83
+ const response = await this.http.request("/graphql/v1/op", {
84
+ api: "web",
85
+ query: {
86
+ operationName: "getPurchasedGameList",
87
+ variables: JSON.stringify({
88
+ isActive,
89
+ platform,
90
+ size: limit,
91
+ start: offset,
92
+ sortBy: "ACTIVE_DATE",
93
+ sortDirection,
94
+ membership,
95
+ }),
96
+ extensions: JSON.stringify({
97
+ persistedQuery: {
98
+ version: 1,
99
+ sha256Hash: PURCHASED_GAMES_QUERY_HASH,
100
+ },
101
+ }),
102
+ },
103
+ });
104
+ // GraphQL can report failures (including expired query hashes) with HTTP 200.
105
+ if (response?.errors?.length) {
106
+ const details = response.errors
107
+ .map((error) => error.message)
108
+ .filter(Boolean)
109
+ .join("; ");
110
+ throw new Error(`PSN purchased games query failed: ${details || "Unknown GraphQL error"}`);
111
+ }
112
+ const library = response?.data?.purchasedTitlesRetrieve;
113
+ if (!library || !Array.isArray(library.games)) {
114
+ throw new Error("PSN purchased games query returned no valid game list.");
115
+ }
116
+ const { games } = library;
117
+ const pageInfo = library.pageInfo ?? undefined;
118
+ const hasMore = pageInfo ? !pageInfo.isLast : games.length === limit;
119
+ const nextOffset = pageInfo
120
+ ? pageInfo.offset + pageInfo.size
121
+ : offset + games.length;
122
+ const result = {
123
+ games,
124
+ ...(pageInfo ? { pageInfo, totalItemCount: pageInfo.totalCount } : {}),
125
+ ...(hasMore && games.length > 0 && nextOffset > offset
126
+ ? { nextOffset }
127
+ : {}),
128
+ };
129
+ if (includePlayTime && games.length > 0) {
130
+ try {
131
+ result.games = await this.addPlayTime(games);
132
+ }
133
+ catch (error) {
134
+ result.playTimeError =
135
+ "Play time unavailable: " +
136
+ (error instanceof Error ? error.message : String(error));
137
+ }
138
+ }
139
+ return result;
140
+ }
141
+ /** Scan play history until every purchased title is matched or history ends. */
142
+ async addPlayTime(games) {
143
+ const remaining = new Set(games.map((game) => game.titleId));
144
+ const matches = new Map();
145
+ let offset = 0;
146
+ while (remaining.size > 0) {
147
+ const page = await this.getPlayedGames("me", 200, offset);
148
+ if (!Array.isArray(page?.titles) ||
149
+ !Number.isInteger(page.totalItemCount) ||
150
+ page.totalItemCount < 0) {
151
+ throw new Error("PSN play history returned no valid game list.");
152
+ }
153
+ for (const title of page.titles) {
154
+ // Exact IDs keep different platforms and editions separate.
155
+ if (remaining.delete(title.titleId))
156
+ matches.set(title.titleId, title);
157
+ }
158
+ if (remaining.size === 0 || page.titles.length === 0)
159
+ break;
160
+ const nextOffset = page.nextOffset ?? offset + page.titles.length;
161
+ if (nextOffset >= page.totalItemCount)
162
+ break;
163
+ if (!Number.isInteger(nextOffset) || nextOffset <= offset) {
164
+ throw new Error("PSN play history returned invalid pagination.");
165
+ }
166
+ offset = nextOffset;
167
+ }
168
+ return games.map((game) => {
169
+ const played = matches.get(game.titleId);
170
+ if (!played)
171
+ return game;
172
+ return {
173
+ ...game,
174
+ playDuration: played.playDuration,
175
+ playCount: played.playCount,
176
+ firstPlayedDateTime: played.firstPlayedDateTime,
177
+ lastPlayedDateTime: played.lastPlayedDateTime,
178
+ };
179
+ });
180
+ }
77
181
  getPlayedGames(accountId, limit = 50, offset = 0) {
78
182
  return this.http.request(`/gamelist/v2/users/${encodeURIComponent(accountId)}/titles`, {
79
183
  query: {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/psn/api.ts"],"names":[],"mappings":"AAcA;;;;;;GAMG;AACH,MAAM,OAAO,MAAM;IACY,IAAI;IAAjC,YAA6B,IAAmB;oBAAnB,IAAI;IAAkB,CAAC;IAEpD,2EAA2E;IAE3E,UAAU,CAAC,SAAiB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,kCAAkC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAC3E,CAAC;IACJ,CAAC;IAED,aAAa,CACX,UAAkB,EAClB,KAAK,GAAG,EAAE;QAEV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,4BAA4B,EAC5B;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,UAAU;gBACV,cAAc,EAAE;oBACd;wBACE,MAAM,EAAE,mBAAmB;wBAC3B,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;qBAC5C;iBACF;aACF;SACF,CACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QAE9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CACtE,CAAC;QACF,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,qCAAqC,OAAO,KAAK;gBAC/C,qDAAqD,CACxD,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC;IACxC,CAAC;IAED,UAAU,CACR,SAAiB,EACjB,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,CAAC;QAEV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,kCAAkC,kBAAkB,CAAC,SAAS,CAAC,UAAU,EACzE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAC7B,CAAC;IACJ,CAAC;IAED,gBAAgB,CACd,SAAiB;QAEjB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,kCAAkC,kBAAkB,CAAC,SAAS,CAAC,iBAAiB,EAChF,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAC/B,CAAC;IACJ,CAAC;IAED,iBAAiB,CACf,UAAoB;QAEpB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,+CAA+C,EAC/C,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CACjE,CAAC;IACJ,CAAC;IAED,2EAA2E;IAE3E,gBAAgB,CAAC,SAAiB;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,oBAAoB,kBAAkB,CAAC,SAAS,CAAC,gBAAgB,CAClE,CAAC;IACJ,CAAC;IAED,eAAe,CACb,SAAiB,EACjB,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,CAAC;QAEV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,oBAAoB,kBAAkB,CAAC,SAAS,CAAC,eAAe,EAChE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAC7B,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,gBAAgB,CACd,iBAAyB,EACzB,aAA4B,EAC5B,aAAa,GAAG,KAAK,EACrB,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,CAAC;QAEV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,iCAAiC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE;YACtE,iBAAiB,kBAAkB,CAAC,aAAa,CAAC,WAAW,EAC/D,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAC5C,CAAC;IACJ,CAAC;IAED,kEAAkE;IAClE,iBAAiB,CACf,SAAiB,EACjB,iBAAyB,EACzB,aAA4B,EAC5B,aAAa,GAAG,KAAK,EACrB,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,CAAC;QAEV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,oBAAoB,kBAAkB,CAAC,SAAS,CAAC,EAAE;YACjD,uBAAuB,kBAAkB,CAAC,iBAAiB,CAAC,EAAE;YAC9D,iBAAiB,kBAAkB,CAAC,aAAa,CAAC,WAAW,EAC/D,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAC5C,CAAC;IACJ,CAAC;IAED,2EAA2E;IAE3E,cAAc,CACZ,SAAiB,EACjB,KAAK,GAAG,EAAE,EACV,MAAM,GAAG,CAAC;QAEV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,sBAAsB,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAC5D;YACE,KAAK,EAAE;gBACL,UAAU,EAAE,oCAAoC;gBAChD,KAAK;gBACL,MAAM;aACP;SACF,CACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/psn/api.ts"],"names":[],"mappings":"AA4BA,4DAA4D;AAC5D,uFAAuF;AACvF,MAAM,0BAA0B,GAC9B,kEAAkE,CAAC;AAYrE;;;;;;GAMG;AACH,MAAM,OAAO,MAAM;IACY,IAAI;IAAjC,YAA6B,IAAmB;oBAAnB,IAAI;IAAkB,CAAC;IAEpD,2EAA2E;IAE3E,UAAU,CAAC,SAAiB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,kCAAkC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAC3E,CAAC;IACJ,CAAC;IAED,aAAa,CACX,UAAkB,EAClB,KAAK,GAAG,EAAE;QAEV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,4BAA4B,EAC5B;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,UAAU;gBACV,cAAc,EAAE;oBACd;wBACE,MAAM,EAAE,mBAAmB;wBAC3B,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;qBAC5C;iBACF;aACF;SACF,CACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QAE9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CACtE,CAAC;QACF,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,qCAAqC,OAAO,KAAK;gBAC/C,qDAAqD,CACxD,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC;IACxC,CAAC;IAED,UAAU,CACR,SAAiB,EACjB,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,CAAC;QAEV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,kCAAkC,kBAAkB,CAAC,SAAS,CAAC,UAAU,EACzE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAC7B,CAAC;IACJ,CAAC;IAED,gBAAgB,CACd,SAAiB;QAEjB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,kCAAkC,kBAAkB,CAAC,SAAS,CAAC,iBAAiB,EAChF,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAC/B,CAAC;IACJ,CAAC;IAED,iBAAiB,CACf,UAAoB;QAEpB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,+CAA+C,EAC/C,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CACjE,CAAC;IACJ,CAAC;IAED,2EAA2E;IAE3E,gBAAgB,CAAC,SAAiB;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,oBAAoB,kBAAkB,CAAC,SAAS,CAAC,gBAAgB,CAClE,CAAC;IACJ,CAAC;IAED,eAAe,CACb,SAAiB,EACjB,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,CAAC;QAEV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,oBAAoB,kBAAkB,CAAC,SAAS,CAAC,eAAe,EAChE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAC7B,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,gBAAgB,CACd,iBAAyB,EACzB,aAA4B,EAC5B,aAAa,GAAG,KAAK,EACrB,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,CAAC;QAEV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,iCAAiC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE;YACtE,iBAAiB,kBAAkB,CAAC,aAAa,CAAC,WAAW,EAC/D,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAC5C,CAAC;IACJ,CAAC;IAED,kEAAkE;IAClE,iBAAiB,CACf,SAAiB,EACjB,iBAAyB,EACzB,aAA4B,EAC5B,aAAa,GAAG,KAAK,EACrB,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,CAAC;QAEV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,oBAAoB,kBAAkB,CAAC,SAAS,CAAC,EAAE;YACjD,uBAAuB,kBAAkB,CAAC,iBAAiB,CAAC,EAAE;YAC9D,iBAAiB,kBAAkB,CAAC,aAAa,CAAC,WAAW,EAC/D,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAC5C,CAAC;IACJ,CAAC;IAED,2EAA2E;IAE3E,iFAAiF;IACjF,KAAK,CAAC,iBAAiB,CACrB,OAAO,GAA0B,EAAE;QAEnC,MAAM,EACJ,KAAK,GAAG,EAAE,EACV,MAAM,GAAG,CAAC,EACV,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,EACzB,QAAQ,GAAG,IAAI,EACf,UAAU,EACV,aAAa,GAAG,MAAM,EACtB,eAAe,GAAG,IAAI,GACvB,GAAG,OAAO,CAAC;QACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACtC,gBAAgB,EAChB;YACE,GAAG,EAAE,KAAK;YACV,KAAK,EAAE;gBACL,aAAa,EAAE,sBAAsB;gBACrC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;oBACxB,QAAQ;oBACR,QAAQ;oBACR,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,aAAa;oBACrB,aAAa;oBACb,UAAU;iBACX,CAAC;gBACF,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC;oBACzB,cAAc,EAAE;wBACd,OAAO,EAAE,CAAC;wBACV,UAAU,EAAE,0BAA0B;qBACvC;iBACF,CAAC;aACH;SACF,CACF,CAAC;QAEF,8EAA8E;QAC9E,IAAI,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;iBAC5B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;iBAC7B,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,IAAI,KAAK,CACb,qCAAqC,OAAO,IAAI,uBAAuB,EAAE,CAC1E,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,EAAE,IAAI,EAAE,uBAAuB,CAAC;QACxD,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;QAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC;QACrE,MAAM,UAAU,GAAG,QAAQ;YACzB,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI;YACjC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC1B,MAAM,MAAM,GAA2B;YACrC,KAAK;YACL,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,GAAG,MAAM;gBACpD,CAAC,CAAC,EAAE,UAAU,EAAE;gBAChB,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QACF,IAAI,eAAe,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,aAAa;oBAClB,yBAAyB;wBACzB,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gFAAgF;IACxE,KAAK,CAAC,WAAW,CAAC,KAAsB;QAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;QAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YAC1D,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;gBAC5B,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;gBACtC,IAAI,CAAC,cAAc,GAAG,CAAC,EACvB,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,4DAA4D;gBAC5D,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAE5D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAClE,IAAI,UAAU,IAAI,IAAI,CAAC,cAAc;gBAAE,MAAM;YAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,GAAG,UAAU,CAAC;QACtB,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,OAAO;gBACL,GAAG,IAAI;gBACP,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;gBAC/C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;aAC9C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CACZ,SAAiB,EACjB,KAAK,GAAG,EAAE,EACV,MAAM,GAAG,CAAC;QAEV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,sBAAsB,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAC5D;YACE,KAAK,EAAE;gBACL,UAAU,EAAE,oCAAoC;gBAChD,KAAK;gBACL,MAAM;aACP;SACF,CACF,CAAC;IACJ,CAAC;CACF"}
@@ -1,10 +1,16 @@
1
1
  import type { TokenManager } from "./auth.js";
2
+ declare const API_BASES: {
3
+ mobile: string;
4
+ web: string;
5
+ };
2
6
  export declare class PsnApiError extends Error {
3
7
  readonly status: number;
4
8
  readonly body?: unknown;
5
9
  constructor(message: string, status: number, body?: unknown);
6
10
  }
7
11
  export interface RequestOptions {
12
+ /** Sony API host; account REST endpoints use mobile, library GraphQL uses web. */
13
+ api?: keyof typeof API_BASES;
8
14
  method?: "GET" | "POST";
9
15
  /** Query string parameters; undefined values are dropped. */
10
16
  query?: Record<string, string | number | boolean | undefined>;
@@ -13,10 +19,11 @@ export interface RequestOptions {
13
19
  /** Extra headers merged over the defaults. */
14
20
  headers?: Record<string, string>;
15
21
  }
16
- /** Authenticated JSON client for the m.np.playstation.com API. */
22
+ /** Authenticated JSON client for Sony's mobile and web APIs. */
17
23
  export declare class PsnHttpClient {
18
24
  private readonly tokens;
19
25
  constructor(tokens: TokenManager);
20
26
  request<T>(path: string, options?: RequestOptions): Promise<T>;
21
27
  }
28
+ export {};
22
29
  //# sourceMappingURL=http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/psn/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAI9C,qBAAa,WAAY,SAAQ,KAAK;aAGlB,MAAM,EAAE,MAAM;aACd,IAAI,CAAC,EAAE,OAAO;IAHhC,YACE,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,OAAO,EAI/B;CACF;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IAC9D,mCAAmC;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,kEAAkE;AAClE,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAnC,YAA6B,MAAM,EAAE,YAAY,EAAI;IAE/C,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC,CA0CvE;CACF"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/psn/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,QAAA,MAAM,SAAS;IACb,MAAM;IACN,GAAG;CACJ,CAAC;AAEF,qBAAa,WAAY,SAAQ,KAAK;aAGlB,MAAM,EAAE,MAAM;aACd,IAAI,CAAC,EAAE,OAAO;IAHhC,YACE,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,OAAO,EAI/B;CACF;AAED,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,GAAG,CAAC,EAAE,MAAM,OAAO,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IAC9D,mCAAmC;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,gEAAgE;AAChE,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAnC,YAA6B,MAAM,EAAE,YAAY,EAAI;IAE/C,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC,CA0CvE;CACF"}
package/dist/psn/http.js CHANGED
@@ -1,4 +1,7 @@
1
- const API_BASE = "https://m.np.playstation.com/api";
1
+ const API_BASES = {
2
+ mobile: "https://m.np.playstation.com/api",
3
+ web: "https://web.np.playstation.com/api",
4
+ };
2
5
  export class PsnApiError extends Error {
3
6
  status;
4
7
  body;
@@ -9,7 +12,7 @@ export class PsnApiError extends Error {
9
12
  this.name = "PsnApiError";
10
13
  }
11
14
  }
12
- /** Authenticated JSON client for the m.np.playstation.com API. */
15
+ /** Authenticated JSON client for Sony's mobile and web APIs. */
13
16
  export class PsnHttpClient {
14
17
  tokens;
15
18
  constructor(tokens) {
@@ -17,7 +20,7 @@ export class PsnHttpClient {
17
20
  }
18
21
  async request(path, options = {}) {
19
22
  const accessToken = await this.tokens.getAccessToken();
20
- const url = new URL(`${API_BASE}${path}`);
23
+ const url = new URL(`${API_BASES[options.api ?? "mobile"]}${path}`);
21
24
  for (const [key, value] of Object.entries(options.query ?? {})) {
22
25
  if (value !== undefined)
23
26
  url.searchParams.set(key, String(value));
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/psn/http.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAAG,kCAAkC,CAAC;AAEpD,MAAM,OAAO,WAAY,SAAQ,KAAK;IAGlB,MAAM;IACN,IAAI;IAHtB,YACE,OAAe,EACC,MAAc,EACd,IAAc;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAC;sBAHC,MAAM;oBACN,IAAI;QAGpB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAYD,kEAAkE;AAClE,MAAM,OAAO,aAAa;IACK,MAAM;IAAnC,YAA6B,MAAoB;sBAApB,MAAM;IAAiB,CAAC;IAErD,KAAK,CAAC,OAAO,CAAI,IAAY,EAAE,OAAO,GAAmB,EAAE;QACzD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAEvD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/D,IAAI,KAAK,KAAK,SAAS;gBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;YAC/B,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,WAAW,EAAE;gBACtC,iBAAiB,EAAE,OAAO;gBAC1B,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;oBAC5B,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBACxC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,OAAO,CAAC,OAAO;aACnB;YACD,IAAI,EACF,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SACxE,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,IAAa,CAAC;YAClB,IAAI,OAAO,GAAG,sBAAsB,IAAI,qBAAqB,GAAG,CAAC,MAAM,EAAE,CAAC;YAC1E,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAI,IAAyC,CAAC,KAAK,CAAC;gBAC7D,IAAI,GAAG,EAAE,OAAO;oBAAE,OAAO,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,iDAAiD;YACnD,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,OAAO;oBACL,qFAAqF,CAAC;YAC1F,CAAC;YACD,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;QAED,6CAA6C;QAC7C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAM,CAAC;IAC7C,CAAC;CACF"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/psn/http.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAG;IAChB,MAAM,EAAE,kCAAkC;IAC1C,GAAG,EAAE,oCAAoC;CAC1C,CAAC;AAEF,MAAM,OAAO,WAAY,SAAQ,KAAK;IAGlB,MAAM;IACN,IAAI;IAHtB,YACE,OAAe,EACC,MAAc,EACd,IAAc;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAC;sBAHC,MAAM;oBACN,IAAI;QAGpB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAcD,gEAAgE;AAChE,MAAM,OAAO,aAAa;IACK,MAAM;IAAnC,YAA6B,MAAoB;sBAApB,MAAM;IAAiB,CAAC;IAErD,KAAK,CAAC,OAAO,CAAI,IAAY,EAAE,OAAO,GAAmB,EAAE;QACzD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAEvD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QACpE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/D,IAAI,KAAK,KAAK,SAAS;gBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;YAC/B,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,WAAW,EAAE;gBACtC,iBAAiB,EAAE,OAAO;gBAC1B,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;oBAC5B,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBACxC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,OAAO,CAAC,OAAO;aACnB;YACD,IAAI,EACF,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SACxE,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,IAAa,CAAC;YAClB,IAAI,OAAO,GAAG,sBAAsB,IAAI,qBAAqB,GAAG,CAAC,MAAM,EAAE,CAAC;YAC1E,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAI,IAAyC,CAAC,KAAK,CAAC;gBAC7D,IAAI,GAAG,EAAE,OAAO;oBAAE,OAAO,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,iDAAiD;YACnD,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,OAAO;oBACL,qFAAqF,CAAC;YAC1F,CAAC;YACD,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;QAED,6CAA6C;QAC7C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAM,CAAC;IAC7C,CAAC;CACF"}
@@ -125,4 +125,41 @@ export interface PlayedGamesResponse {
125
125
  totalItemCount: number;
126
126
  nextOffset?: number;
127
127
  }
128
+ /** A digital library entitlement, which may include free or PS Plus games. */
129
+ export interface PurchasedGame {
130
+ titleId: string;
131
+ name: string;
132
+ platform: string;
133
+ productId: string;
134
+ entitlementId: string;
135
+ conceptId?: string | null;
136
+ image?: {
137
+ url: string;
138
+ } | null;
139
+ isActive?: boolean;
140
+ isDownloadable?: boolean;
141
+ isPreOrder?: boolean;
142
+ membership?: string | null;
143
+ /** Optional play-history fields, populated when includePlayTime is requested. */
144
+ playDuration?: string;
145
+ playCount?: number;
146
+ firstPlayedDateTime?: string;
147
+ lastPlayedDateTime?: string;
148
+ }
149
+ export interface PurchasedGamesPageInfo {
150
+ isLast: boolean;
151
+ offset: number;
152
+ size: number;
153
+ totalCount: number;
154
+ }
155
+ export interface PurchasedGamesResponse {
156
+ games: PurchasedGame[];
157
+ /** Library results are still returned if the optional play-history lookup fails. */
158
+ playTimeError?: string;
159
+ /** Present only when Sony returns pagination metadata. */
160
+ pageInfo?: PurchasedGamesPageInfo;
161
+ totalItemCount?: number;
162
+ /** If Sony omits pageInfo, a full page may be followed by an empty page. */
163
+ nextOffset?: number;
164
+ }
128
165
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/psn/types.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE;QACd,gBAAgB,EAAE,MAAM,CAAC;QACzB,OAAO,CAAC,EAAE,KAAK,CAAC;YACd,EAAE,EAAE,MAAM,CAAC;YACX,cAAc,CAAC,EAAE;gBACf,SAAS,EAAE,MAAM,CAAC;gBAClB,QAAQ,EAAE,MAAM,CAAC;gBACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;gBAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;gBACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;gBACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;aAC5B,CAAC;SACH,CAAC,CAAC;KACJ,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,EAAE,CAAC;CAC5D;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,iBAAiB,CAAC,EAAE,KAAK,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,YAAY,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,QAAQ,GAAG,SAAS,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,YAAY,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,YAAY,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/psn/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAQzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAGzE,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAUtE,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,EAC/B,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,OAAO,CAAC,cAAc,EAAE,CAAC,CAiB3B;AAqCD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,YAAY,GACnB,IAAI,CAyXN"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAQzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAGzE,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAUtE,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,EAC/B,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,OAAO,CAAC,cAAc,EAAE,CAAC,CAiB3B;AAqCD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,YAAY,GACnB,IAAI,CAqaN"}
package/dist/tools.js CHANGED
@@ -251,6 +251,42 @@ export function registerTools(server, psn, store, tokens) {
251
251
  .describe("Pagination offset."),
252
252
  }),
253
253
  }, handle(async ({ user, limit, offset }) => psn.getPlayedGames(await psn.resolveAccountId(user), limit, offset)));
254
+ server.registerTool("psn_get_purchased_games", {
255
+ title: "Get purchased games",
256
+ description: "List the authenticated account's digital PS4/PS5 game library, including " +
257
+ "games never played. Returns names, artwork, platforms, product/title/entitlement " +
258
+ "ids, and available active, downloadable, pre-order, and membership metadata. " +
259
+ "May include free and PS Plus entitlements; this is not a payment history. " +
260
+ "Only your own account is supported. Sorted by activation date, newest first " +
261
+ "by default. Pass the returned nextOffset as offset to get another page. " +
262
+ "Includes available play duration, play count, and first/last played dates " +
263
+ "by title ID by default. Set includePlayTime to false to skip the lookup. " +
264
+ "Missing play time does not imply zero time played.",
265
+ inputSchema: z.object({
266
+ limit: z.number().int().min(1).max(100).default(50),
267
+ offset: z.number().int().min(0).default(0),
268
+ platform: z
269
+ .array(z.enum(["ps4", "ps5"]))
270
+ .min(1)
271
+ .max(2)
272
+ .default(["ps4", "ps5"]),
273
+ isActive: z
274
+ .boolean()
275
+ .default(true)
276
+ .describe("Filter by active (true) or inactive (false) licenses."),
277
+ membership: z
278
+ .enum(["NONE", "PS_PLUS"])
279
+ .optional()
280
+ .describe("Filter membership; omit to include all membership types."),
281
+ sortDirection: z.enum(["asc", "desc"]).default("desc"),
282
+ includePlayTime: z
283
+ .boolean()
284
+ .default(true)
285
+ .describe("Also look up play history (may require several requests). Durations are " +
286
+ "ISO 8601 strings, e.g. PT12H30M. Lookup failures return playTimeError " +
287
+ "alongside the purchased games."),
288
+ }),
289
+ }, handle((options) => psn.getPurchasedGames(options)));
254
290
  // ---- PlayStation Store (no PSN account required) -----------------------
255
291
  server.registerTool("psn_get_store_deals", {
256
292
  title: "Get PlayStation Store deals",
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "psn-mcp",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
4
4
  "description": "MCP server for interfacing with the PlayStation Network",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -35,8 +35,8 @@
35
35
  "zod": "^4.2.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@changesets/changelog-github": "^0.7.0",
39
- "@changesets/cli": "^2.31.0",
38
+ "@changesets/changelog-github": "^1.0.0",
39
+ "@changesets/cli": "^3.0.1",
40
40
  "@types/node": "^26.1.1",
41
41
  "prettier": "^3.5.0",
42
42
  "tsx": "^4.19.0",