@withpica/mcp-server 2.10.0 → 2.11.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 +222 -0
- package/dist/prompts/index.d.ts +16 -48
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +607 -320
- package/dist/prompts/index.js.map +1 -1
- package/dist/tools/agreement-types.d.ts.map +1 -1
- package/dist/tools/agreement-types.js +19 -18
- package/dist/tools/agreement-types.js.map +1 -1
- package/dist/tools/app-tools.d.ts.map +1 -1
- package/dist/tools/app-tools.js +30 -8
- package/dist/tools/app-tools.js.map +1 -1
- package/dist/tools/audio-files.d.ts.map +1 -1
- package/dist/tools/audio-files.js +10 -2
- package/dist/tools/audio-files.js.map +1 -1
- package/dist/tools/collaborators.js +7 -7
- package/dist/tools/collaborators.js.map +1 -1
- package/dist/tools/custody.d.ts.map +1 -1
- package/dist/tools/custody.js +2 -1
- package/dist/tools/custody.js.map +1 -1
- package/dist/tools/enrichment.js +2 -2
- package/dist/tools/enrichment.js.map +1 -1
- package/dist/tools/exports.d.ts.map +1 -1
- package/dist/tools/exports.js +5 -1
- package/dist/tools/exports.js.map +1 -1
- package/dist/tools/import.js +3 -3
- package/dist/tools/import.js.map +1 -1
- package/dist/tools/uploads.d.ts.map +1 -1
- package/dist/tools/uploads.js +9 -2
- package/dist/tools/uploads.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `@withpica/mcp-server` will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
> **Rule of the road:** every version bump to this package MUST land with a
|
|
9
|
+
> matching entry here in the same commit. See the project's "npm publish
|
|
10
|
+
> discipline" memory entry for the enforcement rationale.
|
|
11
|
+
|
|
12
|
+
## [Unreleased]
|
|
13
|
+
|
|
14
|
+
## [2.11.0] — 2026-04-13
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- **ADR-171: Prompts replaced with workflow-level skills.**
|
|
19
|
+
11 prompts → 10 skills, each with decision trees, domain knowledge,
|
|
20
|
+
enrichment source priority, and the shared preamble (tone, prerequisite
|
|
21
|
+
check, summary pattern). Deployed as upgraded prompts; will convert to
|
|
22
|
+
MCP skills format when the spec extension ships.
|
|
23
|
+
|
|
24
|
+
New skills: `workspace-autopilot`, `establish-identity`,
|
|
25
|
+
`catalog-your-music`, `upload-and-analyse`, `close-the-loop`,
|
|
26
|
+
`manage-collaborators`, `establish-ownership`, `production-assets`,
|
|
27
|
+
`stay-connected`, `export-and-report`.
|
|
28
|
+
|
|
29
|
+
Retired prompts: `analyze-catalog`, `find-duplicates`,
|
|
30
|
+
`enrich-metadata`, `verify-works`, `assess-catalog-health`,
|
|
31
|
+
`audit-credits`, `new-catalog-setup`, `register-my-works`,
|
|
32
|
+
`prepare-for-sync`. Functionality folded into new skills —
|
|
33
|
+
see design spec for mapping.
|
|
34
|
+
|
|
35
|
+
- `workspace-autopilot` now routes through the full journey sequence
|
|
36
|
+
(identity → catalog → audio → gaps → collaborators → ownership →
|
|
37
|
+
notifications → exports) instead of the old 5-condition router.
|
|
38
|
+
- `close-the-loop` absorbs 7 former prompts and adds the enrichment
|
|
39
|
+
cascade decision tree (MLC first if IPI, MusicBrainz second, Spotify
|
|
40
|
+
third) and inline duplicate detection.
|
|
41
|
+
- `export-and-report` absorbs `analyze-catalog`, `register-my-works`,
|
|
42
|
+
and `prepare-for-sync` into a single export/report skill with CAR,
|
|
43
|
+
CWR, CSV, provenance, sync readiness, and carbon footprint paths.
|
|
44
|
+
|
|
45
|
+
## [2.10.0] — 2026-04-11
|
|
46
|
+
|
|
47
|
+
### Added
|
|
48
|
+
|
|
49
|
+
- **ADR-163: Tier B enrichment proposal review tools.**
|
|
50
|
+
- `pica_enrichment_proposals_list` — list pending proposals
|
|
51
|
+
awaiting review. Filters: `entity_type`, `entity_id`,
|
|
52
|
+
`rule_id`, `source`, `limit` (1..100, default 20), `offset`.
|
|
53
|
+
Only `status='pending'` rows are returned. Backed by
|
|
54
|
+
`GET /api/admin/enrichment-proposals`.
|
|
55
|
+
- `pica_enrichment_proposal_apply` — apply a pending proposal.
|
|
56
|
+
For update proposals, runs drift detection first: if the
|
|
57
|
+
entity has changed since the proposal was created, returns
|
|
58
|
+
`{ status: 'drift_detected', conflicts }` without writing.
|
|
59
|
+
Agents surface conflicts to the user before retrying with
|
|
60
|
+
`force=true`. For create proposals (`artist_title_to_youtube`),
|
|
61
|
+
a uniqueness check runs instead and cannot be forced. Backed
|
|
62
|
+
by `POST /api/admin/enrichment-proposals/:id/apply`.
|
|
63
|
+
- `pica_enrichment_proposal_reject` — reject a pending proposal
|
|
64
|
+
with an optional `resolution_note`. Content-hash suppression
|
|
65
|
+
(ADR-163) permanently blocks re-proposal of identical content
|
|
66
|
+
— no cooldown, no timer. Backed by
|
|
67
|
+
`POST /api/admin/enrichment-proposals/:id/reject`.
|
|
68
|
+
|
|
69
|
+
- **ADR-166: YouTube import as a recording-version source.**
|
|
70
|
+
- `pica_import_youtube_link` MCP tool wraps the Phase 3 orchestrator.
|
|
71
|
+
Takes a YouTube URL, returns a preview (items + classification +
|
|
72
|
+
work match), then `confirm: true` executes the import as a new
|
|
73
|
+
recording on an existing or newly-created work. Supports
|
|
74
|
+
`selectedVideoIds`, `targetWorkId`, and `overrideVersionType`
|
|
75
|
+
for fine-grained agent control. Landed in `78da58344`
|
|
76
|
+
(feat(adr-166): phase 4 — pica_import_youtube_link MCP tool + SDK
|
|
77
|
+
methods).
|
|
78
|
+
|
|
79
|
+
### Changed
|
|
80
|
+
|
|
81
|
+
- `pica_cascade_health` outcome bucket list extended to include
|
|
82
|
+
the ADR-163 Phase 1 `proposed` and `suppressed` outcomes. Tool
|
|
83
|
+
description now reads `wrote / no_match / already_enriched /
|
|
84
|
+
error / proposed / suppressed`. Counters populate automatically
|
|
85
|
+
from `cascadeOutcomeCounter` — no schema change required for
|
|
86
|
+
existing `/api/admin/cascade-health` or
|
|
87
|
+
`/api/internal/cascade-health` consumers.
|
|
88
|
+
|
|
89
|
+
- Several mcp-server source files got minor reformatting from ADR-165's
|
|
90
|
+
flattener strip (removing `work_spotify_data` + `work_album_metadata`
|
|
91
|
+
fields from the Work shape) and ADR-166's cascade rule rewrites.
|
|
92
|
+
These are consumer-invisible at the MCP tool surface — the tools
|
|
93
|
+
still accept the same inputs and return the same outputs — but the
|
|
94
|
+
underlying `PicaClient.works` reads + writes now route through the
|
|
95
|
+
ADR-165 overlay. See the ADR-165 and ADR-166 implementation records
|
|
96
|
+
for details.
|
|
97
|
+
|
|
98
|
+
### Fixed
|
|
99
|
+
|
|
100
|
+
- `pica_run_person_cascade` tool description had a dangling
|
|
101
|
+
`→ then: pica_people_inspect` chain with no parenthetical reason hint,
|
|
102
|
+
which the `composability-chains.test.ts` linter caught as a content
|
|
103
|
+
bug. Description updated to `→ then: pica_people_inspect (see what
|
|
104
|
+
the cascade wrote)`. Fixed in `3a2843636` (test(mcp-server): fix 10
|
|
105
|
+
pre-existing test failures across 8 suites).
|
|
106
|
+
|
|
107
|
+
### Notes
|
|
108
|
+
|
|
109
|
+
- Backwards-compatible minor bump. Three new tools, one widened
|
|
110
|
+
description, no removals or signature changes.
|
|
111
|
+
- Depends on `@withpica/mcp-sdk@^1.4.0` for the new
|
|
112
|
+
`EnrichmentResource.listEnrichmentProposals` /
|
|
113
|
+
`applyEnrichmentProposal` / `rejectEnrichmentProposal` methods.
|
|
114
|
+
- Source additions landed across ADR-163 Phase 3d (`ff9cf265a`) and
|
|
115
|
+
Phase 6 (`ff97faa56`).
|
|
116
|
+
- Registry: https://www.npmjs.com/package/@withpica/mcp-server/v/2.10.0
|
|
117
|
+
- Published alongside `@withpica/mcp-sdk@1.4.0` and
|
|
118
|
+
`@withpica/mcp-server-business@1.3.0` in ADR-163 Phase 6.
|
|
119
|
+
|
|
120
|
+
## [2.9.0] — 2026-04-11
|
|
121
|
+
|
|
122
|
+
### Added
|
|
123
|
+
|
|
124
|
+
- **ADR-164 audit follow-up: three new cascade MCP tools**
|
|
125
|
+
- `pica_run_work_cascade(work_id)` — manually re-evaluate a work
|
|
126
|
+
against every ADR-164 cascade rule and fire those whose
|
|
127
|
+
preconditions are satisfied. Idempotent. Fire-and-forget. Backed by
|
|
128
|
+
`POST /api/admin/works/:id/cascade-run`.
|
|
129
|
+
- `pica_run_person_cascade(person_id)` — same for people. Fires
|
|
130
|
+
`ipi_to_mlc_works` (MLC writer/publisher splits),
|
|
131
|
+
`mbid_to_wikidata_crosswalk`, `isni_to_wikidata_crosswalk`,
|
|
132
|
+
`wikidata_to_awards`, `wikidata_to_biography`, and
|
|
133
|
+
`google_contact_suggest`. Backed by
|
|
134
|
+
`POST /api/admin/people/:id/cascade-run`.
|
|
135
|
+
- `pica_cascade_health` — snapshot of in-process cascade counters
|
|
136
|
+
(ADR-164 Decision 5). Org-auth twin of the operator-only
|
|
137
|
+
`/api/internal/cascade-health` endpoint. Returns per-rule failure
|
|
138
|
+
counts bucketed by reason + outcome totals. Process-global, not
|
|
139
|
+
persistent across serverless cold starts — treat as a spot-check.
|
|
140
|
+
|
|
141
|
+
### Notes
|
|
142
|
+
|
|
143
|
+
- Source additions landed in `38901f281` (ADR-164 audit follow-ups).
|
|
144
|
+
Version bump + rebuilt dist + publish tagged in `edfbcb07b`.
|
|
145
|
+
- Minor bump per semver — new tools, no removed or renamed surface.
|
|
146
|
+
- Registry URL:
|
|
147
|
+
https://www.npmjs.com/package/@withpica/mcp-server/v/2.9.0
|
|
148
|
+
- Tarball verified post-publish by pulling
|
|
149
|
+
`withpica-mcp-server-2.9.0.tgz` from the registry and grepping for
|
|
150
|
+
all three new tool names in `package/dist/tools/enrichment.js`.
|
|
151
|
+
|
|
152
|
+
## [2.8.0] — 2026-04-10
|
|
153
|
+
|
|
154
|
+
### Changed
|
|
155
|
+
|
|
156
|
+
- **ADR-162: subscription-based billing, credit gating disabled.**
|
|
157
|
+
`withCreditGate` is now a pass-through — all tools are free for
|
|
158
|
+
active subscribers. The MPP (Micropayment Protocol) machinery is
|
|
159
|
+
retained in `@withpica/mcp-utils` for a future pay-per-credit
|
|
160
|
+
re-enable but is dormant. Version bump carried in `7c4f5d24a`
|
|
161
|
+
(`chore(adr-162): version bumps for npm publish`).
|
|
162
|
+
|
|
163
|
+
## [2.7.0] — 2026-04-08
|
|
164
|
+
|
|
165
|
+
### Added
|
|
166
|
+
|
|
167
|
+
- **ADR-158c custody tool release.** Six `pica_custody_*` tools go
|
|
168
|
+
live: claim, accept, decline, dispute, incoming list, history.
|
|
169
|
+
Version bump in `91dd1c275` (`chore(adr-158c): version bumps for
|
|
170
|
+
custody tool release (Phase 6b)`).
|
|
171
|
+
|
|
172
|
+
## [2.6.2] — pre-2026-04-08
|
|
173
|
+
|
|
174
|
+
### Fixed
|
|
175
|
+
|
|
176
|
+
- Stale version constant in the boot banner — the banner was still
|
|
177
|
+
reporting an older version after an earlier bump. Fixed in
|
|
178
|
+
`980dabc02` (`fix(mcp-server): correct stale version constant in
|
|
179
|
+
boot banner (2.6.2)`).
|
|
180
|
+
|
|
181
|
+
## [2.6.1] — pre-2026-04-08
|
|
182
|
+
|
|
183
|
+
### Fixed
|
|
184
|
+
|
|
185
|
+
- MCP server now emits `tools/list_changed` + `resources/list_changed`
|
|
186
|
+
notifications after sign-in and sign-out, so clients refresh the
|
|
187
|
+
tool list without a reconnect. Fixed in `f1ba2a211`.
|
|
188
|
+
|
|
189
|
+
## [2.6.0] — 2026-04-07
|
|
190
|
+
|
|
191
|
+
### Changed
|
|
192
|
+
|
|
193
|
+
- **ADR-155 launch — publish 6 packages.** Catalog server rebaselined
|
|
194
|
+
from the broken `3.0.0` publish (deprecated + unpublished from npm
|
|
195
|
+
because `file:` deps had been baked into the tarball, leaving every
|
|
196
|
+
fresh installer dead) to `2.6.0`. Five new sibling packages
|
|
197
|
+
(`@withpica/mcp-sdk`, `@withpica/mcp-utils`,
|
|
198
|
+
`@withpica/mcp-server-business`, `-enrichment`, `-settings`)
|
|
199
|
+
published at `1.0.0` alongside with real semver deps so `npm
|
|
200
|
+
install` actually resolves on user machines.
|
|
201
|
+
- `connect.withpica.com` leads with the no-api-key lobby-mode flow.
|
|
202
|
+
Landed in `e235aed40` (`feat(mcp): ADR-155 launch — publish 6
|
|
203
|
+
packages, lobby-mode connect copy`).
|
|
204
|
+
|
|
205
|
+
## Pre-2.6.0 — pre-changelog era
|
|
206
|
+
|
|
207
|
+
Earlier versions (`2.0.0` through `2.5.x`) covered the pre-ADR-155
|
|
208
|
+
monolithic MCP server. Version history for that era is reconstructable
|
|
209
|
+
via `git log --follow -- mcp-server/package.json`. Notable milestones:
|
|
210
|
+
|
|
211
|
+
- `2.5.x` — MCP Apps prebuild script + ext-apps devDependency added
|
|
212
|
+
- `2.4.x` — build/publish polish, `.vercel/` excluded from tarball
|
|
213
|
+
- `~2.0.0` — ADR-149 agentic hardening (write tiers, ProposedAction,
|
|
214
|
+
confirmation, audit, annotations)
|
|
215
|
+
|
|
216
|
+
[Unreleased]: https://github.com/withpica/pica/compare/edfbcb07b...HEAD
|
|
217
|
+
[2.9.0]: https://github.com/withpica/pica/compare/7c4f5d24a...edfbcb07b
|
|
218
|
+
[2.8.0]: https://github.com/withpica/pica/compare/91dd1c275...7c4f5d24a
|
|
219
|
+
[2.7.0]: https://github.com/withpica/pica/compare/980dabc02...91dd1c275
|
|
220
|
+
[2.6.2]: https://github.com/withpica/pica/compare/f1ba2a211...980dabc02
|
|
221
|
+
[2.6.1]: https://github.com/withpica/pica/compare/e235aed40...f1ba2a211
|
|
222
|
+
[2.6.0]: https://github.com/withpica/pica/commit/e235aed40
|
package/dist/prompts/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Skill Registry for MCP Server
|
|
3
|
+
* Workflow-level skills with decision trees and domain knowledge.
|
|
4
|
+
* Deployed as upgraded prompts; will convert to MCP skills format
|
|
5
|
+
* when the spec extension ships (ADR-171).
|
|
4
6
|
*/
|
|
5
7
|
export interface PromptDefinition {
|
|
6
8
|
name: string;
|
|
@@ -23,56 +25,22 @@ export interface PromptResult {
|
|
|
23
25
|
}
|
|
24
26
|
export declare class PromptRegistry {
|
|
25
27
|
/**
|
|
26
|
-
* List all available
|
|
28
|
+
* List all available skills
|
|
27
29
|
*/
|
|
28
30
|
listPrompts(): PromptDefinition[];
|
|
29
31
|
/**
|
|
30
|
-
* Get a
|
|
32
|
+
* Get a skill by name
|
|
31
33
|
*/
|
|
32
34
|
getPrompt(name: string, args?: Record<string, any>): Promise<any>;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
private
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
private
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
*/
|
|
44
|
-
private getEnrichMetadataPrompt;
|
|
45
|
-
/**
|
|
46
|
-
* Verify works prompt
|
|
47
|
-
*/
|
|
48
|
-
private getVerifyWorksPrompt;
|
|
49
|
-
/**
|
|
50
|
-
* Assess catalog health prompt
|
|
51
|
-
*/
|
|
52
|
-
private getAssessCatalogHealthPrompt;
|
|
53
|
-
/**
|
|
54
|
-
* Audit credits prompt
|
|
55
|
-
*/
|
|
56
|
-
private getAuditCreditsPrompt;
|
|
57
|
-
/**
|
|
58
|
-
* New catalog setup prompt — first-time onboarding
|
|
59
|
-
*/
|
|
60
|
-
private getNewCatalogSetupPrompt;
|
|
61
|
-
/**
|
|
62
|
-
* Close the loop — check a specific work's gaps and offer to fix each one
|
|
63
|
-
*/
|
|
64
|
-
private getCloseTheLoopPrompt;
|
|
65
|
-
/**
|
|
66
|
-
* Register my works — check registration status and prepare for PRO submission
|
|
67
|
-
*/
|
|
68
|
-
private getRegisterMyWorksPrompt;
|
|
69
|
-
/**
|
|
70
|
-
* Workspace autopilot — assess state and route to the right workflow
|
|
71
|
-
*/
|
|
72
|
-
private getWorkspaceAutopilotPrompt;
|
|
73
|
-
/**
|
|
74
|
-
* Prepare for sync — get catalog sync-ready
|
|
75
|
-
*/
|
|
76
|
-
private getPrepareForSyncPrompt;
|
|
35
|
+
private getWorkspaceAutopilotSkill;
|
|
36
|
+
private getEstablishIdentitySkill;
|
|
37
|
+
private getCatalogYourMusicSkill;
|
|
38
|
+
private getUploadAndAnalyseSkill;
|
|
39
|
+
private getCloseTheLoopSkill;
|
|
40
|
+
private getManageCollaboratorsSkill;
|
|
41
|
+
private getEstablishOwnershipSkill;
|
|
42
|
+
private getProductionAssetsSkill;
|
|
43
|
+
private getStayConnectedSkill;
|
|
44
|
+
private getExportAndReportSkill;
|
|
77
45
|
}
|
|
78
46
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAkBD,qBAAa,cAAc;IACzB;;OAEG;IACH,WAAW,IAAI,gBAAgB,EAAE;IAuEjC;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAqCvE,OAAO,CAAC,0BAA0B;IA2ElC,OAAO,CAAC,yBAAyB;IAwDjC,OAAO,CAAC,wBAAwB;IAsEhC,OAAO,CAAC,wBAAwB;IA4DhC,OAAO,CAAC,oBAAoB;IA2F5B,OAAO,CAAC,2BAA2B;IAsEnC,OAAO,CAAC,0BAA0B;IA0ElC,OAAO,CAAC,wBAAwB;IA2DhC,OAAO,CAAC,qBAAqB;IA8D7B,OAAO,CAAC,uBAAuB;CA+EhC"}
|