@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.
Files changed (97) hide show
  1. package/CHANGELOG.md +178 -0
  2. package/README.intro.md +1 -1
  3. package/README.md +6 -6
  4. package/dist/apps/shared.d.ts.map +1 -1
  5. package/dist/apps/shared.js +8 -4
  6. package/dist/apps/shared.js.map +1 -1
  7. package/dist/lib/changelog.generated.d.ts +2 -2
  8. package/dist/lib/changelog.generated.d.ts.map +1 -1
  9. package/dist/lib/changelog.generated.js +2 -2
  10. package/dist/lib/changelog.generated.js.map +1 -1
  11. package/dist/prompts/creator-question-atlas.d.ts.map +1 -1
  12. package/dist/prompts/creator-question-atlas.js +11 -0
  13. package/dist/prompts/creator-question-atlas.js.map +1 -1
  14. package/dist/resources/agent-guide.d.ts.map +1 -1
  15. package/dist/resources/agent-guide.js +6 -4
  16. package/dist/resources/agent-guide.js.map +1 -1
  17. package/dist/resources/required-schemas.generated.d.ts +3 -3
  18. package/dist/resources/required-schemas.generated.d.ts.map +1 -1
  19. package/dist/resources/required-schemas.generated.js +3 -2
  20. package/dist/resources/required-schemas.generated.js.map +1 -1
  21. package/dist/resources/required-schemas.source.js +2 -2
  22. package/dist/resources/required-schemas.source.js.map +1 -1
  23. package/dist/tools/access-simulate.d.ts.map +1 -1
  24. package/dist/tools/access-simulate.js +14 -5
  25. package/dist/tools/access-simulate.js.map +1 -1
  26. package/dist/tools/agreements.d.ts.map +1 -1
  27. package/dist/tools/agreements.js +3 -0
  28. package/dist/tools/agreements.js.map +1 -1
  29. package/dist/tools/audio-files.d.ts.map +1 -1
  30. package/dist/tools/audio-files.js +67 -7
  31. package/dist/tools/audio-files.js.map +1 -1
  32. package/dist/tools/credits.d.ts.map +1 -1
  33. package/dist/tools/credits.js +4 -0
  34. package/dist/tools/credits.js.map +1 -1
  35. package/dist/tools/dashboard.d.ts.map +1 -1
  36. package/dist/tools/dashboard.js +9 -2
  37. package/dist/tools/dashboard.js.map +1 -1
  38. package/dist/tools/deprecations.d.ts.map +1 -1
  39. package/dist/tools/deprecations.js +7 -0
  40. package/dist/tools/deprecations.js.map +1 -1
  41. package/dist/tools/discovery.d.ts.map +1 -1
  42. package/dist/tools/discovery.js +6 -1
  43. package/dist/tools/discovery.js.map +1 -1
  44. package/dist/tools/documents.d.ts.map +1 -1
  45. package/dist/tools/documents.js +3 -1
  46. package/dist/tools/documents.js.map +1 -1
  47. package/dist/tools/enrichment.js +1 -1
  48. package/dist/tools/enrichment.js.map +1 -1
  49. package/dist/tools/gap-hints.d.ts.map +1 -1
  50. package/dist/tools/gap-hints.js +21 -21
  51. package/dist/tools/gap-hints.js.map +1 -1
  52. package/dist/tools/index.d.ts.map +1 -1
  53. package/dist/tools/index.js +15 -8
  54. package/dist/tools/index.js.map +1 -1
  55. package/dist/tools/integrity.d.ts.map +1 -1
  56. package/dist/tools/integrity.js +4 -2
  57. package/dist/tools/integrity.js.map +1 -1
  58. package/dist/tools/metadata.d.ts.map +1 -1
  59. package/dist/tools/metadata.js +31 -6
  60. package/dist/tools/metadata.js.map +1 -1
  61. package/dist/tools/people.d.ts +1 -0
  62. package/dist/tools/people.d.ts.map +1 -1
  63. package/dist/tools/people.js +77 -7
  64. package/dist/tools/people.js.map +1 -1
  65. package/dist/tools/recordings.d.ts.map +1 -1
  66. package/dist/tools/recordings.js +27 -4
  67. package/dist/tools/recordings.js.map +1 -1
  68. package/dist/tools/recovery-hints.d.ts.map +1 -1
  69. package/dist/tools/recovery-hints.js +55 -15
  70. package/dist/tools/recovery-hints.js.map +1 -1
  71. package/dist/tools/share-links.d.ts.map +1 -1
  72. package/dist/tools/share-links.js +22 -13
  73. package/dist/tools/share-links.js.map +1 -1
  74. package/dist/tools/share-send.d.ts.map +1 -1
  75. package/dist/tools/share-send.js +25 -5
  76. package/dist/tools/share-send.js.map +1 -1
  77. package/dist/tools/sharing.d.ts +1 -1
  78. package/dist/tools/sharing.d.ts.map +1 -1
  79. package/dist/tools/sharing.js +2 -0
  80. package/dist/tools/sharing.js.map +1 -1
  81. package/dist/tools/signed-split-sheet-preview.d.ts +5 -5
  82. package/dist/tools/signed-split-sheet-preview.js +6 -6
  83. package/dist/tools/signed-split-sheet-preview.js.map +1 -1
  84. package/dist/tools/song-access.d.ts +45 -0
  85. package/dist/tools/song-access.d.ts.map +1 -0
  86. package/dist/tools/song-access.js +184 -0
  87. package/dist/tools/song-access.js.map +1 -0
  88. package/dist/tools/users.d.ts +6 -4
  89. package/dist/tools/users.d.ts.map +1 -1
  90. package/dist/tools/users.js +28 -37
  91. package/dist/tools/users.js.map +1 -1
  92. package/dist/tools/works.d.ts +2 -0
  93. package/dist/tools/works.d.ts.map +1 -1
  94. package/dist/tools/works.js +137 -17
  95. package/dist/tools/works.js.map +1 -1
  96. package/package.json +4 -4
  97. 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 unauthenticated. Licensing keys unlock extended fields and their own limits.
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
- 370 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.
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`, `pica_users_import_bio_from_person`, `pica_users_find_by_handle`
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.109.0`. © 2024-2026 Withpica Ltd. All rights reserved. MIT licensed.
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,EAqChD,CAAC"}
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"}
@@ -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-hosted media bucket
448
- "https://withpica-media-production.s3.amazonaws.com",
449
- "https://withpica-media-production.s3.us-east-1.amazonaws.com",
450
- "https://withpica-media-production.s3.eu-north-1.amazonaws.com",
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",
@@ -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,2BAA2B;IAC3B,oDAAoD;IACpD,8DAA8D;IAC9D,+DAA+D;IAE/D,+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"}
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"}