@withpica/mcp-server 2.91.1 → 2.92.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 (72) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/dist/lib/changelog.generated.d.ts +2 -2
  3. package/dist/lib/changelog.generated.d.ts.map +1 -1
  4. package/dist/lib/changelog.generated.js +2 -2
  5. package/dist/lib/changelog.generated.js.map +1 -1
  6. package/dist/prompts/creator-question-atlas.d.ts.map +1 -1
  7. package/dist/prompts/creator-question-atlas.js +23 -0
  8. package/dist/prompts/creator-question-atlas.js.map +1 -1
  9. package/dist/resources/required-schemas.generated.d.ts +3 -3
  10. package/dist/resources/required-schemas.generated.d.ts.map +1 -1
  11. package/dist/resources/required-schemas.generated.js +5 -2
  12. package/dist/resources/required-schemas.generated.js.map +1 -1
  13. package/dist/skills/skills.generated.js +3 -3
  14. package/dist/skills/skills.generated.js.map +1 -1
  15. package/dist/tools/credits.d.ts.map +1 -1
  16. package/dist/tools/credits.js +16 -3
  17. package/dist/tools/credits.js.map +1 -1
  18. package/dist/tools/dashboard.d.ts.map +1 -1
  19. package/dist/tools/dashboard.js +20 -3
  20. package/dist/tools/dashboard.js.map +1 -1
  21. package/dist/tools/deprecations.js +16 -16
  22. package/dist/tools/discovery.d.ts.map +1 -1
  23. package/dist/tools/discovery.js +4 -0
  24. package/dist/tools/discovery.js.map +1 -1
  25. package/dist/tools/duplicates.d.ts +2 -0
  26. package/dist/tools/duplicates.d.ts.map +1 -1
  27. package/dist/tools/duplicates.js +10 -2
  28. package/dist/tools/duplicates.js.map +1 -1
  29. package/dist/tools/enrichment.d.ts.map +1 -1
  30. package/dist/tools/enrichment.js +27 -12
  31. package/dist/tools/enrichment.js.map +1 -1
  32. package/dist/tools/import.d.ts.map +1 -1
  33. package/dist/tools/import.js +32 -3
  34. package/dist/tools/import.js.map +1 -1
  35. package/dist/tools/index.d.ts.map +1 -1
  36. package/dist/tools/index.js +7 -0
  37. package/dist/tools/index.js.map +1 -1
  38. package/dist/tools/integrity-hints.d.ts +44 -0
  39. package/dist/tools/integrity-hints.d.ts.map +1 -0
  40. package/dist/tools/integrity-hints.js +33 -0
  41. package/dist/tools/integrity-hints.js.map +1 -0
  42. package/dist/tools/integrity.d.ts +32 -0
  43. package/dist/tools/integrity.d.ts.map +1 -0
  44. package/dist/tools/integrity.js +194 -0
  45. package/dist/tools/integrity.js.map +1 -0
  46. package/dist/tools/metadata.d.ts.map +1 -1
  47. package/dist/tools/metadata.js +25 -16
  48. package/dist/tools/metadata.js.map +1 -1
  49. package/dist/tools/notes.d.ts.map +1 -1
  50. package/dist/tools/notes.js +9 -1
  51. package/dist/tools/notes.js.map +1 -1
  52. package/dist/tools/people.d.ts +12 -0
  53. package/dist/tools/people.d.ts.map +1 -1
  54. package/dist/tools/people.js +29 -2
  55. package/dist/tools/people.js.map +1 -1
  56. package/dist/tools/recordings.d.ts.map +1 -1
  57. package/dist/tools/recordings.js +29 -3
  58. package/dist/tools/recordings.js.map +1 -1
  59. package/dist/tools/recovery-hints.d.ts.map +1 -1
  60. package/dist/tools/recovery-hints.js +14 -0
  61. package/dist/tools/recovery-hints.js.map +1 -1
  62. package/dist/tools/releases.d.ts.map +1 -1
  63. package/dist/tools/releases.js +24 -3
  64. package/dist/tools/releases.js.map +1 -1
  65. package/dist/tools/search.d.ts.map +1 -1
  66. package/dist/tools/search.js +20 -1
  67. package/dist/tools/search.js.map +1 -1
  68. package/dist/tools/works.d.ts.map +1 -1
  69. package/dist/tools/works.js +36 -3
  70. package/dist/tools/works.js.map +1 -1
  71. package/package.json +1 -1
  72. package/server.json +2 -2
package/CHANGELOG.md CHANGED
@@ -9,6 +9,107 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
  > matching entry here in the same commit. See the project's "npm publish
10
10
  > discipline" memory entry for the enforcement rationale.
11
11
 
12
+ ## [2.92.0] - 2026-07-09
13
+
14
+ ### Added
15
+
16
+ - **`pica_find_duplicates` (works) surfaces fuzzy near-title duplicate groups**
17
+ (WS4 agentic fixes, 2026-07-10). The backing service adds a conservative
18
+ Levenshtein pass (≥85% on version-stripped base titles ≥5 chars,
19
+ exclusion-aware, only among works no exact key grouped); groups arrive
20
+ labelled `match_kind: "fuzzy_title"` with a `similarity` score (exact-key
21
+ groups are labelled `match_kind: "exact"`), and fuzzy groups get a
22
+ confidence-honest decision question ("look very similar … are they the same
23
+ song?") with the safe default unchanged at "keep them separate". No
24
+ inputSchema change — the fields are additive on the existing response.
25
+ - **`pica_catalog_health_plan` / `pica_catalog_health_fix` can now carry two
26
+ new action shapes** (WS4): `merge_pair` with `preview.grain: "release"`
27
+ (duplicate releases by normalized UPC, survivor = oldest, applied via the
28
+ same engine as `pica_merge_duplicates`) and `normalize_work_splits`
29
+ (work-collaborator splits summing ≠ 100 proportionally rescaled to exactly
30
+ 100.00 — propose-only, per-collaborator before→after preview, live-row
31
+ recompute + post-apply verification at apply time). Replaces the previously
32
+ un-appliable work-grain `set_splits_to_template` emission. Tool descriptions
33
+ updated; schemas unchanged.
34
+
35
+ - **`pica_people_create` / `pica_people_update` gain `affiliation_kind` on
36
+ `society_affiliations` items and a new `origin_countries` field** (ADR-292).
37
+ `affiliation_kind` distinguishes a society the person is a current _member_
38
+ of from their home-country _origin_ society for that code (defaults to
39
+ `member`). `origin_countries` is an array of ISO 3166-1 alpha-2 heritage
40
+ countries — the creator's self-identified origin, stored on a real
41
+ `public.people` column and sanitized server-side.
42
+
43
+ - **New tool `pica_integrity_waive`** (registration integrity floor, PR
44
+ #1595). Waives a registration-integrity gap the user has confirmed is
45
+ intentional or unresolvable (cover writer, deceased collaborator,
46
+ unreleased demo) — requires explicit user confirmation, and waivers are
47
+ reversible. Completes the integrity-assess surface the write-tool
48
+ pressure hints and dashboard-briefing nag point at.
49
+
50
+ - **`pica_works_create` / `pica_recordings_create` gain a `create_twin`
51
+ flag + twin completion hints** (auto-twin, commit 689298e3c). The
52
+ backing create routes auto-mint the twin entity (work↔recording);
53
+ agents can now opt out via `create_twin: false`, and when a twin WAS
54
+ minted the executor appends a completion hint ("also created the
55
+ linked <recording|work> <id> — pass create_twin: false to skip").
56
+ Backed by the SDK's new `requestWithEnvelope()` so the routes'
57
+ `twin`/`twin_error` sibling fields survive the response unwrap.
58
+
59
+ ### Fixed
60
+
61
+ - **`pica_enrichment_proposals_list` failed 100% of real calls with
62
+ `UNEXPECTED_RESPONSE_SHAPE`** (since 2026-06-10; ops_issues
63
+ 18f25b41/20c76911). The route returns `{success, data: {proposals,
64
+ count, filters}}` and the SDK narrows to `.data`, so the tool receives
65
+ the OBJECT — the `Array.isArray` guard rejected every real response.
66
+ The tool now unwraps `.proposals` (guard retained for genuinely bad
67
+ shapes). The `pica_enrichment_proposals_bulk_reject` dry-run filter preview had
68
+ the sibling bug (normalised via a `.data` key that never exists —
69
+ always previewed 0 ids) and is fixed in the same stroke.
70
+ - **`pica_releases_detach_track` reported "preview — call again with
71
+ confirm:true" AFTER the delete executed** (ops_issue 0137b1b8,
72
+ user_feedback e6320d08). The tool checked `result.data.confirmed` on a
73
+ response the SDK had already unwrapped — always undefined — so an
74
+ executed destructive mutation rendered as a pending preview. Now checks
75
+ the unwrapped `{confirmed, preview|removed}` shape; both paths render
76
+ correctly.
77
+ - **`pica_notes_list` / `pica_notes_query` silently returned an empty
78
+ list on every call** (same envelope-unwrap class, found in the sweep).
79
+ `GET /admin/notes` nests `{data, count, pagination}` under `data`; the
80
+ tool's bare-array check discarded the object. Now unwraps the inner
81
+ `data` array.
82
+
83
+ ### Changed
84
+
85
+ - Deprecation `removal_target` on the 16 ADR-149/tool-consolidation aliases
86
+ in `TOOL_ALIASES` / `TOOL_METADATA` extended from `2.92.0` to `2.93.0` —
87
+ this release reaches `2.92.0`, so the prior target would have tripped the
88
+ ADR-180 deprecation-expiry lint. No removal decision made; purely
89
+ housekeeping to keep the aliases alive one more minor.
90
+
91
+ ## [2.91.2] - 2026-07-09
92
+
93
+ ### Added
94
+
95
+ - **WS3 "Confident Recall" — ambiguity signalling on `pica_search_all`.** When the top fuzzy matches
96
+ are too close to call, the response carries an additive `ambiguity` block
97
+ (`ambiguous: true`, the close candidates with confidences, and guidance)
98
+ and the text content leads with an "⚠ AMBIGUOUS MATCH" banner — the agent
99
+ is told to ask the user which entity they mean instead of acting on a
100
+ guess. Absent on clear wins; identifier-exact lookups (ISRC/ISWC/IPI)
101
+ never signal.
102
+ - **`pica_people_inspect` gains a `connections` section** — the one-call
103
+ org-catalog neighbourhood of a person: works, recordings, releases, and
104
+ agreements as `{kind, id, name, via}` with per-kind counts and a capped
105
+ flag. Answers "everything connected to X" / "what have I done with X"
106
+ without stitching sections. Creator Question Atlas backing added;
107
+ `pica_graph_traverse` (global graph, identifier-only) cross-references it.
108
+ - **Accent parity, last mile.** The releases free-text query and the
109
+ collaborator/contributor searches now match accent-insensitively
110
+ ("fez" finds "Féz"), completing the parity the catalog entity searches
111
+ gained on 2026-07-06.
112
+
12
113
  ## [2.91.1] - 2026-07-08
13
114
 
14
115
  ### Added