steamworks-ffi-node 0.6.0 → 0.6.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.
Files changed (54) hide show
  1. package/README.md +74 -0
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +5 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/internal/SteamAPICore.d.ts +23 -0
  7. package/dist/internal/SteamAPICore.d.ts.map +1 -1
  8. package/dist/internal/SteamAPICore.js +30 -0
  9. package/dist/internal/SteamAPICore.js.map +1 -1
  10. package/dist/internal/SteamCallbackPoller.d.ts +72 -0
  11. package/dist/internal/SteamCallbackPoller.d.ts.map +1 -1
  12. package/dist/internal/SteamCallbackPoller.js +144 -2
  13. package/dist/internal/SteamCallbackPoller.js.map +1 -1
  14. package/dist/internal/SteamCloudManager.d.ts.map +1 -1
  15. package/dist/internal/SteamCloudManager.js +18 -18
  16. package/dist/internal/SteamCloudManager.js.map +1 -1
  17. package/dist/internal/SteamLibraryLoader.d.ts +27 -0
  18. package/dist/internal/SteamLibraryLoader.d.ts.map +1 -1
  19. package/dist/internal/SteamLibraryLoader.js +36 -0
  20. package/dist/internal/SteamLibraryLoader.js.map +1 -1
  21. package/dist/internal/SteamOverlayManager.js +21 -21
  22. package/dist/internal/SteamOverlayManager.js.map +1 -1
  23. package/dist/internal/SteamRichPresenceManager.js +18 -18
  24. package/dist/internal/SteamRichPresenceManager.js.map +1 -1
  25. package/dist/internal/SteamWorkshopManager.d.ts +602 -0
  26. package/dist/internal/SteamWorkshopManager.d.ts.map +1 -0
  27. package/dist/internal/SteamWorkshopManager.js +1426 -0
  28. package/dist/internal/SteamWorkshopManager.js.map +1 -0
  29. package/dist/internal/callbackTypes/SteamCallbackIds.d.ts +26 -0
  30. package/dist/internal/callbackTypes/SteamCallbackIds.d.ts.map +1 -0
  31. package/dist/internal/callbackTypes/SteamCallbackIds.js +35 -0
  32. package/dist/internal/callbackTypes/SteamCallbackIds.js.map +1 -0
  33. package/dist/internal/callbackTypes/SteamCallbackTypes.d.ts +89 -0
  34. package/dist/internal/callbackTypes/SteamCallbackTypes.d.ts.map +1 -0
  35. package/dist/internal/callbackTypes/SteamCallbackTypes.js +9 -0
  36. package/dist/internal/callbackTypes/SteamCallbackTypes.js.map +1 -0
  37. package/dist/internal/callbackTypes/index.d.ts +6 -0
  38. package/dist/internal/callbackTypes/index.d.ts.map +1 -0
  39. package/dist/internal/callbackTypes/index.js +22 -0
  40. package/dist/internal/callbackTypes/index.js.map +1 -0
  41. package/dist/steam.d.ts +42 -0
  42. package/dist/steam.d.ts.map +1 -1
  43. package/dist/steam.js +4 -0
  44. package/dist/steam.js.map +1 -1
  45. package/dist/types/index.d.ts +2 -0
  46. package/dist/types/index.d.ts.map +1 -1
  47. package/dist/types/index.js +3 -0
  48. package/dist/types/index.js.map +1 -1
  49. package/dist/types/workshop.d.ts +302 -0
  50. package/dist/types/workshop.d.ts.map +1 -0
  51. package/dist/types/workshop.js +203 -0
  52. package/dist/types/workshop.js.map +1 -0
  53. package/docs/README.md +12 -0
  54. package/package.json +3 -1
@@ -0,0 +1,302 @@
1
+ /**
2
+ * Steam Workshop / UGC Type Definitions
3
+ *
4
+ * Types for Steam Workshop user-generated content system
5
+ */
6
+ /**
7
+ * Published file ID type (uint64)
8
+ */
9
+ export type PublishedFileId = bigint;
10
+ /**
11
+ * UGC query handle type (uint64)
12
+ */
13
+ export type UGCQueryHandle = bigint;
14
+ /**
15
+ * UGC update handle type (uint64)
16
+ */
17
+ export type UGCUpdateHandle = bigint;
18
+ /**
19
+ * UGC file handle type (uint64)
20
+ */
21
+ export type UGCHandle = bigint;
22
+ /**
23
+ * Invalid handle constants
24
+ */
25
+ export declare const K_UGC_QUERY_HANDLE_INVALID: bigint;
26
+ export declare const K_UGC_UPDATE_HANDLE_INVALID: bigint;
27
+ /**
28
+ * Matching UGC types for queries
29
+ */
30
+ export declare enum EUGCMatchingUGCType {
31
+ Items = 0,// both mtx items and ready-to-use items
32
+ Items_Mtx = 1,// microtransaction items
33
+ Items_ReadyToUse = 2,// ready-to-use items
34
+ Collections = 3,// collections of workshop items
35
+ Artwork = 4,// artwork
36
+ Videos = 5,// videos
37
+ Screenshots = 6,// screenshots
38
+ AllGuides = 7,// both web guides and integrated guides
39
+ WebGuides = 8,// web guides
40
+ IntegratedGuides = 9,// integrated guides
41
+ UsableInGame = 10,// ready-to-use items and integrated guides
42
+ ControllerBindings = 11,// controller bindings
43
+ GameManagedItems = 12,// game managed items (not managed by users)
44
+ All = -1
45
+ }
46
+ /**
47
+ * Different lists of published UGC for a user
48
+ */
49
+ export declare enum EUserUGCList {
50
+ Published = 0,
51
+ VotedOn = 1,
52
+ VotedUp = 2,
53
+ VotedDown = 3,
54
+ WillVoteLater = 4,
55
+ Favorited = 5,
56
+ Subscribed = 6,
57
+ UsedOrPlayed = 7,
58
+ Followed = 8
59
+ }
60
+ /**
61
+ * Sort order for user published UGC lists
62
+ */
63
+ export declare enum EUserUGCListSortOrder {
64
+ CreationOrderDesc = 0,
65
+ CreationOrderAsc = 1,
66
+ TitleAsc = 2,
67
+ LastUpdatedDesc = 3,
68
+ SubscriptionDateDesc = 4,
69
+ VoteScoreDesc = 5,
70
+ ForModeration = 6
71
+ }
72
+ /**
73
+ * Sorting and filtering for queries across all UGC
74
+ */
75
+ export declare enum EUGCQuery {
76
+ RankedByVote = 0,
77
+ RankedByPublicationDate = 1,
78
+ AcceptedForGameRankedByAcceptanceDate = 2,
79
+ RankedByTrend = 3,
80
+ FavoritedByFriendsRankedByPublicationDate = 4,
81
+ CreatedByFriendsRankedByPublicationDate = 5,
82
+ RankedByNumTimesReported = 6,
83
+ CreatedByFollowedUsersRankedByPublicationDate = 7,
84
+ NotYetRated = 8,
85
+ RankedByTotalVotesAsc = 9,
86
+ RankedByVotesUp = 10,
87
+ RankedByTextSearch = 11,
88
+ RankedByTotalUniqueSubscriptions = 12,
89
+ RankedByPlaytimeTrend = 13,
90
+ RankedByTotalPlaytime = 14,
91
+ RankedByAveragePlaytimeTrend = 15,
92
+ RankedByLifetimeAveragePlaytime = 16,
93
+ RankedByPlaytimeSessionsTrend = 17,
94
+ RankedByLifetimePlaytimeSessions = 18,
95
+ RankedByLastUpdatedDate = 19
96
+ }
97
+ /**
98
+ * Item update status
99
+ */
100
+ export declare enum EItemUpdateStatus {
101
+ Invalid = 0,// The item update handle was invalid
102
+ PreparingConfig = 1,// Processing configuration data
103
+ PreparingContent = 2,// Reading and processing content files
104
+ UploadingContent = 3,// Uploading content changes to Steam
105
+ UploadingPreviewFile = 4,// Uploading new preview file image
106
+ CommittingChanges = 5
107
+ }
108
+ /**
109
+ * Item state flags
110
+ */
111
+ export declare enum EItemState {
112
+ None = 0,// item not tracked on client
113
+ Subscribed = 1,// current user is subscribed to this item
114
+ LegacyItem = 2,// item was created with ISteamRemoteStorage
115
+ Installed = 4,// item is installed and usable (but maybe out of date)
116
+ NeedsUpdate = 8,// item needs an update
117
+ Downloading = 16,// item update is currently downloading
118
+ DownloadPending = 32,// DownloadItem() was called, content isn't available yet
119
+ DisabledLocally = 64
120
+ }
121
+ /**
122
+ * Item statistics
123
+ */
124
+ export declare enum EItemStatistic {
125
+ NumSubscriptions = 0,
126
+ NumFavorites = 1,
127
+ NumFollowers = 2,
128
+ NumUniqueSubscriptions = 3,
129
+ NumUniqueFavorites = 4,
130
+ NumUniqueFollowers = 5,
131
+ NumUniqueWebsiteViews = 6,
132
+ ReportScore = 7,
133
+ NumSecondsPlayed = 8,
134
+ NumPlaytimeSessions = 9,
135
+ NumComments = 10,
136
+ NumSecondsPlayedDuringTimePeriod = 11,
137
+ NumPlaytimeSessionsDuringTimePeriod = 12
138
+ }
139
+ /**
140
+ * Item preview types
141
+ */
142
+ export declare enum EItemPreviewType {
143
+ Image = 0,// standard image file
144
+ YouTubeVideo = 1,// video id is stored
145
+ Sketchfab = 2,// model id is stored
146
+ EnvironmentMap_HorizontalCross = 3,// cube map in horizontal cross layout
147
+ EnvironmentMap_LatLong = 4,// standard lat/long layout
148
+ Clip = 5,// clip id is stored
149
+ ReservedMax = 255
150
+ }
151
+ /**
152
+ * Workshop file type (from ISteamRemoteStorage)
153
+ */
154
+ export declare enum EWorkshopFileType {
155
+ First = 0,
156
+ Community = 0,// normal Workshop item that can be subscribed to
157
+ Microtransaction = 1,// Workshop item that is meant to be voted on for the purpose of selling in-game
158
+ Collection = 2,// a collection of Workshop items
159
+ Art = 3,// artwork
160
+ Video = 4,// external video
161
+ Screenshot = 5,// screenshot
162
+ Game = 6,// Greenlight game entry
163
+ Software = 7,// Greenlight software entry
164
+ Concept = 8,// Greenlight concept
165
+ WebGuide = 9,// Steam web guide
166
+ IntegratedGuide = 10,// application integrated guide
167
+ Merch = 11,// Workshop merchandise meant to be voted on for the purpose of being sold
168
+ ControllerBinding = 12,// Steam Controller bindings
169
+ SteamworksAccessInvite = 13,// internal
170
+ SteamVideo = 14,// Steam video
171
+ GameManagedItem = 15,// managed completely by the game, not the user
172
+ Clip = 16,// Steam clip
173
+ Max = 17
174
+ }
175
+ /**
176
+ * Remote storage published file visibility
177
+ */
178
+ export declare enum ERemoteStoragePublishedFileVisibility {
179
+ Public = 0,
180
+ FriendsOnly = 1,
181
+ Private = 2,
182
+ Unlisted = 3
183
+ }
184
+ /**
185
+ * Maximum values
186
+ */
187
+ export declare const K_NUM_UGC_RESULTS_PER_PAGE = 50;
188
+ export declare const K_CCH_DEVELOPER_METADATA_MAX = 5000;
189
+ export declare const K_CCH_PUBLISHED_DOCUMENT_TITLE_MAX: number;
190
+ export declare const K_CCH_PUBLISHED_DOCUMENT_DESCRIPTION_MAX = 8000;
191
+ export declare const K_CCH_TAG_LIST_MAX: number;
192
+ export declare const K_CCH_FILENAME_MAX = 260;
193
+ export declare const K_CCH_PUBLISHED_FILE_URL_MAX = 256;
194
+ /**
195
+ * Details for a single published file/UGC
196
+ */
197
+ export interface WorkshopItem {
198
+ publishedFileId: PublishedFileId;
199
+ result: number;
200
+ fileType: EWorkshopFileType;
201
+ creatorAppID: number;
202
+ consumerAppID: number;
203
+ title: string;
204
+ description: string;
205
+ steamIDOwner: bigint;
206
+ timeCreated: number;
207
+ timeUpdated: number;
208
+ timeAddedToUserList: number;
209
+ visibility: ERemoteStoragePublishedFileVisibility;
210
+ banned: boolean;
211
+ acceptedForUse: boolean;
212
+ tagsTruncated: boolean;
213
+ tags: string[];
214
+ file: UGCHandle;
215
+ previewFile: UGCHandle;
216
+ fileName: string;
217
+ fileSize: number;
218
+ previewFileSize: number;
219
+ url: string;
220
+ votesUp: number;
221
+ votesDown: number;
222
+ score: number;
223
+ numChildren: number;
224
+ totalFilesSize: bigint;
225
+ }
226
+ /**
227
+ * Result of a UGC query
228
+ */
229
+ export interface UGCQueryResult {
230
+ handle: UGCQueryHandle;
231
+ result: number;
232
+ numResultsReturned: number;
233
+ totalMatchingResults: number;
234
+ cachedData: boolean;
235
+ nextCursor?: string;
236
+ items: WorkshopItem[];
237
+ }
238
+ /**
239
+ * Item installation info
240
+ */
241
+ export interface ItemInstallInfo {
242
+ sizeOnDisk: bigint;
243
+ folder: string;
244
+ timestamp: number;
245
+ }
246
+ /**
247
+ * Item download progress
248
+ */
249
+ export interface ItemDownloadInfo {
250
+ bytesDownloaded: bigint;
251
+ bytesTotal: bigint;
252
+ percentComplete: number;
253
+ }
254
+ /**
255
+ * Item update progress
256
+ */
257
+ export interface ItemUpdateProgress {
258
+ status: EItemUpdateStatus;
259
+ bytesProcessed: bigint;
260
+ bytesTotal: bigint;
261
+ percentComplete: number;
262
+ }
263
+ /**
264
+ * Create item result
265
+ */
266
+ export interface CreateItemResult {
267
+ success: boolean;
268
+ result: number;
269
+ publishedFileId: PublishedFileId;
270
+ userNeedsToAcceptWorkshopLegalAgreement: boolean;
271
+ }
272
+ /**
273
+ * Submit item update result
274
+ */
275
+ export interface SubmitItemUpdateResult {
276
+ success: boolean;
277
+ result: number;
278
+ userNeedsToAcceptWorkshopLegalAgreement: boolean;
279
+ publishedFileId: PublishedFileId;
280
+ }
281
+ /**
282
+ * User vote result
283
+ */
284
+ export interface UserItemVoteResult {
285
+ publishedFileId: PublishedFileId;
286
+ voteUp: boolean;
287
+ voteDown: boolean;
288
+ voteSkipped: boolean;
289
+ }
290
+ /**
291
+ * Workshop constants
292
+ */
293
+ export declare const WorkshopConstants: {
294
+ readonly MAX_RESULTS_PER_PAGE: 50;
295
+ readonly MAX_DEVELOPER_METADATA: 5000;
296
+ readonly MAX_TITLE_LENGTH: number;
297
+ readonly MAX_DESCRIPTION_LENGTH: 8000;
298
+ readonly MAX_TAG_LIST_LENGTH: number;
299
+ readonly MAX_FILENAME_LENGTH: 260;
300
+ readonly MAX_URL_LENGTH: 256;
301
+ };
302
+ //# sourceMappingURL=workshop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workshop.d.ts","sourceRoot":"","sources":["../../src/types/workshop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+ /**
3
+ * Steam Workshop / UGC Type Definitions
4
+ *
5
+ * Types for Steam Workshop user-generated content system
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.WorkshopConstants = exports.K_CCH_PUBLISHED_FILE_URL_MAX = exports.K_CCH_FILENAME_MAX = exports.K_CCH_TAG_LIST_MAX = exports.K_CCH_PUBLISHED_DOCUMENT_DESCRIPTION_MAX = exports.K_CCH_PUBLISHED_DOCUMENT_TITLE_MAX = exports.K_CCH_DEVELOPER_METADATA_MAX = exports.K_NUM_UGC_RESULTS_PER_PAGE = exports.ERemoteStoragePublishedFileVisibility = exports.EWorkshopFileType = exports.EItemPreviewType = exports.EItemStatistic = exports.EItemState = exports.EItemUpdateStatus = exports.EUGCQuery = exports.EUserUGCListSortOrder = exports.EUserUGCList = exports.EUGCMatchingUGCType = exports.K_UGC_UPDATE_HANDLE_INVALID = exports.K_UGC_QUERY_HANDLE_INVALID = void 0;
9
+ /**
10
+ * Invalid handle constants
11
+ */
12
+ exports.K_UGC_QUERY_HANDLE_INVALID = BigInt('0xffffffffffffffff');
13
+ exports.K_UGC_UPDATE_HANDLE_INVALID = BigInt('0xffffffffffffffff');
14
+ /**
15
+ * Matching UGC types for queries
16
+ */
17
+ var EUGCMatchingUGCType;
18
+ (function (EUGCMatchingUGCType) {
19
+ EUGCMatchingUGCType[EUGCMatchingUGCType["Items"] = 0] = "Items";
20
+ EUGCMatchingUGCType[EUGCMatchingUGCType["Items_Mtx"] = 1] = "Items_Mtx";
21
+ EUGCMatchingUGCType[EUGCMatchingUGCType["Items_ReadyToUse"] = 2] = "Items_ReadyToUse";
22
+ EUGCMatchingUGCType[EUGCMatchingUGCType["Collections"] = 3] = "Collections";
23
+ EUGCMatchingUGCType[EUGCMatchingUGCType["Artwork"] = 4] = "Artwork";
24
+ EUGCMatchingUGCType[EUGCMatchingUGCType["Videos"] = 5] = "Videos";
25
+ EUGCMatchingUGCType[EUGCMatchingUGCType["Screenshots"] = 6] = "Screenshots";
26
+ EUGCMatchingUGCType[EUGCMatchingUGCType["AllGuides"] = 7] = "AllGuides";
27
+ EUGCMatchingUGCType[EUGCMatchingUGCType["WebGuides"] = 8] = "WebGuides";
28
+ EUGCMatchingUGCType[EUGCMatchingUGCType["IntegratedGuides"] = 9] = "IntegratedGuides";
29
+ EUGCMatchingUGCType[EUGCMatchingUGCType["UsableInGame"] = 10] = "UsableInGame";
30
+ EUGCMatchingUGCType[EUGCMatchingUGCType["ControllerBindings"] = 11] = "ControllerBindings";
31
+ EUGCMatchingUGCType[EUGCMatchingUGCType["GameManagedItems"] = 12] = "GameManagedItems";
32
+ EUGCMatchingUGCType[EUGCMatchingUGCType["All"] = -1] = "All"; // all types (only valid for CreateQueryUserUGCRequest)
33
+ })(EUGCMatchingUGCType || (exports.EUGCMatchingUGCType = EUGCMatchingUGCType = {}));
34
+ /**
35
+ * Different lists of published UGC for a user
36
+ */
37
+ var EUserUGCList;
38
+ (function (EUserUGCList) {
39
+ EUserUGCList[EUserUGCList["Published"] = 0] = "Published";
40
+ EUserUGCList[EUserUGCList["VotedOn"] = 1] = "VotedOn";
41
+ EUserUGCList[EUserUGCList["VotedUp"] = 2] = "VotedUp";
42
+ EUserUGCList[EUserUGCList["VotedDown"] = 3] = "VotedDown";
43
+ EUserUGCList[EUserUGCList["WillVoteLater"] = 4] = "WillVoteLater";
44
+ EUserUGCList[EUserUGCList["Favorited"] = 5] = "Favorited";
45
+ EUserUGCList[EUserUGCList["Subscribed"] = 6] = "Subscribed";
46
+ EUserUGCList[EUserUGCList["UsedOrPlayed"] = 7] = "UsedOrPlayed";
47
+ EUserUGCList[EUserUGCList["Followed"] = 8] = "Followed";
48
+ })(EUserUGCList || (exports.EUserUGCList = EUserUGCList = {}));
49
+ /**
50
+ * Sort order for user published UGC lists
51
+ */
52
+ var EUserUGCListSortOrder;
53
+ (function (EUserUGCListSortOrder) {
54
+ EUserUGCListSortOrder[EUserUGCListSortOrder["CreationOrderDesc"] = 0] = "CreationOrderDesc";
55
+ EUserUGCListSortOrder[EUserUGCListSortOrder["CreationOrderAsc"] = 1] = "CreationOrderAsc";
56
+ EUserUGCListSortOrder[EUserUGCListSortOrder["TitleAsc"] = 2] = "TitleAsc";
57
+ EUserUGCListSortOrder[EUserUGCListSortOrder["LastUpdatedDesc"] = 3] = "LastUpdatedDesc";
58
+ EUserUGCListSortOrder[EUserUGCListSortOrder["SubscriptionDateDesc"] = 4] = "SubscriptionDateDesc";
59
+ EUserUGCListSortOrder[EUserUGCListSortOrder["VoteScoreDesc"] = 5] = "VoteScoreDesc";
60
+ EUserUGCListSortOrder[EUserUGCListSortOrder["ForModeration"] = 6] = "ForModeration";
61
+ })(EUserUGCListSortOrder || (exports.EUserUGCListSortOrder = EUserUGCListSortOrder = {}));
62
+ /**
63
+ * Sorting and filtering for queries across all UGC
64
+ */
65
+ var EUGCQuery;
66
+ (function (EUGCQuery) {
67
+ EUGCQuery[EUGCQuery["RankedByVote"] = 0] = "RankedByVote";
68
+ EUGCQuery[EUGCQuery["RankedByPublicationDate"] = 1] = "RankedByPublicationDate";
69
+ EUGCQuery[EUGCQuery["AcceptedForGameRankedByAcceptanceDate"] = 2] = "AcceptedForGameRankedByAcceptanceDate";
70
+ EUGCQuery[EUGCQuery["RankedByTrend"] = 3] = "RankedByTrend";
71
+ EUGCQuery[EUGCQuery["FavoritedByFriendsRankedByPublicationDate"] = 4] = "FavoritedByFriendsRankedByPublicationDate";
72
+ EUGCQuery[EUGCQuery["CreatedByFriendsRankedByPublicationDate"] = 5] = "CreatedByFriendsRankedByPublicationDate";
73
+ EUGCQuery[EUGCQuery["RankedByNumTimesReported"] = 6] = "RankedByNumTimesReported";
74
+ EUGCQuery[EUGCQuery["CreatedByFollowedUsersRankedByPublicationDate"] = 7] = "CreatedByFollowedUsersRankedByPublicationDate";
75
+ EUGCQuery[EUGCQuery["NotYetRated"] = 8] = "NotYetRated";
76
+ EUGCQuery[EUGCQuery["RankedByTotalVotesAsc"] = 9] = "RankedByTotalVotesAsc";
77
+ EUGCQuery[EUGCQuery["RankedByVotesUp"] = 10] = "RankedByVotesUp";
78
+ EUGCQuery[EUGCQuery["RankedByTextSearch"] = 11] = "RankedByTextSearch";
79
+ EUGCQuery[EUGCQuery["RankedByTotalUniqueSubscriptions"] = 12] = "RankedByTotalUniqueSubscriptions";
80
+ EUGCQuery[EUGCQuery["RankedByPlaytimeTrend"] = 13] = "RankedByPlaytimeTrend";
81
+ EUGCQuery[EUGCQuery["RankedByTotalPlaytime"] = 14] = "RankedByTotalPlaytime";
82
+ EUGCQuery[EUGCQuery["RankedByAveragePlaytimeTrend"] = 15] = "RankedByAveragePlaytimeTrend";
83
+ EUGCQuery[EUGCQuery["RankedByLifetimeAveragePlaytime"] = 16] = "RankedByLifetimeAveragePlaytime";
84
+ EUGCQuery[EUGCQuery["RankedByPlaytimeSessionsTrend"] = 17] = "RankedByPlaytimeSessionsTrend";
85
+ EUGCQuery[EUGCQuery["RankedByLifetimePlaytimeSessions"] = 18] = "RankedByLifetimePlaytimeSessions";
86
+ EUGCQuery[EUGCQuery["RankedByLastUpdatedDate"] = 19] = "RankedByLastUpdatedDate";
87
+ })(EUGCQuery || (exports.EUGCQuery = EUGCQuery = {}));
88
+ /**
89
+ * Item update status
90
+ */
91
+ var EItemUpdateStatus;
92
+ (function (EItemUpdateStatus) {
93
+ EItemUpdateStatus[EItemUpdateStatus["Invalid"] = 0] = "Invalid";
94
+ EItemUpdateStatus[EItemUpdateStatus["PreparingConfig"] = 1] = "PreparingConfig";
95
+ EItemUpdateStatus[EItemUpdateStatus["PreparingContent"] = 2] = "PreparingContent";
96
+ EItemUpdateStatus[EItemUpdateStatus["UploadingContent"] = 3] = "UploadingContent";
97
+ EItemUpdateStatus[EItemUpdateStatus["UploadingPreviewFile"] = 4] = "UploadingPreviewFile";
98
+ EItemUpdateStatus[EItemUpdateStatus["CommittingChanges"] = 5] = "CommittingChanges"; // Committing all changes
99
+ })(EItemUpdateStatus || (exports.EItemUpdateStatus = EItemUpdateStatus = {}));
100
+ /**
101
+ * Item state flags
102
+ */
103
+ var EItemState;
104
+ (function (EItemState) {
105
+ EItemState[EItemState["None"] = 0] = "None";
106
+ EItemState[EItemState["Subscribed"] = 1] = "Subscribed";
107
+ EItemState[EItemState["LegacyItem"] = 2] = "LegacyItem";
108
+ EItemState[EItemState["Installed"] = 4] = "Installed";
109
+ EItemState[EItemState["NeedsUpdate"] = 8] = "NeedsUpdate";
110
+ EItemState[EItemState["Downloading"] = 16] = "Downloading";
111
+ EItemState[EItemState["DownloadPending"] = 32] = "DownloadPending";
112
+ EItemState[EItemState["DisabledLocally"] = 64] = "DisabledLocally"; // Item is disabled locally
113
+ })(EItemState || (exports.EItemState = EItemState = {}));
114
+ /**
115
+ * Item statistics
116
+ */
117
+ var EItemStatistic;
118
+ (function (EItemStatistic) {
119
+ EItemStatistic[EItemStatistic["NumSubscriptions"] = 0] = "NumSubscriptions";
120
+ EItemStatistic[EItemStatistic["NumFavorites"] = 1] = "NumFavorites";
121
+ EItemStatistic[EItemStatistic["NumFollowers"] = 2] = "NumFollowers";
122
+ EItemStatistic[EItemStatistic["NumUniqueSubscriptions"] = 3] = "NumUniqueSubscriptions";
123
+ EItemStatistic[EItemStatistic["NumUniqueFavorites"] = 4] = "NumUniqueFavorites";
124
+ EItemStatistic[EItemStatistic["NumUniqueFollowers"] = 5] = "NumUniqueFollowers";
125
+ EItemStatistic[EItemStatistic["NumUniqueWebsiteViews"] = 6] = "NumUniqueWebsiteViews";
126
+ EItemStatistic[EItemStatistic["ReportScore"] = 7] = "ReportScore";
127
+ EItemStatistic[EItemStatistic["NumSecondsPlayed"] = 8] = "NumSecondsPlayed";
128
+ EItemStatistic[EItemStatistic["NumPlaytimeSessions"] = 9] = "NumPlaytimeSessions";
129
+ EItemStatistic[EItemStatistic["NumComments"] = 10] = "NumComments";
130
+ EItemStatistic[EItemStatistic["NumSecondsPlayedDuringTimePeriod"] = 11] = "NumSecondsPlayedDuringTimePeriod";
131
+ EItemStatistic[EItemStatistic["NumPlaytimeSessionsDuringTimePeriod"] = 12] = "NumPlaytimeSessionsDuringTimePeriod";
132
+ })(EItemStatistic || (exports.EItemStatistic = EItemStatistic = {}));
133
+ /**
134
+ * Item preview types
135
+ */
136
+ var EItemPreviewType;
137
+ (function (EItemPreviewType) {
138
+ EItemPreviewType[EItemPreviewType["Image"] = 0] = "Image";
139
+ EItemPreviewType[EItemPreviewType["YouTubeVideo"] = 1] = "YouTubeVideo";
140
+ EItemPreviewType[EItemPreviewType["Sketchfab"] = 2] = "Sketchfab";
141
+ EItemPreviewType[EItemPreviewType["EnvironmentMap_HorizontalCross"] = 3] = "EnvironmentMap_HorizontalCross";
142
+ EItemPreviewType[EItemPreviewType["EnvironmentMap_LatLong"] = 4] = "EnvironmentMap_LatLong";
143
+ EItemPreviewType[EItemPreviewType["Clip"] = 5] = "Clip";
144
+ EItemPreviewType[EItemPreviewType["ReservedMax"] = 255] = "ReservedMax"; // custom types above this value
145
+ })(EItemPreviewType || (exports.EItemPreviewType = EItemPreviewType = {}));
146
+ /**
147
+ * Workshop file type (from ISteamRemoteStorage)
148
+ */
149
+ var EWorkshopFileType;
150
+ (function (EWorkshopFileType) {
151
+ EWorkshopFileType[EWorkshopFileType["First"] = 0] = "First";
152
+ EWorkshopFileType[EWorkshopFileType["Community"] = 0] = "Community";
153
+ EWorkshopFileType[EWorkshopFileType["Microtransaction"] = 1] = "Microtransaction";
154
+ EWorkshopFileType[EWorkshopFileType["Collection"] = 2] = "Collection";
155
+ EWorkshopFileType[EWorkshopFileType["Art"] = 3] = "Art";
156
+ EWorkshopFileType[EWorkshopFileType["Video"] = 4] = "Video";
157
+ EWorkshopFileType[EWorkshopFileType["Screenshot"] = 5] = "Screenshot";
158
+ EWorkshopFileType[EWorkshopFileType["Game"] = 6] = "Game";
159
+ EWorkshopFileType[EWorkshopFileType["Software"] = 7] = "Software";
160
+ EWorkshopFileType[EWorkshopFileType["Concept"] = 8] = "Concept";
161
+ EWorkshopFileType[EWorkshopFileType["WebGuide"] = 9] = "WebGuide";
162
+ EWorkshopFileType[EWorkshopFileType["IntegratedGuide"] = 10] = "IntegratedGuide";
163
+ EWorkshopFileType[EWorkshopFileType["Merch"] = 11] = "Merch";
164
+ EWorkshopFileType[EWorkshopFileType["ControllerBinding"] = 12] = "ControllerBinding";
165
+ EWorkshopFileType[EWorkshopFileType["SteamworksAccessInvite"] = 13] = "SteamworksAccessInvite";
166
+ EWorkshopFileType[EWorkshopFileType["SteamVideo"] = 14] = "SteamVideo";
167
+ EWorkshopFileType[EWorkshopFileType["GameManagedItem"] = 15] = "GameManagedItem";
168
+ EWorkshopFileType[EWorkshopFileType["Clip"] = 16] = "Clip";
169
+ EWorkshopFileType[EWorkshopFileType["Max"] = 17] = "Max";
170
+ })(EWorkshopFileType || (exports.EWorkshopFileType = EWorkshopFileType = {}));
171
+ /**
172
+ * Remote storage published file visibility
173
+ */
174
+ var ERemoteStoragePublishedFileVisibility;
175
+ (function (ERemoteStoragePublishedFileVisibility) {
176
+ ERemoteStoragePublishedFileVisibility[ERemoteStoragePublishedFileVisibility["Public"] = 0] = "Public";
177
+ ERemoteStoragePublishedFileVisibility[ERemoteStoragePublishedFileVisibility["FriendsOnly"] = 1] = "FriendsOnly";
178
+ ERemoteStoragePublishedFileVisibility[ERemoteStoragePublishedFileVisibility["Private"] = 2] = "Private";
179
+ ERemoteStoragePublishedFileVisibility[ERemoteStoragePublishedFileVisibility["Unlisted"] = 3] = "Unlisted";
180
+ })(ERemoteStoragePublishedFileVisibility || (exports.ERemoteStoragePublishedFileVisibility = ERemoteStoragePublishedFileVisibility = {}));
181
+ /**
182
+ * Maximum values
183
+ */
184
+ exports.K_NUM_UGC_RESULTS_PER_PAGE = 50;
185
+ exports.K_CCH_DEVELOPER_METADATA_MAX = 5000;
186
+ exports.K_CCH_PUBLISHED_DOCUMENT_TITLE_MAX = 128 + 1;
187
+ exports.K_CCH_PUBLISHED_DOCUMENT_DESCRIPTION_MAX = 8000;
188
+ exports.K_CCH_TAG_LIST_MAX = 1024 + 1;
189
+ exports.K_CCH_FILENAME_MAX = 260;
190
+ exports.K_CCH_PUBLISHED_FILE_URL_MAX = 256;
191
+ /**
192
+ * Workshop constants
193
+ */
194
+ exports.WorkshopConstants = {
195
+ MAX_RESULTS_PER_PAGE: exports.K_NUM_UGC_RESULTS_PER_PAGE,
196
+ MAX_DEVELOPER_METADATA: exports.K_CCH_DEVELOPER_METADATA_MAX,
197
+ MAX_TITLE_LENGTH: exports.K_CCH_PUBLISHED_DOCUMENT_TITLE_MAX,
198
+ MAX_DESCRIPTION_LENGTH: exports.K_CCH_PUBLISHED_DOCUMENT_DESCRIPTION_MAX,
199
+ MAX_TAG_LIST_LENGTH: exports.K_CCH_TAG_LIST_MAX,
200
+ MAX_FILENAME_LENGTH: exports.K_CCH_FILENAME_MAX,
201
+ MAX_URL_LENGTH: exports.K_CCH_PUBLISHED_FILE_URL_MAX
202
+ };
203
+ //# sourceMappingURL=workshop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workshop.js","sourceRoot":"","sources":["../../src/types/workshop.ts"],"names":[],"mappings":"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"}
package/docs/README.md CHANGED
@@ -20,6 +20,7 @@ steam.friends.* // Friends and social operations
20
20
  steam.richPresence.* // Rich Presence operations
21
21
  steam.overlay.* // Overlay control operations
22
22
  steam.cloud.* // Cloud storage operations
23
+ steam.workshop.* // Workshop/UGC operations
23
24
  ```
24
25
 
25
26
  This design:
@@ -102,6 +103,15 @@ This design:
102
103
  - Quota management (track storage usage and limits)
103
104
  - Cloud settings (check/toggle cloud sync for account and app)
104
105
 
106
+ ### Workshop System
107
+ - **[Workshop Manager API](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/WORKSHOP_MANAGER.md)**
108
+ - **25+ Functions** - Complete Steam Workshop/UGC support
109
+ - Subscription management (subscribe, unsubscribe, list items)
110
+ - Item state & information (download progress, installation info)
111
+ - Query operations (search, browse, filter Workshop content)
112
+ - Item creation & update (create, upload, manage your Workshop items)
113
+ - Voting & favorites (vote on items, manage favorites)
114
+
105
115
  ## 🚀 Quick Links
106
116
 
107
117
  ### Getting Started
@@ -118,6 +128,7 @@ This design:
118
128
  - Run Friends Tests: `npm run test:friends:js` - Tests all 22 friends functions
119
129
  - Run Cloud Tests: `npm run test:cloud:js` - Tests all 14 cloud storage functions
120
130
  - Run Rich Presence & Overlay Tests: `npm run test:richpresence-overlay:js` - Tests 6 rich presence + 7 overlay functions
131
+ - Run Workshop Tests: `npm run test:workshop:js` - Tests all 25+ Workshop/UGC functions
121
132
 
122
133
  **TypeScript Tests** (Development - Direct src/ imports, no rebuild needed):
123
134
  - Run Achievement Tests: `npm run test:achievements:ts` - With type safety ✨
@@ -126,6 +137,7 @@ This design:
126
137
  - Run Friends Tests: `npm run test:friends:ts` - With type safety ✨
127
138
  - Run Cloud Tests: `npm run test:cloud:ts` - With type safety ✨
128
139
  - Run Rich Presence & Overlay Tests: `npm run test:richpresence-overlay:ts` - With type safety ✨
140
+ - Run Workshop Tests: `npm run test:workshop:ts` - With type safety ✨
129
141
 
130
142
  📁 All tests are in `tests/` folder with separate `js/` and `ts/` subfolders.
131
143
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "steamworks-ffi-node",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
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",
@@ -14,12 +14,14 @@
14
14
  "test:leaderboards:js": "node tests/js/test-complete-leaderboards.js",
15
15
  "test:friends:js": "node tests/js/test-complete-friends.js",
16
16
  "test:cloud:js": "node tests/js/test-complete-cloud.js",
17
+ "test:workshop:js": "node tests/js/test-workshop.js",
17
18
  "test:richpresence-overlay:js": "node tests/js/test-richpresence-overlay.js",
18
19
  "test:achievements:ts": "ts-node tests/ts/test-complete-achievements.ts",
19
20
  "test:stats:ts": "ts-node tests/ts/test-complete-stats.ts",
20
21
  "test:leaderboards:ts": "ts-node tests/ts/test-complete-leaderboards.ts",
21
22
  "test:friends:ts": "ts-node tests/ts/test-complete-friends.ts",
22
23
  "test:cloud:ts": "ts-node tests/ts/test-complete-cloud.ts",
24
+ "test:workshop:ts": "ts-node tests/ts/test-workshop.ts",
23
25
  "test:richpresence-overlay:ts": "ts-node tests/ts/test-richpresence-overlay.ts",
24
26
  "prepublishOnly": "npm run build"
25
27
  },