@withpica/mcp-server 2.22.0 → 2.24.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 +43 -0
- package/dist/config.d.ts +10 -9
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +10 -7
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/prompts/index.d.ts +64 -64
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +3 -1
- package/dist/prompts/index.js.map +1 -1
- package/dist/resources/index.d.ts +53 -53
- package/dist/server-instructions.d.ts +1 -1
- package/dist/server-instructions.d.ts.map +1 -1
- package/dist/server-instructions.js +13 -15
- package/dist/server-instructions.js.map +1 -1
- package/dist/server.d.ts +49 -49
- package/dist/tools/agent-identity.d.ts +36 -0
- package/dist/tools/agent-identity.d.ts.map +1 -0
- package/dist/tools/agent-identity.js +269 -0
- package/dist/tools/agent-identity.js.map +1 -0
- package/dist/tools/agreements.d.ts.map +1 -1
- package/dist/tools/agreements.js +6 -2
- package/dist/tools/agreements.js.map +1 -1
- package/dist/tools/audit.d.ts +19 -0
- package/dist/tools/audit.d.ts.map +1 -0
- package/dist/tools/audit.js +57 -0
- package/dist/tools/audit.js.map +1 -0
- package/dist/tools/discovery.d.ts.map +1 -1
- package/dist/tools/discovery.js +17 -0
- package/dist/tools/discovery.js.map +1 -1
- package/dist/tools/enrichment.d.ts.map +1 -1
- package/dist/tools/enrichment.js +13 -1
- package/dist/tools/enrichment.js.map +1 -1
- package/dist/tools/feedback.d.ts +22 -0
- package/dist/tools/feedback.d.ts.map +1 -0
- package/dist/tools/feedback.js +99 -0
- package/dist/tools/feedback.js.map +1 -0
- package/dist/tools/gap-hints.d.ts +53 -0
- package/dist/tools/gap-hints.d.ts.map +1 -0
- package/dist/tools/gap-hints.js +245 -0
- package/dist/tools/gap-hints.js.map +1 -0
- package/dist/tools/index.d.ts +72 -88
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +34 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/integrations.d.ts +5 -1
- package/dist/tools/integrations.d.ts.map +1 -1
- package/dist/tools/integrations.js +44 -25
- package/dist/tools/integrations.js.map +1 -1
- package/dist/tools/metadata.d.ts.map +1 -1
- package/dist/tools/metadata.js +265 -0
- package/dist/tools/metadata.js.map +1 -1
- package/dist/tools/notes.d.ts.map +1 -1
- package/dist/tools/notes.js +1 -1
- package/dist/tools/notes.js.map +1 -1
- package/dist/tools/people.d.ts +262 -38
- package/dist/tools/people.d.ts.map +1 -1
- package/dist/tools/people.js +258 -265
- package/dist/tools/people.js.map +1 -1
- package/dist/tools/recordings.d.ts +82 -31
- package/dist/tools/recordings.d.ts.map +1 -1
- package/dist/tools/recordings.js +186 -123
- package/dist/tools/recordings.js.map +1 -1
- package/dist/tools/releases.d.ts +5 -0
- package/dist/tools/releases.d.ts.map +1 -1
- package/dist/tools/releases.js +295 -0
- package/dist/tools/releases.js.map +1 -1
- package/dist/tools/search.d.ts +20 -20
- package/dist/tools/settings.d.ts +5 -0
- package/dist/tools/settings.d.ts.map +1 -1
- package/dist/tools/settings.js +197 -1
- package/dist/tools/settings.js.map +1 -1
- package/dist/tools/works.d.ts +65 -39
- package/dist/tools/works.d.ts.map +1 -1
- package/dist/tools/works.js +125 -220
- package/dist/tools/works.js.map +1 -1
- package/package.json +3 -2
- package/server.json +2 -2
|
@@ -1,41 +1,92 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Recordings Tools
|
|
2
|
+
* Recordings Tools — MCP tools for managing recordings.
|
|
3
3
|
*
|
|
4
4
|
* ADR-149 Phase 5b: Consolidated to query+inspect pattern.
|
|
5
5
|
* - pica_recordings_query replaces pica_recordings_list + pica_recordings_by_work
|
|
6
6
|
* - pica_recordings_inspect replaces pica_recordings_get (with sections support)
|
|
7
|
+
*
|
|
8
|
+
* ADR-174 Phase 2 item 3 reconciliation: the write surface covers only
|
|
9
|
+
* real columns on `public.recordings`. Phantom fields previously
|
|
10
|
+
* accepted via `additionalProperties: true` are gone; agents that
|
|
11
|
+
* tried to set them silently dropped data on the way to Postgres.
|
|
12
|
+
*
|
|
13
|
+
* Two pre-flight surprises documented inline below:
|
|
14
|
+
*
|
|
15
|
+
* 1. `title` is a legacy alias for `recording_title`. The HTTP route
|
|
16
|
+
* translates before the service sees the payload (POST since the
|
|
17
|
+
* route was written, PATCH only since ADR-174). The tool keeps
|
|
18
|
+
* `title` as the input field name for caller ergonomics; the
|
|
19
|
+
* description marks the rename explicitly.
|
|
20
|
+
*
|
|
21
|
+
* 2. Duration lives in `duration_ms` on recordings (works carry
|
|
22
|
+
* `duration_seconds`). Agents conflating the two get a 400 with
|
|
23
|
+
* a redirect from the route allow-list.
|
|
24
|
+
*
|
|
25
|
+
* Add-candidates surfaced per the audit at
|
|
26
|
+
* docs/audits/2026-04-14-mcp-db-reconciliation.md §3:
|
|
27
|
+
* duration_ms, preview_url, album_art_url, spotify_url,
|
|
28
|
+
* spotify_track_uri, spotify_track_id, youtube_video_id, youtube_url,
|
|
29
|
+
* apple_music_url, deezer_track_id, mlc_recording_id, mlc_song_code,
|
|
30
|
+
* isrc_prefix.
|
|
31
|
+
*
|
|
32
|
+
* Most of these are populated by the enrichment cascade on streaming
|
|
33
|
+
* import; exposing them lets agents seed or override that data
|
|
34
|
+
* deliberately rather than discovering — surprised — that the field
|
|
35
|
+
* they thought they set was silently absent.
|
|
7
36
|
*/
|
|
8
37
|
import { PicaClient } from "@withpica/mcp-sdk";
|
|
9
38
|
import { ToolDefinition, ToolExecutor } from "./index.js";
|
|
39
|
+
/**
|
|
40
|
+
* Canonical write-schema for `recordings`. Every property must
|
|
41
|
+
* correspond to a real column on `public.recordings` (or be the
|
|
42
|
+
* documented `title` legacy alias) — verified against
|
|
43
|
+
* `lib/db/database.types.ts`. The HTTP route at
|
|
44
|
+
* `app/api/admin/recordings/route.ts` carries the same allow-list
|
|
45
|
+
* (plus the `recording_type` legacy alias for non-MCP callers); this
|
|
46
|
+
* list is the narrower MCP-agent contract.
|
|
47
|
+
*
|
|
48
|
+
* `version_type` is enum-restricted by the
|
|
49
|
+
* `recordings_version_type_check` CHECK constraint (ADR-166 Phase 1).
|
|
50
|
+
* Reflecting the enum here means agents see invalid values as schema
|
|
51
|
+
* errors at the tool surface, not as 500s round-tripped from Postgres.
|
|
52
|
+
*/
|
|
53
|
+
declare const RECORDING_WRITE_PROPERTIES: Record<string, Record<string, unknown>>;
|
|
10
54
|
export declare class RecordingsTools {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
55
|
+
private pica;
|
|
56
|
+
constructor(pica: PicaClient);
|
|
57
|
+
/**
|
|
58
|
+
* Get all recordings tools
|
|
59
|
+
*/
|
|
60
|
+
getTools(): Array<{
|
|
61
|
+
definition: ToolDefinition;
|
|
62
|
+
executor: ToolExecutor;
|
|
63
|
+
}>;
|
|
64
|
+
/**
|
|
65
|
+
* Query recordings — list all, search by text, or filter by work
|
|
66
|
+
*/
|
|
67
|
+
private queryRecordings;
|
|
68
|
+
/**
|
|
69
|
+
* Inspect a recording — get details with optional section filtering
|
|
70
|
+
*/
|
|
71
|
+
private inspectRecording;
|
|
72
|
+
/**
|
|
73
|
+
* Create recording.
|
|
74
|
+
*
|
|
75
|
+
* `version_type` defaults to 'master' (the DB-level default and the
|
|
76
|
+
* canonical ADR-166 value). Pre-ADR-174 the executor defaulted to
|
|
77
|
+
* 'original', which is not a valid version_type — every call without
|
|
78
|
+
* an explicit type tripped the recording-type CHECK constraint and
|
|
79
|
+
* surfaced as a 500 from the service.
|
|
80
|
+
*/
|
|
81
|
+
private createRecording;
|
|
82
|
+
/**
|
|
83
|
+
* Update recording
|
|
84
|
+
*/
|
|
85
|
+
private updateRecording;
|
|
86
|
+
/**
|
|
87
|
+
* Delete recording
|
|
88
|
+
*/
|
|
89
|
+
private deleteRecording;
|
|
40
90
|
}
|
|
41
|
-
|
|
91
|
+
export { RECORDING_WRITE_PROPERTIES };
|
|
92
|
+
//# sourceMappingURL=recordings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recordings.d.ts","sourceRoot":"","sources":["../../src/tools/recordings.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"recordings.d.ts","sourceRoot":"","sources":["../../src/tools/recordings.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAOtE;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkJvE,CAAC;AAEF,qBAAa,eAAe;IAC1B,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B;;OAEG;IACH,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;IA4HzE;;OAEG;YACW,eAAe;IAkC7B;;OAEG;YACW,gBAAgB;IA2G9B;;;;;;;;OAQG;YACW,eAAe;IAU7B;;OAEG;YACW,eAAe;IAW7B;;OAEG;YACW,eAAe;CAM9B;AAED,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
|
package/dist/tools/recordings.js
CHANGED
|
@@ -1,5 +1,151 @@
|
|
|
1
1
|
// Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
|
|
2
2
|
import { formatSuccess, formatStructuredList, } from "@withpica/mcp-utils";
|
|
3
|
+
/**
|
|
4
|
+
* Canonical write-schema for `recordings`. Every property must
|
|
5
|
+
* correspond to a real column on `public.recordings` (or be the
|
|
6
|
+
* documented `title` legacy alias) — verified against
|
|
7
|
+
* `lib/db/database.types.ts`. The HTTP route at
|
|
8
|
+
* `app/api/admin/recordings/route.ts` carries the same allow-list
|
|
9
|
+
* (plus the `recording_type` legacy alias for non-MCP callers); this
|
|
10
|
+
* list is the narrower MCP-agent contract.
|
|
11
|
+
*
|
|
12
|
+
* `version_type` is enum-restricted by the
|
|
13
|
+
* `recordings_version_type_check` CHECK constraint (ADR-166 Phase 1).
|
|
14
|
+
* Reflecting the enum here means agents see invalid values as schema
|
|
15
|
+
* errors at the tool surface, not as 500s round-tripped from Postgres.
|
|
16
|
+
*/
|
|
17
|
+
const RECORDING_WRITE_PROPERTIES = {
|
|
18
|
+
// Core (legacy `title` alias — translated to `recording_title` by the
|
|
19
|
+
// HTTP route; included here so agents don't have to know the rename).
|
|
20
|
+
title: {
|
|
21
|
+
type: "string",
|
|
22
|
+
description: "Recording title. Legacy alias — the HTTP route translates this to the canonical `recording_title` column. Either field is accepted; pass `title` for ergonomics.",
|
|
23
|
+
},
|
|
24
|
+
recording_title: {
|
|
25
|
+
type: "string",
|
|
26
|
+
description: "Recording title (canonical column name).",
|
|
27
|
+
},
|
|
28
|
+
artist_name: {
|
|
29
|
+
type: "string",
|
|
30
|
+
description: "Artist name for this recording",
|
|
31
|
+
},
|
|
32
|
+
version_type: {
|
|
33
|
+
type: "string",
|
|
34
|
+
description: "Recording version type. Defaults to 'master' on create. ADR-166 enum, enforced by DB CHECK constraint.",
|
|
35
|
+
enum: [
|
|
36
|
+
"master",
|
|
37
|
+
"alternate_master",
|
|
38
|
+
"music_video",
|
|
39
|
+
"lyric_video",
|
|
40
|
+
"live_performance",
|
|
41
|
+
"acoustic",
|
|
42
|
+
"remix",
|
|
43
|
+
"cover",
|
|
44
|
+
"alternate",
|
|
45
|
+
],
|
|
46
|
+
},
|
|
47
|
+
work_id: {
|
|
48
|
+
type: "string",
|
|
49
|
+
description: "ID of the work this recording is of (FK to works). A bad UUID returns 400 RECORDING_FK_VIOLATION — call pica_works_query first to resolve a title to an ID.",
|
|
50
|
+
},
|
|
51
|
+
ownership_percentage: {
|
|
52
|
+
type: "number",
|
|
53
|
+
description: "Ownership percentage (0–100, validated server-side)",
|
|
54
|
+
},
|
|
55
|
+
labels: {
|
|
56
|
+
type: "string",
|
|
57
|
+
description: "Record label(s) as freetext. Legacy column — the structured home is `global_recording_labels` (not yet exposed via MCP).",
|
|
58
|
+
},
|
|
59
|
+
// Identifiers
|
|
60
|
+
isrc: {
|
|
61
|
+
type: "string",
|
|
62
|
+
description: "International Standard Recording Code (e.g. GBUM71804829). Triggers global_recordings linking on create/update.",
|
|
63
|
+
},
|
|
64
|
+
isrc_source: {
|
|
65
|
+
type: "string",
|
|
66
|
+
description: "Where the ISRC came from (e.g. 'spotify', 'mlc', 'manual', 'ppl', 'apple_music', 'youtube_music', 'soundcloud', 'disco').",
|
|
67
|
+
},
|
|
68
|
+
isrc_prefix: {
|
|
69
|
+
type: "string",
|
|
70
|
+
description: "First five characters of the ISRC, used for label-prefix intelligence. Auto-derived in most write paths; settable for backfills.",
|
|
71
|
+
},
|
|
72
|
+
musicbrainz_recording_id: {
|
|
73
|
+
type: "string",
|
|
74
|
+
description: "MusicBrainz recording UUID",
|
|
75
|
+
},
|
|
76
|
+
mlc_recording_id: {
|
|
77
|
+
type: "string",
|
|
78
|
+
description: "MLC recording ID",
|
|
79
|
+
},
|
|
80
|
+
mlc_song_code: {
|
|
81
|
+
type: "string",
|
|
82
|
+
description: "MLC song code (links recording to its work registration)",
|
|
83
|
+
},
|
|
84
|
+
// Master metadata (ADR-165 Phase 2 — populated by enrichment but
|
|
85
|
+
// settable from MCP for manual seeding/overrides).
|
|
86
|
+
duration_ms: {
|
|
87
|
+
type: "number",
|
|
88
|
+
description: "Duration in milliseconds. Note: `works` carries duration_seconds; `recordings` carries duration_ms.",
|
|
89
|
+
},
|
|
90
|
+
preview_url: {
|
|
91
|
+
type: "string",
|
|
92
|
+
description: "30-second preview URL (Spotify or equivalent)",
|
|
93
|
+
},
|
|
94
|
+
album_art_url: {
|
|
95
|
+
type: "string",
|
|
96
|
+
description: "Denormalised album artwork URL. Source of truth is releases.artwork_url; duplicated here for catalogue-card hot paths.",
|
|
97
|
+
},
|
|
98
|
+
spotify_url: {
|
|
99
|
+
type: "string",
|
|
100
|
+
description: "Per-track Spotify URL (e.g. https://open.spotify.com/track/...). Distinct from releases.spotify_url which is the album-level URL.",
|
|
101
|
+
},
|
|
102
|
+
spotify_track_uri: {
|
|
103
|
+
type: "string",
|
|
104
|
+
description: "spotify:track:{id} URI for the master. Distinct from release_tracks.spotify_track_uri (per-track-in-release).",
|
|
105
|
+
},
|
|
106
|
+
spotify_track_id: {
|
|
107
|
+
type: "string",
|
|
108
|
+
description: "Spotify external track id (for dedup + cascade matching)",
|
|
109
|
+
},
|
|
110
|
+
youtube_video_id: {
|
|
111
|
+
type: "string",
|
|
112
|
+
description: "YouTube video id. ADR-166 non-master version types (music_video, lyric_video, etc.) get their own video id.",
|
|
113
|
+
},
|
|
114
|
+
youtube_url: {
|
|
115
|
+
type: "string",
|
|
116
|
+
description: "YouTube watch URL",
|
|
117
|
+
},
|
|
118
|
+
apple_music_url: {
|
|
119
|
+
type: "string",
|
|
120
|
+
description: "Apple Music track URL",
|
|
121
|
+
},
|
|
122
|
+
deezer_track_id: {
|
|
123
|
+
type: "string",
|
|
124
|
+
description: "Deezer track id",
|
|
125
|
+
},
|
|
126
|
+
// PPL
|
|
127
|
+
ppl_registered: {
|
|
128
|
+
type: "boolean",
|
|
129
|
+
description: "Whether registered with PPL",
|
|
130
|
+
},
|
|
131
|
+
ppl_recording_id: {
|
|
132
|
+
type: "string",
|
|
133
|
+
description: "PPL recording ID",
|
|
134
|
+
},
|
|
135
|
+
// Declared jsonb extension points
|
|
136
|
+
ai_disclosure: {
|
|
137
|
+
type: "object",
|
|
138
|
+
description: "AI disclosure object (UK AI Copyright compliance). Fields: composition, performance, production, mastering ('none'|'assisted'|'generated'), tools_used (string[]), disclosure_date, disclosed_by.",
|
|
139
|
+
},
|
|
140
|
+
provenance_attestation: {
|
|
141
|
+
type: "object",
|
|
142
|
+
description: "Human creation proof. Fields: human_created (bool), attested_by, attested_at, attestation_method, supporting_evidence, ip_address, signature_hash, certificate_id.",
|
|
143
|
+
},
|
|
144
|
+
training_rights: {
|
|
145
|
+
type: "object",
|
|
146
|
+
description: "B2B ML licensing compliance object. Fields: available_for_training (bool), training_terms, minimum_fee, excluded_uses, permitted_uses, geographic_restrictions, requires_attribution, requires_notification, license_duration, updated_at, updated_by.",
|
|
147
|
+
},
|
|
148
|
+
};
|
|
3
149
|
export class RecordingsTools {
|
|
4
150
|
pica;
|
|
5
151
|
constructor(pica) {
|
|
@@ -51,7 +197,13 @@ export class RecordingsTools {
|
|
|
51
197
|
type: "array",
|
|
52
198
|
items: {
|
|
53
199
|
type: "string",
|
|
54
|
-
enum: [
|
|
200
|
+
enum: [
|
|
201
|
+
"basic",
|
|
202
|
+
"credits",
|
|
203
|
+
"audio",
|
|
204
|
+
"production_assets",
|
|
205
|
+
"releases",
|
|
206
|
+
],
|
|
55
207
|
},
|
|
56
208
|
description: 'Which data sections to include. Omit for all sections. Use ["basic"] for lightweight lookup.',
|
|
57
209
|
},
|
|
@@ -64,74 +216,16 @@ export class RecordingsTools {
|
|
|
64
216
|
{
|
|
65
217
|
definition: {
|
|
66
218
|
name: "pica_recordings_create",
|
|
67
|
-
description: "Create a new recording. IMPORTANT:
|
|
68
|
-
"
|
|
69
|
-
"the
|
|
70
|
-
"
|
|
71
|
-
"
|
|
219
|
+
description: "Create a new recording. IMPORTANT: call pica_recordings_query with work_id first to check for existing recordings on the same work — duplicate masters cause ISRC conflicts. " +
|
|
220
|
+
"Album metadata (album_name, album_release_date, upc, track_number) lives on pica_releases_create/update, not here. " +
|
|
221
|
+
"Label-as-org belongs on the release (pica_releases_*.label_organization_id via pica_labels_query); the legacy `labels` freetext column is kept for backwards compat. " +
|
|
222
|
+
"ISWCs identify works, not recordings — set them via pica_works_create/update. " +
|
|
223
|
+
"Duration is in milliseconds (`duration_ms`); the `duration_seconds` works convention is rejected with a 400. " +
|
|
72
224
|
"→ before: pica_recordings_query (check duplicates) → then: pica_audio_presigned_upload (upload audio), pica_audio_analyze (extract features)",
|
|
73
225
|
inputSchema: {
|
|
74
226
|
type: "object",
|
|
75
|
-
properties:
|
|
76
|
-
title: {
|
|
77
|
-
type: "string",
|
|
78
|
-
description: "Recording title (required). Maps to recording_title in DB.",
|
|
79
|
-
},
|
|
80
|
-
work_id: {
|
|
81
|
-
type: "string",
|
|
82
|
-
description: "ID of the work this recording is of",
|
|
83
|
-
},
|
|
84
|
-
isrc: {
|
|
85
|
-
type: "string",
|
|
86
|
-
description: "International Standard Recording Code",
|
|
87
|
-
},
|
|
88
|
-
isrc_source: {
|
|
89
|
-
type: "string",
|
|
90
|
-
description: "Where the ISRC came from (e.g. 'spotify', 'mlc', 'manual', 'ppl')",
|
|
91
|
-
},
|
|
92
|
-
artist_name: {
|
|
93
|
-
type: "string",
|
|
94
|
-
description: "Artist name for this recording",
|
|
95
|
-
},
|
|
96
|
-
version_type: {
|
|
97
|
-
type: "string",
|
|
98
|
-
description: "Recording version type (e.g. 'original', 'remix', 'live', 'acoustic', 'demo', 'instrumental')",
|
|
99
|
-
},
|
|
100
|
-
labels: {
|
|
101
|
-
type: "string",
|
|
102
|
-
description: "Record label(s), comma-separated if multiple",
|
|
103
|
-
},
|
|
104
|
-
ownership_percentage: {
|
|
105
|
-
type: "number",
|
|
106
|
-
description: "Ownership percentage (0-100)",
|
|
107
|
-
},
|
|
108
|
-
ppl_registered: {
|
|
109
|
-
type: "boolean",
|
|
110
|
-
description: "Whether registered with PPL",
|
|
111
|
-
},
|
|
112
|
-
ppl_recording_id: {
|
|
113
|
-
type: "string",
|
|
114
|
-
description: "PPL recording ID",
|
|
115
|
-
},
|
|
116
|
-
ai_disclosure: {
|
|
117
|
-
type: "object",
|
|
118
|
-
description: "AI disclosure object with composition, performance, production, mastering fields",
|
|
119
|
-
},
|
|
120
|
-
provenance_attestation: {
|
|
121
|
-
type: "object",
|
|
122
|
-
description: "Human creation proof with witness details",
|
|
123
|
-
},
|
|
124
|
-
training_rights: {
|
|
125
|
-
type: "object",
|
|
126
|
-
description: "B2B ML licensing compliance object",
|
|
127
|
-
},
|
|
128
|
-
musicbrainz_recording_id: {
|
|
129
|
-
type: "string",
|
|
130
|
-
description: "MusicBrainz recording ID",
|
|
131
|
-
},
|
|
132
|
-
},
|
|
227
|
+
properties: RECORDING_WRITE_PROPERTIES,
|
|
133
228
|
required: ["title", "artist_name", "version_type"],
|
|
134
|
-
additionalProperties: true,
|
|
135
229
|
},
|
|
136
230
|
},
|
|
137
231
|
executor: this.createRecording.bind(this),
|
|
@@ -139,8 +233,9 @@ export class RecordingsTools {
|
|
|
139
233
|
{
|
|
140
234
|
definition: {
|
|
141
235
|
name: "pica_recordings_update",
|
|
142
|
-
description: "Update an existing recording.
|
|
143
|
-
"
|
|
236
|
+
description: "Update an existing recording. Only real `recordings` columns are accepted. " +
|
|
237
|
+
"Album metadata (album_name, upc, track_number) belongs on pica_releases_create/update; ISWC belongs on pica_works_create/update; duration is in `duration_ms` (not `duration_seconds`). " +
|
|
238
|
+
"Bad keys return a 400 with a redirect message naming the correct tool. " +
|
|
144
239
|
"→ then: pica_recordings_inspect (verify changes persisted)",
|
|
145
240
|
inputSchema: {
|
|
146
241
|
type: "object",
|
|
@@ -149,61 +244,9 @@ export class RecordingsTools {
|
|
|
149
244
|
type: "string",
|
|
150
245
|
description: "Recording ID (required)",
|
|
151
246
|
},
|
|
152
|
-
|
|
153
|
-
type: "string",
|
|
154
|
-
description: "Recording title. Maps to recording_title in DB.",
|
|
155
|
-
},
|
|
156
|
-
isrc: {
|
|
157
|
-
type: "string",
|
|
158
|
-
description: "International Standard Recording Code",
|
|
159
|
-
},
|
|
160
|
-
isrc_source: {
|
|
161
|
-
type: "string",
|
|
162
|
-
description: "Where the ISRC came from (e.g. 'spotify', 'mlc', 'manual', 'ppl')",
|
|
163
|
-
},
|
|
164
|
-
artist_name: {
|
|
165
|
-
type: "string",
|
|
166
|
-
description: "Artist name for this recording",
|
|
167
|
-
},
|
|
168
|
-
version_type: {
|
|
169
|
-
type: "string",
|
|
170
|
-
description: "Recording version type (e.g. 'original', 'remix', 'live', 'acoustic', 'demo', 'instrumental')",
|
|
171
|
-
},
|
|
172
|
-
labels: {
|
|
173
|
-
type: "string",
|
|
174
|
-
description: "Record label(s), comma-separated if multiple",
|
|
175
|
-
},
|
|
176
|
-
ownership_percentage: {
|
|
177
|
-
type: "number",
|
|
178
|
-
description: "Ownership percentage (0-100)",
|
|
179
|
-
},
|
|
180
|
-
ppl_registered: {
|
|
181
|
-
type: "boolean",
|
|
182
|
-
description: "Whether registered with PPL",
|
|
183
|
-
},
|
|
184
|
-
ppl_recording_id: {
|
|
185
|
-
type: "string",
|
|
186
|
-
description: "PPL recording ID",
|
|
187
|
-
},
|
|
188
|
-
ai_disclosure: {
|
|
189
|
-
type: "object",
|
|
190
|
-
description: "AI disclosure object with composition, performance, production, mastering fields",
|
|
191
|
-
},
|
|
192
|
-
provenance_attestation: {
|
|
193
|
-
type: "object",
|
|
194
|
-
description: "Human creation proof with witness details",
|
|
195
|
-
},
|
|
196
|
-
training_rights: {
|
|
197
|
-
type: "object",
|
|
198
|
-
description: "B2B ML licensing compliance object",
|
|
199
|
-
},
|
|
200
|
-
musicbrainz_recording_id: {
|
|
201
|
-
type: "string",
|
|
202
|
-
description: "MusicBrainz recording ID",
|
|
203
|
-
},
|
|
247
|
+
...RECORDING_WRITE_PROPERTIES,
|
|
204
248
|
},
|
|
205
249
|
required: ["id"],
|
|
206
|
-
additionalProperties: true,
|
|
207
250
|
},
|
|
208
251
|
},
|
|
209
252
|
executor: this.updateRecording.bind(this),
|
|
@@ -211,7 +254,7 @@ export class RecordingsTools {
|
|
|
211
254
|
{
|
|
212
255
|
definition: {
|
|
213
256
|
name: "pica_recordings_delete",
|
|
214
|
-
description: "Delete a recording",
|
|
257
|
+
description: "Delete a recording (destructive — unlinks from release tracks and work).",
|
|
215
258
|
inputSchema: {
|
|
216
259
|
type: "object",
|
|
217
260
|
properties: {
|
|
@@ -345,14 +388,33 @@ export class RecordingsTools {
|
|
|
345
388
|
: "Failed to fetch production assets";
|
|
346
389
|
}
|
|
347
390
|
}
|
|
391
|
+
// ADR-173 Decision 2 — every release this recording appears on,
|
|
392
|
+
// with its track position. Answers "which albums is this master
|
|
393
|
+
// on?" in one call.
|
|
394
|
+
if (allSections || sections?.includes("releases")) {
|
|
395
|
+
try {
|
|
396
|
+
result.releases = await this.pica.recordings.listReleases(id);
|
|
397
|
+
}
|
|
398
|
+
catch (error) {
|
|
399
|
+
result.releases = [];
|
|
400
|
+
result.releases_error =
|
|
401
|
+
error instanceof Error ? error.message : "Failed to fetch releases";
|
|
402
|
+
}
|
|
403
|
+
}
|
|
348
404
|
return formatSuccess("Recording details", result);
|
|
349
405
|
}
|
|
350
406
|
/**
|
|
351
|
-
* Create recording
|
|
407
|
+
* Create recording.
|
|
408
|
+
*
|
|
409
|
+
* `version_type` defaults to 'master' (the DB-level default and the
|
|
410
|
+
* canonical ADR-166 value). Pre-ADR-174 the executor defaulted to
|
|
411
|
+
* 'original', which is not a valid version_type — every call without
|
|
412
|
+
* an explicit type tripped the recording-type CHECK constraint and
|
|
413
|
+
* surfaced as a 500 from the service.
|
|
352
414
|
*/
|
|
353
415
|
async createRecording(args) {
|
|
354
416
|
if (!args.version_type)
|
|
355
|
-
args.version_type = "
|
|
417
|
+
args.version_type = "master";
|
|
356
418
|
const recording = await this.pica.recordings.create(args);
|
|
357
419
|
return formatSuccess("Recording created successfully", recording);
|
|
358
420
|
}
|
|
@@ -372,4 +434,5 @@ export class RecordingsTools {
|
|
|
372
434
|
return formatSuccess(`Recording ${args.id} deleted successfully`);
|
|
373
435
|
}
|
|
374
436
|
}
|
|
437
|
+
export { RECORDING_WRITE_PROPERTIES };
|
|
375
438
|
//# sourceMappingURL=recordings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recordings.js","sourceRoot":"","sources":["../../src/tools/recordings.ts"],"names":[],"mappings":"AAAA,6DAA6D;
|
|
1
|
+
{"version":3,"file":"recordings.js","sourceRoot":"","sources":["../../src/tools/recordings.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/releases.d.ts
CHANGED
|
@@ -27,5 +27,10 @@ export declare class ReleasesTools {
|
|
|
27
27
|
private getRelease;
|
|
28
28
|
private createRelease;
|
|
29
29
|
private updateRelease;
|
|
30
|
+
private bulkAttachTracks;
|
|
31
|
+
private moveTrack;
|
|
32
|
+
private attachTrackByIdentifier;
|
|
33
|
+
private createWithTracks;
|
|
34
|
+
private completenessCheck;
|
|
30
35
|
}
|
|
31
36
|
//# sourceMappingURL=releases.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releases.d.ts","sourceRoot":"","sources":["../../src/tools/releases.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AA0EtE,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"releases.d.ts","sourceRoot":"","sources":["../../src/tools/releases.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AA0EtE,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YAkf3D,WAAW;YAUX,UAAU;YAKV,WAAW;YAYX,aAAa;YAQb,uBAAuB;YAcvB,YAAY;YAQZ,UAAU;YAKV,aAAa;YAMb,aAAa;YAQb,gBAAgB;YAahB,SAAS;YAST,uBAAuB;YAevB,gBAAgB;YAWhB,iBAAiB;CAQhC"}
|