steamworks-ffi-node 0.5.0 → 0.5.2

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 (42) hide show
  1. package/README.md +63 -6
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +7 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/internal/SteamFriendsManager.d.ts +368 -1
  7. package/dist/internal/SteamFriendsManager.d.ts.map +1 -1
  8. package/dist/internal/SteamFriendsManager.js +601 -0
  9. package/dist/internal/SteamFriendsManager.js.map +1 -1
  10. package/dist/internal/SteamLibraryLoader.d.ts +25 -0
  11. package/dist/internal/SteamLibraryLoader.d.ts.map +1 -1
  12. package/dist/internal/SteamLibraryLoader.js +30 -0
  13. package/dist/internal/SteamLibraryLoader.js.map +1 -1
  14. package/dist/internal/SteamOverlayManager.d.ts +407 -0
  15. package/dist/internal/SteamOverlayManager.d.ts.map +1 -0
  16. package/dist/internal/SteamOverlayManager.js +523 -0
  17. package/dist/internal/SteamOverlayManager.js.map +1 -0
  18. package/dist/internal/SteamRichPresenceManager.d.ts +265 -0
  19. package/dist/internal/SteamRichPresenceManager.d.ts.map +1 -0
  20. package/dist/internal/SteamRichPresenceManager.js +374 -0
  21. package/dist/internal/SteamRichPresenceManager.js.map +1 -0
  22. package/dist/steam.d.ts +63 -0
  23. package/dist/steam.d.ts.map +1 -1
  24. package/dist/steam.js +10 -0
  25. package/dist/steam.js.map +1 -1
  26. package/dist/types/friends.d.ts +16 -0
  27. package/dist/types/friends.d.ts.map +1 -1
  28. package/dist/types/friends.js +5 -1
  29. package/dist/types/friends.js.map +1 -1
  30. package/dist/types/index.d.ts +4 -0
  31. package/dist/types/index.d.ts.map +1 -1
  32. package/dist/types/index.js +6 -0
  33. package/dist/types/index.js.map +1 -1
  34. package/dist/types/overlay.d.ts +72 -0
  35. package/dist/types/overlay.d.ts.map +1 -0
  36. package/dist/types/overlay.js +79 -0
  37. package/dist/types/overlay.js.map +1 -0
  38. package/dist/types/richpresence.d.ts +43 -0
  39. package/dist/types/richpresence.d.ts.map +1 -0
  40. package/dist/types/richpresence.js +33 -0
  41. package/dist/types/richpresence.js.map +1 -0
  42. package/package.json +6 -4
package/dist/steam.d.ts CHANGED
@@ -3,6 +3,8 @@ import { SteamAchievementManager } from './internal/SteamAchievementManager';
3
3
  import { SteamStatsManager } from './internal/SteamStatsManager';
4
4
  import { SteamLeaderboardManager } from './internal/SteamLeaderboardManager';
5
5
  import { SteamFriendsManager } from './internal/SteamFriendsManager';
6
+ import { SteamRichPresenceManager } from './internal/SteamRichPresenceManager';
7
+ import { SteamOverlayManager } from './internal/SteamOverlayManager';
6
8
  /**
7
9
  * Real Steamworks SDK implementation using Koffi FFI
8
10
  * This connects directly to the actual Steam client and Steamworks SDK
@@ -11,6 +13,9 @@ import { SteamFriendsManager } from './internal/SteamFriendsManager';
11
13
  * - achievements: SteamAchievementManager - All achievement operations
12
14
  * - stats: SteamStatsManager - All stats operations
13
15
  * - leaderboards: SteamLeaderboardManager - All leaderboard operations
16
+ * - friends: SteamFriendsManager - All friends and social operations
17
+ * - richPresence: SteamRichPresenceManager - Rich presence operations
18
+ * - overlay: SteamOverlayManager - Overlay control operations
14
19
  *
15
20
  * @example
16
21
  * ```typescript
@@ -21,6 +26,9 @@ import { SteamFriendsManager } from './internal/SteamFriendsManager';
21
26
  * await steam.achievements.unlockAchievement('ACH_WIN_ONE_GAME');
22
27
  * await steam.stats.setStatInt('NumGames', 1);
23
28
  * await steam.leaderboards.uploadScore(handle, 1000, KeepBest);
29
+ * const friends = steam.friends.getAllFriends();
30
+ * steam.richPresence.setRichPresence('status', 'In Menu');
31
+ * steam.overlay.activateGameOverlay('Friends');
24
32
  * ```
25
33
  */
26
34
  declare class SteamworksSDK {
@@ -157,6 +165,61 @@ declare class SteamworksSDK {
157
165
  * @see {@link SteamFriendsManager} for complete API documentation
158
166
  */
159
167
  readonly friends: SteamFriendsManager;
168
+ /**
169
+ * Rich Presence Manager - Handle Steam Rich Presence operations
170
+ *
171
+ * Provides Rich Presence functionality including:
172
+ * - Set/clear rich presence key/value pairs
173
+ * - Query friend rich presence data
174
+ * - Display custom status in Steam friends list
175
+ * - Enable friend join functionality
176
+ *
177
+ * @example
178
+ * ```typescript
179
+ * // Set rich presence
180
+ * steam.richPresence.setRichPresence('status', 'In Deathmatch');
181
+ * steam.richPresence.setRichPresence('connect', '+connect 192.168.1.100');
182
+ *
183
+ * // Read friend's rich presence
184
+ * steam.richPresence.requestFriendRichPresence(friendId);
185
+ * const status = steam.richPresence.getFriendRichPresence(friendId, 'status');
186
+ *
187
+ * // Clear all
188
+ * steam.richPresence.clearRichPresence();
189
+ * ```
190
+ *
191
+ * @see {@link SteamRichPresenceManager} for complete API documentation
192
+ */
193
+ readonly richPresence: SteamRichPresenceManager;
194
+ /**
195
+ * Overlay Manager - Handle Steam Overlay operations
196
+ *
197
+ * Provides overlay functionality including:
198
+ * - Open overlay to various dialogs (friends, achievements, etc.)
199
+ * - Open overlay to user profiles
200
+ * - Open overlay browser to URLs
201
+ * - Open store pages
202
+ * - Show invite dialogs
203
+ *
204
+ * @example
205
+ * ```typescript
206
+ * // Open overlay dialogs
207
+ * steam.overlay.activateGameOverlay('Friends');
208
+ * steam.overlay.activateGameOverlay('Achievements');
209
+ *
210
+ * // Open user profile
211
+ * steam.overlay.activateGameOverlayToUser('steamid', friendId);
212
+ *
213
+ * // Open web page
214
+ * steam.overlay.activateGameOverlayToWebPage('https://example.com');
215
+ *
216
+ * // Open store page
217
+ * steam.overlay.activateGameOverlayToStore(480);
218
+ * ```
219
+ *
220
+ * @see {@link SteamOverlayManager} for complete API documentation
221
+ */
222
+ readonly overlay: SteamOverlayManager;
160
223
  private constructor();
161
224
  static getInstance(): SteamworksSDK;
162
225
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"steam.d.ts","sourceRoot":"","sources":["../src/steam.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,WAAW,EACZ,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,cAAM,aAAa;IACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IAGvC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,OAAO,CAAe;IAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,SAAgB,YAAY,EAAE,uBAAuB,CAAC;IAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,SAAgB,KAAK,EAAE,iBAAiB,CAAC;IAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,SAAgB,YAAY,EAAE,uBAAuB,CAAC;IAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,SAAgB,OAAO,EAAG,mBAAmB,CAAC;IAE9C,OAAO;IAYP,MAAM,CAAC,WAAW,IAAI,aAAa;IAWnC;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO;IAIxC;;OAEG;IACH,QAAQ,IAAI,IAAI;IAIhB;;OAEG;IACH,SAAS,IAAI,WAAW;IAIxB;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,cAAc,IAAI,OAAO;CAG1B;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"steam.d.ts","sourceRoot":"","sources":["../src/steam.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,WAAW,EACZ,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,cAAM,aAAa;IACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IAGvC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,OAAO,CAAe;IAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,SAAgB,YAAY,EAAE,uBAAuB,CAAC;IAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,SAAgB,KAAK,EAAE,iBAAiB,CAAC;IAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,SAAgB,YAAY,EAAE,uBAAuB,CAAC;IAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,SAAgB,OAAO,EAAG,mBAAmB,CAAC;IAE9C;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,SAAgB,YAAY,EAAG,wBAAwB,CAAC;IAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,SAAgB,OAAO,EAAG,mBAAmB,CAAC;IAE9C,OAAO;IAcP,MAAM,CAAC,WAAW,IAAI,aAAa;IAWnC;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO;IAIxC;;OAEG;IACH,QAAQ,IAAI,IAAI;IAIhB;;OAEG;IACH,SAAS,IAAI,WAAW;IAIxB;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,cAAc,IAAI,OAAO;CAG1B;AAED,eAAe,aAAa,CAAC"}
package/dist/steam.js CHANGED
@@ -6,6 +6,8 @@ const SteamAchievementManager_1 = require("./internal/SteamAchievementManager");
6
6
  const SteamStatsManager_1 = require("./internal/SteamStatsManager");
7
7
  const SteamLeaderboardManager_1 = require("./internal/SteamLeaderboardManager");
8
8
  const SteamFriendsManager_1 = require("./internal/SteamFriendsManager");
9
+ const SteamRichPresenceManager_1 = require("./internal/SteamRichPresenceManager");
10
+ const SteamOverlayManager_1 = require("./internal/SteamOverlayManager");
9
11
  /**
10
12
  * Real Steamworks SDK implementation using Koffi FFI
11
13
  * This connects directly to the actual Steam client and Steamworks SDK
@@ -14,6 +16,9 @@ const SteamFriendsManager_1 = require("./internal/SteamFriendsManager");
14
16
  * - achievements: SteamAchievementManager - All achievement operations
15
17
  * - stats: SteamStatsManager - All stats operations
16
18
  * - leaderboards: SteamLeaderboardManager - All leaderboard operations
19
+ * - friends: SteamFriendsManager - All friends and social operations
20
+ * - richPresence: SteamRichPresenceManager - Rich presence operations
21
+ * - overlay: SteamOverlayManager - Overlay control operations
17
22
  *
18
23
  * @example
19
24
  * ```typescript
@@ -24,6 +29,9 @@ const SteamFriendsManager_1 = require("./internal/SteamFriendsManager");
24
29
  * await steam.achievements.unlockAchievement('ACH_WIN_ONE_GAME');
25
30
  * await steam.stats.setStatInt('NumGames', 1);
26
31
  * await steam.leaderboards.uploadScore(handle, 1000, KeepBest);
32
+ * const friends = steam.friends.getAllFriends();
33
+ * steam.richPresence.setRichPresence('status', 'In Menu');
34
+ * steam.overlay.activateGameOverlay('Friends');
27
35
  * ```
28
36
  */
29
37
  class SteamworksSDK {
@@ -36,6 +44,8 @@ class SteamworksSDK {
36
44
  this.stats = new SteamStatsManager_1.SteamStatsManager(this.libraryLoader, this.apiCore);
37
45
  this.leaderboards = new SteamLeaderboardManager_1.SteamLeaderboardManager(this.libraryLoader, this.apiCore);
38
46
  this.friends = new SteamFriendsManager_1.SteamFriendsManager(this.libraryLoader, this.apiCore);
47
+ this.richPresence = new SteamRichPresenceManager_1.SteamRichPresenceManager(this.libraryLoader, this.apiCore);
48
+ this.overlay = new SteamOverlayManager_1.SteamOverlayManager(this.libraryLoader, this.apiCore);
39
49
  }
40
50
  static getInstance() {
41
51
  if (!SteamworksSDK.instance) {
package/dist/steam.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"steam.js","sourceRoot":"","sources":["../src/steam.ts"],"names":[],"mappings":";;AAIA,sEAAmE;AACnE,0DAAuD;AACvD,gFAA6E;AAC7E,oEAAiE;AACjE,gFAA6E;AAC7E,wEAAqE;AAErE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,aAAa;IA6IjB;QACE,8BAA8B;QAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,uCAAkB,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEpD,6BAA6B;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,iDAAuB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClF,IAAI,CAAC,KAAK,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,GAAG,IAAI,iDAAuB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClF,IAAI,CAAC,OAAO,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC5B,aAAa,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,2CAA2C;IAC3C,mBAAmB;IACnB,2CAA2C;IAE3C;;OAEG;IACH,IAAI,CAAC,OAAyB;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IACvC,CAAC;CACF;AAED,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"steam.js","sourceRoot":"","sources":["../src/steam.ts"],"names":[],"mappings":";;AAIA,sEAAmE;AACnE,0DAAuD;AACvD,gFAA6E;AAC7E,oEAAiE;AACjE,gFAA6E;AAC7E,wEAAqE;AACrE,kFAA+E;AAC/E,wEAAqE;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,aAAa;IAsMjB;QACE,8BAA8B;QAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,uCAAkB,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEpD,6BAA6B;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,iDAAuB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClF,IAAI,CAAC,KAAK,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,GAAG,IAAI,iDAAuB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClF,IAAI,CAAC,OAAO,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,GAAG,IAAI,mDAAwB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC5B,aAAa,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,2CAA2C;IAC3C,mBAAmB;IACnB,2CAA2C;IAE3C;;OAEG;IACH,IAAI,CAAC,OAAyB;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IACvC,CAAC;CACF;AAED,kBAAe,aAAa,CAAC"}
@@ -65,4 +65,20 @@ export interface FriendGameInfo {
65
65
  queryPort: number;
66
66
  steamIDLobby: string;
67
67
  }
68
+ /**
69
+ * Friend group ID type
70
+ */
71
+ export type FriendsGroupID_t = number;
72
+ /**
73
+ * Invalid friends group ID constant
74
+ */
75
+ export declare const INVALID_FRIENDS_GROUP_ID: FriendsGroupID_t;
76
+ /**
77
+ * Coplay friend information
78
+ */
79
+ export interface CoplayFriendInfo {
80
+ steamId: string;
81
+ coplayTime: number;
82
+ coplayGame: number;
83
+ }
68
84
  //# sourceMappingURL=friends.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"friends.d.ts","sourceRoot":"","sources":["../../src/types/friends.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,IAAI,IAAI;IACR,OAAO,IAAI;IACX,gBAAgB,IAAI;IACpB,MAAM,IAAI;IACV,gBAAgB,IAAI;IACpB,OAAO,IAAI;IACX,aAAa,IAAI;IACjB,oBAAoB,IAAI;IACxB,GAAG,IAAI;CACR;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,OAAO,IAAI,CAAS,oCAAoC;IACxD,MAAM,IAAI,CAAU,sBAAsB;IAC1C,IAAI,IAAI,CAAY,uBAAuB;IAC3C,IAAI,IAAI,CAAY,oBAAoB;IACxC,MAAM,IAAI,CAAU,4BAA4B;IAChD,cAAc,IAAI,CAAE,kBAAkB;IACtC,aAAa,IAAI,CAAG,0BAA0B;IAC9C,SAAS,IAAI,CAAO,yCAAyC;IAC7D,GAAG,IAAI;CACR;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,IAAI,IAAO;IACX,OAAO,IAAO;IACd,mBAAmB,IAAO;IAC1B,SAAS,IAAO,CAAe,mBAAmB;IAClD,UAAU,IAAO;IACjB,YAAY,KAAO;IACnB,oBAAoB,MAAO;IAC3B,cAAc,MAAQ;IACtB,OAAO,MAAQ;IACf,aAAa,OAAQ;IACrB,UAAU,OAAS;IACnB,GAAG,QAAS;CACb;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,aAAa,CAAC;IAC5B,YAAY,EAAE,mBAAmB,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"friends.d.ts","sourceRoot":"","sources":["../../src/types/friends.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,IAAI,IAAI;IACR,OAAO,IAAI;IACX,gBAAgB,IAAI;IACpB,MAAM,IAAI;IACV,gBAAgB,IAAI;IACpB,OAAO,IAAI;IACX,aAAa,IAAI;IACjB,oBAAoB,IAAI;IACxB,GAAG,IAAI;CACR;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,OAAO,IAAI,CAAS,oCAAoC;IACxD,MAAM,IAAI,CAAU,sBAAsB;IAC1C,IAAI,IAAI,CAAY,uBAAuB;IAC3C,IAAI,IAAI,CAAY,oBAAoB;IACxC,MAAM,IAAI,CAAU,4BAA4B;IAChD,cAAc,IAAI,CAAE,kBAAkB;IACtC,aAAa,IAAI,CAAG,0BAA0B;IAC9C,SAAS,IAAI,CAAO,yCAAyC;IAC7D,GAAG,IAAI;CACR;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,IAAI,IAAO;IACX,OAAO,IAAO;IACd,mBAAmB,IAAO;IAC1B,SAAS,IAAO,CAAe,mBAAmB;IAClD,UAAU,IAAO;IACjB,YAAY,KAAO;IACnB,oBAAoB,MAAO;IAC3B,cAAc,MAAQ;IACtB,OAAO,MAAQ;IACf,aAAa,OAAQ;IACrB,UAAU,OAAS;IACnB,GAAG,QAAS;CACb;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,aAAa,CAAC;IAC5B,YAAY,EAAE,mBAAmB,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,gBAAqB,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -3,7 +3,7 @@
3
3
  * Types for Steam Friends API
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.EFriendFlags = exports.EPersonaState = exports.EFriendRelationship = void 0;
6
+ exports.INVALID_FRIENDS_GROUP_ID = exports.EFriendFlags = exports.EPersonaState = exports.EFriendRelationship = void 0;
7
7
  /**
8
8
  * Friend relationship states
9
9
  */
@@ -52,4 +52,8 @@ var EFriendFlags;
52
52
  EFriendFlags[EFriendFlags["ChatMember"] = 4096] = "ChatMember";
53
53
  EFriendFlags[EFriendFlags["All"] = 65535] = "All";
54
54
  })(EFriendFlags || (exports.EFriendFlags = EFriendFlags = {}));
55
+ /**
56
+ * Invalid friends group ID constant
57
+ */
58
+ exports.INVALID_FRIENDS_GROUP_ID = -1;
55
59
  //# sourceMappingURL=friends.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"friends.js","sourceRoot":"","sources":["../../src/types/friends.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH;;GAEG;AACH,IAAY,mBAUX;AAVD,WAAY,mBAAmB;IAC7B,6DAAQ,CAAA;IACR,mEAAW,CAAA;IACX,qFAAoB,CAAA;IACpB,iEAAU,CAAA;IACV,qFAAoB,CAAA;IACpB,mEAAW,CAAA;IACX,+EAAiB,CAAA;IACjB,6FAAwB,CAAA;IACxB,2DAAO,CAAA;AACT,CAAC,EAVW,mBAAmB,mCAAnB,mBAAmB,QAU9B;AAED;;GAEG;AACH,IAAY,aAUX;AAVD,WAAY,aAAa;IACvB,uDAAW,CAAA;IACX,qDAAU,CAAA;IACV,iDAAQ,CAAA;IACR,iDAAQ,CAAA;IACR,qDAAU,CAAA;IACV,qEAAkB,CAAA;IAClB,mEAAiB,CAAA;IACjB,2DAAa,CAAA;IACb,+CAAO,CAAA;AACT,CAAC,EAVW,aAAa,6BAAb,aAAa,QAUxB;AAED;;GAEG;AACH,IAAY,YAaX;AAbD,WAAY,YAAY;IACtB,+CAAW,CAAA;IACX,qDAAc,CAAA;IACd,6EAA0B,CAAA;IAC1B,yDAAgB,CAAA;IAChB,2DAAiB,CAAA;IACjB,gEAAmB,CAAA;IACnB,iFAA2B,CAAA;IAC3B,qEAAsB,CAAA;IACtB,uDAAe,CAAA;IACf,oEAAqB,CAAA;IACrB,8DAAmB,CAAA;IACnB,iDAAY,CAAA;AACd,CAAC,EAbW,YAAY,4BAAZ,YAAY,QAavB"}
1
+ {"version":3,"file":"friends.js","sourceRoot":"","sources":["../../src/types/friends.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH;;GAEG;AACH,IAAY,mBAUX;AAVD,WAAY,mBAAmB;IAC7B,6DAAQ,CAAA;IACR,mEAAW,CAAA;IACX,qFAAoB,CAAA;IACpB,iEAAU,CAAA;IACV,qFAAoB,CAAA;IACpB,mEAAW,CAAA;IACX,+EAAiB,CAAA;IACjB,6FAAwB,CAAA;IACxB,2DAAO,CAAA;AACT,CAAC,EAVW,mBAAmB,mCAAnB,mBAAmB,QAU9B;AAED;;GAEG;AACH,IAAY,aAUX;AAVD,WAAY,aAAa;IACvB,uDAAW,CAAA;IACX,qDAAU,CAAA;IACV,iDAAQ,CAAA;IACR,iDAAQ,CAAA;IACR,qDAAU,CAAA;IACV,qEAAkB,CAAA;IAClB,mEAAiB,CAAA;IACjB,2DAAa,CAAA;IACb,+CAAO,CAAA;AACT,CAAC,EAVW,aAAa,6BAAb,aAAa,QAUxB;AAED;;GAEG;AACH,IAAY,YAaX;AAbD,WAAY,YAAY;IACtB,+CAAW,CAAA;IACX,qDAAc,CAAA;IACd,6EAA0B,CAAA;IAC1B,yDAAgB,CAAA;IAChB,2DAAiB,CAAA;IACjB,gEAAmB,CAAA;IACnB,iFAA2B,CAAA;IAC3B,qEAAsB,CAAA;IACtB,uDAAe,CAAA;IACf,oEAAqB,CAAA;IACrB,8DAAmB,CAAA;IACnB,iDAAY,CAAA;AACd,CAAC,EAbW,YAAY,4BAAZ,YAAY,QAavB;AA4BD;;GAEG;AACU,QAAA,wBAAwB,GAAqB,CAAC,CAAC,CAAC"}
@@ -7,10 +7,14 @@
7
7
  * - stats.ts - Stats-related types
8
8
  * - leaderboards.ts - Leaderboard-related types
9
9
  * - friends.ts - Friends-related types
10
+ * - richpresence.ts - Rich Presence-related types
11
+ * - overlay.ts - Overlay-related types
10
12
  */
11
13
  export * from './core';
12
14
  export * from './achievements';
13
15
  export * from './stats';
14
16
  export * from './leaderboards';
15
17
  export * from './friends';
18
+ export * from './richpresence';
19
+ export * from './overlay';
16
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,cAAc,QAAQ,CAAC;AAGvB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,SAAS,CAAC;AAGxB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,cAAc,QAAQ,CAAC;AAGvB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,SAAS,CAAC;AAGxB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,WAAW,CAAC;AAG1B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,WAAW,CAAC"}
@@ -8,6 +8,8 @@
8
8
  * - stats.ts - Stats-related types
9
9
  * - leaderboards.ts - Leaderboard-related types
10
10
  * - friends.ts - Friends-related types
11
+ * - richpresence.ts - Rich Presence-related types
12
+ * - overlay.ts - Overlay-related types
11
13
  */
12
14
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
13
15
  if (k2 === undefined) k2 = k;
@@ -34,4 +36,8 @@ __exportStar(require("./stats"), exports);
34
36
  __exportStar(require("./leaderboards"), exports);
35
37
  // Friends types
36
38
  __exportStar(require("./friends"), exports);
39
+ // Rich Presence types
40
+ __exportStar(require("./richpresence"), exports);
41
+ // Overlay types
42
+ __exportStar(require("./overlay"), exports);
37
43
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;AAEH,aAAa;AACb,yCAAuB;AAEvB,oBAAoB;AACpB,iDAA+B;AAE/B,cAAc;AACd,0CAAwB;AAExB,oBAAoB;AACpB,iDAA+B;AAE/B,gBAAgB;AAChB,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;;;;;;;;;;;AAEH,aAAa;AACb,yCAAuB;AAEvB,oBAAoB;AACpB,iDAA+B;AAE/B,cAAc;AACd,0CAAwB;AAExB,oBAAoB;AACpB,iDAA+B;AAE/B,gBAAgB;AAChB,4CAA0B;AAE1B,sBAAsB;AACtB,iDAA+B;AAE/B,gBAAgB;AAChB,4CAA0B"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Types for Steam Overlay API
3
+ */
4
+ /**
5
+ * Overlay dialog types for ActivateGameOverlay
6
+ */
7
+ export declare enum EOverlayDialog {
8
+ /** Opens the friends list */
9
+ FRIENDS = "Friends",
10
+ /** Opens the Steam community hub */
11
+ COMMUNITY = "Community",
12
+ /** Opens the players list (for in-game) */
13
+ PLAYERS = "Players",
14
+ /** Opens Steam settings */
15
+ SETTINGS = "Settings",
16
+ /** Opens official game group */
17
+ OFFICIAL_GAME_GROUP = "OfficialGameGroup",
18
+ /** Opens stats page */
19
+ STATS = "Stats",
20
+ /** Opens achievements page */
21
+ ACHIEVEMENTS = "Achievements"
22
+ }
23
+ /**
24
+ * Overlay user dialog types for ActivateGameOverlayToUser
25
+ */
26
+ export declare enum EOverlayToUserDialog {
27
+ /** Opens overlay web browser to user's Steam profile */
28
+ STEAM_ID = "steamid",
29
+ /** Opens chat window to the user or joins group chat */
30
+ CHAT = "chat",
31
+ /** Opens window to Steam Trading session (requires ISteamEconomy/StartTrade Web API) */
32
+ JOIN_TRADE = "jointrade",
33
+ /** Opens overlay web browser to user's stats */
34
+ STATS = "stats",
35
+ /** Opens overlay web browser to user's achievements */
36
+ ACHIEVEMENTS = "achievements",
37
+ /** Opens overlay prompting to add user as friend */
38
+ FRIEND_ADD = "friendadd",
39
+ /** Opens overlay prompting to remove user as friend */
40
+ FRIEND_REMOVE = "friendremove",
41
+ /** Opens overlay prompting to accept incoming friend invite */
42
+ FRIEND_REQUEST_ACCEPT = "friendrequestaccept",
43
+ /** Opens overlay prompting to ignore incoming friend invite */
44
+ FRIEND_REQUEST_IGNORE = "friendrequestignore"
45
+ }
46
+ /**
47
+ * Overlay to store flags
48
+ */
49
+ export declare enum EOverlayToStoreFlag {
50
+ /** No special behavior */
51
+ None = 0,
52
+ /** Add item to cart */
53
+ AddToCart = 1,
54
+ /** Add to cart and show the cart */
55
+ AddToCartAndShow = 2
56
+ }
57
+ /**
58
+ * Web page overlay modes
59
+ */
60
+ export declare enum EActivateGameOverlayToWebPageMode {
61
+ /**
62
+ * Browser opens next to other overlay windows.
63
+ * Window remains open even if overlay is closed and reopened.
64
+ */
65
+ Default = 0,
66
+ /**
67
+ * Browser opens in modal configuration hiding other overlay windows.
68
+ * Browser and overlay close together.
69
+ */
70
+ Modal = 1
71
+ }
72
+ //# sourceMappingURL=overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../src/types/overlay.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,oBAAY,cAAc;IACxB,6BAA6B;IAC7B,OAAO,YAAY;IACnB,oCAAoC;IACpC,SAAS,cAAc;IACvB,2CAA2C;IAC3C,OAAO,YAAY;IACnB,2BAA2B;IAC3B,QAAQ,aAAa;IACrB,gCAAgC;IAChC,mBAAmB,sBAAsB;IACzC,uBAAuB;IACvB,KAAK,UAAU;IACf,8BAA8B;IAC9B,YAAY,iBAAiB;CAC9B;AAED;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,wDAAwD;IACxD,QAAQ,YAAY;IACpB,wDAAwD;IACxD,IAAI,SAAS;IACb,wFAAwF;IACxF,UAAU,cAAc;IACxB,gDAAgD;IAChD,KAAK,UAAU;IACf,uDAAuD;IACvD,YAAY,iBAAiB;IAC7B,oDAAoD;IACpD,UAAU,cAAc;IACxB,uDAAuD;IACvD,aAAa,iBAAiB;IAC9B,+DAA+D;IAC/D,qBAAqB,wBAAwB;IAC7C,+DAA+D;IAC/D,qBAAqB,wBAAwB;CAC9C;AAED;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,0BAA0B;IAC1B,IAAI,IAAI;IACR,uBAAuB;IACvB,SAAS,IAAI;IACb,oCAAoC;IACpC,gBAAgB,IAAI;CACrB;AAED;;GAEG;AACH,oBAAY,iCAAiC;IAC3C;;;OAGG;IACH,OAAO,IAAI;IACX;;;OAGG;IACH,KAAK,IAAI;CACV"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ /**
3
+ * Types for Steam Overlay API
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.EActivateGameOverlayToWebPageMode = exports.EOverlayToStoreFlag = exports.EOverlayToUserDialog = exports.EOverlayDialog = void 0;
7
+ /**
8
+ * Overlay dialog types for ActivateGameOverlay
9
+ */
10
+ var EOverlayDialog;
11
+ (function (EOverlayDialog) {
12
+ /** Opens the friends list */
13
+ EOverlayDialog["FRIENDS"] = "Friends";
14
+ /** Opens the Steam community hub */
15
+ EOverlayDialog["COMMUNITY"] = "Community";
16
+ /** Opens the players list (for in-game) */
17
+ EOverlayDialog["PLAYERS"] = "Players";
18
+ /** Opens Steam settings */
19
+ EOverlayDialog["SETTINGS"] = "Settings";
20
+ /** Opens official game group */
21
+ EOverlayDialog["OFFICIAL_GAME_GROUP"] = "OfficialGameGroup";
22
+ /** Opens stats page */
23
+ EOverlayDialog["STATS"] = "Stats";
24
+ /** Opens achievements page */
25
+ EOverlayDialog["ACHIEVEMENTS"] = "Achievements";
26
+ })(EOverlayDialog || (exports.EOverlayDialog = EOverlayDialog = {}));
27
+ /**
28
+ * Overlay user dialog types for ActivateGameOverlayToUser
29
+ */
30
+ var EOverlayToUserDialog;
31
+ (function (EOverlayToUserDialog) {
32
+ /** Opens overlay web browser to user's Steam profile */
33
+ EOverlayToUserDialog["STEAM_ID"] = "steamid";
34
+ /** Opens chat window to the user or joins group chat */
35
+ EOverlayToUserDialog["CHAT"] = "chat";
36
+ /** Opens window to Steam Trading session (requires ISteamEconomy/StartTrade Web API) */
37
+ EOverlayToUserDialog["JOIN_TRADE"] = "jointrade";
38
+ /** Opens overlay web browser to user's stats */
39
+ EOverlayToUserDialog["STATS"] = "stats";
40
+ /** Opens overlay web browser to user's achievements */
41
+ EOverlayToUserDialog["ACHIEVEMENTS"] = "achievements";
42
+ /** Opens overlay prompting to add user as friend */
43
+ EOverlayToUserDialog["FRIEND_ADD"] = "friendadd";
44
+ /** Opens overlay prompting to remove user as friend */
45
+ EOverlayToUserDialog["FRIEND_REMOVE"] = "friendremove";
46
+ /** Opens overlay prompting to accept incoming friend invite */
47
+ EOverlayToUserDialog["FRIEND_REQUEST_ACCEPT"] = "friendrequestaccept";
48
+ /** Opens overlay prompting to ignore incoming friend invite */
49
+ EOverlayToUserDialog["FRIEND_REQUEST_IGNORE"] = "friendrequestignore";
50
+ })(EOverlayToUserDialog || (exports.EOverlayToUserDialog = EOverlayToUserDialog = {}));
51
+ /**
52
+ * Overlay to store flags
53
+ */
54
+ var EOverlayToStoreFlag;
55
+ (function (EOverlayToStoreFlag) {
56
+ /** No special behavior */
57
+ EOverlayToStoreFlag[EOverlayToStoreFlag["None"] = 0] = "None";
58
+ /** Add item to cart */
59
+ EOverlayToStoreFlag[EOverlayToStoreFlag["AddToCart"] = 1] = "AddToCart";
60
+ /** Add to cart and show the cart */
61
+ EOverlayToStoreFlag[EOverlayToStoreFlag["AddToCartAndShow"] = 2] = "AddToCartAndShow";
62
+ })(EOverlayToStoreFlag || (exports.EOverlayToStoreFlag = EOverlayToStoreFlag = {}));
63
+ /**
64
+ * Web page overlay modes
65
+ */
66
+ var EActivateGameOverlayToWebPageMode;
67
+ (function (EActivateGameOverlayToWebPageMode) {
68
+ /**
69
+ * Browser opens next to other overlay windows.
70
+ * Window remains open even if overlay is closed and reopened.
71
+ */
72
+ EActivateGameOverlayToWebPageMode[EActivateGameOverlayToWebPageMode["Default"] = 0] = "Default";
73
+ /**
74
+ * Browser opens in modal configuration hiding other overlay windows.
75
+ * Browser and overlay close together.
76
+ */
77
+ EActivateGameOverlayToWebPageMode[EActivateGameOverlayToWebPageMode["Modal"] = 1] = "Modal";
78
+ })(EActivateGameOverlayToWebPageMode || (exports.EActivateGameOverlayToWebPageMode = EActivateGameOverlayToWebPageMode = {}));
79
+ //# sourceMappingURL=overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlay.js","sourceRoot":"","sources":["../../src/types/overlay.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH;;GAEG;AACH,IAAY,cAeX;AAfD,WAAY,cAAc;IACxB,6BAA6B;IAC7B,qCAAmB,CAAA;IACnB,oCAAoC;IACpC,yCAAuB,CAAA;IACvB,2CAA2C;IAC3C,qCAAmB,CAAA;IACnB,2BAA2B;IAC3B,uCAAqB,CAAA;IACrB,gCAAgC;IAChC,2DAAyC,CAAA;IACzC,uBAAuB;IACvB,iCAAe,CAAA;IACf,8BAA8B;IAC9B,+CAA6B,CAAA;AAC/B,CAAC,EAfW,cAAc,8BAAd,cAAc,QAezB;AAED;;GAEG;AACH,IAAY,oBAmBX;AAnBD,WAAY,oBAAoB;IAC9B,wDAAwD;IACxD,4CAAoB,CAAA;IACpB,wDAAwD;IACxD,qCAAa,CAAA;IACb,wFAAwF;IACxF,gDAAwB,CAAA;IACxB,gDAAgD;IAChD,uCAAe,CAAA;IACf,uDAAuD;IACvD,qDAA6B,CAAA;IAC7B,oDAAoD;IACpD,gDAAwB,CAAA;IACxB,uDAAuD;IACvD,sDAA8B,CAAA;IAC9B,+DAA+D;IAC/D,qEAA6C,CAAA;IAC7C,+DAA+D;IAC/D,qEAA6C,CAAA;AAC/C,CAAC,EAnBW,oBAAoB,oCAApB,oBAAoB,QAmB/B;AAED;;GAEG;AACH,IAAY,mBAOX;AAPD,WAAY,mBAAmB;IAC7B,0BAA0B;IAC1B,6DAAQ,CAAA;IACR,uBAAuB;IACvB,uEAAa,CAAA;IACb,oCAAoC;IACpC,qFAAoB,CAAA;AACtB,CAAC,EAPW,mBAAmB,mCAAnB,mBAAmB,QAO9B;AAED;;GAEG;AACH,IAAY,iCAWX;AAXD,WAAY,iCAAiC;IAC3C;;;OAGG;IACH,+FAAW,CAAA;IACX;;;OAGG;IACH,2FAAS,CAAA;AACX,CAAC,EAXW,iCAAiC,iDAAjC,iCAAiC,QAW5C"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Types for Steam Rich Presence API
3
+ */
4
+ /**
5
+ * Rich presence data for displaying user activity
6
+ *
7
+ * @remarks
8
+ * Rich Presence allows games to display custom status information
9
+ * that appears in the Steam friends list and chat.
10
+ */
11
+ export interface RichPresenceData {
12
+ /** The rich presence key */
13
+ key: string;
14
+ /** The rich presence value */
15
+ value: string;
16
+ }
17
+ /**
18
+ * Special Rich Presence keys recognized by Steam
19
+ */
20
+ export declare const RichPresenceKeys: {
21
+ /** UTF-8 string shown in 'view game info' dialog */
22
+ readonly STATUS: "status";
23
+ /** Command-line string for how friends can connect to your game */
24
+ readonly CONNECT: "connect";
25
+ /** Rich presence localization token for display in user's language */
26
+ readonly STEAM_DISPLAY: "steam_display";
27
+ /** Group identifier for organizing players together in Steam UI */
28
+ readonly STEAM_PLAYER_GROUP: "steam_player_group";
29
+ /** Total number of players in the steam_player_group */
30
+ readonly STEAM_PLAYER_GROUP_SIZE: "steam_player_group_size";
31
+ };
32
+ /**
33
+ * Maximum limits for Rich Presence
34
+ */
35
+ export declare const RichPresenceLimits: {
36
+ /** Maximum number of rich presence keys per user */
37
+ readonly MAX_KEYS: 30;
38
+ /** Maximum length of a rich presence key */
39
+ readonly MAX_KEY_LENGTH: 64;
40
+ /** Maximum length of a rich presence value */
41
+ readonly MAX_VALUE_LENGTH: 256;
42
+ };
43
+ //# sourceMappingURL=richpresence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"richpresence.d.ts","sourceRoot":"","sources":["../../src/types/richpresence.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B,oDAAoD;;IAEpD,mEAAmE;;IAEnE,sEAAsE;;IAEtE,mEAAmE;;IAEnE,wDAAwD;;CAEhD,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,kBAAkB;IAC7B,oDAAoD;;IAEpD,4CAA4C;;IAE5C,8CAA8C;;CAEtC,CAAC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ /**
3
+ * Types for Steam Rich Presence API
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RichPresenceLimits = exports.RichPresenceKeys = void 0;
7
+ /**
8
+ * Special Rich Presence keys recognized by Steam
9
+ */
10
+ exports.RichPresenceKeys = {
11
+ /** UTF-8 string shown in 'view game info' dialog */
12
+ STATUS: 'status',
13
+ /** Command-line string for how friends can connect to your game */
14
+ CONNECT: 'connect',
15
+ /** Rich presence localization token for display in user's language */
16
+ STEAM_DISPLAY: 'steam_display',
17
+ /** Group identifier for organizing players together in Steam UI */
18
+ STEAM_PLAYER_GROUP: 'steam_player_group',
19
+ /** Total number of players in the steam_player_group */
20
+ STEAM_PLAYER_GROUP_SIZE: 'steam_player_group_size',
21
+ };
22
+ /**
23
+ * Maximum limits for Rich Presence
24
+ */
25
+ exports.RichPresenceLimits = {
26
+ /** Maximum number of rich presence keys per user */
27
+ MAX_KEYS: 30,
28
+ /** Maximum length of a rich presence key */
29
+ MAX_KEY_LENGTH: 64,
30
+ /** Maximum length of a rich presence value */
31
+ MAX_VALUE_LENGTH: 256,
32
+ };
33
+ //# sourceMappingURL=richpresence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"richpresence.js","sourceRoot":"","sources":["../../src/types/richpresence.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAgBH;;GAEG;AACU,QAAA,gBAAgB,GAAG;IAC9B,oDAAoD;IACpD,MAAM,EAAE,QAAQ;IAChB,mEAAmE;IACnE,OAAO,EAAE,SAAS;IAClB,sEAAsE;IACtE,aAAa,EAAE,eAAe;IAC9B,mEAAmE;IACnE,kBAAkB,EAAE,oBAAoB;IACxC,wDAAwD;IACxD,uBAAuB,EAAE,yBAAyB;CAC1C,CAAC;AAEX;;GAEG;AACU,QAAA,kBAAkB,GAAG;IAChC,oDAAoD;IACpD,QAAQ,EAAE,EAAE;IACZ,4CAA4C;IAC5C,cAAc,EAAE,EAAE;IAClB,8CAA8C;IAC9C,gBAAgB,EAAE,GAAG;CACb,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "steamworks-ffi-node",
3
- "version": "0.5.0",
4
- "description": "Real Steamworks SDK wrapper using FFI for Node.js/Electron - Full Steam Integration",
3
+ "version": "0.5.2",
4
+ "description": "Steamworks SDK wrapper using FFI for Node.js/Electron - Full Steam Integration",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "scripts": {
@@ -10,10 +10,12 @@
10
10
  "test:stats:js": "node tests/js/test-complete-stats.js",
11
11
  "test:leaderboards:js": "node tests/js/test-complete-leaderboards.js",
12
12
  "test:friends:js": "node tests/js/test-complete-friends.js",
13
+ "test:richpresence-overlay:js": "node tests/js/test-richpresence-overlay.js",
13
14
  "test:achievements:ts": "ts-node tests/ts/test-complete-achievements.ts",
14
15
  "test:stats:ts": "ts-node tests/ts/test-complete-stats.ts",
15
16
  "test:leaderboards:ts": "ts-node tests/ts/test-complete-leaderboards.ts",
16
17
  "test:friends:ts": "ts-node tests/ts/test-complete-friends.ts",
18
+ "test:richpresence-overlay:ts": "ts-node tests/ts/test-richpresence-overlay.ts",
17
19
  "prepublishOnly": "npm run build"
18
20
  },
19
21
  "dependencies": {
@@ -48,8 +50,8 @@
48
50
  "bugs": {
49
51
  "url": "https://github.com/ArtyProf/steamworks-ffi-node/issues"
50
52
  },
51
- "homepage": "https://github.com/ArtyProf/steamworks-ffi-node#readme",
52
- "author": "ArtyProf",
53
+ "homepage": "https://github.com/ArtyProf/steamworks-ffi-node",
54
+ "author": "Artur Khutak (Arty_Prof)",
53
55
  "license": "MIT",
54
56
  "engines": {
55
57
  "node": ">=18.0.0"