@withpica/mcp-server 2.4.2 → 2.5.0

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 (58) 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 +990 -1038
  11. package/dist/pica-sdk.d.ts.map +1 -1
  12. package/dist/pica-sdk.js +34 -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/enrichment.d.ts.map +1 -1
  24. package/dist/tools/enrichment.js +57 -5
  25. package/dist/tools/enrichment.js.map +1 -1
  26. package/dist/tools/exports.d.ts.map +1 -1
  27. package/dist/tools/exports.js +24 -2
  28. package/dist/tools/exports.js.map +1 -1
  29. package/dist/tools/index.d.ts +36 -36
  30. package/dist/tools/notes.d.ts.map +1 -1
  31. package/dist/tools/notes.js +2 -15
  32. package/dist/tools/notes.js.map +1 -1
  33. package/dist/tools/people.d.ts +46 -46
  34. package/dist/tools/recordings.d.ts.map +1 -1
  35. package/dist/tools/recordings.js +3 -9
  36. package/dist/tools/recordings.js.map +1 -1
  37. package/dist/tools/releases.d.ts.map +1 -1
  38. package/dist/tools/releases.js +6 -14
  39. package/dist/tools/releases.js.map +1 -1
  40. package/dist/tools/search.d.ts +20 -20
  41. package/dist/tools/send.d.ts.map +1 -1
  42. package/dist/tools/send.js +6 -0
  43. package/dist/tools/send.js.map +1 -1
  44. package/dist/tools/sessions.d.ts.map +1 -1
  45. package/dist/tools/sessions.js +15 -5
  46. package/dist/tools/sessions.js.map +1 -1
  47. package/dist/tools/share-links.js +2 -2
  48. package/dist/tools/share-links.js.map +1 -1
  49. package/dist/tools/split-sheets.d.ts.map +1 -1
  50. package/dist/tools/split-sheets.js +6 -1
  51. package/dist/tools/split-sheets.js.map +1 -1
  52. package/dist/tools/works.d.ts +46 -46
  53. package/dist/tools/works.d.ts.map +1 -1
  54. package/dist/tools/works.js +34 -1
  55. package/dist/tools/works.js.map +1 -1
  56. package/dist/utils/errors.d.ts +9 -9
  57. package/dist/utils/formatting.d.ts +16 -35
  58. package/package.json +1 -1
@@ -3,1214 +3,1166 @@
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[]>;
385
366
  }
386
367
  declare class CreditsBalanceResource extends BaseResource {
387
- getBalance(): Promise<any>;
388
- purchase(params: { package_id: string; currency?: string }): Promise<any>;
368
+ getBalance(): Promise<any>;
369
+ purchase(params: {
370
+ package_id: string;
371
+ currency?: string;
372
+ }): Promise<any>;
389
373
  }
390
374
  declare class PicaScoreResource extends BaseResource {
391
- get(): Promise<PicaScore>;
375
+ get(): Promise<PicaScore>;
392
376
  }
393
377
  interface PresignedUploadResult {
394
- uploadUrl: string;
395
- uploadId: string;
396
- key: string;
397
- bucket: string;
398
- expiresAt?: string;
399
- metadata: Record<string, unknown>;
378
+ uploadUrl: string;
379
+ uploadId: string;
380
+ key: string;
381
+ bucket: string;
382
+ expiresAt?: string;
383
+ metadata: Record<string, unknown>;
400
384
  }
401
385
  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;
386
+ uploadId: string;
387
+ audioFileId: string;
388
+ s3Key: string;
389
+ s3Bucket: string;
390
+ fileName: string;
391
+ fileSize: number;
392
+ status: string;
393
+ message: string;
410
394
  }
411
395
  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
- };
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
+ };
425
409
  }
426
410
  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>;
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>;
478
456
  }
479
457
  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>>;
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>>;
513
486
  }
514
487
  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>;
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>;
541
511
  }
542
512
  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;
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
+ }>;
558
529
  }>;
559
- }>;
560
530
  }
561
531
  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>;
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>;
571
541
  }
572
542
  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>;
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>;
588
555
  }
589
556
  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>;
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>;
595
562
  }
596
563
  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>;
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>;
613
582
  }
614
583
  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>;
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>;
593
+ /** Preview what a Spotify URL would do — delegates to streaming-link */
594
+ spotifyUrlPreview(url: string): Promise<any>;
595
+ /** Execute import/enrich from a Spotify URL — delegates to streaming-link */
596
+ spotifyUrlExecute(url: string): Promise<any>;
597
+ /** Link a Spotify track URI to a work, then enrich it */
598
+ linkAndEnrichSpotify(workId: string, spotifyUrl: string): Promise<any>;
624
599
  }
625
600
  declare class RegistrationResource extends BaseResource {
626
- getCoverage(): Promise<any>;
627
- getWorkCascadeStatus(workId: string): Promise<any>;
601
+ getCoverage(): Promise<any>;
602
+ getWorkCascadeStatus(workId: string): Promise<any>;
628
603
  }
629
604
  declare class HealthResource extends BaseResource {
630
- getWorksHealth(): Promise<any>;
631
- getLowScoreWorks(): Promise<any>;
632
- getWorkCompleteness(workId: string): Promise<any>;
605
+ getWorksHealth(): Promise<any>;
606
+ getLowScoreWorks(): Promise<any>;
607
+ getWorkCompleteness(workId: string): Promise<any>;
633
608
  }
634
609
  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>;
610
+ discoveries(params?: {
611
+ unread?: boolean;
612
+ limit?: number;
613
+ }): Promise<any>;
614
+ pendingDiscoveries(): Promise<any>;
615
+ reviewDiscovery(discoveryId: string, status: string): Promise<any>;
616
+ attentionItems(params?: {
617
+ door?: string;
618
+ limit?: number;
619
+ }): Promise<any>;
620
+ briefing(): Promise<any>;
621
+ pulse(): Promise<any>;
641
622
  }
642
623
  declare class IntegrationsResource extends BaseResource {
643
- oauthConnections(): Promise<any>;
644
- platforms(): Promise<any>;
624
+ oauthConnections(): Promise<any>;
625
+ platforms(): Promise<any>;
645
626
  }
646
627
  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>;
628
+ creditsHistory(params?: {
629
+ type?: string;
630
+ limit?: number;
631
+ }): Promise<any>;
632
+ storageConfig(): Promise<any>;
633
+ orgProfile(): Promise<any>;
634
+ userProfile(): Promise<any>;
651
635
  }
652
636
  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>;
637
+ getEvents(params: {
638
+ startDate: string;
639
+ endDate: string;
640
+ types?: string[];
641
+ workId?: string;
642
+ search?: string;
643
+ }): Promise<any>;
660
644
  }
661
645
  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>;
646
+ list(): Promise<any>;
647
+ markRead(ids: string[]): Promise<any>;
648
+ sendToPerson(params: {
649
+ person_id: string;
650
+ message: string;
651
+ work_id?: string;
652
+ notification_type?: string;
653
+ }): Promise<any>;
670
654
  }
671
655
  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>;
656
+ carbonSummary(): Promise<any>;
657
+ carbonLive(): Promise<any>;
658
+ provenanceStats(): Promise<any>;
659
+ provenanceWork(workId: string): Promise<any>;
660
+ provenanceCertificate(workId: string): Promise<any>;
661
+ catalogDiligence(): Promise<any>;
678
662
  }
679
663
  declare class BulkResource extends BaseResource {
680
- updateWorks(workIds: string[], updates: Record<string, any>): Promise<any>;
681
- updatePeopleRoles(personIds: string[], roles: string[]): Promise<any>;
664
+ updateWorks(workIds: string[], updates: Record<string, any>): Promise<any>;
665
+ updatePeopleRoles(personIds: string[], roles: string[], action?: string): Promise<any>;
682
666
  }
683
667
  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>;
668
+ catalogCsv(params?: {
669
+ format?: string;
670
+ }): Promise<any>;
671
+ songRegistration(): Promise<any>;
672
+ industryReady(): Promise<any>;
673
+ catalogAssetReport(params: {
674
+ sections: {
675
+ ownership: true;
676
+ valuation?: boolean;
677
+ assets?: boolean;
678
+ agreements?: boolean;
679
+ intelligence?: boolean;
680
+ audio?: boolean;
681
+ };
682
+ attestation: {
683
+ signer_name: string;
684
+ declaration_accepted: boolean;
685
+ };
686
+ }): Promise<any>;
687
+ aiConsent(): Promise<any>;
702
688
  }
703
689
  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>;
690
+ findDuplicates(entityType: "works" | "people"): Promise<any>;
691
+ merge(entityType: "work" | "person", winnerId: string, loserIds: string[]): Promise<any>;
710
692
  }
711
693
  declare class EntityContextResource extends BaseResource {
712
- getWorkFull(workId: string): Promise<Record<string, unknown>>;
713
- getPersonFull(personId: string): Promise<Record<string, unknown>>;
694
+ getWorkFull(workId: string): Promise<Record<string, unknown>>;
695
+ getPersonFull(personId: string): Promise<Record<string, unknown>>;
714
696
  }
715
697
  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>>;
698
+ enrichmentCompare(params: {
699
+ entityType: "work" | "person";
700
+ entityId: string;
701
+ }): Promise<Record<string, unknown>>;
702
+ registrationsCompare(workId: string): Promise<Record<string, unknown>>;
721
703
  }
722
704
  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>>;
705
+ send(params: Record<string, unknown>): Promise<Record<string, unknown>>;
706
+ list(params?: {
707
+ type?: string;
708
+ status?: string;
709
+ personId?: string;
710
+ workId?: string;
711
+ limit?: number;
712
+ offset?: number;
713
+ }): Promise<{
714
+ items: Array<Record<string, unknown>>;
715
+ total: number;
716
+ }>;
717
+ listPending(): Promise<Array<Record<string, unknown>>>;
718
+ resend(id: string): Promise<Record<string, unknown>>;
737
719
  }
738
720
  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>;
721
+ list(params?: {
722
+ category?: string;
723
+ limit?: number;
724
+ }): Promise<any>;
725
+ get(id: string): Promise<any>;
726
+ create(data: Record<string, any>): Promise<any>;
727
+ update(id: string, data: Record<string, any>): Promise<any>;
728
+ delete(id: string): Promise<any>;
729
+ stats(): Promise<any>;
730
+ valuations(id: string): Promise<any>;
731
+ exportAll(): Promise<any>;
732
+ marketCheck(id: string): Promise<any>;
748
733
  }
749
734
  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>;
735
+ uploadUrl: string;
736
+ uploadId: string;
737
+ key: string;
738
+ bucket: string;
739
+ storageCategory: "audio" | "media" | "documents";
740
+ expiresAt?: string;
741
+ metadata: Record<string, unknown>;
757
742
  }
758
743
  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
744
  uploadId: string;
745
+ recordId: string;
746
+ recordType: string;
775
747
  key: string;
776
748
  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";
749
+ storageCategory: string;
750
+ }
751
+ declare class StorageResource extends BaseResource {
752
+ presignedUpload(params: {
753
+ filename: string;
754
+ contentType: string;
755
+ fileSize: number;
756
+ storageCategory?: "audio" | "media" | "documents";
757
+ }): Promise<GenericPresignedResult>;
758
+ completeUpload(params: {
759
+ uploadId: string;
760
+ key: string;
761
+ bucket: string;
762
+ metadata: {
763
+ filename: string;
764
+ contentType: string;
765
+ fileSize: number;
766
+ storageCategory: "audio" | "media" | "documents";
767
+ title?: string;
768
+ workId?: string;
769
+ classification?: string;
770
+ collectionId?: string;
771
+ documentCategory?: string;
772
+ documentTitle?: string;
773
+ linkedToType?: string;
774
+ linkedToId?: string;
775
+ };
776
+ }): Promise<GenericCompleteResult>;
777
+ }
778
+ type ImportDomain = "works" | "people" | "recordings" | "documents" | "enquiries" | "royalties";
800
779
  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
- };
780
+ parsed: {
781
+ headers: string[];
782
+ rows: Record<string, string>[];
783
+ totalRows: number;
784
+ };
785
+ analysis: {
786
+ mappings: Record<string, {
787
+ targetField: string;
788
+ transform?: string;
789
+ aiConfidence?: number;
790
+ required?: boolean;
791
+ }>;
792
+ suggestions: string[];
793
+ };
818
794
  }
819
795
  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>;
796
+ valid: boolean;
797
+ errors: Array<{
798
+ row: number;
799
+ field: string;
800
+ message: string;
801
+ severity: "error" | "warning";
802
+ }>;
803
+ validRowCount: number;
804
+ invalidRowCount: number;
805
+ totalRowCount: number;
806
+ errorsByType: Record<string, number>;
831
807
  }
832
808
  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;
809
+ importedCount: number;
810
+ updatedCount: number;
811
+ skippedCount: number;
812
+ createdRecords: Array<{
813
+ id: string;
814
+ title?: string;
865
815
  }>;
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;
816
+ errors: Array<{
817
+ row: number;
818
+ field: string;
819
+ message: string;
820
+ severity: string;
877
821
  }>;
878
- }): Promise<ImportValidation>;
879
- execute(params: {
880
- domain: ImportDomain;
881
- fileContent: string;
882
- mapping: Array<{
883
- csvColumn: string;
884
- targetField: string;
885
- transformType?: string;
822
+ summary: string;
823
+ dryRun: boolean;
824
+ }
825
+ declare class ImportResource extends BaseResource {
826
+ analyze(params: {
827
+ fileContent: string;
828
+ domain: ImportDomain;
829
+ }): Promise<ImportAnalysis>;
830
+ suggestMapping(params: {
831
+ domain: ImportDomain;
832
+ headers: string[];
833
+ sampleRows: Record<string, string>[];
834
+ }): Promise<{
835
+ mappings: Array<{
836
+ csvColumn: string;
837
+ targetField: string;
838
+ transformType: string;
839
+ confidence: number;
840
+ required: boolean;
841
+ }>;
842
+ unmappedCsvColumns: string[];
843
+ missingRequiredFields: string[];
844
+ aiSuggestions: string[];
886
845
  }>;
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<{
846
+ validate(params: {
847
+ domain: ImportDomain;
848
+ fileContent: string;
849
+ mapping: Array<{
850
+ csvColumn: string;
851
+ targetField: string;
852
+ transformType?: string;
853
+ }>;
854
+ }): Promise<ImportValidation>;
855
+ execute(params: {
856
+ domain: ImportDomain;
857
+ fileContent: string;
858
+ mapping: Array<{
859
+ csvColumn: string;
860
+ targetField: string;
861
+ transformType?: string;
862
+ }>;
863
+ options: {
864
+ dryRun?: boolean;
865
+ skipInvalidRows?: boolean;
866
+ batchSize?: number;
867
+ };
868
+ }): Promise<ImportResult>;
869
+ getFields(domain: ImportDomain): Promise<Array<{
906
870
  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;
871
+ label: string;
872
+ description?: string;
873
+ required: boolean;
874
+ type: string;
875
+ }>>;
876
+ streamingLinkPreview(url: string): Promise<{
877
+ tracks: Array<{
878
+ title: string;
879
+ artists: Array<{
880
+ name: string;
881
+ }>;
882
+ album?: string;
883
+ isrc?: string;
884
+ platform: string;
885
+ externalId: string;
886
+ externalUrl: string;
887
+ }>;
888
+ duplicates: Array<{
889
+ track: {
890
+ title: string;
891
+ externalId: string;
892
+ };
893
+ existingWorkId: string;
894
+ existingTitle: string;
895
+ matchType: string;
896
+ }>;
897
+ newTracks: Array<{
898
+ title: string;
899
+ artists: Array<{
900
+ name: string;
901
+ }>;
902
+ isrc?: string;
903
+ externalId: string;
904
+ }>;
905
+ source: {
906
+ platform: string;
907
+ type: string;
908
+ name?: string;
909
+ url: string;
910
+ };
922
911
  }>;
923
- newTracks: Array<{
924
- title: string;
925
- artists: Array<{
926
- name: string;
927
- }>;
928
- isrc?: string;
929
- externalId: string;
912
+ streamingLinkImport(url: string, selectedTrackIds?: string[]): Promise<{
913
+ worksCreated: number;
914
+ recordingsCreated: number;
915
+ peopleCreated: number;
916
+ creditsCreated: number;
917
+ multimediaLinked: number;
918
+ duplicatesSkipped: number;
919
+ workIds: string[];
930
920
  }>;
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>;
921
+ getTemplate(domain: ImportDomain): Promise<string>;
951
922
  }
952
923
  declare class DocumentsResource extends BaseResource {
953
- analyse(id: string): Promise<Record<string, unknown>>;
924
+ analyse(id: string): Promise<Record<string, unknown>>;
954
925
  }
955
926
  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;
927
+ id: string;
928
+ work_id: string;
929
+ person_id?: string;
930
+ email: string;
931
+ name: string;
932
+ status: "pending" | "accepted" | "expired";
933
+ token?: string;
934
+ created_at: string;
935
+ updated_at: string;
965
936
  }
966
937
  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>>;
938
+ invite(params: {
939
+ workId: string;
940
+ personData: {
941
+ name: string;
942
+ email: string;
943
+ role?: string;
944
+ };
945
+ invitedBy: string;
946
+ creditData: {
947
+ credit_type: string;
948
+ percentage_split?: number;
949
+ role_description?: string;
950
+ };
951
+ }): Promise<Record<string, unknown>>;
952
+ listInvites(params?: {
953
+ status?: "pending" | "accepted" | "expired";
954
+ workId?: string;
955
+ limit?: number;
956
+ }): Promise<CollaboratorInvite[]>;
957
+ resendInvite(inviteId: string): Promise<Record<string, unknown>>;
987
958
  }
988
959
  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;
960
+ organisation_id: string;
961
+ opted_in: boolean;
962
+ show_splits: boolean;
963
+ show_publishers: boolean;
964
+ show_agreements: boolean;
965
+ show_audio_preview: boolean;
966
+ show_stems: boolean;
967
+ contact_enabled: boolean;
997
968
  }
998
969
  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>;
970
+ getSettings(): Promise<{
971
+ settings: DirectorySettings;
972
+ eligible_work_count: number;
973
+ }>;
974
+ updateSettings(updates: Partial<DirectorySettings>): Promise<DirectorySettings>;
1006
975
  }
1007
976
  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>;
977
+ list(params?: {
978
+ limit?: number;
979
+ }): Promise<any>;
980
+ get(id: string): Promise<any>;
981
+ create(data: Record<string, any>): Promise<any>;
982
+ update(id: string, data: Record<string, any>): Promise<any>;
983
+ delete(id: string): Promise<any>;
1013
984
  }
1014
985
  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>;
986
+ listForWork(workId: string): Promise<any>;
987
+ generate(workId: string): Promise<any>;
988
+ get(workId: string, splitSheetId: string): Promise<any>;
1018
989
  }
1019
990
  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>;
991
+ list(recordingId: string): Promise<any>;
992
+ create(recordingId: string, data: Record<string, any>): Promise<any>;
993
+ update(recordingId: string, splitId: string, data: Record<string, any>): Promise<any>;
994
+ delete(recordingId: string, splitId: string): Promise<any>;
995
+ verify(recordingId: string, splitId: string): Promise<any>;
1029
996
  }
1030
997
  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>;
998
+ list(params?: {
999
+ limit?: number;
1000
+ }): Promise<any>;
1001
+ get(id: string): Promise<any>;
1002
+ create(data: Record<string, any>): Promise<any>;
1003
+ update(id: string, data: Record<string, any>): Promise<any>;
1004
+ delete(id: string): Promise<any>;
1036
1005
  }
1037
1006
  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>;
1007
+ list(params?: {
1008
+ limit?: number;
1009
+ }): Promise<any>;
1010
+ get(id: string): Promise<any>;
1011
+ create(data: Record<string, any>): Promise<any>;
1012
+ update(id: string, data: Record<string, any>): Promise<any>;
1013
+ getTypes(): Promise<any>;
1043
1014
  }
1044
1015
  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>;
1016
+ list(): Promise<any[]>;
1017
+ get(id: string): Promise<any>;
1018
+ create(data: Record<string, any>): Promise<any>;
1019
+ update(id: string, data: Record<string, any>): Promise<any>;
1020
+ delete(id: string): Promise<void>;
1021
+ render(id: string, data: Record<string, any>): Promise<any>;
1022
+ duplicate(id: string): Promise<any>;
1023
+ setDefault(id: string): Promise<any>;
1053
1024
  }
1054
1025
  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>;
1026
+ list(): Promise<any[]>;
1027
+ get(id: string): Promise<any>;
1028
+ create(data: Record<string, any>): Promise<any>;
1029
+ update(id: string, data: Record<string, any>): Promise<any>;
1030
+ delete(id: string): Promise<void>;
1060
1031
  }
1061
1032
  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>;
1033
+ list(): Promise<any[]>;
1034
+ get(id: string): Promise<any>;
1035
+ create(data: Record<string, any>): Promise<any>;
1036
+ update(id: string, data: Record<string, any>): Promise<any>;
1037
+ delete(id: string): Promise<void>;
1067
1038
  }
1068
1039
  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>;
1040
+ payments(params?: {
1041
+ source?: string;
1042
+ workId?: string;
1043
+ fromDate?: string;
1044
+ toDate?: string;
1045
+ limit?: number;
1046
+ offset?: number;
1047
+ }): Promise<any[]>;
1048
+ earnings(params?: {
1049
+ start_date?: string;
1050
+ end_date?: string;
1051
+ source?: string;
1052
+ limit?: number;
1053
+ offset?: number;
1054
+ }): Promise<any>;
1055
+ gaps(params?: {
1056
+ priority?: string;
1057
+ gapType?: string;
1058
+ workId?: string;
1059
+ limit?: number;
1060
+ }): Promise<any[]>;
1061
+ stats(): Promise<any>;
1091
1062
  }
1092
1063
  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>;
1064
+ history(params?: {
1065
+ source?: string;
1066
+ dateFrom?: string;
1067
+ dateTo?: string;
1068
+ search?: string;
1069
+ limit?: number;
1070
+ offset?: number;
1071
+ sort?: string;
1072
+ }): Promise<any>;
1073
+ get(batchId: string): Promise<any>;
1103
1074
  }
1104
1075
  declare class ShareLinksResource extends BaseResource {
1105
- list(params?: { work_id?: string }): Promise<any[]>;
1106
- create(data: Record<string, any>): Promise<any>;
1076
+ list(params?: {
1077
+ work_id?: string;
1078
+ }): Promise<any[]>;
1079
+ create(data: Record<string, any>): Promise<any>;
1107
1080
  }
1108
1081
  declare class DisputesResource extends BaseResource {
1109
- list(params?: { status?: string }): Promise<any>;
1082
+ list(params?: {
1083
+ status?: string;
1084
+ }): Promise<any>;
1110
1085
  }
1111
1086
  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>;
1087
+ search(params: {
1088
+ q: string;
1089
+ limit?: number;
1090
+ expand_first?: boolean;
1091
+ }): Promise<any>;
1092
+ getById(type: string, id: string): Promise<any>;
1093
+ traverse(identifier: string): Promise<any>;
1119
1094
  }
1120
1095
  declare class TelegramResource extends BaseResource {
1121
- getStatus(): Promise<any>;
1122
- sendNotification(message: string): Promise<any>;
1123
- getPreferences(): Promise<any>;
1096
+ getStatus(): Promise<any>;
1097
+ sendNotification(message: string): Promise<any>;
1098
+ getPreferences(): Promise<any>;
1124
1099
  }
1125
1100
  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>;
1101
+ list(options?: {
1102
+ source?: string;
1103
+ period?: string;
1104
+ document_type?: string;
1105
+ limit?: number;
1106
+ }): Promise<any[]>;
1107
+ get(id: string): Promise<any>;
1108
+ ingest(content: string): Promise<any>;
1134
1109
  }
1135
1110
  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
1111
+ works: WorksResource;
1112
+ people: PeopleResource;
1113
+ recordings: RecordingsResource;
1114
+ licensing: LicensingResource;
1115
+ credits: CreditsResource;
1116
+ creditsBalance: CreditsBalanceResource;
1117
+ picaScore: PicaScoreResource;
1118
+ audioFiles: AudioFilesResource;
1119
+ multimedia: MultimediaResource;
1120
+ agreements: AgreementsResource;
1121
+ workspace: WorkspaceResource;
1122
+ memory: MemoryResource;
1123
+ enrichment: EnrichmentResource;
1124
+ registration: RegistrationResource;
1125
+ health: HealthResource;
1126
+ bulk: BulkResource;
1127
+ exports: ExportResource;
1128
+ duplicates: DuplicatesResource;
1129
+ collaborators: CollaboratorsResource;
1130
+ entityContext: EntityContextResource;
1131
+ comparisons: ComparisonsResource;
1132
+ send: SendResource;
1133
+ imports: ImportResource;
1134
+ storage: StorageResource;
1135
+ documents: DocumentsResource;
1136
+ analytics: AnalyticsResource;
1137
+ notifications: NotificationsResource;
1138
+ calendar: CalendarResource;
1139
+ dashboard: DashboardResource;
1140
+ integrations: IntegrationsResource;
1141
+ settings: SettingsResource;
1142
+ directory: DirectoryResource;
1143
+ importDocuments: ImportDocumentsResource;
1144
+ sessions: SessionsResource;
1145
+ assets: AssetsResource;
1146
+ notes: NotesResource;
1147
+ team: TeamResource;
1148
+ projects: ProjectsResource;
1149
+ releases: ReleasesResource;
1150
+ splitSheets: SplitSheetsResource;
1151
+ recordingSplits: RecordingSplitsResource;
1152
+ agreementTemplates: AgreementTemplatesResource;
1153
+ producerAgreements: ProducerAgreementsResource;
1154
+ workForHire: WorkForHireResource;
1155
+ royalties: RoyaltiesResource;
1156
+ statements: StatementsResource;
1157
+ shareLinks: ShareLinksResource;
1158
+ disputes: DisputesResource;
1159
+ chain: ChainResource;
1160
+ telegram: TelegramResource;
1161
+ /**
1162
+ * Get accurate catalog stats via SQL counts (no pagination limits)
1163
+ */
1164
+ catalogStats(): Promise<CatalogStats>;
1165
+ constructor(config: PicaClientConfig);
1166
+ }
1167
+ export type { Work, Person, Recording, PaginatedResult, PicaClientConfig, SyncSearchParams, SyncTrack, SyncSearchResult, LicenseEnquiryInput, LicenseEnquiry, WorkCredit, WorkCreditsInput, PicaScore, PicaScorePillar, AudioFile, AudioAnalysisStatus, PresignedUploadResult, CompleteUploadResult, IdentifyResult, MultimediaItem, Agreement, AgreementWorkLink, };
1168
+ //# sourceMappingURL=pica-sdk.d.ts.map