@withpica/mcp-server 2.7.0 → 2.9.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 (261) hide show
  1. package/dist/__mocks__/mppx-mcp-sdk-server.d.ts +6 -0
  2. package/dist/__mocks__/mppx-mcp-sdk-server.d.ts.map +1 -0
  3. package/dist/__mocks__/mppx-mcp-sdk-server.js +6 -0
  4. package/dist/__mocks__/mppx-mcp-sdk-server.js.map +1 -0
  5. package/dist/__mocks__/mppx-server.d.ts +12 -0
  6. package/dist/__mocks__/mppx-server.d.ts.map +1 -0
  7. package/dist/__mocks__/mppx-server.js +12 -0
  8. package/dist/__mocks__/mppx-server.js.map +1 -0
  9. package/dist/apps/download.d.ts +2 -0
  10. package/dist/apps/download.d.ts.map +1 -0
  11. package/dist/apps/download.js +125 -0
  12. package/dist/apps/download.js.map +1 -0
  13. package/dist/apps/generated/shared-bundle.d.ts +5 -0
  14. package/dist/apps/generated/shared-bundle.d.ts.map +1 -0
  15. package/dist/apps/generated/shared-bundle.js +7 -0
  16. package/dist/apps/generated/shared-bundle.js.map +1 -0
  17. package/dist/apps/shared.d.ts +15 -0
  18. package/dist/apps/shared.d.ts.map +1 -0
  19. package/dist/apps/shared.js +480 -0
  20. package/dist/apps/shared.js.map +1 -0
  21. package/dist/apps/upload.d.ts +2 -0
  22. package/dist/apps/upload.d.ts.map +1 -0
  23. package/dist/apps/upload.js +280 -0
  24. package/dist/apps/upload.js.map +1 -0
  25. package/dist/config.d.ts +9 -30
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/config.js +36 -12
  28. package/dist/config.js.map +1 -1
  29. package/dist/index.js +3 -3
  30. package/dist/index.js.map +1 -1
  31. package/dist/prompts/index.js +24 -24
  32. package/dist/prompts/index.js.map +1 -1
  33. package/dist/resources/index.d.ts +4 -2
  34. package/dist/resources/index.d.ts.map +1 -1
  35. package/dist/resources/index.js +133 -54
  36. package/dist/resources/index.js.map +1 -1
  37. package/dist/resources/llms-primer.d.ts +2 -0
  38. package/dist/resources/llms-primer.d.ts.map +1 -0
  39. package/dist/resources/llms-primer.js +68 -0
  40. package/dist/resources/llms-primer.js.map +1 -0
  41. package/dist/server-instructions.d.ts +9 -0
  42. package/dist/server-instructions.d.ts.map +1 -0
  43. package/dist/server-instructions.js +34 -0
  44. package/dist/server-instructions.js.map +1 -0
  45. package/dist/server.d.ts +17 -0
  46. package/dist/server.d.ts.map +1 -1
  47. package/dist/server.js +103 -14
  48. package/dist/server.js.map +1 -1
  49. package/dist/tools/agreement-types.d.ts +27 -0
  50. package/dist/tools/agreement-types.d.ts.map +1 -0
  51. package/dist/tools/agreement-types.js +387 -0
  52. package/dist/tools/agreement-types.js.map +1 -0
  53. package/dist/tools/agreements.d.ts +20 -0
  54. package/dist/tools/agreements.d.ts.map +1 -0
  55. package/dist/tools/agreements.js +363 -0
  56. package/dist/tools/agreements.js.map +1 -0
  57. package/dist/tools/analytics.d.ts +20 -0
  58. package/dist/tools/analytics.d.ts.map +1 -0
  59. package/dist/tools/analytics.js +124 -0
  60. package/dist/tools/analytics.js.map +1 -0
  61. package/dist/tools/app-tools.d.ts +21 -0
  62. package/dist/tools/app-tools.d.ts.map +1 -0
  63. package/dist/tools/app-tools.js +248 -0
  64. package/dist/tools/app-tools.js.map +1 -0
  65. package/dist/tools/assets.d.ts +25 -0
  66. package/dist/tools/assets.d.ts.map +1 -0
  67. package/dist/tools/assets.js +631 -0
  68. package/dist/tools/assets.js.map +1 -0
  69. package/dist/tools/audio-files.d.ts +20 -0
  70. package/dist/tools/audio-files.d.ts.map +1 -0
  71. package/dist/tools/audio-files.js +384 -0
  72. package/dist/tools/audio-files.js.map +1 -0
  73. package/dist/tools/auth.d.ts +22 -0
  74. package/dist/tools/auth.d.ts.map +1 -0
  75. package/dist/tools/auth.js +210 -0
  76. package/dist/tools/auth.js.map +1 -0
  77. package/dist/tools/bulk.d.ts +16 -0
  78. package/dist/tools/bulk.d.ts.map +1 -0
  79. package/dist/tools/bulk.js +85 -0
  80. package/dist/tools/bulk.js.map +1 -0
  81. package/dist/tools/calendar.d.ts +15 -0
  82. package/dist/tools/calendar.d.ts.map +1 -0
  83. package/dist/tools/calendar.js +67 -0
  84. package/dist/tools/calendar.js.map +1 -0
  85. package/dist/tools/collaborators.d.ts +21 -0
  86. package/dist/tools/collaborators.d.ts.map +1 -0
  87. package/dist/tools/collaborators.js +311 -0
  88. package/dist/tools/collaborators.js.map +1 -0
  89. package/dist/tools/comparisons.d.ts +22 -0
  90. package/dist/tools/comparisons.d.ts.map +1 -0
  91. package/dist/tools/comparisons.js +78 -0
  92. package/dist/tools/comparisons.js.map +1 -0
  93. package/dist/tools/credits.d.ts +17 -0
  94. package/dist/tools/credits.d.ts.map +1 -0
  95. package/dist/tools/credits.js +312 -0
  96. package/dist/tools/credits.js.map +1 -0
  97. package/dist/tools/custody-hints.d.ts +16 -0
  98. package/dist/tools/custody-hints.d.ts.map +1 -0
  99. package/dist/tools/custody-hints.js +27 -0
  100. package/dist/tools/custody-hints.js.map +1 -0
  101. package/dist/tools/custody.d.ts +38 -0
  102. package/dist/tools/custody.d.ts.map +1 -0
  103. package/dist/tools/custody.js +274 -0
  104. package/dist/tools/custody.js.map +1 -0
  105. package/dist/tools/dashboard.d.ts +19 -0
  106. package/dist/tools/dashboard.d.ts.map +1 -0
  107. package/dist/tools/dashboard.js +146 -0
  108. package/dist/tools/dashboard.js.map +1 -0
  109. package/dist/tools/directory.d.ts +15 -0
  110. package/dist/tools/directory.d.ts.map +1 -0
  111. package/dist/tools/directory.js +106 -0
  112. package/dist/tools/directory.js.map +1 -0
  113. package/dist/tools/discovery.d.ts +28 -0
  114. package/dist/tools/discovery.d.ts.map +1 -0
  115. package/dist/tools/discovery.js +560 -0
  116. package/dist/tools/discovery.js.map +1 -0
  117. package/dist/tools/disputes.d.ts +18 -0
  118. package/dist/tools/disputes.d.ts.map +1 -0
  119. package/dist/tools/disputes.js +61 -0
  120. package/dist/tools/disputes.js.map +1 -0
  121. package/dist/tools/documents.d.ts +15 -0
  122. package/dist/tools/documents.d.ts.map +1 -0
  123. package/dist/tools/documents.js +36 -0
  124. package/dist/tools/documents.js.map +1 -0
  125. package/dist/tools/duplicates.d.ts +16 -0
  126. package/dist/tools/duplicates.d.ts.map +1 -0
  127. package/dist/tools/duplicates.js +87 -0
  128. package/dist/tools/duplicates.js.map +1 -0
  129. package/dist/tools/enrichment.d.ts +23 -0
  130. package/dist/tools/enrichment.d.ts.map +1 -0
  131. package/dist/tools/enrichment.js +220 -0
  132. package/dist/tools/enrichment.js.map +1 -0
  133. package/dist/tools/exports.d.ts +19 -0
  134. package/dist/tools/exports.d.ts.map +1 -0
  135. package/dist/tools/exports.js +175 -0
  136. package/dist/tools/exports.js.map +1 -0
  137. package/dist/tools/import-documents.d.ts +21 -0
  138. package/dist/tools/import-documents.d.ts.map +1 -0
  139. package/dist/tools/import-documents.js +203 -0
  140. package/dist/tools/import-documents.js.map +1 -0
  141. package/dist/tools/import.d.ts +30 -0
  142. package/dist/tools/import.d.ts.map +1 -0
  143. package/dist/tools/import.js +455 -0
  144. package/dist/tools/import.js.map +1 -0
  145. package/dist/tools/index.d.ts +67 -5
  146. package/dist/tools/index.d.ts.map +1 -1
  147. package/dist/tools/index.js +448 -84
  148. package/dist/tools/index.js.map +1 -1
  149. package/dist/tools/integrations.d.ts +15 -0
  150. package/dist/tools/integrations.d.ts.map +1 -0
  151. package/dist/tools/integrations.js +100 -0
  152. package/dist/tools/integrations.js.map +1 -0
  153. package/dist/tools/licensing.d.ts +40 -0
  154. package/dist/tools/licensing.d.ts.map +1 -0
  155. package/dist/tools/licensing.js +431 -0
  156. package/dist/tools/licensing.js.map +1 -0
  157. package/dist/tools/memory.d.ts +21 -0
  158. package/dist/tools/memory.d.ts.map +1 -0
  159. package/dist/tools/memory.js +116 -0
  160. package/dist/tools/memory.js.map +1 -0
  161. package/dist/tools/metadata.d.ts +15 -0
  162. package/dist/tools/metadata.d.ts.map +1 -0
  163. package/dist/tools/metadata.js +1106 -0
  164. package/dist/tools/metadata.js.map +1 -0
  165. package/dist/tools/multimedia.d.ts +19 -0
  166. package/dist/tools/multimedia.d.ts.map +1 -0
  167. package/dist/tools/multimedia.js +291 -0
  168. package/dist/tools/multimedia.js.map +1 -0
  169. package/dist/tools/notes.d.ts +21 -0
  170. package/dist/tools/notes.d.ts.map +1 -0
  171. package/dist/tools/notes.js +108 -0
  172. package/dist/tools/notes.js.map +1 -0
  173. package/dist/tools/notifications.d.ts +20 -0
  174. package/dist/tools/notifications.d.ts.map +1 -0
  175. package/dist/tools/notifications.js +266 -0
  176. package/dist/tools/notifications.js.map +1 -0
  177. package/dist/tools/people.d.ts +5 -13
  178. package/dist/tools/people.d.ts.map +1 -1
  179. package/dist/tools/people.js +148 -109
  180. package/dist/tools/people.js.map +1 -1
  181. package/dist/tools/projects.d.ts +19 -0
  182. package/dist/tools/projects.d.ts.map +1 -0
  183. package/dist/tools/projects.js +140 -0
  184. package/dist/tools/projects.js.map +1 -0
  185. package/dist/tools/publishers.d.ts +16 -0
  186. package/dist/tools/publishers.d.ts.map +1 -0
  187. package/dist/tools/publishers.js +69 -0
  188. package/dist/tools/publishers.js.map +1 -0
  189. package/dist/tools/purchases.d.ts +15 -0
  190. package/dist/tools/purchases.d.ts.map +1 -0
  191. package/dist/tools/purchases.js +63 -0
  192. package/dist/tools/purchases.js.map +1 -0
  193. package/dist/tools/recordings.d.ts +35 -35
  194. package/dist/tools/recordings.d.ts.map +1 -1
  195. package/dist/tools/recordings.js +136 -48
  196. package/dist/tools/recordings.js.map +1 -1
  197. package/dist/tools/recovery-hints.d.ts +14 -0
  198. package/dist/tools/recovery-hints.d.ts.map +1 -0
  199. package/dist/tools/recovery-hints.js +277 -0
  200. package/dist/tools/recovery-hints.js.map +1 -0
  201. package/dist/tools/releases.d.ts +18 -0
  202. package/dist/tools/releases.d.ts.map +1 -0
  203. package/dist/tools/releases.js +128 -0
  204. package/dist/tools/releases.js.map +1 -0
  205. package/dist/tools/royalties.d.ts +23 -0
  206. package/dist/tools/royalties.d.ts.map +1 -0
  207. package/dist/tools/royalties.js +257 -0
  208. package/dist/tools/royalties.js.map +1 -0
  209. package/dist/tools/search.d.ts +1 -1
  210. package/dist/tools/search.d.ts.map +1 -1
  211. package/dist/tools/search.js +3 -3
  212. package/dist/tools/search.js.map +1 -1
  213. package/dist/tools/send.d.ts +17 -0
  214. package/dist/tools/send.d.ts.map +1 -0
  215. package/dist/tools/send.js +185 -0
  216. package/dist/tools/send.js.map +1 -0
  217. package/dist/tools/sessions.d.ts +18 -0
  218. package/dist/tools/sessions.d.ts.map +1 -0
  219. package/dist/tools/sessions.js +115 -0
  220. package/dist/tools/sessions.js.map +1 -0
  221. package/dist/tools/settings.d.ts +18 -0
  222. package/dist/tools/settings.d.ts.map +1 -0
  223. package/dist/tools/settings.js +96 -0
  224. package/dist/tools/settings.js.map +1 -0
  225. package/dist/tools/share-links.d.ts +19 -0
  226. package/dist/tools/share-links.d.ts.map +1 -0
  227. package/dist/tools/share-links.js +121 -0
  228. package/dist/tools/share-links.js.map +1 -0
  229. package/dist/tools/split-sheets.d.ts +25 -0
  230. package/dist/tools/split-sheets.d.ts.map +1 -0
  231. package/dist/tools/split-sheets.js +307 -0
  232. package/dist/tools/split-sheets.js.map +1 -0
  233. package/dist/tools/team.d.ts +22 -0
  234. package/dist/tools/team.d.ts.map +1 -0
  235. package/dist/tools/team.js +134 -0
  236. package/dist/tools/team.js.map +1 -0
  237. package/dist/tools/telegram.d.ts +21 -0
  238. package/dist/tools/telegram.d.ts.map +1 -0
  239. package/dist/tools/telegram.js +141 -0
  240. package/dist/tools/telegram.js.map +1 -0
  241. package/dist/tools/uploads.d.ts +17 -0
  242. package/dist/tools/uploads.d.ts.map +1 -0
  243. package/dist/tools/uploads.js +156 -0
  244. package/dist/tools/uploads.js.map +1 -0
  245. package/dist/tools/works.d.ts +5 -13
  246. package/dist/tools/works.d.ts.map +1 -1
  247. package/dist/tools/works.js +219 -116
  248. package/dist/tools/works.js.map +1 -1
  249. package/package.json +1 -1
  250. package/dist/pica-sdk.d.ts +0 -1231
  251. package/dist/pica-sdk.d.ts.map +0 -1
  252. package/dist/pica-sdk.js +0 -1403
  253. package/dist/pica-sdk.js.map +0 -1
  254. package/dist/utils/errors.d.ts +0 -29
  255. package/dist/utils/errors.d.ts.map +0 -1
  256. package/dist/utils/errors.js +0 -115
  257. package/dist/utils/errors.js.map +0 -1
  258. package/dist/utils/formatting.d.ts +0 -82
  259. package/dist/utils/formatting.d.ts.map +0 -1
  260. package/dist/utils/formatting.js +0 -125
  261. package/dist/utils/formatting.js.map +0 -1
@@ -0,0 +1,69 @@
1
+ // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
+ import { formatStructuredList, formatSuccess } from "@withpica/mcp-utils";
3
+ export class PublishersTools {
4
+ pica;
5
+ constructor(pica) {
6
+ this.pica = pica;
7
+ }
8
+ getTools() {
9
+ return [
10
+ {
11
+ definition: {
12
+ name: "pica_publishers_query",
13
+ description: "Find publishers by name or IPI. Use before setting publisher on credits. " +
14
+ "→ then: pica_credits_update (link publisher to a credit)",
15
+ inputSchema: {
16
+ type: "object",
17
+ properties: {
18
+ query: {
19
+ type: "string",
20
+ description: "Search by publisher name or IPI",
21
+ },
22
+ limit: {
23
+ type: "number",
24
+ description: "Max results (default: 50)",
25
+ },
26
+ },
27
+ },
28
+ },
29
+ executor: this.queryPublishers.bind(this),
30
+ },
31
+ {
32
+ definition: {
33
+ name: "pica_publishers_create",
34
+ description: "Create a new publisher record. Check pica_publishers_query first to avoid duplicates.",
35
+ inputSchema: {
36
+ type: "object",
37
+ properties: {
38
+ name: { type: "string", description: "Publisher name" },
39
+ ipi: {
40
+ type: "string",
41
+ description: "Publisher IPI number (9-11 digits)",
42
+ },
43
+ },
44
+ required: ["name"],
45
+ },
46
+ },
47
+ executor: this.createPublisher.bind(this),
48
+ },
49
+ ];
50
+ }
51
+ async queryPublishers(args) {
52
+ const result = await this.pica.publishers.list({
53
+ query: args.query,
54
+ limit: args.limit || 50,
55
+ });
56
+ const publishers = Array.isArray(result) ? result : result?.data || [];
57
+ return formatStructuredList(publishers, "publisher", {
58
+ total: publishers.length,
59
+ });
60
+ }
61
+ async createPublisher(args) {
62
+ const result = await this.pica.publishers.create({
63
+ name: args.name,
64
+ ipi: args.ipi,
65
+ });
66
+ return formatSuccess("Publisher created", result);
67
+ }
68
+ }
69
+ //# sourceMappingURL=publishers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishers.js","sourceRoot":"","sources":["../../src/tools/publishers.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAQ7D,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE1E,MAAM,OAAO,eAAe;IAClB,IAAI,CAAa;IAEzB,YAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,OAAO;YACL;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,uBAAuB;oBAC7B,WAAW,EACT,2EAA2E;wBAC3E,0DAA0D;oBAC5D,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,iCAAiC;6BAC/C;4BACD,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,2BAA2B;6BACzC;yBACF;qBACF;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;aAC1C;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,wBAAwB;oBAC9B,WAAW,EACT,uFAAuF;oBACzF,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE;4BACvD,GAAG,EAAE;gCACH,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,oCAAoC;6BAClD;yBACF;wBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACnB;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;aAC1C;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,IAA6B;QAE7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAC7C,KAAK,EAAE,IAAI,CAAC,KAA2B;YACvC,KAAK,EAAG,IAAI,CAAC,KAAgB,IAAI,EAAE;SACpC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACvE,OAAO,oBAAoB,CAAC,UAAU,EAAE,WAAW,EAAE;YACnD,KAAK,EAAE,UAAU,CAAC,MAAM;SACzB,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,IAA6B;QAE7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC/C,IAAI,EAAE,IAAI,CAAC,IAAc;YACzB,GAAG,EAAE,IAAI,CAAC,GAAyB;SACpC,CAAC,CAAC;QACH,OAAO,aAAa,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Purchase Tools - MCP tools for buying Pica credits
3
+ */
4
+ import { PicaClient } from "@withpica/mcp-sdk";
5
+ import { ToolDefinition, ToolExecutor } from "./index.js";
6
+ export declare class PurchasesTools {
7
+ private pica;
8
+ constructor(pica: PicaClient);
9
+ getTools(): Array<{
10
+ definition: ToolDefinition;
11
+ executor: ToolExecutor;
12
+ }>;
13
+ private purchaseCredits;
14
+ }
15
+ //# sourceMappingURL=purchases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purchases.d.ts","sourceRoot":"","sources":["../../src/tools/purchases.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1D,qBAAa,cAAc;IACzB,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;YA4C3D,eAAe;CAkB9B"}
@@ -0,0 +1,63 @@
1
+ // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
+ import { formatSuccess } from "@withpica/mcp-utils";
3
+ export class PurchasesTools {
4
+ pica;
5
+ constructor(pica) {
6
+ this.pica = pica;
7
+ }
8
+ getTools() {
9
+ return [
10
+ {
11
+ definition: {
12
+ name: "pica_credits_purchase",
13
+ description: "Get a checkout link to purchase Pica credits. Returns a Stripe checkout URL the user can open to buy credits. " +
14
+ "Packages: pica_10 (10 credits), pica_25 (25 credits, best value), pica_50 (50 credits), pica_100 (100 credits). " +
15
+ "Currencies: GBP, USD, EUR, CAD, AUD, ZAR, NGN, KES, BRL, MXN. " +
16
+ "→ then: pica_credits_balance (verify purchase landed)",
17
+ inputSchema: {
18
+ type: "object",
19
+ properties: {
20
+ package_id: {
21
+ type: "string",
22
+ enum: ["pica_10", "pica_25", "pica_50", "pica_100"],
23
+ description: "Credit package. pica_25 is most popular.",
24
+ },
25
+ currency: {
26
+ type: "string",
27
+ enum: [
28
+ "GBP",
29
+ "USD",
30
+ "EUR",
31
+ "CAD",
32
+ "AUD",
33
+ "ZAR",
34
+ "NGN",
35
+ "KES",
36
+ "BRL",
37
+ "MXN",
38
+ ],
39
+ description: "Payment currency (default: GBP). Emerging markets use PPP pricing.",
40
+ },
41
+ },
42
+ required: ["package_id"],
43
+ },
44
+ },
45
+ executor: this.purchaseCredits.bind(this),
46
+ },
47
+ ];
48
+ }
49
+ async purchaseCredits(args) {
50
+ const result = await this.pica.creditsBalance.purchase({
51
+ package_id: args.package_id,
52
+ currency: args.currency || "GBP",
53
+ });
54
+ const data = result.data || result;
55
+ const safeData = {
56
+ checkout_url: data.checkout_url,
57
+ package_id: args.package_id,
58
+ currency: args.currency || "GBP",
59
+ };
60
+ return formatSuccess(`Checkout link ready. Share this URL with the user to complete the purchase:\n${safeData.checkout_url}`, safeData);
61
+ }
62
+ }
63
+ //# sourceMappingURL=purchases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purchases.js","sourceRoot":"","sources":["../../src/tools/purchases.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAQ7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,OAAO,cAAc;IACjB,IAAI,CAAa;IAEzB,YAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,OAAO;YACL;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,uBAAuB;oBAC7B,WAAW,EACT,gHAAgH;wBAChH,kHAAkH;wBAClH,gEAAgE;wBAChE,uDAAuD;oBACzD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,UAAU,EAAE;gCACV,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC;gCACnD,WAAW,EAAE,0CAA0C;6BACxD;4BACD,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE;oCACJ,KAAK;oCACL,KAAK;oCACL,KAAK;oCACL,KAAK;oCACL,KAAK;oCACL,KAAK;oCACL,KAAK;oCACL,KAAK;oCACL,KAAK;oCACL,KAAK;iCACN;gCACD,WAAW,EACT,oEAAoE;6BACvE;yBACF;wBACD,QAAQ,EAAE,CAAC,YAAY,CAAC;qBACzB;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;aAC1C;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAAyB;QACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YACrD,UAAU,EAAE,IAAI,CAAC,UAAoB;YACrC,QAAQ,EAAG,IAAI,CAAC,QAAmB,IAAI,KAAK;SAC7C,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;QACnC,MAAM,QAAQ,GAAG;YACf,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;SACjC,CAAC;QAEF,OAAO,aAAa,CAClB,gFAAgF,QAAQ,CAAC,YAAY,EAAE,EACvG,QAAQ,CACT,CAAC;IACJ,CAAC;CACF"}
@@ -1,41 +1,41 @@
1
1
  /**
2
2
  * Recordings Tools - MCP tools for managing recordings
3
+ *
4
+ * ADR-149 Phase 5b: Consolidated to query+inspect pattern.
5
+ * - pica_recordings_query replaces pica_recordings_list + pica_recordings_by_work
6
+ * - pica_recordings_inspect replaces pica_recordings_get (with sections support)
3
7
  */
4
- import { PicaClient } from "../pica-sdk.js";
8
+ import { PicaClient } from "@withpica/mcp-sdk";
5
9
  import { ToolDefinition, ToolExecutor } from "./index.js";
6
10
  export declare class RecordingsTools {
7
- private pica;
8
- constructor(pica: PicaClient);
9
- /**
10
- * Get all recordings tools
11
- */
12
- getTools(): Array<{
13
- definition: ToolDefinition;
14
- executor: ToolExecutor;
15
- }>;
16
- /**
17
- * List recordings
18
- */
19
- private listRecordings;
20
- /**
21
- * Get recording by ID
22
- */
23
- private getRecording;
24
- /**
25
- * Create recording
26
- */
27
- private createRecording;
28
- /**
29
- * Update recording
30
- */
31
- private updateRecording;
32
- /**
33
- * Delete recording
34
- */
35
- private deleteRecording;
36
- /**
37
- * Get recordings by work
38
- */
39
- private getRecordingsByWork;
11
+ private pica;
12
+ constructor(pica: PicaClient);
13
+ /**
14
+ * Get all recordings tools
15
+ */
16
+ getTools(): Array<{
17
+ definition: ToolDefinition;
18
+ executor: ToolExecutor;
19
+ }>;
20
+ /**
21
+ * Query recordings — list all, search by text, or filter by work
22
+ */
23
+ private queryRecordings;
24
+ /**
25
+ * Inspect a recording get details with optional section filtering
26
+ */
27
+ private inspectRecording;
28
+ /**
29
+ * Create recording
30
+ */
31
+ private createRecording;
32
+ /**
33
+ * Update recording
34
+ */
35
+ private updateRecording;
36
+ /**
37
+ * Delete recording
38
+ */
39
+ private deleteRecording;
40
40
  }
41
- //# sourceMappingURL=recordings.d.ts.map
41
+ //# sourceMappingURL=recordings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recordings.d.ts","sourceRoot":"","sources":["../../src/tools/recordings.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAOtE,qBAAa,eAAe;IAC1B,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;IAqOzE;;OAEG;YACW,cAAc;IAU5B;;OAEG;YACW,YAAY;IAY1B;;OAEG;YACW,eAAe;IAQ7B;;OAEG;YACW,eAAe;IAQ7B;;OAEG;YACW,eAAe;IAO7B;;OAEG;YACW,mBAAmB;CASlC"}
1
+ {"version":3,"file":"recordings.d.ts","sourceRoot":"","sources":["../../src/tools/recordings.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAOtE,qBAAa,eAAe;IAC1B,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;IAyOzE;;OAEG;YACW,eAAe;IAkC7B;;OAEG;YACW,gBAAgB;IA8F9B;;OAEG;YACW,eAAe;IAU7B;;OAEG;YACW,eAAe;IAW7B;;OAEG;YACW,eAAe;CAM9B"}
@@ -1,5 +1,5 @@
1
1
  // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
- import { formatAsText, formatSuccess, formatStructuredList, } from "../utils/formatting.js";
2
+ import { formatSuccess, formatStructuredList, } from "@withpica/mcp-utils";
3
3
  export class RecordingsTools {
4
4
  pica;
5
5
  constructor(pica) {
@@ -12,24 +12,34 @@ export class RecordingsTools {
12
12
  return [
13
13
  {
14
14
  definition: {
15
- name: "pica_recordings_list",
16
- description: "List recordings from PICA catalog",
15
+ name: "pica_recordings_query",
16
+ description: "Find recordings list all, search by query, or filter by work. " +
17
+ "→ then: pica_recordings_inspect (details for a specific recording)",
17
18
  inputSchema: {
18
19
  type: "object",
19
20
  properties: {
21
+ query: {
22
+ type: "string",
23
+ description: "Search by title, ISRC, or artist name",
24
+ },
25
+ work_id: {
26
+ type: "string",
27
+ description: "Filter recordings by work ID (replaces pica_recordings_by_work)",
28
+ },
20
29
  limit: {
21
30
  type: "number",
22
- description: "Maximum number of results to return (default: 50)",
31
+ description: "Max results (default: 50)",
23
32
  },
24
33
  },
25
34
  },
26
35
  },
27
- executor: this.listRecordings.bind(this),
36
+ executor: this.queryRecordings.bind(this),
28
37
  },
29
38
  {
30
39
  definition: {
31
- name: "pica_recordings_get",
32
- description: "Get details of a specific recording by ID",
40
+ name: "pica_recordings_inspect",
41
+ description: "Get details for a specific recording. Omit sections for everything. " +
42
+ "→ then: pica_audio_query (audio files), pica_credits_update (fix credits)",
33
43
  inputSchema: {
34
44
  type: "object",
35
45
  properties: {
@@ -37,21 +47,29 @@ export class RecordingsTools {
37
47
  type: "string",
38
48
  description: "Recording ID",
39
49
  },
50
+ sections: {
51
+ type: "array",
52
+ items: {
53
+ type: "string",
54
+ enum: ["basic", "credits", "audio", "production_assets"],
55
+ },
56
+ description: 'Which data sections to include. Omit for all sections. Use ["basic"] for lightweight lookup.',
57
+ },
40
58
  },
41
59
  required: ["id"],
42
60
  },
43
61
  },
44
- executor: this.getRecording.bind(this),
62
+ executor: this.inspectRecording.bind(this),
45
63
  },
46
64
  {
47
65
  definition: {
48
66
  name: "pica_recordings_create",
49
- description: "Create a new recording. IMPORTANT: Always call pica_recordings_by_work first to check for existing recordings on this work — duplicate recordings cause ISRC conflicts. " +
67
+ description: "Create a new recording. IMPORTANT: Always call pica_recordings_query with work_id first to check for existing recordings on this work — duplicate recordings cause ISRC conflicts. " +
50
68
  "Any field from the Recording schema can be passed — " +
51
69
  "the most commonly used fields are listed below. Additional fields " +
52
70
  "(e.g. mlc_recording_id, mlc_song_code, global_recording_id, global_release_id) " +
53
71
  "are also accepted. " +
54
- "→ before: pica_recordings_by_work (check duplicates) → then: pica_audio_presigned_upload (upload audio), pica_audio_analyze (extract features)",
72
+ "→ before: pica_recordings_query (check duplicates) → then: pica_audio_presigned_upload (upload audio), pica_audio_analyze (extract features)",
55
73
  inputSchema: {
56
74
  type: "object",
57
75
  properties: {
@@ -123,7 +141,7 @@ export class RecordingsTools {
123
141
  name: "pica_recordings_update",
124
142
  description: "Update an existing recording. Any field from the Recording schema can be passed — " +
125
143
  "the most commonly used fields are listed below. Additional fields are also accepted. " +
126
- "→ then: pica_recordings_get (verify changes persisted)",
144
+ "→ then: pica_recordings_inspect (verify changes persisted)",
127
145
  inputSchema: {
128
146
  type: "object",
129
147
  properties: {
@@ -207,30 +225,33 @@ export class RecordingsTools {
207
225
  },
208
226
  executor: this.deleteRecording.bind(this),
209
227
  },
210
- {
211
- definition: {
212
- name: "pica_recordings_by_work",
213
- description: "Get all recordings of a specific work",
214
- inputSchema: {
215
- type: "object",
216
- properties: {
217
- work_id: {
218
- type: "string",
219
- description: "Work ID",
220
- },
221
- },
222
- required: ["work_id"],
223
- },
224
- },
225
- executor: this.getRecordingsByWork.bind(this),
226
- },
227
228
  ];
228
229
  }
229
230
  /**
230
- * List recordings
231
+ * Query recordings — list all, search by text, or filter by work
231
232
  */
232
- async listRecordings(args) {
233
+ async queryRecordings(args) {
233
234
  const limit = args.limit || 50;
235
+ const workId = args.work_id;
236
+ const query = args.query;
237
+ // Filter by work_id — delegate to getByWork
238
+ if (workId) {
239
+ const recordings = await this.pica.recordings.getByWork(workId);
240
+ return formatStructuredList(recordings, "recording", {
241
+ work_id: workId,
242
+ total: recordings.length,
243
+ });
244
+ }
245
+ // Search by text query — delegate to search method (client-side filtering)
246
+ if (query) {
247
+ const result = await this.pica.recordings.search({ query, limit });
248
+ return formatStructuredList(result.data, "recording", {
249
+ query,
250
+ total: result.total,
251
+ hasMore: result.hasMore,
252
+ });
253
+ }
254
+ // Default: list all
234
255
  const recordings = await this.pica.recordings.list({ limit });
235
256
  return formatStructuredList(recordings, "recording", {
236
257
  total: recordings.length,
@@ -238,16 +259,93 @@ export class RecordingsTools {
238
259
  });
239
260
  }
240
261
  /**
241
- * Get recording by ID
262
+ * Inspect a recording get details with optional section filtering
242
263
  */
243
- async getRecording(args) {
244
- const recording = await this.pica.recordings.get(args.id);
245
- // Enrich with ISRC prefix intelligence if ISRC is present
246
- let prefix_intel = null;
247
- if (recording.isrc) {
248
- prefix_intel = await this.pica.recordings.prefixLookup(recording.isrc);
264
+ async inspectRecording(args) {
265
+ const id = args.id;
266
+ const sections = args.sections;
267
+ const allSections = !sections || sections.length === 0;
268
+ const result = {};
269
+ // Basic section: recording details + ISRC prefix intel
270
+ if (allSections || sections?.includes("basic")) {
271
+ try {
272
+ const recording = await this.pica.recordings.get(id);
273
+ result.recording = recording;
274
+ // Enrich with ISRC prefix intelligence if ISRC is present
275
+ if (recording.isrc) {
276
+ const prefixIntel = await this.pica.recordings.prefixLookup(recording.isrc);
277
+ if (prefixIntel) {
278
+ result.prefix_intel = prefixIntel;
279
+ }
280
+ }
281
+ }
282
+ catch (error) {
283
+ result.recording_error =
284
+ error instanceof Error ? error.message : "Failed to fetch recording";
285
+ }
286
+ }
287
+ // Credits section: work credits (via recording's parent work)
288
+ if (allSections || sections?.includes("credits")) {
289
+ try {
290
+ // We need the recording to get its work_id
291
+ const recording = result.recording ||
292
+ (await this.pica.recordings.get(id));
293
+ const workId = recording.work_id;
294
+ if (workId) {
295
+ const credits = await this.pica.credits.listForWork(workId);
296
+ result.credits = credits;
297
+ }
298
+ else {
299
+ result.credits = [];
300
+ result.credits_note = "No parent work linked — no credits available";
301
+ }
302
+ }
303
+ catch (error) {
304
+ result.credits_error =
305
+ error instanceof Error ? error.message : "Failed to fetch credits";
306
+ }
307
+ }
308
+ // Audio section: audio files linked to the parent work
309
+ if (allSections || sections?.includes("audio")) {
310
+ try {
311
+ const recording = result.recording ||
312
+ (await this.pica.recordings.get(id));
313
+ const workId = recording.work_id;
314
+ if (workId) {
315
+ const audioFiles = await this.pica.audioFiles.list({
316
+ work_id: workId,
317
+ });
318
+ result.audio_files = audioFiles;
319
+ }
320
+ else {
321
+ result.audio_files = [];
322
+ result.audio_note =
323
+ "No parent work linked — no audio files available";
324
+ }
325
+ }
326
+ catch (error) {
327
+ result.audio_error =
328
+ error instanceof Error
329
+ ? error.message
330
+ : "Failed to fetch audio files";
331
+ }
249
332
  }
250
- return formatAsText({ ...recording, prefix_intel });
333
+ // ADR-156 op #3 Session B Task 5 — surface linked physical assets
334
+ // so the inspect tool is discoverable from the recording side.
335
+ if (allSections || sections?.includes("production_assets")) {
336
+ try {
337
+ result.production_assets =
338
+ await this.pica.recordings.listProductionAssets(id);
339
+ }
340
+ catch (error) {
341
+ result.production_assets = [];
342
+ result.production_assets_error =
343
+ error instanceof Error
344
+ ? error.message
345
+ : "Failed to fetch production assets";
346
+ }
347
+ }
348
+ return formatSuccess("Recording details", result);
251
349
  }
252
350
  /**
253
351
  * Create recording
@@ -273,15 +371,5 @@ export class RecordingsTools {
273
371
  await this.pica.recordings.delete(args.id);
274
372
  return formatSuccess(`Recording ${args.id} deleted successfully`);
275
373
  }
276
- /**
277
- * Get recordings by work
278
- */
279
- async getRecordingsByWork(args) {
280
- const recordings = await this.pica.recordings.getByWork(args.work_id);
281
- return formatStructuredList(recordings, "recording", {
282
- work_id: args.work_id,
283
- total: recordings.length,
284
- });
285
- }
286
374
  }
287
375
  //# sourceMappingURL=recordings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recordings.js","sourceRoot":"","sources":["../../src/tools/recordings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recordings.js","sourceRoot":"","sources":["../../src/tools/recordings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Recovery Hints Registry — ADR-149 Phase 2
3
+ *
4
+ * Per-tool failure-mode declarations. When a tool fails, the hint tells
5
+ * the AI what to try next — forming a recovery graph.
6
+ */
7
+ export interface RecoveryHint {
8
+ error_code: string;
9
+ suggestion: string;
10
+ next_tool?: string;
11
+ }
12
+ export declare const RECOVERY_HINTS: Record<string, RecoveryHint[]>;
13
+ export declare function getRecoveryHint(toolName: string, errorCode: string): RecoveryHint | undefined;
14
+ //# sourceMappingURL=recovery-hints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovery-hints.d.ts","sourceRoot":"","sources":["../../src/tools/recovery-hints.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CA+QzD,CAAC;AAEF,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,YAAY,GAAG,SAAS,CAI1B"}