@playdrop/playdrop-cli 0.5.2 → 0.5.4

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 (118) hide show
  1. package/config/client-meta.json +4 -4
  2. package/dist/apps/build.js +49 -6
  3. package/dist/apps/index.d.ts +2 -0
  4. package/dist/apps/index.js +2 -0
  5. package/dist/apps/upload.d.ts +2 -0
  6. package/dist/apps/upload.js +126 -28
  7. package/dist/assetSpecs.d.ts +16 -0
  8. package/dist/assetSpecs.js +263 -0
  9. package/dist/assets/model-artifacts.js +3 -0
  10. package/dist/catalogue.d.ts +57 -3
  11. package/dist/catalogue.js +342 -16
  12. package/dist/commandContext.d.ts +6 -2
  13. package/dist/commandContext.js +144 -20
  14. package/dist/commands/accounts.d.ts +2 -0
  15. package/dist/commands/accounts.js +48 -0
  16. package/dist/commands/ads.d.ts +8 -0
  17. package/dist/commands/ads.js +124 -0
  18. package/dist/commands/boosts.d.ts +25 -0
  19. package/dist/commands/boosts.js +209 -0
  20. package/dist/commands/browse.d.ts +6 -1
  21. package/dist/commands/browse.js +365 -124
  22. package/dist/commands/capture.js +30 -9
  23. package/dist/commands/captureListing.d.ts +53 -0
  24. package/dist/commands/captureListing.js +815 -0
  25. package/dist/commands/create.d.ts +1 -0
  26. package/dist/commands/create.js +183 -3
  27. package/dist/commands/credits.d.ts +6 -0
  28. package/dist/commands/credits.js +47 -1
  29. package/dist/commands/detail.js +38 -4
  30. package/dist/commands/dev.js +169 -192
  31. package/dist/commands/devServer.d.ts +26 -3
  32. package/dist/commands/devServer.js +415 -72
  33. package/dist/commands/login.js +10 -2
  34. package/dist/commands/logout.d.ts +6 -1
  35. package/dist/commands/logout.js +25 -3
  36. package/dist/commands/search.d.ts +5 -0
  37. package/dist/commands/search.js +139 -17
  38. package/dist/commands/tags.d.ts +7 -0
  39. package/dist/commands/tags.js +63 -0
  40. package/dist/commands/upload-content.d.ts +13 -3
  41. package/dist/commands/upload-content.js +86 -20
  42. package/dist/commands/upload.d.ts +2 -0
  43. package/dist/commands/upload.js +187 -11
  44. package/dist/commands/validate.js +163 -2
  45. package/dist/commands/versionsBrowse.js +128 -91
  46. package/dist/commands/whoami.js +10 -2
  47. package/dist/config.d.ts +37 -0
  48. package/dist/config.js +205 -3
  49. package/dist/index.js +177 -5
  50. package/dist/refs.d.ts +2 -2
  51. package/dist/refs.js +13 -1
  52. package/dist/taskSelection.js +6 -3
  53. package/dist/taskUtils.d.ts +2 -2
  54. package/dist/taskUtils.js +1 -0
  55. package/dist/uploadLog.d.ts +1 -1
  56. package/dist/uploadLog.js +2 -2
  57. package/dist/workspaceAuth.d.ts +14 -0
  58. package/dist/workspaceAuth.js +75 -0
  59. package/node_modules/@playdrop/ai-client/package.json +1 -1
  60. package/node_modules/@playdrop/api-client/dist/client.d.ts +139 -10
  61. package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
  62. package/node_modules/@playdrop/api-client/dist/client.js +6 -0
  63. package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts +9 -1
  64. package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts.map +1 -1
  65. package/node_modules/@playdrop/api-client/dist/domains/admin.js +45 -0
  66. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts +7 -1
  67. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts.map +1 -1
  68. package/node_modules/@playdrop/api-client/dist/domains/apps.js +58 -0
  69. package/node_modules/@playdrop/api-client/dist/domains/asset-packs.d.ts +2 -0
  70. package/node_modules/@playdrop/api-client/dist/domains/asset-packs.d.ts.map +1 -1
  71. package/node_modules/@playdrop/api-client/dist/domains/asset-packs.js +16 -0
  72. package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts +44 -2
  73. package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts.map +1 -1
  74. package/node_modules/@playdrop/api-client/dist/domains/assets.js +260 -3
  75. package/node_modules/@playdrop/api-client/dist/domains/payments.d.ts +22 -1
  76. package/node_modules/@playdrop/api-client/dist/domains/payments.d.ts.map +1 -1
  77. package/node_modules/@playdrop/api-client/dist/domains/payments.js +228 -0
  78. package/node_modules/@playdrop/api-client/dist/domains/search.d.ts.map +1 -1
  79. package/node_modules/@playdrop/api-client/dist/domains/search.js +39 -11
  80. package/node_modules/@playdrop/api-client/dist/domains/tags.d.ts +34 -0
  81. package/node_modules/@playdrop/api-client/dist/domains/tags.d.ts.map +1 -0
  82. package/node_modules/@playdrop/api-client/dist/domains/tags.js +111 -0
  83. package/node_modules/@playdrop/api-client/dist/index.d.ts +69 -1
  84. package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
  85. package/node_modules/@playdrop/api-client/dist/index.js +74 -0
  86. package/node_modules/@playdrop/api-client/package.json +1 -1
  87. package/node_modules/@playdrop/boxel-core/package.json +1 -1
  88. package/node_modules/@playdrop/boxel-three/package.json +1 -1
  89. package/node_modules/@playdrop/config/client-meta.json +4 -4
  90. package/node_modules/@playdrop/config/dist/src/constants.d.ts +11 -0
  91. package/node_modules/@playdrop/config/dist/src/constants.d.ts.map +1 -1
  92. package/node_modules/@playdrop/config/dist/src/constants.js +12 -1
  93. package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -1
  94. package/node_modules/@playdrop/config/package.json +1 -1
  95. package/node_modules/@playdrop/types/dist/api.d.ts +366 -6
  96. package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
  97. package/node_modules/@playdrop/types/dist/api.js +52 -1
  98. package/node_modules/@playdrop/types/dist/asset-pack.d.ts +7 -1
  99. package/node_modules/@playdrop/types/dist/asset-pack.d.ts.map +1 -1
  100. package/node_modules/@playdrop/types/dist/asset-spec-contract-meta-schema.json +86 -0
  101. package/node_modules/@playdrop/types/dist/asset-spec.d.ts +163 -0
  102. package/node_modules/@playdrop/types/dist/asset-spec.d.ts.map +1 -0
  103. package/node_modules/@playdrop/types/dist/asset-spec.js +101 -0
  104. package/node_modules/@playdrop/types/dist/asset.d.ts +23 -6
  105. package/node_modules/@playdrop/types/dist/asset.d.ts.map +1 -1
  106. package/node_modules/@playdrop/types/dist/asset.js +4 -1
  107. package/node_modules/@playdrop/types/dist/graph.d.ts +4 -2
  108. package/node_modules/@playdrop/types/dist/graph.d.ts.map +1 -1
  109. package/node_modules/@playdrop/types/dist/graph.js +9 -2
  110. package/node_modules/@playdrop/types/dist/index.d.ts +1 -0
  111. package/node_modules/@playdrop/types/dist/index.d.ts.map +1 -1
  112. package/node_modules/@playdrop/types/dist/index.js +1 -0
  113. package/node_modules/@playdrop/types/dist/version.d.ts +13 -0
  114. package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -1
  115. package/node_modules/@playdrop/types/dist/version.js +21 -0
  116. package/node_modules/@playdrop/types/package.json +6 -1
  117. package/node_modules/@playdrop/vox-three/package.json +1 -1
  118. package/package.json +3 -1
@@ -4,6 +4,20 @@ function buildPublicAppPath(normalizeCreatorItemSlug, creatorUsername, appName,
4
4
  const name = normalizeCreatorItemSlug(appName, 'name');
5
5
  return `/apps/${encodeURIComponent(creator)}/${encodeURIComponent(name)}${suffix}`;
6
6
  }
7
+ function appendNormalizedTagParams(params, tags) {
8
+ if (!Array.isArray(tags)) {
9
+ return;
10
+ }
11
+ for (const tag of tags) {
12
+ if (typeof tag !== 'string') {
13
+ continue;
14
+ }
15
+ const normalized = tag.trim();
16
+ if (normalized.length > 0) {
17
+ params.append('tag', normalized);
18
+ }
19
+ }
20
+ }
7
21
  async function buildAuthorizedHeaders(getClientHeaders, resolveToken) {
8
22
  const headers = new Headers();
9
23
  for (const [key, value] of Object.entries(getClientHeaders())) {
@@ -25,10 +39,14 @@ function buildAppVersionUploadForm(options) {
25
39
  if (options.surfaceTargets && options.surfaceTargets.length > 0) {
26
40
  form.append('surfaceTargets', JSON.stringify(options.surfaceTargets));
27
41
  }
42
+ if (options.assetSpecSupport) {
43
+ form.append('assetSpecSupport', JSON.stringify(options.assetSpecSupport));
44
+ }
28
45
  appendAppVersionMetadataFields(form, options);
29
46
  appendAppVersionMediaFiles(form, options);
30
47
  return form;
31
48
  }
49
+ // eslint-disable-next-line complexity
32
50
  function appendAppVersionMetadataFields(form, options) {
33
51
  if (options.entryPoint !== undefined)
34
52
  form.append('entryPoint', options.entryPoint);
@@ -40,6 +58,12 @@ function appendAppVersionMetadataFields(form, options) {
40
58
  form.append('previewable', String(options.previewable));
41
59
  if (options.setAsCurrent !== undefined)
42
60
  form.append('setAsCurrent', String(options.setAsCurrent));
61
+ if (options.skipReview !== undefined)
62
+ form.append('skipReview', String(options.skipReview));
63
+ if (options.tags !== undefined)
64
+ form.append('tags', JSON.stringify(options.tags));
65
+ if (options.clearTags !== undefined)
66
+ form.append('clearTags', String(options.clearTags));
43
67
  if (options.remixRef !== undefined)
44
68
  form.append('remixRef', options.remixRef);
45
69
  if (options.externalUrl !== undefined)
@@ -94,6 +118,7 @@ async function fetchAppsByCreatorRequest(request, handleApiError, creatorUsernam
94
118
  if (typeof options.type === 'string' && options.type.trim().length > 0) {
95
119
  params.set('type', options.type.trim());
96
120
  }
121
+ appendNormalizedTagParams(params, options.tags);
97
122
  const query = params.toString();
98
123
  const response = await request({
99
124
  method: 'GET',
@@ -122,6 +147,7 @@ async function uploadAppVersionRequest(input, creatorUsername, appName, options)
122
147
  }
123
148
  return parsed;
124
149
  }
150
+ // eslint-disable-next-line max-lines-per-function
125
151
  export function buildAppsApiClientMethods(input) {
126
152
  const { request, handleApiError, fetchImpl, includeBrowserCredentials, resolveBaseUrl, resolveUrl, parseResponseBody, resolveToken, getClientHeaders, buildCreatorAppMutationPath, normalizeCreatorItemSlug, normalizeSemverInput, parseContentDispositionFilename, } = input;
127
153
  return {
@@ -133,6 +159,7 @@ export function buildAppsApiClientMethods(input) {
133
159
  if (typeof options.offset === 'number' && Number.isFinite(options.offset)) {
134
160
  params.set('offset', String(options.offset));
135
161
  }
162
+ appendNormalizedTagParams(params, options.tags);
136
163
  const query = params.toString();
137
164
  const response = await request({
138
165
  method: 'GET',
@@ -151,6 +178,7 @@ export function buildAppsApiClientMethods(input) {
151
178
  if (typeof options.offset === 'number' && Number.isFinite(options.offset)) {
152
179
  params.set('offset', String(options.offset));
153
180
  }
181
+ appendNormalizedTagParams(params, options.tags);
154
182
  const query = params.toString();
155
183
  const response = await request({
156
184
  method: 'GET',
@@ -240,6 +268,36 @@ export function buildAppsApiClientMethods(input) {
240
268
  }
241
269
  return response.body;
242
270
  },
271
+ async requestDevAppAccessToken(appId, slot) {
272
+ const response = await request({
273
+ method: 'POST',
274
+ path: `/apps/${encodeURIComponent(String(appId))}/dev/players/${encodeURIComponent(String(slot))}/token`,
275
+ });
276
+ if (response.status !== 200) {
277
+ handleApiError(response, 'request_dev_app_access_token');
278
+ }
279
+ return response.body;
280
+ },
281
+ async resetDevPlayer(appId, slot) {
282
+ const response = await request({
283
+ method: 'POST',
284
+ path: `/apps/${encodeURIComponent(String(appId))}/dev/players/${encodeURIComponent(String(slot))}/reset`,
285
+ });
286
+ if (response.status !== 200) {
287
+ handleApiError(response, 'reset_dev_player');
288
+ }
289
+ return response.body;
290
+ },
291
+ async resetAllDevPlayers(appId) {
292
+ const response = await request({
293
+ method: 'POST',
294
+ path: `/apps/${encodeURIComponent(String(appId))}/dev/players/reset-all`,
295
+ });
296
+ if (response.status !== 200) {
297
+ handleApiError(response, 'reset_all_dev_players');
298
+ }
299
+ return response.body;
300
+ },
243
301
  async listAppVersions(creatorUsername, appName) {
244
302
  const path = `/apps/${encodeURIComponent(creatorUsername)}/${encodeURIComponent(appName)}/versions`;
245
303
  const response = await request({
@@ -34,12 +34,14 @@ export declare function buildAssetPacksApiClientMethods(input: {
34
34
  offset?: number;
35
35
  containsCategory?: AssetCategory;
36
36
  containsSubcategory?: string;
37
+ tags?: string[];
37
38
  }): Promise<AssetPackListResponse>;
38
39
  listAssetPacksForCreator(creatorUsername: string, options?: {
39
40
  limit?: number;
40
41
  offset?: number;
41
42
  containsCategory?: AssetCategory;
42
43
  containsSubcategory?: string;
44
+ tags?: string[];
43
45
  }): Promise<AssetPackListResponse>;
44
46
  fetchAssetPackBySlug(creatorUsername: string, packName: string): Promise<AssetPackDetailResponse>;
45
47
  downloadAssetPackSource(creatorUsername: string, packName: string, version: string): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"asset-packs.d.ts","sourceRoot":"","sources":["../../src/domains/asset-packs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asset-packs.d.ts","sourceRoot":"","sources":["../../src/domains/asset-packs.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,20 @@ function buildPublicAssetPackPath(normalizeCreatorItemSlug, creatorUsername, pac
4
4
  const name = normalizeCreatorItemSlug(packName, 'name');
5
5
  return `/asset-packs/${encodeURIComponent(creator)}/${encodeURIComponent(name)}${suffix}`;
6
6
  }
7
+ function appendNormalizedTagParams(params, tags) {
8
+ if (!Array.isArray(tags)) {
9
+ return;
10
+ }
11
+ for (const tag of tags) {
12
+ if (typeof tag !== 'string') {
13
+ continue;
14
+ }
15
+ const normalized = tag.trim();
16
+ if (normalized.length > 0) {
17
+ params.append('tag', normalized);
18
+ }
19
+ }
20
+ }
7
21
  function buildAssetPackVersionPath(normalizeCreatorItemSlug, normalizeSemverInput, creatorUsername, packName, version, suffix) {
8
22
  const creator = normalizeCreatorItemSlug(creatorUsername, 'creator');
9
23
  const name = normalizeCreatorItemSlug(packName, 'name');
@@ -207,6 +221,7 @@ function buildAssetPackReadWriteMethods(input) {
207
221
  if (typeof options.containsSubcategory === 'string' && options.containsSubcategory.trim().length > 0) {
208
222
  params.set('containsSubcategory', options.containsSubcategory.trim());
209
223
  }
224
+ appendNormalizedTagParams(params, options.tags);
210
225
  const query = params.toString();
211
226
  const path = `/asset-packs${query ? `?${query}` : ''}`;
212
227
  const response = await request({
@@ -232,6 +247,7 @@ function buildAssetPackReadWriteMethods(input) {
232
247
  if (typeof options.containsSubcategory === 'string' && options.containsSubcategory.trim().length > 0) {
233
248
  params.set('containsSubcategory', options.containsSubcategory.trim());
234
249
  }
250
+ appendNormalizedTagParams(params, options.tags);
235
251
  const query = params.toString();
236
252
  const path = `/creators/${encodeURIComponent(creatorUsername)}/asset-packs${query ? `?${query}` : ''}`;
237
253
  const response = await request({
@@ -1,5 +1,5 @@
1
- import type { AssetBrowseKind, AssetCategoriesResponse, AssetCategory, AssetDetailResponse, AssetListResponse, AssetSourceBundleResponse, AssetVersionsListResponse, ContentRemixRelationsResponse, CreateAssetVersionResponse, DeleteAssetResponse, DeleteAssetVersionResponse, UpdateAssetRequest, UpdateAssetResponse, UpdateAssetVersionRequest, UpdateAssetVersionResponse } from '@playdrop/types';
2
- import type { UploadAssetVersionOptions } from '../client.js';
1
+ import type { AssetBrowseKind, AssetCategoriesResponse, AssetCategory, AssetDetailResponse, AssetListResponse, AssetSpecAssetsListResponse, AssetSpecAppsListResponse, AssetSpecDetailResponse, AssetSpecListResponse, AssetSpecVersionsListResponse, AssetSourceBundleResponse, AssetVersionsListResponse, ContentRemixRelationsResponse, CreateAssetSpecVersionResponse, CreateAssetVersionResponse, DeleteAssetSpecResponse, DeleteAssetSpecVersionResponse, DeleteAssetResponse, DeleteAssetVersionResponse, UpdateAssetRequest, UpdateAssetSpecVersionResponse, UpdateAssetResponse, UpdateAssetVersionRequest, UpdateAssetVersionResponse } from '@playdrop/types';
2
+ import type { UploadAssetSpecVersionOptions, UploadAssetVersionOptions } from '../client.js';
3
3
  type ApiResponseLike<T> = {
4
4
  status: number;
5
5
  body: T;
@@ -30,6 +30,7 @@ export declare function buildAssetsApiClientMethods(input: {
30
30
  parseContentDispositionFilename: (headerValue: string | null) => string | null;
31
31
  }): {
32
32
  createAssetVersion(creatorUsername: string, name: string, options: UploadAssetVersionOptions): Promise<CreateAssetVersionResponse>;
33
+ createAssetSpecVersion(creatorUsername: string, name: string, options: UploadAssetSpecVersionOptions): Promise<CreateAssetSpecVersionResponse>;
33
34
  fetchAssetRelated(creatorUsername: string, assetName: string): Promise<ContentRemixRelationsResponse>;
34
35
  listAssetCategories(): Promise<AssetCategoriesResponse>;
35
36
  listAssets(options?: {
@@ -38,6 +39,11 @@ export declare function buildAssetsApiClientMethods(input: {
38
39
  category?: AssetCategory;
39
40
  subcategory?: string;
40
41
  kind?: AssetBrowseKind;
42
+ assetSpec?: string;
43
+ assetSpecOwner?: string;
44
+ assetSpecName?: string;
45
+ sort?: string;
46
+ tags?: string[];
41
47
  }): Promise<AssetListResponse>;
42
48
  listAssetsForCreator(creatorUsername: string, options?: {
43
49
  limit?: number;
@@ -45,7 +51,36 @@ export declare function buildAssetsApiClientMethods(input: {
45
51
  category?: AssetCategory;
46
52
  subcategory?: string;
47
53
  kind?: AssetBrowseKind;
54
+ assetSpec?: string;
55
+ assetSpecOwner?: string;
56
+ assetSpecName?: string;
57
+ sort?: string;
58
+ tags?: string[];
48
59
  }): Promise<AssetListResponse>;
60
+ listAssetSpecs(options?: {
61
+ limit?: number;
62
+ offset?: number;
63
+ sort?: string;
64
+ }): Promise<AssetSpecListResponse>;
65
+ listAssetSpecsForCreator(creatorUsername: string, options?: {
66
+ limit?: number;
67
+ offset?: number;
68
+ sort?: string;
69
+ }): Promise<AssetSpecListResponse>;
70
+ fetchAssetSpecBySlug(creatorUsername: string, name: string): Promise<AssetSpecDetailResponse>;
71
+ listAssetSpecVersions(creatorUsername: string, name: string, options?: {
72
+ limit?: number;
73
+ offset?: number;
74
+ }): Promise<AssetSpecVersionsListResponse>;
75
+ listAssetsByAssetSpec(creatorUsername: string, name: string, options?: {
76
+ limit?: number;
77
+ offset?: number;
78
+ sort?: string;
79
+ }): Promise<AssetSpecAssetsListResponse>;
80
+ listAppsByAssetSpec(creatorUsername: string, name: string, options?: {
81
+ limit?: number;
82
+ offset?: number;
83
+ }): Promise<AssetSpecAppsListResponse>;
49
84
  fetchAssetBySlug(creatorUsername: string, assetName: string): Promise<AssetDetailResponse>;
50
85
  listAssetVersions(creatorUsername: string, assetName: string, options?: {
51
86
  limit?: number;
@@ -55,6 +90,13 @@ export declare function buildAssetsApiClientMethods(input: {
55
90
  updateAssetVersion(creatorUsername: string, name: string, revision: string | number, requestBody: UpdateAssetVersionRequest): Promise<UpdateAssetVersionResponse>;
56
91
  deleteAssetVersion(creatorUsername: string, name: string, revision: string | number): Promise<DeleteAssetVersionResponse>;
57
92
  deleteAsset(creatorUsername: string, name: string): Promise<DeleteAssetResponse>;
93
+ updateAssetSpecVersion(creatorUsername: string, name: string, version: string, requestBody: {
94
+ visibility?: "PUBLIC" | "PRIVATE";
95
+ status?: "ACTIVE" | "DEPRECATED" | "RETRACTED";
96
+ successorVersion?: string | null;
97
+ }): Promise<UpdateAssetSpecVersionResponse>;
98
+ deleteAssetSpecVersion(creatorUsername: string, name: string, version: string): Promise<DeleteAssetSpecVersionResponse>;
99
+ deleteAssetSpec(creatorUsername: string, name: string): Promise<DeleteAssetSpecResponse>;
58
100
  downloadAssetFile(creatorUsername: string, assetName: string, revision: string | number, options?: {
59
101
  role?: string;
60
102
  }): Promise<Blob>;
@@ -1 +1 @@
1
- {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/domains/assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/domains/assets.ts"],"names":[],"mappings":"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"}
@@ -15,18 +15,68 @@ function buildPublicAssetPath(normalizeCreatorItemSlug, creatorUsername, assetNa
15
15
  const name = normalizeCreatorItemSlug(assetName, 'name');
16
16
  return `/assets/${encodeURIComponent(creator)}/${encodeURIComponent(name)}${suffix}`;
17
17
  }
18
+ function appendNormalizedTagParams(params, tags) {
19
+ if (!Array.isArray(tags)) {
20
+ return;
21
+ }
22
+ for (const tag of tags) {
23
+ if (typeof tag !== 'string') {
24
+ continue;
25
+ }
26
+ const normalized = tag.trim();
27
+ if (normalized.length > 0) {
28
+ params.append('tag', normalized);
29
+ }
30
+ }
31
+ }
18
32
  function buildAssetVersionUploadForm(options) {
19
33
  if (!Array.isArray(options.files) || options.files.length === 0) {
20
34
  throw new Error('missing_asset_files');
21
35
  }
22
36
  const form = new FormData();
23
- form.set('category', options.category);
24
- form.set('subcategory', options.subcategory);
25
- form.set('format', options.format);
37
+ if ('assetSpec' in options) {
38
+ form.set('assetSpec', options.assetSpec);
39
+ }
40
+ else {
41
+ form.set('category', options.category);
42
+ form.set('subcategory', options.subcategory);
43
+ form.set('format', options.format);
44
+ }
26
45
  appendAssetVersionOptionalFields(form, options);
27
46
  appendAssetVersionFiles(form, options);
28
47
  return form;
29
48
  }
49
+ function buildAssetSpecVersionUploadForm(options) {
50
+ const form = new FormData();
51
+ form.set('version', options.version);
52
+ form.set('symbol', options.symbol, 'symbol.svg');
53
+ form.set('contract', options.contract, 'contract.json');
54
+ if (options.displayName) {
55
+ form.set('displayName', options.displayName);
56
+ }
57
+ if (typeof options.description === 'string') {
58
+ form.set('description', options.description);
59
+ }
60
+ if (options.visibility) {
61
+ form.set('visibility', options.visibility);
62
+ }
63
+ if (options.validationKind) {
64
+ form.set('validationKind', options.validationKind);
65
+ }
66
+ if (options.status) {
67
+ form.set('status', options.status);
68
+ }
69
+ if (typeof options.releaseNotes === 'string') {
70
+ form.set('releaseNotes', options.releaseNotes);
71
+ }
72
+ if (typeof options.successorVersion === 'string' && options.successorVersion.trim().length > 0) {
73
+ form.set('successorVersion', options.successorVersion.trim());
74
+ }
75
+ if (options.documentation) {
76
+ form.set('documentation', options.documentation, 'README.md');
77
+ }
78
+ return form;
79
+ }
30
80
  function appendAssetVersionOptionalFields(form, options) {
31
81
  if (options.visibility)
32
82
  form.set('visibility', options.visibility);
@@ -41,6 +91,12 @@ function appendAssetVersionOptionalFields(form, options) {
41
91
  if (typeof options.remixRef === 'string' && options.remixRef.trim().length > 0) {
42
92
  form.set('remixRef', options.remixRef.trim());
43
93
  }
94
+ if (options.tags !== undefined) {
95
+ form.set('tags', JSON.stringify(options.tags));
96
+ }
97
+ if (typeof options.clearTags === 'boolean') {
98
+ form.set('clearTags', options.clearTags ? 'true' : 'false');
99
+ }
44
100
  if (typeof options.shopListed === 'boolean') {
45
101
  form.set('shopListed', options.shopListed ? 'true' : 'false');
46
102
  }
@@ -95,6 +151,19 @@ async function listAssetsRequest(request, handleApiError, options = {}) {
95
151
  if (typeof options.kind === 'string' && options.kind.trim().length > 0) {
96
152
  params.set('kind', options.kind.trim());
97
153
  }
154
+ if (typeof options.assetSpec === 'string' && options.assetSpec.trim().length > 0) {
155
+ params.set('assetSpec', options.assetSpec.trim());
156
+ }
157
+ if (typeof options.assetSpecOwner === 'string' && options.assetSpecOwner.trim().length > 0) {
158
+ params.set('assetSpecOwner', options.assetSpecOwner.trim());
159
+ }
160
+ if (typeof options.assetSpecName === 'string' && options.assetSpecName.trim().length > 0) {
161
+ params.set('assetSpecName', options.assetSpecName.trim());
162
+ }
163
+ if (typeof options.sort === 'string' && options.sort.trim().length > 0) {
164
+ params.set('sort', options.sort.trim());
165
+ }
166
+ appendNormalizedTagParams(params, options.tags);
98
167
  const query = params.toString();
99
168
  const path = `/assets${query ? `?${query}` : ''}`;
100
169
  const response = await request({ method: 'GET', path });
@@ -131,6 +200,25 @@ async function createAssetVersionRequest(input, creatorUsername, assetName, opti
131
200
  }
132
201
  return parsed;
133
202
  }
203
+ async function createAssetSpecVersionRequest(input, creatorUsername, name, options) {
204
+ const form = buildAssetSpecVersionUploadForm(options);
205
+ const base = input.resolveBaseUrl();
206
+ const path = `/creators/${encodeURIComponent(creatorUsername)}/asset-specs/${encodeURIComponent(name)}/versions`;
207
+ const headers = await buildAuthorizedHeaders(input.getClientHeaders, input.resolveToken);
208
+ const response = await input.fetchImpl(input.resolveUrl(base, path), {
209
+ method: 'POST',
210
+ headers,
211
+ body: form,
212
+ ...buildBrowserCredentialsInit(input.includeBrowserCredentials),
213
+ });
214
+ const parsed = await input.parseResponseBody(response);
215
+ const apiResponse = { status: response.status, body: parsed, headers: response.headers };
216
+ if (response.status !== 201 && response.status !== 200) {
217
+ input.handleApiError(apiResponse, 'create_asset_spec_version');
218
+ }
219
+ return parsed;
220
+ }
221
+ // eslint-disable-next-line max-lines-per-function
134
222
  export function buildAssetsApiClientMethods(input) {
135
223
  const { request, handleApiError, fetchImpl, includeBrowserCredentials, resolveBaseUrl, resolveUrl, parseResponseBody, resolveToken, getClientHeaders, buildCreatorAssetMutationPath, normalizeCreatorItemSlug, normalizeAssetRevisionInput, parseContentDispositionFilename, } = input;
136
224
  return {
@@ -151,6 +239,22 @@ export function buildAssetsApiClientMethods(input) {
151
239
  handleApiError,
152
240
  }, creatorUsername, assetName, options);
153
241
  },
242
+ async createAssetSpecVersion(creatorUsername, name, options) {
243
+ const assetSpecName = typeof name === 'string' ? name.trim() : '';
244
+ if (!assetSpecName) {
245
+ throw new Error('invalid_asset_spec_name');
246
+ }
247
+ return createAssetSpecVersionRequest({
248
+ fetchImpl,
249
+ includeBrowserCredentials,
250
+ resolveBaseUrl,
251
+ resolveUrl,
252
+ parseResponseBody,
253
+ resolveToken,
254
+ getClientHeaders,
255
+ handleApiError,
256
+ }, creatorUsername, assetSpecName, options);
257
+ },
154
258
  async fetchAssetRelated(creatorUsername, assetName) {
155
259
  return fetchAssetRelatedRequest(request, handleApiError, normalizeCreatorItemSlug, creatorUsername, assetName);
156
260
  },
@@ -177,6 +281,19 @@ export function buildAssetsApiClientMethods(input) {
177
281
  if (typeof options.kind === 'string' && options.kind.trim().length > 0) {
178
282
  params.set('kind', options.kind.trim());
179
283
  }
284
+ if (typeof options.assetSpec === 'string' && options.assetSpec.trim().length > 0) {
285
+ params.set('assetSpec', options.assetSpec.trim());
286
+ }
287
+ if (typeof options.assetSpecOwner === 'string' && options.assetSpecOwner.trim().length > 0) {
288
+ params.set('assetSpecOwner', options.assetSpecOwner.trim());
289
+ }
290
+ if (typeof options.assetSpecName === 'string' && options.assetSpecName.trim().length > 0) {
291
+ params.set('assetSpecName', options.assetSpecName.trim());
292
+ }
293
+ if (typeof options.sort === 'string' && options.sort.trim().length > 0) {
294
+ params.set('sort', options.sort.trim());
295
+ }
296
+ appendNormalizedTagParams(params, options.tags);
180
297
  const query = params.toString();
181
298
  const path = `/creators/${encodeURIComponent(creatorUsername)}/assets${query ? `?${query}` : ''}`;
182
299
  const response = await request({
@@ -188,6 +305,115 @@ export function buildAssetsApiClientMethods(input) {
188
305
  }
189
306
  return response.body;
190
307
  },
308
+ async listAssetSpecs(options = {}) {
309
+ const params = new URLSearchParams();
310
+ if (typeof options.limit === 'number') {
311
+ params.set('limit', String(options.limit));
312
+ }
313
+ if (typeof options.offset === 'number') {
314
+ params.set('offset', String(options.offset));
315
+ }
316
+ if (typeof options.sort === 'string' && options.sort.trim().length > 0) {
317
+ params.set('sort', options.sort.trim());
318
+ }
319
+ const query = params.toString();
320
+ const response = await request({
321
+ method: 'GET',
322
+ path: `/asset-specs${query ? `?${query}` : ''}`,
323
+ });
324
+ if (response.status !== 200) {
325
+ handleApiError(response, 'list_asset_specs');
326
+ }
327
+ return response.body;
328
+ },
329
+ async listAssetSpecsForCreator(creatorUsername, options = {}) {
330
+ const params = new URLSearchParams();
331
+ if (typeof options.limit === 'number') {
332
+ params.set('limit', String(options.limit));
333
+ }
334
+ if (typeof options.offset === 'number') {
335
+ params.set('offset', String(options.offset));
336
+ }
337
+ if (typeof options.sort === 'string' && options.sort.trim().length > 0) {
338
+ params.set('sort', options.sort.trim());
339
+ }
340
+ const query = params.toString();
341
+ const response = await request({
342
+ method: 'GET',
343
+ path: `/creators/${encodeURIComponent(creatorUsername)}/asset-specs${query ? `?${query}` : ''}`,
344
+ });
345
+ if (response.status !== 200) {
346
+ handleApiError(response, 'list_asset_specs_for_creator');
347
+ }
348
+ return response.body;
349
+ },
350
+ async fetchAssetSpecBySlug(creatorUsername, name) {
351
+ const response = await request({
352
+ method: 'GET',
353
+ path: `/asset-specs/${encodeURIComponent(creatorUsername)}/${encodeURIComponent(name)}`,
354
+ });
355
+ if (response.status !== 200) {
356
+ handleApiError(response, 'fetch_asset_spec_by_slug');
357
+ }
358
+ return response.body;
359
+ },
360
+ async listAssetSpecVersions(creatorUsername, name, options = {}) {
361
+ const params = new URLSearchParams();
362
+ if (typeof options.limit === 'number') {
363
+ params.set('limit', String(options.limit));
364
+ }
365
+ if (typeof options.offset === 'number') {
366
+ params.set('offset', String(options.offset));
367
+ }
368
+ const query = params.toString();
369
+ const response = await request({
370
+ method: 'GET',
371
+ path: `/asset-specs/${encodeURIComponent(creatorUsername)}/${encodeURIComponent(name)}/versions${query ? `?${query}` : ''}`,
372
+ });
373
+ if (response.status !== 200) {
374
+ handleApiError(response, 'list_asset_spec_versions');
375
+ }
376
+ return response.body;
377
+ },
378
+ async listAssetsByAssetSpec(creatorUsername, name, options = {}) {
379
+ const params = new URLSearchParams();
380
+ if (typeof options.limit === 'number') {
381
+ params.set('limit', String(options.limit));
382
+ }
383
+ if (typeof options.offset === 'number') {
384
+ params.set('offset', String(options.offset));
385
+ }
386
+ if (typeof options.sort === 'string' && options.sort.trim().length > 0) {
387
+ params.set('sort', options.sort.trim());
388
+ }
389
+ const query = params.toString();
390
+ const response = await request({
391
+ method: 'GET',
392
+ path: `/asset-specs/${encodeURIComponent(creatorUsername)}/${encodeURIComponent(name)}/assets${query ? `?${query}` : ''}`,
393
+ });
394
+ if (response.status !== 200) {
395
+ handleApiError(response, 'list_assets_by_asset_spec');
396
+ }
397
+ return response.body;
398
+ },
399
+ async listAppsByAssetSpec(creatorUsername, name, options = {}) {
400
+ const params = new URLSearchParams();
401
+ if (typeof options.limit === 'number') {
402
+ params.set('limit', String(options.limit));
403
+ }
404
+ if (typeof options.offset === 'number') {
405
+ params.set('offset', String(options.offset));
406
+ }
407
+ const query = params.toString();
408
+ const response = await request({
409
+ method: 'GET',
410
+ path: `/asset-specs/${encodeURIComponent(creatorUsername)}/${encodeURIComponent(name)}/apps${query ? `?${query}` : ''}`,
411
+ });
412
+ if (response.status !== 200) {
413
+ handleApiError(response, 'list_apps_by_asset_spec');
414
+ }
415
+ return response.body;
416
+ },
191
417
  async fetchAssetBySlug(creatorUsername, assetName) {
192
418
  const path = `/assets/${encodeURIComponent(creatorUsername)}/${encodeURIComponent(assetName)}`;
193
419
  const response = await request({
@@ -278,6 +504,37 @@ export function buildAssetsApiClientMethods(input) {
278
504
  }
279
505
  return response.body;
280
506
  },
507
+ async updateAssetSpecVersion(creatorUsername, name, version, requestBody) {
508
+ const response = await request({
509
+ method: 'PATCH',
510
+ path: `/creators/${encodeURIComponent(creatorUsername)}/asset-specs/${encodeURIComponent(name)}/versions/${encodeURIComponent(version)}`,
511
+ body: requestBody,
512
+ });
513
+ if (response.status !== 200) {
514
+ handleApiError(response, 'update_asset_spec_version');
515
+ }
516
+ return response.body;
517
+ },
518
+ async deleteAssetSpecVersion(creatorUsername, name, version) {
519
+ const response = await request({
520
+ method: 'DELETE',
521
+ path: `/creators/${encodeURIComponent(creatorUsername)}/asset-specs/${encodeURIComponent(name)}/versions/${encodeURIComponent(version)}`,
522
+ });
523
+ if (response.status !== 200) {
524
+ handleApiError(response, 'delete_asset_spec_version');
525
+ }
526
+ return response.body;
527
+ },
528
+ async deleteAssetSpec(creatorUsername, name) {
529
+ const response = await request({
530
+ method: 'DELETE',
531
+ path: `/creators/${encodeURIComponent(creatorUsername)}/asset-specs/${encodeURIComponent(name)}`,
532
+ });
533
+ if (response.status !== 200) {
534
+ handleApiError(response, 'delete_asset_spec');
535
+ }
536
+ return response.body;
537
+ },
281
538
  async downloadAssetFile(creatorUsername, assetName, revision, options = {}) {
282
539
  const creator = typeof creatorUsername === 'string' ? creatorUsername.trim() : '';
283
540
  const name = typeof assetName === 'string' ? assetName.trim() : '';
@@ -1,4 +1,4 @@
1
- import type { AssetPurchaseRequest, CreditPackCheckoutSessionRequest, CreditPackCheckoutSessionResponse, CreditPackCheckoutStatusResponse, IapPurchaseRequest, IapPurchaseResponse, IapReceiptListParams, IapReceiptResponse, IapReceiptsResponse, PurchaseResponse, ShopResponse, TransactionsResponse } from '@playdrop/types';
1
+ import type { AdInterstitialShowResponse, AdLoadResponse, AdShowRequest, AdRewardedShowResponse, AssetPurchaseRequest, BoostActivationRequest, BoostBalanceResponse, BoostHistoryResponse, BoostPurchaseRequest, BoostPurchaseResponse, BoostReportQuery, BoostReportResponse, BoostStatusResponse, CreditPackCheckoutSessionRequest, CreditPackCheckoutSessionResponse, CreditPackCheckoutStatusResponse, CreatorEarningsResponse, IapPurchaseRequest, IapPurchaseResponse, IapReceiptListParams, IapReceiptResponse, IapReceiptsResponse, PurchaseResponse, ShopResponse, TransactionsResponse } from '@playdrop/types';
2
2
  type ApiResponseLike<T> = {
3
3
  status: number;
4
4
  body: T;
@@ -23,6 +23,7 @@ export declare function buildPaymentsApiClientMethods(input: {
23
23
  fetchCreditPackCheckoutStatus(sessionId: string): Promise<CreditPackCheckoutStatusResponse>;
24
24
  purchaseAsset(body: AssetPurchaseRequest): Promise<PurchaseResponse>;
25
25
  purchaseIap(body: IapPurchaseRequest): Promise<IapPurchaseResponse>;
26
+ purchaseDevIap(appId: number, slot: number, body: IapPurchaseRequest): Promise<IapPurchaseResponse>;
26
27
  fetchIapReceipts(params?: IapReceiptListParams): Promise<IapReceiptsResponse>;
27
28
  cancelIapReceipt(receiptId: number): Promise<IapReceiptResponse>;
28
29
  fetchAppIapReceipts(params?: Omit<IapReceiptListParams, "appId">): Promise<IapReceiptsResponse>;
@@ -33,6 +34,26 @@ export declare function buildPaymentsApiClientMethods(input: {
33
34
  limit?: number;
34
35
  offset?: number;
35
36
  }): Promise<TransactionsResponse>;
37
+ fetchBoostBalance(): Promise<BoostBalanceResponse>;
38
+ purchaseBoostPack(body: BoostPurchaseRequest): Promise<BoostPurchaseResponse>;
39
+ activateAppBoost(appId: number, body?: BoostActivationRequest): Promise<BoostStatusResponse>;
40
+ fetchAppBoostStatus(appId: number): Promise<BoostStatusResponse>;
41
+ fetchAppBoostHistory(appId: number, options?: {
42
+ limit?: number;
43
+ }): Promise<BoostHistoryResponse>;
44
+ fetchAppBoostReport(appId: number, options?: BoostReportQuery): Promise<BoostReportResponse>;
45
+ fetchCreatorEarnings(options?: {
46
+ days?: number;
47
+ appId?: number;
48
+ }): Promise<CreatorEarningsResponse>;
49
+ loadInterstitialAd(sourceAppId: number): Promise<AdLoadResponse>;
50
+ loadDevInterstitialAd(appId: number, slot: number): Promise<AdLoadResponse>;
51
+ showInterstitialAd(body: AdShowRequest): Promise<AdInterstitialShowResponse>;
52
+ showDevInterstitialAd(appId: number, slot: number, body: AdShowRequest): Promise<AdInterstitialShowResponse>;
53
+ loadRewardedAd(sourceAppId: number): Promise<AdLoadResponse>;
54
+ loadDevRewardedAd(appId: number, slot: number): Promise<AdLoadResponse>;
55
+ showRewardedAd(body: AdShowRequest): Promise<AdRewardedShowResponse>;
56
+ showDevRewardedAd(appId: number, slot: number, body: AdShowRequest): Promise<AdRewardedShowResponse>;
36
57
  };
37
58
  export {};
38
59
  //# sourceMappingURL=payments.d.ts.map