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