@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.
- package/CHANGELOG.md +101 -0
- package/dist/lib/changelog.generated.d.ts +2 -2
- package/dist/lib/changelog.generated.d.ts.map +1 -1
- package/dist/lib/changelog.generated.js +2 -2
- package/dist/lib/changelog.generated.js.map +1 -1
- package/dist/prompts/creator-question-atlas.d.ts.map +1 -1
- package/dist/prompts/creator-question-atlas.js +23 -0
- package/dist/prompts/creator-question-atlas.js.map +1 -1
- package/dist/resources/required-schemas.generated.d.ts +3 -3
- package/dist/resources/required-schemas.generated.d.ts.map +1 -1
- package/dist/resources/required-schemas.generated.js +5 -2
- package/dist/resources/required-schemas.generated.js.map +1 -1
- package/dist/skills/skills.generated.js +3 -3
- package/dist/skills/skills.generated.js.map +1 -1
- package/dist/tools/credits.d.ts.map +1 -1
- package/dist/tools/credits.js +16 -3
- package/dist/tools/credits.js.map +1 -1
- package/dist/tools/dashboard.d.ts.map +1 -1
- package/dist/tools/dashboard.js +20 -3
- package/dist/tools/dashboard.js.map +1 -1
- package/dist/tools/deprecations.js +16 -16
- package/dist/tools/discovery.d.ts.map +1 -1
- package/dist/tools/discovery.js +4 -0
- package/dist/tools/discovery.js.map +1 -1
- package/dist/tools/duplicates.d.ts +2 -0
- package/dist/tools/duplicates.d.ts.map +1 -1
- package/dist/tools/duplicates.js +10 -2
- package/dist/tools/duplicates.js.map +1 -1
- package/dist/tools/enrichment.d.ts.map +1 -1
- package/dist/tools/enrichment.js +27 -12
- package/dist/tools/enrichment.js.map +1 -1
- package/dist/tools/import.d.ts.map +1 -1
- package/dist/tools/import.js +32 -3
- package/dist/tools/import.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +7 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/integrity-hints.d.ts +44 -0
- package/dist/tools/integrity-hints.d.ts.map +1 -0
- package/dist/tools/integrity-hints.js +33 -0
- package/dist/tools/integrity-hints.js.map +1 -0
- package/dist/tools/integrity.d.ts +32 -0
- package/dist/tools/integrity.d.ts.map +1 -0
- package/dist/tools/integrity.js +194 -0
- package/dist/tools/integrity.js.map +1 -0
- package/dist/tools/metadata.d.ts.map +1 -1
- package/dist/tools/metadata.js +25 -16
- package/dist/tools/metadata.js.map +1 -1
- package/dist/tools/notes.d.ts.map +1 -1
- package/dist/tools/notes.js +9 -1
- package/dist/tools/notes.js.map +1 -1
- package/dist/tools/people.d.ts +12 -0
- package/dist/tools/people.d.ts.map +1 -1
- package/dist/tools/people.js +29 -2
- package/dist/tools/people.js.map +1 -1
- package/dist/tools/recordings.d.ts.map +1 -1
- package/dist/tools/recordings.js +29 -3
- package/dist/tools/recordings.js.map +1 -1
- package/dist/tools/recovery-hints.d.ts.map +1 -1
- package/dist/tools/recovery-hints.js +14 -0
- package/dist/tools/recovery-hints.js.map +1 -1
- package/dist/tools/releases.d.ts.map +1 -1
- package/dist/tools/releases.js +24 -3
- package/dist/tools/releases.js.map +1 -1
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +20 -1
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/works.d.ts.map +1 -1
- package/dist/tools/works.js +36 -3
- package/dist/tools/works.js.map +1 -1
- package/package.json +1 -1
- 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
|