@withpica/mcp-sdk 3.20.0 → 3.21.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.
package/CHANGELOG.md CHANGED
@@ -11,6 +11,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [3.21.0] - 2026-09-29
15
+
16
+ ### Added
17
+
18
+ - `rights.propose(workId, body)`, `rights.status(ruleId)` and
19
+ `rights.inspect(workId)` — ADR-321 Phase 2, over
20
+ `POST /admin/works/{id}/rights/propose`, `GET /admin/rights/rules/{id}` and
21
+ `GET /admin/works/{id}/rights`.
22
+
14
23
  ## [3.20.0] - 2026-09-26
15
24
 
16
25
  ### Changed
package/dist/index.d.ts CHANGED
@@ -1025,6 +1025,13 @@ declare class WorksResource extends BaseResource {
1025
1025
  }): Promise<Work>;
1026
1026
  update(id: string, updates: Partial<Work>): Promise<Work>;
1027
1027
  delete(id: string): Promise<DeletionResult>;
1028
+ /**
1029
+ * @deprecated `works` has no `is_verified` column, so PATCH /admin/works/[id]
1030
+ * refuses this body (VALIDATION_ERROR "unknown field 'is_verified'") on every
1031
+ * call. PICA keeps no work-level verified flag; the MCP tool
1032
+ * `pica_works_verify` no longer calls this. Kept only so the published SDK's
1033
+ * surface does not break; remove at the next major.
1034
+ */
1028
1035
  verify(id: string): Promise<Work>;
1029
1036
  bulkDelete(ids: string[]): Promise<void>;
1030
1037
  bulkMoveToPerformances(ids: string[]): Promise<unknown>;
@@ -2206,10 +2213,17 @@ declare class EnrichmentResource extends BaseResource {
2206
2213
  * `artist_title_to_youtube` recording-create), a uniqueness check
2207
2214
  * runs instead; conflicts return `{ status: 'create_conflict' }` and
2208
2215
  * cannot be forced.
2216
+ *
2217
+ * File-type questions (`entity_type: 'audio_file'`) take the owner's own
2218
+ * answer: `file_type` (master / version / instrumental / demo / stem) and,
2219
+ * for a stem, an optional `stem_label`. A refused answer is a 400 with
2220
+ * `code: 'INVALID_FILE_TYPE_ANSWER'`.
2209
2221
  */
2210
2222
  applyEnrichmentProposal(proposalId: string, options?: {
2211
2223
  force?: boolean;
2212
2224
  resolution_note?: string;
2225
+ file_type?: "master" | "version" | "instrumental" | "demo" | "stem";
2226
+ stem_label?: string;
2213
2227
  }): Promise<any>;
2214
2228
  /**
2215
2229
  * Reject a pending proposal. Content-hash suppression (ADR-163)
@@ -4697,6 +4711,24 @@ declare class WorkForHireResource extends BaseResource {
4697
4711
  update(id: string, data: Record<string, any>): Promise<any>;
4698
4712
  delete(id: string): Promise<void>;
4699
4713
  }
4714
+ /**
4715
+ * ADR-321 Phase 2 — programmable rights. `propose` only proposes: the route
4716
+ * never activates a rule on an API key, and each party confirms by email.
4717
+ */
4718
+ declare class RightsResource extends BaseResource {
4719
+ /**
4720
+ * POST /admin/works/{id}/rights/propose. Body is one of
4721
+ * `{ rule: "song" }`, `{ rule: "master", recording_id }` or
4722
+ * `{ rule: "share", side?, recording_id?, subject_person_id, kind,
4723
+ * parties: [{ person_id, share_bp }], effective_from, effective_to? }`.
4724
+ * A refusal is a 422 carrying `details.reasons`.
4725
+ */
4726
+ propose(workId: string, body: Record<string, unknown>): Promise<any>;
4727
+ /** GET /admin/rights/rules/{id} — one rule's status and confirmations. */
4728
+ status(ruleId: string): Promise<any>;
4729
+ /** GET /admin/works/{id}/rights — every rule on a song, history, holds. */
4730
+ inspect(workId: string): Promise<any>;
4731
+ }
4700
4732
  declare class RoyaltiesResource extends BaseResource {
4701
4733
  payments(params?: {
4702
4734
  source?: string;
@@ -5212,6 +5244,8 @@ export declare class PicaClient {
5212
5244
  producerAgreements: ProducerAgreementsResource;
5213
5245
  workForHire: WorkForHireResource;
5214
5246
  royalties: RoyaltiesResource;
5247
+ /** ADR-321 Phase 2 — programmable rights (propose / status / inspect). */
5248
+ rights: RightsResource;
5215
5249
  statements: StatementsResource;
5216
5250
  /** ADR-319 — saved catalog selections. */
5217
5251
  selections: SelectionsResource;