@withpica/mcp-server 2.99.0 → 2.101.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 (114) hide show
  1. package/CHANGELOG.md +203 -0
  2. package/README.md +6 -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/prompts/creator-question-atlas.d.ts.map +1 -1
  8. package/dist/prompts/creator-question-atlas.js +11 -0
  9. package/dist/prompts/creator-question-atlas.js.map +1 -1
  10. package/dist/prompts/index.js +2 -2
  11. package/dist/resources/agent-guide.d.ts.map +1 -1
  12. package/dist/resources/agent-guide.js +38 -7
  13. package/dist/resources/agent-guide.js.map +1 -1
  14. package/dist/resources/index.d.ts +15 -2
  15. package/dist/resources/index.d.ts.map +1 -1
  16. package/dist/resources/index.js +37 -27
  17. package/dist/resources/index.js.map +1 -1
  18. package/dist/resources/required-schemas.generated.d.ts +16 -10
  19. package/dist/resources/required-schemas.generated.d.ts.map +1 -1
  20. package/dist/resources/required-schemas.generated.js +29 -15
  21. package/dist/resources/required-schemas.generated.js.map +1 -1
  22. package/dist/resources/required-schemas.source.d.ts.map +1 -1
  23. package/dist/resources/required-schemas.source.js +15 -11
  24. package/dist/resources/required-schemas.source.js.map +1 -1
  25. package/dist/server-instructions.d.ts +2 -2
  26. package/dist/server-instructions.d.ts.map +1 -1
  27. package/dist/server-instructions.js +2 -2
  28. package/dist/server-instructions.js.map +1 -1
  29. package/dist/server.d.ts.map +1 -1
  30. package/dist/server.js +9 -0
  31. package/dist/server.js.map +1 -1
  32. package/dist/skills/index.d.ts +5 -3
  33. package/dist/skills/index.d.ts.map +1 -1
  34. package/dist/skills/index.js +11 -9
  35. package/dist/skills/index.js.map +1 -1
  36. package/dist/skills/sep2640.d.ts +71 -0
  37. package/dist/skills/sep2640.d.ts.map +1 -0
  38. package/dist/skills/sep2640.js +198 -0
  39. package/dist/skills/sep2640.js.map +1 -0
  40. package/dist/skills/skills.generated.js +2 -2
  41. package/dist/skills/skills.generated.js.map +1 -1
  42. package/dist/tools/api-error-body.d.ts +16 -4
  43. package/dist/tools/api-error-body.d.ts.map +1 -1
  44. package/dist/tools/api-error-body.js +40 -1
  45. package/dist/tools/api-error-body.js.map +1 -1
  46. package/dist/tools/approvals.d.ts.map +1 -1
  47. package/dist/tools/approvals.js +12 -1
  48. package/dist/tools/approvals.js.map +1 -1
  49. package/dist/tools/assets.d.ts.map +1 -1
  50. package/dist/tools/assets.js +15 -3
  51. package/dist/tools/assets.js.map +1 -1
  52. package/dist/tools/credits.d.ts.map +1 -1
  53. package/dist/tools/credits.js +205 -45
  54. package/dist/tools/credits.js.map +1 -1
  55. package/dist/tools/dashboard.js +1 -1
  56. package/dist/tools/dashboard.js.map +1 -1
  57. package/dist/tools/directory.d.ts.map +1 -1
  58. package/dist/tools/directory.js +21 -10
  59. package/dist/tools/directory.js.map +1 -1
  60. package/dist/tools/discovery.d.ts.map +1 -1
  61. package/dist/tools/discovery.js +14 -3
  62. package/dist/tools/discovery.js.map +1 -1
  63. package/dist/tools/documents.d.ts.map +1 -1
  64. package/dist/tools/documents.js +6 -4
  65. package/dist/tools/documents.js.map +1 -1
  66. package/dist/tools/duplicates.d.ts +13 -0
  67. package/dist/tools/duplicates.d.ts.map +1 -1
  68. package/dist/tools/duplicates.js +178 -1
  69. package/dist/tools/duplicates.js.map +1 -1
  70. package/dist/tools/import-documents.d.ts +1 -0
  71. package/dist/tools/import-documents.d.ts.map +1 -1
  72. package/dist/tools/import-documents.js +67 -0
  73. package/dist/tools/import-documents.js.map +1 -1
  74. package/dist/tools/import.d.ts.map +1 -1
  75. package/dist/tools/import.js +14 -0
  76. package/dist/tools/import.js.map +1 -1
  77. package/dist/tools/index.d.ts +2 -1
  78. package/dist/tools/index.d.ts.map +1 -1
  79. package/dist/tools/index.js +39 -1
  80. package/dist/tools/index.js.map +1 -1
  81. package/dist/tools/memory.d.ts.map +1 -1
  82. package/dist/tools/memory.js +24 -6
  83. package/dist/tools/memory.js.map +1 -1
  84. package/dist/tools/metadata.d.ts.map +1 -1
  85. package/dist/tools/metadata.js +42 -0
  86. package/dist/tools/metadata.js.map +1 -1
  87. package/dist/tools/people.d.ts +54 -22
  88. package/dist/tools/people.d.ts.map +1 -1
  89. package/dist/tools/people.js +236 -27
  90. package/dist/tools/people.js.map +1 -1
  91. package/dist/tools/profile-claims.d.ts +31 -0
  92. package/dist/tools/profile-claims.d.ts.map +1 -0
  93. package/dist/tools/profile-claims.js +188 -0
  94. package/dist/tools/profile-claims.js.map +1 -0
  95. package/dist/tools/public-filter.js +1 -1
  96. package/dist/tools/public-filter.js.map +1 -1
  97. package/dist/tools/recovery-hints.d.ts.map +1 -1
  98. package/dist/tools/recovery-hints.js +140 -7
  99. package/dist/tools/recovery-hints.js.map +1 -1
  100. package/dist/tools/rights.d.ts.map +1 -1
  101. package/dist/tools/rights.js +11 -1
  102. package/dist/tools/rights.js.map +1 -1
  103. package/dist/tools/shows.d.ts.map +1 -1
  104. package/dist/tools/shows.js +25 -2
  105. package/dist/tools/shows.js.map +1 -1
  106. package/dist/tools/skills.d.ts +3 -4
  107. package/dist/tools/skills.d.ts.map +1 -1
  108. package/dist/tools/skills.js.map +1 -1
  109. package/dist/tools/split-sheets.d.ts +8 -0
  110. package/dist/tools/split-sheets.d.ts.map +1 -1
  111. package/dist/tools/split-sheets.js +191 -8
  112. package/dist/tools/split-sheets.js.map +1 -1
  113. package/package.json +6 -4
  114. package/server.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/tools/assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/tools/assets.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"credits.d.ts","sourceRoot":"","sources":["../../src/tools/credits.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AA8FtE,qBAAa,YAAY;IACvB,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;YAksB3D,kBAAkB;YAyDlB,WAAW;YA2BX,aAAa;IA4Q3B;;;;;;;;;;;;;OAaG;YACW,sBAAsB;IAgJpC;;;;;;;;;;;;OAYG;YACW,0BAA0B;IA+DxC;;;;;;;;;OASG;IACH;;;;;;;;;;;OAWG;YACW,YAAY;YA8EZ,SAAS;IAqKvB;;;;;;;;OAQG;YACW,YAAY;CAmE3B"}
1
+ {"version":3,"file":"credits.d.ts","sourceRoot":"","sources":["../../src/tools/credits.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AA2JtE,qBAAa,YAAY;IACvB,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;YA4sB3D,kBAAkB;YA2FlB,WAAW;YA2BX,aAAa;IAkS3B;;;;;;;;;;;;;OAaG;YACW,sBAAsB;IAuJpC;;;;;;;;;;;;OAYG;YACW,0BAA0B;IA+DxC;;;;;;;;;OASG;IACH;;;;;;;;;;;OAWG;YACW,YAAY;YAsHZ,SAAS;IA2LvB;;;;;;;;OAQG;YACW,YAAY;CAmE3B"}
@@ -73,6 +73,55 @@ function recordingCreditExists(err) {
73
73
  return typedError("RECORDING_CREDIT_EXISTS", body.message ??
74
74
  `This person is already credited in this role on this recording${creditId ? ` (credit ${creditId})` : ""} with different details. Nothing was changed — one person holds one credit per role. Edit that credit with pica_credit_update (e.g. instrument: "drums, guitar") instead of adding a second.`, creditId ? { existing_credit_id: creditId } : undefined);
75
75
  }
76
+ /**
77
+ * The columns that record a master credit's attestation. Mirrors
78
+ * RECORDING_CREDIT_ATTESTATION_FIELDS in
79
+ * lib/constants/recording-credit-attestation.ts, which
80
+ * POST /api/admin/recordings/[id]/credits and the bulk route refuse with the
81
+ * same code; this package cannot import the app.
82
+ */
83
+ const RECORDING_ATTESTATION_FIELDS = [
84
+ "attestation_status",
85
+ "attested_at",
86
+ "attested_by",
87
+ "attestation_source_type",
88
+ "attestation_source_id",
89
+ ];
90
+ /**
91
+ * Refuse a pica_recording_credits_update call that carries any attestation
92
+ * column — at the top level (single form) or on any credits[] entry (batch
93
+ * form). Presence is what counts: "pending" is refused too, so no caller is
94
+ * left believing it controls the field. Returns null when the call is clean.
95
+ */
96
+ function refuseRecordingAttestation(args) {
97
+ const has = (o) => {
98
+ if (!o || typeof o !== "object")
99
+ return null;
100
+ for (const f of RECORDING_ATTESTATION_FIELDS) {
101
+ if (Object.hasOwn(o, f))
102
+ return f;
103
+ }
104
+ return null;
105
+ };
106
+ const guidance = "Every credit starts as pending and only the credited person can " +
107
+ "confirm it. Remove it and retry (put any source evidence in notes), " +
108
+ "then ask them to confirm with pica_collaborators_invite (recording_id) " +
109
+ "or pica_credits_send_for_attestation on the recording's song.";
110
+ const topField = has(args);
111
+ if (topField) {
112
+ return typedError("ATTESTATION_NOT_SETTABLE", `${topField} can't be set by this tool — nothing was saved. ${guidance}`, { field: topField });
113
+ }
114
+ if (Array.isArray(args.credits)) {
115
+ for (let i = 0; i < args.credits.length; i++) {
116
+ const field = has(args.credits[i]);
117
+ if (field) {
118
+ return typedError("ATTESTATION_NOT_SETTABLE", `credits[${i}] carries ${field}, which this tool can't set — ` +
119
+ `nothing was saved. ${guidance}`, { field, index: i });
120
+ }
121
+ }
122
+ }
123
+ return null;
124
+ }
76
125
  export class CreditsTools {
77
126
  pica;
78
127
  constructor(pica) {
@@ -154,8 +203,10 @@ export class CreditsTools {
154
203
  "'publisher' (their publishing share is that entry's split) — " +
155
204
  "there is no separate publisher field. is_primary marks the " +
156
205
  "primary attribution and applies to composition credits only " +
157
- "(recording credits have no primary flag). You can also set notes " +
158
- "and attestation_status. Once it's saved, it's worth asking the " +
206
+ "(recording credits have no primary flag). You can also set notes. " +
207
+ "Attestation is not settable here: every credit this saves starts " +
208
+ "as pending, and only the credited person confirms it — send it " +
209
+ "with pica_credits_send_for_attestation. Once it's saved, it's worth asking the " +
159
210
  "user: send these to the collaborators to verify, or generate a " +
160
211
  "split sheet for sign-off? Is anyone here on a work-for-hire or " +
161
212
  "producer agreement (a producer takes points off the top of " +
@@ -211,7 +262,7 @@ export class CreditsTools {
211
262
  },
212
263
  splits: {
213
264
  type: "number",
214
- description: "Percentage split (0-100). For composition credits it is the writer/publisher share on work_collaborators, and those must total 100%. For an 'owner' entry it is the master ownership share on the work's sole recording and is not part of that 100%: active owner shares may not pass 100% (RECORDING_SPLIT_TOTAL_EXCEEDED), re-sending the share already recorded changes nothing, and a different share for an owner already recorded is refused (RECORDING_SPLIT_EXISTS), never replaced.",
265
+ description: "Percentage split (0-100). For composition credits it is the writer/publisher share on work_collaborators, and those must total 100%. For an 'owner' entry it is the master ownership share on the work's sole recording and is not part of that 100%: active owner shares may not pass 100% (RECORDING_SPLIT_TOTAL_EXCEEDED), re-sending the share already recorded changes nothing, and a different share for an owner who already holds an ACTIVE share is refused (RECORDING_SPLIT_EXISTS), never replaced; an owner whose share has ended is given a new one.",
215
266
  },
216
267
  is_primary: {
217
268
  type: "boolean",
@@ -221,11 +272,6 @@ export class CreditsTools {
221
272
  type: "string",
222
273
  description: "Free-text notes about this credit (e.g., recording-session context, contribution specifics).",
223
274
  },
224
- attestation_status: {
225
- type: "string",
226
- enum: ["pending", "attested", "disputed", "declined"],
227
- description: "Attestation status. Default: pending. Service-managed fields attested_at / attested_by are set by the attestation workflow, not this tool.",
228
- },
229
275
  },
230
276
  required: ["person_id", "role", "splits"],
231
277
  },
@@ -237,7 +283,7 @@ export class CreditsTools {
237
283
  nextSteps: [
238
284
  {
239
285
  tool: "pica_credits_list",
240
- reason: "Read the credits back to confirm every advertised field (is_primary, notes, attestation_status) actually persisted. Silent persistence drops are real — never trust the write response alone.",
286
+ reason: "Read the credits back to confirm every advertised field (is_primary, notes) actually persisted. Silent persistence drops are real — never trust the write response alone.",
241
287
  when: "on_success",
242
288
  },
243
289
  {
@@ -286,6 +332,10 @@ export class CreditsTools {
286
332
  "Arranger, Programmer, Other. Look up the person first with " +
287
333
  "pica_people_query; if they're not in the catalog, leave " +
288
334
  "person_id empty and their name still shows via credited_name. " +
335
+ "Attestation is not settable here: every credit starts as " +
336
+ "pending and only the credited person confirms it — ask them " +
337
+ "with pica_collaborators_invite (recording_id) or " +
338
+ "pica_credits_send_for_attestation on the recording's song. " +
289
339
  "After saving, confirm it stuck with pica_recordings_inspect " +
290
340
  "(sections: ['recording_credits']). → then: " +
291
341
  "pica_recordings_inspect (verify saved), pica_people_query " +
@@ -329,11 +379,6 @@ export class CreditsTools {
329
379
  type: "string",
330
380
  description: "Optional free-text notes about this credit (recording-session context, role specifics).",
331
381
  },
332
- attestation_status: {
333
- type: "string",
334
- enum: ["pending", "attested", "disputed", "declined"],
335
- description: "Optional starting attestation status — master credits are attestable just like composition credits. Defaults to 'pending'. Use pica_credits_send_for_attestation to ask the credited person to confirm; attested_at / attested_by are set by the attestation workflow, not this tool.",
336
- },
337
382
  instrument: {
338
383
  type: "string",
339
384
  description: "Optional instrument(s) for this credit, e.g. 'drums' or 'drums, bass' (one credit per person — list multiple instruments on the same row). Stored on recording_credits.instrument and rendered in /inspect's contributors table.",
@@ -541,8 +586,8 @@ export class CreditsTools {
541
586
  description: "(recordings only) Displayed credit name (NOT NULL on recording_credits). Required for recordings.",
542
587
  },
543
588
  share_pct: {
544
- type: "number",
545
- description: "Percentage share (0-100). Maps to split_percentage on work_collaborators (composition) / recording_credits (master). Omit when unknown — it is stored as NULL (unknown), never as 0; the health plan then reports the work as incomplete rather than rescaling the others. REQUIRED for credit_type 'owner' (master ownership is recorded as given, never assumed 100).",
589
+ type: ["number", "null"],
590
+ description: "Percentage share (0-100). Maps to split_percentage on work_collaborators (composition) / recording_credits (master). Omit it (or send null) when unknown — it is stored as NULL (unknown), never as 0; the health plan then reports the work as incomplete rather than rescaling the others. REQUIRED for credit_type 'owner' (master ownership is recorded as given, never assumed 100).",
546
591
  },
547
592
  notes: {
548
593
  type: "string",
@@ -578,14 +623,20 @@ export class CreditsTools {
578
623
  audiences: ["stdio", "http"],
579
624
  tier: "write",
580
625
  description: "Edit ONE existing credit in place — change a writer's share, an " +
581
- "instrumentalist's instrument, a role, the displayed name or the " +
582
- "notes — leaving every other credit exactly as it is. Use when the " +
583
- "user asks: 'change Mary's split to 40', 'set Charlie's instrument " +
584
- "to bass', 'fix the spelling of this credit'. This is the verb " +
585
- "between pica_credit_add and pica_credit_remove: it never " +
586
- "replaces the set (that is pica_credits_update) and never " +
587
- "deletes-and-recreates, so the credit keeps its id and " +
588
- "attestation state. Find the credit_id with pica_credits_list. " +
626
+ "instrumentalist's instrument, a role, the displayed name, the " +
627
+ "notes, or WHO the credit is for (person_id) — leaving every " +
628
+ "other credit exactly as it is. Use when the user asks: 'change " +
629
+ "Mary's split to 40', 'set Charlie's instrument to bass', 'fix " +
630
+ "the spelling of this credit', 'link the Brian Lucey credit to " +
631
+ "his new person record'. This is the verb between pica_credit_add " +
632
+ "and pica_credit_remove: it never replaces the set (that is " +
633
+ "pica_credits_update) and never deletes-and-recreates, so the " +
634
+ "credit keeps its id. Its attestation state is kept too, except " +
635
+ "when person_id changes WHO it is for: a confirmed, disputed or " +
636
+ "declined credit then goes back to pending, because the newly " +
637
+ "linked person gave none of those answers (the response's " +
638
+ "person_change says so). " +
639
+ "Find the credit_id with pica_credits_list. " +
589
640
  "Writer-split closure is NOT enforced on a single edit — re-split " +
590
641
  "a song one writer at a time; the response's `allocation.status` " +
591
642
  "(closed / open / incomplete) tells you whether the set still " +
@@ -625,6 +676,14 @@ export class CreditsTools {
625
676
  type: ["string", "null"],
626
677
  description: "Free-text notes. Pass null to clear.",
627
678
  },
679
+ person_id: {
680
+ type: "string",
681
+ description: "Change who this credit is for (UUID from pica_people_query) — link a name-only credit to a person record, or move a credit linked to the wrong person. The person must be in this organisation and not deleted; if they already hold this role on the song or recording, it is refused (CREDIT_PERSON_CONFLICT) rather than making a second credit. A confirmed, disputed or declined credit goes back to pending.",
682
+ },
683
+ confirm_name_mismatch: {
684
+ type: "boolean",
685
+ description: "Only with person_id on a name-only credit: set true after the user confirms the person is the one credited even though the names differ (e.g. a stage name). Without it a mismatch is refused (PERSON_NAME_MISMATCH).",
686
+ },
628
687
  },
629
688
  required: ["work_id", "credit_id"],
630
689
  },
@@ -709,19 +768,34 @@ export class CreditsTools {
709
768
  credit_ids: creditIds,
710
769
  reminder_type: reminderType,
711
770
  });
712
- const delivered = (result.results || []).filter((r) => r.delivered);
713
- const notPicaUsers = (result.results || []).filter((r) => r.reason === "not_a_pica_user");
714
- const failed = (result.results || []).filter((r) => !r.delivered && r.reason !== "not_a_pica_user");
771
+ const rows = (result.results || []);
772
+ const name = (r) => r.person_name || r.person_id;
773
+ const of = (o) => rows.filter((r) => r.outcome === o);
774
+ const sent = of("sent");
775
+ const held = of("held");
776
+ // Both are reached by the collaborator invite, not by this ask.
777
+ const inviteInstead = (r) => r.reason === "not_a_pica_user" || r.reason === "not_in_this_catalogue";
778
+ const notPicaUsers = rows.filter((r) => r.outcome === "no_channel" && r.reason === "not_a_pica_user");
779
+ const elsewhere = rows.filter((r) => r.outcome === "no_channel" && r.reason === "not_in_this_catalogue");
780
+ const noEmail = rows.filter((r) => r.outcome === "no_channel" && !inviteInstead(r));
781
+ const failed = of("failed");
715
782
  const summary = [
716
- `Sent attestation prompt to ${delivered.length}/${result.results?.length ?? 0} credited people`,
717
- delivered.length > 0
718
- ? `Delivered: ${delivered.map((r) => r.person_name || r.person_id).join(", ")}`
783
+ `Asked ${sent.length + held.length}/${rows.length} credited people`,
784
+ sent.length > 0 ? `Sent to: ${sent.map(name).join(", ")}` : null,
785
+ held.length > 0
786
+ ? `Email held for approval (not delivered yet): ${held.map(name).join(", ")}`
719
787
  : null,
720
788
  notPicaUsers.length > 0
721
- ? `Not PICA users (use pica_collaborators_invite): ${notPicaUsers.map((r) => r.person_name || r.person_id).join(", ")}`
789
+ ? `Not PICA users (use pica_collaborators_invite): ${notPicaUsers.map(name).join(", ")}`
790
+ : null,
791
+ elsewhere.length > 0
792
+ ? `On PICA but not in this catalogue (use pica_collaborators_invite): ${elsewhere.map(name).join(", ")}`
793
+ : null,
794
+ noEmail.length > 0
795
+ ? `No email on file (add one to their person record): ${noEmail.map(name).join(", ")}`
722
796
  : null,
723
797
  failed.length > 0
724
- ? `Failed: ${failed.map((r) => r.person_name || r.person_id).join(", ")}`
798
+ ? `Send failed: ${failed.map(name).join(", ")}`
725
799
  : null,
726
800
  ]
727
801
  .filter(Boolean)
@@ -729,6 +803,14 @@ export class CreditsTools {
729
803
  return formatSuccess(summary, result);
730
804
  }
731
805
  catch (err) {
806
+ // Nobody on the request could be reached: the route refuses with 422
807
+ // and names who and why. Not a transport failure.
808
+ const body = parseApiErrorBody(err);
809
+ if (body.code === "NO_REACHABLE_RECIPIENT") {
810
+ return typedError("NO_REACHABLE_RECIPIENT", body.message ?? "Nobody on this request could be reached.", body.details && typeof body.details === "object"
811
+ ? body.details
812
+ : undefined);
813
+ }
732
814
  const errorMessage = err instanceof Error ? err.message : String(err);
733
815
  return typedError("CREDITS_ATTESTATION_SEND_FAILED", `Failed to send credits for attestation: ${errorMessage}`);
734
816
  }
@@ -793,6 +875,26 @@ export class CreditsTools {
793
875
  isError: true,
794
876
  };
795
877
  }
878
+ // attestation_status is not caller-settable. Since 2026-09-29 the
879
+ // collaborators route rejects it (UNKNOWN_FIELD) and
880
+ // replace_work_collaborators forces every inserted row to 'pending'
881
+ // (migration 20260929190000) — a caller could otherwise fabricate
882
+ // "attested" with no attestation ever happening. This tool kept
883
+ // advertising and forwarding it, so agents sent it and the whole write
884
+ // failed (ops 00d9e736, 9a1cb927). Refuse it here, before anything is
885
+ // written, with the way to actually get a credit confirmed — never
886
+ // silently drop it, or the caller believes the credit is attested.
887
+ const attestationIdx = args.credits
888
+ .map((c) => c ?? {})
889
+ .findIndex((c) => Object.hasOwn(c, "attestation_status"));
890
+ if (attestationIdx !== -1) {
891
+ return typedError("ATTESTATION_NOT_SETTABLE", `credits[${attestationIdx}] carries attestation_status, which this ` +
892
+ `tool can't set — nothing was saved. Every credit starts as ` +
893
+ `pending and only the credited person can confirm it. Remove ` +
894
+ `attestation_status from every entry and retry (put any source ` +
895
+ `evidence in notes), then call pica_credits_send_for_attestation ` +
896
+ `so each person can confirm their own credit.`, { field: "attestation_status", index: attestationIdx });
897
+ }
796
898
  // ADR-252: the 100% rule is a COMPOSITION concept (writer/publisher shares).
797
899
  // Master/recording credits carry independent, unconstrained splits (a
798
900
  // producer takes points; a vocalist may have 0%). Validate the total over
@@ -822,9 +924,9 @@ export class CreditsTools {
822
924
  isError: true,
823
925
  };
824
926
  }
825
- // ADR-252: only fields with a canonical home survive. is_primary,
826
- // notes, attestation_status live on work_collaborators (composition);
827
- // notes / attestation_status are also on recording_credits (master).
927
+ // ADR-252: only fields with a canonical home survive. is_primary and
928
+ // notes live on work_collaborators (composition); notes is also on
929
+ // recording_credits (master). attestation_status is refused above.
828
930
  // territory / rights_type / start_date / end_date / publisher_id /
829
931
  // publisher_split_percentage had no home after the work_credits drop and
830
932
  // are no longer accepted — see write-constants.ts.
@@ -843,8 +945,6 @@ export class CreditsTools {
843
945
  credit.is_primary = c.is_primary;
844
946
  if (c.notes !== undefined)
845
947
  credit.notes = c.notes;
846
- if (c.attestation_status)
847
- credit.attestation_status = c.attestation_status;
848
948
  return credit;
849
949
  });
850
950
  const publishingCredits = allCredits.filter((c) => PUBLISHING_ROLES.has(String(c.role || "writer")
@@ -959,6 +1059,18 @@ export class CreditsTools {
959
1059
  * is set, mirroring the work-side updateCredits notification flow.
960
1060
  */
961
1061
  async updateRecordingCredits(args) {
1062
+ // attestation_status is not caller-settable. An attestation is the
1063
+ // credited person confirming their credit; until 2026-10-03 this tool
1064
+ // advertised it and the single form forwarded it, so any caller could
1065
+ // create a master credit already "attested". The route now refuses it
1066
+ // too, and session-role writes are refused in the database (migration
1067
+ // 20261003072610). Refuse here, before anything is written, with the way
1068
+ // to actually get a credit confirmed — never silently drop it, or the
1069
+ // caller believes the credit is attested. Same code and shape as the
1070
+ // pica_credits_update refusal in open PR #2622.
1071
+ const attestationRefusal = refuseRecordingAttestation(args);
1072
+ if (attestationRefusal)
1073
+ return attestationRefusal;
962
1074
  // Superset dispatch (write-merge fold, mirrors ReleasesTools.attachTrack)
963
1075
  // — subsumed pica_recording_credits_bulk_update (that name was removed in
964
1076
  // mcp-server 2.99.0). Both executors fully self-validate their own args.
@@ -1014,11 +1126,6 @@ export class CreditsTools {
1014
1126
  display_order: args.display_order ?? 0,
1015
1127
  notes: args.notes ?? null,
1016
1128
  instrument: args.instrument ?? null,
1017
- // ADR-252: master credits are attestable. The SDK input type predates
1018
- // the column; the route validates + persists it.
1019
- ...(args.attestation_status
1020
- ? { attestation_status: args.attestation_status }
1021
- : {}),
1022
1129
  });
1023
1130
  }
1024
1131
  catch (err) {
@@ -1188,12 +1295,21 @@ export class CreditsTools {
1188
1295
  }
1189
1296
  patch.share_pct = v;
1190
1297
  }
1191
- for (const key of ["credit_type", "credited_name", "notes", "instrument"]) {
1298
+ for (const key of [
1299
+ "credit_type",
1300
+ "credited_name",
1301
+ "notes",
1302
+ "instrument",
1303
+ "person_id",
1304
+ ]) {
1192
1305
  if (args[key] !== undefined)
1193
1306
  patch[key] = args[key];
1194
1307
  }
1195
1308
  if (Object.keys(patch).length === 0) {
1196
- return typedError("VALIDATION_ERROR", "nothing to update — pass at least one of share_pct, credit_type, credited_name, notes, instrument.");
1309
+ return typedError("VALIDATION_ERROR", "nothing to update — pass at least one of share_pct, credit_type, credited_name, notes, instrument, person_id.");
1310
+ }
1311
+ if (args.confirm_name_mismatch === true) {
1312
+ patch.confirm_name_mismatch = true;
1197
1313
  }
1198
1314
  try {
1199
1315
  const result = await this.pica.credits.atomicUpdate(workId, creditId, patch);
@@ -1213,11 +1329,35 @@ export class CreditsTools {
1213
1329
  severity: "important",
1214
1330
  });
1215
1331
  }
1332
+ const personChange = result?.person_change;
1333
+ if (personChange?.attestation_reset) {
1334
+ // person_change.message is the server's own sentence
1335
+ // (describeCreditPersonChange in lib/services/credit-person-link.ts),
1336
+ // so the agent hears the same account the routes give.
1337
+ const what = personChange.message ??
1338
+ `This credit's ${personChange.previous_attestation_status ?? "previous"} status was cleared; it is now ${personChange.attestation_status ?? "pending"}.`;
1339
+ hints.push({
1340
+ gap: "credit_confirmation_reset",
1341
+ suggestion: `${what} The person now linked gave no confirmation of their own. Tell the user, and offer to ask the newly linked person to confirm (pica_credits_send_for_attestation on this work).`,
1342
+ severity: "important",
1343
+ });
1344
+ }
1216
1345
  return formatSuccess("Credit updated", result, hints);
1217
1346
  }
1218
1347
  catch (err) {
1219
1348
  const message = err instanceof Error ? err.message : String(err);
1220
1349
  const body = parseApiErrorBody(err);
1350
+ // Typed refusals of a change of person (lib/services/credit-person-link.ts).
1351
+ // Checked before the generic status branches: PERSON_NOT_FOUND is a
1352
+ // 404 and CREDIT_PERSON_CONFLICT a 409, and each needs its own next step.
1353
+ if (body.code === "PERSON_NOT_FOUND" ||
1354
+ body.code === "PERSON_DELETED" ||
1355
+ body.code === "PERSON_REQUIRED" ||
1356
+ body.code === "PERSON_NAME_MISMATCH" ||
1357
+ body.code === "CREDIT_PERSON_CONFLICT" ||
1358
+ body.code === "PERSON_LINK_IS_THE_CATALOGUES") {
1359
+ return typedError(body.code, body.message ?? message, body.details ?? undefined);
1360
+ }
1221
1361
  if (body.code === "INSUFFICIENT_SCOPE" || body.status === 403) {
1222
1362
  return typedError("INSUFFICIENT_SCOPE", `credit_id '${creditId}' is not a credit on work '${workId}' in this organisation. List the work's credits with pica_credits_list to find a valid id. Underlying error: ${message}`);
1223
1363
  }
@@ -1272,7 +1412,7 @@ export class CreditsTools {
1272
1412
  content: [
1273
1413
  {
1274
1414
  type: "text",
1275
- text: "share_pct must be a number between 0 and 100.",
1415
+ text: "share_pct must be a number between 0 and 100, or null (unknown).",
1276
1416
  },
1277
1417
  ],
1278
1418
  isError: true,
@@ -1352,6 +1492,26 @@ export class CreditsTools {
1352
1492
  const existing = recordingCreditExists(err);
1353
1493
  if (existing)
1354
1494
  return existing;
1495
+ // A 4xx carrying a machine code is the route REFUSING this call for a
1496
+ // reason it names (VALIDATION_ERROR, PERSON_ORG_MISMATCH,
1497
+ // RECORDING_TARGET_REQUIRED, SHARES_ARE_SUGGESTIONS, …). Relay that
1498
+ // code and message instead of folding it into CREDIT_ADD_FAILED, which
1499
+ // reads as a transport failure and invites a blind retry — ops
1500
+ // 704708a1 was a 400 VALIDATION_ERROR reported as CREDIT_ADD_FAILED.
1501
+ const refusal = parseApiErrorBody(err);
1502
+ if (refusal.code &&
1503
+ refusal.status !== undefined &&
1504
+ refusal.status >= 400 &&
1505
+ refusal.status < 500) {
1506
+ // Siblings first, so a route key can never overwrite the envelope's
1507
+ // own `error` / `message` (typedError writes those last).
1508
+ return typedError(refusal.code, refusal.message ?? errorMessage, {
1509
+ ...refusal.extra,
1510
+ ...(refusal.details !== undefined
1511
+ ? { details: refusal.details }
1512
+ : {}),
1513
+ });
1514
+ }
1355
1515
  return typedError("CREDIT_ADD_FAILED", `Failed to add credit: ${errorMessage}`);
1356
1516
  }
1357
1517
  }