@withpica/mcp-server 2.100.0 → 2.102.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 (56) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +1 -1
  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/index.js +2 -2
  8. package/dist/resources/index.d.ts +23 -3
  9. package/dist/resources/index.d.ts.map +1 -1
  10. package/dist/resources/index.js +119 -64
  11. package/dist/resources/index.js.map +1 -1
  12. package/dist/server.d.ts.map +1 -1
  13. package/dist/server.js +9 -0
  14. package/dist/server.js.map +1 -1
  15. package/dist/skills/index.d.ts +5 -3
  16. package/dist/skills/index.d.ts.map +1 -1
  17. package/dist/skills/index.js +11 -9
  18. package/dist/skills/index.js.map +1 -1
  19. package/dist/skills/sep2640.d.ts +71 -0
  20. package/dist/skills/sep2640.d.ts.map +1 -0
  21. package/dist/skills/sep2640.js +198 -0
  22. package/dist/skills/sep2640.js.map +1 -0
  23. package/dist/skills/skills.generated.js +1 -1
  24. package/dist/skills/skills.generated.js.map +1 -1
  25. package/dist/tools/credits.d.ts.map +1 -1
  26. package/dist/tools/credits.js +8 -2
  27. package/dist/tools/credits.js.map +1 -1
  28. package/dist/tools/dashboard.js +1 -1
  29. package/dist/tools/dashboard.js.map +1 -1
  30. package/dist/tools/directory.d.ts.map +1 -1
  31. package/dist/tools/directory.js +21 -10
  32. package/dist/tools/directory.js.map +1 -1
  33. package/dist/tools/discovery.js +1 -1
  34. package/dist/tools/discovery.js.map +1 -1
  35. package/dist/tools/index.js +1 -1
  36. package/dist/tools/index.js.map +1 -1
  37. package/dist/tools/people.d.ts +1 -1
  38. package/dist/tools/people.d.ts.map +1 -1
  39. package/dist/tools/people.js +1 -1
  40. package/dist/tools/people.js.map +1 -1
  41. package/dist/tools/profile-claims.d.ts.map +1 -1
  42. package/dist/tools/profile-claims.js +6 -3
  43. package/dist/tools/profile-claims.js.map +1 -1
  44. package/dist/tools/recovery-hints.js +1 -1
  45. package/dist/tools/recovery-hints.js.map +1 -1
  46. package/dist/tools/rights.d.ts.map +1 -1
  47. package/dist/tools/rights.js +8 -1
  48. package/dist/tools/rights.js.map +1 -1
  49. package/dist/tools/skills.d.ts +3 -4
  50. package/dist/tools/skills.d.ts.map +1 -1
  51. package/dist/tools/skills.js.map +1 -1
  52. package/dist/tools/split-sheets.d.ts.map +1 -1
  53. package/dist/tools/split-sheets.js +13 -7
  54. package/dist/tools/split-sheets.js.map +1 -1
  55. package/package.json +6 -4
  56. package/server.json +2 -2
package/CHANGELOG.md CHANGED
@@ -11,6 +11,86 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [2.102.0] - 2026-10-07
15
+
16
+ ### Added
17
+
18
+ - **`pica_profile_claims_status` reports `linked`.** A person already linked
19
+ to a PICA account now reads `linked` (nothing to invite) instead of
20
+ `not_invited`, and `state: "linked"` filters to them.
21
+ `pica_profile_claims_invite` skips people already linked to an account and
22
+ the caller themself, and its preview says so.
23
+
24
+ ### Changed
25
+
26
+ - **`works://list`, `people://list` and `recordings://list` say how big the
27
+ catalogue really is.** Each returns the first page (100 works, 500 people,
28
+ 100 recordings) with the true `total` from SQL counts, plus `returned`,
29
+ `has_more` and, when there is more, a note pointing at the matching
30
+ `_query` tool. `total` used to be the length of the page, so a catalogue of
31
+ 2,239 works was reported as 100. The resource names drop "All".
32
+ - **`catalog://stats` counts the whole catalogue.** Every figure now comes
33
+ from the same counts as `pica_catalog_stats`, not from list pages that were
34
+ capped at 100 or 500 rows. `works.by_type` lists the work types the
35
+ catalogue actually holds; its old fixed keys (composition, arrangement,
36
+ adaptation, translation) read 0 for every catalogue.
37
+ - **`pro_member_number` on `pica_people_create` / `pica_people_update` says
38
+ what it is:** the person's account number at their own society, not their
39
+ IPI.
40
+
41
+ ### Fixed
42
+
43
+ - **The import template and catalogue counts work on a protected preview.**
44
+ Requires `@withpica/mcp-sdk` 3.23.1, which routes both calls through the
45
+ shared request path and refuses an HTML page returned in place of a file.
46
+
47
+ ## [2.101.0] - 2026-10-06
48
+
49
+ ### Added
50
+
51
+ - **Skills over the MCP skills extension (SEP-2640, `io.modelcontextprotocol/skills`).**
52
+ The server declares the extension at `initialize` and answers `skills/list`
53
+ and `skills/get`. Each entry carries the skill's frontmatter and a `sha256`
54
+ digest and byte size for its `SKILL.md`, so a conforming host can verify
55
+ what it reads through `resources/read`. `skills/get` on an unknown or
56
+ malformed URI returns `-32602`. Signed-out (lobby) sessions list no skills.
57
+ `skill://withpica/index.json`, `pica_skill_list` and `pica_skill_get` are
58
+ unchanged for hosts without the extension.
59
+ - **`pica_rights_propose` takes `effective_from` and `corrects_start_date` on
60
+ song and master rules.** A first lock may start on any real date up to
61
+ today (default: the earliest date PICA holds for the song or recording);
62
+ a change to a locked split applies from today. `corrects_start_date: true`
63
+ corrects only a wrongly dated first lock, with the same shares and an
64
+ earlier date.
65
+
66
+ ### Changed
67
+
68
+ - **Served `SKILL.md` frontmatter follows the Agent Skills specification.**
69
+ Top-level keys are now `name`, `description`, `compatibility` and
70
+ `metadata`. PICA's own fields moved under `metadata` as strings:
71
+ `pica-audience`, `pica-output`, `pica-triggers` and `pica-tools-required`
72
+ (lists joined by newline), `pica-definition-of-done`, `pica-when-not-to-use`
73
+ and `pica-origin`. `definition_of_done` and `when_not_to_use` were
74
+ previously dropped from the resource text; they now reach readers. The
75
+ skill body and the tool route's output are unchanged.
76
+ - **A person whose ownership share ended can be given a new one.**
77
+ `pica_recording_splits_create` `dry_run` no longer predicts
78
+ `RECORDING_SPLIT_EXISTS` when the person's share in that place has ended
79
+ (any `end_date`, today included) or when the new row is written already
80
+ ended — only a second ACTIVE share is refused, matching the database once
81
+ migration 20261004140000 applies. `pica_dashboard_attention`'s
82
+ `recordings_without_splits` now counts a recording whose shares have all
83
+ ended as having no current owner.
84
+
85
+ - **`pica_directory_settings` reports listing per song.** It returns how many
86
+ songs are listed, ready but not listed, hidden and not ready, instead of a
87
+ catalogue-wide "discoverable / private". `opted_in: true` lists every ready
88
+ song; `opted_in: false` records the decline and leaves listed songs up
89
+ until each is hidden from its own page.
90
+ - **`pica_credits_send_for_attestation` names writers who are on PICA in
91
+ another catalogue.** They are listed apart from "No email on file", with a
92
+ pointer to `pica_collaborators_invite`.
93
+
14
94
  ## [2.100.0] - 2026-10-04
15
95
 
16
96
  ### Added
package/README.md CHANGED
@@ -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.100.0`. © 2024-2026 Withpica Ltd. All rights reserved. MIT licensed.
296
+ Generated for `@withpica/mcp-server@2.102.0`. © 2024-2026 Withpica Ltd. All rights reserved. MIT licensed.