@withpica/mcp-server 2.4.0 → 2.4.2

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.
@@ -3,1160 +3,1214 @@
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<{
88
99
  person_id: string;
89
100
  role: string;
90
101
  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
- person_id: string;
100
- role: string;
101
- splits: number;
102
- }>;
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?: {
218
228
  id: string;
219
229
  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
- id: string;
229
- title: string;
230
- primary_artist: string | null;
231
- };
232
- cdn_url: string | null;
233
- published: boolean;
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: "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;
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;
254
261
  }
255
262
  interface LicenseEnquiry {
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;
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;
279
286
  }
280
287
  declare class ApiError extends Error {
281
- status: number;
282
- retryable: boolean;
283
- retryAfterMs?: number | undefined;
284
- constructor(message: string, status: number, retryable: boolean, retryAfterMs?: number | undefined);
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
+ );
285
297
  }
286
298
  declare class BaseResource {
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>>;
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>>;
298
314
  }
299
315
  export { ApiError };
300
316
  declare class WorksResource extends BaseResource {
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>;
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>;
317
331
  }
318
332
  declare class PeopleResource extends BaseResource {
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>;
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>;
333
345
  }
334
346
  declare class LicensingResource extends BaseResource {
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>;
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>;
362
378
  }
363
379
  declare class CreditsResource extends BaseResource {
364
- listForWork(workId: string): Promise<WorkCredit[]>;
365
- updateForWork(workId: string, credits: WorkCreditsInput): Promise<WorkCredit[]>;
380
+ listForWork(workId: string): Promise<WorkCredit[]>;
381
+ updateForWork(
382
+ workId: string,
383
+ credits: WorkCreditsInput,
384
+ ): Promise<WorkCredit[]>;
366
385
  }
367
386
  declare class CreditsBalanceResource extends BaseResource {
368
- getBalance(): Promise<any>;
369
- purchase(params: {
370
- package_id: string;
371
- currency?: string;
372
- }): Promise<any>;
387
+ getBalance(): Promise<any>;
388
+ purchase(params: { package_id: string; currency?: string }): Promise<any>;
373
389
  }
374
390
  declare class PicaScoreResource extends BaseResource {
375
- get(): Promise<PicaScore>;
391
+ get(): Promise<PicaScore>;
376
392
  }
377
393
  interface PresignedUploadResult {
378
- uploadUrl: string;
379
- uploadId: string;
380
- key: string;
381
- bucket: string;
382
- expiresAt?: string;
383
- metadata: Record<string, unknown>;
394
+ uploadUrl: string;
395
+ uploadId: string;
396
+ key: string;
397
+ bucket: string;
398
+ expiresAt?: string;
399
+ metadata: Record<string, unknown>;
384
400
  }
385
401
  interface CompleteUploadResult {
386
- uploadId: string;
387
- audioFileId: string;
388
- s3Key: string;
389
- s3Bucket: string;
390
- fileName: string;
391
- fileSize: number;
392
- status: string;
393
- message: string;
402
+ uploadId: string;
403
+ audioFileId: string;
404
+ s3Key: string;
405
+ s3Bucket: string;
406
+ fileName: string;
407
+ fileSize: number;
408
+ status: string;
409
+ message: string;
394
410
  }
395
411
  interface IdentifyResult {
396
- status?: "matched" | "no_match" | "failed";
397
- alreadyIdentified?: boolean;
398
- audioFileId?: string;
399
- message?: string;
400
- match?: {
401
- title?: string;
402
- artist?: string;
403
- album?: string;
404
- isrc?: string;
405
- label?: string;
406
- release_date?: string;
407
- confidence: number;
408
- };
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
+ };
409
425
  }
410
426
  declare class AudioFilesResource extends BaseResource {
411
- list(params?: {
412
- work_id?: string;
413
- file_type?: string;
414
- unprocessed?: boolean;
415
- limit?: number;
416
- }): Promise<AudioFile[]>;
417
- get(id: string): Promise<AudioFile>;
418
- analyze(id: string, options?: {
419
- forceReAnalyze?: boolean;
420
- enableAudio?: boolean;
421
- enableLyrics?: boolean;
422
- }): Promise<{
423
- success: boolean;
424
- message: string;
425
- features?: Record<string, unknown>;
426
- }>;
427
- getStatus(id: string): Promise<AudioAnalysisStatus>;
428
- presignedUpload(params: {
429
- filename: string;
430
- contentType: string;
431
- fileSize: number;
432
- workId?: string;
433
- title?: string;
434
- fileType?: string;
435
- }): Promise<PresignedUploadResult>;
436
- completeUpload(params: {
437
- uploadId: string;
438
- key: string;
439
- bucket: string;
440
- metadata: {
441
- filename: string;
442
- contentType: string;
443
- fileSize: number;
444
- workId?: string;
445
- title?: string;
446
- fileType?: string;
447
- stemLabel?: string;
448
- versionLabel?: string;
449
- recordingId?: string;
450
- classification?: string;
451
- };
452
- }): Promise<CompleteUploadResult>;
453
- identify(id: string, options?: {
454
- force?: boolean;
455
- }): Promise<IdentifyResult>;
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>;
456
478
  }
457
479
  declare class MultimediaResource extends BaseResource {
458
- search(params?: {
459
- query?: string;
460
- content_type?: string;
461
- classification?: string;
462
- is_published?: boolean;
463
- work_id?: string;
464
- person_id?: string;
465
- limit?: number;
466
- offset?: number;
467
- }): Promise<{
468
- data: MultimediaItem[];
469
- count: number;
470
- }>;
471
- create(data: Partial<MultimediaItem>): Promise<MultimediaItem>;
472
- importFromUrl(params: {
473
- url: string;
474
- title?: string;
475
- source?: string;
476
- work_id?: string;
477
- }): Promise<MultimediaItem>;
478
- linkYoutube(params: {
479
- youtube_video_id: string;
480
- title: string;
481
- classification?: string;
482
- work_id?: string;
483
- work_relationship_type?: string;
484
- }): Promise<MultimediaItem>;
485
- linkWork(id: string, workId: string, relationshipType: string, notes?: string): Promise<Record<string, unknown>>;
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>>;
486
513
  }
487
514
  declare class AgreementsResource extends BaseResource {
488
- list(params?: {
489
- query?: string;
490
- agreement_type?: string;
491
- status?: string;
492
- party_name?: string;
493
- includeWorkCounts?: boolean;
494
- limit?: number;
495
- offset?: number;
496
- }): Promise<Agreement[]>;
497
- get(id: string): Promise<{
498
- agreement: Agreement;
499
- signatureStatus: unknown;
500
- linkedWorks: unknown[];
501
- }>;
502
- create(data: Partial<Agreement>): Promise<Agreement>;
503
- update(id: string, updates: Partial<Agreement>): Promise<Agreement>;
504
- delete(id: string): Promise<void>;
505
- getWorks(id: string): Promise<AgreementWorkLink[]>;
506
- linkWork(id: string, data: {
507
- work_id: string;
508
- royalty_split_percentage?: number;
509
- notes?: string;
510
- }): Promise<AgreementWorkLink>;
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>;
511
541
  }
512
542
  declare class WorkspaceResource extends BaseResource {
513
- getContext(): Promise<{
514
- organisation: {
515
- name: string;
516
- plan: string | null;
517
- };
518
- catalog: Record<string, unknown>;
519
- health: Record<string, unknown> | null;
520
- priorities: string[];
521
- }>;
522
- getRecentEvents(limit?: number): Promise<{
523
- events: Array<{
524
- id: string;
525
- event: string;
526
- status: string;
527
- timestamp: string;
528
- }>;
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;
529
558
  }>;
559
+ }>;
530
560
  }
531
561
  declare class MemoryResource extends BaseResource {
532
- list(): Promise<any[]>;
533
- search(query: string): Promise<any[]>;
534
- save(params: {
535
- key: string;
536
- content: string;
537
- scope?: string;
538
- type?: string;
539
- }): Promise<any>;
540
- delete(id: string): Promise<void>;
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>;
541
571
  }
542
572
  declare class NotesResource extends BaseResource {
543
- list(params?: {
544
- q?: string;
545
- work?: string;
546
- person?: string;
547
- limit?: number;
548
- }): Promise<any[]>;
549
- get(id: string): Promise<any>;
550
- create(content: string, metadata?: {
551
- work_ids?: string[];
552
- people_ids?: string[];
553
- }): Promise<any>;
554
- delete(id: string): Promise<void>;
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>;
555
588
  }
556
589
  declare class TeamResource extends BaseResource {
557
- list(): Promise<any>;
558
- get(id: string): Promise<any>;
559
- invite(data: Record<string, any>): Promise<any>;
560
- update(id: string, data: Record<string, any>): Promise<any>;
561
- remove(id: string): Promise<any>;
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>;
562
595
  }
563
596
  declare class RecordingsResource extends BaseResource {
564
- list(params?: {
565
- limit?: number;
566
- }): Promise<Recording[]>;
567
- /**
568
- * Search recordings. The recordings API doesn't support text search,
569
- * so we fetch all and filter client-side for text queries.
570
- */
571
- search(params: {
572
- query?: string;
573
- limit?: number;
574
- offset?: number;
575
- }): Promise<PaginatedResult<Recording>>;
576
- get(id: string): Promise<Recording>;
577
- create(data: Partial<Recording>): Promise<Recording>;
578
- update(id: string, updates: Partial<Recording>): Promise<Recording>;
579
- delete(id: string): Promise<void>;
580
- getByWork(workId: string): Promise<Recording[]>;
581
- prefixLookup(isrc: string): Promise<Record<string, unknown> | null>;
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>;
582
613
  }
583
614
  declare class EnrichmentResource extends BaseResource {
584
- enrichWork(workId: string): Promise<any>;
585
- enrichPerson(personId: string): Promise<any>;
586
- getWorkEnrichmentStatus(workId: string): Promise<any>;
587
- getCandidates(): Promise<any>;
588
- enrichWorkMlc(workId: string): Promise<any>;
589
- enrichWorkMusicBrainz(workId: string): Promise<any>;
590
- enrichWorkDiscogs(workId: string): Promise<any>;
591
- enrichWorkSpotify(workId: string): Promise<any>;
592
- enrichWorkYouTube(workId: string): Promise<any>;
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>;
593
624
  }
594
625
  declare class RegistrationResource extends BaseResource {
595
- getCoverage(): Promise<any>;
596
- getWorkCascadeStatus(workId: string): Promise<any>;
626
+ getCoverage(): Promise<any>;
627
+ getWorkCascadeStatus(workId: string): Promise<any>;
597
628
  }
598
629
  declare class HealthResource extends BaseResource {
599
- getWorksHealth(): Promise<any>;
600
- getLowScoreWorks(): Promise<any>;
601
- getWorkCompleteness(workId: string): Promise<any>;
630
+ getWorksHealth(): Promise<any>;
631
+ getLowScoreWorks(): Promise<any>;
632
+ getWorkCompleteness(workId: string): Promise<any>;
602
633
  }
603
634
  declare class DashboardResource extends BaseResource {
604
- discoveries(params?: {
605
- unread?: boolean;
606
- limit?: number;
607
- }): Promise<any>;
608
- pendingDiscoveries(): Promise<any>;
609
- reviewDiscovery(discoveryId: string, status: string): Promise<any>;
610
- attentionItems(params?: {
611
- door?: string;
612
- limit?: number;
613
- }): Promise<any>;
614
- briefing(): Promise<any>;
615
- pulse(): Promise<any>;
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>;
616
641
  }
617
642
  declare class IntegrationsResource extends BaseResource {
618
- oauthConnections(): Promise<any>;
619
- platforms(): Promise<any>;
643
+ oauthConnections(): Promise<any>;
644
+ platforms(): Promise<any>;
620
645
  }
621
646
  declare class SettingsResource extends BaseResource {
622
- creditsHistory(params?: {
623
- type?: string;
624
- limit?: number;
625
- }): Promise<any>;
626
- storageConfig(): Promise<any>;
627
- orgProfile(): Promise<any>;
628
- userProfile(): Promise<any>;
647
+ creditsHistory(params?: { type?: string; limit?: number }): Promise<any>;
648
+ storageConfig(): Promise<any>;
649
+ orgProfile(): Promise<any>;
650
+ userProfile(): Promise<any>;
629
651
  }
630
652
  declare class CalendarResource extends BaseResource {
631
- getEvents(params: {
632
- startDate: string;
633
- endDate: string;
634
- types?: string[];
635
- workId?: string;
636
- search?: string;
637
- }): Promise<any>;
653
+ getEvents(params: {
654
+ startDate: string;
655
+ endDate: string;
656
+ types?: string[];
657
+ workId?: string;
658
+ search?: string;
659
+ }): Promise<any>;
638
660
  }
639
661
  declare class NotificationsResource extends BaseResource {
640
- list(): Promise<any>;
641
- markRead(ids: string[]): Promise<any>;
642
- sendToPerson(params: {
643
- person_id: string;
644
- message: string;
645
- work_id?: string;
646
- notification_type?: string;
647
- }): Promise<any>;
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
670
  }
649
671
  declare class AnalyticsResource extends BaseResource {
650
- carbonSummary(): Promise<any>;
651
- carbonLive(): Promise<any>;
652
- provenanceStats(): Promise<any>;
653
- provenanceWork(workId: string): Promise<any>;
654
- provenanceCertificate(workId: string): Promise<any>;
655
- catalogDiligence(): Promise<any>;
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>;
656
678
  }
657
679
  declare class BulkResource extends BaseResource {
658
- updateWorks(workIds: string[], updates: Record<string, any>): Promise<any>;
659
- updatePeopleRoles(personIds: string[], roles: string[]): Promise<any>;
680
+ updateWorks(workIds: string[], updates: Record<string, any>): Promise<any>;
681
+ updatePeopleRoles(personIds: string[], roles: string[]): Promise<any>;
660
682
  }
661
683
  declare class ExportResource extends BaseResource {
662
- catalogCsv(params?: {
663
- format?: string;
664
- }): Promise<any>;
665
- songRegistration(): Promise<any>;
666
- industryReady(): Promise<any>;
667
- catalogAssetReport(params: {
668
- sections: {
669
- ownership: true;
670
- valuation?: boolean;
671
- assets?: boolean;
672
- agreements?: boolean;
673
- intelligence?: boolean;
674
- audio?: boolean;
675
- };
676
- attestation: {
677
- signer_name: string;
678
- declaration_accepted: boolean;
679
- };
680
- }): Promise<any>;
681
- aiConsent(): Promise<any>;
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>;
682
702
  }
683
703
  declare class DuplicatesResource extends BaseResource {
684
- findDuplicates(entityType: "works" | "people"): Promise<any>;
685
- merge(entityType: "work" | "person", winnerId: string, loserIds: string[]): Promise<any>;
704
+ findDuplicates(entityType: "works" | "people"): Promise<any>;
705
+ merge(
706
+ entityType: "work" | "person",
707
+ winnerId: string,
708
+ loserIds: string[],
709
+ ): Promise<any>;
686
710
  }
687
711
  declare class EntityContextResource extends BaseResource {
688
- getWorkFull(workId: string): Promise<Record<string, unknown>>;
689
- getPersonFull(personId: string): Promise<Record<string, unknown>>;
712
+ getWorkFull(workId: string): Promise<Record<string, unknown>>;
713
+ getPersonFull(personId: string): Promise<Record<string, unknown>>;
690
714
  }
691
715
  declare class ComparisonsResource extends BaseResource {
692
- enrichmentCompare(params: {
693
- entityType: "work" | "person";
694
- entityId: string;
695
- }): Promise<Record<string, unknown>>;
696
- registrationsCompare(workId: string): Promise<Record<string, unknown>>;
716
+ enrichmentCompare(params: {
717
+ entityType: "work" | "person";
718
+ entityId: string;
719
+ }): Promise<Record<string, unknown>>;
720
+ registrationsCompare(workId: string): Promise<Record<string, unknown>>;
697
721
  }
698
722
  declare class SendResource extends BaseResource {
699
- send(params: Record<string, unknown>): Promise<Record<string, unknown>>;
700
- list(params?: {
701
- type?: string;
702
- status?: string;
703
- personId?: string;
704
- workId?: string;
705
- limit?: number;
706
- offset?: number;
707
- }): Promise<{
708
- items: Array<Record<string, unknown>>;
709
- total: number;
710
- }>;
711
- listPending(): Promise<Array<Record<string, unknown>>>;
712
- resend(id: string): Promise<Record<string, unknown>>;
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>>;
713
737
  }
714
738
  declare class AssetsResource extends BaseResource {
715
- list(params?: {
716
- category?: string;
717
- limit?: number;
718
- }): Promise<any>;
719
- get(id: string): Promise<any>;
720
- create(data: Record<string, any>): Promise<any>;
721
- update(id: string, data: Record<string, any>): Promise<any>;
722
- delete(id: string): Promise<any>;
723
- stats(): Promise<any>;
724
- valuations(id: string): Promise<any>;
725
- exportAll(): Promise<any>;
726
- marketCheck(id: string): Promise<any>;
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>;
727
748
  }
728
749
  interface GenericPresignedResult {
729
- uploadUrl: string;
730
- uploadId: string;
731
- key: string;
732
- bucket: string;
733
- storageCategory: "audio" | "media" | "documents";
734
- expiresAt?: string;
735
- metadata: Record<string, unknown>;
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>;
736
757
  }
737
758
  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: {
738
774
  uploadId: string;
739
- recordId: string;
740
- recordType: string;
741
775
  key: string;
742
776
  bucket: string;
743
- storageCategory: string;
744
- }
745
- declare class StorageResource extends BaseResource {
746
- presignedUpload(params: {
747
- filename: string;
748
- contentType: string;
749
- fileSize: number;
750
- storageCategory?: "audio" | "media" | "documents";
751
- }): Promise<GenericPresignedResult>;
752
- completeUpload(params: {
753
- uploadId: string;
754
- key: string;
755
- bucket: string;
756
- metadata: {
757
- filename: string;
758
- contentType: string;
759
- fileSize: number;
760
- storageCategory: "audio" | "media" | "documents";
761
- title?: string;
762
- workId?: string;
763
- classification?: string;
764
- collectionId?: string;
765
- documentCategory?: string;
766
- documentTitle?: string;
767
- linkedToType?: string;
768
- linkedToId?: string;
769
- };
770
- }): Promise<GenericCompleteResult>;
771
- }
772
- type ImportDomain = "works" | "people" | "recordings" | "documents" | "enquiries" | "royalties";
773
- interface ImportAnalysis {
774
- parsed: {
775
- headers: string[];
776
- rows: Record<string, string>[];
777
- totalRows: number;
778
- };
779
- analysis: {
780
- mappings: Record<string, {
781
- targetField: string;
782
- transform?: string;
783
- aiConfidence?: number;
784
- required?: boolean;
785
- }>;
786
- suggestions: 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;
787
790
  };
791
+ }): Promise<GenericCompleteResult>;
792
+ }
793
+ type ImportDomain =
794
+ | "works"
795
+ | "people"
796
+ | "recordings"
797
+ | "documents"
798
+ | "enquiries"
799
+ | "royalties";
800
+ 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
+ };
788
818
  }
789
819
  interface ImportValidation {
790
- valid: boolean;
791
- errors: Array<{
792
- row: number;
793
- field: string;
794
- message: string;
795
- severity: "error" | "warning";
796
- }>;
797
- validRowCount: number;
798
- invalidRowCount: number;
799
- totalRowCount: number;
800
- errorsByType: Record<string, number>;
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>;
801
831
  }
802
832
  interface ImportResult {
803
- importedCount: number;
804
- updatedCount: number;
805
- skippedCount: number;
806
- createdRecords: Array<{
807
- id: string;
808
- title?: string;
809
- }>;
810
- errors: Array<{
811
- row: number;
812
- field: string;
813
- message: string;
814
- severity: string;
815
- }>;
816
- summary: string;
817
- dryRun: boolean;
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;
818
848
  }
819
849
  declare class ImportResource extends BaseResource {
820
- analyze(params: {
821
- fileContent: string;
822
- domain: ImportDomain;
823
- }): Promise<ImportAnalysis>;
824
- suggestMapping(params: {
825
- domain: ImportDomain;
826
- headers: string[];
827
- sampleRows: Record<string, string>[];
828
- }): Promise<{
829
- mappings: Array<{
830
- csvColumn: string;
831
- targetField: string;
832
- transformType: string;
833
- confidence: number;
834
- required: boolean;
835
- }>;
836
- unmappedCsvColumns: string[];
837
- missingRequiredFields: string[];
838
- aiSuggestions: string[];
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;
839
865
  }>;
840
- validate(params: {
841
- domain: ImportDomain;
842
- fileContent: string;
843
- mapping: Array<{
844
- csvColumn: string;
845
- targetField: string;
846
- transformType?: string;
847
- }>;
848
- }): Promise<ImportValidation>;
849
- execute(params: {
850
- domain: ImportDomain;
851
- fileContent: string;
852
- mapping: Array<{
853
- csvColumn: string;
854
- targetField: string;
855
- transformType?: string;
856
- }>;
857
- options: {
858
- dryRun?: boolean;
859
- skipInvalidRows?: boolean;
860
- batchSize?: number;
861
- };
862
- }): Promise<ImportResult>;
863
- getFields(domain: ImportDomain): Promise<Array<{
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;
877
+ }>;
878
+ }): Promise<ImportValidation>;
879
+ execute(params: {
880
+ domain: ImportDomain;
881
+ fileContent: string;
882
+ mapping: Array<{
883
+ csvColumn: string;
884
+ targetField: string;
885
+ transformType?: string;
886
+ }>;
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<{
864
906
  name: string;
865
- label: string;
866
- description?: string;
867
- required: boolean;
868
- type: string;
869
- }>>;
870
- streamingLinkPreview(url: string): Promise<{
871
- tracks: Array<{
872
- title: string;
873
- artists: Array<{
874
- name: string;
875
- }>;
876
- album?: string;
877
- isrc?: string;
878
- platform: string;
879
- externalId: string;
880
- externalUrl: string;
881
- }>;
882
- duplicates: Array<{
883
- track: {
884
- title: string;
885
- externalId: string;
886
- };
887
- existingWorkId: string;
888
- existingTitle: string;
889
- matchType: string;
890
- }>;
891
- newTracks: Array<{
892
- title: string;
893
- artists: Array<{
894
- name: string;
895
- }>;
896
- isrc?: string;
897
- externalId: string;
898
- }>;
899
- source: {
900
- platform: string;
901
- type: string;
902
- name?: string;
903
- url: string;
904
- };
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;
905
922
  }>;
906
- streamingLinkImport(url: string, selectedTrackIds?: string[]): Promise<{
907
- worksCreated: number;
908
- recordingsCreated: number;
909
- peopleCreated: number;
910
- creditsCreated: number;
911
- multimediaLinked: number;
912
- duplicatesSkipped: number;
913
- workIds: string[];
923
+ newTracks: Array<{
924
+ title: string;
925
+ artists: Array<{
926
+ name: string;
927
+ }>;
928
+ isrc?: string;
929
+ externalId: string;
914
930
  }>;
915
- getTemplate(domain: ImportDomain): Promise<string>;
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>;
916
951
  }
917
952
  declare class DocumentsResource extends BaseResource {
918
- analyse(id: string): Promise<Record<string, unknown>>;
953
+ analyse(id: string): Promise<Record<string, unknown>>;
919
954
  }
920
955
  interface CollaboratorInvite {
921
- id: string;
922
- work_id: string;
923
- person_id?: string;
924
- email: string;
925
- name: string;
926
- status: "pending" | "accepted" | "expired";
927
- token?: string;
928
- created_at: string;
929
- updated_at: string;
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;
930
965
  }
931
966
  declare class CollaboratorsResource extends BaseResource {
932
- invite(params: {
933
- workId: string;
934
- personData: {
935
- name: string;
936
- email: string;
937
- role?: string;
938
- };
939
- invitedBy: string;
940
- creditData: {
941
- credit_type: string;
942
- percentage_split?: number;
943
- role_description?: string;
944
- };
945
- }): Promise<Record<string, unknown>>;
946
- listInvites(params?: {
947
- status?: "pending" | "accepted" | "expired";
948
- workId?: string;
949
- limit?: number;
950
- }): Promise<CollaboratorInvite[]>;
951
- resendInvite(inviteId: string): Promise<Record<string, unknown>>;
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>>;
952
987
  }
953
988
  interface DirectorySettings {
954
- organisation_id: string;
955
- opted_in: boolean;
956
- show_splits: boolean;
957
- show_publishers: boolean;
958
- show_agreements: boolean;
959
- show_audio_preview: boolean;
960
- show_stems: boolean;
961
- contact_enabled: boolean;
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
997
  }
963
998
  declare class DirectoryResource extends BaseResource {
964
- getSettings(): Promise<{
965
- settings: DirectorySettings;
966
- eligible_work_count: number;
967
- }>;
968
- updateSettings(updates: Partial<DirectorySettings>): Promise<DirectorySettings>;
999
+ getSettings(): Promise<{
1000
+ settings: DirectorySettings;
1001
+ eligible_work_count: number;
1002
+ }>;
1003
+ updateSettings(
1004
+ updates: Partial<DirectorySettings>,
1005
+ ): Promise<DirectorySettings>;
969
1006
  }
970
1007
  declare class ProjectsResource extends BaseResource {
971
- list(params?: {
972
- limit?: number;
973
- }): Promise<any>;
974
- get(id: string): Promise<any>;
975
- create(data: Record<string, any>): Promise<any>;
976
- update(id: string, data: Record<string, any>): Promise<any>;
977
- delete(id: string): Promise<any>;
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>;
978
1013
  }
979
1014
  declare class SplitSheetsResource extends BaseResource {
980
- listForWork(workId: string): Promise<any>;
981
- generate(workId: string): Promise<any>;
982
- get(workId: string, splitSheetId: string): Promise<any>;
1015
+ listForWork(workId: string): Promise<any>;
1016
+ generate(workId: string): Promise<any>;
1017
+ get(workId: string, splitSheetId: string): Promise<any>;
983
1018
  }
984
1019
  declare class RecordingSplitsResource extends BaseResource {
985
- list(recordingId: string): Promise<any>;
986
- create(recordingId: string, data: Record<string, any>): Promise<any>;
987
- update(recordingId: string, splitId: string, data: Record<string, any>): Promise<any>;
988
- delete(recordingId: string, splitId: string): Promise<any>;
989
- verify(recordingId: string, splitId: string): Promise<any>;
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>;
990
1029
  }
991
1030
  declare class ReleasesResource extends BaseResource {
992
- list(params?: {
993
- limit?: number;
994
- }): Promise<any>;
995
- get(id: string): Promise<any>;
996
- create(data: Record<string, any>): Promise<any>;
997
- update(id: string, data: Record<string, any>): Promise<any>;
998
- delete(id: string): Promise<any>;
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>;
999
1036
  }
1000
1037
  declare class SessionsResource extends BaseResource {
1001
- list(params?: {
1002
- limit?: number;
1003
- }): Promise<any>;
1004
- get(id: string): Promise<any>;
1005
- create(data: Record<string, any>): Promise<any>;
1006
- update(id: string, data: Record<string, any>): Promise<any>;
1007
- getTypes(): Promise<any>;
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>;
1008
1043
  }
1009
1044
  declare class AgreementTemplatesResource extends BaseResource {
1010
- list(): Promise<any[]>;
1011
- get(id: string): Promise<any>;
1012
- create(data: Record<string, any>): Promise<any>;
1013
- update(id: string, data: Record<string, any>): Promise<any>;
1014
- delete(id: string): Promise<void>;
1015
- render(id: string, data: Record<string, any>): Promise<any>;
1016
- duplicate(id: string): Promise<any>;
1017
- setDefault(id: string): Promise<any>;
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
1053
  }
1019
1054
  declare class ProducerAgreementsResource extends BaseResource {
1020
- list(): Promise<any[]>;
1021
- get(id: string): Promise<any>;
1022
- create(data: Record<string, any>): Promise<any>;
1023
- update(id: string, data: Record<string, any>): Promise<any>;
1024
- delete(id: string): Promise<void>;
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>;
1025
1060
  }
1026
1061
  declare class WorkForHireResource extends BaseResource {
1027
- list(): Promise<any[]>;
1028
- get(id: string): Promise<any>;
1029
- create(data: Record<string, any>): Promise<any>;
1030
- update(id: string, data: Record<string, any>): Promise<any>;
1031
- delete(id: string): Promise<void>;
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>;
1032
1067
  }
1033
1068
  declare class RoyaltiesResource extends BaseResource {
1034
- payments(params?: {
1035
- source?: string;
1036
- workId?: string;
1037
- fromDate?: string;
1038
- toDate?: string;
1039
- limit?: number;
1040
- offset?: number;
1041
- }): Promise<any[]>;
1042
- earnings(params?: {
1043
- start_date?: string;
1044
- end_date?: string;
1045
- source?: string;
1046
- limit?: number;
1047
- offset?: number;
1048
- }): Promise<any>;
1049
- gaps(params?: {
1050
- priority?: string;
1051
- gapType?: string;
1052
- workId?: string;
1053
- limit?: number;
1054
- }): Promise<any[]>;
1055
- stats(): Promise<any>;
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>;
1056
1091
  }
1057
1092
  declare class StatementsResource extends BaseResource {
1058
- history(params?: {
1059
- source?: string;
1060
- dateFrom?: string;
1061
- dateTo?: string;
1062
- search?: string;
1063
- limit?: number;
1064
- offset?: number;
1065
- sort?: string;
1066
- }): Promise<any>;
1067
- get(batchId: string): Promise<any>;
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>;
1068
1103
  }
1069
1104
  declare class ShareLinksResource extends BaseResource {
1070
- list(params?: {
1071
- work_id?: string;
1072
- }): Promise<any[]>;
1073
- create(data: Record<string, any>): Promise<any>;
1105
+ list(params?: { work_id?: string }): Promise<any[]>;
1106
+ create(data: Record<string, any>): Promise<any>;
1074
1107
  }
1075
1108
  declare class DisputesResource extends BaseResource {
1076
- list(params?: {
1077
- status?: string;
1078
- }): Promise<any>;
1109
+ list(params?: { status?: string }): Promise<any>;
1079
1110
  }
1080
1111
  declare class ChainResource extends BaseResource {
1081
- search(params: {
1082
- q: string;
1083
- limit?: number;
1084
- expand_first?: boolean;
1085
- }): Promise<any>;
1086
- getById(type: string, id: string): Promise<any>;
1087
- traverse(identifier: string): Promise<any>;
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>;
1088
1119
  }
1089
1120
  declare class TelegramResource extends BaseResource {
1090
- getStatus(): Promise<any>;
1091
- sendNotification(message: string): Promise<any>;
1092
- getPreferences(): Promise<any>;
1121
+ getStatus(): Promise<any>;
1122
+ sendNotification(message: string): Promise<any>;
1123
+ getPreferences(): Promise<any>;
1093
1124
  }
1094
1125
  declare class ImportDocumentsResource extends BaseResource {
1095
- list(options?: {
1096
- source?: string;
1097
- period?: string;
1098
- document_type?: string;
1099
- limit?: number;
1100
- }): Promise<any[]>;
1101
- get(id: string): Promise<any>;
1102
- ingest(content: string): Promise<any>;
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
1134
  }
1104
1135
  export declare class PicaClient {
1105
- works: WorksResource;
1106
- people: PeopleResource;
1107
- recordings: RecordingsResource;
1108
- licensing: LicensingResource;
1109
- credits: CreditsResource;
1110
- creditsBalance: CreditsBalanceResource;
1111
- picaScore: PicaScoreResource;
1112
- audioFiles: AudioFilesResource;
1113
- multimedia: MultimediaResource;
1114
- agreements: AgreementsResource;
1115
- workspace: WorkspaceResource;
1116
- memory: MemoryResource;
1117
- enrichment: EnrichmentResource;
1118
- registration: RegistrationResource;
1119
- health: HealthResource;
1120
- bulk: BulkResource;
1121
- exports: ExportResource;
1122
- duplicates: DuplicatesResource;
1123
- collaborators: CollaboratorsResource;
1124
- entityContext: EntityContextResource;
1125
- comparisons: ComparisonsResource;
1126
- send: SendResource;
1127
- imports: ImportResource;
1128
- storage: StorageResource;
1129
- documents: DocumentsResource;
1130
- analytics: AnalyticsResource;
1131
- notifications: NotificationsResource;
1132
- calendar: CalendarResource;
1133
- dashboard: DashboardResource;
1134
- integrations: IntegrationsResource;
1135
- settings: SettingsResource;
1136
- directory: DirectoryResource;
1137
- importDocuments: ImportDocumentsResource;
1138
- sessions: SessionsResource;
1139
- assets: AssetsResource;
1140
- notes: NotesResource;
1141
- team: TeamResource;
1142
- projects: ProjectsResource;
1143
- releases: ReleasesResource;
1144
- splitSheets: SplitSheetsResource;
1145
- recordingSplits: RecordingSplitsResource;
1146
- agreementTemplates: AgreementTemplatesResource;
1147
- producerAgreements: ProducerAgreementsResource;
1148
- workForHire: WorkForHireResource;
1149
- royalties: RoyaltiesResource;
1150
- statements: StatementsResource;
1151
- shareLinks: ShareLinksResource;
1152
- disputes: DisputesResource;
1153
- chain: ChainResource;
1154
- telegram: TelegramResource;
1155
- /**
1156
- * Get accurate catalog stats via SQL counts (no pagination limits)
1157
- */
1158
- catalogStats(): Promise<CatalogStats>;
1159
- constructor(config: PicaClientConfig);
1160
- }
1161
- export type { Work, Person, Recording, PaginatedResult, PicaClientConfig, SyncSearchParams, SyncTrack, SyncSearchResult, LicenseEnquiryInput, LicenseEnquiry, WorkCredit, WorkCreditsInput, PicaScore, PicaScorePillar, AudioFile, AudioAnalysisStatus, PresignedUploadResult, CompleteUploadResult, IdentifyResult, MultimediaItem, Agreement, AgreementWorkLink, };
1162
- //# sourceMappingURL=pica-sdk.d.ts.map
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