@withpica/mcp-server 2.4.2 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/__mocks__/mppx-mcp-sdk-server.d.ts +6 -0
  2. package/dist/__mocks__/mppx-mcp-sdk-server.d.ts.map +1 -0
  3. package/dist/__mocks__/mppx-mcp-sdk-server.js +6 -0
  4. package/dist/__mocks__/mppx-mcp-sdk-server.js.map +1 -0
  5. package/dist/__mocks__/mppx-server.d.ts +12 -0
  6. package/dist/__mocks__/mppx-server.d.ts.map +1 -0
  7. package/dist/__mocks__/mppx-server.js +12 -0
  8. package/dist/__mocks__/mppx-server.js.map +1 -0
  9. package/dist/index.d.ts +1 -1
  10. package/dist/pica-sdk.d.ts +992 -1038
  11. package/dist/pica-sdk.d.ts.map +1 -1
  12. package/dist/pica-sdk.js +40 -5
  13. package/dist/pica-sdk.js.map +1 -1
  14. package/dist/prompts/index.d.ts +64 -64
  15. package/dist/resources/index.d.ts +52 -52
  16. package/dist/server.d.ts +32 -32
  17. package/dist/tools/assets.d.ts.map +1 -1
  18. package/dist/tools/assets.js +12 -8
  19. package/dist/tools/assets.js.map +1 -1
  20. package/dist/tools/bulk.d.ts.map +1 -1
  21. package/dist/tools/bulk.js +8 -3
  22. package/dist/tools/bulk.js.map +1 -1
  23. package/dist/tools/credits.d.ts.map +1 -1
  24. package/dist/tools/credits.js +54 -5
  25. package/dist/tools/credits.js.map +1 -1
  26. package/dist/tools/enrichment.d.ts.map +1 -1
  27. package/dist/tools/enrichment.js +57 -5
  28. package/dist/tools/enrichment.js.map +1 -1
  29. package/dist/tools/exports.d.ts.map +1 -1
  30. package/dist/tools/exports.js +24 -2
  31. package/dist/tools/exports.js.map +1 -1
  32. package/dist/tools/index.d.ts +36 -36
  33. package/dist/tools/notes.d.ts.map +1 -1
  34. package/dist/tools/notes.js +2 -15
  35. package/dist/tools/notes.js.map +1 -1
  36. package/dist/tools/people.d.ts +46 -46
  37. package/dist/tools/recordings.d.ts.map +1 -1
  38. package/dist/tools/recordings.js +3 -9
  39. package/dist/tools/recordings.js.map +1 -1
  40. package/dist/tools/releases.d.ts.map +1 -1
  41. package/dist/tools/releases.js +6 -14
  42. package/dist/tools/releases.js.map +1 -1
  43. package/dist/tools/search.d.ts +20 -20
  44. package/dist/tools/send.d.ts.map +1 -1
  45. package/dist/tools/send.js +6 -0
  46. package/dist/tools/send.js.map +1 -1
  47. package/dist/tools/sessions.d.ts.map +1 -1
  48. package/dist/tools/sessions.js +15 -5
  49. package/dist/tools/sessions.js.map +1 -1
  50. package/dist/tools/share-links.js +2 -2
  51. package/dist/tools/share-links.js.map +1 -1
  52. package/dist/tools/split-sheets.d.ts.map +1 -1
  53. package/dist/tools/split-sheets.js +6 -1
  54. package/dist/tools/split-sheets.js.map +1 -1
  55. package/dist/tools/works.d.ts +46 -46
  56. package/dist/tools/works.d.ts.map +1 -1
  57. package/dist/tools/works.js +34 -1
  58. package/dist/tools/works.js.map +1 -1
  59. package/dist/utils/errors.d.ts +9 -9
  60. package/dist/utils/formatting.d.ts +16 -35
  61. package/package.json +1 -1
@@ -3,1214 +3,1168 @@
3
3
  * Uses the PICA API directly without external dependencies
4
4
  */
5
5
  interface CatalogStats {
6
- works: {
7
- total: number;
8
- with_iswc: number;
9
- };
10
- recordings: {
11
- total: number;
12
- with_isrc: number;
13
- };
14
- people: {
15
- total: number;
16
- with_email: number;
17
- with_isni: number;
18
- with_musicbrainz: number;
19
- };
20
- agreements: {
21
- total: number;
22
- };
6
+ works: {
7
+ total: number;
8
+ with_iswc: number;
9
+ };
10
+ recordings: {
11
+ total: number;
12
+ with_isrc: number;
13
+ };
14
+ people: {
15
+ total: number;
16
+ with_email: number;
17
+ with_isni: number;
18
+ with_musicbrainz: number;
19
+ };
20
+ agreements: {
21
+ total: number;
22
+ };
23
23
  }
24
24
  interface PicaClientConfig {
25
- apiKey: string;
26
- baseUrl?: string;
27
- debug?: boolean;
25
+ apiKey: string;
26
+ baseUrl?: string;
27
+ debug?: boolean;
28
28
  }
29
29
  interface PaginatedResult<T> {
30
- data: T[];
31
- total: number;
32
- hasMore: boolean;
30
+ data: T[];
31
+ total: number;
32
+ hasMore: boolean;
33
33
  }
34
34
  interface Work {
35
- id: string;
36
- title: string;
37
- work_type: string;
38
- work_status?: string;
39
- release_format?: string;
40
- iswc?: string;
41
- isrc?: string;
42
- primary_artist?: string;
43
- duration_seconds?: number;
44
- is_verified: boolean;
45
- lyrics?: string;
46
- genre?: string;
47
- mood?: string;
48
- label?: string;
49
- release_date?: string;
50
- album_art_url?: string;
51
- spotify_track_uri?: string;
52
- youtube_video_id?: string;
53
- youtube_view_count?: number;
54
- spotify_popularity?: number;
55
- spotify_streams?: number;
56
- prs_registered?: boolean;
57
- ppl_registered?: boolean;
58
- published?: boolean;
59
- is_featured?: boolean;
60
- mlc_song_code?: string;
61
- completeness_score?: number | null;
62
- ai_disclosure?: Record<string, unknown>;
63
- provenance_attestation?: Record<string, unknown>;
64
- created_at: string;
65
- updated_at: string;
35
+ id: string;
36
+ title: string;
37
+ work_type: string;
38
+ work_status?: string;
39
+ release_format?: string;
40
+ iswc?: string;
41
+ isrc?: string;
42
+ primary_artist?: string;
43
+ duration_seconds?: number;
44
+ is_verified: boolean;
45
+ lyrics?: string;
46
+ genre?: string;
47
+ mood?: string;
48
+ label?: string;
49
+ release_date?: string;
50
+ album_art_url?: string;
51
+ spotify_track_uri?: string;
52
+ youtube_video_id?: string;
53
+ youtube_view_count?: number;
54
+ spotify_popularity?: number;
55
+ spotify_streams?: number;
56
+ prs_registered?: boolean;
57
+ ppl_registered?: boolean;
58
+ published?: boolean;
59
+ is_featured?: boolean;
60
+ mlc_song_code?: string;
61
+ completeness_score?: number | null;
62
+ ai_disclosure?: Record<string, unknown>;
63
+ provenance_attestation?: Record<string, unknown>;
64
+ created_at: string;
65
+ updated_at: string;
66
66
  }
67
67
  interface Person {
68
- id: string;
69
- first_name?: string;
70
- last_name?: string;
71
- email?: string;
72
- biography?: string;
73
- isni?: string;
74
- musicbrainz_id?: string;
75
- created_at: string;
76
- updated_at: string;
68
+ id: string;
69
+ first_name?: string;
70
+ last_name?: string;
71
+ email?: string;
72
+ biography?: string;
73
+ isni?: string;
74
+ musicbrainz_id?: string;
75
+ created_at: string;
76
+ updated_at: string;
77
77
  }
78
78
  interface Recording {
79
- id: string;
80
- title?: string;
81
- isrc?: string;
82
- duration_seconds?: number;
83
- work_id?: string;
84
- created_at: string;
85
- updated_at: string;
79
+ id: string;
80
+ title?: string;
81
+ isrc?: string;
82
+ duration_seconds?: number;
83
+ work_id?: string;
84
+ created_at: string;
85
+ updated_at: string;
86
86
  }
87
87
  interface WorkCredit {
88
- person_id: string;
89
- role: string;
90
- splits: number;
91
- person_name?: string;
92
- ipi?: string;
93
- verified?: boolean;
94
- split_status?: string;
95
- is_owner?: boolean;
96
- }
97
- interface WorkCreditsInput {
98
- credits: Array<{
99
88
  person_id: string;
100
89
  role: string;
101
90
  splits: number;
102
- }>;
91
+ person_name?: string;
92
+ ipi?: string;
93
+ verified?: boolean;
94
+ split_status?: string;
95
+ is_owner?: boolean;
96
+ }
97
+ interface WorkCreditsInput {
98
+ credits: Array<{
99
+ person_id: string;
100
+ role: string;
101
+ splits: number;
102
+ }>;
103
103
  }
104
104
  interface PicaScorePillar {
105
- name: string;
106
- slug: "income" | "ownership" | "asset" | "verification";
107
- score: number;
108
- weight: number;
109
- status: "strong" | "developing" | "weak";
110
- suggestions: string[];
111
- details: Record<string, unknown>;
105
+ name: string;
106
+ slug: "income" | "ownership" | "asset" | "verification";
107
+ score: number;
108
+ weight: number;
109
+ status: "strong" | "developing" | "weak";
110
+ suggestions: string[];
111
+ details: Record<string, unknown>;
112
112
  }
113
113
  interface PicaScore {
114
- composite: number;
115
- grade: "A" | "B" | "C" | "D" | "F";
116
- pillars: PicaScorePillar[];
117
- topActions: string[];
118
- calculatedAt: string;
114
+ composite: number;
115
+ grade: "A" | "B" | "C" | "D" | "F";
116
+ pillars: PicaScorePillar[];
117
+ topActions: string[];
118
+ calculatedAt: string;
119
119
  }
120
120
  interface AudioFile {
121
- id: string;
122
- work_id: string | null;
123
- title: string;
124
- filename: string;
125
- file_type: "master" | "instrumental" | "stem" | "demo" | "version";
126
- file_size: number;
127
- audio_format: string;
128
- cdn_url?: string;
129
- duration_seconds: number | null;
130
- detected_bpm: number | null;
131
- detected_key: string | null;
132
- detected_energy: number | null;
133
- detected_valence: number | null;
134
- detected_mood: string[] | null;
135
- metadata_extracted: boolean;
136
- extraction_error: string | null;
137
- published: boolean;
138
- classification?: string;
139
- notes?: string;
140
- created_at: string;
141
- updated_at: string;
121
+ id: string;
122
+ work_id: string | null;
123
+ title: string;
124
+ filename: string;
125
+ file_type: "master" | "instrumental" | "stem" | "demo" | "version";
126
+ file_size: number;
127
+ audio_format: string;
128
+ cdn_url?: string;
129
+ duration_seconds: number | null;
130
+ detected_bpm: number | null;
131
+ detected_key: string | null;
132
+ detected_energy: number | null;
133
+ detected_valence: number | null;
134
+ detected_mood: string[] | null;
135
+ metadata_extracted: boolean;
136
+ extraction_error: string | null;
137
+ published: boolean;
138
+ classification?: string;
139
+ notes?: string;
140
+ created_at: string;
141
+ updated_at: string;
142
142
  }
143
143
  interface AudioAnalysisStatus {
144
- status: "processing" | "completed" | "failed" | "not_started";
145
- detected_bpm?: number | null;
146
- detected_key?: string | null;
147
- duration_seconds?: number | null;
148
- error?: string | null;
144
+ status: "processing" | "completed" | "failed" | "not_started";
145
+ detected_bpm?: number | null;
146
+ detected_key?: string | null;
147
+ duration_seconds?: number | null;
148
+ error?: string | null;
149
149
  }
150
150
  interface MultimediaItem {
151
- id: string;
152
- organisation_id: string;
153
- user_id?: string;
154
- content_type: string;
155
- classification?: string;
156
- title: string;
157
- caption?: string;
158
- description?: string;
159
- tags?: string[];
160
- url?: string;
161
- thumbnail_url?: string;
162
- file_name?: string;
163
- file_size?: number;
164
- mime_type?: string;
165
- duration_seconds?: number;
166
- youtube_video_id?: string;
167
- youtube_url?: string;
168
- spotify_track_id?: string;
169
- spotify_track_uri?: string;
170
- soundcloud_url?: string;
171
- is_published?: boolean;
172
- created_at: string;
173
- updated_at: string;
151
+ id: string;
152
+ organisation_id: string;
153
+ user_id?: string;
154
+ content_type: string;
155
+ classification?: string;
156
+ title: string;
157
+ caption?: string;
158
+ description?: string;
159
+ tags?: string[];
160
+ url?: string;
161
+ thumbnail_url?: string;
162
+ file_name?: string;
163
+ file_size?: number;
164
+ mime_type?: string;
165
+ duration_seconds?: number;
166
+ youtube_video_id?: string;
167
+ youtube_url?: string;
168
+ spotify_track_id?: string;
169
+ spotify_track_uri?: string;
170
+ soundcloud_url?: string;
171
+ is_published?: boolean;
172
+ created_at: string;
173
+ updated_at: string;
174
174
  }
175
175
  interface Agreement {
176
- id: string;
177
- organisation_id: string;
178
- title: string;
179
- agreement_type: string;
180
- status: string;
181
- other_party_name: string;
182
- other_party_type?: string;
183
- signing_date?: string;
184
- start_date?: string;
185
- end_date?: string;
186
- description?: string;
187
- notes?: string;
188
- tags?: string[];
189
- financial_terms?: Record<string, unknown>;
190
- agreement_terms?: Record<string, unknown>;
191
- created_at: string;
192
- updated_at: string;
176
+ id: string;
177
+ organisation_id: string;
178
+ title: string;
179
+ agreement_type: string;
180
+ status: string;
181
+ other_party_name: string;
182
+ other_party_type?: string;
183
+ signing_date?: string;
184
+ start_date?: string;
185
+ end_date?: string;
186
+ description?: string;
187
+ notes?: string;
188
+ tags?: string[];
189
+ financial_terms?: Record<string, unknown>;
190
+ agreement_terms?: Record<string, unknown>;
191
+ created_at: string;
192
+ updated_at: string;
193
193
  }
194
194
  interface AgreementWorkLink {
195
- id: string;
196
- agreement_id: string;
197
- work_id: string;
198
- royalty_split_percentage?: number;
199
- notes?: string;
195
+ id: string;
196
+ agreement_id: string;
197
+ work_id: string;
198
+ royalty_split_percentage?: number;
199
+ notes?: string;
200
200
  }
201
201
  interface SyncSearchParams {
202
- mood?: string;
203
- genre?: string;
204
- min_bpm?: number;
205
- max_bpm?: number;
206
- key?: string;
207
- min_energy?: number;
208
- max_energy?: number;
209
- min_valence?: number;
210
- max_valence?: number;
211
- min_duration?: number;
212
- max_duration?: number;
213
- instrumental_only?: boolean;
214
- available_for_sync?: boolean;
215
- limit?: number;
202
+ mood?: string;
203
+ genre?: string;
204
+ min_bpm?: number;
205
+ max_bpm?: number;
206
+ key?: string;
207
+ min_energy?: number;
208
+ max_energy?: number;
209
+ min_valence?: number;
210
+ max_valence?: number;
211
+ min_duration?: number;
212
+ max_duration?: number;
213
+ instrumental_only?: boolean;
214
+ available_for_sync?: boolean;
215
+ limit?: number;
216
216
  }
217
217
  interface SyncTrack {
218
- id: string;
219
- title: string;
220
- filename: string;
221
- duration_seconds: number | null;
222
- detected_bpm: number | null;
223
- detected_key: string | null;
224
- detected_energy: number | null;
225
- detected_mood: string[] | null;
226
- work_id: string | null;
227
- work?: {
228
218
  id: string;
229
219
  title: string;
230
- primary_artist: string | null;
231
- };
232
- cdn_url: string | null;
233
- published: boolean;
220
+ filename: string;
221
+ duration_seconds: number | null;
222
+ detected_bpm: number | null;
223
+ detected_key: string | null;
224
+ detected_energy: number | null;
225
+ detected_mood: string[] | null;
226
+ work_id: string | null;
227
+ work?: {
228
+ id: string;
229
+ title: string;
230
+ primary_artist: string | null;
231
+ };
232
+ cdn_url: string | null;
233
+ published: boolean;
234
234
  }
235
235
  interface SyncSearchResult {
236
- tracks: SyncTrack[];
237
- count: number;
238
- filters: Record<string, unknown>;
236
+ tracks: SyncTrack[];
237
+ count: number;
238
+ filters: Record<string, unknown>;
239
239
  }
240
240
  interface LicenseEnquiryInput {
241
- work_id: string;
242
- track_title: string;
243
- contact_name: string;
244
- contact_email: string;
245
- company_name?: string;
246
- project_type:
247
- | "tv_ad"
248
- | "film"
249
- | "social_media"
250
- | "game"
251
- | "podcast"
252
- | "corporate"
253
- | "other";
254
- project_description: string;
255
- territory: string;
256
- duration: string;
257
- distribution?: string[];
258
- proposed_budget_amount: number;
259
- proposed_budget_currency: string;
260
- budget_notes?: string;
241
+ work_id: string;
242
+ track_title: string;
243
+ contact_name: string;
244
+ contact_email: string;
245
+ company_name?: string;
246
+ project_type: "tv_ad" | "film" | "social_media" | "game" | "podcast" | "corporate" | "other";
247
+ project_description: string;
248
+ territory: string;
249
+ duration: string;
250
+ distribution?: string[];
251
+ proposed_budget_amount: number;
252
+ proposed_budget_currency: string;
253
+ budget_notes?: string;
261
254
  }
262
255
  interface LicenseEnquiry {
263
- id: string;
264
- organisation_id: string;
265
- work_id: string;
266
- track_title: string;
267
- contact_name: string;
268
- contact_email: string;
269
- company_name: string | null;
270
- project_type: string;
271
- project_description: string;
272
- territory: string;
273
- duration: string;
274
- distribution: string[] | null;
275
- proposed_budget_amount: number;
276
- proposed_budget_currency: string;
277
- budget_notes: string | null;
278
- status: string;
279
- your_counter_offer: number | null;
280
- your_notes: string | null;
281
- invoice_id: string | null;
282
- agreement_id: string | null;
283
- responded_at: string | null;
284
- created_at: string;
285
- updated_at: string;
256
+ id: string;
257
+ organisation_id: string;
258
+ work_id: string;
259
+ track_title: string;
260
+ contact_name: string;
261
+ contact_email: string;
262
+ company_name: string | null;
263
+ project_type: string;
264
+ project_description: string;
265
+ territory: string;
266
+ duration: string;
267
+ distribution: string[] | null;
268
+ proposed_budget_amount: number;
269
+ proposed_budget_currency: string;
270
+ budget_notes: string | null;
271
+ status: string;
272
+ your_counter_offer: number | null;
273
+ your_notes: string | null;
274
+ invoice_id: string | null;
275
+ agreement_id: string | null;
276
+ responded_at: string | null;
277
+ created_at: string;
278
+ updated_at: string;
286
279
  }
287
280
  declare class ApiError extends Error {
288
- status: number;
289
- retryable: boolean;
290
- retryAfterMs?: number | undefined;
291
- constructor(
292
- message: string,
293
- status: number,
294
- retryable: boolean,
295
- retryAfterMs?: number | undefined,
296
- );
281
+ status: number;
282
+ retryable: boolean;
283
+ retryAfterMs?: number | undefined;
284
+ constructor(message: string, status: number, retryable: boolean, retryAfterMs?: number | undefined);
297
285
  }
298
286
  declare class BaseResource {
299
- protected baseUrl: string;
300
- protected apiKey: string;
301
- protected debug: boolean;
302
- constructor(baseUrl: string, apiKey: string, debug: boolean);
303
- private fetchWithTimeout;
304
- private fetchWithRetry;
305
- protected request<T>(method: string, path: string, body?: any): Promise<T>;
306
- /**
307
- * Make a request and return paginated result with metadata
308
- */
309
- protected requestPaginated<T>(
310
- method: string,
311
- path: string,
312
- body?: unknown,
313
- ): Promise<PaginatedResult<T>>;
287
+ protected baseUrl: string;
288
+ protected apiKey: string;
289
+ protected debug: boolean;
290
+ constructor(baseUrl: string, apiKey: string, debug: boolean);
291
+ private fetchWithTimeout;
292
+ private fetchWithRetry;
293
+ protected request<T>(method: string, path: string, body?: any): Promise<T>;
294
+ /**
295
+ * Make a request and return paginated result with metadata
296
+ */
297
+ protected requestPaginated<T>(method: string, path: string, body?: unknown): Promise<PaginatedResult<T>>;
314
298
  }
315
299
  export { ApiError };
316
300
  declare class WorksResource extends BaseResource {
317
- list(params?: { limit?: number }): Promise<Work[]>;
318
- search(params: {
319
- query?: string;
320
- limit?: number;
321
- offset?: number;
322
- status?: string;
323
- type?: string;
324
- }): Promise<PaginatedResult<Work>>;
325
- get(id: string): Promise<Work>;
326
- create(data: Partial<Work>): Promise<Work>;
327
- update(id: string, updates: Partial<Work>): Promise<Work>;
328
- delete(id: string): Promise<void>;
329
- verify(id: string): Promise<Work>;
330
- bulkDelete(ids: string[]): Promise<void>;
301
+ list(params?: {
302
+ limit?: number;
303
+ }): Promise<Work[]>;
304
+ search(params: {
305
+ query?: string;
306
+ limit?: number;
307
+ offset?: number;
308
+ status?: string;
309
+ type?: string;
310
+ }): Promise<PaginatedResult<Work>>;
311
+ get(id: string): Promise<Work>;
312
+ create(data: Partial<Work>): Promise<Work>;
313
+ update(id: string, updates: Partial<Work>): Promise<Work>;
314
+ delete(id: string): Promise<void>;
315
+ verify(id: string): Promise<Work>;
316
+ bulkDelete(ids: string[]): Promise<void>;
331
317
  }
332
318
  declare class PeopleResource extends BaseResource {
333
- list(params?: { limit?: number }): Promise<Person[]>;
334
- search(params: {
335
- query?: string;
336
- limit?: number;
337
- offset?: number;
338
- }): Promise<PaginatedResult<Person>>;
339
- get(id: string): Promise<Person>;
340
- create(data: Partial<Person>): Promise<Person>;
341
- update(id: string, updates: Partial<Person>): Promise<Person>;
342
- delete(id: string): Promise<void>;
343
- enrichFromISNI(id: string, isni: string): Promise<Person>;
344
- enrichFromMusicBrainz(id: string, musicbrainz_id: string): Promise<Person>;
319
+ list(params?: {
320
+ limit?: number;
321
+ }): Promise<Person[]>;
322
+ search(params: {
323
+ query?: string;
324
+ limit?: number;
325
+ offset?: number;
326
+ }): Promise<PaginatedResult<Person>>;
327
+ get(id: string): Promise<Person>;
328
+ create(data: Partial<Person>): Promise<Person>;
329
+ update(id: string, updates: Partial<Person>): Promise<Person>;
330
+ delete(id: string): Promise<void>;
331
+ enrichFromISNI(id: string, isni: string): Promise<Person>;
332
+ enrichFromMusicBrainz(id: string, musicbrainz_id: string): Promise<Person>;
345
333
  }
346
334
  declare class LicensingResource extends BaseResource {
347
- /**
348
- * Search for sync-licensable tracks by audio characteristics
349
- */
350
- searchForSync(params?: SyncSearchParams): Promise<SyncSearchResult>;
351
- /**
352
- * Submit a license enquiry for a track
353
- */
354
- submitEnquiry(enquiry: LicenseEnquiryInput): Promise<LicenseEnquiry>;
355
- /**
356
- * List license enquiries with optional filters
357
- */
358
- listEnquiries(params?: {
359
- work_id?: string;
360
- status?: string;
361
- project_type?: string;
362
- territory?: string;
363
- limit?: number;
364
- offset?: number;
365
- }): Promise<LicenseEnquiry[]>;
366
- /**
367
- * Get a specific license enquiry by ID
368
- */
369
- getEnquiry(id: string): Promise<LicenseEnquiry>;
370
- /**
371
- * Update a license enquiry status
372
- */
373
- updateEnquiryStatus(
374
- id: string,
375
- status: string,
376
- notes?: string,
377
- ): Promise<LicenseEnquiry>;
335
+ /**
336
+ * Search for sync-licensable tracks by audio characteristics
337
+ */
338
+ searchForSync(params?: SyncSearchParams): Promise<SyncSearchResult>;
339
+ /**
340
+ * Submit a license enquiry for a track
341
+ */
342
+ submitEnquiry(enquiry: LicenseEnquiryInput): Promise<LicenseEnquiry>;
343
+ /**
344
+ * List license enquiries with optional filters
345
+ */
346
+ listEnquiries(params?: {
347
+ work_id?: string;
348
+ status?: string;
349
+ project_type?: string;
350
+ territory?: string;
351
+ limit?: number;
352
+ offset?: number;
353
+ }): Promise<LicenseEnquiry[]>;
354
+ /**
355
+ * Get a specific license enquiry by ID
356
+ */
357
+ getEnquiry(id: string): Promise<LicenseEnquiry>;
358
+ /**
359
+ * Update a license enquiry status
360
+ */
361
+ updateEnquiryStatus(id: string, status: string, notes?: string): Promise<LicenseEnquiry>;
378
362
  }
379
363
  declare class CreditsResource extends BaseResource {
380
- listForWork(workId: string): Promise<WorkCredit[]>;
381
- updateForWork(
382
- workId: string,
383
- credits: WorkCreditsInput,
384
- ): Promise<WorkCredit[]>;
364
+ listForWork(workId: string): Promise<WorkCredit[]>;
365
+ updateForWork(workId: string, credits: WorkCreditsInput): Promise<WorkCredit[]>;
366
+ listCollaborators(workId: string): Promise<WorkCredit[]>;
367
+ updateCollaborators(workId: string, collaborators: WorkCreditsInput): Promise<WorkCredit[]>;
385
368
  }
386
369
  declare class CreditsBalanceResource extends BaseResource {
387
- getBalance(): Promise<any>;
388
- purchase(params: { package_id: string; currency?: string }): Promise<any>;
370
+ getBalance(): Promise<any>;
371
+ purchase(params: {
372
+ package_id: string;
373
+ currency?: string;
374
+ }): Promise<any>;
389
375
  }
390
376
  declare class PicaScoreResource extends BaseResource {
391
- get(): Promise<PicaScore>;
377
+ get(): Promise<PicaScore>;
392
378
  }
393
379
  interface PresignedUploadResult {
394
- uploadUrl: string;
395
- uploadId: string;
396
- key: string;
397
- bucket: string;
398
- expiresAt?: string;
399
- metadata: Record<string, unknown>;
380
+ uploadUrl: string;
381
+ uploadId: string;
382
+ key: string;
383
+ bucket: string;
384
+ expiresAt?: string;
385
+ metadata: Record<string, unknown>;
400
386
  }
401
387
  interface CompleteUploadResult {
402
- uploadId: string;
403
- audioFileId: string;
404
- s3Key: string;
405
- s3Bucket: string;
406
- fileName: string;
407
- fileSize: number;
408
- status: string;
409
- message: string;
388
+ uploadId: string;
389
+ audioFileId: string;
390
+ s3Key: string;
391
+ s3Bucket: string;
392
+ fileName: string;
393
+ fileSize: number;
394
+ status: string;
395
+ message: string;
410
396
  }
411
397
  interface IdentifyResult {
412
- status?: "matched" | "no_match" | "failed";
413
- alreadyIdentified?: boolean;
414
- audioFileId?: string;
415
- message?: string;
416
- match?: {
417
- title?: string;
418
- artist?: string;
419
- album?: string;
420
- isrc?: string;
421
- label?: string;
422
- release_date?: string;
423
- confidence: number;
424
- };
398
+ status?: "matched" | "no_match" | "failed";
399
+ alreadyIdentified?: boolean;
400
+ audioFileId?: string;
401
+ message?: string;
402
+ match?: {
403
+ title?: string;
404
+ artist?: string;
405
+ album?: string;
406
+ isrc?: string;
407
+ label?: string;
408
+ release_date?: string;
409
+ confidence: number;
410
+ };
425
411
  }
426
412
  declare class AudioFilesResource extends BaseResource {
427
- list(params?: {
428
- work_id?: string;
429
- file_type?: string;
430
- unprocessed?: boolean;
431
- limit?: number;
432
- }): Promise<AudioFile[]>;
433
- get(id: string): Promise<AudioFile>;
434
- analyze(
435
- id: string,
436
- options?: {
437
- forceReAnalyze?: boolean;
438
- enableAudio?: boolean;
439
- enableLyrics?: boolean;
440
- },
441
- ): Promise<{
442
- success: boolean;
443
- message: string;
444
- features?: Record<string, unknown>;
445
- }>;
446
- getStatus(id: string): Promise<AudioAnalysisStatus>;
447
- presignedUpload(params: {
448
- filename: string;
449
- contentType: string;
450
- fileSize: number;
451
- workId?: string;
452
- title?: string;
453
- fileType?: string;
454
- }): Promise<PresignedUploadResult>;
455
- completeUpload(params: {
456
- uploadId: string;
457
- key: string;
458
- bucket: string;
459
- metadata: {
460
- filename: string;
461
- contentType: string;
462
- fileSize: number;
463
- workId?: string;
464
- title?: string;
465
- fileType?: string;
466
- stemLabel?: string;
467
- versionLabel?: string;
468
- recordingId?: string;
469
- classification?: string;
470
- };
471
- }): Promise<CompleteUploadResult>;
472
- identify(
473
- id: string,
474
- options?: {
475
- force?: boolean;
476
- },
477
- ): Promise<IdentifyResult>;
413
+ list(params?: {
414
+ work_id?: string;
415
+ file_type?: string;
416
+ unprocessed?: boolean;
417
+ limit?: number;
418
+ }): Promise<AudioFile[]>;
419
+ get(id: string): Promise<AudioFile>;
420
+ analyze(id: string, options?: {
421
+ forceReAnalyze?: boolean;
422
+ enableAudio?: boolean;
423
+ enableLyrics?: boolean;
424
+ }): Promise<{
425
+ success: boolean;
426
+ message: string;
427
+ features?: Record<string, unknown>;
428
+ }>;
429
+ getStatus(id: string): Promise<AudioAnalysisStatus>;
430
+ presignedUpload(params: {
431
+ filename: string;
432
+ contentType: string;
433
+ fileSize: number;
434
+ workId?: string;
435
+ title?: string;
436
+ fileType?: string;
437
+ }): Promise<PresignedUploadResult>;
438
+ completeUpload(params: {
439
+ uploadId: string;
440
+ key: string;
441
+ bucket: string;
442
+ metadata: {
443
+ filename: string;
444
+ contentType: string;
445
+ fileSize: number;
446
+ workId?: string;
447
+ title?: string;
448
+ fileType?: string;
449
+ stemLabel?: string;
450
+ versionLabel?: string;
451
+ recordingId?: string;
452
+ classification?: string;
453
+ };
454
+ }): Promise<CompleteUploadResult>;
455
+ identify(id: string, options?: {
456
+ force?: boolean;
457
+ }): Promise<IdentifyResult>;
478
458
  }
479
459
  declare class MultimediaResource extends BaseResource {
480
- search(params?: {
481
- query?: string;
482
- content_type?: string;
483
- classification?: string;
484
- is_published?: boolean;
485
- work_id?: string;
486
- person_id?: string;
487
- limit?: number;
488
- offset?: number;
489
- }): Promise<{
490
- data: MultimediaItem[];
491
- count: number;
492
- }>;
493
- create(data: Partial<MultimediaItem>): Promise<MultimediaItem>;
494
- importFromUrl(params: {
495
- url: string;
496
- title?: string;
497
- source?: string;
498
- work_id?: string;
499
- }): Promise<MultimediaItem>;
500
- linkYoutube(params: {
501
- youtube_video_id: string;
502
- title: string;
503
- classification?: string;
504
- work_id?: string;
505
- work_relationship_type?: string;
506
- }): Promise<MultimediaItem>;
507
- linkWork(
508
- id: string,
509
- workId: string,
510
- relationshipType: string,
511
- notes?: string,
512
- ): Promise<Record<string, unknown>>;
460
+ search(params?: {
461
+ query?: string;
462
+ content_type?: string;
463
+ classification?: string;
464
+ is_published?: boolean;
465
+ work_id?: string;
466
+ person_id?: string;
467
+ limit?: number;
468
+ offset?: number;
469
+ }): Promise<{
470
+ data: MultimediaItem[];
471
+ count: number;
472
+ }>;
473
+ create(data: Partial<MultimediaItem>): Promise<MultimediaItem>;
474
+ importFromUrl(params: {
475
+ url: string;
476
+ title?: string;
477
+ source?: string;
478
+ work_id?: string;
479
+ }): Promise<MultimediaItem>;
480
+ linkYoutube(params: {
481
+ youtube_video_id: string;
482
+ title: string;
483
+ classification?: string;
484
+ work_id?: string;
485
+ work_relationship_type?: string;
486
+ }): Promise<MultimediaItem>;
487
+ linkWork(id: string, workId: string, relationshipType: string, notes?: string): Promise<Record<string, unknown>>;
513
488
  }
514
489
  declare class AgreementsResource extends BaseResource {
515
- list(params?: {
516
- query?: string;
517
- agreement_type?: string;
518
- status?: string;
519
- party_name?: string;
520
- includeWorkCounts?: boolean;
521
- limit?: number;
522
- offset?: number;
523
- }): Promise<Agreement[]>;
524
- get(id: string): Promise<{
525
- agreement: Agreement;
526
- signatureStatus: unknown;
527
- linkedWorks: unknown[];
528
- }>;
529
- create(data: Partial<Agreement>): Promise<Agreement>;
530
- update(id: string, updates: Partial<Agreement>): Promise<Agreement>;
531
- delete(id: string): Promise<void>;
532
- getWorks(id: string): Promise<AgreementWorkLink[]>;
533
- linkWork(
534
- id: string,
535
- data: {
536
- work_id: string;
537
- royalty_split_percentage?: number;
538
- notes?: string;
539
- },
540
- ): Promise<AgreementWorkLink>;
490
+ list(params?: {
491
+ query?: string;
492
+ agreement_type?: string;
493
+ status?: string;
494
+ party_name?: string;
495
+ includeWorkCounts?: boolean;
496
+ limit?: number;
497
+ offset?: number;
498
+ }): Promise<Agreement[]>;
499
+ get(id: string): Promise<{
500
+ agreement: Agreement;
501
+ signatureStatus: unknown;
502
+ linkedWorks: unknown[];
503
+ }>;
504
+ create(data: Partial<Agreement>): Promise<Agreement>;
505
+ update(id: string, updates: Partial<Agreement>): Promise<Agreement>;
506
+ delete(id: string): Promise<void>;
507
+ getWorks(id: string): Promise<AgreementWorkLink[]>;
508
+ linkWork(id: string, data: {
509
+ work_id: string;
510
+ royalty_split_percentage?: number;
511
+ notes?: string;
512
+ }): Promise<AgreementWorkLink>;
541
513
  }
542
514
  declare class WorkspaceResource extends BaseResource {
543
- getContext(): Promise<{
544
- organisation: {
545
- name: string;
546
- plan: string | null;
547
- };
548
- catalog: Record<string, unknown>;
549
- health: Record<string, unknown> | null;
550
- priorities: string[];
551
- }>;
552
- getRecentEvents(limit?: number): Promise<{
553
- events: Array<{
554
- id: string;
555
- event: string;
556
- status: string;
557
- timestamp: string;
515
+ getContext(): Promise<{
516
+ organisation: {
517
+ name: string;
518
+ plan: string | null;
519
+ };
520
+ catalog: Record<string, unknown>;
521
+ health: Record<string, unknown> | null;
522
+ priorities: string[];
523
+ }>;
524
+ getRecentEvents(limit?: number): Promise<{
525
+ events: Array<{
526
+ id: string;
527
+ event: string;
528
+ status: string;
529
+ timestamp: string;
530
+ }>;
558
531
  }>;
559
- }>;
560
532
  }
561
533
  declare class MemoryResource extends BaseResource {
562
- list(): Promise<any[]>;
563
- search(query: string): Promise<any[]>;
564
- save(params: {
565
- key: string;
566
- content: string;
567
- scope?: string;
568
- type?: string;
569
- }): Promise<any>;
570
- delete(id: string): Promise<void>;
534
+ list(): Promise<any[]>;
535
+ search(query: string): Promise<any[]>;
536
+ save(params: {
537
+ key: string;
538
+ content: string;
539
+ scope?: string;
540
+ type?: string;
541
+ }): Promise<any>;
542
+ delete(id: string): Promise<void>;
571
543
  }
572
544
  declare class NotesResource extends BaseResource {
573
- list(params?: {
574
- q?: string;
575
- work?: string;
576
- person?: string;
577
- limit?: number;
578
- }): Promise<any[]>;
579
- get(id: string): Promise<any>;
580
- create(
581
- content: string,
582
- metadata?: {
583
- work_ids?: string[];
584
- people_ids?: string[];
585
- },
586
- ): Promise<any>;
587
- delete(id: string): Promise<void>;
545
+ list(params?: {
546
+ q?: string;
547
+ work?: string;
548
+ person?: string;
549
+ limit?: number;
550
+ }): Promise<any[]>;
551
+ get(id: string): Promise<any>;
552
+ create(content: string, metadata?: {
553
+ work_ids?: string[];
554
+ people_ids?: string[];
555
+ }): Promise<any>;
556
+ delete(id: string): Promise<void>;
588
557
  }
589
558
  declare class TeamResource extends BaseResource {
590
- list(): Promise<any>;
591
- get(id: string): Promise<any>;
592
- invite(data: Record<string, any>): Promise<any>;
593
- update(id: string, data: Record<string, any>): Promise<any>;
594
- remove(id: string): Promise<any>;
559
+ list(): Promise<any>;
560
+ get(id: string): Promise<any>;
561
+ invite(data: Record<string, any>): Promise<any>;
562
+ update(id: string, data: Record<string, any>): Promise<any>;
563
+ remove(id: string): Promise<any>;
595
564
  }
596
565
  declare class RecordingsResource extends BaseResource {
597
- list(params?: { limit?: number }): Promise<Recording[]>;
598
- /**
599
- * Search recordings. The recordings API doesn't support text search,
600
- * so we fetch all and filter client-side for text queries.
601
- */
602
- search(params: {
603
- query?: string;
604
- limit?: number;
605
- offset?: number;
606
- }): Promise<PaginatedResult<Recording>>;
607
- get(id: string): Promise<Recording>;
608
- create(data: Partial<Recording>): Promise<Recording>;
609
- update(id: string, updates: Partial<Recording>): Promise<Recording>;
610
- delete(id: string): Promise<void>;
611
- getByWork(workId: string): Promise<Recording[]>;
612
- prefixLookup(isrc: string): Promise<Record<string, unknown> | null>;
566
+ list(params?: {
567
+ limit?: number;
568
+ }): Promise<Recording[]>;
569
+ /**
570
+ * Search recordings. The recordings API doesn't support text search,
571
+ * so we fetch all and filter client-side for text queries.
572
+ */
573
+ search(params: {
574
+ query?: string;
575
+ limit?: number;
576
+ offset?: number;
577
+ }): Promise<PaginatedResult<Recording>>;
578
+ get(id: string): Promise<Recording>;
579
+ create(data: Partial<Recording>): Promise<Recording>;
580
+ update(id: string, updates: Partial<Recording>): Promise<Recording>;
581
+ delete(id: string): Promise<void>;
582
+ getByWork(workId: string): Promise<Recording[]>;
583
+ prefixLookup(isrc: string): Promise<Record<string, unknown> | null>;
613
584
  }
614
585
  declare class EnrichmentResource extends BaseResource {
615
- enrichWork(workId: string): Promise<any>;
616
- enrichPerson(personId: string): Promise<any>;
617
- getWorkEnrichmentStatus(workId: string): Promise<any>;
618
- getCandidates(): Promise<any>;
619
- enrichWorkMlc(workId: string): Promise<any>;
620
- enrichWorkMusicBrainz(workId: string): Promise<any>;
621
- enrichWorkDiscogs(workId: string): Promise<any>;
622
- enrichWorkSpotify(workId: string): Promise<any>;
623
- enrichWorkYouTube(workId: string): Promise<any>;
586
+ enrichWork(workId: string): Promise<any>;
587
+ enrichPerson(personId: string): Promise<any>;
588
+ getWorkEnrichmentStatus(workId: string): Promise<any>;
589
+ getCandidates(): Promise<any>;
590
+ enrichWorkMlc(workId: string): Promise<any>;
591
+ enrichWorkMusicBrainz(workId: string): Promise<any>;
592
+ enrichWorkDiscogs(workId: string): Promise<any>;
593
+ enrichWorkSpotify(workId: string): Promise<any>;
594
+ enrichWorkYouTube(workId: string): Promise<any>;
595
+ /** Preview what a Spotify URL would do — delegates to streaming-link */
596
+ spotifyUrlPreview(url: string): Promise<any>;
597
+ /** Execute import/enrich from a Spotify URL — delegates to streaming-link */
598
+ spotifyUrlExecute(url: string): Promise<any>;
599
+ /** Link a Spotify track URI to a work, then enrich it */
600
+ linkAndEnrichSpotify(workId: string, spotifyUrl: string): Promise<any>;
624
601
  }
625
602
  declare class RegistrationResource extends BaseResource {
626
- getCoverage(): Promise<any>;
627
- getWorkCascadeStatus(workId: string): Promise<any>;
603
+ getCoverage(): Promise<any>;
604
+ getWorkCascadeStatus(workId: string): Promise<any>;
628
605
  }
629
606
  declare class HealthResource extends BaseResource {
630
- getWorksHealth(): Promise<any>;
631
- getLowScoreWorks(): Promise<any>;
632
- getWorkCompleteness(workId: string): Promise<any>;
607
+ getWorksHealth(): Promise<any>;
608
+ getLowScoreWorks(): Promise<any>;
609
+ getWorkCompleteness(workId: string): Promise<any>;
633
610
  }
634
611
  declare class DashboardResource extends BaseResource {
635
- discoveries(params?: { unread?: boolean; limit?: number }): Promise<any>;
636
- pendingDiscoveries(): Promise<any>;
637
- reviewDiscovery(discoveryId: string, status: string): Promise<any>;
638
- attentionItems(params?: { door?: string; limit?: number }): Promise<any>;
639
- briefing(): Promise<any>;
640
- pulse(): Promise<any>;
612
+ discoveries(params?: {
613
+ unread?: boolean;
614
+ limit?: number;
615
+ }): Promise<any>;
616
+ pendingDiscoveries(): Promise<any>;
617
+ reviewDiscovery(discoveryId: string, status: string): Promise<any>;
618
+ attentionItems(params?: {
619
+ door?: string;
620
+ limit?: number;
621
+ }): Promise<any>;
622
+ briefing(): Promise<any>;
623
+ pulse(): Promise<any>;
641
624
  }
642
625
  declare class IntegrationsResource extends BaseResource {
643
- oauthConnections(): Promise<any>;
644
- platforms(): Promise<any>;
626
+ oauthConnections(): Promise<any>;
627
+ platforms(): Promise<any>;
645
628
  }
646
629
  declare class SettingsResource extends BaseResource {
647
- creditsHistory(params?: { type?: string; limit?: number }): Promise<any>;
648
- storageConfig(): Promise<any>;
649
- orgProfile(): Promise<any>;
650
- userProfile(): Promise<any>;
630
+ creditsHistory(params?: {
631
+ type?: string;
632
+ limit?: number;
633
+ }): Promise<any>;
634
+ storageConfig(): Promise<any>;
635
+ orgProfile(): Promise<any>;
636
+ userProfile(): Promise<any>;
651
637
  }
652
638
  declare class CalendarResource extends BaseResource {
653
- getEvents(params: {
654
- startDate: string;
655
- endDate: string;
656
- types?: string[];
657
- workId?: string;
658
- search?: string;
659
- }): Promise<any>;
639
+ getEvents(params: {
640
+ startDate: string;
641
+ endDate: string;
642
+ types?: string[];
643
+ workId?: string;
644
+ search?: string;
645
+ }): Promise<any>;
660
646
  }
661
647
  declare class NotificationsResource extends BaseResource {
662
- list(): Promise<any>;
663
- markRead(ids: string[]): Promise<any>;
664
- sendToPerson(params: {
665
- person_id: string;
666
- message: string;
667
- work_id?: string;
668
- notification_type?: string;
669
- }): Promise<any>;
648
+ list(): Promise<any>;
649
+ markRead(ids: string[]): Promise<any>;
650
+ sendToPerson(params: {
651
+ person_id: string;
652
+ message: string;
653
+ work_id?: string;
654
+ notification_type?: string;
655
+ }): Promise<any>;
670
656
  }
671
657
  declare class AnalyticsResource extends BaseResource {
672
- carbonSummary(): Promise<any>;
673
- carbonLive(): Promise<any>;
674
- provenanceStats(): Promise<any>;
675
- provenanceWork(workId: string): Promise<any>;
676
- provenanceCertificate(workId: string): Promise<any>;
677
- catalogDiligence(): Promise<any>;
658
+ carbonSummary(): Promise<any>;
659
+ carbonLive(): Promise<any>;
660
+ provenanceStats(): Promise<any>;
661
+ provenanceWork(workId: string): Promise<any>;
662
+ provenanceCertificate(workId: string): Promise<any>;
663
+ catalogDiligence(): Promise<any>;
678
664
  }
679
665
  declare class BulkResource extends BaseResource {
680
- updateWorks(workIds: string[], updates: Record<string, any>): Promise<any>;
681
- updatePeopleRoles(personIds: string[], roles: string[]): Promise<any>;
666
+ updateWorks(workIds: string[], updates: Record<string, any>): Promise<any>;
667
+ updatePeopleRoles(personIds: string[], roles: string[], action?: string): Promise<any>;
682
668
  }
683
669
  declare class ExportResource extends BaseResource {
684
- catalogCsv(params?: { format?: string }): Promise<any>;
685
- songRegistration(): Promise<any>;
686
- industryReady(): Promise<any>;
687
- catalogAssetReport(params: {
688
- sections: {
689
- ownership: true;
690
- valuation?: boolean;
691
- assets?: boolean;
692
- agreements?: boolean;
693
- intelligence?: boolean;
694
- audio?: boolean;
695
- };
696
- attestation: {
697
- signer_name: string;
698
- declaration_accepted: boolean;
699
- };
700
- }): Promise<any>;
701
- aiConsent(): Promise<any>;
670
+ catalogCsv(params?: {
671
+ format?: string;
672
+ }): Promise<any>;
673
+ songRegistration(): Promise<any>;
674
+ industryReady(): Promise<any>;
675
+ catalogAssetReport(params: {
676
+ sections: {
677
+ ownership: true;
678
+ valuation?: boolean;
679
+ assets?: boolean;
680
+ agreements?: boolean;
681
+ intelligence?: boolean;
682
+ audio?: boolean;
683
+ };
684
+ attestation: {
685
+ signer_name: string;
686
+ declaration_accepted: boolean;
687
+ };
688
+ }): Promise<any>;
689
+ aiConsent(): Promise<any>;
702
690
  }
703
691
  declare class DuplicatesResource extends BaseResource {
704
- findDuplicates(entityType: "works" | "people"): Promise<any>;
705
- merge(
706
- entityType: "work" | "person",
707
- winnerId: string,
708
- loserIds: string[],
709
- ): Promise<any>;
692
+ findDuplicates(entityType: "works" | "people"): Promise<any>;
693
+ merge(entityType: "work" | "person", winnerId: string, loserIds: string[]): Promise<any>;
710
694
  }
711
695
  declare class EntityContextResource extends BaseResource {
712
- getWorkFull(workId: string): Promise<Record<string, unknown>>;
713
- getPersonFull(personId: string): Promise<Record<string, unknown>>;
696
+ getWorkFull(workId: string): Promise<Record<string, unknown>>;
697
+ getPersonFull(personId: string): Promise<Record<string, unknown>>;
714
698
  }
715
699
  declare class ComparisonsResource extends BaseResource {
716
- enrichmentCompare(params: {
717
- entityType: "work" | "person";
718
- entityId: string;
719
- }): Promise<Record<string, unknown>>;
720
- registrationsCompare(workId: string): Promise<Record<string, unknown>>;
700
+ enrichmentCompare(params: {
701
+ entityType: "work" | "person";
702
+ entityId: string;
703
+ }): Promise<Record<string, unknown>>;
704
+ registrationsCompare(workId: string): Promise<Record<string, unknown>>;
721
705
  }
722
706
  declare class SendResource extends BaseResource {
723
- send(params: Record<string, unknown>): Promise<Record<string, unknown>>;
724
- list(params?: {
725
- type?: string;
726
- status?: string;
727
- personId?: string;
728
- workId?: string;
729
- limit?: number;
730
- offset?: number;
731
- }): Promise<{
732
- items: Array<Record<string, unknown>>;
733
- total: number;
734
- }>;
735
- listPending(): Promise<Array<Record<string, unknown>>>;
736
- resend(id: string): Promise<Record<string, unknown>>;
707
+ send(params: Record<string, unknown>): Promise<Record<string, unknown>>;
708
+ list(params?: {
709
+ type?: string;
710
+ status?: string;
711
+ personId?: string;
712
+ workId?: string;
713
+ limit?: number;
714
+ offset?: number;
715
+ }): Promise<{
716
+ items: Array<Record<string, unknown>>;
717
+ total: number;
718
+ }>;
719
+ listPending(): Promise<Array<Record<string, unknown>>>;
720
+ resend(id: string): Promise<Record<string, unknown>>;
737
721
  }
738
722
  declare class AssetsResource extends BaseResource {
739
- list(params?: { category?: string; limit?: number }): Promise<any>;
740
- get(id: string): Promise<any>;
741
- create(data: Record<string, any>): Promise<any>;
742
- update(id: string, data: Record<string, any>): Promise<any>;
743
- delete(id: string): Promise<any>;
744
- stats(): Promise<any>;
745
- valuations(id: string): Promise<any>;
746
- exportAll(): Promise<any>;
747
- marketCheck(id: string): Promise<any>;
723
+ list(params?: {
724
+ category?: string;
725
+ limit?: number;
726
+ }): Promise<any>;
727
+ get(id: string): Promise<any>;
728
+ create(data: Record<string, any>): Promise<any>;
729
+ update(id: string, data: Record<string, any>): Promise<any>;
730
+ delete(id: string): Promise<any>;
731
+ stats(): Promise<any>;
732
+ valuations(id: string): Promise<any>;
733
+ exportAll(): Promise<any>;
734
+ marketCheck(id: string): Promise<any>;
748
735
  }
749
736
  interface GenericPresignedResult {
750
- uploadUrl: string;
751
- uploadId: string;
752
- key: string;
753
- bucket: string;
754
- storageCategory: "audio" | "media" | "documents";
755
- expiresAt?: string;
756
- metadata: Record<string, unknown>;
737
+ uploadUrl: string;
738
+ uploadId: string;
739
+ key: string;
740
+ bucket: string;
741
+ storageCategory: "audio" | "media" | "documents";
742
+ expiresAt?: string;
743
+ metadata: Record<string, unknown>;
757
744
  }
758
745
  interface GenericCompleteResult {
759
- uploadId: string;
760
- recordId: string;
761
- recordType: string;
762
- key: string;
763
- bucket: string;
764
- storageCategory: string;
765
- }
766
- declare class StorageResource extends BaseResource {
767
- presignedUpload(params: {
768
- filename: string;
769
- contentType: string;
770
- fileSize: number;
771
- storageCategory?: "audio" | "media" | "documents";
772
- }): Promise<GenericPresignedResult>;
773
- completeUpload(params: {
774
746
  uploadId: string;
747
+ recordId: string;
748
+ recordType: string;
775
749
  key: string;
776
750
  bucket: string;
777
- metadata: {
778
- filename: string;
779
- contentType: string;
780
- fileSize: number;
781
- storageCategory: "audio" | "media" | "documents";
782
- title?: string;
783
- workId?: string;
784
- classification?: string;
785
- collectionId?: string;
786
- documentCategory?: string;
787
- documentTitle?: string;
788
- linkedToType?: string;
789
- linkedToId?: string;
790
- };
791
- }): Promise<GenericCompleteResult>;
792
- }
793
- type ImportDomain =
794
- | "works"
795
- | "people"
796
- | "recordings"
797
- | "documents"
798
- | "enquiries"
799
- | "royalties";
751
+ storageCategory: string;
752
+ }
753
+ declare class StorageResource extends BaseResource {
754
+ presignedUpload(params: {
755
+ filename: string;
756
+ contentType: string;
757
+ fileSize: number;
758
+ storageCategory?: "audio" | "media" | "documents";
759
+ }): Promise<GenericPresignedResult>;
760
+ completeUpload(params: {
761
+ uploadId: string;
762
+ key: string;
763
+ bucket: string;
764
+ metadata: {
765
+ filename: string;
766
+ contentType: string;
767
+ fileSize: number;
768
+ storageCategory: "audio" | "media" | "documents";
769
+ title?: string;
770
+ workId?: string;
771
+ classification?: string;
772
+ collectionId?: string;
773
+ documentCategory?: string;
774
+ documentTitle?: string;
775
+ linkedToType?: string;
776
+ linkedToId?: string;
777
+ };
778
+ }): Promise<GenericCompleteResult>;
779
+ }
780
+ type ImportDomain = "works" | "people" | "recordings" | "documents" | "enquiries" | "royalties";
800
781
  interface ImportAnalysis {
801
- parsed: {
802
- headers: string[];
803
- rows: Record<string, string>[];
804
- totalRows: number;
805
- };
806
- analysis: {
807
- mappings: Record<
808
- string,
809
- {
810
- targetField: string;
811
- transform?: string;
812
- aiConfidence?: number;
813
- required?: boolean;
814
- }
815
- >;
816
- suggestions: string[];
817
- };
782
+ parsed: {
783
+ headers: string[];
784
+ rows: Record<string, string>[];
785
+ totalRows: number;
786
+ };
787
+ analysis: {
788
+ mappings: Record<string, {
789
+ targetField: string;
790
+ transform?: string;
791
+ aiConfidence?: number;
792
+ required?: boolean;
793
+ }>;
794
+ suggestions: string[];
795
+ };
818
796
  }
819
797
  interface ImportValidation {
820
- valid: boolean;
821
- errors: Array<{
822
- row: number;
823
- field: string;
824
- message: string;
825
- severity: "error" | "warning";
826
- }>;
827
- validRowCount: number;
828
- invalidRowCount: number;
829
- totalRowCount: number;
830
- errorsByType: Record<string, number>;
798
+ valid: boolean;
799
+ errors: Array<{
800
+ row: number;
801
+ field: string;
802
+ message: string;
803
+ severity: "error" | "warning";
804
+ }>;
805
+ validRowCount: number;
806
+ invalidRowCount: number;
807
+ totalRowCount: number;
808
+ errorsByType: Record<string, number>;
831
809
  }
832
810
  interface ImportResult {
833
- importedCount: number;
834
- updatedCount: number;
835
- skippedCount: number;
836
- createdRecords: Array<{
837
- id: string;
838
- title?: string;
839
- }>;
840
- errors: Array<{
841
- row: number;
842
- field: string;
843
- message: string;
844
- severity: string;
845
- }>;
846
- summary: string;
847
- dryRun: boolean;
848
- }
849
- declare class ImportResource extends BaseResource {
850
- analyze(params: {
851
- fileContent: string;
852
- domain: ImportDomain;
853
- }): Promise<ImportAnalysis>;
854
- suggestMapping(params: {
855
- domain: ImportDomain;
856
- headers: string[];
857
- sampleRows: Record<string, string>[];
858
- }): Promise<{
859
- mappings: Array<{
860
- csvColumn: string;
861
- targetField: string;
862
- transformType: string;
863
- confidence: number;
864
- required: boolean;
811
+ importedCount: number;
812
+ updatedCount: number;
813
+ skippedCount: number;
814
+ createdRecords: Array<{
815
+ id: string;
816
+ title?: string;
865
817
  }>;
866
- unmappedCsvColumns: string[];
867
- missingRequiredFields: string[];
868
- aiSuggestions: string[];
869
- }>;
870
- validate(params: {
871
- domain: ImportDomain;
872
- fileContent: string;
873
- mapping: Array<{
874
- csvColumn: string;
875
- targetField: string;
876
- transformType?: string;
818
+ errors: Array<{
819
+ row: number;
820
+ field: string;
821
+ message: string;
822
+ severity: string;
877
823
  }>;
878
- }): Promise<ImportValidation>;
879
- execute(params: {
880
- domain: ImportDomain;
881
- fileContent: string;
882
- mapping: Array<{
883
- csvColumn: string;
884
- targetField: string;
885
- transformType?: string;
824
+ summary: string;
825
+ dryRun: boolean;
826
+ }
827
+ declare class ImportResource extends BaseResource {
828
+ analyze(params: {
829
+ fileContent: string;
830
+ domain: ImportDomain;
831
+ }): Promise<ImportAnalysis>;
832
+ suggestMapping(params: {
833
+ domain: ImportDomain;
834
+ headers: string[];
835
+ sampleRows: Record<string, string>[];
836
+ }): Promise<{
837
+ mappings: Array<{
838
+ csvColumn: string;
839
+ targetField: string;
840
+ transformType: string;
841
+ confidence: number;
842
+ required: boolean;
843
+ }>;
844
+ unmappedCsvColumns: string[];
845
+ missingRequiredFields: string[];
846
+ aiSuggestions: string[];
886
847
  }>;
887
- options: {
888
- dryRun?: boolean;
889
- skipInvalidRows?: boolean;
890
- batchSize?: number;
891
- };
892
- }): Promise<ImportResult>;
893
- getFields(domain: ImportDomain): Promise<
894
- Array<{
895
- name: string;
896
- label: string;
897
- description?: string;
898
- required: boolean;
899
- type: string;
900
- }>
901
- >;
902
- streamingLinkPreview(url: string): Promise<{
903
- tracks: Array<{
904
- title: string;
905
- artists: Array<{
848
+ validate(params: {
849
+ domain: ImportDomain;
850
+ fileContent: string;
851
+ mapping: Array<{
852
+ csvColumn: string;
853
+ targetField: string;
854
+ transformType?: string;
855
+ }>;
856
+ }): Promise<ImportValidation>;
857
+ execute(params: {
858
+ domain: ImportDomain;
859
+ fileContent: string;
860
+ mapping: Array<{
861
+ csvColumn: string;
862
+ targetField: string;
863
+ transformType?: string;
864
+ }>;
865
+ options: {
866
+ dryRun?: boolean;
867
+ skipInvalidRows?: boolean;
868
+ batchSize?: number;
869
+ };
870
+ }): Promise<ImportResult>;
871
+ getFields(domain: ImportDomain): Promise<Array<{
906
872
  name: string;
907
- }>;
908
- album?: string;
909
- isrc?: string;
910
- platform: string;
911
- externalId: string;
912
- externalUrl: string;
913
- }>;
914
- duplicates: Array<{
915
- track: {
916
- title: string;
917
- externalId: string;
918
- };
919
- existingWorkId: string;
920
- existingTitle: string;
921
- matchType: string;
873
+ label: string;
874
+ description?: string;
875
+ required: boolean;
876
+ type: string;
877
+ }>>;
878
+ streamingLinkPreview(url: string): Promise<{
879
+ tracks: Array<{
880
+ title: string;
881
+ artists: Array<{
882
+ name: string;
883
+ }>;
884
+ album?: string;
885
+ isrc?: string;
886
+ platform: string;
887
+ externalId: string;
888
+ externalUrl: string;
889
+ }>;
890
+ duplicates: Array<{
891
+ track: {
892
+ title: string;
893
+ externalId: string;
894
+ };
895
+ existingWorkId: string;
896
+ existingTitle: string;
897
+ matchType: string;
898
+ }>;
899
+ newTracks: Array<{
900
+ title: string;
901
+ artists: Array<{
902
+ name: string;
903
+ }>;
904
+ isrc?: string;
905
+ externalId: string;
906
+ }>;
907
+ source: {
908
+ platform: string;
909
+ type: string;
910
+ name?: string;
911
+ url: string;
912
+ };
922
913
  }>;
923
- newTracks: Array<{
924
- title: string;
925
- artists: Array<{
926
- name: string;
927
- }>;
928
- isrc?: string;
929
- externalId: string;
914
+ streamingLinkImport(url: string, selectedTrackIds?: string[]): Promise<{
915
+ worksCreated: number;
916
+ recordingsCreated: number;
917
+ peopleCreated: number;
918
+ creditsCreated: number;
919
+ multimediaLinked: number;
920
+ duplicatesSkipped: number;
921
+ workIds: string[];
930
922
  }>;
931
- source: {
932
- platform: string;
933
- type: string;
934
- name?: string;
935
- url: string;
936
- };
937
- }>;
938
- streamingLinkImport(
939
- url: string,
940
- selectedTrackIds?: string[],
941
- ): Promise<{
942
- worksCreated: number;
943
- recordingsCreated: number;
944
- peopleCreated: number;
945
- creditsCreated: number;
946
- multimediaLinked: number;
947
- duplicatesSkipped: number;
948
- workIds: string[];
949
- }>;
950
- getTemplate(domain: ImportDomain): Promise<string>;
923
+ getTemplate(domain: ImportDomain): Promise<string>;
951
924
  }
952
925
  declare class DocumentsResource extends BaseResource {
953
- analyse(id: string): Promise<Record<string, unknown>>;
926
+ analyse(id: string): Promise<Record<string, unknown>>;
954
927
  }
955
928
  interface CollaboratorInvite {
956
- id: string;
957
- work_id: string;
958
- person_id?: string;
959
- email: string;
960
- name: string;
961
- status: "pending" | "accepted" | "expired";
962
- token?: string;
963
- created_at: string;
964
- updated_at: string;
929
+ id: string;
930
+ work_id: string;
931
+ person_id?: string;
932
+ email: string;
933
+ name: string;
934
+ status: "pending" | "accepted" | "expired";
935
+ token?: string;
936
+ created_at: string;
937
+ updated_at: string;
965
938
  }
966
939
  declare class CollaboratorsResource extends BaseResource {
967
- invite(params: {
968
- workId: string;
969
- personData: {
970
- name: string;
971
- email: string;
972
- role?: string;
973
- };
974
- invitedBy: string;
975
- creditData: {
976
- credit_type: string;
977
- percentage_split?: number;
978
- role_description?: string;
979
- };
980
- }): Promise<Record<string, unknown>>;
981
- listInvites(params?: {
982
- status?: "pending" | "accepted" | "expired";
983
- workId?: string;
984
- limit?: number;
985
- }): Promise<CollaboratorInvite[]>;
986
- resendInvite(inviteId: string): Promise<Record<string, unknown>>;
940
+ invite(params: {
941
+ workId: string;
942
+ personData: {
943
+ name: string;
944
+ email: string;
945
+ role?: string;
946
+ };
947
+ invitedBy: string;
948
+ creditData: {
949
+ credit_type: string;
950
+ percentage_split?: number;
951
+ role_description?: string;
952
+ };
953
+ }): Promise<Record<string, unknown>>;
954
+ listInvites(params?: {
955
+ status?: "pending" | "accepted" | "expired";
956
+ workId?: string;
957
+ limit?: number;
958
+ }): Promise<CollaboratorInvite[]>;
959
+ resendInvite(inviteId: string): Promise<Record<string, unknown>>;
987
960
  }
988
961
  interface DirectorySettings {
989
- organisation_id: string;
990
- opted_in: boolean;
991
- show_splits: boolean;
992
- show_publishers: boolean;
993
- show_agreements: boolean;
994
- show_audio_preview: boolean;
995
- show_stems: boolean;
996
- contact_enabled: boolean;
962
+ organisation_id: string;
963
+ opted_in: boolean;
964
+ show_splits: boolean;
965
+ show_publishers: boolean;
966
+ show_agreements: boolean;
967
+ show_audio_preview: boolean;
968
+ show_stems: boolean;
969
+ contact_enabled: boolean;
997
970
  }
998
971
  declare class DirectoryResource extends BaseResource {
999
- getSettings(): Promise<{
1000
- settings: DirectorySettings;
1001
- eligible_work_count: number;
1002
- }>;
1003
- updateSettings(
1004
- updates: Partial<DirectorySettings>,
1005
- ): Promise<DirectorySettings>;
972
+ getSettings(): Promise<{
973
+ settings: DirectorySettings;
974
+ eligible_work_count: number;
975
+ }>;
976
+ updateSettings(updates: Partial<DirectorySettings>): Promise<DirectorySettings>;
1006
977
  }
1007
978
  declare class ProjectsResource extends BaseResource {
1008
- list(params?: { limit?: number }): Promise<any>;
1009
- get(id: string): Promise<any>;
1010
- create(data: Record<string, any>): Promise<any>;
1011
- update(id: string, data: Record<string, any>): Promise<any>;
1012
- delete(id: string): Promise<any>;
979
+ list(params?: {
980
+ limit?: number;
981
+ }): Promise<any>;
982
+ get(id: string): Promise<any>;
983
+ create(data: Record<string, any>): Promise<any>;
984
+ update(id: string, data: Record<string, any>): Promise<any>;
985
+ delete(id: string): Promise<any>;
1013
986
  }
1014
987
  declare class SplitSheetsResource extends BaseResource {
1015
- listForWork(workId: string): Promise<any>;
1016
- generate(workId: string): Promise<any>;
1017
- get(workId: string, splitSheetId: string): Promise<any>;
988
+ listForWork(workId: string): Promise<any>;
989
+ generate(workId: string): Promise<any>;
990
+ get(workId: string, splitSheetId: string): Promise<any>;
1018
991
  }
1019
992
  declare class RecordingSplitsResource extends BaseResource {
1020
- list(recordingId: string): Promise<any>;
1021
- create(recordingId: string, data: Record<string, any>): Promise<any>;
1022
- update(
1023
- recordingId: string,
1024
- splitId: string,
1025
- data: Record<string, any>,
1026
- ): Promise<any>;
1027
- delete(recordingId: string, splitId: string): Promise<any>;
1028
- verify(recordingId: string, splitId: string): Promise<any>;
993
+ list(recordingId: string): Promise<any>;
994
+ create(recordingId: string, data: Record<string, any>): Promise<any>;
995
+ update(recordingId: string, splitId: string, data: Record<string, any>): Promise<any>;
996
+ delete(recordingId: string, splitId: string): Promise<any>;
997
+ verify(recordingId: string, splitId: string): Promise<any>;
1029
998
  }
1030
999
  declare class ReleasesResource extends BaseResource {
1031
- list(params?: { limit?: number }): Promise<any>;
1032
- get(id: string): Promise<any>;
1033
- create(data: Record<string, any>): Promise<any>;
1034
- update(id: string, data: Record<string, any>): Promise<any>;
1035
- delete(id: string): Promise<any>;
1000
+ list(params?: {
1001
+ limit?: number;
1002
+ }): Promise<any>;
1003
+ get(id: string): Promise<any>;
1004
+ create(data: Record<string, any>): Promise<any>;
1005
+ update(id: string, data: Record<string, any>): Promise<any>;
1006
+ delete(id: string): Promise<any>;
1036
1007
  }
1037
1008
  declare class SessionsResource extends BaseResource {
1038
- list(params?: { limit?: number }): Promise<any>;
1039
- get(id: string): Promise<any>;
1040
- create(data: Record<string, any>): Promise<any>;
1041
- update(id: string, data: Record<string, any>): Promise<any>;
1042
- getTypes(): Promise<any>;
1009
+ list(params?: {
1010
+ limit?: number;
1011
+ }): Promise<any>;
1012
+ get(id: string): Promise<any>;
1013
+ create(data: Record<string, any>): Promise<any>;
1014
+ update(id: string, data: Record<string, any>): Promise<any>;
1015
+ getTypes(): Promise<any>;
1043
1016
  }
1044
1017
  declare class AgreementTemplatesResource extends BaseResource {
1045
- list(): Promise<any[]>;
1046
- get(id: string): Promise<any>;
1047
- create(data: Record<string, any>): Promise<any>;
1048
- update(id: string, data: Record<string, any>): Promise<any>;
1049
- delete(id: string): Promise<void>;
1050
- render(id: string, data: Record<string, any>): Promise<any>;
1051
- duplicate(id: string): Promise<any>;
1052
- setDefault(id: string): Promise<any>;
1018
+ list(): Promise<any[]>;
1019
+ get(id: string): Promise<any>;
1020
+ create(data: Record<string, any>): Promise<any>;
1021
+ update(id: string, data: Record<string, any>): Promise<any>;
1022
+ delete(id: string): Promise<void>;
1023
+ render(id: string, data: Record<string, any>): Promise<any>;
1024
+ duplicate(id: string): Promise<any>;
1025
+ setDefault(id: string): Promise<any>;
1053
1026
  }
1054
1027
  declare class ProducerAgreementsResource extends BaseResource {
1055
- list(): Promise<any[]>;
1056
- get(id: string): Promise<any>;
1057
- create(data: Record<string, any>): Promise<any>;
1058
- update(id: string, data: Record<string, any>): Promise<any>;
1059
- delete(id: string): Promise<void>;
1028
+ list(): Promise<any[]>;
1029
+ get(id: string): Promise<any>;
1030
+ create(data: Record<string, any>): Promise<any>;
1031
+ update(id: string, data: Record<string, any>): Promise<any>;
1032
+ delete(id: string): Promise<void>;
1060
1033
  }
1061
1034
  declare class WorkForHireResource extends BaseResource {
1062
- list(): Promise<any[]>;
1063
- get(id: string): Promise<any>;
1064
- create(data: Record<string, any>): Promise<any>;
1065
- update(id: string, data: Record<string, any>): Promise<any>;
1066
- delete(id: string): Promise<void>;
1035
+ list(): Promise<any[]>;
1036
+ get(id: string): Promise<any>;
1037
+ create(data: Record<string, any>): Promise<any>;
1038
+ update(id: string, data: Record<string, any>): Promise<any>;
1039
+ delete(id: string): Promise<void>;
1067
1040
  }
1068
1041
  declare class RoyaltiesResource extends BaseResource {
1069
- payments(params?: {
1070
- source?: string;
1071
- workId?: string;
1072
- fromDate?: string;
1073
- toDate?: string;
1074
- limit?: number;
1075
- offset?: number;
1076
- }): Promise<any[]>;
1077
- earnings(params?: {
1078
- start_date?: string;
1079
- end_date?: string;
1080
- source?: string;
1081
- limit?: number;
1082
- offset?: number;
1083
- }): Promise<any>;
1084
- gaps(params?: {
1085
- priority?: string;
1086
- gapType?: string;
1087
- workId?: string;
1088
- limit?: number;
1089
- }): Promise<any[]>;
1090
- stats(): Promise<any>;
1042
+ payments(params?: {
1043
+ source?: string;
1044
+ workId?: string;
1045
+ fromDate?: string;
1046
+ toDate?: string;
1047
+ limit?: number;
1048
+ offset?: number;
1049
+ }): Promise<any[]>;
1050
+ earnings(params?: {
1051
+ start_date?: string;
1052
+ end_date?: string;
1053
+ source?: string;
1054
+ limit?: number;
1055
+ offset?: number;
1056
+ }): Promise<any>;
1057
+ gaps(params?: {
1058
+ priority?: string;
1059
+ gapType?: string;
1060
+ workId?: string;
1061
+ limit?: number;
1062
+ }): Promise<any[]>;
1063
+ stats(): Promise<any>;
1091
1064
  }
1092
1065
  declare class StatementsResource extends BaseResource {
1093
- history(params?: {
1094
- source?: string;
1095
- dateFrom?: string;
1096
- dateTo?: string;
1097
- search?: string;
1098
- limit?: number;
1099
- offset?: number;
1100
- sort?: string;
1101
- }): Promise<any>;
1102
- get(batchId: string): Promise<any>;
1066
+ history(params?: {
1067
+ source?: string;
1068
+ dateFrom?: string;
1069
+ dateTo?: string;
1070
+ search?: string;
1071
+ limit?: number;
1072
+ offset?: number;
1073
+ sort?: string;
1074
+ }): Promise<any>;
1075
+ get(batchId: string): Promise<any>;
1103
1076
  }
1104
1077
  declare class ShareLinksResource extends BaseResource {
1105
- list(params?: { work_id?: string }): Promise<any[]>;
1106
- create(data: Record<string, any>): Promise<any>;
1078
+ list(params?: {
1079
+ work_id?: string;
1080
+ }): Promise<any[]>;
1081
+ create(data: Record<string, any>): Promise<any>;
1107
1082
  }
1108
1083
  declare class DisputesResource extends BaseResource {
1109
- list(params?: { status?: string }): Promise<any>;
1084
+ list(params?: {
1085
+ status?: string;
1086
+ }): Promise<any>;
1110
1087
  }
1111
1088
  declare class ChainResource extends BaseResource {
1112
- search(params: {
1113
- q: string;
1114
- limit?: number;
1115
- expand_first?: boolean;
1116
- }): Promise<any>;
1117
- getById(type: string, id: string): Promise<any>;
1118
- traverse(identifier: string): Promise<any>;
1089
+ search(params: {
1090
+ q: string;
1091
+ limit?: number;
1092
+ expand_first?: boolean;
1093
+ }): Promise<any>;
1094
+ getById(type: string, id: string): Promise<any>;
1095
+ traverse(identifier: string): Promise<any>;
1119
1096
  }
1120
1097
  declare class TelegramResource extends BaseResource {
1121
- getStatus(): Promise<any>;
1122
- sendNotification(message: string): Promise<any>;
1123
- getPreferences(): Promise<any>;
1098
+ getStatus(): Promise<any>;
1099
+ sendNotification(message: string): Promise<any>;
1100
+ getPreferences(): Promise<any>;
1124
1101
  }
1125
1102
  declare class ImportDocumentsResource extends BaseResource {
1126
- list(options?: {
1127
- source?: string;
1128
- period?: string;
1129
- document_type?: string;
1130
- limit?: number;
1131
- }): Promise<any[]>;
1132
- get(id: string): Promise<any>;
1133
- ingest(content: string): Promise<any>;
1103
+ list(options?: {
1104
+ source?: string;
1105
+ period?: string;
1106
+ document_type?: string;
1107
+ limit?: number;
1108
+ }): Promise<any[]>;
1109
+ get(id: string): Promise<any>;
1110
+ ingest(content: string): Promise<any>;
1134
1111
  }
1135
1112
  export declare class PicaClient {
1136
- works: WorksResource;
1137
- people: PeopleResource;
1138
- recordings: RecordingsResource;
1139
- licensing: LicensingResource;
1140
- credits: CreditsResource;
1141
- creditsBalance: CreditsBalanceResource;
1142
- picaScore: PicaScoreResource;
1143
- audioFiles: AudioFilesResource;
1144
- multimedia: MultimediaResource;
1145
- agreements: AgreementsResource;
1146
- workspace: WorkspaceResource;
1147
- memory: MemoryResource;
1148
- enrichment: EnrichmentResource;
1149
- registration: RegistrationResource;
1150
- health: HealthResource;
1151
- bulk: BulkResource;
1152
- exports: ExportResource;
1153
- duplicates: DuplicatesResource;
1154
- collaborators: CollaboratorsResource;
1155
- entityContext: EntityContextResource;
1156
- comparisons: ComparisonsResource;
1157
- send: SendResource;
1158
- imports: ImportResource;
1159
- storage: StorageResource;
1160
- documents: DocumentsResource;
1161
- analytics: AnalyticsResource;
1162
- notifications: NotificationsResource;
1163
- calendar: CalendarResource;
1164
- dashboard: DashboardResource;
1165
- integrations: IntegrationsResource;
1166
- settings: SettingsResource;
1167
- directory: DirectoryResource;
1168
- importDocuments: ImportDocumentsResource;
1169
- sessions: SessionsResource;
1170
- assets: AssetsResource;
1171
- notes: NotesResource;
1172
- team: TeamResource;
1173
- projects: ProjectsResource;
1174
- releases: ReleasesResource;
1175
- splitSheets: SplitSheetsResource;
1176
- recordingSplits: RecordingSplitsResource;
1177
- agreementTemplates: AgreementTemplatesResource;
1178
- producerAgreements: ProducerAgreementsResource;
1179
- workForHire: WorkForHireResource;
1180
- royalties: RoyaltiesResource;
1181
- statements: StatementsResource;
1182
- shareLinks: ShareLinksResource;
1183
- disputes: DisputesResource;
1184
- chain: ChainResource;
1185
- telegram: TelegramResource;
1186
- /**
1187
- * Get accurate catalog stats via SQL counts (no pagination limits)
1188
- */
1189
- catalogStats(): Promise<CatalogStats>;
1190
- constructor(config: PicaClientConfig);
1191
- }
1192
- export type {
1193
- Work,
1194
- Person,
1195
- Recording,
1196
- PaginatedResult,
1197
- PicaClientConfig,
1198
- SyncSearchParams,
1199
- SyncTrack,
1200
- SyncSearchResult,
1201
- LicenseEnquiryInput,
1202
- LicenseEnquiry,
1203
- WorkCredit,
1204
- WorkCreditsInput,
1205
- PicaScore,
1206
- PicaScorePillar,
1207
- AudioFile,
1208
- AudioAnalysisStatus,
1209
- PresignedUploadResult,
1210
- CompleteUploadResult,
1211
- IdentifyResult,
1212
- MultimediaItem,
1213
- Agreement,
1214
- AgreementWorkLink,
1215
- };
1216
- //# sourceMappingURL=pica-sdk.d.ts.map
1113
+ works: WorksResource;
1114
+ people: PeopleResource;
1115
+ recordings: RecordingsResource;
1116
+ licensing: LicensingResource;
1117
+ credits: CreditsResource;
1118
+ creditsBalance: CreditsBalanceResource;
1119
+ picaScore: PicaScoreResource;
1120
+ audioFiles: AudioFilesResource;
1121
+ multimedia: MultimediaResource;
1122
+ agreements: AgreementsResource;
1123
+ workspace: WorkspaceResource;
1124
+ memory: MemoryResource;
1125
+ enrichment: EnrichmentResource;
1126
+ registration: RegistrationResource;
1127
+ health: HealthResource;
1128
+ bulk: BulkResource;
1129
+ exports: ExportResource;
1130
+ duplicates: DuplicatesResource;
1131
+ collaborators: CollaboratorsResource;
1132
+ entityContext: EntityContextResource;
1133
+ comparisons: ComparisonsResource;
1134
+ send: SendResource;
1135
+ imports: ImportResource;
1136
+ storage: StorageResource;
1137
+ documents: DocumentsResource;
1138
+ analytics: AnalyticsResource;
1139
+ notifications: NotificationsResource;
1140
+ calendar: CalendarResource;
1141
+ dashboard: DashboardResource;
1142
+ integrations: IntegrationsResource;
1143
+ settings: SettingsResource;
1144
+ directory: DirectoryResource;
1145
+ importDocuments: ImportDocumentsResource;
1146
+ sessions: SessionsResource;
1147
+ assets: AssetsResource;
1148
+ notes: NotesResource;
1149
+ team: TeamResource;
1150
+ projects: ProjectsResource;
1151
+ releases: ReleasesResource;
1152
+ splitSheets: SplitSheetsResource;
1153
+ recordingSplits: RecordingSplitsResource;
1154
+ agreementTemplates: AgreementTemplatesResource;
1155
+ producerAgreements: ProducerAgreementsResource;
1156
+ workForHire: WorkForHireResource;
1157
+ royalties: RoyaltiesResource;
1158
+ statements: StatementsResource;
1159
+ shareLinks: ShareLinksResource;
1160
+ disputes: DisputesResource;
1161
+ chain: ChainResource;
1162
+ telegram: TelegramResource;
1163
+ /**
1164
+ * Get accurate catalog stats via SQL counts (no pagination limits)
1165
+ */
1166
+ catalogStats(): Promise<CatalogStats>;
1167
+ constructor(config: PicaClientConfig);
1168
+ }
1169
+ export type { Work, Person, Recording, PaginatedResult, PicaClientConfig, SyncSearchParams, SyncTrack, SyncSearchResult, LicenseEnquiryInput, LicenseEnquiry, WorkCredit, WorkCreditsInput, PicaScore, PicaScorePillar, AudioFile, AudioAnalysisStatus, PresignedUploadResult, CompleteUploadResult, IdentifyResult, MultimediaItem, Agreement, AgreementWorkLink, };
1170
+ //# sourceMappingURL=pica-sdk.d.ts.map