@playdrop/playdrop-cli 0.18.0 → 0.18.8

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 (59) hide show
  1. package/config/client-meta.json +2 -2
  2. package/dist/commands/devServer.d.ts +2 -1
  3. package/dist/commands/devServer.js +48 -1
  4. package/dist/commands/worker/game-source-git.d.ts +1 -0
  5. package/dist/commands/worker/game-source-git.js +32 -0
  6. package/dist/commands/worker/instrument-evidence.d.ts +1 -0
  7. package/dist/commands/worker/instrument-evidence.js +5 -4
  8. package/dist/commands/worker.js +26 -9
  9. package/node_modules/@playdrop/api-client/dist/acquisition.d.ts +56 -0
  10. package/node_modules/@playdrop/api-client/dist/acquisition.d.ts.map +1 -0
  11. package/node_modules/@playdrop/api-client/dist/acquisition.js +319 -0
  12. package/node_modules/@playdrop/api-client/dist/attribution.d.ts +3 -0
  13. package/node_modules/@playdrop/api-client/dist/attribution.d.ts.map +1 -0
  14. package/node_modules/@playdrop/api-client/dist/attribution.js +30 -0
  15. package/node_modules/@playdrop/api-client/dist/browser-request.d.ts +23 -0
  16. package/node_modules/@playdrop/api-client/dist/browser-request.d.ts.map +1 -0
  17. package/node_modules/@playdrop/api-client/dist/browser-request.js +127 -0
  18. package/node_modules/@playdrop/api-client/dist/chat.d.ts +25 -0
  19. package/node_modules/@playdrop/api-client/dist/chat.d.ts.map +1 -0
  20. package/node_modules/@playdrop/api-client/dist/chat.js +60 -0
  21. package/node_modules/@playdrop/api-client/dist/creator-studio-assets.d.ts +9 -0
  22. package/node_modules/@playdrop/api-client/dist/creator-studio-assets.d.ts.map +1 -0
  23. package/node_modules/@playdrop/api-client/dist/creator-studio-assets.js +68 -0
  24. package/node_modules/@playdrop/api-client/dist/creator-studio-marketing.d.ts +5 -0
  25. package/node_modules/@playdrop/api-client/dist/creator-studio-marketing.d.ts.map +1 -0
  26. package/node_modules/@playdrop/api-client/dist/creator-studio-marketing.js +81 -0
  27. package/node_modules/@playdrop/api-client/dist/creator-studio-shell.d.ts +23 -0
  28. package/node_modules/@playdrop/api-client/dist/creator-studio-shell.d.ts.map +1 -0
  29. package/node_modules/@playdrop/api-client/dist/creator-studio-shell.js +100 -0
  30. package/node_modules/@playdrop/api-client/dist/creator-studio.d.ts +21 -0
  31. package/node_modules/@playdrop/api-client/dist/creator-studio.d.ts.map +1 -0
  32. package/node_modules/@playdrop/api-client/dist/creator-studio.js +191 -0
  33. package/node_modules/@playdrop/api-client/dist/index.d.ts +1 -1
  34. package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
  35. package/node_modules/@playdrop/api-client/dist/web-push.d.ts +6 -0
  36. package/node_modules/@playdrop/api-client/dist/web-push.d.ts.map +1 -0
  37. package/node_modules/@playdrop/api-client/dist/web-push.js +66 -0
  38. package/node_modules/@playdrop/api-client/package.json +49 -0
  39. package/node_modules/@playdrop/config/client-meta.json +2 -2
  40. package/node_modules/@playdrop/config/dist/test/validateClientEnvironment.test.js +2 -2
  41. package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -1
  42. package/node_modules/@playdrop/game-source-git/dist/src/git.d.ts +1 -0
  43. package/node_modules/@playdrop/game-source-git/dist/src/git.d.ts.map +1 -1
  44. package/node_modules/@playdrop/game-source-git/dist/src/git.js +12 -2
  45. package/node_modules/@playdrop/game-source-git/dist/src/repository.js +2 -2
  46. package/node_modules/@playdrop/game-source-git/dist/test/core.test.js +16 -0
  47. package/node_modules/@playdrop/game-source-git/dist/tsconfig.tsbuildinfo +1 -1
  48. package/node_modules/@playdrop/types/dist/agent-task-classification.d.ts +47 -113
  49. package/node_modules/@playdrop/types/dist/agent-task-classification.d.ts.map +1 -1
  50. package/node_modules/@playdrop/types/dist/agent-task-classification.js +25 -43
  51. package/node_modules/@playdrop/types/dist/api.d.ts +2 -2
  52. package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
  53. package/node_modules/@playdrop/types/dist/api.js +0 -1
  54. package/node_modules/@playdrop/types/dist/instrument-evidence.d.ts.map +1 -1
  55. package/node_modules/@playdrop/types/dist/instrument-evidence.js +14 -1
  56. package/node_modules/@playdrop/types/dist/version.d.ts +10 -0
  57. package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -1
  58. package/node_modules/@playdrop/types/dist/version.js +18 -0
  59. package/package.json +1 -1
@@ -0,0 +1,319 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var acquisition_exports = {};
19
+ __export(acquisition_exports, {
20
+ blockCreator: () => blockCreator,
21
+ createContentComment: () => createContentComment,
22
+ deleteContentComment: () => deleteContentComment,
23
+ dislikeContentComment: () => dislikeContentComment,
24
+ dislikeItem: () => dislikeItem,
25
+ fetchAppDetail: () => fetchAppDetail,
26
+ fetchAssetBySlug: () => fetchAssetBySlug,
27
+ fetchAssetRelated: () => fetchAssetRelated,
28
+ fetchContentComments: () => fetchContentComments,
29
+ fetchUserByUsername: () => fetchUserByUsername,
30
+ followCreator: () => followCreator,
31
+ getAppVersion: () => getAppVersion,
32
+ getCreatorGameStatus: () => getCreatorGameStatus,
33
+ getFriendLeaderboardEntries: () => getFriendLeaderboardEntries,
34
+ getLeaderboard: () => getLeaderboard,
35
+ getPlatformGameFriends: () => getPlatformGameFriends,
36
+ likeContentComment: () => likeContentComment,
37
+ likeItem: () => likeItem,
38
+ listAchievements: () => listAchievements,
39
+ listCreatorGames: () => listCreatorGames,
40
+ listLeaderboards: () => listLeaderboards,
41
+ reportComment: () => reportComment,
42
+ reportContent: () => reportContent,
43
+ reportCreator: () => reportCreator,
44
+ saveItem: () => saveItem,
45
+ trackEngagementEvent: () => trackEngagementEvent,
46
+ unblockCreator: () => unblockCreator,
47
+ undislikeContentComment: () => undislikeContentComment,
48
+ undislikeItem: () => undislikeItem,
49
+ unfollowCreator: () => unfollowCreator,
50
+ unlikeContentComment: () => unlikeContentComment,
51
+ unlikeItem: () => unlikeItem,
52
+ unsaveItem: () => unsaveItem,
53
+ updateAppVersion: () => updateAppVersion,
54
+ updateCreatorGameFeedbackStatus: () => updateCreatorGameFeedbackStatus
55
+ });
56
+ module.exports = __toCommonJS(acquisition_exports);
57
+ var import_browser_request = require("./browser-request.js");
58
+ const SAVED_ITEM_KINDS = /* @__PURE__ */ new Set(["APP", "ASSET", "PACK"]);
59
+ const ENGAGEMENT_EVENT_TYPES = /* @__PURE__ */ new Set([
60
+ "VIEW",
61
+ "LAUNCH",
62
+ "PLAY",
63
+ "DOWNLOAD",
64
+ "LIKE",
65
+ "UNLIKE",
66
+ "DISLIKE",
67
+ "UNDISLIKE",
68
+ "SAVE",
69
+ "UNSAVE",
70
+ "FOLLOW",
71
+ "UNFOLLOW"
72
+ ]);
73
+ const ENGAGEMENT_TARGET_KINDS = /* @__PURE__ */ new Set(["CREATOR", "APP", "ASSET", "PACK"]);
74
+ const APP_LAUNCH_CONTEXTS = /* @__PURE__ */ new Set(["CARD", "DETAIL", "OTHER", "PLAYTRADE", "ARENA"]);
75
+ function normalizeCreatorItemSlug(value, field) {
76
+ const normalized = typeof value === "string" ? value.trim() : "";
77
+ if (!normalized)
78
+ throw new Error(field === "creator" ? "invalid_creator_username" : "invalid_item_name");
79
+ return normalized;
80
+ }
81
+ function normalizeSavedItemKind(kind) {
82
+ if (!SAVED_ITEM_KINDS.has(kind))
83
+ throw new Error("invalid_saved_item_kind");
84
+ return kind;
85
+ }
86
+ function normalizePositiveInteger(value, errorCode) {
87
+ if (!Number.isInteger(value) || value <= 0)
88
+ throw new Error(errorCode);
89
+ return value;
90
+ }
91
+ function normalizeVersion(version) {
92
+ const normalized = typeof version === "string" ? version.trim() : "";
93
+ if (!/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/.test(normalized)) {
94
+ throw new Error("invalid_version_format");
95
+ }
96
+ return normalized;
97
+ }
98
+ function normalizeContentPath(kind, creatorUsername, itemName) {
99
+ return `${encodeURIComponent(normalizeSavedItemKind(kind))}/${encodeURIComponent(normalizeCreatorItemSlug(creatorUsername, "creator"))}/${encodeURIComponent(normalizeCreatorItemSlug(itemName, "name"))}`;
100
+ }
101
+ async function fetchAppDetail(creatorUsername, appName, options = {}) {
102
+ const params = new URLSearchParams();
103
+ if (typeof options.includeDependencies === "boolean") {
104
+ params.set("includeDependencies", options.includeDependencies ? "1" : "0");
105
+ }
106
+ if (typeof options.includeEngagement === "boolean") {
107
+ params.set("includeEngagement", options.includeEngagement ? "1" : "0");
108
+ }
109
+ if (typeof options.includeViewerState === "boolean") {
110
+ params.set("includeViewerState", options.includeViewerState ? "1" : "0");
111
+ }
112
+ const query = params.toString();
113
+ return await (0, import_browser_request.browserRequestOk)("GET", `/apps/${encodeURIComponent(normalizeCreatorItemSlug(creatorUsername, "creator"))}/${encodeURIComponent(normalizeCreatorItemSlug(appName, "name"))}${query ? `?${query}` : ""}`, "fetch_app");
114
+ }
115
+ async function fetchUserByUsername(username) {
116
+ const normalized = typeof username === "string" ? username.trim() : "";
117
+ if (!normalized)
118
+ throw new Error("invalid_username");
119
+ const response = await (0, import_browser_request.browserRequestOk)("GET", `/users/by-username/${encodeURIComponent(normalized)}`, "fetch_user_by_username");
120
+ return response.user;
121
+ }
122
+ async function fetchAssetBySlug(creatorUsername, assetName) {
123
+ const creator = normalizeCreatorItemSlug(creatorUsername, "creator");
124
+ const name = normalizeCreatorItemSlug(assetName, "name");
125
+ const response = await (0, import_browser_request.browserRequestOk)("GET", `/assets/${encodeURIComponent(creator)}/${encodeURIComponent(name)}`, "fetch_asset_by_slug");
126
+ return response.asset;
127
+ }
128
+ async function fetchAssetRelated(creatorUsername, assetName) {
129
+ const creator = normalizeCreatorItemSlug(creatorUsername, "creator");
130
+ const name = normalizeCreatorItemSlug(assetName, "name");
131
+ return await (0, import_browser_request.browserRequestOk)("GET", `/assets/${encodeURIComponent(creator)}/${encodeURIComponent(name)}/related`, "get_asset_related");
132
+ }
133
+ async function getPlatformGameFriends(appId) {
134
+ const response = await (0, import_browser_request.browserRequestOk)("GET", `/platform/apps/${encodeURIComponent(String(normalizePositiveInteger(appId, "invalid_app_id")))}/friends-playing`, "get_platform_game_friends");
135
+ return response.friends;
136
+ }
137
+ function appendTrueQuery(params, key, value) {
138
+ if (value === true)
139
+ params.set(key, "true");
140
+ }
141
+ function appendNonNegativeIntegerQuery(params, key, value) {
142
+ if (Number.isInteger(value) && Number(value) >= 0)
143
+ params.set(key, String(value));
144
+ }
145
+ async function listAchievements(appId, options = {}) {
146
+ const params = new URLSearchParams();
147
+ appendTrueQuery(params, "includeHiddenDefinitions", options.includeHiddenDefinitions);
148
+ appendTrueQuery(params, "includeRetired", options.includeRetired);
149
+ const query = params.toString();
150
+ return await (0, import_browser_request.browserRequestOk)("GET", `/v1/apps/${encodeURIComponent(String(appId))}/achievements${query ? `?${query}` : ""}`, "list_achievements");
151
+ }
152
+ async function listLeaderboards(appId, options = {}) {
153
+ const params = new URLSearchParams();
154
+ appendTrueQuery(params, "includeRetired", options.includeRetired);
155
+ const query = params.toString();
156
+ return await (0, import_browser_request.browserRequestOk)("GET", `/v1/apps/${encodeURIComponent(String(appId))}/leaderboards${query ? `?${query}` : ""}`, "list_leaderboards");
157
+ }
158
+ async function getLeaderboard(appId, key, options = {}) {
159
+ const params = new URLSearchParams();
160
+ appendNonNegativeIntegerQuery(params, "top", options.top);
161
+ appendNonNegativeIntegerQuery(params, "aroundMe", options.aroundMe);
162
+ appendTrueQuery(params, "includeRetired", options.includeRetired);
163
+ const query = params.toString();
164
+ return await (0, import_browser_request.browserRequestOk)("GET", `/v1/apps/${encodeURIComponent(String(appId))}/leaderboards/${encodeURIComponent(key)}${query ? `?${query}` : ""}`, "get_leaderboard");
165
+ }
166
+ async function getFriendLeaderboardEntries(appId, key) {
167
+ const response = await (0, import_browser_request.browserRequestOk)("GET", `/platform/apps/${encodeURIComponent(String(appId))}/leaderboards/${encodeURIComponent(key)}/friends`, "get_friend_leaderboard_entries");
168
+ return response.entries;
169
+ }
170
+ async function getAppVersion(creatorUsername, appName, version) {
171
+ return await (0, import_browser_request.browserRequestOk)("GET", `/apps/${encodeURIComponent(normalizeCreatorItemSlug(creatorUsername, "creator"))}/${encodeURIComponent(normalizeCreatorItemSlug(appName, "name"))}/versions/${encodeURIComponent(normalizeVersion(version))}`, "get_app_version");
172
+ }
173
+ async function updateAppVersion(creatorUsername, appName, version, updates) {
174
+ return await (0, import_browser_request.browserRequestOk)("PATCH", `/creators/${encodeURIComponent(normalizeCreatorItemSlug(creatorUsername, "creator"))}/apps/${encodeURIComponent(normalizeCreatorItemSlug(appName, "name"))}/versions/${encodeURIComponent(version)}`, "update_app_version", updates);
175
+ }
176
+ async function getCreatorGameStatus(gameRef) {
177
+ const normalized = typeof gameRef === "string" ? gameRef.trim() : "";
178
+ if (!normalized)
179
+ throw new Error("invalid_creator_game_ref");
180
+ return await (0, import_browser_request.browserRequestOk)("GET", `/me/creator-games/${encodeURIComponent(normalized)}/status`, "get_creator_game_status");
181
+ }
182
+ async function listCreatorGames(options = {}) {
183
+ const params = new URLSearchParams();
184
+ if (typeof options.limit === "number" && Number.isFinite(options.limit)) {
185
+ params.set("limit", String(options.limit));
186
+ }
187
+ if (typeof options.offset === "number" && Number.isFinite(options.offset)) {
188
+ params.set("offset", String(options.offset));
189
+ }
190
+ const query = params.toString();
191
+ return (0, import_browser_request.browserRequestOk)("GET", `/me/creator-games${query ? `?${query}` : ""}`, "list_creator_games", void 0, options.signal ? { signal: options.signal } : void 0);
192
+ }
193
+ async function updateCreatorGameFeedbackStatus(gameRef, appVersionId, creatorFeedbackStatus, comment) {
194
+ const normalized = typeof gameRef === "string" ? gameRef.trim() : "";
195
+ if (!normalized)
196
+ throw new Error("invalid_creator_game_ref");
197
+ return await (0, import_browser_request.browserRequestOk)("POST", `/me/creator-games/${encodeURIComponent(normalized)}/creator-feedback-status`, "update_creator_game_feedback_status", {
198
+ appVersionId: normalizePositiveInteger(appVersionId, "invalid_app_version_id"),
199
+ creatorFeedbackStatus,
200
+ ...comment?.trim() ? { comment: comment.trim() } : {}
201
+ });
202
+ }
203
+ async function trackEngagementEvent(payload) {
204
+ if (!ENGAGEMENT_EVENT_TYPES.has(payload.eventType))
205
+ throw new Error("invalid_engagement_event_type");
206
+ if (!ENGAGEMENT_TARGET_KINDS.has(payload.targetKind))
207
+ throw new Error("invalid_engagement_target_kind");
208
+ const creatorUsername = normalizeCreatorItemSlug(payload.creatorUsername, "creator");
209
+ const itemName = payload.itemName === void 0 ? void 0 : normalizeCreatorItemSlug(payload.itemName, "name");
210
+ const launchContext = payload.launchContext && APP_LAUNCH_CONTEXTS.has(payload.launchContext) ? payload.launchContext : void 0;
211
+ return await (0, import_browser_request.browserRequestOk)("POST", "/engagement-events", "track_engagement_event", {
212
+ eventType: payload.eventType,
213
+ targetKind: payload.targetKind,
214
+ creatorUsername,
215
+ ...itemName === void 0 ? {} : { itemName },
216
+ ...launchContext ? { launchContext } : {}
217
+ });
218
+ }
219
+ async function saveItem(kind, creatorUsername, itemName) {
220
+ return await (0, import_browser_request.browserRequestOk)("PUT", `/me/saved-items/${normalizeContentPath(kind, creatorUsername, itemName)}`, "save_item");
221
+ }
222
+ async function unsaveItem(kind, creatorUsername, itemName) {
223
+ return await (0, import_browser_request.browserRequestOk)("DELETE", `/me/saved-items/${normalizeContentPath(kind, creatorUsername, itemName)}`, "unsave_item");
224
+ }
225
+ async function likeItem(kind, creatorUsername, itemName) {
226
+ return await (0, import_browser_request.browserRequestOk)("PUT", `/me/likes/${normalizeContentPath(kind, creatorUsername, itemName)}`, "like_item");
227
+ }
228
+ async function unlikeItem(kind, creatorUsername, itemName) {
229
+ return await (0, import_browser_request.browserRequestOk)("DELETE", `/me/likes/${normalizeContentPath(kind, creatorUsername, itemName)}`, "unlike_item");
230
+ }
231
+ async function dislikeItem(kind, creatorUsername, itemName) {
232
+ return await (0, import_browser_request.browserRequestOk)("PUT", `/me/dislikes/${normalizeContentPath(kind, creatorUsername, itemName)}`, "dislike_item");
233
+ }
234
+ async function undislikeItem(kind, creatorUsername, itemName) {
235
+ return await (0, import_browser_request.browserRequestOk)("DELETE", `/me/dislikes/${normalizeContentPath(kind, creatorUsername, itemName)}`, "undislike_item");
236
+ }
237
+ async function reportContent(kind, creatorUsername, itemName, report) {
238
+ return await (0, import_browser_request.browserRequestOk)("POST", `/me/reports/content/${normalizeContentPath(kind, creatorUsername, itemName)}`, "report_content", report);
239
+ }
240
+ async function reportCreator(creatorUsername, report) {
241
+ return await (0, import_browser_request.browserRequestOk)("POST", `/me/reports/creators/${encodeURIComponent(normalizeCreatorItemSlug(creatorUsername, "creator"))}`, "report_creator", report);
242
+ }
243
+ async function followCreator(creatorUsername) {
244
+ return await (0, import_browser_request.browserRequestOk)("PUT", `/me/following/${encodeURIComponent(normalizeCreatorItemSlug(creatorUsername, "creator"))}`, "follow_creator");
245
+ }
246
+ async function unfollowCreator(creatorUsername) {
247
+ return await (0, import_browser_request.browserRequestOk)("DELETE", `/me/following/${encodeURIComponent(normalizeCreatorItemSlug(creatorUsername, "creator"))}`, "unfollow_creator");
248
+ }
249
+ async function blockCreator(creatorUsername) {
250
+ return await (0, import_browser_request.browserRequestOk)("PUT", `/me/blocked-creators/${encodeURIComponent(normalizeCreatorItemSlug(creatorUsername, "creator"))}`, "block_creator");
251
+ }
252
+ async function unblockCreator(creatorUsername) {
253
+ return await (0, import_browser_request.browserRequestOk)("DELETE", `/me/blocked-creators/${encodeURIComponent(normalizeCreatorItemSlug(creatorUsername, "creator"))}`, "unblock_creator");
254
+ }
255
+ async function fetchContentComments(kind, creatorUsername, itemName) {
256
+ return await (0, import_browser_request.browserRequestOk)("GET", `/comments/${normalizeContentPath(kind, creatorUsername, itemName)}`, "fetch_content_comments");
257
+ }
258
+ async function createContentComment(kind, creatorUsername, itemName, body) {
259
+ return await (0, import_browser_request.browserRequestOk)("POST", `/me/comments/${normalizeContentPath(kind, creatorUsername, itemName)}`, "create_content_comment", body);
260
+ }
261
+ async function mutateCommentReaction(commentId, reaction, method, context) {
262
+ return await (0, import_browser_request.browserRequestOk)(method, `/me/comments/${encodeURIComponent(String(normalizePositiveInteger(commentId, "invalid_comment_id")))}/${reaction}`, context);
263
+ }
264
+ async function likeContentComment(commentId) {
265
+ return await mutateCommentReaction(commentId, "likes", "PUT", "like_content_comment");
266
+ }
267
+ async function unlikeContentComment(commentId) {
268
+ return await mutateCommentReaction(commentId, "likes", "DELETE", "unlike_content_comment");
269
+ }
270
+ async function dislikeContentComment(commentId) {
271
+ return await mutateCommentReaction(commentId, "dislikes", "PUT", "dislike_content_comment");
272
+ }
273
+ async function undislikeContentComment(commentId) {
274
+ return await mutateCommentReaction(commentId, "dislikes", "DELETE", "undislike_content_comment");
275
+ }
276
+ async function reportComment(commentId, report) {
277
+ return await (0, import_browser_request.browserRequestOk)("POST", `/me/reports/comments/${encodeURIComponent(String(normalizePositiveInteger(commentId, "invalid_comment_id")))}`, "report_comment", report);
278
+ }
279
+ async function deleteContentComment(commentId) {
280
+ return await (0, import_browser_request.browserRequestOk)("DELETE", `/me/comments/${encodeURIComponent(String(normalizePositiveInteger(commentId, "invalid_comment_id")))}`, "delete_content_comment");
281
+ }
282
+ // Annotate the CommonJS export names for ESM import in node:
283
+ 0 && (module.exports = {
284
+ blockCreator,
285
+ createContentComment,
286
+ deleteContentComment,
287
+ dislikeContentComment,
288
+ dislikeItem,
289
+ fetchAppDetail,
290
+ fetchAssetBySlug,
291
+ fetchAssetRelated,
292
+ fetchContentComments,
293
+ fetchUserByUsername,
294
+ followCreator,
295
+ getAppVersion,
296
+ getCreatorGameStatus,
297
+ getFriendLeaderboardEntries,
298
+ getLeaderboard,
299
+ getPlatformGameFriends,
300
+ likeContentComment,
301
+ likeItem,
302
+ listAchievements,
303
+ listCreatorGames,
304
+ listLeaderboards,
305
+ reportComment,
306
+ reportContent,
307
+ reportCreator,
308
+ saveItem,
309
+ trackEngagementEvent,
310
+ unblockCreator,
311
+ undislikeContentComment,
312
+ undislikeItem,
313
+ unfollowCreator,
314
+ unlikeContentComment,
315
+ unlikeItem,
316
+ unsaveItem,
317
+ updateAppVersion,
318
+ updateCreatorGameFeedbackStatus
319
+ });
@@ -0,0 +1,3 @@
1
+ import type { AcquisitionAttributionRequest, AcquisitionAttributionResponse } from "@playdrop/types";
2
+ export declare function saveAcquisitionAttribution(attribution: AcquisitionAttributionRequest): Promise<AcquisitionAttributionResponse>;
3
+ //# sourceMappingURL=attribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribution.d.ts","sourceRoot":"","sources":["../src/attribution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAIrG,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,6BAA6B,GACzC,OAAO,CAAC,8BAA8B,CAAC,CAOzC"}
@@ -0,0 +1,30 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var attribution_exports = {};
19
+ __export(attribution_exports, {
20
+ saveAcquisitionAttribution: () => saveAcquisitionAttribution
21
+ });
22
+ module.exports = __toCommonJS(attribution_exports);
23
+ var import_browser_request = require("./browser-request.js");
24
+ async function saveAcquisitionAttribution(attribution) {
25
+ return (0, import_browser_request.browserRequestOk)("POST", "/me/acquisition-attributions", "save_acquisition_attribution", attribution);
26
+ }
27
+ // Annotate the CommonJS export names for ESM import in node:
28
+ 0 && (module.exports = {
29
+ saveAcquisitionAttribution
30
+ });
@@ -0,0 +1,23 @@
1
+ import { handleApiError } from "./core/errors.js";
2
+ import { parseResponseBody, resolveUrl } from "./core/request.js";
3
+ declare function getClientHeaders(): Record<string, string>;
4
+ export declare const browserDomainClientInput: {
5
+ request: import("./core/request.js").RequestExecutor;
6
+ handleApiError: typeof handleApiError;
7
+ fetchImpl: typeof fetch;
8
+ includeBrowserCredentials: boolean;
9
+ resolveBaseUrl: () => string;
10
+ resolveUrl: typeof resolveUrl;
11
+ parseResponseBody: typeof parseResponseBody;
12
+ resolveToken: () => Promise<null>;
13
+ getClientHeaders: typeof getClientHeaders;
14
+ };
15
+ export declare function resolveBrowserApiUrl(path: string): string;
16
+ export declare function browserRequestOk<T>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", path: string, context: string, body?: unknown, options?: {
17
+ signal?: AbortSignal;
18
+ }): Promise<T>;
19
+ export declare function browserRequestAccepted<T>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", path: string, context: string, acceptedStatuses: readonly number[], body?: unknown, options?: {
20
+ signal?: AbortSignal;
21
+ }): Promise<T>;
22
+ export {};
23
+ //# sourceMappingURL=browser-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-request.d.ts","sourceRoot":"","sources":["../src/browser-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAGL,iBAAiB,EAEjB,UAAU,EACX,MAAM,mBAAmB,CAAC;AA+C3B,iBAAS,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBlD;AAgBD,eAAO,MAAM,wBAAwB;;;;;;;;;;CAUpC,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,EACnD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GACrC,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,EACnD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,SAAS,MAAM,EAAE,EACnC,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GACrC,OAAO,CAAC,CAAC,CAAC,CASZ"}
@@ -0,0 +1,127 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var browser_request_exports = {};
19
+ __export(browser_request_exports, {
20
+ browserDomainClientInput: () => browserDomainClientInput,
21
+ browserRequestAccepted: () => browserRequestAccepted,
22
+ browserRequestOk: () => browserRequestOk,
23
+ resolveBrowserApiUrl: () => resolveBrowserApiUrl
24
+ });
25
+ module.exports = __toCommonJS(browser_request_exports);
26
+ var import_errors = require("./core/errors.js");
27
+ var import_request = require("./core/request.js");
28
+ var import_runtime = require("./runtime.js");
29
+ const CLIENT_HEADER_NAMES = {
30
+ client: "x-playdrop-client",
31
+ clientVersion: "x-playdrop-client-version",
32
+ clientBuild: "x-playdrop-client-build",
33
+ platform: "x-playdrop-platform",
34
+ platformVersion: "x-playdrop-platform-version"
35
+ };
36
+ const AUTH_MODE_HEADER_NAME = "x-playdrop-auth-mode";
37
+ const ENGAGEMENT_HEADER_NAMES = {
38
+ anonymousId: "x-playdrop-anon-id",
39
+ sessionId: "x-playdrop-session-id"
40
+ };
41
+ const WEB_ANONYMOUS_ID_STORAGE_KEY = "playdrop.anonymousId";
42
+ const WEB_SESSION_ID_STORAGE_KEY = "playdrop.sessionId";
43
+ function generateUuid() {
44
+ if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
45
+ return crypto.randomUUID();
46
+ }
47
+ return `${Date.now()}-${Math.random().toString(16).slice(2)}`;
48
+ }
49
+ function readOrCreateStorageValue(storage, key) {
50
+ const existing = storage.getItem(key)?.trim();
51
+ if (existing)
52
+ return existing;
53
+ const generated = generateUuid();
54
+ storage.setItem(key, generated);
55
+ return generated;
56
+ }
57
+ function getBrowserEngagementHeaders() {
58
+ if (typeof window === "undefined")
59
+ return {};
60
+ return {
61
+ [ENGAGEMENT_HEADER_NAMES.anonymousId]: readOrCreateStorageValue(window.localStorage, WEB_ANONYMOUS_ID_STORAGE_KEY),
62
+ [ENGAGEMENT_HEADER_NAMES.sessionId]: readOrCreateStorageValue(window.sessionStorage, WEB_SESSION_ID_STORAGE_KEY)
63
+ };
64
+ }
65
+ function getClientHeaders() {
66
+ const state = (0, import_runtime.getRuntimeState)();
67
+ if (!state.platform || !state.client) {
68
+ throw new Error("browser API called before client runtime was configured. Call ensureWebClientRuntimeConfigured().");
69
+ }
70
+ return {
71
+ [CLIENT_HEADER_NAMES.client]: "web",
72
+ [CLIENT_HEADER_NAMES.clientVersion]: state.client.version,
73
+ [CLIENT_HEADER_NAMES.clientBuild]: state.client.build,
74
+ [CLIENT_HEADER_NAMES.platform]: state.platform.name,
75
+ [CLIENT_HEADER_NAMES.platformVersion]: state.platform.version,
76
+ [AUTH_MODE_HEADER_NAME]: "cookie",
77
+ ...getBrowserEngagementHeaders()
78
+ };
79
+ }
80
+ const fetchImpl = (...args) => globalThis.fetch(...args);
81
+ const resolveBaseUrl = (0, import_request.createBaseUrlResolver)(void 0);
82
+ const resolveToken = async () => null;
83
+ const request = (0, import_request.createRequestExecutor)({
84
+ fetchImpl,
85
+ resolveBaseUrl,
86
+ resolveUrl: import_request.resolveUrl,
87
+ parseResponseBody: import_request.parseResponseBody,
88
+ resolveToken,
89
+ getClientHeaders,
90
+ requestTimeoutMs: (0, import_request.resolveRequestTimeoutMs)(void 0),
91
+ includeBrowserCredentials: true
92
+ });
93
+ const browserDomainClientInput = {
94
+ request,
95
+ handleApiError: import_errors.handleApiError,
96
+ fetchImpl,
97
+ includeBrowserCredentials: true,
98
+ resolveBaseUrl,
99
+ resolveUrl: import_request.resolveUrl,
100
+ parseResponseBody: import_request.parseResponseBody,
101
+ resolveToken,
102
+ getClientHeaders
103
+ };
104
+ function resolveBrowserApiUrl(path) {
105
+ return (0, import_request.resolveUrl)(resolveBaseUrl(), path);
106
+ }
107
+ async function browserRequestOk(method, path, context, body, options = {}) {
108
+ return await browserRequestAccepted(method, path, context, [200], body, options);
109
+ }
110
+ async function browserRequestAccepted(method, path, context, acceptedStatuses, body, options = {}) {
111
+ const response = await request({
112
+ method,
113
+ path,
114
+ ...body === void 0 ? {} : { body },
115
+ ...options.signal ? { signal: options.signal } : {}
116
+ });
117
+ if (!acceptedStatuses.includes(response.status))
118
+ (0, import_errors.handleApiError)(response, context);
119
+ return response.body;
120
+ }
121
+ // Annotate the CommonJS export names for ESM import in node:
122
+ 0 && (module.exports = {
123
+ browserDomainClientInput,
124
+ browserRequestAccepted,
125
+ browserRequestOk,
126
+ resolveBrowserApiUrl
127
+ });
@@ -0,0 +1,25 @@
1
+ export type { ChatPageOptions, ChatRealtimeConnection, ChatRealtimeConnectionOptions, ChatRealtimeConnectionState, ChatRealtimeSocket, ChatWriteOptions, } from "./domains/chat.js";
2
+ export declare const connectChatRealtime: (options: import("./chat.js").ChatRealtimeConnectionOptions) => import("./chat.js").ChatRealtimeConnection;
3
+ export declare const createDirectChatConversation: (username: string) => Promise<import("@playdrop/types").ChatConversationResponse>;
4
+ export declare const fetchChatContacts: (options?: {
5
+ cursor?: string;
6
+ limit?: number;
7
+ }) => Promise<import("@playdrop/types").ChatContactsResponse>;
8
+ export declare const fetchChatConversation: (conversationId: string) => Promise<import("@playdrop/types").ChatConversationResponse>;
9
+ export declare const fetchChatConversations: (options?: {
10
+ type?: string;
11
+ cursor?: string;
12
+ limit?: number;
13
+ }) => Promise<import("@playdrop/types").ChatConversationsResponse>;
14
+ export declare const fetchConversationMessages: (conversationId: string, options?: import("./chat.js").ChatPageOptions) => Promise<import("@playdrop/types").ChatMessagesResponse>;
15
+ export declare const markChatConversationRead: (conversationId: string, lastReadMessageId: string | null) => Promise<import("@playdrop/types").ChatChannelReadResponse>;
16
+ export declare const reactChatMessage: (messageId: string, emoji: string) => Promise<import("@playdrop/types").ChatMessageResponse>;
17
+ export declare const reportChatMessage: (messageId: string, body: {
18
+ reasonCode: string;
19
+ message?: string;
20
+ }) => Promise<{
21
+ id: string;
22
+ }>;
23
+ export declare const sendConversationMessage: (conversationId: string, message: import("./chat.js").ChatWriteOptions) => Promise<import("@playdrop/types").ChatMessageResponse>;
24
+ export declare const unreactChatMessage: (messageId: string, emoji: string) => Promise<import("@playdrop/types").ChatMessageResponse>;
25
+ //# sourceMappingURL=chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,6BAA6B,EAC7B,2BAA2B,EAC3B,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAI3B,eAAO,MAAM,mBAAmB,4GAAiC,CAAC;AAClE,eAAO,MAAM,4BAA4B,mFAA0C,CAAC;AACpF,eAAO,MAAM,iBAAiB;UASsve,CAAC;SAAe,CAAC;6DATxue,CAAC;AAC9D,eAAO,MAAM,qBAAqB,yFAAmC,CAAC;AACtE,eAAO,MAAM,sBAAsB;QAOy/Q,CAAC;UAAgB,CAAC;SAAe,CAAC;kEAPv/Q,CAAC;AACxE,eAAO,MAAM,yBAAyB,oIAAuC,CAAC;AAC9E,eAAO,MAAM,wBAAwB,0HAAsC,CAAC;AAC5E,eAAO,MAAM,gBAAgB,8FAA8B,CAAC;AAC5D,eAAO,MAAM,iBAAiB;;WAG+jd,CAAC;;;EAHjid,CAAC;AAC9D,eAAO,MAAM,uBAAuB,mIAAqC,CAAC;AAC1E,eAAO,MAAM,kBAAkB,8FAAgC,CAAC"}
@@ -0,0 +1,60 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var chat_exports = {};
19
+ __export(chat_exports, {
20
+ connectChatRealtime: () => connectChatRealtime,
21
+ createDirectChatConversation: () => createDirectChatConversation,
22
+ fetchChatContacts: () => fetchChatContacts,
23
+ fetchChatConversation: () => fetchChatConversation,
24
+ fetchChatConversations: () => fetchChatConversations,
25
+ fetchConversationMessages: () => fetchConversationMessages,
26
+ markChatConversationRead: () => markChatConversationRead,
27
+ reactChatMessage: () => reactChatMessage,
28
+ reportChatMessage: () => reportChatMessage,
29
+ sendConversationMessage: () => sendConversationMessage,
30
+ unreactChatMessage: () => unreactChatMessage
31
+ });
32
+ module.exports = __toCommonJS(chat_exports);
33
+ var import_browser_request = require("./browser-request.js");
34
+ var import_chat = require("./domains/chat.js");
35
+ const chatClient = (0, import_chat.buildChatApiClientMethods)(import_browser_request.browserDomainClientInput);
36
+ const connectChatRealtime = chatClient.connectChatRealtime;
37
+ const createDirectChatConversation = chatClient.createDirectChatConversation;
38
+ const fetchChatContacts = chatClient.fetchChatContacts;
39
+ const fetchChatConversation = chatClient.fetchChatConversation;
40
+ const fetchChatConversations = chatClient.fetchChatConversations;
41
+ const fetchConversationMessages = chatClient.fetchConversationMessages;
42
+ const markChatConversationRead = chatClient.markChatConversationRead;
43
+ const reactChatMessage = chatClient.reactChatMessage;
44
+ const reportChatMessage = chatClient.reportChatMessage;
45
+ const sendConversationMessage = chatClient.sendConversationMessage;
46
+ const unreactChatMessage = chatClient.unreactChatMessage;
47
+ // Annotate the CommonJS export names for ESM import in node:
48
+ 0 && (module.exports = {
49
+ connectChatRealtime,
50
+ createDirectChatConversation,
51
+ fetchChatContacts,
52
+ fetchChatConversation,
53
+ fetchChatConversations,
54
+ fetchConversationMessages,
55
+ markChatConversationRead,
56
+ reactChatMessage,
57
+ reportChatMessage,
58
+ sendConversationMessage,
59
+ unreactChatMessage
60
+ });
@@ -0,0 +1,9 @@
1
+ import type { AppRuntimeAssetsResponse, AssetResponse, AssetVersionResponse } from "@playdrop/types";
2
+ export type Asset = AssetResponse;
3
+ export declare function fetchAppRuntimeAssets(creatorUsername: string, appName: string, version: string): Promise<AppRuntimeAssetsResponse>;
4
+ export declare function fetchAssetBySlug(creatorUsername: string, assetName: string): Promise<AssetResponse>;
5
+ export declare function listAssetVersions(creatorUsername: string, assetName: string, options?: {
6
+ limit?: number;
7
+ offset?: number;
8
+ }): Promise<AssetVersionResponse[]>;
9
+ //# sourceMappingURL=creator-studio-assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creator-studio-assets.d.ts","sourceRoot":"","sources":["../src/creator-studio-assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EAExB,aAAa,EACb,oBAAoB,EAErB,MAAM,iBAAiB,CAAC;AAIzB,MAAM,MAAM,KAAK,GAAG,aAAa,CAAC;AAgBlC,wBAAsB,qBAAqB,CACzC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC,CASnC;AAED,wBAAsB,gBAAgB,CACpC,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CASxB;AAED,wBAAsB,iBAAiB,CACrC,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAChD,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAajC"}