@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
@@ -1 +1 @@
1
- {"version":3,"file":"sharing.js","sourceRoot":"","sources":["../../src/tools/sharing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sharing.js","sourceRoot":"","sources":["../../src/tools/sharing.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Signed split sheets in the destructive-delete preview (founder ruling
3
- * 2026-09-25): a work carrying a signed split sheet is archived, never
4
- * hard-deleted, so the signed evidence survives (WORK_DELETE_POLICY in
5
- * lib/services/works/delete-policy.ts). The preview for pica_works_delete /
6
- * pica_works_bulk_delete says so before the user confirms.
2
+ * Signed split sheets in the removal preview (founder rulings 2026-09-25 and
3
+ * 2026-10-21): removing a song archives it, never deletes it
4
+ * (deleteWorkRecord, lib/services/works/delete-helpers.ts), so its signed
5
+ * sheets stay with it. The preview for pica_works_delete /
6
+ * pica_works_bulk_delete names them before the user confirms.
7
7
  *
8
8
  * The count comes from the split-sheet list the API already serves
9
9
  * (GET /admin/works/:id/split-sheet), whose rows carry
@@ -26,11 +26,11 @@ function sheets(n) {
26
26
  */
27
27
  export function signedSplitSheetLineForWork(count) {
28
28
  if (count === null) {
29
- return "could not check this work for signed split sheets — if it has any, it will be archived (kept, hidden from your catalogue) rather than deleted, so the signed sheets survive.";
29
+ return "could not check this song for signed split sheets — any it has stay with it while it's removed.";
30
30
  }
31
31
  if (count === 0)
32
32
  return "";
33
- return `this work carries ${sheets(count)} — it will be archived (kept, hidden from your catalogue), not deleted, so the signed ${count === 1 ? "sheet survives" : "sheets survive"}.`;
33
+ return `this song carries ${sheets(count)} — ${count === 1 ? "it stays" : "they stay"} with it while it's removed.`;
34
34
  }
35
35
  /**
36
36
  * The preview line for a bulk delete. `checked` false = too many ids to read
@@ -38,14 +38,14 @@ export function signedSplitSheetLineForWork(count) {
38
38
  */
39
39
  export function signedSplitSheetLineForWorks(result) {
40
40
  if (!result.checked) {
41
- return "any of these works that carries a signed split sheet will be archived (kept, hidden from your catalogue) rather than deleted, so the signed sheets survive.";
41
+ return "any signed split sheets these songs carry stay with them while they're removed.";
42
42
  }
43
43
  if (result.sheets === 0)
44
44
  return "";
45
45
  const works = result.worksWithSigned === 1
46
- ? "1 of these works carries"
47
- : `${result.worksWithSigned} of these works carry`;
48
- return `${works} ${sheets(result.sheets)} — ${result.worksWithSigned === 1 ? "it" : "they"} will be archived (kept, hidden from your catalogue), not deleted, so the signed ${result.sheets === 1 ? "sheet survives" : "sheets survive"}.`;
46
+ ? "1 of these songs carries"
47
+ : `${result.worksWithSigned} of these songs carry`;
48
+ return `${works} ${sheets(result.sheets)} — ${result.sheets === 1 ? "it stays" : "they stay"} with them while they're removed.`;
49
49
  }
50
50
  /** Read signed-sheet counts for a bulk preview, bounded by {@link SIGNED_SHEET_PREVIEW_MAX_IDS}. */
51
51
  export async function countSignedSplitSheetsForWorks(pica, ids) {
@@ -1 +1 @@
1
- {"version":3,"file":"signed-split-sheet-preview.js","sourceRoot":"","sources":["../../src/tools/signed-split-sheet-preview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signed-split-sheet-preview.js","sourceRoot":"","sources":["../../src/tools/signed-split-sheet-preview.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * "who has access" to a song, for an agent (ADR-346 part 5b): the same lines
3
+ * the song page's panel shows, through the same route
4
+ * (/api/admin/works/[id]/access), and the same remove.
5
+ *
6
+ * - pica_works_access_query: one line per organisation or invited address,
7
+ * side (writing, master and which recording, or both for an old share),
8
+ * and what they can do (view, or look after the master details).
9
+ * - pica_works_access_remove: ends one line — the master owner's edit
10
+ * relationship first, then every share behind it. Destructive: the
11
+ * confirmation token is required upstream (tier "destructive").
12
+ */
13
+ import { PicaClient } from "@withpica/mcp-sdk";
14
+ import type { ToolDefinition, ToolExecutor } from "./index.js";
15
+ type Reason = "invite" | "claim" | "agreement" | "master_owner" | "shared";
16
+ interface Line {
17
+ key: string;
18
+ granteeOrgName: string | null;
19
+ /** This catalogue's person behind the line (V1.1); absent on older apps. */
20
+ personName?: string | null;
21
+ /** Why they have access (V1.1); absent on older apps. */
22
+ reasons?: Reason[];
23
+ pendingEmail: string | null;
24
+ side: "composition" | "master" | "both";
25
+ recordingTitle: string | null;
26
+ status: "active" | "pending";
27
+ canDo: "view" | "look_after_master";
28
+ widerArrangement: boolean;
29
+ }
30
+ /** Why they have access, in the panel's words (WhoHasAccess.tsx reasonLine). */
31
+ export declare function reasonWords(l: Line): string;
32
+ /** The panel's words for a line (WhoHasAccess.tsx who + sideLine), so both read alike. */
33
+ export declare function lineWords(l: Line): string;
34
+ export declare class SongAccessTools {
35
+ private pica;
36
+ constructor(pica: PicaClient);
37
+ getTools(): Array<{
38
+ definition: ToolDefinition;
39
+ executor: ToolExecutor;
40
+ }>;
41
+ private query;
42
+ private remove;
43
+ }
44
+ export {};
45
+ //# sourceMappingURL=song-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"song-access.d.ts","sourceRoot":"","sources":["../../src/tools/song-access.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAG3E,KAAK,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,cAAc,GAAG,QAAQ,CAAC;AAE3E,UAAU,IAAI;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;IACxC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACpC,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAmB3C;AAED,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAoBzC;AAMD,qBAAa,eAAe;IAC1B,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YAiF3D,KAAK;YAkCL,MAAM;CA2BrB"}
@@ -0,0 +1,184 @@
1
+ // Copyright (c) 2025-2026 Withpica Ltd. All rights reserved.
2
+ import { formatSuccess } from "@withpica/mcp-utils";
3
+ /** Why they have access, in the panel's words (WhoHasAccess.tsx reasonLine). */
4
+ export function reasonWords(l) {
5
+ return (l.reasons ?? [])
6
+ .map((r) => {
7
+ switch (r) {
8
+ case "master_owner":
9
+ return "you invited them as the master owner";
10
+ case "invite":
11
+ return l.status === "pending"
12
+ ? "you invited them; they haven't accepted yet"
13
+ : "accepted your co-writer invite";
14
+ case "claim":
15
+ return "claimed their writer profile";
16
+ case "agreement":
17
+ return "signed a split sheet or agreement with you";
18
+ default:
19
+ return "you shared it with them";
20
+ }
21
+ })
22
+ .join(" · ");
23
+ }
24
+ /** The panel's words for a line (WhoHasAccess.tsx who + sideLine), so both read alike. */
25
+ export function lineWords(l) {
26
+ const account = l.granteeOrgName ?? l.pendingEmail ?? "someone who hasn't joined yet";
27
+ const who = l.personName ? `${l.personName} (${account})` : account;
28
+ const side = l.side === "both"
29
+ ? "writing and master"
30
+ : l.side === "composition"
31
+ ? "writing"
32
+ : l.recordingTitle
33
+ ? `master · ${l.recordingTitle}`
34
+ : "master";
35
+ const can = l.canDo === "look_after_master"
36
+ ? "can look after the master details"
37
+ : l.status === "pending"
38
+ ? "can view once they accept"
39
+ : "can view";
40
+ const why = reasonWords(l);
41
+ return `${who} — ${side} · ${can}${why ? ` (${why})` : ""}`;
42
+ }
43
+ function failure(text) {
44
+ return { content: [{ type: "text", text }], isError: true };
45
+ }
46
+ export class SongAccessTools {
47
+ pica;
48
+ constructor(pica) {
49
+ this.pica = pica;
50
+ }
51
+ getTools() {
52
+ return [
53
+ {
54
+ definition: {
55
+ name: "pica_works_access_query",
56
+ scope: "read:catalog",
57
+ audiences: ["stdio", "http"],
58
+ tier: "read",
59
+ description: "Use when the user asks: 'who has access to this song?', 'who can see my song?', 'who did I share this with?'. " +
60
+ "Lists everyone outside your catalogue who can see one of your songs: one line per organisation or invited address (with the person in your catalogue behind it when known, and why they have access: co-writer invite, claimed profile, signed agreement, master owner, or shared), the side they see (writing; master and which recording; or both for an old share), and what they can do — view, or look after the master details. " +
61
+ "Pending lines are invitations not yet accepted. A line with wider_arrangement is part of a relationship covering other recordings too: change it from people & access, not with pica_works_access_remove. " +
62
+ "Only your own songs; another catalogue's song is not found. " +
63
+ "→ then: pica_works_access_remove (end a line, after the user confirms)",
64
+ workflows: "infrastructure",
65
+ vernacular_kind: "creator-entry",
66
+ inputSchema: {
67
+ type: "object",
68
+ properties: {
69
+ work_id: {
70
+ type: "string",
71
+ description: "UUID of one of your songs (works).",
72
+ },
73
+ },
74
+ required: ["work_id"],
75
+ },
76
+ nextSteps: [
77
+ {
78
+ tool: "pica_works_access_remove",
79
+ reason: "End one line's access, using its key, once the user confirms.",
80
+ when: "on_success",
81
+ },
82
+ ],
83
+ },
84
+ executor: this.query.bind(this),
85
+ },
86
+ {
87
+ definition: {
88
+ name: "pica_works_access_remove",
89
+ scope: "write:catalog",
90
+ audiences: ["stdio", "http"],
91
+ tier: "destructive",
92
+ description: "End one line of access to one of your songs, by the key pica_works_access_query returned. " +
93
+ "Ends every share behind the line, and a master owner's edit too (edit first, so a failure never leaves edit without view). " +
94
+ "If still_shared comes back true, they can still see the song: tell the user and offer to try again (a retry touches only what is still live). " +
95
+ "If kept_reason is set, they still look after this master through a wider arrangement: point the user to people & access. " +
96
+ "Owners and admins only. Sends no email.",
97
+ workflows: "infrastructure",
98
+ vernacular_kind: "specialist",
99
+ vernacular_reason: "Destructive; invoked by exact name after the user confirms which line to end.",
100
+ inputSchema: {
101
+ type: "object",
102
+ properties: {
103
+ work_id: {
104
+ type: "string",
105
+ description: "UUID of the song.",
106
+ },
107
+ key: {
108
+ type: "string",
109
+ description: "The line's key, exactly as pica_works_access_query returned it.",
110
+ },
111
+ },
112
+ required: ["work_id", "key"],
113
+ },
114
+ nextSteps: [
115
+ {
116
+ tool: "pica_works_access_query",
117
+ reason: "Read the lines again to confirm what is left.",
118
+ when: "on_success",
119
+ },
120
+ ],
121
+ },
122
+ executor: this.remove.bind(this),
123
+ },
124
+ ];
125
+ }
126
+ async query(args) {
127
+ const workId = typeof args.work_id === "string" ? args.work_id : "";
128
+ if (!workId)
129
+ return failure("work_id is required.");
130
+ try {
131
+ const lines = (await this.pica.songAccess.list(workId));
132
+ const summary = lines.length === 0
133
+ ? "Only your catalogue can see this song."
134
+ : `${lines.length} ${lines.length === 1 ? "line" : "lines"} of access:\n` +
135
+ lines.map((l) => `- ${lineWords(l)}`).join("\n");
136
+ return formatSuccess(summary, {
137
+ lines: lines.map((l) => ({
138
+ key: l.key,
139
+ who: l.granteeOrgName ?? l.pendingEmail,
140
+ person: l.personName ?? null,
141
+ reasons: l.reasons ?? [],
142
+ side: l.side,
143
+ recording_title: l.recordingTitle,
144
+ status: l.status,
145
+ can_do: l.canDo,
146
+ wider_arrangement: l.widerArrangement,
147
+ words: lineWords(l),
148
+ })),
149
+ });
150
+ }
151
+ catch (err) {
152
+ const msg = err instanceof Error ? err.message : String(err);
153
+ if (/404|not found/i.test(msg))
154
+ return failure("That song isn't in your catalogue, so its access can't be listed.");
155
+ return failure(`Couldn't read who has access: ${msg}`);
156
+ }
157
+ }
158
+ async remove(args) {
159
+ const workId = typeof args.work_id === "string" ? args.work_id : "";
160
+ const key = typeof args.key === "string" ? args.key : "";
161
+ if (!workId || !key)
162
+ return failure("work_id and key are required.");
163
+ try {
164
+ const r = await this.pica.songAccess.remove(workId, key);
165
+ const text = r.still_shared
166
+ ? "Removal didn't finish: they can still see this song. Offer to try again."
167
+ : r.kept_reason
168
+ ? "Removed their share of this song, but they still look after this master through a wider arrangement — change that on people & access."
169
+ : "Removed. They can no longer see this song.";
170
+ return formatSuccess(text, r);
171
+ }
172
+ catch (err) {
173
+ const msg = err instanceof Error ? err.message : String(err);
174
+ if (/ACCESS_NOT_REMOVED/.test(msg))
175
+ return failure("Access was not removed: they can still see this song. Try again.");
176
+ if (/403|restricted to owners and admins/i.test(msg))
177
+ return failure("Only the catalogue's owners and admins can remove access.");
178
+ if (/404|not found/i.test(msg))
179
+ return failure("That song isn't in your catalogue.");
180
+ return failure(`Couldn't remove access: ${msg}`);
181
+ }
182
+ }
183
+ }
184
+ //# sourceMappingURL=song-access.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"song-access.js","sourceRoot":"","sources":["../../src/tools/song-access.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * ADR-237 — Opt-in public handles + user-authored bio + avatar.
3
3
  *
4
- * Surfaces 7 tools backing the cross-org discovery model:
4
+ * Surfaces 6 tools backing the cross-org discovery model:
5
5
  *
6
6
  * Reads (scope: read:people):
7
7
  * - pica_users_find_by_handle — exact-match lookup (privacy-preserving)
@@ -10,9 +10,12 @@
10
10
  * Writes (scope: write:people):
11
11
  * - pica_users_set_handle — claim handle (rate-limited)
12
12
  * - pica_users_clear_handle — release handle
13
- * - pica_users_set_bio — write self-description
13
+ * - pica_users_set_bio — write your bio (your own person's
14
+ * biography), or settle a waiting choice
14
15
  * - pica_users_set_avatar_url — write avatar URL
15
- * - pica_users_import_bio_from_person — fan-out from people.biography
16
+ *
17
+ * pica_users_import_bio_from_person was retired with one bio per person
18
+ * (RETIRED_TOOLS in ./deprecations.ts).
16
19
  *
17
20
  * `pica_collaborators_invite` (ADR-236) is separately extended to
18
21
  * accept `recipient: {kind: "handle"}` and resolves to email
@@ -33,6 +36,5 @@ export declare class UsersTools {
33
36
  private getMyProfile;
34
37
  private setBio;
35
38
  private setAvatarUrl;
36
- private importBioFromPerson;
37
39
  }
38
40
  //# sourceMappingURL=users.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/tools/users.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAGtE,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YAwL3D,YAAY;YAWZ,SAAS;YAiBT,WAAW;YAKX,YAAY;YAUZ,MAAM;YAUN,YAAY;YAUZ,mBAAmB;CAQlC"}
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/tools/users.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAGtE,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YAmK3D,YAAY;YAWZ,SAAS;YAiBT,WAAW;YAKX,YAAY;YAUZ,MAAM;YA6BN,YAAY;CAS3B"}
@@ -1,5 +1,5 @@
1
1
  // Copyright (c) 2025-2026 Withpica Ltd. All rights reserved.
2
- import { formatSuccess } from "@withpica/mcp-utils";
2
+ import { formatSuccess, formatValidationError } from "@withpica/mcp-utils";
3
3
  export class UsersTools {
4
4
  pica;
5
5
  constructor(pica) {
@@ -86,7 +86,7 @@ export class UsersTools {
86
86
  audiences: ["stdio", "http"],
87
87
  tier: "read",
88
88
  description: "Use when the user asks: 'show my profile', 'what's my PICA handle', 'what bio do I have'. " +
89
- "Return the caller's full profile: workspace_email, full_name, public_handle, handle_accepts_invites, avatar_url, bio, linked_person_id. Caller's own profile only — to look up someone else use pica_users_find_by_handle.",
89
+ "Return the caller's full profile: workspace_email, full_name, public_handle, handle_accepts_invites, avatar_url, linked_person_id, and the bio. The bio is the biography on the caller's own person record (one bio per person): `bio` in full, `bio_short` (its opening, used where a short version is wanted), `bio_confirmed` (whether you wrote or confirmed it; only then is it shown outside your catalogue), `bio_choice` when an earlier bio is waiting for the caller to choose, and `set_aside_bios` (earlier bios kept after a choice). Caller's own profile only — to look up someone else use pica_users_find_by_handle.",
90
90
  workflows: "infrastructure",
91
91
  vernacular_kind: "specialist",
92
92
  vernacular_reason: "Specialist context; not yet covered by the Creator Question Atlas.",
@@ -100,9 +100,10 @@ export class UsersTools {
100
100
  scope: "write:people",
101
101
  audiences: ["stdio", "http"],
102
102
  tier: "write",
103
- description: "Use when the user asks: 'set my bio to X', 'change my profile description', 'update my bio'. " +
104
- "Write your bio (plain text, max 280 chars). Server strips HTML/markdown and truncates. Empty string clears the bio. Returns the canonical stored value. " +
105
- "To copy the biography already held on your linked catalog person, use pica_users_import_bio_from_person.",
103
+ description: "Use when the user asks: 'set my bio to X', 'change my profile description', 'update my bio', 'keep my earlier bio'. " +
104
+ "Write your bio: the biography on your own person record. Saving it confirms it as yours, and only a bio you wrote or confirmed is shown outside your catalogue: read-only on records of you that you've claimed in other catalogues, and its opening on your public handle. Re-saving the same text confirms a bio someone else wrote on your record. Plain text; HTML is removed and paragraphs are kept. Empty string clears it. " +
105
+ 'If pica_users_get_my_profile shows a `bio_choice`, settle it with `choose` instead of `bio`: "current" keeps the bio you have, "earlier" uses the earlier one. The text you don\'t keep is kept in set_aside_bios, never deleted. ' +
106
+ "Refused with NO_LINKED_PERSON when your account isn't linked to a person yet, and NOT_YOUR_PERSON_ANY_MORE when you've left the catalogue your person is in.",
106
107
  workflows: "infrastructure",
107
108
  vernacular_kind: "specialist",
108
109
  vernacular_reason: "Specialist context; not yet covered by the Creator Question Atlas.",
@@ -111,10 +112,14 @@ export class UsersTools {
111
112
  properties: {
112
113
  bio: {
113
114
  type: "string",
114
- description: "Bio text. Pass empty string to clear. Max 280 chars (truncated server-side).",
115
+ description: "Bio text. Pass empty string to clear. Leave out when passing `choose`.",
116
+ },
117
+ choose: {
118
+ type: "string",
119
+ enum: ["current", "earlier"],
120
+ description: 'Settle a waiting bio_choice: "current" keeps your bio, "earlier" uses the earlier one. Leave out when passing `bio`.',
115
121
  },
116
122
  },
117
- required: ["bio"],
118
123
  },
119
124
  },
120
125
  executor: this.setBio.bind(this),
@@ -144,30 +149,6 @@ export class UsersTools {
144
149
  },
145
150
  executor: this.setAvatarUrl.bind(this),
146
151
  },
147
- {
148
- definition: {
149
- name: "pica_users_import_bio_from_person",
150
- scope: "write:people",
151
- audiences: ["stdio", "http"],
152
- tier: "write",
153
- description: "Use when the user asks: 'pull my bio from my Spotify artist page', 'import bio from my catalog person', 'use the biography I already have on file'. " +
154
- "Copy the biography held on your linked catalog person into your own profile bio. Guarded by `overwrite` (default false): refuses if you already have a bio and surfaces both bios so you can confirm before re-calling with overwrite=true. Returns no_source_available if you have no linked person or an empty biography. " +
155
- "To write bio text directly rather than copy it, use pica_users_set_bio.",
156
- workflows: "infrastructure",
157
- vernacular_kind: "specialist",
158
- vernacular_reason: "Specialist context; not yet covered by the Creator Question Atlas.",
159
- inputSchema: {
160
- type: "object",
161
- properties: {
162
- overwrite: {
163
- type: "boolean",
164
- description: "Default false. Set true to overwrite an existing bio.",
165
- },
166
- },
167
- },
168
- },
169
- executor: this.importBioFromPerson.bind(this),
170
- },
171
152
  ];
172
153
  }
173
154
  async findByHandle(args) {
@@ -202,6 +183,22 @@ export class UsersTools {
202
183
  : "You have not claimed a handle yet.", profile);
203
184
  }
204
185
  async setBio(args) {
186
+ if (args.choose !== undefined) {
187
+ if (args.bio !== undefined) {
188
+ return formatValidationError({
189
+ choose: "pass either bio or choose, not both",
190
+ });
191
+ }
192
+ const chosen = await this.pica.users.chooseBio(args.choose);
193
+ return formatSuccess(args.choose === "earlier"
194
+ ? "Using your earlier bio. The one it replaced is kept in set_aside_bios."
195
+ : "Kept your bio. The earlier one is kept in set_aside_bios.", chosen);
196
+ }
197
+ if (typeof args.bio !== "string") {
198
+ return formatValidationError({
199
+ bio: "pass bio (a string; empty clears it) or choose",
200
+ });
201
+ }
205
202
  const result = await this.pica.users.setBio(args.bio);
206
203
  return formatSuccess(result.bio === null
207
204
  ? "Bio cleared."
@@ -213,11 +210,5 @@ export class UsersTools {
213
210
  ? "Avatar cleared."
214
211
  : `Avatar updated to ${result.avatar_url}`, result);
215
212
  }
216
- async importBioFromPerson(args) {
217
- const result = await this.pica.users.importBioFromPerson({
218
- overwrite: args.overwrite === true,
219
- });
220
- return formatSuccess("Bio import completed.", result);
221
- }
222
213
  }
223
214
  //# sourceMappingURL=users.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/tools/users.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/tools/users.ts"],"names":[],"mappings":"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"}
@@ -73,6 +73,8 @@ export declare class WorksTools {
73
73
  * Update work
74
74
  */
75
75
  private updateWork;
76
+ private listRemoved;
77
+ private restoreWork;
76
78
  /**
77
79
  * Delete work
78
80
  */
@@ -1 +1 @@
1
- {"version":3,"file":"works.d.ts","sourceRoot":"","sources":["../../src/tools/works.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAEL,UAAU,EAIX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAoCtE;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkKzE,CAAC;AAyDF,qBAAa,UAAU;IACrB,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;IA8tBzE;;OAEG;YACW,UAAU;IA+LxB;;OAEG;IACH;;;;;OAKG;YACW,mBAAmB;IAmBjC;;;;;;;;;OASG;YACW,4BAA4B;YAmC5B,WAAW;IA0azB;;OAEG;YACW,UAAU;IAgHxB;;OAEG;YACW,UAAU;IA6DxB;;OAEG;YACW,UAAU;IAKxB;;;;;;;;;;OAUG;YACW,UAAU;IAiBxB;;OAEG;YACW,eAAe;IAe7B;;OAEG;YACW,sBAAsB;IAqBpC;;;;OAIG;YACW,UAAU;YAsCV,mBAAmB;CA6DlC"}
1
+ {"version":3,"file":"works.d.ts","sourceRoot":"","sources":["../../src/tools/works.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAEL,UAAU,EAIX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAoCtE;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkKzE,CAAC;AAyDF,qBAAa,UAAU;IACrB,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;IA0yBzE;;OAEG;YACW,UAAU;IA+LxB;;OAEG;IACH;;;;;OAKG;YACW,mBAAmB;IAmBjC;;;;;;;;;OASG;YACW,4BAA4B;YAmC5B,WAAW;IAgczB;;OAEG;YACW,UAAU;IAgHxB;;OAEG;YACW,UAAU;YA6DV,WAAW;YAqBX,WAAW;IAUzB;;OAEG;YACW,UAAU;IAKxB;;;;;;;;;;OAUG;YACW,UAAU;IAiBxB;;OAEG;YACW,eAAe;IAe7B;;OAEG;YACW,sBAAsB;IAqBpC;;;;OAIG;YACW,UAAU;YAsCV,mBAAmB;CA6DlC"}