@playdrop/playdrop-cli 0.12.3 → 0.12.5

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 (33) hide show
  1. package/config/client-meta.json +4 -3
  2. package/dist/appUrls.d.ts +9 -0
  3. package/dist/appUrls.js +29 -0
  4. package/dist/apps/index.d.ts +2 -0
  5. package/dist/apps/index.js +2 -0
  6. package/dist/apps/loadCheck.d.ts +4 -0
  7. package/dist/apps/loadCheck.js +48 -13
  8. package/dist/apps/upload.d.ts +2 -0
  9. package/dist/apps/upload.js +1 -0
  10. package/dist/commands/captureListing.d.ts +3 -1
  11. package/dist/commands/captureListing.js +24 -8
  12. package/dist/commands/check.js +40 -26
  13. package/dist/commands/create.js +47 -2
  14. package/dist/commands/devShared.d.ts +5 -0
  15. package/dist/commands/devShared.js +9 -0
  16. package/dist/commands/taskCaptureSession.d.ts +4 -0
  17. package/dist/commands/taskCaptureSession.js +21 -0
  18. package/dist/commands/upload.d.ts +1 -0
  19. package/dist/commands/upload.js +16 -1
  20. package/dist/commands/worker.d.ts +5 -1
  21. package/dist/commands/worker.js +187 -119
  22. package/node_modules/@playdrop/config/client-meta.json +4 -3
  23. package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -1
  24. package/node_modules/@playdrop/types/dist/api.d.ts +9 -10
  25. package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
  26. package/node_modules/@playdrop/types/dist/api.js +3 -60
  27. package/package.json +1 -1
  28. package/node_modules/@playdrop/api-client/dist/domains/game-ideas.d.ts +0 -46
  29. package/node_modules/@playdrop/api-client/dist/domains/game-ideas.d.ts.map +0 -1
  30. package/node_modules/@playdrop/api-client/dist/domains/game-ideas.js +0 -177
  31. package/node_modules/@playdrop/api-client/dist/domains/music.d.ts +0 -27
  32. package/node_modules/@playdrop/api-client/dist/domains/music.d.ts.map +0 -1
  33. package/node_modules/@playdrop/api-client/dist/domains/music.js +0 -96
@@ -1,46 +0,0 @@
1
- import type { CreateGameIdeaRequest, CreateGameIdeaResponse, GameIdeaDetailResponse, GameIdeaStatusResponse, GameIdeasListRequest, GameIdeasListResponse, RemixCandidatesResponse, ShipGameIdeaRequest, ShipGameIdeaResponse, StartGameIdeaRequest, StartGameIdeaResponse, UpdateGameIdeaRequest, UpdateGameIdeaResponse } from '@playdrop/types';
2
- type ApiResponseLike<T> = {
3
- status: number;
4
- body: T;
5
- headers: Headers;
6
- };
7
- type RequestExecutor = <T>(input: {
8
- method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
9
- path: string;
10
- body?: unknown;
11
- headers?: Record<string, string>;
12
- signal?: AbortSignal;
13
- }) => Promise<ApiResponseLike<T>>;
14
- type ErrorHandler = (response: ApiResponseLike<unknown>, defaultMessage: string) => never;
15
- type ParseResponseBody = <T>(response: Response) => Promise<T>;
16
- export type CreateGameIdeaOptions = {
17
- payload: CreateGameIdeaRequest;
18
- image?: File | Blob;
19
- filename?: string;
20
- };
21
- export declare function buildGameIdeasApiClientMethods(input: {
22
- request: RequestExecutor;
23
- handleApiError: ErrorHandler;
24
- fetchImpl: typeof fetch;
25
- includeBrowserCredentials: boolean;
26
- resolveBaseUrl: () => string;
27
- resolveUrl: (base: string, path: string) => string;
28
- parseResponseBody: ParseResponseBody;
29
- resolveToken: () => Promise<string | null>;
30
- getClientHeaders: () => Record<string, string>;
31
- }): {
32
- createGameIdea(options: CreateGameIdeaOptions): Promise<CreateGameIdeaResponse>;
33
- listGameIdeas(options?: GameIdeasListRequest): Promise<GameIdeasListResponse>;
34
- getGameIdea(idOrSlug: string): Promise<GameIdeaDetailResponse>;
35
- getGameIdeaStatus(idOrSlug: string): Promise<GameIdeaStatusResponse>;
36
- updateGameIdea(idOrSlug: string, body: UpdateGameIdeaRequest): Promise<UpdateGameIdeaResponse>;
37
- startGameIdea(idOrSlug: string, body?: StartGameIdeaRequest): Promise<StartGameIdeaResponse>;
38
- shipGameIdea(idOrSlug: string, body: ShipGameIdeaRequest): Promise<ShipGameIdeaResponse>;
39
- fetchRemixCandidates(options?: {
40
- q?: string;
41
- limit?: number;
42
- offset?: number;
43
- }): Promise<RemixCandidatesResponse>;
44
- };
45
- export {};
46
- //# sourceMappingURL=game-ideas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"game-ideas.d.ts","sourceRoot":"","sources":["../../src/domains/game-ideas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAGzB,KAAK,eAAe,CAAC,CAAC,IAAI;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,eAAe,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE;IAChC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAElC,KAAK,YAAY,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,MAAM,KAAK,KAAK,CAAC;AAE1F,KAAK,iBAAiB,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAE/D,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAqCF,wBAAgB,8BAA8B,CAAC,KAAK,EAAE;IACpD,OAAO,EAAE,eAAe,CAAC;IACzB,cAAc,EAAE,YAAY,CAAC;IAC7B,SAAS,EAAE,OAAO,KAAK,CAAC;IACxB,yBAAyB,EAAE,OAAO,CAAC;IACnC,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3C,gBAAgB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD;4BAciC,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;4BAyBxD,oBAAoB,GAAQ,OAAO,CAAC,qBAAqB,CAAC;0BAiB3D,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;gCAYlC,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;6BAY3C,MAAM,QAAQ,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;4BAatE,MAAM,SAAQ,oBAAoB,GAAQ,OAAO,CAAC,qBAAqB,CAAC;2BAczE,MAAM,QAAQ,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;mCAiB1D;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAQ,OAAO,CAAC,uBAAuB,CAAC;EAiB9H"}
@@ -1,177 +0,0 @@
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 game_ideas_exports = {};
19
- __export(game_ideas_exports, {
20
- buildGameIdeasApiClientMethods: () => buildGameIdeasApiClientMethods
21
- });
22
- module.exports = __toCommonJS(game_ideas_exports);
23
- var import_request = require("../core/request.js");
24
- async function buildAuthorizedHeaders(input) {
25
- const headers = new Headers();
26
- for (const [key, value] of Object.entries(input.getClientHeaders())) {
27
- headers.set(key, value);
28
- }
29
- const token = await input.resolveToken();
30
- if (token) {
31
- headers.set("authorization", `Bearer ${token}`);
32
- }
33
- return headers;
34
- }
35
- function appendPaginationParams(params, options) {
36
- if (typeof options.limit === "number" && Number.isFinite(options.limit)) {
37
- params.set("limit", String(options.limit));
38
- }
39
- if (typeof options.offset === "number" && Number.isFinite(options.offset)) {
40
- params.set("offset", String(options.offset));
41
- }
42
- }
43
- function normalizeIdOrSlug(value) {
44
- const normalized = typeof value === "string" ? value.trim() : "";
45
- if (!normalized) {
46
- throw new Error("invalid_game_idea_ref");
47
- }
48
- return normalized;
49
- }
50
- function buildGameIdeasApiClientMethods(input) {
51
- const { request, handleApiError, fetchImpl, includeBrowserCredentials, resolveBaseUrl, resolveUrl, parseResponseBody, resolveToken, getClientHeaders } = input;
52
- return {
53
- async createGameIdea(options) {
54
- const form = new FormData();
55
- form.set("payload", JSON.stringify(options.payload));
56
- if (options.image) {
57
- form.set("image", options.image, options.filename ?? "game-idea-image.png");
58
- }
59
- const headers = await buildAuthorizedHeaders({ getClientHeaders, resolveToken });
60
- const response = await fetchImpl(resolveUrl(resolveBaseUrl(), "/me/game-ideas"), {
61
- method: "POST",
62
- headers,
63
- body: form,
64
- ...(0, import_request.buildBrowserCredentialsInit)(includeBrowserCredentials)
65
- });
66
- const body = await parseResponseBody(response);
67
- const apiResponse = {
68
- status: response.status,
69
- body,
70
- headers: response.headers
71
- };
72
- if (response.status !== 201) {
73
- handleApiError(apiResponse, "create_game_idea");
74
- }
75
- return body;
76
- },
77
- async listGameIdeas(options = {}) {
78
- const params = new URLSearchParams();
79
- if (typeof options.state === "string" && options.state.trim().length > 0) {
80
- params.set("state", options.state.trim().toLowerCase());
81
- }
82
- appendPaginationParams(params, options);
83
- const query = params.toString();
84
- const response = await request({
85
- method: "GET",
86
- path: "/me/game-ideas" + (query ? `?${query}` : "")
87
- });
88
- if (response.status !== 200) {
89
- handleApiError(response, "list_game_ideas");
90
- }
91
- return response.body;
92
- },
93
- async getGameIdea(idOrSlug) {
94
- const ref = normalizeIdOrSlug(idOrSlug);
95
- const response = await request({
96
- method: "GET",
97
- path: `/me/game-ideas/${encodeURIComponent(ref)}`
98
- });
99
- if (response.status !== 200) {
100
- handleApiError(response, "get_game_idea");
101
- }
102
- return response.body;
103
- },
104
- async getGameIdeaStatus(idOrSlug) {
105
- const ref = normalizeIdOrSlug(idOrSlug);
106
- const response = await request({
107
- method: "GET",
108
- path: `/me/game-ideas/${encodeURIComponent(ref)}/status`
109
- });
110
- if (response.status !== 200) {
111
- handleApiError(response, "get_game_idea_status");
112
- }
113
- return response.body;
114
- },
115
- async updateGameIdea(idOrSlug, body) {
116
- const ref = normalizeIdOrSlug(idOrSlug);
117
- const response = await request({
118
- method: "PATCH",
119
- path: `/me/game-ideas/${encodeURIComponent(ref)}`,
120
- body
121
- });
122
- if (response.status !== 200) {
123
- handleApiError(response, "update_game_idea");
124
- }
125
- return response.body;
126
- },
127
- async startGameIdea(idOrSlug, body = {}) {
128
- const ref = normalizeIdOrSlug(idOrSlug);
129
- const appRef = typeof body.app === "string" ? body.app.trim() : "";
130
- const response = await request({
131
- method: "POST",
132
- path: `/me/game-ideas/${encodeURIComponent(ref)}/start`,
133
- ...appRef ? { body: { app: appRef } } : {}
134
- });
135
- if (response.status !== 200) {
136
- handleApiError(response, "start_game_idea");
137
- }
138
- return response.body;
139
- },
140
- async shipGameIdea(idOrSlug, body) {
141
- const ref = normalizeIdOrSlug(idOrSlug);
142
- const appRef = typeof body?.app === "string" ? body.app.trim() : "";
143
- if (!appRef) {
144
- throw new Error("invalid_app_ref");
145
- }
146
- const response = await request({
147
- method: "POST",
148
- path: `/me/game-ideas/${encodeURIComponent(ref)}/ship`,
149
- body: { app: appRef }
150
- });
151
- if (response.status !== 200) {
152
- handleApiError(response, "ship_game_idea");
153
- }
154
- return response.body;
155
- },
156
- async fetchRemixCandidates(options = {}) {
157
- const params = new URLSearchParams();
158
- if (typeof options.q === "string" && options.q.trim().length > 0) {
159
- params.set("q", options.q.trim());
160
- }
161
- appendPaginationParams(params, options);
162
- const query = params.toString();
163
- const response = await request({
164
- method: "GET",
165
- path: "/game-ideas/remix-candidates" + (query ? `?${query}` : "")
166
- });
167
- if (response.status !== 200) {
168
- handleApiError(response, "fetch_remix_candidates");
169
- }
170
- return response.body;
171
- }
172
- };
173
- }
174
- // Annotate the CommonJS export names for ESM import in node:
175
- 0 && (module.exports = {
176
- buildGameIdeasApiClientMethods
177
- });
@@ -1,27 +0,0 @@
1
- import type { MusicConciergeActivitiesRequest, MusicConciergeActivitiesResponse, MusicConciergeCreateSongGenerationRequest, MusicConciergePlaylistsRequest, MusicConciergePlaylistsResponse, MusicConciergeRefinementsRequest, MusicConciergeRefinementsResponse, MusicConciergeSongGenerationResponse, MusicConciergeSongGenerationStatusResponse, MusicConciergeSongsRequest, MusicConciergeSongsResponse } from '@playdrop/types';
2
- type ApiResponseLike<T> = {
3
- status: number;
4
- body: T;
5
- headers: Headers;
6
- };
7
- type RequestExecutor = <T>(input: {
8
- method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
9
- path: string;
10
- body?: unknown;
11
- headers?: Record<string, string>;
12
- signal?: AbortSignal;
13
- }) => Promise<ApiResponseLike<T>>;
14
- type ErrorHandler = (response: ApiResponseLike<unknown>, defaultMessage: string) => never;
15
- export declare function buildMusicApiClientMethods(input: {
16
- request: RequestExecutor;
17
- handleApiError: ErrorHandler;
18
- }): {
19
- generateMusicConciergeActivities(body: MusicConciergeActivitiesRequest): Promise<MusicConciergeActivitiesResponse>;
20
- generateMusicConciergeRefinements(body: MusicConciergeRefinementsRequest): Promise<MusicConciergeRefinementsResponse>;
21
- generateMusicConciergePlaylists(body: MusicConciergePlaylistsRequest): Promise<MusicConciergePlaylistsResponse>;
22
- generateMusicConciergeSongs(body: MusicConciergeSongsRequest): Promise<MusicConciergeSongsResponse>;
23
- createMusicConciergeSongGeneration(body: MusicConciergeCreateSongGenerationRequest): Promise<MusicConciergeSongGenerationResponse>;
24
- fetchMusicConciergeSongGeneration(jobId: string): Promise<MusicConciergeSongGenerationStatusResponse>;
25
- };
26
- export {};
27
- //# sourceMappingURL=music.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"music.d.ts","sourceRoot":"","sources":["../../src/domains/music.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,gCAAgC,EAChC,yCAAyC,EACzC,8BAA8B,EAC9B,+BAA+B,EAC/B,gCAAgC,EAChC,iCAAiC,EACjC,oCAAoC,EACpC,0CAA0C,EAC1C,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,iBAAiB,CAAC;AAEzB,KAAK,eAAe,CAAC,CAAC,IAAI;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,eAAe,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE;IAChC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAElC,KAAK,YAAY,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,MAAM,KAAK,KAAK,CAAC;AAE1F,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,OAAO,EAAE,eAAe,CAAC;IACzB,cAAc,EAAE,YAAY,CAAC;CAC9B;2CAKW,+BAA+B,GACpC,OAAO,CAAC,gCAAgC,CAAC;4CAapC,gCAAgC,GACrC,OAAO,CAAC,iCAAiC,CAAC;0CAarC,8BAA8B,GACnC,OAAO,CAAC,+BAA+B,CAAC;sCAanC,0BAA0B,GAC/B,OAAO,CAAC,2BAA2B,CAAC;6CAa/B,yCAAyC,GAC9C,OAAO,CAAC,oCAAoC,CAAC;6CAavC,MAAM,GACZ,OAAO,CAAC,0CAA0C,CAAC;EAWzD"}
@@ -1,96 +0,0 @@
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 music_exports = {};
19
- __export(music_exports, {
20
- buildMusicApiClientMethods: () => buildMusicApiClientMethods
21
- });
22
- module.exports = __toCommonJS(music_exports);
23
- function buildMusicApiClientMethods(input) {
24
- const { request, handleApiError } = input;
25
- return {
26
- async generateMusicConciergeActivities(body) {
27
- const response = await request({
28
- method: "POST",
29
- path: "/v1/music/concierge/activities",
30
- body
31
- });
32
- if (response.status !== 200) {
33
- handleApiError(response, "generate_music_concierge_activities");
34
- }
35
- return response.body;
36
- },
37
- async generateMusicConciergeRefinements(body) {
38
- const response = await request({
39
- method: "POST",
40
- path: "/v1/music/concierge/refinements",
41
- body
42
- });
43
- if (response.status !== 200) {
44
- handleApiError(response, "generate_music_concierge_refinements");
45
- }
46
- return response.body;
47
- },
48
- async generateMusicConciergePlaylists(body) {
49
- const response = await request({
50
- method: "POST",
51
- path: "/v1/music/concierge/playlists",
52
- body
53
- });
54
- if (response.status !== 200) {
55
- handleApiError(response, "generate_music_concierge_playlists");
56
- }
57
- return response.body;
58
- },
59
- async generateMusicConciergeSongs(body) {
60
- const response = await request({
61
- method: "POST",
62
- path: "/v1/music/concierge/songs",
63
- body
64
- });
65
- if (response.status !== 200) {
66
- handleApiError(response, "generate_music_concierge_songs");
67
- }
68
- return response.body;
69
- },
70
- async createMusicConciergeSongGeneration(body) {
71
- const response = await request({
72
- method: "POST",
73
- path: "/v1/music/concierge/generations",
74
- body
75
- });
76
- if (response.status !== 200) {
77
- handleApiError(response, "create_music_concierge_song_generation");
78
- }
79
- return response.body;
80
- },
81
- async fetchMusicConciergeSongGeneration(jobId) {
82
- const response = await request({
83
- method: "GET",
84
- path: `/v1/music/concierge/generations/${encodeURIComponent(jobId)}`
85
- });
86
- if (response.status !== 200) {
87
- handleApiError(response, "fetch_music_concierge_song_generation");
88
- }
89
- return response.body;
90
- }
91
- };
92
- }
93
- // Annotate the CommonJS export names for ESM import in node:
94
- 0 && (module.exports = {
95
- buildMusicApiClientMethods
96
- });