@withpica/mcp-server 2.102.0 → 2.104.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 (213) hide show
  1. package/CHANGELOG.md +114 -0
  2. package/README.md +10 -6
  3. package/dist/lib/changelog.generated.d.ts +2 -2
  4. package/dist/lib/changelog.generated.d.ts.map +1 -1
  5. package/dist/lib/changelog.generated.js +2 -2
  6. package/dist/lib/changelog.generated.js.map +1 -1
  7. package/dist/resources/index.d.ts.map +1 -1
  8. package/dist/resources/index.js +28 -1
  9. package/dist/resources/index.js.map +1 -1
  10. package/dist/resources/required-schemas.generated.d.ts +77 -0
  11. package/dist/resources/required-schemas.generated.d.ts.map +1 -1
  12. package/dist/resources/required-schemas.generated.js +114 -0
  13. package/dist/resources/required-schemas.generated.js.map +1 -1
  14. package/dist/resources/required-schemas.source.d.ts.map +1 -1
  15. package/dist/resources/required-schemas.source.js +85 -0
  16. package/dist/resources/required-schemas.source.js.map +1 -1
  17. package/dist/server-instructions.d.ts +2 -2
  18. package/dist/server-instructions.d.ts.map +1 -1
  19. package/dist/server-instructions.js +2 -0
  20. package/dist/server-instructions.js.map +1 -1
  21. package/dist/skills/skills.generated.d.ts.map +1 -1
  22. package/dist/skills/skills.generated.js +36 -3
  23. package/dist/skills/skills.generated.js.map +1 -1
  24. package/dist/tools/agent-hygiene.d.ts.map +1 -1
  25. package/dist/tools/agent-hygiene.js +2 -0
  26. package/dist/tools/agent-hygiene.js.map +1 -1
  27. package/dist/tools/agreement-types.d.ts.map +1 -1
  28. package/dist/tools/agreement-types.js +2 -0
  29. package/dist/tools/agreement-types.js.map +1 -1
  30. package/dist/tools/agreements.d.ts.map +1 -1
  31. package/dist/tools/agreements.js +9 -2
  32. package/dist/tools/agreements.js.map +1 -1
  33. package/dist/tools/assets.d.ts.map +1 -1
  34. package/dist/tools/assets.js +2 -0
  35. package/dist/tools/assets.js.map +1 -1
  36. package/dist/tools/audio-files.d.ts.map +1 -1
  37. package/dist/tools/audio-files.js +12 -8
  38. package/dist/tools/audio-files.js.map +1 -1
  39. package/dist/tools/audit.d.ts.map +1 -1
  40. package/dist/tools/audit.js +2 -0
  41. package/dist/tools/audit.js.map +1 -1
  42. package/dist/tools/auth.d.ts.map +1 -1
  43. package/dist/tools/auth.js +2 -0
  44. package/dist/tools/auth.js.map +1 -1
  45. package/dist/tools/bookings.d.ts.map +1 -1
  46. package/dist/tools/bookings.js +8 -4
  47. package/dist/tools/bookings.js.map +1 -1
  48. package/dist/tools/catalogue-argument.d.ts +76 -0
  49. package/dist/tools/catalogue-argument.d.ts.map +1 -0
  50. package/dist/tools/catalogue-argument.js +114 -0
  51. package/dist/tools/catalogue-argument.js.map +1 -0
  52. package/dist/tools/collaborations.d.ts.map +1 -1
  53. package/dist/tools/collaborations.js +2 -0
  54. package/dist/tools/collaborations.js.map +1 -1
  55. package/dist/tools/collaborators.d.ts.map +1 -1
  56. package/dist/tools/collaborators.js +33 -6
  57. package/dist/tools/collaborators.js.map +1 -1
  58. package/dist/tools/consent.d.ts.map +1 -1
  59. package/dist/tools/consent.js +5 -1
  60. package/dist/tools/consent.js.map +1 -1
  61. package/dist/tools/custody.d.ts +2 -2
  62. package/dist/tools/custody.d.ts.map +1 -1
  63. package/dist/tools/custody.js +47 -25
  64. package/dist/tools/custody.js.map +1 -1
  65. package/dist/tools/dashboard.d.ts.map +1 -1
  66. package/dist/tools/dashboard.js +12 -4
  67. package/dist/tools/dashboard.js.map +1 -1
  68. package/dist/tools/directory.d.ts.map +1 -1
  69. package/dist/tools/directory.js +7 -3
  70. package/dist/tools/directory.js.map +1 -1
  71. package/dist/tools/discovery.d.ts.map +1 -1
  72. package/dist/tools/discovery.js +31 -2
  73. package/dist/tools/discovery.js.map +1 -1
  74. package/dist/tools/documents.js +2 -2
  75. package/dist/tools/documents.js.map +1 -1
  76. package/dist/tools/duplicates.d.ts +15 -2
  77. package/dist/tools/duplicates.d.ts.map +1 -1
  78. package/dist/tools/duplicates.js +120 -14
  79. package/dist/tools/duplicates.js.map +1 -1
  80. package/dist/tools/enrichment.d.ts.map +1 -1
  81. package/dist/tools/enrichment.js +24 -32
  82. package/dist/tools/enrichment.js.map +1 -1
  83. package/dist/tools/handovers.d.ts +42 -0
  84. package/dist/tools/handovers.d.ts.map +1 -0
  85. package/dist/tools/handovers.js +302 -0
  86. package/dist/tools/handovers.js.map +1 -0
  87. package/dist/tools/import-documents.d.ts.map +1 -1
  88. package/dist/tools/import-documents.js +4 -0
  89. package/dist/tools/import-documents.js.map +1 -1
  90. package/dist/tools/index.d.ts +14 -1
  91. package/dist/tools/index.d.ts.map +1 -1
  92. package/dist/tools/index.js +102 -4
  93. package/dist/tools/index.js.map +1 -1
  94. package/dist/tools/labels.d.ts.map +1 -1
  95. package/dist/tools/labels.js +18 -2
  96. package/dist/tools/labels.js.map +1 -1
  97. package/dist/tools/licensing.d.ts.map +1 -1
  98. package/dist/tools/licensing.js +13 -6
  99. package/dist/tools/licensing.js.map +1 -1
  100. package/dist/tools/measured-audio.d.ts +32 -0
  101. package/dist/tools/measured-audio.d.ts.map +1 -0
  102. package/dist/tools/measured-audio.js +65 -0
  103. package/dist/tools/measured-audio.js.map +1 -0
  104. package/dist/tools/memory.d.ts.map +1 -1
  105. package/dist/tools/memory.js +2 -0
  106. package/dist/tools/memory.js.map +1 -1
  107. package/dist/tools/metadata.d.ts.map +1 -1
  108. package/dist/tools/metadata.js +115 -0
  109. package/dist/tools/metadata.js.map +1 -1
  110. package/dist/tools/multimedia.d.ts.map +1 -1
  111. package/dist/tools/multimedia.js +2 -0
  112. package/dist/tools/multimedia.js.map +1 -1
  113. package/dist/tools/my-recent-questions.d.ts.map +1 -1
  114. package/dist/tools/my-recent-questions.js +2 -0
  115. package/dist/tools/my-recent-questions.js.map +1 -1
  116. package/dist/tools/my-reported-issues.d.ts.map +1 -1
  117. package/dist/tools/my-reported-issues.js +2 -0
  118. package/dist/tools/my-reported-issues.js.map +1 -1
  119. package/dist/tools/notes.d.ts.map +1 -1
  120. package/dist/tools/notes.js +2 -0
  121. package/dist/tools/notes.js.map +1 -1
  122. package/dist/tools/notifications.d.ts.map +1 -1
  123. package/dist/tools/notifications.js +12 -3
  124. package/dist/tools/notifications.js.map +1 -1
  125. package/dist/tools/party-claims.d.ts.map +1 -1
  126. package/dist/tools/party-claims.js +14 -3
  127. package/dist/tools/party-claims.js.map +1 -1
  128. package/dist/tools/people.d.ts.map +1 -1
  129. package/dist/tools/people.js +58 -47
  130. package/dist/tools/people.js.map +1 -1
  131. package/dist/tools/profile-claims.d.ts +6 -0
  132. package/dist/tools/profile-claims.d.ts.map +1 -1
  133. package/dist/tools/profile-claims.js +7 -0
  134. package/dist/tools/profile-claims.js.map +1 -1
  135. package/dist/tools/projects.d.ts.map +1 -1
  136. package/dist/tools/projects.js +2 -0
  137. package/dist/tools/projects.js.map +1 -1
  138. package/dist/tools/publishers.d.ts.map +1 -1
  139. package/dist/tools/publishers.js +20 -5
  140. package/dist/tools/publishers.js.map +1 -1
  141. package/dist/tools/recordings.d.ts.map +1 -1
  142. package/dist/tools/recordings.js +49 -49
  143. package/dist/tools/recordings.js.map +1 -1
  144. package/dist/tools/recovery-hints.d.ts.map +1 -1
  145. package/dist/tools/recovery-hints.js +143 -0
  146. package/dist/tools/recovery-hints.js.map +1 -1
  147. package/dist/tools/relationship-change.d.ts +16 -0
  148. package/dist/tools/relationship-change.d.ts.map +1 -0
  149. package/dist/tools/relationship-change.js +60 -0
  150. package/dist/tools/relationship-change.js.map +1 -0
  151. package/dist/tools/relationship-copy.d.ts +99 -0
  152. package/dist/tools/relationship-copy.d.ts.map +1 -0
  153. package/dist/tools/relationship-copy.js +213 -0
  154. package/dist/tools/relationship-copy.js.map +1 -0
  155. package/dist/tools/relationship-scope.d.ts +104 -0
  156. package/dist/tools/relationship-scope.d.ts.map +1 -0
  157. package/dist/tools/relationship-scope.js +106 -0
  158. package/dist/tools/relationship-scope.js.map +1 -0
  159. package/dist/tools/relationships.d.ts +64 -0
  160. package/dist/tools/relationships.d.ts.map +1 -0
  161. package/dist/tools/relationships.js +1062 -0
  162. package/dist/tools/relationships.js.map +1 -0
  163. package/dist/tools/release-notes.d.ts.map +1 -1
  164. package/dist/tools/release-notes.js +2 -0
  165. package/dist/tools/release-notes.js.map +1 -1
  166. package/dist/tools/release-rich.d.ts.map +1 -1
  167. package/dist/tools/release-rich.js +4 -6
  168. package/dist/tools/release-rich.js.map +1 -1
  169. package/dist/tools/releases.d.ts.map +1 -1
  170. package/dist/tools/releases.js +16 -11
  171. package/dist/tools/releases.js.map +1 -1
  172. package/dist/tools/royalties.d.ts.map +1 -1
  173. package/dist/tools/royalties.js +10 -0
  174. package/dist/tools/royalties.js.map +1 -1
  175. package/dist/tools/search.d.ts.map +1 -1
  176. package/dist/tools/search.js +2 -0
  177. package/dist/tools/search.js.map +1 -1
  178. package/dist/tools/selections.d.ts.map +1 -1
  179. package/dist/tools/selections.js +4 -0
  180. package/dist/tools/selections.js.map +1 -1
  181. package/dist/tools/send.d.ts.map +1 -1
  182. package/dist/tools/send.js +2 -0
  183. package/dist/tools/send.js.map +1 -1
  184. package/dist/tools/sessions.d.ts.map +1 -1
  185. package/dist/tools/sessions.js +13 -7
  186. package/dist/tools/sessions.js.map +1 -1
  187. package/dist/tools/settings.d.ts.map +1 -1
  188. package/dist/tools/settings.js +4 -1
  189. package/dist/tools/settings.js.map +1 -1
  190. package/dist/tools/statements.d.ts.map +1 -1
  191. package/dist/tools/statements.js +2 -0
  192. package/dist/tools/statements.js.map +1 -1
  193. package/dist/tools/sync-fit.d.ts +27 -0
  194. package/dist/tools/sync-fit.d.ts.map +1 -0
  195. package/dist/tools/sync-fit.js +118 -0
  196. package/dist/tools/sync-fit.js.map +1 -0
  197. package/dist/tools/sync-placements.d.ts.map +1 -1
  198. package/dist/tools/sync-placements.js +2 -0
  199. package/dist/tools/sync-placements.js.map +1 -1
  200. package/dist/tools/users.d.ts.map +1 -1
  201. package/dist/tools/users.js +14 -3
  202. package/dist/tools/users.js.map +1 -1
  203. package/dist/tools/work-themes.d.ts +39 -0
  204. package/dist/tools/work-themes.d.ts.map +1 -0
  205. package/dist/tools/work-themes.js +330 -0
  206. package/dist/tools/work-themes.js.map +1 -0
  207. package/dist/tools/works.d.ts +11 -0
  208. package/dist/tools/works.d.ts.map +1 -1
  209. package/dist/tools/works.js +67 -5
  210. package/dist/tools/works.js.map +1 -1
  211. package/package.json +4 -4
  212. package/scripts/build-required-schemas.ts +6 -4
  213. package/server.json +2 -2
@@ -0,0 +1,302 @@
1
+ // Copyright (c) 2025-2026 Withpica Ltd. All rights reserved.
2
+ /**
3
+ * ADR-333 D5 — building a catalogue for a client and handing it over, for
4
+ * assistants (plan #2808 §10).
5
+ *
6
+ * Organisation side: pica_handover_create, pica_handover_send. Client side:
7
+ * pica_handover_answer, which only says where to answer.
8
+ *
9
+ * Each organisation-side tool calls one /api/admin/handovers route, which
10
+ * holds no rules of its own: lib/services/catalogue-handovers.ts decides
11
+ * every step and refuses with a code and a plain sentence, passed on as is.
12
+ *
13
+ * Sending emails a client and offers them a catalogue, so it is the person's
14
+ * own decision (plan §10, "sending needs a human confirm"):
15
+ * - from a connected app or agent grant, pica_handover_send is
16
+ * `approvalMode: "human"`: the MCP route stages an approval, and on
17
+ * approval lib/services/handover-approvals.ts sends through the service,
18
+ * never this file;
19
+ * - from a credential the route refuses as HUMAN_CONFIRMATION_REQUIRED, the
20
+ * tool gives the screen to send it on.
21
+ *
22
+ * Accepting ownership is a person's own act (Orchestrator ruling 2026-10-12,
23
+ * option A): the client's routes take a signed-in session only, and no key
24
+ * reads them. pica_handover_answer therefore reads nothing and changes
25
+ * nothing; it gives the screen where the person answers.
26
+ */
27
+ import { ApiError } from "@withpica/mcp-sdk";
28
+ import { formatSuccess } from "@withpica/mcp-utils";
29
+ import { typedError } from "./error-envelope.js";
30
+ import { parseApiErrorBody } from "./api-error-body.js";
31
+ import { webOrigin } from "./relationships.js";
32
+ import { HANDOVERS_PATH, NEW_HANDOVER_PATH, handoverPath, } from "./relationship-copy.js";
33
+ const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
34
+ const EMAIL = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
35
+ const NAME_MAX = 200;
36
+ const EMAIL_MAX = 320;
37
+ /** The relationship the organisation keeps once the client accepts. */
38
+ export const HANDOVER_KEPT_TYPES = [
39
+ "administrator",
40
+ "representative",
41
+ "viewer",
42
+ ];
43
+ const HANDOVER_ID = {
44
+ type: "string",
45
+ format: "uuid",
46
+ description: "The hand-over's id (handover_id from pica_handover_create, or from the hand-over's link).",
47
+ };
48
+ function invalid(fields) {
49
+ return typedError("VALIDATION_ERROR", Object.values(fields).join(" "), {
50
+ fields,
51
+ nothing_written: true,
52
+ });
53
+ }
54
+ function text(args, key, max, what) {
55
+ const v = args[key];
56
+ if (typeof v !== "string" || v.trim().length === 0 || v.length > max)
57
+ return invalid({
58
+ [key]: `${key} is required: ${what}, at most ${max} characters.`,
59
+ });
60
+ return v.trim();
61
+ }
62
+ function isResult(v) {
63
+ return typeof v === "object" && v !== null && "content" in v;
64
+ }
65
+ /**
66
+ * A refusal from a hand-over route, as a typed result: the service's code
67
+ * and sentence as they are. HUMAN_CONFIRMATION_REQUIRED becomes the screen
68
+ * to do it on. A network failure or a 5xx is rethrown to the registry.
69
+ */
70
+ function refusal(err, origin, screen) {
71
+ if (!(err instanceof ApiError) || err.status >= 500 || err.status === 0)
72
+ throw err;
73
+ const body = parseApiErrorBody(err);
74
+ const code = (body.code ?? `HTTP_${err.status}`).toUpperCase();
75
+ const message = body.message ?? "PICA refused this.";
76
+ if (code === "HUMAN_CONFIRMATION_REQUIRED") {
77
+ const url = `${origin}${screen.path}`;
78
+ return typedError(code, `Nothing was done: ${screen.doing} needs the person to confirm it themselves in PICA. Give them this link: ${url}`, { screen_url: url, nothing_written: true, retry_safe: false });
79
+ }
80
+ return typedError(code, message, {
81
+ nothing_written: true,
82
+ retry_safe: code === "RATE_LIMITED",
83
+ });
84
+ }
85
+ export class HandoverTools {
86
+ pica;
87
+ origin;
88
+ constructor(pica, apiUrl) {
89
+ this.pica = pica;
90
+ this.origin = webOrigin(apiUrl);
91
+ }
92
+ getTools() {
93
+ return [
94
+ {
95
+ definition: {
96
+ name: "pica_handover_create",
97
+ scope: "write:catalog",
98
+ audiences: ["stdio", "http", "public"],
99
+ tier: "write",
100
+ description: "Use when the user asks: 'set up a catalogue for my client', 'build Alice's catalogue so she can take it over', 'start a hand-over'. " +
101
+ "For an organisation that prepares a catalogue for a client who will own it. Creates the catalogue, with your organisation as its temporary builder; nothing is sent and nobody is emailed. " +
102
+ "While it is being prepared you can enter facts, but nothing can be published, agreed or signed in your organisation's favour. " +
103
+ "relationship_type is what your organisation keeps once the client accepts. " +
104
+ "To send again on a catalogue whose last hand-over was declined, expired or withdrawn, pass catalogue_org_id instead of catalogue_name. " +
105
+ "When it is ready, send it with pica_handover_send.",
106
+ workflows: "handover-required",
107
+ vernacular_kind: "specialist",
108
+ vernacular_reason: "Creates a catalogue owned by no one yet, for a named client; used by organisations that build catalogues for clients, by exact name.",
109
+ inputSchema: {
110
+ type: "object",
111
+ properties: {
112
+ catalogue_name: {
113
+ type: "string",
114
+ maxLength: NAME_MAX,
115
+ description: "The new catalogue's name, usually the client's name as they'd want to see it. Give this or catalogue_org_id, not both.",
116
+ },
117
+ catalogue_org_id: {
118
+ type: "string",
119
+ format: "uuid",
120
+ description: "Instead of catalogue_name: a catalogue your organisation built whose last hand-over was declined, expired or withdrawn, to send again.",
121
+ },
122
+ client_name: {
123
+ type: "string",
124
+ maxLength: NAME_MAX,
125
+ description: "The client's name.",
126
+ },
127
+ client_email: {
128
+ type: "string",
129
+ format: "email",
130
+ maxLength: EMAIL_MAX,
131
+ description: "The client's email. They accept by signing in to PICA with this address, once it is confirmed.",
132
+ },
133
+ relationship_type: {
134
+ type: "string",
135
+ enum: [...HANDOVER_KEPT_TYPES],
136
+ description: "What your organisation keeps once they accept. administrator: keeps the details up to date and registers songs; split and custody changes need the owner's yes. representative: sees the catalogue and suggests changes the owner approves. viewer: sees it, nothing more.",
137
+ },
138
+ },
139
+ required: ["client_name", "client_email", "relationship_type"],
140
+ },
141
+ requiredOneOf: [["catalogue_name", "catalogue_org_id"]],
142
+ },
143
+ executor: this.create.bind(this),
144
+ },
145
+ {
146
+ definition: {
147
+ name: "pica_handover_send",
148
+ scope: "write:catalog",
149
+ audiences: ["stdio", "http", "public"],
150
+ tier: "write",
151
+ approvalMode: "human",
152
+ description: "Send a catalogue your organisation prepared to its client, who then has 60 days to accept and become its owner. " +
153
+ "It emails the client at the address given to pica_handover_create. You can withdraw it on screen until they answer. " +
154
+ "Pass handover_id, and expected_version if you have it; if the hand-over changed since, nothing is sent. " +
155
+ "From a connected app this asks the person to approve first; otherwise, when PICA needs the person to confirm, it gives the link to send it on screen.",
156
+ workflows: "handover-required",
157
+ vernacular_kind: "specialist",
158
+ vernacular_reason: "Emails a client and offers them ownership of a catalogue; the organisation's own decision, invoked by exact name.",
159
+ inputSchema: {
160
+ type: "object",
161
+ properties: {
162
+ handover_id: HANDOVER_ID,
163
+ expected_version: {
164
+ type: "integer",
165
+ minimum: 1,
166
+ description: "Optional. The hand-over's version as you last read it. If it changed since, nothing is sent.",
167
+ },
168
+ },
169
+ required: ["handover_id"],
170
+ },
171
+ },
172
+ executor: this.send.bind(this),
173
+ },
174
+ {
175
+ definition: {
176
+ name: "pica_handover_answer",
177
+ scope: "read:catalog",
178
+ audiences: ["stdio", "http", "public"],
179
+ tier: "read",
180
+ description: "Use when the user asks: 'someone prepared a catalogue for me, how do I take it over?', 'I got an email to accept my catalogue', 'how do I accept my catalogue?'. " +
181
+ "Shows where to accept a catalogue prepared for you. It does not accept or decline, and it reads nothing. " +
182
+ "Accepting ownership is the person's own act: they sign in with the address it was sent to, keep or remove each item that names the organisation that built it, then accept or decline. " +
183
+ "Give handover_id from the email's link to point at that one; without it, the link lists everything waiting for them. " +
184
+ "For an organisation preparing one, use pica_handover_create.",
185
+ workflows: "handover-required",
186
+ vernacular_kind: "creator-entry",
187
+ inputSchema: {
188
+ type: "object",
189
+ properties: {
190
+ handover_id: {
191
+ ...HANDOVER_ID,
192
+ description: "Optional. The hand-over's id, from the link in the email they received.",
193
+ },
194
+ },
195
+ required: [],
196
+ },
197
+ },
198
+ executor: this.answer.bind(this),
199
+ },
200
+ ];
201
+ }
202
+ async create(args) {
203
+ const named = args.catalogue_name !== undefined;
204
+ const reissue = args.catalogue_org_id !== undefined;
205
+ if (named === reissue)
206
+ return invalid({
207
+ catalogue_name: "Give catalogue_name for a new catalogue, or catalogue_org_id to send one again; not both.",
208
+ });
209
+ let catalogue;
210
+ if (reissue) {
211
+ if (typeof args.catalogue_org_id !== "string" ||
212
+ !UUID.test(args.catalogue_org_id))
213
+ return invalid({
214
+ catalogue_org_id: "catalogue_org_id must be a catalogue's id.",
215
+ });
216
+ catalogue = { catalogue_org_id: args.catalogue_org_id };
217
+ }
218
+ else {
219
+ const name = text(args, "catalogue_name", NAME_MAX, "the catalogue's name");
220
+ if (isResult(name))
221
+ return name;
222
+ catalogue = { catalogue_name: name };
223
+ }
224
+ const clientName = text(args, "client_name", NAME_MAX, "the client's name");
225
+ if (isResult(clientName))
226
+ return clientName;
227
+ const clientEmail = text(args, "client_email", EMAIL_MAX, "the client's email");
228
+ if (isResult(clientEmail))
229
+ return clientEmail;
230
+ if (!EMAIL.test(clientEmail))
231
+ return invalid({ client_email: "client_email is not an email address." });
232
+ const type = args.relationship_type;
233
+ if (!HANDOVER_KEPT_TYPES.includes(type))
234
+ return invalid({
235
+ relationship_type: `relationship_type must be one of: ${HANDOVER_KEPT_TYPES.join(", ")}.`,
236
+ });
237
+ let created;
238
+ try {
239
+ created = await this.pica.handovers.create({
240
+ ...catalogue,
241
+ client_name: clientName,
242
+ client_email: clientEmail,
243
+ relationship_type: type,
244
+ });
245
+ }
246
+ catch (err) {
247
+ return refusal(err, this.origin, {
248
+ path: NEW_HANDOVER_PATH,
249
+ doing: "preparing a catalogue for a client",
250
+ });
251
+ }
252
+ const url = `${this.origin}${handoverPath(created.handover_id)}`;
253
+ return formatSuccess(`Prepared a catalogue for ${clientName}. Nothing has been sent. When it's ready, send it with pica_handover_send; the person can also review and send it here: ${url}`, {
254
+ handover_id: created.handover_id,
255
+ catalogue_org_id: created.catalogue_org_id,
256
+ status: "building",
257
+ screen_url: url,
258
+ });
259
+ }
260
+ async send(args) {
261
+ const id = args.handover_id;
262
+ if (typeof id !== "string" || !UUID.test(id))
263
+ return invalid({
264
+ handover_id: "handover_id must be a hand-over's id.",
265
+ });
266
+ const v = args.expected_version;
267
+ if (v !== undefined &&
268
+ (typeof v !== "number" || !Number.isInteger(v) || v < 1))
269
+ return invalid({
270
+ expected_version: "expected_version must be a whole number from 1.",
271
+ });
272
+ let sent;
273
+ try {
274
+ sent = await this.pica.handovers.send(id, v === undefined ? {} : { expected_version: v });
275
+ }
276
+ catch (err) {
277
+ return refusal(err, this.origin, {
278
+ path: handoverPath(id),
279
+ doing: "sending a hand-over",
280
+ });
281
+ }
282
+ const url = `${this.origin}${handoverPath(id)}`;
283
+ return formatSuccess(`Sent to ${sent.client_name}. They have until ${sent.expires_at?.slice(0, 10) ?? "the deadline"} to accept. Withdraw it here until they answer: ${url}`, {
284
+ handover_id: sent.handover_id,
285
+ status: sent.status,
286
+ sent_at: sent.sent_at,
287
+ expires_at: sent.expires_at,
288
+ version: sent.version,
289
+ screen_url: url,
290
+ });
291
+ }
292
+ async answer(args) {
293
+ const id = args.handover_id;
294
+ if (id !== undefined && (typeof id !== "string" || !UUID.test(id)))
295
+ return invalid({
296
+ handover_id: "handover_id must be the id from the hand-over's link.",
297
+ });
298
+ const url = `${this.origin}${id ? handoverPath(id) : HANDOVERS_PATH}`;
299
+ return formatSuccess(`Nothing was accepted or declined: that's done by the person, signed in to PICA with the address it was sent to. Give them this link: ${url}`, { screen_url: url, nothing_written: true });
300
+ }
301
+ }
302
+ //# sourceMappingURL=handovers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handovers.js","sourceRoot":"","sources":["../../src/tools/handovers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"import-documents.d.ts","sourceRoot":"","sources":["../../src/tools/import-documents.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAGtE,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B;;OAEG;IACH,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YA0J3D,oBAAoB;YAOpB,qBAAqB;YA+DrB,oBAAoB;YA2CpB,eAAe;IAgB7B,OAAO,CAAC,WAAW;CAyDpB"}
1
+ {"version":3,"file":"import-documents.d.ts","sourceRoot":"","sources":["../../src/tools/import-documents.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAGtE,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B;;OAEG;IACH,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YA8J3D,oBAAoB;YAOpB,qBAAqB;YA+DrB,oBAAoB;YA2CpB,eAAe;IAgB7B,OAAO,CAAC,WAAW;CAyDpB"}
@@ -37,6 +37,8 @@ export class ImportDocumentTools {
37
37
  },
38
38
  limit: {
39
39
  type: "number",
40
+ minimum: 1,
41
+ maximum: 50,
40
42
  description: "Maximum number of results to return (default: 50)",
41
43
  },
42
44
  },
@@ -105,6 +107,8 @@ export class ImportDocumentTools {
105
107
  },
106
108
  limit: {
107
109
  type: "number",
110
+ minimum: 1,
111
+ maximum: 50,
108
112
  description: "How many emails to list (1-50, default 20). Ignored when id is given.",
109
113
  },
110
114
  offset: {
@@ -1 +1 @@
1
- {"version":3,"file":"import-documents.js","sourceRoot":"","sources":["../../src/tools/import-documents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-documents.js","sourceRoot":"","sources":["../../src/tools/import-documents.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@ export interface NextStepHint {
46
46
  * Optional in W1; W4 flips it to required after W2's resource registry
47
47
  * lands so every tool is forced to declare its workflow at compile time.
48
48
  */
49
- export type WorkflowTag = "work-required" | "recording-required" | "work-credits-required" | "recording-credits-required" | "person-required" | "audio-upload-required" | "enrichment-resolve-required" | "agreement-required" | "multimedia-required" | "export-required" | "claim-required" | "session-required" | "split-sheet-required" | "recording-splits-required" | "sync-placement-required" | "infrastructure";
49
+ export type WorkflowTag = "work-required" | "recording-required" | "work-credits-required" | "recording-credits-required" | "person-required" | "audio-upload-required" | "enrichment-resolve-required" | "agreement-required" | "multimedia-required" | "export-required" | "claim-required" | "session-required" | "split-sheet-required" | "recording-splits-required" | "sync-placement-required" | "relationship-required" | "handover-required" | "infrastructure";
50
50
  /**
51
51
  * ADR-226 Decision 2 — vernacular intent posture for every tool.
52
52
  *
@@ -422,6 +422,14 @@ export declare const _internal: {
422
422
  * on an already-PICA-managed org is a no-op". The author knows; the
423
423
  * heuristic does not.
424
424
  *
425
+ * `title` does not describe authority either: a declared `annotations.title`
426
+ * wins, then `TOOL_METADATA.display_name`. Before 2026-10-08 the declaration
427
+ * was discarded, and sign_in/out declared none, so all five tools on the
428
+ * layered surface (the only tools a connector lists) advertised their raw
429
+ * names as titles. `src/__tests__/tools/tool-titles.test.ts` fails a tool
430
+ * with neither, and a catalog tool whose declared title disagrees with its
431
+ * display_name (pica_tool_details shows both).
432
+ *
425
433
  * `annotationOverrides` still merges last, so it beats all of the above.
426
434
  *
427
435
  * Agreement between the two surfaces is pinned by "listTools() and
@@ -598,6 +606,11 @@ export declare class ToolRegistry {
598
606
  * mutable state that would race between concurrent requests.
599
607
  */
600
608
  executeTool(name: string, args: Record<string, any>, ctx?: ToolExecutorContext): Promise<any>;
609
+ /**
610
+ * `executeTool` after the catalogue is settled. `args` are the arguments as
611
+ * called (gates, tokens, audit); `executorArgs` are what the tool receives.
612
+ */
613
+ private executeToolInCatalogue;
601
614
  }
602
615
  export {};
603
616
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  // Copyright (c) 2025-2026 Withpica Ltd. All rights reserved.
2
+ import { currentCatalogue, runInCatalogue, } from "@withpica/mcp-sdk";
3
+ import { CATALOGUE_ARG, CATALOGUE_PROPERTY, catalogueRefusal, settleCatalogueAnswer, takesCatalogue, } from "./catalogue-argument.js";
2
4
  import { WorksTools } from "./works.js";
3
5
  import { PeopleTools } from "./people.js";
4
6
  import { ApprovalsTools } from "./approvals.js";
@@ -56,6 +58,8 @@ import { MyRecentQuestionsTools } from "./my-recent-questions.js";
56
58
  import { AgentIdentityTools } from "./agent-identity.js";
57
59
  import { RoyaltiesTools } from "./royalties.js";
58
60
  import { RightsTools } from "./rights.js";
61
+ import { RelationshipTools } from "./relationships.js";
62
+ import { HandoverTools } from "./handovers.js";
59
63
  import { StatementsTools } from "./statements.js";
60
64
  import { SelectionsTools } from "./selections.js";
61
65
  import { ShareLinksTools } from "./share-links.js";
@@ -75,12 +79,14 @@ import { PublishersTools } from "./publishers.js";
75
79
  import { LabelsTools } from "./labels.js";
76
80
  import { PartyClaimsTools } from "./party-claims.js";
77
81
  import { ProfileClaimsTools } from "./profile-claims.js";
82
+ import { WorkThemesTools } from "./work-themes.js";
78
83
  import { AuthTools } from "./auth.js";
79
84
  import { SignupTools } from "./signup.js";
80
85
  import { AppTools } from "./app-tools.js";
81
86
  import { AuditTools } from "./audit.js";
82
87
  import { DiscoveryTools } from "./discovery.js";
83
88
  import { SyncPlacementsTools } from "./sync-placements.js";
89
+ import { SyncFitTools } from "./sync-fit.js";
84
90
  import { readCredentials } from "@withpica/mcp-utils";
85
91
  import { formatError, ToolExecutionError } from "@withpica/mcp-utils";
86
92
  import { guardToolResult } from "@withpica/mcp-utils";
@@ -345,6 +351,14 @@ function hasExternalSideEffects(toolName) {
345
351
  * on an already-PICA-managed org is a no-op". The author knows; the
346
352
  * heuristic does not.
347
353
  *
354
+ * `title` does not describe authority either: a declared `annotations.title`
355
+ * wins, then `TOOL_METADATA.display_name`. Before 2026-10-08 the declaration
356
+ * was discarded, and sign_in/out declared none, so all five tools on the
357
+ * layered surface (the only tools a connector lists) advertised their raw
358
+ * names as titles. `src/__tests__/tools/tool-titles.test.ts` fails a tool
359
+ * with neither, and a catalog tool whose declared title disagrees with its
360
+ * display_name (pica_tool_details shows both).
361
+ *
348
362
  * `annotationOverrides` still merges last, so it beats all of the above.
349
363
  *
350
364
  * Agreement between the two surfaces is pinned by "listTools() and
@@ -369,9 +383,10 @@ export function deriveAnnotations(definition) {
369
383
  const declaredIdempotent = typeof definition.annotations?.idempotentHint === "boolean"
370
384
  ? { idempotentHint: definition.annotations.idempotentHint }
371
385
  : {};
386
+ const declaredTitle = definition.annotations?.title?.trim() || undefined;
372
387
  if (declaredTier && metadata) {
373
388
  return {
374
- title: metadata.display_name,
389
+ title: declaredTitle ?? metadata.display_name,
375
390
  readOnlyHint: declaredTier === "read",
376
391
  destructiveHint: declaredTier === "destructive",
377
392
  idempotentHint: declaredTier !== "destructive" && metadata.retry_safe,
@@ -382,7 +397,7 @@ export function deriveAnnotations(definition) {
382
397
  }
383
398
  if (metadata) {
384
399
  return {
385
- title: metadata.display_name,
400
+ title: declaredTitle ?? metadata.display_name,
386
401
  readOnlyHint: metadata.risk === "safe",
387
402
  destructiveHint: metadata.risk === "destructive",
388
403
  idempotentHint: metadata.risk !== "destructive" && metadata.retry_safe,
@@ -396,7 +411,7 @@ export function deriveAnnotations(definition) {
396
411
  // tier is somehow missing (lint blocks; defensive only).
397
412
  const tierForHints = declaredTier ?? "read";
398
413
  return {
399
- title: definition.name,
414
+ title: declaredTitle ?? definition.name,
400
415
  readOnlyHint: tierForHints === "read",
401
416
  destructiveHint: tierForHints === "destructive",
402
417
  idempotentHint: false,
@@ -920,6 +935,11 @@ export class ToolRegistry {
920
935
  profileClaimsTools.getTools().forEach((tool) => {
921
936
  this.tools.set(tool.definition.name, tool);
922
937
  });
938
+ // Work themes tools (directory topics from the owner: propose, review)
939
+ const workThemesTools = new WorkThemesTools(pica);
940
+ workThemesTools.getTools().forEach((tool) => {
941
+ this.tools.set(tool.definition.name, tool);
942
+ });
923
943
  // App tools (MCP Apps — interactive UI cards)
924
944
  const appTools = new AppTools(pica);
925
945
  appTools.getTools().forEach((tool) => {
@@ -942,6 +962,39 @@ export class ToolRegistry {
942
962
  syncPlacementsTools.getTools().forEach((tool) => {
943
963
  this.tools.set(tool.definition.name, tool);
944
964
  });
965
+ // Sync fit (where songs sit against productions in progress; read-only)
966
+ const syncFitTools = new SyncFitTools(pica);
967
+ syncFitTools.getTools().forEach((tool) => {
968
+ this.tools.set(tool.definition.name, tool);
969
+ });
970
+ // ADR-333 — who looks after whose catalogue (both sides).
971
+ const relationshipTools = new RelationshipTools(pica, this.config?.picaApiUrl);
972
+ relationshipTools.getTools().forEach((tool) => {
973
+ this.tools.set(tool.definition.name, tool);
974
+ });
975
+ // ADR-333 D5 — a catalogue built for a client, then handed over.
976
+ const handoverTools = new HandoverTools(pica, this.config?.picaApiUrl);
977
+ handoverTools.getTools().forEach((tool) => {
978
+ this.tools.set(tool.definition.name, tool);
979
+ });
980
+ // ADR-333 D7 — every tool that acts on a catalogue's own records takes an
981
+ // optional `catalogue` (./catalogue-argument.ts). Added here, once, so
982
+ // tools/list, pica_tool_details and pica_execute all see the same schema,
983
+ // and before aliases are cloned so an alias carries it too.
984
+ for (const tool of this.tools.values()) {
985
+ if (!takesCatalogue(tool.definition))
986
+ continue;
987
+ tool.definition = {
988
+ ...tool.definition,
989
+ inputSchema: {
990
+ ...tool.definition.inputSchema,
991
+ properties: {
992
+ ...tool.definition.inputSchema.properties,
993
+ [CATALOGUE_ARG]: CATALOGUE_PROPERTY,
994
+ },
995
+ },
996
+ };
997
+ }
945
998
  // Discovery meta-tools — registered last so pica_tool_details can look up
946
999
  // all tool definitions. Only active when discoveryMode is enabled.
947
1000
  if (this.config?.discoveryMode) {
@@ -1564,6 +1617,13 @@ export class ToolRegistry {
1564
1617
  const cacheKey = this.getSessionCacheKey();
1565
1618
  if (!cacheKey)
1566
1619
  return;
1620
+ // Not in a client's catalogue: the counts read (catalog/stats) does not
1621
+ // open through a relationship, so it would be refused, and that refusal
1622
+ // would be judged as part of the tool's own answer (settleCatalogueAnswer
1623
+ // reads every request the call made). The counts would be the caller's
1624
+ // own catalogue's anyway, not the client's.
1625
+ if (currentCatalogue() !== undefined)
1626
+ return;
1567
1627
  try {
1568
1628
  incrementSessionMutations(cacheKey);
1569
1629
  const sessionState = await buildSessionState(cacheKey, this.fetchSessionCounts);
@@ -1590,6 +1650,44 @@ export class ToolRegistry {
1590
1650
  * mutable state that would race between concurrent requests.
1591
1651
  */
1592
1652
  async executeTool(name, args, ctx) {
1653
+ // ADR-333 D7 — a call naming a client catalogue runs entirely inside it:
1654
+ // the confirmation preview, the executor and the session-state read all
1655
+ // make their requests for that catalogue. The argument stays in the
1656
+ // confirmation token's arguments (so a token confirmed for one client
1657
+ // cannot be replayed for another) and in the audit row, but is removed
1658
+ // before the executor, which would otherwise send it on to the app.
1659
+ const catalogue = args?.[CATALOGUE_ARG];
1660
+ // pica_execute may carry the wrapped tool's arguments flat, `catalogue`
1661
+ // among them; it reaches this method again for the wrapped tool, which
1662
+ // is where the argument is checked and applied.
1663
+ if (catalogue === undefined || name === "pica_execute") {
1664
+ return this.executeToolInCatalogue(name, args, args, ctx);
1665
+ }
1666
+ const tool = this.tools.get(name);
1667
+ if (!tool) {
1668
+ throw new ToolExecutionError(`Tool not found: ${name}`);
1669
+ }
1670
+ const refusal = catalogueRefusal(tool.definition, catalogue);
1671
+ if (refusal) {
1672
+ return {
1673
+ content: [
1674
+ {
1675
+ type: "text",
1676
+ text: JSON.stringify({ error: "CATALOGUE_NOT_SUPPORTED", message: refusal }, null, 2),
1677
+ },
1678
+ ],
1679
+ isError: true,
1680
+ };
1681
+ }
1682
+ const { [CATALOGUE_ARG]: _catalogue, ...executorArgs } = args;
1683
+ const { value, report } = await runInCatalogue(catalogue, () => this.executeToolInCatalogue(name, args, executorArgs, ctx));
1684
+ return settleCatalogueAnswer(name, value, report);
1685
+ }
1686
+ /**
1687
+ * `executeTool` after the catalogue is settled. `args` are the arguments as
1688
+ * called (gates, tokens, audit); `executorArgs` are what the tool receives.
1689
+ */
1690
+ async executeToolInCatalogue(name, args, executorArgs, ctx) {
1593
1691
  const startTime = Date.now();
1594
1692
  const tool = this.tools.get(name);
1595
1693
  if (!tool) {
@@ -1722,7 +1820,7 @@ export class ToolRegistry {
1722
1820
  }
1723
1821
  // ── Normal execution ──
1724
1822
  try {
1725
- const result = await tool.executor(args, ctx);
1823
+ const result = await tool.executor(executorArgs, ctx);
1726
1824
  // Guard response size — envelope-aware (ops 41ff656c / 893e3e29): list
1727
1825
  // responses over the 100KB cap get whole-item trimming + a real resume
1728
1826
  // cursor (next_offset / recovery_hint) in both views; non-list shapes