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