@withpica/mcp-server 2.109.0 → 2.111.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 +178 -0
- package/README.intro.md +1 -1
- package/README.md +6 -6
- package/dist/apps/shared.d.ts.map +1 -1
- package/dist/apps/shared.js +8 -4
- package/dist/apps/shared.js.map +1 -1
- 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 +11 -0
- package/dist/prompts/creator-question-atlas.js.map +1 -1
- package/dist/resources/agent-guide.d.ts.map +1 -1
- package/dist/resources/agent-guide.js +6 -4
- package/dist/resources/agent-guide.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 +3 -2
- package/dist/resources/required-schemas.generated.js.map +1 -1
- package/dist/resources/required-schemas.source.js +2 -2
- package/dist/resources/required-schemas.source.js.map +1 -1
- package/dist/tools/access-simulate.d.ts.map +1 -1
- package/dist/tools/access-simulate.js +14 -5
- package/dist/tools/access-simulate.js.map +1 -1
- package/dist/tools/agreements.d.ts.map +1 -1
- package/dist/tools/agreements.js +3 -0
- package/dist/tools/agreements.js.map +1 -1
- package/dist/tools/audio-files.d.ts.map +1 -1
- package/dist/tools/audio-files.js +67 -7
- package/dist/tools/audio-files.js.map +1 -1
- package/dist/tools/credits.d.ts.map +1 -1
- package/dist/tools/credits.js +4 -0
- package/dist/tools/credits.js.map +1 -1
- package/dist/tools/dashboard.d.ts.map +1 -1
- package/dist/tools/dashboard.js +9 -2
- package/dist/tools/dashboard.js.map +1 -1
- package/dist/tools/deprecations.d.ts.map +1 -1
- package/dist/tools/deprecations.js +7 -0
- package/dist/tools/deprecations.js.map +1 -1
- package/dist/tools/discovery.d.ts.map +1 -1
- package/dist/tools/discovery.js +6 -1
- package/dist/tools/discovery.js.map +1 -1
- package/dist/tools/documents.d.ts.map +1 -1
- package/dist/tools/documents.js +3 -1
- package/dist/tools/documents.js.map +1 -1
- package/dist/tools/enrichment.js +1 -1
- package/dist/tools/enrichment.js.map +1 -1
- package/dist/tools/gap-hints.d.ts.map +1 -1
- package/dist/tools/gap-hints.js +21 -21
- package/dist/tools/gap-hints.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +15 -8
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/integrity.d.ts.map +1 -1
- package/dist/tools/integrity.js +4 -2
- package/dist/tools/integrity.js.map +1 -1
- package/dist/tools/metadata.d.ts.map +1 -1
- package/dist/tools/metadata.js +31 -6
- package/dist/tools/metadata.js.map +1 -1
- package/dist/tools/people.d.ts +1 -0
- package/dist/tools/people.d.ts.map +1 -1
- package/dist/tools/people.js +77 -7
- package/dist/tools/people.js.map +1 -1
- package/dist/tools/recordings.d.ts.map +1 -1
- package/dist/tools/recordings.js +27 -4
- package/dist/tools/recordings.js.map +1 -1
- package/dist/tools/recovery-hints.d.ts.map +1 -1
- package/dist/tools/recovery-hints.js +55 -15
- package/dist/tools/recovery-hints.js.map +1 -1
- package/dist/tools/share-links.d.ts.map +1 -1
- package/dist/tools/share-links.js +22 -13
- package/dist/tools/share-links.js.map +1 -1
- package/dist/tools/share-send.d.ts.map +1 -1
- package/dist/tools/share-send.js +25 -5
- package/dist/tools/share-send.js.map +1 -1
- package/dist/tools/sharing.d.ts +1 -1
- package/dist/tools/sharing.d.ts.map +1 -1
- package/dist/tools/sharing.js +2 -0
- package/dist/tools/sharing.js.map +1 -1
- package/dist/tools/signed-split-sheet-preview.d.ts +5 -5
- package/dist/tools/signed-split-sheet-preview.js +6 -6
- package/dist/tools/signed-split-sheet-preview.js.map +1 -1
- package/dist/tools/song-access.d.ts +45 -0
- package/dist/tools/song-access.d.ts.map +1 -0
- package/dist/tools/song-access.js +184 -0
- package/dist/tools/song-access.js.map +1 -0
- package/dist/tools/users.d.ts +6 -4
- package/dist/tools/users.d.ts.map +1 -1
- package/dist/tools/users.js +28 -37
- package/dist/tools/users.js.map +1 -1
- package/dist/tools/works.d.ts +2 -0
- package/dist/tools/works.d.ts.map +1 -1
- package/dist/tools/works.js +137 -17
- package/dist/tools/works.js.map +1 -1
- package/package.json +4 -4
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,184 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
11
11
|
|
|
12
12
|
## [Unreleased]
|
|
13
13
|
|
|
14
|
+
## [2.111.0] - 2026-10-29
|
|
15
|
+
|
|
16
|
+
> **Publish order:** `@withpica/mcp-sdk` 4.1.0, `@withpica/mcp-utils` 2.0.2, then this package
|
|
17
|
+
> (SDK floor `^4.1.0`: it calls `users.chooseBio` and the song-access methods added since 4.0.0).
|
|
18
|
+
> The hosted `/api/mcp` already serves this text and behaviour; this release brings npm (stdio)
|
|
19
|
+
> installs level with it.
|
|
20
|
+
|
|
21
|
+
### Claims (founder ruling 2026-10-29)
|
|
22
|
+
|
|
23
|
+
- `pica_claim_credit` claims as the user who granted the agent access. `pica_claim_custody` and
|
|
24
|
+
`pica_claim_artist` are refused for any agent with 403 `AGENT_CANNOT_CLAIM`: the person claims
|
|
25
|
+
custody or an artist link themselves. Their descriptions, the agent guide and the required
|
|
26
|
+
schemas say so, and tell the agent not to retry. A credit claim from an API key or connected app
|
|
27
|
+
rather than a grant is refused by the server with 403 `CLAIM_NEEDS_GRANT`.
|
|
28
|
+
|
|
29
|
+
### Writes are never sent twice (#3391)
|
|
30
|
+
|
|
31
|
+
- A tool call whose write timed out, lost its connection or got a 502/504 now answers
|
|
32
|
+
`WRITE_OUTCOME_UNKNOWN` (`retry_safe: false`: look for what it creates before retrying) instead of
|
|
33
|
+
being resent by the SDK. `pica_works_create` used to answer `WORK_ALREADY_EXISTS` naming the song
|
|
34
|
+
its own first attempt had made.
|
|
35
|
+
|
|
36
|
+
### Audio paging (#3392)
|
|
37
|
+
|
|
38
|
+
- `pica_audio_query` `metadata.total` is the real number of matching files (null where it cannot
|
|
39
|
+
be counted: `work_id` and `unassigned`), not the page's length.
|
|
40
|
+
- New `cursor` input and `metadata.page.next_cursor`: walk the whole list without the repeat an
|
|
41
|
+
offset page gives when a file is uploaded meanwhile. A page trimmed to fit the response resumes
|
|
42
|
+
by cursor right after its last file.
|
|
43
|
+
|
|
44
|
+
### Who has access to a song (ADR-346)
|
|
45
|
+
|
|
46
|
+
- New `pica_works_access_query` (read): everyone outside your catalogue who can see one of your
|
|
47
|
+
songs, one line per organisation or invited address, with the person in your catalogue behind it
|
|
48
|
+
when known, why they have access, which side (song or recording) and what they can do. Pending
|
|
49
|
+
lines are invitations not yet accepted.
|
|
50
|
+
- New `pica_works_access_remove` (destructive): ends one line by the key the query returned, every
|
|
51
|
+
share behind it and a master owner's edit too. `still_shared: true` means they can still see the
|
|
52
|
+
song; a retry touches only what is still live.
|
|
53
|
+
|
|
54
|
+
### Deprecated
|
|
55
|
+
|
|
56
|
+
- `isrc_source` on `pica_recordings_create` and `pica_recordings_update`. PICA records where an ISRC
|
|
57
|
+
came from itself: `manual` for an ISRC you type, the lookup's or importer's source otherwise, and an
|
|
58
|
+
unchanged ISRC keeps the source it has. A value you send is ignored, never stored, and the answer
|
|
59
|
+
carries the hint `isrc_source_ignored` ("isrc_source is set by PICA; your value was ignored"). The
|
|
60
|
+
web API ignores it the same way and adds that line to the response's `warnings`. It will be removed
|
|
61
|
+
in a later version.
|
|
62
|
+
|
|
63
|
+
### Fixed
|
|
64
|
+
|
|
65
|
+
- `pica_recording_credits_update` batch form (`credits[]`) keeps each credit's `instrument`. The
|
|
66
|
+
schema has offered it since 2026-09-11, but the executor never passed it on, so every batch credit
|
|
67
|
+
saved with no instrument.
|
|
68
|
+
- The upload cards' storage allowlist (`PICA_STORAGE_CONNECT_DOMAINS`) named `withpica-media-production`,
|
|
69
|
+
a bucket PICA does not use. It now names PICA's three production buckets at eu-north-1
|
|
70
|
+
(`withpica-media-production-eu`, `-audio-`, `-documents-`), the addresses its presigned uploads
|
|
71
|
+
use, so a host that ignores the wildcard entries no longer refuses PICA uploads.
|
|
72
|
+
- `pica_agreements_create` / `pica_agreements_update`: `other_party_type` now lists the values PICA
|
|
73
|
+
accepts (`artist`, `label`, `publisher`, `production_company`, `music_library`, `individual`,
|
|
74
|
+
`other`); its description had suggested `distributor`, which was refused. `agreement_type` gains
|
|
75
|
+
`sync_license`. A value outside either list is refused with `INVALID_FIELD_VALUE`, naming the field
|
|
76
|
+
and its allowed values, instead of a check violation that named no field.
|
|
77
|
+
- A status change an agreement does not allow (for example `active` → `fully_executed`) answers 409
|
|
78
|
+
`INVALID_STATUS_TRANSITION` with the allowed next statuses, instead of `INTERNAL_ERROR`. An active
|
|
79
|
+
agreement already counts as signed.
|
|
80
|
+
- `pica_documents_link` takes `entity_type: "agreement"`, so a signed contract can be attached to its
|
|
81
|
+
agreement; `pica_agreements_inspect` lists it under `linkedDocuments`. Linking to a record in
|
|
82
|
+
another organisation, or one that does not exist, is refused with 404 `LINK_TARGET_NOT_FOUND`.
|
|
83
|
+
- `pica_agreements_inspect` gap hints read real columns: `missing_document` fired on every agreement
|
|
84
|
+
(it read `document_url`, which agreements do not have) and now fires only when nothing is attached,
|
|
85
|
+
pointing at `pica_documents_link`; the execution-date hints propose `signing_date`, not the absent
|
|
86
|
+
`fully_executed_date`.
|
|
87
|
+
|
|
88
|
+
### Docs
|
|
89
|
+
|
|
90
|
+
- The README's directory section no longer offers licensing keys. The public
|
|
91
|
+
directory reads no API key, and every caller gets 100 requests/minute per IP.
|
|
92
|
+
Licensing keys never worked and are retired.
|
|
93
|
+
|
|
94
|
+
### Confirmed by them (ADR-346)
|
|
95
|
+
|
|
96
|
+
- Credits now say whether the person confirmed them themself: `confirmed_by_person` (true or false)
|
|
97
|
+
and `confirmed_by_person_note`, the same words the browser's mark shows, e.g. "Ada confirmed this
|
|
98
|
+
from their own account." or "... by signing the split sheet." On `pica_works_inspect` credits,
|
|
99
|
+
`pica_credits_list`, and `pica_recordings_inspect` `recording_credits`. An owner confirming for
|
|
100
|
+
the person is `false`. The words name the person; PICA does not check identities.
|
|
101
|
+
- `pica_people_inspect` carries `confirmed_by_person` when the profile is the person's own (an
|
|
102
|
+
account is proven to be them), with the note "claimed by <name>."
|
|
103
|
+
|
|
104
|
+
### Share links
|
|
105
|
+
|
|
106
|
+
- `pica_share_send` takes `share_link_id`: email a link that already exists (made by `pica_share_links_create` or in the browser) instead of making one. Its own settings stand; on a specific-people link the address must be one of its recipients, who is sent their own URL.
|
|
107
|
+
|
|
108
|
+
### What applies to a song (ADR-344)
|
|
109
|
+
|
|
110
|
+
- `pica_works_inspect` `health` gains `song_suggestions`: what applies to the song beyond its next
|
|
111
|
+
step — "which society is <name> with?" for a writer with no society on record, "register it with
|
|
112
|
+
PRS" for a writer's own society the song is not registered with, "this looks released: update
|
|
113
|
+
it?" for a song marked unreleased that has a platform link or a past release. None blocks
|
|
114
|
+
"complete".
|
|
115
|
+
- The four tests ask what applies: an unreleased song (demo status or type, every recording a
|
|
116
|
+
demo, or set unreleased by someone — never the default) is not asked for an ISRC or a platform
|
|
117
|
+
link, and its `findable` test passes with the note "not released yet"; a song whose only
|
|
118
|
+
recordings are videos is identified by its ISWC alone; registered's next step names the
|
|
119
|
+
writers' own society.
|
|
120
|
+
|
|
121
|
+
### One bio per person
|
|
122
|
+
|
|
123
|
+
- A person's bio is the biography on their own person record. `pica_users_set_bio` writes it, with no 280-character cut and paragraphs kept, and refuses with `NO_LINKED_PERSON` when the account has no person. It also takes `choose` ("current" | "earlier") to settle a waiting `bio_choice`; the text not kept goes to `set_aside_bios` and is never deleted.
|
|
124
|
+
- `pica_users_get_my_profile` returns `bio` (that biography), `bio_short` (its opening), `bio_confirmed`, `bio_choice` and `set_aside_bios`. Only a bio the person wrote or confirmed is shown outside its catalogue. Saving it confirms it, and re-saving the same text confirms one someone else wrote.
|
|
125
|
+
- `pica_users_set_bio` is also refused with `NOT_YOUR_PERSON_ANY_MORE` once the caller has left their person's catalogue.
|
|
126
|
+
- `pica_people_inspect` returns `person.claimant_own_bio`: the own bio of the person who claimed the record, read-only, and only if they wrote or confirmed it. `biography` stays the catalogue's own note.
|
|
127
|
+
- **Retired:** `pica_users_import_bio_from_person`. It answers `TOOL_NOT_FOUND` naming `pica_users_set_bio`, because the profile bio is now the person's biography and there is nothing to import.
|
|
128
|
+
- `pica_resolve_person` no longer reports Wikidata's biographical facts as a `biography` write: `applied[].fields` says `biographical_facts`. PICA does not fetch a prose bio from Wikidata.
|
|
129
|
+
|
|
130
|
+
## [2.110.0] - 2026-10-23
|
|
131
|
+
|
|
132
|
+
> **Publish order:** `@withpica/mcp-sdk` 4.0.0, `@withpica/mcp-utils` 2.0.1, then this package
|
|
133
|
+
> (it needs SDK 4's `people.restore` and `removed.list`; the SDK floor is `^4.0.0`). Needs the web
|
|
134
|
+
> app with the S1 changes on the server a stdio install points at (migrations 20261013093400,
|
|
135
|
+
> 20261013093500 and 20261013093700 among them); against an older app the new waiver codes are
|
|
136
|
+
> refused (400 NOT_WAIVABLE), the new tools are refused, and the new health fields read as absent.
|
|
137
|
+
|
|
138
|
+
### Security
|
|
139
|
+
|
|
140
|
+
- `@modelcontextprotocol/sdk` 1.31.0 → 1.32.1, fixing GHSA-46jr-4wx8-v453 (one HTTP request could
|
|
141
|
+
exhaust server memory during validation), GHSA-22jm-h49p-29qw (experimental tasks were not tied
|
|
142
|
+
to the session that created them) and GHSA-6prh-2h8m-c8cw (client transports followed
|
|
143
|
+
cross-origin redirects with headers). `hono` (pulled in by the SDK) 4.13.13, fixing
|
|
144
|
+
GHSA-5r4p-p66f-jhc7.
|
|
145
|
+
|
|
146
|
+
### Share links
|
|
147
|
+
|
|
148
|
+
- `pica_share_links_create` `access_type` takes `anyone`, `specific_people` (each recipient gets their own URL, returned as `recipients[].share_url`; the main URL opens nothing) and `collaborators_only` (one song; opens only for a signed-in account credited on it). The lists need `specific_people`.
|
|
149
|
+
- `pica_share_links_update` takes `revoke_recipient_ids`.
|
|
150
|
+
- `pica_share_trace` reports share links as `anyone_with_the_link`, `named_recipients` (with each live recipient) or `song_collaborators`.
|
|
151
|
+
- `pica_access_simulate` takes the share_links words and refuses the old private / limited / public.
|
|
152
|
+
|
|
153
|
+
### Added
|
|
154
|
+
|
|
155
|
+
- `pica_works_inspect` `health` returns whether the song is complete — `complete`, `tests_passed`,
|
|
156
|
+
`tests` (identified, owned, registered, findable, each with its reason) and `next_step` — plus
|
|
157
|
+
`detail_score` (the weighted score). The completeness hints lead with the next step. Null when
|
|
158
|
+
the app could not answer, never a guessed "no".
|
|
159
|
+
- `pica_integrity_waive` accepts `DETAIL_ALBUM_NAME`, `DETAIL_RELEASE_DATE` and `DETAIL_LABEL` (an
|
|
160
|
+
album, release date or label that does not apply) and `PLATFORM_NOT_INTENDED` (a song the owner
|
|
161
|
+
never means to release; it then counts as findable). Codes and registrations stay unwaivable.
|
|
162
|
+
- `pica_removed_list`: one page of the songs (default) or people removed from the catalogue, with
|
|
163
|
+
when, by whom and why, and for a person what still sits with them (credits, splits in force,
|
|
164
|
+
agreement parties, main-artist songs and recordings).
|
|
165
|
+
- `pica_works_restore` and `pica_people_restore` bring back a removed song or person. Removing
|
|
166
|
+
never deletes; a restore is refused (409) when a live song now holds the same title and artist or
|
|
167
|
+
tunecode, or when the record was merged into another.
|
|
168
|
+
- `pica_people_delete` takes `move_to`: the live person a removed person's credits belong to. The
|
|
169
|
+
agent asks the user; it never picks `move_to` itself.
|
|
170
|
+
|
|
171
|
+
### Changed
|
|
172
|
+
|
|
173
|
+
- `pica_catalog_health`: completeness is described as the share of songs that are complete, with
|
|
174
|
+
recordings missing fields as their own item.
|
|
175
|
+
- `pica_catalog_health` returns `recordings` — each kind of recording (`released_master`,
|
|
176
|
+
`unreleased_master`, `demo`, `alternate`, `video`) with its total and how many are missing
|
|
177
|
+
fields — and one `missing_recording_fields` item per kind, each carrying `recordingKind`. A
|
|
178
|
+
master counts as released only when it is on a release. Against an older app `recordings` is
|
|
179
|
+
absent and there is one item for all recordings.
|
|
180
|
+
- `pica_works_query`: `missing_field_count` is described as a gap count for sorting (still without
|
|
181
|
+
the MusicBrainz benchmark), not "complete".
|
|
182
|
+
- `pica_works_delete` and `pica_works_bulk_delete` say what removal does: the song is hidden from
|
|
183
|
+
the catalogue, share links and public page, everything it carries is kept, and it can be brought
|
|
184
|
+
back from "removed". They no longer call it permanent.
|
|
185
|
+
- `pica_integrity_waive`: a field marked not applicable is credited in the work's completeness, not
|
|
186
|
+
dropped from it.
|
|
187
|
+
- `pica_collaborators_invite_revoke` can withdraw a **disputed** invite too (the person said
|
|
188
|
+
the credit is wrong). That closes the dispute in the bell, "needs you" and the song's
|
|
189
|
+
writers table, for a "not me" or a credit the user stands by. Needs the web app with the
|
|
190
|
+
same change; against an older app the call is refused `INVITE_NOT_PENDING` as before.
|
|
191
|
+
|
|
14
192
|
## [2.109.0] - 2026-10-19
|
|
15
193
|
|
|
16
194
|
> **Publish order:** `@withpica/mcp-sdk` 3.28.0 (`feedback.list`), then this package. Needs the
|
package/README.intro.md
CHANGED
|
@@ -100,7 +100,7 @@ Every entry is published deliberately by its rights holder, with attested credit
|
|
|
100
100
|
- `GET https://withpica.com/api/public/directory/recordings`
|
|
101
101
|
- `GET https://withpica.com/api/public/directory/consent?iswc={iswc}`
|
|
102
102
|
|
|
103
|
-
100 requests/minute
|
|
103
|
+
100 requests/minute per IP. No key or sign-in is needed.
|
|
104
104
|
|
|
105
105
|
## Before you train on any of this
|
|
106
106
|
|
package/README.md
CHANGED
|
@@ -65,15 +65,15 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
|
|
|
65
65
|
|
|
66
66
|
## Tools
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
374 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
|
|
|
72
|
-
`pica_works_query`, `pica_works_inspect`, `pica_works_create`, `pica_register_set`, `pica_works_update`, `pica_works_delete`, `pica_works_bulk_delete`, `pica_works_bulk_update`, `pica_works_bulk_link_artist`, `pica_works_bulk_add_collaborator`, `pica_work_writers_add`, `pica_topics_untagged`, `pica_topics_inspect`, `pica_topics_propose`, `pica_topics_review`, `pica_works_bulk_copy_credits`, `pica_works_bulk_move_to_performances`, `pica_works_verify`, `pica_works_verify_registrations`, `pica_works_attest`, `pica_catalog_diligence`
|
|
72
|
+
`pica_works_query`, `pica_works_inspect`, `pica_works_create`, `pica_register_set`, `pica_works_update`, `pica_works_delete`, `pica_works_restore`, `pica_removed_list`, `pica_works_bulk_delete`, `pica_works_bulk_update`, `pica_works_bulk_link_artist`, `pica_works_bulk_add_collaborator`, `pica_work_writers_add`, `pica_topics_untagged`, `pica_topics_inspect`, `pica_topics_propose`, `pica_topics_review`, `pica_works_bulk_copy_credits`, `pica_works_bulk_move_to_performances`, `pica_works_verify`, `pica_works_verify_registrations`, `pica_works_attest`, `pica_catalog_diligence`
|
|
73
73
|
|
|
74
74
|
**people** — manage people in your catalog
|
|
75
75
|
|
|
76
|
-
`pica_people_query`, `pica_people_inspect`, `pica_people_create`, `pica_people_update`, `pica_people_delete`, `pica_people_bulk_delete`, `pica_people_split_identity`, `pica_people_bulk_update_roles`, `pica_people_bulk_add_tags`, `pica_group_add_member`, `pica_group_remove_member`, `pica_group_list_members`, `pica_person_list_groups`, `pica_artist_projects`, `pica_profile_claims_invite`, `pica_profile_claims_status`
|
|
76
|
+
`pica_people_query`, `pica_people_inspect`, `pica_people_create`, `pica_people_update`, `pica_people_delete`, `pica_people_restore`, `pica_people_bulk_delete`, `pica_people_split_identity`, `pica_people_bulk_update_roles`, `pica_people_bulk_add_tags`, `pica_group_add_member`, `pica_group_remove_member`, `pica_group_list_members`, `pica_person_list_groups`, `pica_artist_projects`, `pica_profile_claims_invite`, `pica_profile_claims_status`
|
|
77
77
|
|
|
78
78
|
**groups** — manage group → member relationships on people
|
|
79
79
|
|
|
@@ -89,7 +89,7 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
|
|
|
89
89
|
|
|
90
90
|
**sharing** — explain why a user or org can see a work, recording, or person — surfaces the chain of reasons (org membership, custody chain, share links, cross-org grants); send works to named recipients via withPICA-branded email
|
|
91
91
|
|
|
92
|
-
`pica_share_trace`, `pica_share_send`
|
|
92
|
+
`pica_share_trace`, `pica_works_access_query`, `pica_works_access_remove`, `pica_share_send`
|
|
93
93
|
|
|
94
94
|
**explainability** — explain dashboard / briefing count discrepancies — when a number doesn't match what the user sees elsewhere
|
|
95
95
|
|
|
@@ -197,7 +197,7 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
|
|
|
197
197
|
|
|
198
198
|
**profile** — manage your user, organisation, and directory profile
|
|
199
199
|
|
|
200
|
-
`pica_user_profile`, `pica_organisation_profile`, `pica_directory_settings`, `pica_update_my_identity`, `pica_update_organisation_profile`, `pica_users_get_my_profile`, `pica_users_set_handle`, `pica_users_clear_handle`, `pica_users_set_bio`, `pica_users_set_avatar_url`, `
|
|
200
|
+
`pica_user_profile`, `pica_organisation_profile`, `pica_directory_settings`, `pica_update_my_identity`, `pica_update_organisation_profile`, `pica_users_get_my_profile`, `pica_users_set_handle`, `pica_users_clear_handle`, `pica_users_set_bio`, `pica_users_set_avatar_url`, `pica_users_find_by_handle`
|
|
201
201
|
|
|
202
202
|
**privacy** — self-service privacy & account controls — read/update marketing opt-ins, request GDPR data export, delete your account
|
|
203
203
|
|
|
@@ -297,4 +297,4 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
|
|
|
297
297
|
|
|
298
298
|
---
|
|
299
299
|
|
|
300
|
-
Generated for `@withpica/mcp-server@2.
|
|
300
|
+
Generated for `@withpica/mcp-server@2.111.0`. © 2024-2026 Withpica Ltd. All rights reserved. MIT licensed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/apps/shared.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,YAAY,wlsGA+LxB,CAAC;AAMF,eAAO,MAAM,WAAW,+iDA8CvB,CAAC;AAcF,eAAO,MAAM,sBAAsB,g6IA4JlC,CAAC;AAMF,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,MAAM,CAiBR;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/apps/shared.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,YAAY,wlsGA+LxB,CAAC;AAMF,eAAO,MAAM,WAAW,+iDA8CvB,CAAC;AAcF,eAAO,MAAM,sBAAsB,g6IA4JlC,CAAC;AAMF,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,MAAM,CAiBR;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,EAAE,MAAM,EAyChD,CAAC"}
|
package/dist/apps/shared.js
CHANGED
|
@@ -444,10 +444,14 @@ ${bodyHtml}
|
|
|
444
444
|
* Users on unlisted endpoints see a graceful "use web dashboard" fallback.
|
|
445
445
|
*/
|
|
446
446
|
export const PICA_STORAGE_CONNECT_DOMAINS = [
|
|
447
|
-
// PICA
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
447
|
+
// PICA's default production buckets (storage-provider-helper.ts
|
|
448
|
+
// getDefaultBuckets) at region eu-north-1; staging's own buckets are
|
|
449
|
+
// covered by the eu-north-1 wildcard below. Until
|
|
450
|
+
// 2026-10-27 these named `withpica-media-production`, a bucket PICA does
|
|
451
|
+
// not use, so a host that ignores the wildcards below refused PICA uploads.
|
|
452
|
+
"https://withpica-media-production-eu.s3.eu-north-1.amazonaws.com",
|
|
453
|
+
"https://withpica-audio-production-eu.s3.eu-north-1.amazonaws.com",
|
|
454
|
+
"https://withpica-documents-production-eu.s3.eu-north-1.amazonaws.com",
|
|
451
455
|
// AWS S3 BYOC — common region endpoints (virtual-hosted style)
|
|
452
456
|
"https://*.s3.amazonaws.com",
|
|
453
457
|
"https://*.s3.us-east-1.amazonaws.com",
|
package/dist/apps/shared.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/apps/shared.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAE7D,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,EAC9B,uBAAuB,EACvB,aAAa,GACd,MAAM,8BAA8B,CAAC;AAEtC,8EAA8E;AAC9E,kEAAkE;AAClE,8EAA8E;AAE9E,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;qCAMS,+BAA+B;;;;;;qCAM/B,8BAA8B;;;;;;qCAM9B,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6K3D,CAAC;AAEF,8EAA8E;AAC9E,kDAAkD;AAClD,8EAA8E;AAE9E,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8C1B,CAAC;AAEF,8EAA8E;AAC9E,0EAA0E;AAC1E,2EAA2E;AAC3E,+EAA+E;AAC/E,EAAE;AACF,oFAAoF;AACpF,yFAAyF;AACzF,sEAAsE;AACtE,EAAE;AACF,kFAAkF;AAClF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4JrC,CAAC;AAEF,8EAA8E;AAC9E,sDAAsD;AACtD,8EAA8E;AAE9E,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,QAAgB,EAChB,KAAa;IAEb,OAAO;;;;;WAKE,KAAK;WACL,YAAY;;;EAGrB,QAAQ;UACA,aAAa;UACb,WAAW;UACX,sBAAsB;UACtB,KAAK;;QAEP,CAAC;AACT,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAa;IACpD,
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/apps/shared.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAE7D,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,EAC9B,uBAAuB,EACvB,aAAa,GACd,MAAM,8BAA8B,CAAC;AAEtC,8EAA8E;AAC9E,kEAAkE;AAClE,8EAA8E;AAE9E,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;qCAMS,+BAA+B;;;;;;qCAM/B,8BAA8B;;;;;;qCAM9B,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6K3D,CAAC;AAEF,8EAA8E;AAC9E,kDAAkD;AAClD,8EAA8E;AAE9E,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8C1B,CAAC;AAEF,8EAA8E;AAC9E,0EAA0E;AAC1E,2EAA2E;AAC3E,+EAA+E;AAC/E,EAAE;AACF,oFAAoF;AACpF,yFAAyF;AACzF,sEAAsE;AACtE,EAAE;AACF,kFAAkF;AAClF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4JrC,CAAC;AAEF,8EAA8E;AAC9E,sDAAsD;AACtD,8EAA8E;AAE9E,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,QAAgB,EAChB,KAAa;IAEb,OAAO;;;;;WAKE,KAAK;WACL,YAAY;;;EAGrB,QAAQ;UACA,aAAa;UACb,WAAW;UACX,sBAAsB;UACtB,KAAK;;QAEP,CAAC;AACT,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAa;IACpD,gEAAgE;IAChE,qEAAqE;IACrE,kDAAkD;IAClD,yEAAyE;IACzE,4EAA4E;IAC5E,kEAAkE;IAClE,kEAAkE;IAClE,sEAAsE;IAEtE,+DAA+D;IAC/D,4BAA4B;IAC5B,sCAAsC;IACtC,sCAAsC;IACtC,sCAAsC;IACtC,sCAAsC;IACtC,sCAAsC;IACtC,sCAAsC;IACtC,yCAAyC;IACzC,uCAAuC;IACvC,2CAA2C;IAC3C,2CAA2C;IAC3C,2CAA2C;IAE3C,gBAAgB;IAChB,oCAAoC;IAEpC,SAAS;IACT,0BAA0B;IAC1B,oCAAoC;IACpC,oCAAoC;IACpC,oCAAoC;IACpC,uCAAuC;IACvC,yCAAyC;IAEzC,6BAA6B;IAC7B,wCAAwC;IACxC,wCAAwC;IACxC,wCAAwC;IACxC,wCAAwC;IACxC,2CAA2C;CAC5C,CAAC"}
|