@withpica/mcp-server 2.98.0 → 2.99.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 (85) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/README.md +4 -4
  3. package/dist/lib/changelog.generated.d.ts +2 -2
  4. package/dist/lib/changelog.generated.d.ts.map +1 -1
  5. package/dist/lib/changelog.generated.js +2 -2
  6. package/dist/lib/changelog.generated.js.map +1 -1
  7. package/dist/prompts/creator-question-atlas.d.ts.map +1 -1
  8. package/dist/prompts/creator-question-atlas.js +14 -2
  9. package/dist/prompts/creator-question-atlas.js.map +1 -1
  10. package/dist/prompts/index.js +1 -1
  11. package/dist/resources/index.d.ts.map +1 -1
  12. package/dist/resources/index.js +0 -3
  13. package/dist/resources/index.js.map +1 -1
  14. package/dist/resources/required-schemas.generated.d.ts +1 -1
  15. package/dist/resources/required-schemas.generated.d.ts.map +1 -1
  16. package/dist/resources/required-schemas.generated.js +1 -0
  17. package/dist/resources/required-schemas.generated.js.map +1 -1
  18. package/dist/skills/skills.generated.js +6 -6
  19. package/dist/skills/skills.generated.js.map +1 -1
  20. package/dist/tools/collaborators.d.ts.map +1 -1
  21. package/dist/tools/collaborators.js +27 -3
  22. package/dist/tools/collaborators.js.map +1 -1
  23. package/dist/tools/credits.d.ts +4 -1
  24. package/dist/tools/credits.d.ts.map +1 -1
  25. package/dist/tools/credits.js +6 -93
  26. package/dist/tools/credits.js.map +1 -1
  27. package/dist/tools/deprecations.d.ts +65 -7
  28. package/dist/tools/deprecations.d.ts.map +1 -1
  29. package/dist/tools/deprecations.js +96 -96
  30. package/dist/tools/deprecations.js.map +1 -1
  31. package/dist/tools/discovery.d.ts +28 -2
  32. package/dist/tools/discovery.d.ts.map +1 -1
  33. package/dist/tools/discovery.js +61 -27
  34. package/dist/tools/discovery.js.map +1 -1
  35. package/dist/tools/documents.d.ts +2 -2
  36. package/dist/tools/documents.d.ts.map +1 -1
  37. package/dist/tools/documents.js +2 -88
  38. package/dist/tools/documents.js.map +1 -1
  39. package/dist/tools/duplicates.d.ts +2 -0
  40. package/dist/tools/duplicates.d.ts.map +1 -1
  41. package/dist/tools/duplicates.js +107 -0
  42. package/dist/tools/duplicates.js.map +1 -1
  43. package/dist/tools/integrity.d.ts.map +1 -1
  44. package/dist/tools/integrity.js +65 -8
  45. package/dist/tools/integrity.js.map +1 -1
  46. package/dist/tools/metadata.d.ts.map +1 -1
  47. package/dist/tools/metadata.js +41 -121
  48. package/dist/tools/metadata.js.map +1 -1
  49. package/dist/tools/notes.d.ts +3 -4
  50. package/dist/tools/notes.d.ts.map +1 -1
  51. package/dist/tools/notes.js +3 -39
  52. package/dist/tools/notes.js.map +1 -1
  53. package/dist/tools/projects.d.ts +3 -4
  54. package/dist/tools/projects.d.ts.map +1 -1
  55. package/dist/tools/projects.js +3 -27
  56. package/dist/tools/projects.js.map +1 -1
  57. package/dist/tools/public-filter.d.ts.map +1 -1
  58. package/dist/tools/public-filter.js +3 -6
  59. package/dist/tools/public-filter.js.map +1 -1
  60. package/dist/tools/recovery-hints.d.ts.map +1 -1
  61. package/dist/tools/recovery-hints.js +24 -23
  62. package/dist/tools/recovery-hints.js.map +1 -1
  63. package/dist/tools/releases.d.ts +2 -4
  64. package/dist/tools/releases.d.ts.map +1 -1
  65. package/dist/tools/releases.js +6 -210
  66. package/dist/tools/releases.js.map +1 -1
  67. package/dist/tools/rights.d.ts +9 -0
  68. package/dist/tools/rights.d.ts.map +1 -1
  69. package/dist/tools/rights.js +196 -3
  70. package/dist/tools/rights.js.map +1 -1
  71. package/dist/tools/royalties.d.ts +5 -5
  72. package/dist/tools/royalties.d.ts.map +1 -1
  73. package/dist/tools/royalties.js +2 -53
  74. package/dist/tools/royalties.js.map +1 -1
  75. package/dist/tools/statements.js +1 -1
  76. package/dist/tools/statements.js.map +1 -1
  77. package/dist/tools/version-guard.d.ts +16 -4
  78. package/dist/tools/version-guard.d.ts.map +1 -1
  79. package/dist/tools/version-guard.js +22 -8
  80. package/dist/tools/version-guard.js.map +1 -1
  81. package/dist/tools/works.d.ts.map +1 -1
  82. package/dist/tools/works.js +24 -11
  83. package/dist/tools/works.js.map +1 -1
  84. package/package.json +2 -2
  85. package/server.json +2 -2
package/CHANGELOG.md CHANGED
@@ -11,6 +11,104 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [2.99.0] - 2026-09-30
15
+
16
+ ### Added
17
+
18
+ - **Platform-presence waivers on `pica_integrity_waive`.** New `gap_code`
19
+ values `PLATFORM_SPOTIFY`, `PLATFORM_YOUTUBE`, `PLATFORM_APPLE_MUSIC` with a
20
+ required `kind` (`not_applicable` | `restricted`) and reason mark a work that
21
+ is deliberately not on that platform (e.g. no YouTube by design, a licence
22
+ rules out Content ID). The platform then drops out of the work's
23
+ completeness instead of counting as missing; the answer carries the
24
+ re-scored `completeness`. Owner/admin only. Identifiers and registrations
25
+ (ISWC, ISRC, IPI, society registrations, writers, splits) can never be
26
+ waived, and the description says so.
27
+
28
+ - `original_work_id` on `pica_works_create` / `pica_works_update`: links a
29
+ modified version (a remix that added writers) to the work it modifies. Same
30
+ catalogue only; `null` clears it.
31
+
32
+ ### Changed
33
+
34
+ - **A remix is a recording of the same song unless it adds writers (ADR-324).**
35
+ `pica_works_create` on a remix-titled work now suggests a recording under the
36
+ original (`pica_recordings_create`, `version_type: "remix"`, remixer credited
37
+ on the recording) with the modified-version path beside it
38
+ (`if_new_writers`), instead of a separate derivative work.
39
+ `pica_find_duplicates` (works) no longer groups a remix with its original as
40
+ a duplicate: each remix is paired with its original as
41
+ `match_kind: "remix_recording"` (move its recordings) or
42
+ `"remix_modified_version"` (link it), with a `remix` block naming the
43
+ recordings, any added writers and the action — never "fold the copies".
44
+ The `catalog-modelling` skill carries the rule.
45
+
46
+ - `pica_rights_inspect` no longer says amounts are "not computed yet"; it points
47
+ to `pica_rights_statements` for them.
48
+
49
+ ### Removed
50
+
51
+ - **The last 11 deprecated tool aliases** (removal target 2.99.0). Each had
52
+ been a hidden, callable alias of the tool named beside it — ten since the
53
+ MCP tool-surface consolidation, `pica_royalties_summary` since 2026-09-25
54
+ (ADR-321 Phase 0). Calling an old name now fails with `TOOL_NOT_FOUND`;
55
+ the answer (from `pica_execute`, `pica_tool_details` and the hosted
56
+ connector alike) says the tool was retired in 2.99.0, names its
57
+ replacement and any argument change, and lists the replacement first in
58
+ `did_you_mean` when the caller can call it. Use the replacement instead:
59
+ - `pica_releases_list` → `pica_releases_query`
60
+ - `pica_releases_get` → `pica_releases_inspect`
61
+ - `pica_releases_bulk_attach_tracks` → `pica_releases_attach_track` with
62
+ `items[]` (the old `tracks` field is now `items`)
63
+ - `pica_releases_attach_track_by_identifier` → `pica_releases_attach_track`
64
+ with `identifier_type` + `value`
65
+ - `pica_projects_list` → `pica_projects_query`
66
+ - `pica_notes_list` → `pica_notes_query`
67
+ - `pica_documents_list` → `pica_documents_query`
68
+ - `pica_documents_read` → `pica_documents_inspect`
69
+ - `pica_statements_list` → `pica_statements_query`
70
+ - `pica_royalties_summary` → `pica_royalties_blockers` (`work_id` and
71
+ `limit` carry over; `gap_type` and `priority` have no equivalent)
72
+ - `pica_recording_credits_bulk_update` → `pica_recording_credits_update`
73
+ with a `credits` array (same arguments)
74
+
75
+ Production use over the 60 days before removal was 4 calls in total.
76
+
77
+ - **`verified` on `pica_works_query`.** It filtered on a work-level
78
+ `is_verified` flag that PICA has never stored, so it matched no works
79
+ whichever way it was set. Passing it now returns `NO_WORK_VERIFIED_FLAG`
80
+ (the same code `pica_works_verify` returns) and names the filters that do
81
+ exist: `health_filter: 'low_completeness'`, `completeness_score_lt`, and
82
+ `pica_works_inspect` for one work.
83
+ - **`verified` / `unverified` counts in the `catalog://stats` resource, and
84
+ `is_verified` in `works://list`.** Both read the same missing flag, so every
85
+ work counted as unverified.
86
+ - **`musicbrainz_recording_id` on `pica_works_update` / `pica_works_create` /
87
+ `pica_works_bulk_update`.** An update used to pass it to the work's
88
+ recording, but only when the work had exactly one recording, so the same
89
+ call silently stopped working once a second recording was added (a create,
90
+ with no recording yet, never stored it). It is now refused with
91
+ `PHANTOM_FIELD` naming the tool to use instead:
92
+ `pica_recordings_update {id, musicbrainz_recording_id}`. Work reads still
93
+ show the recording's MusicBrainz id, and the completeness benchmark still
94
+ reads it.
95
+
96
+ ### Fixed
97
+
98
+ - `pica_integrity_waive`'s `gap_code` enum now lists `WORK_SPLITS_ABSENT` and
99
+ `WORK_SPLITS_INVALID`, which the app has accepted since 2026-08-16.
100
+ - **`pica_rights_statements`** (read:finances) — ADR-321 Phase 3, COMPUTED NOT
101
+ PAID: direct income and what each party would receive under the song's
102
+ locked split in force when it was earned, PICA's proposed fee as its own line
103
+ (shown, never charged), every hold with why / who clears it / since when, and
104
+ the four measures. With `work_id`, that song's imported society statements
105
+ checked against the split: each co-writer's EXPECTED amount and the
106
+ registration check for writer societies; line-up completeness for PPL /
107
+ SoundExchange.
108
+ - **`pica_rights_record_income`** (write:finances) — record a figure the user
109
+ gave (or a quoted licensing enquiry's fee), labelled "entered by your agent".
110
+ No money moves.
111
+
14
112
  ## [2.98.0] - 2026-09-29
15
113
 
16
114
  ### Deprecated
package/README.md CHANGED
@@ -65,7 +65,7 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
65
65
 
66
66
  ## Tools
67
67
 
68
- 341 tools, grouped below by the taxonomy `pica_discover` uses. The server's own `tools/list` is authoritative — not every registered tool is filed under a category yet, so the names below are a map, not a census.
68
+ 343 tools, grouped below by the taxonomy `pica_discover` uses. The server's own `tools/list` is authoritative — not every registered tool is filed under a category yet, so the names below are a map, not a census.
69
69
 
70
70
  **works** — manage your musical works
71
71
 
@@ -235,9 +235,9 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
235
235
 
236
236
  `pica_royalties_list`, `pica_royalties_get`, `pica_statements_query`, `pica_statements_inspect`, `pica_ingest_statement`, `pica_statements_pending`, `pica_statement_ingest_document`, `pica_royalties_blockers`, `pica_royalties_unmatched`, `pica_royalties_attribute`
237
237
 
238
- **rights** — programmable rights — propose a song, master or share rule for the parties to confirm, check who has confirmed, and see what money would be held and why
238
+ **rights** — programmable rights — propose a song, master or share rule for the parties to confirm, check who has confirmed, see what money would be held and why, and what income would pay each party (computed, never paid)
239
239
 
240
- `pica_rights_inspect`, `pica_rights_status`, `pica_rights_propose`
240
+ `pica_rights_inspect`, `pica_rights_status`, `pica_rights_propose`, `pica_rights_statements`, `pica_rights_record_income`
241
241
 
242
242
  **selections** — save, recall, and resolve named catalog selections — persisted predicates over the catalogue with an honest coverage report
243
243
 
@@ -293,4 +293,4 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
293
293
 
294
294
  ---
295
295
 
296
- Generated for `@withpica/mcp-server@2.97.5`. © 2024-2026 Withpica Ltd. All rights reserved. MIT licensed.
296
+ Generated for `@withpica/mcp-server@2.99.0`. © 2024-2026 Withpica Ltd. All rights reserved. MIT licensed.