@withpica/mcp-server 2.97.1 → 2.97.2

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 (63) hide show
  1. package/CHANGELOG.md +102 -0
  2. package/README.md +3 -3
  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/agent-guide.d.ts.map +1 -1
  8. package/dist/resources/agent-guide.js +26 -11
  9. package/dist/resources/agent-guide.js.map +1 -1
  10. package/dist/resources/required-schemas.generated.d.ts +10 -1
  11. package/dist/resources/required-schemas.generated.d.ts.map +1 -1
  12. package/dist/resources/required-schemas.generated.js +19 -2
  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 +19 -1
  16. package/dist/resources/required-schemas.source.js.map +1 -1
  17. package/dist/skills/skills.generated.js +1 -1
  18. package/dist/skills/skills.generated.js.map +1 -1
  19. package/dist/tools/api-error-body.d.ts +48 -0
  20. package/dist/tools/api-error-body.d.ts.map +1 -0
  21. package/dist/tools/api-error-body.js +88 -0
  22. package/dist/tools/api-error-body.js.map +1 -0
  23. package/dist/tools/approvals.d.ts.map +1 -1
  24. package/dist/tools/approvals.js +18 -1
  25. package/dist/tools/approvals.js.map +1 -1
  26. package/dist/tools/arg-aliases.d.ts.map +1 -1
  27. package/dist/tools/arg-aliases.js +11 -0
  28. package/dist/tools/arg-aliases.js.map +1 -1
  29. package/dist/tools/audio-files.d.ts +9 -0
  30. package/dist/tools/audio-files.d.ts.map +1 -1
  31. package/dist/tools/audio-files.js +109 -8
  32. package/dist/tools/audio-files.js.map +1 -1
  33. package/dist/tools/credits.d.ts +13 -0
  34. package/dist/tools/credits.d.ts.map +1 -1
  35. package/dist/tools/credits.js +193 -8
  36. package/dist/tools/credits.js.map +1 -1
  37. package/dist/tools/discovery.d.ts.map +1 -1
  38. package/dist/tools/discovery.js +52 -18
  39. package/dist/tools/discovery.js.map +1 -1
  40. package/dist/tools/duplicates.d.ts +7 -0
  41. package/dist/tools/duplicates.d.ts.map +1 -1
  42. package/dist/tools/duplicates.js +35 -5
  43. package/dist/tools/duplicates.js.map +1 -1
  44. package/dist/tools/import.d.ts.map +1 -1
  45. package/dist/tools/import.js +20 -0
  46. package/dist/tools/import.js.map +1 -1
  47. package/dist/tools/metadata.d.ts.map +1 -1
  48. package/dist/tools/metadata.js +8 -0
  49. package/dist/tools/metadata.js.map +1 -1
  50. package/dist/tools/recovery-hints.d.ts.map +1 -1
  51. package/dist/tools/recovery-hints.js +29 -0
  52. package/dist/tools/recovery-hints.js.map +1 -1
  53. package/dist/tools/share-links.d.ts.map +1 -1
  54. package/dist/tools/share-links.js +8 -1
  55. package/dist/tools/share-links.js.map +1 -1
  56. package/dist/tools/split-sheets.d.ts.map +1 -1
  57. package/dist/tools/split-sheets.js +7 -3
  58. package/dist/tools/split-sheets.js.map +1 -1
  59. package/dist/tools/works.d.ts.map +1 -1
  60. package/dist/tools/works.js +8 -1
  61. package/dist/tools/works.js.map +1 -1
  62. package/package.json +2 -2
  63. package/server.json +2 -2
@@ -59,6 +59,17 @@ export const DOMAIN_ID_ALIASES = {
59
59
  */
60
60
  export const TOOL_ARG_ALIASES = {
61
61
  pica_skill_get: { skill: "name", skill_name: "name" },
62
+ // `pica_catalog_health_plan` hands back a list of ACTIONS, each carrying an
63
+ // `actionId`, and `fix` takes those ids in a field called `accept` — so an
64
+ // agent that has just read the plan reaches for `actionIds`. ChatGPT did
65
+ // exactly that on prod and drew WRAPPED_ARGS_MISSING (ops issue dbca9b4c,
66
+ // 2026-09-08: "missing: [accept]. Unrecognised fields sent: [actionIds]").
67
+ // `action_ids` is here because the rest of this surface is snake_case, so
68
+ // it is the other spelling an agent lands on.
69
+ pica_catalog_health_fix: {
70
+ actionIds: "accept",
71
+ action_ids: "accept",
72
+ },
62
73
  };
63
74
  /**
64
75
  * Rename a tool's own id / explicit alias to the schema's real required
@@ -1 +1 @@
1
- {"version":3,"file":"arg-aliases.js","sourceRoot":"","sources":["../../src/tools/arg-aliases.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAsC;IAClE,KAAK,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,SAAS,CAAC;IAC/C,MAAM,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,KAAK,EAAE,CAAC,SAAS,CAAC;IAClB,UAAU,EAAE,CAAC,cAAc,CAAC;IAC5B,QAAQ,EAAE,CAAC,YAAY,CAAC;IACxB,UAAU,EAAE,CAAC,cAAc,CAAC;IAC5B,QAAQ,EAAE,CAAC,YAAY,CAAC;IACxB,KAAK,EAAE,CAAC,SAAS,CAAC;IAClB,QAAQ,EAAE,CAAC,YAAY,CAAC;IACxB,SAAS,EAAE,CAAC,aAAa,CAAC;IAC1B,KAAK,EAAE,CAAC,SAAS,CAAC;IAClB,MAAM,EAAE,CAAC,UAAU,CAAC;IACpB,UAAU,EAAE,CAAC,cAAc,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA2C;IACtE,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;CACtD,CAAC;AAOF;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAgB,EAChB,IAA6B,EAC7B,QAA2B;IAE3B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAwC,EAAE,CAAC;IACxD,MAAM,MAAM,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAC;IAEpD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,KAAK,IAAI,MAAM;YAAE,SAAS,CAAC,oCAAoC;QAEnE,MAAM,UAAU,GACd,KAAK,KAAK,IAAI;YACZ,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACxC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;iBAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC;iBAChC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS,CAAC,qCAAqC;QAEzE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"arg-aliases.js","sourceRoot":"","sources":["../../src/tools/arg-aliases.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAsC;IAClE,KAAK,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,SAAS,CAAC;IAC/C,MAAM,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,KAAK,EAAE,CAAC,SAAS,CAAC;IAClB,UAAU,EAAE,CAAC,cAAc,CAAC;IAC5B,QAAQ,EAAE,CAAC,YAAY,CAAC;IACxB,UAAU,EAAE,CAAC,cAAc,CAAC;IAC5B,QAAQ,EAAE,CAAC,YAAY,CAAC;IACxB,KAAK,EAAE,CAAC,SAAS,CAAC;IAClB,QAAQ,EAAE,CAAC,YAAY,CAAC;IACxB,SAAS,EAAE,CAAC,aAAa,CAAC;IAC1B,KAAK,EAAE,CAAC,SAAS,CAAC;IAClB,MAAM,EAAE,CAAC,UAAU,CAAC;IACpB,UAAU,EAAE,CAAC,cAAc,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA2C;IACtE,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;IACrD,4EAA4E;IAC5E,2EAA2E;IAC3E,yEAAyE;IACzE,0EAA0E;IAC1E,2EAA2E;IAC3E,0EAA0E;IAC1E,8CAA8C;IAC9C,uBAAuB,EAAE;QACvB,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,QAAQ;KACrB;CACF,CAAC;AAOF;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAgB,EAChB,IAA6B,EAC7B,QAA2B;IAE3B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAwC,EAAE,CAAC;IACxD,MAAM,MAAM,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAC;IAEpD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,KAAK,IAAI,MAAM;YAAE,SAAS,CAAC,oCAAoC;QAEnE,MAAM,UAAU,GACd,KAAK,KAAK,IAAI;YACZ,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACxC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;iBAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC;iBAChC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS,CAAC,qCAAqC;QAEzE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC"}
@@ -3,6 +3,15 @@
3
3
  */
4
4
  import { PicaClient } from "@withpica/mcp-sdk";
5
5
  import { ToolDefinition, ToolExecutor } from "./index.js";
6
+ /**
7
+ * Project one audio row to its list shape. Dropped on purpose:
8
+ * `waveform_data` (the weight — on pica_audio_inspect sections:["waveform"]),
9
+ * sample-rate / bit-depth / danceability (inspect sections:["analysis"]),
10
+ * and `metadata`, `file_path`, `cdn_url`, `extraction_error`, analysis
11
+ * version/processor and the `recording` / `work` embeds — storage internals
12
+ * not exposed over MCP. See queryAudioFiles for the measurement.
13
+ */
14
+ export declare function toAudioListItem(row: unknown): Record<string, unknown>;
6
15
  export declare class AudioFilesTools {
7
16
  private pica;
8
17
  constructor(pica: PicaClient);
@@ -1 +1 @@
1
- {"version":3,"file":"audio-files.d.ts","sourceRoot":"","sources":["../../src/tools/audio-files.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAkBtE,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;YAqkB3D,WAAW;IAuCzB;;;;OAIG;YACW,eAAe;YA2Bf,mBAAmB;YAkCnB,YAAY;YAmBZ,WAAW;YA4CX,eAAe;YAgBf,eAAe;YA+Cf,gBAAgB;YA4DhB,gBAAgB;YAchB,eAAe;YAyBf,cAAc;YAgDd,iBAAiB;IA2B/B;;;OAGG;YACW,mBAAmB;CAqClC"}
1
+ {"version":3,"file":"audio-files.d.ts","sourceRoot":"","sources":["../../src/tools/audio-files.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AA8CtE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQrE;AAED,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;YAmlB3D,WAAW;IAuCzB;;;;OAIG;YACW,eAAe;YA2Bf,mBAAmB;YAkCnB,YAAY;YAmBZ,WAAW;YA4CX,eAAe;YAgBf,eAAe;YA4Df,gBAAgB;YA6FhB,gBAAgB;YAchB,eAAe;YAyBf,cAAc;YAgDd,iBAAiB;IA2B/B;;;OAGG;YACW,mBAAmB;CAqClC"}
@@ -7,6 +7,52 @@ import { withBillingGate } from "@withpica/mcp-utils";
7
7
  // findUnassigned), so pageEnvelope's `limit` reflects what the server
8
8
  // actually applied even when the agent didn't pass one.
9
9
  const DEFAULT_AUDIO_QUERY_LIMIT = 50;
10
+ /** Fields a LIST row carries. Everything else is pica_audio_inspect's. */
11
+ const AUDIO_LIST_FIELDS = [
12
+ "id",
13
+ "title",
14
+ "filename",
15
+ "file_type",
16
+ "stem_label",
17
+ "version_label",
18
+ "classification",
19
+ "file_size",
20
+ "audio_format",
21
+ "duration_seconds",
22
+ "detected_bpm",
23
+ "detected_key",
24
+ "detected_energy",
25
+ "detected_mood",
26
+ "analysis_status",
27
+ "published",
28
+ "work_id",
29
+ "recording_id",
30
+ "storage_bucket",
31
+ "uploaded_at",
32
+ "created_at",
33
+ // Attached by the route on the unassigned path — the whole point of that
34
+ // call, so it must survive the projection.
35
+ "probable_match",
36
+ ];
37
+ /**
38
+ * Project one audio row to its list shape. Dropped on purpose:
39
+ * `waveform_data` (the weight — on pica_audio_inspect sections:["waveform"]),
40
+ * sample-rate / bit-depth / danceability (inspect sections:["analysis"]),
41
+ * and `metadata`, `file_path`, `cdn_url`, `extraction_error`, analysis
42
+ * version/processor and the `recording` / `work` embeds — storage internals
43
+ * not exposed over MCP. See queryAudioFiles for the measurement.
44
+ */
45
+ export function toAudioListItem(row) {
46
+ if (!row || typeof row !== "object")
47
+ return {};
48
+ const src = row;
49
+ const out = {};
50
+ for (const k of AUDIO_LIST_FIELDS) {
51
+ if (src[k] !== undefined)
52
+ out[k] = src[k];
53
+ }
54
+ return out;
55
+ }
10
56
  export class AudioFilesTools {
11
57
  pica;
12
58
  constructor(pica) {
@@ -20,7 +66,8 @@ export class AudioFilesTools {
20
66
  scope: "read:files",
21
67
  audiences: ["stdio", "http", "public"],
22
68
  tier: "read",
23
- description: "Find audio files — filter by work, file type, or analysis status. " +
69
+ description: "Find audio files — filter by name/title (`query`), work, file type, or analysis status. " +
70
+ "Rows are a LEAN list shape (identity, size, duration, bpm/key/energy/mood, links, bucket). For one file, pica_audio_inspect adds sample rate, bit depth, danceability (sections: ['analysis']) and the waveform (sections: ['waveform']); the raw `metadata` jsonb, storage path and CDN URL are storage internals not exposed over MCP. " +
24
71
  "→ then: pica_audio_inspect (details for a specific file), " +
25
72
  "pica_audio_assign (attach an unassigned file to a work/recording). " +
26
73
  "Set unassigned:true to find orphan audio (no work/recording attached yet).",
@@ -49,7 +96,7 @@ export class AudioFilesTools {
49
96
  },
50
97
  query: {
51
98
  type: "string",
52
- description: "With unassigned:true, filter the orphan audio by filename or title (case-insensitive substring) so you can find a specific file by name instead of dumping all unassigned audio (which truncates past the 100KB response cap for large sets)",
99
+ description: "Filter by filename or title (case-insensitive substring). Applies to ALL results, not only unassigned ones — use it to find a specific file by name instead of paging the whole library, which truncates past the 100KB response cap.",
53
100
  },
54
101
  limit: {
55
102
  type: "number",
@@ -70,8 +117,11 @@ export class AudioFilesTools {
70
117
  scope: "read:files",
71
118
  audiences: ["stdio", "http", "public"],
72
119
  tier: "read",
73
- description: "Get details for a specific audio file. Omit sections for everything. " +
74
- "→ then: pica_audio_analyze (run analysis), pica_audio_identify (fingerprint match)",
120
+ description: "Get details for a specific audio file, including its stored " +
121
+ 'transcript (sections: ["transcript"]) even when the file is not ' +
122
+ "linked to any work. Omit sections for everything. " +
123
+ "→ then: pica_audio_analyze (run analysis), pica_audio_identify (fingerprint match), " +
124
+ "pica_audio_assign (link an orphaned file to its work)",
75
125
  workflows: ["audio-upload-required"],
76
126
  vernacular_kind: "specialist",
77
127
  vernacular_reason: "Specialist context; not yet covered by the Creator Question Atlas — pending telemetry-driven addition per ADR-226 Phase 4 substrate writes.",
@@ -86,9 +136,19 @@ export class AudioFilesTools {
86
136
  type: "array",
87
137
  items: {
88
138
  type: "string",
89
- enum: ["basic", "analysis", "status"],
139
+ enum: [
140
+ "basic",
141
+ "analysis",
142
+ "waveform",
143
+ "status",
144
+ "transcript",
145
+ ],
90
146
  },
91
- description: "Which data sections to include. Omit for all sections.",
147
+ description: "Which data sections to include. Omit for all sections. " +
148
+ "`transcript` returns the stored speech-to-text transcript " +
149
+ "for this file whether or not it is linked to a work — the " +
150
+ "only way to read one that has not been copied onto a work's " +
151
+ "lyrics.",
92
152
  },
93
153
  },
94
154
  required: ["id"],
@@ -688,18 +748,41 @@ export class AudioFilesTools {
688
748
  page.has_more = pagination.hasMore;
689
749
  page.next_offset = pagination.hasMore ? offset + files.length : null;
690
750
  }
691
- return formatList(files, { total: files.length, page });
751
+ // ⚠️ LIST rows carry only what a list is for. The route returns the full
752
+ // row with the analysis satellite flattened in — including
753
+ // `waveform_data`, ~4.9KB per file on prod against ~1.6KB for the rest of
754
+ // the row put together — plus `metadata` jsonb and recording/work embeds.
755
+ // At ~8KB an item the 100KB response guard trimmed the page to 8 files,
756
+ // which the reporter of ops issue 525585e8 read as "the same first 8
757
+ // items regardless of filters". Paging works (the guard hands back
758
+ // next_offset); it just should not have been needed at 8. Waveform and
759
+ // the extra analysis scalars are on `pica_audio_inspect` (sections
760
+ // "waveform" / "analysis"); `metadata`, `file_path`, `cdn_url` and the
761
+ // recording/work embeds are storage internals and are not exposed over
762
+ // MCP at all — say so rather than point at a call that lacks them.
763
+ const items = files.map((f) => toAudioListItem(f));
764
+ return formatList(items, { total: items.length, page });
692
765
  }
693
766
  async inspectAudioFile(args) {
694
767
  const sections = args.sections;
695
768
  const includeAll = !sections || sections.length === 0;
696
769
  const includeBasic = includeAll || sections.includes("basic");
697
770
  const includeAnalysis = includeAll || sections.includes("analysis");
771
+ // Waveform is heavy (~4.9KB/file on prod) and opt-in even on inspect —
772
+ // it is NOT part of the default (all-sections) response.
773
+ const includeWaveform = !!sections && sections.includes("waveform");
698
774
  const includeStatus = includeAll || sections.includes("status");
775
+ const includeTranscript = includeAll || sections.includes("transcript");
699
776
  const result = {};
700
777
  // Fetch basic + analysis data from get (they come together)
701
- if (includeBasic || includeAnalysis) {
778
+ if (includeBasic || includeAnalysis || includeWaveform) {
702
779
  const file = await this.pica.audioFiles.get(args.id);
780
+ if (includeWaveform) {
781
+ result.waveform = {
782
+ waveform_data: file.waveform_data ??
783
+ null,
784
+ };
785
+ }
703
786
  if (includeBasic) {
704
787
  // ADR-201 Phase 2: surface every field the write side accepts.
705
788
  // pica_audio_complete_upload writes recording_id, stem_label,
@@ -732,6 +815,14 @@ export class AudioFilesTools {
732
815
  detected_energy: file.detected_energy,
733
816
  detected_valence: file.detected_valence,
734
817
  detected_mood: file.detected_mood,
818
+ // Moved off the LIST row on 2026-09-11 (ops 525585e8); this is now
819
+ // their only MCP home.
820
+ detected_danceability: file
821
+ .detected_danceability ?? null,
822
+ sample_rate: file.sample_rate ??
823
+ null,
824
+ bit_depth: file.bit_depth ??
825
+ null,
735
826
  metadata_extracted: file.metadata_extracted,
736
827
  };
737
828
  }
@@ -741,6 +832,16 @@ export class AudioFilesTools {
741
832
  const status = await this.pica.audioFiles.getStatus(args.id);
742
833
  result.status = status;
743
834
  }
835
+ // The transcript, wherever it is. Before 2026-09-07 an agent could not
836
+ // read one at all unless it had already propagated to works.lyrics, which
837
+ // never happens for a file with no work — 218 of 558 transcriptions on
838
+ // prod. `has_transcript: false` is a normal answer; `reaches_work: false`
839
+ // says this text is visible nowhere else, which is the cue to link the
840
+ // file (pica_audio_assign), not to invent an association here.
841
+ if (includeTranscript) {
842
+ const transcript = await this.pica.audioFiles.getTranscript(args.id);
843
+ result.transcript = transcript;
844
+ }
744
845
  return formatSuccess("Audio file details", result);
745
846
  }
746
847
  async analyzeAudioFile(args) {
@@ -1 +1 @@
1
- {"version":3,"file":"audio-files.js","sourceRoot":"","sources":["../../src/tools/audio-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audio-files.js","sourceRoot":"","sources":["../../src/tools/audio-files.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,19 @@ export declare class CreditsTools {
57
57
  * route through RecordingCreditsResource.atomicAdd (POST /admin/recordings/[id]/credits).
58
58
  * Both return AtomicCreditResult with credit_id.
59
59
  */
60
+ /**
61
+ * pica_credit_update — in-place edit of one credit (2026-09-11).
62
+ *
63
+ * Closes two ops issues with one verb. `pica_credits_update` is replace-all,
64
+ * so an agent changing one writer's share had to re-list every work and
65
+ * re-send the whole array — nine reads plus nine writes for one split, with
66
+ * a publisher row one forgotten re-list from being dropped (bff0af25). And nothing
67
+ * edited a recording credit BY ITS ID — beyond the natural-key upsert a
68
+ * change meant remove-then-re-add, losing id and attestation (17f27449). Agents ALREADY reach for this name:
69
+ * `pica_credit_update` was the TOOL_NOT_FOUND miss in ops issue 167bb804,
70
+ * six times across three orgs.
71
+ */
72
+ private creditUpdate;
60
73
  private creditAdd;
61
74
  /**
62
75
  * ADR-232 — pica_credit_remove executor. Atomic DELETE with constant-time
@@ -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;AAmEtE,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;YAqsB3D,kBAAkB;YAyDlB,WAAW;YA2BX,aAAa;IAqO3B;;;;;;;;;;;;;OAaG;YACW,sBAAsB;IAiHpC;;;;;;;;;OASG;YACW,0BAA0B;IA+DxC;;;;;;;;;OASG;YACW,SAAS;IAmKvB;;;;;;;;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;AAoEtE,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;YAgyB3D,kBAAkB;YAyDlB,WAAW;YA2BX,aAAa;IAiP3B;;;;;;;;;;;;;OAaG;YACW,sBAAsB;IA8IpC;;;;;;;;;OASG;YACW,0BAA0B;IA+DxC;;;;;;;;;OASG;IACH;;;;;;;;;;;OAWG;YACW,YAAY;YA8EZ,SAAS;IAmKvB;;;;;;;;OAQG;YACW,YAAY;CAmE3B"}
@@ -1,5 +1,6 @@
1
1
  // Copyright (c) 2025-2026 Withpica Ltd. All rights reserved.
2
2
  import { typedError } from "./error-envelope.js";
3
+ import { parseApiErrorBody } from "./api-error-body.js";
3
4
  import { formatSuccess, formatStructuredList, withBillingGate, mapGapsToHints, } from "@withpica/mcp-utils";
4
5
  import { notifyParties, summarizeNotifications, } from "@withpica/mcp-utils";
5
6
  import { buildIntegrityPressure } from "./integrity-hints.js";
@@ -114,7 +115,10 @@ export class CreditsTools {
114
115
  audiences: ["stdio", "http", "public"],
115
116
  tier: "write",
116
117
  description: "Set the credits on a work — replaces the existing set, and " +
117
- "writer splits must total 100%. Use when the user asks: 'set the " +
118
+ "writer splits must total 100% (±0.01, so a real split sheet " +
119
+ "reading 33.34/33.34/33.33 or 33.33/33.33/33.33 is accepted AS " +
120
+ "SIGNED — never redistribute the odd hundredth yourself; entering " +
121
+ "what the sheet says is the whole job). Use when the user asks: 'set the " +
118
122
  "writers', 'update the splits on this song', 'add the publisher'. " +
119
123
  "Roles route by grain: COMPOSITION roles (writer, composer, " +
120
124
  "lyricist, arranger, publisher, sub-publisher) are stored on " +
@@ -345,6 +349,10 @@ export class CreditsTools {
345
349
  type: "string",
346
350
  description: "Optional free-text notes attached to each created credit row.",
347
351
  },
352
+ instrument: {
353
+ type: "string",
354
+ description: "Optional instrument(s) for this credit, e.g. 'bass' or 'drums, bass', applied on every target recording. Until 2026-09-11 batch mode had no instrument field and crediting an instrumentalist across N recordings took N single calls.",
355
+ },
348
356
  },
349
357
  required: ["credited_name", "role"],
350
358
  },
@@ -620,6 +628,78 @@ export class CreditsTools {
620
628
  },
621
629
  executor: withBillingGate(this.pica, "atomic credit add", this.creditAdd.bind(this)),
622
630
  },
631
+ {
632
+ definition: {
633
+ name: "pica_credit_update",
634
+ scope: "write:catalog",
635
+ audiences: ["stdio", "http"],
636
+ tier: "write",
637
+ description: "Edit ONE existing credit in place — change a writer's share, an " +
638
+ "instrumentalist's instrument, a role, the displayed name or the " +
639
+ "notes — leaving every other credit exactly as it is. Use when the " +
640
+ "user asks: 'change Mary's split to 40', 'set Charlie's instrument " +
641
+ "to bass', 'fix the spelling of this credit'. This is the verb " +
642
+ "between pica_credit_add and pica_credit_remove: it never " +
643
+ "replaces the set (that is pica_credits_update) and never " +
644
+ "deletes-and-recreates, so the credit keeps its id and " +
645
+ "attestation state. Find the credit_id with pica_credits_list. " +
646
+ "Writer-split closure is NOT enforced on a single edit — re-split " +
647
+ "a song one writer at a time; the response's `allocation.status` " +
648
+ "(closed / open / incomplete) tells you whether the set still " +
649
+ "adds up, so you never have to guess or redistribute. " +
650
+ "→ then: pica_credits_list (verify), pica_works_inspect (progress)",
651
+ workflows: ["work-required", "work-credits-required"],
652
+ vernacular_kind: "creator-entry",
653
+ inputSchema: {
654
+ type: "object",
655
+ properties: {
656
+ work_id: {
657
+ type: "string",
658
+ description: "The work the credit belongs to (UUID). The edit is scoped to this work — a credit_id from another work is refused.",
659
+ },
660
+ credit_id: {
661
+ type: "string",
662
+ description: "The credit to edit (UUID) — from pica_credits_list. Works for a composition credit (writer / publisher …) or a recording credit (producer / instrumentalist …) on this work.",
663
+ },
664
+ share_pct: {
665
+ type: ["number", "null"],
666
+ description: "New percentage share (0-100). Pass null to record the share as UNKNOWN — never as 0. Composition credits only.",
667
+ },
668
+ credit_type: {
669
+ type: "string",
670
+ enum: [...WORK_CREDIT_TYPES],
671
+ description: "New credit type / role.",
672
+ },
673
+ credited_name: {
674
+ type: "string",
675
+ description: "New displayed name for this credit.",
676
+ },
677
+ instrument: {
678
+ type: ["string", "null"],
679
+ description: "Instrument(s) for a recording credit, e.g. 'bass' or 'drums, bass'. Pass null to clear. Recording (master) credits only — ignored on a composition credit.",
680
+ },
681
+ notes: {
682
+ type: ["string", "null"],
683
+ description: "Free-text notes. Pass null to clear.",
684
+ },
685
+ },
686
+ required: ["work_id", "credit_id"],
687
+ },
688
+ nextSteps: [
689
+ {
690
+ tool: "pica_credits_list",
691
+ reason: "Verify the edited credit and read the work's current allocation.",
692
+ when: "on_success",
693
+ },
694
+ {
695
+ tool: "pica_works_inspect",
696
+ reason: "Re-inspect the work to see how the change affects completeness.",
697
+ when: "on_success",
698
+ },
699
+ ],
700
+ },
701
+ executor: withBillingGate(this.pica, "atomic credit update", this.creditUpdate.bind(this)),
702
+ },
623
703
  {
624
704
  definition: {
625
705
  name: "pica_credit_remove",
@@ -777,12 +857,23 @@ export class CreditsTools {
777
857
  // mixed write (e.g. writer 50% + producer 40%).
778
858
  const compositionCredits = args.credits.filter((c) => isCompositionRole(c.role));
779
859
  const compositionSplitTotal = compositionCredits.reduce((sum, c) => sum + (c.splits || 0), 0);
780
- if (compositionSplitTotal > 0 && compositionSplitTotal !== 100) {
860
+ // ⚠️ Bounds check, NOT `!== 100`. This pre-flight ran BEFORE the API call,
861
+ // so the route's ±0.01 tolerance (lib/validation/split-closure.ts,
862
+ // SPLIT_CLOSURE_EPSILON) was unreachable from the one tool ops issue
863
+ // c3671d8a came from: 33.34+33.34+33.33 === 100.01 and 33.33*3 === 99.99,
864
+ // both `!== 100`, both refused here while the description promised
865
+ // "accepted AS SIGNED" (review, 2026-09-11). This package cannot import
866
+ // lib/, so the epsilon is restated; the route remains the judge of
867
+ // record and `credits.test.ts` pins that both sheets pass this gate.
868
+ const SPLIT_CLOSURE_EPSILON = 0.01;
869
+ const closes = compositionSplitTotal >= 100 - SPLIT_CLOSURE_EPSILON &&
870
+ compositionSplitTotal <= 100 + SPLIT_CLOSURE_EPSILON;
871
+ if (compositionSplitTotal > 0 && !closes) {
781
872
  return {
782
873
  content: [
783
874
  {
784
875
  type: "text",
785
- text: `Composition splits total ${compositionSplitTotal}%, must be exactly 100% (writer/publisher shares). Recording credits are tracked separately and don't count toward this. Adjust the composition splits and try again.`,
876
+ text: `Composition splits total ${Number.isInteger(compositionSplitTotal) ? compositionSplitTotal : compositionSplitTotal.toFixed(2)}%, must total 100% (±${SPLIT_CLOSURE_EPSILON}; a signed sheet reading 33.34/33.34/33.33 is fine — enter it as written). Recording credits are tracked separately and don't count toward this.`,
786
877
  },
787
878
  ],
788
879
  isError: true,
@@ -967,11 +1058,39 @@ export class CreditsTools {
967
1058
  }
968
1059
  catch (err) {
969
1060
  const errorMessage = err instanceof Error ? err.message : String(err);
970
- // Distinguish person-not-found so the agent can recover via
971
- // pica_people_query surfaces next_tool guidance per ADR-198.
972
- if (/person_id|fk|foreign key|not found/i.test(errorMessage) &&
973
- personId) {
974
- return typedError("PERSON_NOT_FOUND", `Failed to create recording credit — person_id '${personId}' may not exist. Resolve via pica_people_query then retry. Underlying error: ${errorMessage}`);
1061
+ // Which id was not found decides which tool the agent reaches for next,
1062
+ // so read the route's OWN code rather than its prose.
1063
+ //
1064
+ // ⚠️ This branch used to test `/person_id|fk|foreign key|not found/i`
1065
+ // against the whole message. `createCredit` resolves the recording
1066
+ // org-scoped FIRST (`createCredit` in lib/services/recording-credits.ts)
1067
+ // and throws
1068
+ // `RECORDING_NOT_FOUND` — "recording not found in this organisation:
1069
+ // <id>" — which contains "not found", matched here, and sent the agent
1070
+ // to pica_people_query over a person that was never the problem.
1071
+ // Logged on prod as ops issue 8711808a (2026-09-09); the body named
1072
+ // RECORDING_NOT_FOUND and the recording's id the whole time.
1073
+ //
1074
+ // The single-credit path does not org-validate `person_id` at all (only
1075
+ // `bulkApply` does), so a genuine bad person surfaces as an FK violation
1076
+ // from the insert with no route code — hence the split below.
1077
+ const body = parseApiErrorBody(err);
1078
+ if (body.code === "RECORDING_NOT_FOUND") {
1079
+ return typedError("RECORDING_NOT_FOUND", `Failed to create recording credit — recording '${recordingId}' does not exist in this organisation. Resolve via pica_recordings_query then retry. Underlying error: ${errorMessage}`);
1080
+ }
1081
+ // ⚠️ Gate on the route's CODE, not on the absence of one. The first cut
1082
+ // of this fix used `!body.code`, which is never true in production:
1083
+ // `errorResponse` defaults `code` to "INTERNAL_ERROR"
1084
+ // (lib/utils/api-response.ts), so every error body carries one and the
1085
+ // branch was dead. It read as live only because the test fed it a bare
1086
+ // `new Error("foreign key violation on person_id — not found")` — a
1087
+ // shape the SDK cannot produce, since ApiError always prefixes the
1088
+ // status and appends the response body. Caught in review, 2026-09-10.
1089
+ //
1090
+ // `createCredit` now validates person_id org-scoped and throws a named
1091
+ // PERSON_NOT_FOUND, so there is a real code to read.
1092
+ if (body.code === "PERSON_NOT_FOUND") {
1093
+ return typedError("PERSON_NOT_FOUND", `Failed to create recording credit — person_id '${personId}' does not exist in this organisation. Resolve via pica_people_query then retry. Underlying error: ${errorMessage}`);
975
1094
  }
976
1095
  return typedError("RECORDING_CREDIT_CREATE_FAILED", `Failed to create recording credit: ${errorMessage}`);
977
1096
  }
@@ -1071,6 +1190,72 @@ export class CreditsTools {
1071
1190
  * route through RecordingCreditsResource.atomicAdd (POST /admin/recordings/[id]/credits).
1072
1191
  * Both return AtomicCreditResult with credit_id.
1073
1192
  */
1193
+ /**
1194
+ * pica_credit_update — in-place edit of one credit (2026-09-11).
1195
+ *
1196
+ * Closes two ops issues with one verb. `pica_credits_update` is replace-all,
1197
+ * so an agent changing one writer's share had to re-list every work and
1198
+ * re-send the whole array — nine reads plus nine writes for one split, with
1199
+ * a publisher row one forgotten re-list from being dropped (bff0af25). And nothing
1200
+ * edited a recording credit BY ITS ID — beyond the natural-key upsert a
1201
+ * change meant remove-then-re-add, losing id and attestation (17f27449). Agents ALREADY reach for this name:
1202
+ * `pica_credit_update` was the TOOL_NOT_FOUND miss in ops issue 167bb804,
1203
+ * six times across three orgs.
1204
+ */
1205
+ async creditUpdate(args) {
1206
+ const workId = typeof args.work_id === "string" ? args.work_id : "";
1207
+ const creditId = typeof args.credit_id === "string" ? args.credit_id : "";
1208
+ if (!workId || !creditId) {
1209
+ return typedError("VALIDATION_ERROR", "work_id and credit_id are both required — find the credit_id with pica_credits_list.");
1210
+ }
1211
+ const patch = {};
1212
+ if (args.share_pct !== undefined) {
1213
+ const v = args.share_pct;
1214
+ if (v !== null &&
1215
+ (typeof v !== "number" || Number.isNaN(v) || v < 0 || v > 100)) {
1216
+ return typedError("VALIDATION_ERROR", "share_pct must be a number between 0 and 100, or null to record the share as unknown.");
1217
+ }
1218
+ patch.share_pct = v;
1219
+ }
1220
+ for (const key of ["credit_type", "credited_name", "notes", "instrument"]) {
1221
+ if (args[key] !== undefined)
1222
+ patch[key] = args[key];
1223
+ }
1224
+ if (Object.keys(patch).length === 0) {
1225
+ return typedError("VALIDATION_ERROR", "nothing to update — pass at least one of share_pct, credit_type, credited_name, notes, instrument.");
1226
+ }
1227
+ try {
1228
+ const result = await this.pica.credits.atomicUpdate(workId, creditId, patch);
1229
+ const allocation = result?.allocation;
1230
+ const hints = [];
1231
+ if (allocation?.status === "open") {
1232
+ hints.push({
1233
+ gap: "writer_splits_open",
1234
+ suggestion: `Writer shares on this work now total ${allocation.writer_sum ?? "?"}%, not 100. If you are re-splitting one writer at a time, carry on; otherwise ask the user how the remainder is shared — do not redistribute it yourself.`,
1235
+ severity: "important",
1236
+ });
1237
+ }
1238
+ else if (allocation?.status === "incomplete") {
1239
+ hints.push({
1240
+ gap: "writer_share_unknown",
1241
+ suggestion: "At least one writer on this work has no recorded share. Ask the user rather than assuming — an unknown share is stored as null, never invented.",
1242
+ severity: "important",
1243
+ });
1244
+ }
1245
+ return formatSuccess("Credit updated", result, hints);
1246
+ }
1247
+ catch (err) {
1248
+ const message = err instanceof Error ? err.message : String(err);
1249
+ const body = parseApiErrorBody(err);
1250
+ if (body.code === "INSUFFICIENT_SCOPE" || body.status === 403) {
1251
+ 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}`);
1252
+ }
1253
+ if (body.code === "VALIDATION_ERROR" || body.status === 400) {
1254
+ return typedError("VALIDATION_ERROR", body.message ?? message);
1255
+ }
1256
+ return typedError("CREDIT_UPDATE_FAILED", `Failed to update credit: ${message}`);
1257
+ }
1258
+ }
1074
1259
  async creditAdd(args) {
1075
1260
  const entityType = args.entity_type;
1076
1261
  const entityId = args.entity_id;