@withpica/mcp-server 2.5.2 → 2.6.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 (275) hide show
  1. package/assets/fonts/GeistSans-Light.woff2 +0 -0
  2. package/assets/fonts/InstrumentSerif-Italic.woff2 +0 -0
  3. package/assets/fonts/InstrumentSerif-Regular.woff2 +0 -0
  4. package/dist/apps/download.d.ts +2 -0
  5. package/dist/apps/download.d.ts.map +1 -0
  6. package/dist/apps/download.js +125 -0
  7. package/dist/apps/download.js.map +1 -0
  8. package/dist/apps/generated/shared-bundle.d.ts +5 -0
  9. package/dist/apps/generated/shared-bundle.d.ts.map +1 -0
  10. package/dist/apps/generated/shared-bundle.js +7 -0
  11. package/dist/apps/generated/shared-bundle.js.map +1 -0
  12. package/dist/apps/shared.d.ts +15 -0
  13. package/dist/apps/shared.d.ts.map +1 -0
  14. package/dist/apps/shared.js +480 -0
  15. package/dist/apps/shared.js.map +1 -0
  16. package/dist/apps/upload.d.ts +2 -0
  17. package/dist/apps/upload.d.ts.map +1 -0
  18. package/dist/apps/upload.js +280 -0
  19. package/dist/apps/upload.js.map +1 -0
  20. package/dist/config.d.ts +4 -25
  21. package/dist/config.d.ts.map +1 -1
  22. package/dist/config.js +30 -12
  23. package/dist/config.js.map +1 -1
  24. package/dist/index.js +3 -3
  25. package/dist/index.js.map +1 -1
  26. package/dist/prompts/index.js +24 -24
  27. package/dist/prompts/index.js.map +1 -1
  28. package/dist/resources/index.d.ts +4 -2
  29. package/dist/resources/index.d.ts.map +1 -1
  30. package/dist/resources/index.js +133 -54
  31. package/dist/resources/index.js.map +1 -1
  32. package/dist/resources/llms-primer.d.ts +1 -1
  33. package/dist/resources/llms-primer.d.ts.map +1 -1
  34. package/dist/resources/llms-primer.js +4 -4
  35. package/dist/server-instructions.d.ts +9 -0
  36. package/dist/server-instructions.d.ts.map +1 -0
  37. package/dist/server-instructions.js +34 -0
  38. package/dist/server-instructions.js.map +1 -0
  39. package/dist/server.d.ts +4 -0
  40. package/dist/server.d.ts.map +1 -1
  41. package/dist/server.js +46 -12
  42. package/dist/server.js.map +1 -1
  43. package/dist/tools/agreement-types.d.ts +10 -20
  44. package/dist/tools/agreement-types.d.ts.map +1 -1
  45. package/dist/tools/agreement-types.js +203 -419
  46. package/dist/tools/agreement-types.js.map +1 -1
  47. package/dist/tools/agreements.d.ts +3 -4
  48. package/dist/tools/agreements.d.ts.map +1 -1
  49. package/dist/tools/agreements.js +72 -52
  50. package/dist/tools/agreements.js.map +1 -1
  51. package/dist/tools/analytics.d.ts +1 -1
  52. package/dist/tools/analytics.d.ts.map +1 -1
  53. package/dist/tools/analytics.js +1 -1
  54. package/dist/tools/analytics.js.map +1 -1
  55. package/dist/tools/app-tools.d.ts +21 -0
  56. package/dist/tools/app-tools.d.ts.map +1 -0
  57. package/dist/tools/app-tools.js +248 -0
  58. package/dist/tools/app-tools.js.map +1 -0
  59. package/dist/tools/assets.d.ts +2 -4
  60. package/dist/tools/assets.d.ts.map +1 -1
  61. package/dist/tools/assets.js +278 -59
  62. package/dist/tools/assets.js.map +1 -1
  63. package/dist/tools/audio-files.d.ts +3 -4
  64. package/dist/tools/audio-files.d.ts.map +1 -1
  65. package/dist/tools/audio-files.js +63 -35
  66. package/dist/tools/audio-files.js.map +1 -1
  67. package/dist/tools/auth.d.ts +20 -0
  68. package/dist/tools/auth.d.ts.map +1 -0
  69. package/dist/tools/auth.js +200 -0
  70. package/dist/tools/auth.js.map +1 -0
  71. package/dist/tools/bulk.d.ts +1 -1
  72. package/dist/tools/bulk.d.ts.map +1 -1
  73. package/dist/tools/bulk.js +1 -1
  74. package/dist/tools/bulk.js.map +1 -1
  75. package/dist/tools/calendar.d.ts +1 -1
  76. package/dist/tools/calendar.d.ts.map +1 -1
  77. package/dist/tools/calendar.js +1 -1
  78. package/dist/tools/calendar.js.map +1 -1
  79. package/dist/tools/collaborators.d.ts +1 -1
  80. package/dist/tools/collaborators.d.ts.map +1 -1
  81. package/dist/tools/collaborators.js +2 -2
  82. package/dist/tools/collaborators.js.map +1 -1
  83. package/dist/tools/comparisons.d.ts +1 -1
  84. package/dist/tools/comparisons.d.ts.map +1 -1
  85. package/dist/tools/comparisons.js +1 -1
  86. package/dist/tools/comparisons.js.map +1 -1
  87. package/dist/tools/credits.d.ts +1 -1
  88. package/dist/tools/credits.d.ts.map +1 -1
  89. package/dist/tools/credits.js +130 -20
  90. package/dist/tools/credits.js.map +1 -1
  91. package/dist/tools/dashboard.d.ts +2 -3
  92. package/dist/tools/dashboard.d.ts.map +1 -1
  93. package/dist/tools/dashboard.js +20 -28
  94. package/dist/tools/dashboard.js.map +1 -1
  95. package/dist/tools/directory.d.ts +1 -1
  96. package/dist/tools/directory.d.ts.map +1 -1
  97. package/dist/tools/directory.js +1 -1
  98. package/dist/tools/directory.js.map +1 -1
  99. package/dist/tools/discovery.d.ts +28 -0
  100. package/dist/tools/discovery.d.ts.map +1 -0
  101. package/dist/tools/discovery.js +560 -0
  102. package/dist/tools/discovery.js.map +1 -0
  103. package/dist/tools/disputes.d.ts +1 -1
  104. package/dist/tools/disputes.d.ts.map +1 -1
  105. package/dist/tools/disputes.js +1 -1
  106. package/dist/tools/disputes.js.map +1 -1
  107. package/dist/tools/documents.d.ts +1 -1
  108. package/dist/tools/documents.d.ts.map +1 -1
  109. package/dist/tools/documents.js +1 -1
  110. package/dist/tools/documents.js.map +1 -1
  111. package/dist/tools/duplicates.d.ts +1 -1
  112. package/dist/tools/duplicates.d.ts.map +1 -1
  113. package/dist/tools/duplicates.js +18 -1
  114. package/dist/tools/duplicates.js.map +1 -1
  115. package/dist/tools/enrichment.d.ts +1 -4
  116. package/dist/tools/enrichment.d.ts.map +1 -1
  117. package/dist/tools/enrichment.js +19 -122
  118. package/dist/tools/enrichment.js.map +1 -1
  119. package/dist/tools/exports.d.ts +1 -1
  120. package/dist/tools/exports.d.ts.map +1 -1
  121. package/dist/tools/exports.js +2 -2
  122. package/dist/tools/exports.js.map +1 -1
  123. package/dist/tools/import-documents.d.ts +4 -4
  124. package/dist/tools/import-documents.d.ts.map +1 -1
  125. package/dist/tools/import-documents.js +65 -51
  126. package/dist/tools/import-documents.js.map +1 -1
  127. package/dist/tools/import.d.ts +2 -1
  128. package/dist/tools/import.d.ts.map +1 -1
  129. package/dist/tools/import.js +64 -2
  130. package/dist/tools/import.js.map +1 -1
  131. package/dist/tools/index.d.ts +50 -5
  132. package/dist/tools/index.d.ts.map +1 -1
  133. package/dist/tools/index.js +440 -84
  134. package/dist/tools/index.js.map +1 -1
  135. package/dist/tools/integrations.d.ts +1 -1
  136. package/dist/tools/integrations.d.ts.map +1 -1
  137. package/dist/tools/integrations.js +1 -1
  138. package/dist/tools/integrations.js.map +1 -1
  139. package/dist/tools/licensing.d.ts +1 -1
  140. package/dist/tools/licensing.d.ts.map +1 -1
  141. package/dist/tools/licensing.js +1 -1
  142. package/dist/tools/licensing.js.map +1 -1
  143. package/dist/tools/memory.d.ts +1 -1
  144. package/dist/tools/memory.d.ts.map +1 -1
  145. package/dist/tools/memory.js +1 -1
  146. package/dist/tools/memory.js.map +1 -1
  147. package/dist/tools/metadata.d.ts +15 -0
  148. package/dist/tools/metadata.d.ts.map +1 -0
  149. package/dist/tools/metadata.js +1069 -0
  150. package/dist/tools/metadata.js.map +1 -0
  151. package/dist/tools/multimedia.d.ts +1 -1
  152. package/dist/tools/multimedia.d.ts.map +1 -1
  153. package/dist/tools/multimedia.js +1 -1
  154. package/dist/tools/multimedia.js.map +1 -1
  155. package/dist/tools/notes.d.ts +1 -1
  156. package/dist/tools/notes.d.ts.map +1 -1
  157. package/dist/tools/notes.js +1 -1
  158. package/dist/tools/notes.js.map +1 -1
  159. package/dist/tools/notifications.d.ts +1 -1
  160. package/dist/tools/notifications.d.ts.map +1 -1
  161. package/dist/tools/notifications.js +1 -1
  162. package/dist/tools/notifications.js.map +1 -1
  163. package/dist/tools/people.d.ts +5 -13
  164. package/dist/tools/people.d.ts.map +1 -1
  165. package/dist/tools/people.js +148 -109
  166. package/dist/tools/people.js.map +1 -1
  167. package/dist/tools/projects.d.ts +1 -1
  168. package/dist/tools/projects.d.ts.map +1 -1
  169. package/dist/tools/projects.js +1 -1
  170. package/dist/tools/projects.js.map +1 -1
  171. package/dist/tools/publishers.d.ts +16 -0
  172. package/dist/tools/publishers.d.ts.map +1 -0
  173. package/dist/tools/publishers.js +69 -0
  174. package/dist/tools/publishers.js.map +1 -0
  175. package/dist/tools/purchases.d.ts +1 -1
  176. package/dist/tools/purchases.d.ts.map +1 -1
  177. package/dist/tools/purchases.js +1 -1
  178. package/dist/tools/purchases.js.map +1 -1
  179. package/dist/tools/recordings.d.ts +9 -9
  180. package/dist/tools/recordings.d.ts.map +1 -1
  181. package/dist/tools/recordings.js +121 -48
  182. package/dist/tools/recordings.js.map +1 -1
  183. package/dist/tools/recovery-hints.d.ts +14 -0
  184. package/dist/tools/recovery-hints.d.ts.map +1 -0
  185. package/dist/tools/recovery-hints.js +277 -0
  186. package/dist/tools/recovery-hints.js.map +1 -0
  187. package/dist/tools/releases.d.ts +1 -1
  188. package/dist/tools/releases.d.ts.map +1 -1
  189. package/dist/tools/releases.js +1 -1
  190. package/dist/tools/releases.js.map +1 -1
  191. package/dist/tools/royalties.d.ts +1 -1
  192. package/dist/tools/royalties.d.ts.map +1 -1
  193. package/dist/tools/royalties.js +2 -2
  194. package/dist/tools/royalties.js.map +1 -1
  195. package/dist/tools/search.d.ts +1 -1
  196. package/dist/tools/search.d.ts.map +1 -1
  197. package/dist/tools/search.js +3 -3
  198. package/dist/tools/search.js.map +1 -1
  199. package/dist/tools/send.d.ts +2 -3
  200. package/dist/tools/send.d.ts.map +1 -1
  201. package/dist/tools/send.js +20 -28
  202. package/dist/tools/send.js.map +1 -1
  203. package/dist/tools/sessions.d.ts +1 -1
  204. package/dist/tools/sessions.d.ts.map +1 -1
  205. package/dist/tools/sessions.js +1 -1
  206. package/dist/tools/sessions.js.map +1 -1
  207. package/dist/tools/settings.d.ts +1 -1
  208. package/dist/tools/settings.d.ts.map +1 -1
  209. package/dist/tools/settings.js +1 -1
  210. package/dist/tools/settings.js.map +1 -1
  211. package/dist/tools/share-links.d.ts +1 -1
  212. package/dist/tools/share-links.d.ts.map +1 -1
  213. package/dist/tools/share-links.js +1 -1
  214. package/dist/tools/share-links.js.map +1 -1
  215. package/dist/tools/split-sheets.d.ts +1 -1
  216. package/dist/tools/split-sheets.d.ts.map +1 -1
  217. package/dist/tools/split-sheets.js +13 -1
  218. package/dist/tools/split-sheets.js.map +1 -1
  219. package/dist/tools/team.d.ts +1 -1
  220. package/dist/tools/team.d.ts.map +1 -1
  221. package/dist/tools/team.js +1 -1
  222. package/dist/tools/team.js.map +1 -1
  223. package/dist/tools/telegram.d.ts +1 -1
  224. package/dist/tools/telegram.d.ts.map +1 -1
  225. package/dist/tools/telegram.js +1 -1
  226. package/dist/tools/telegram.js.map +1 -1
  227. package/dist/tools/uploads.d.ts +1 -1
  228. package/dist/tools/uploads.d.ts.map +1 -1
  229. package/dist/tools/uploads.js +1 -1
  230. package/dist/tools/uploads.js.map +1 -1
  231. package/dist/tools/works.d.ts +5 -13
  232. package/dist/tools/works.d.ts.map +1 -1
  233. package/dist/tools/works.js +201 -116
  234. package/dist/tools/works.js.map +1 -1
  235. package/package.json +5 -1
  236. package/scripts/bundle-apps.ts +61 -0
  237. package/.mcpregistry_github_token +0 -1
  238. package/.mcpregistry_registry_token +0 -1
  239. package/dist/pica-sdk.d.ts +0 -1170
  240. package/dist/pica-sdk.d.ts.map +0 -1
  241. package/dist/pica-sdk.js +0 -1403
  242. package/dist/pica-sdk.js.map +0 -1
  243. package/dist/tools/health.d.ts +0 -17
  244. package/dist/tools/health.d.ts.map +0 -1
  245. package/dist/tools/health.js +0 -67
  246. package/dist/tools/health.js.map +0 -1
  247. package/dist/tools/pica-score.d.ts +0 -15
  248. package/dist/tools/pica-score.d.ts.map +0 -1
  249. package/dist/tools/pica-score.js +0 -28
  250. package/dist/tools/pica-score.js.map +0 -1
  251. package/dist/tools/registration.d.ts +0 -16
  252. package/dist/tools/registration.d.ts.map +0 -1
  253. package/dist/tools/registration.js +0 -50
  254. package/dist/tools/registration.js.map +0 -1
  255. package/dist/utils/credit-gate.d.ts +0 -17
  256. package/dist/utils/credit-gate.d.ts.map +0 -1
  257. package/dist/utils/credit-gate.js +0 -100
  258. package/dist/utils/credit-gate.js.map +0 -1
  259. package/dist/utils/errors.d.ts +0 -29
  260. package/dist/utils/errors.d.ts.map +0 -1
  261. package/dist/utils/errors.js +0 -115
  262. package/dist/utils/errors.js.map +0 -1
  263. package/dist/utils/formatting.d.ts +0 -63
  264. package/dist/utils/formatting.d.ts.map +0 -1
  265. package/dist/utils/formatting.js +0 -125
  266. package/dist/utils/formatting.js.map +0 -1
  267. package/dist/utils/mpp.d.ts +0 -63
  268. package/dist/utils/mpp.d.ts.map +0 -1
  269. package/dist/utils/mpp.js +0 -137
  270. package/dist/utils/mpp.js.map +0 -1
  271. package/dist/utils/notify-parties.d.ts +0 -35
  272. package/dist/utils/notify-parties.d.ts.map +0 -1
  273. package/dist/utils/notify-parties.js +0 -59
  274. package/dist/utils/notify-parties.js.map +0 -1
  275. package/server.json +0 -30
@@ -1,5 +1,5 @@
1
1
  // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
- import { formatAsText, formatSuccess, formatValidationError, } from "../utils/formatting.js";
2
+ import { formatAsText, formatSuccess, formatValidationError, } from "@withpica/mcp-utils";
3
3
  export class DuplicatesTools {
4
4
  pica;
5
5
  constructor(pica) {
@@ -63,6 +63,23 @@ export class DuplicatesTools {
63
63
  if (!args.loser_ids?.length) {
64
64
  return formatValidationError({ loser_ids: "must be a non-empty array" });
65
65
  }
66
+ const loserIds = args.loser_ids;
67
+ if (loserIds && loserIds.length > 25) {
68
+ return {
69
+ content: [
70
+ {
71
+ type: "text",
72
+ text: JSON.stringify({
73
+ error: "VALIDATION_ERROR",
74
+ message: `maximum 25 loser IDs per merge — received ${loserIds.length}`,
75
+ retry_safe: false,
76
+ suggestion: "split into multiple merge operations with 25 or fewer IDs each",
77
+ }, null, 2),
78
+ },
79
+ ],
80
+ isError: true,
81
+ };
82
+ }
66
83
  const result = await this.pica.duplicates.merge(args.entity_type, args.winner_id, args.loser_ids);
67
84
  return formatSuccess(`Merged ${args.loser_ids.length} duplicate ${args.entity_type}(s) into ${args.winner_id}`, result);
68
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"duplicates.js","sourceRoot":"","sources":["../../src/tools/duplicates.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAQ7D,OAAO,EACL,YAAY,EACZ,aAAa,EACb,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAEhC,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,sBAAsB;oBAC5B,WAAW,EACT,kIAAkI;wBAClI,4DAA4D;oBAC9D,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;gCACzB,WAAW,EAAE,wCAAwC;6BACtD;yBACF;wBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;qBAC1B;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;aACzC;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,uBAAuB;oBAC7B,WAAW,EACT,oJAAoJ;oBACtJ,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;gCACxB,WAAW,EAAE,yBAAyB;6BACvC;4BACD,SAAS,EAAE;gCACT,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,kEAAkE;6BACrE;4BACD,SAAS,EAAE;gCACT,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACzB,WAAW,EACT,oEAAoE;6BACvE;yBACF;wBACD,QAAQ,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC;qBACpD;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;aAC1C;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAyB;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3E,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,IAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YAC5B,OAAO,qBAAqB,CAAC,EAAE,SAAS,EAAE,2BAA2B,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAC7C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,CACf,CAAC;QACF,OAAO,aAAa,CAClB,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,cAAc,IAAI,CAAC,WAAW,YAAY,IAAI,CAAC,SAAS,EAAE,EACzF,MAAM,CACP,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"duplicates.js","sourceRoot":"","sources":["../../src/tools/duplicates.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Enrichment Tools - MCP tools for triggering and checking enrichment
3
3
  */
4
- import { PicaClient } from "../pica-sdk.js";
4
+ import { PicaClient } from "@withpica/mcp-sdk";
5
5
  import { ToolDefinition, ToolExecutor } from "./index.js";
6
6
  export declare class EnrichmentTools {
7
7
  private pica;
@@ -10,9 +10,6 @@ export declare class EnrichmentTools {
10
10
  definition: ToolDefinition;
11
11
  executor: ToolExecutor;
12
12
  }>;
13
- private enrichWork;
14
- private enrichPerson;
15
- private enrichmentStatus;
16
13
  private enrichmentCandidates;
17
14
  private enrichWorkMlc;
18
15
  private enrichWorkMusicBrainz;
@@ -1 +1 @@
1
- {"version":3,"file":"enrichment.d.ts","sourceRoot":"","sources":["../../src/tools/enrichment.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAItE,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;YAwM3D,UAAU;YAQV,YAAY;YAQZ,gBAAgB;YAShB,oBAAoB;YAOpB,aAAa;YAQb,qBAAqB;YASrB,iBAAiB;YAOjB,iBAAiB;YAgEjB,iBAAiB;CAShC"}
1
+ {"version":3,"file":"enrichment.d.ts","sourceRoot":"","sources":["../../src/tools/enrichment.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAKtE,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;YA4H3D,oBAAoB;YAOpB,aAAa;YAKb,qBAAqB;YASrB,iBAAiB;YAOjB,iBAAiB;YAuBjB,iBAAiB;CAMhC"}
@@ -1,6 +1,7 @@
1
1
  // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
- import { formatAsText, formatSuccess } from "../utils/formatting.js";
3
- import { withCreditGate } from "../utils/credit-gate.js";
2
+ import { formatAsText, formatSuccess } from "@withpica/mcp-utils";
3
+ import { withCreditGate } from "@withpica/mcp-utils";
4
+ import { formatEnrichmentResult } from "@withpica/mcp-utils";
4
5
  export class EnrichmentTools {
5
6
  pica;
6
7
  constructor(pica) {
@@ -8,64 +9,11 @@ export class EnrichmentTools {
8
9
  }
9
10
  getTools() {
10
11
  return [
11
- {
12
- definition: {
13
- name: "pica_enrich_work",
14
- description: "Trigger enrichment for a work (fetches data from MLC, MusicBrainz, etc.). " +
15
- "→ then: pica_enrichment_status (check results), pica_work_completeness (verify improvement) Costs 1 pica credit (MLC lookup).",
16
- inputSchema: {
17
- type: "object",
18
- properties: {
19
- work_id: {
20
- type: "string",
21
- description: "The work ID to enrich",
22
- },
23
- },
24
- required: ["work_id"],
25
- },
26
- },
27
- executor: withCreditGate(this.pica, "external_mlc_lookup", "work enrichment (MLC)", this.enrichWork.bind(this)),
28
- },
29
- {
30
- definition: {
31
- name: "pica_enrich_person",
32
- description: "Trigger enrichment for a person (fetches data from ISNI, MusicBrainz, etc.). " +
33
- "→ then: pica_people_get_full (verify results) Costs 1 pica credit (MLC lookup). ISNI and MusicBrainz are free.",
34
- inputSchema: {
35
- type: "object",
36
- properties: {
37
- person_id: {
38
- type: "string",
39
- description: "The person ID to enrich",
40
- },
41
- },
42
- required: ["person_id"],
43
- },
44
- },
45
- executor: withCreditGate(this.pica, "external_mlc_lookup", "person enrichment", this.enrichPerson.bind(this)),
46
- },
47
- {
48
- definition: {
49
- name: "pica_enrichment_status",
50
- description: "Check the enrichment status for a specific work (what sources have been checked, what data was found)",
51
- inputSchema: {
52
- type: "object",
53
- properties: {
54
- work_id: {
55
- type: "string",
56
- description: "The work ID to check",
57
- },
58
- },
59
- required: ["work_id"],
60
- },
61
- },
62
- executor: this.enrichmentStatus.bind(this),
63
- },
64
12
  {
65
13
  definition: {
66
14
  name: "pica_enrichment_candidates",
67
15
  description: "Find works and people that are candidates for enrichment (missing external identifiers or metadata). " +
68
- "→ then: pica_enrich_work (enrich a work), pica_enrich_person (enrich a person)",
16
+ "→ then: pica_enrich_work_spotify (enrich from Spotify), pica_enrich_work_mlc (enrich from MLC)",
69
17
  inputSchema: {
70
18
  type: "object",
71
19
  properties: {},
@@ -95,7 +43,7 @@ export class EnrichmentTools {
95
43
  definition: {
96
44
  name: "pica_enrich_work_musicbrainz",
97
45
  description: "Look up MusicBrainz for release data, artist info, and cross-references for a work. " +
98
- "Returns a preview of what MusicBrainz knows — use pica_enrich_work to apply changes.",
46
+ "Returns release data, artist info, and cross-references.",
99
47
  inputSchema: {
100
48
  type: "object",
101
49
  properties: {
@@ -113,7 +61,7 @@ export class EnrichmentTools {
113
61
  definition: {
114
62
  name: "pica_enrich_work_discogs",
115
63
  description: "Search Discogs for release data, label, format, and catalogue numbers for a work. " +
116
- "Returns a preview of matches — use pica_enrich_work to apply changes.",
64
+ "Returns a preview of matches.",
117
65
  inputSchema: {
118
66
  type: "object",
119
67
  properties: {
@@ -130,13 +78,9 @@ export class EnrichmentTools {
130
78
  {
131
79
  definition: {
132
80
  name: "pica_enrich_work_spotify",
133
- description: "Enrich works from Spotify. Accepts a work ID, a Spotify URL, or both.\n\n" +
134
- " work_id only enriches that work (must have spotify_track_uri linked already)\n" +
135
- " spotify_url only accepts any Spotify URL (track, album, or playlist). " +
136
- "Matches tracks against existing catalog works, enriches matches, creates new works for unmatched tracks. " +
137
- "Two-step: omit confirm to preview, set confirm: true to execute.\n" +
138
- "• work_id + spotify_url — links the track URI to the work, then enriches it (no pre-link needed)\n\n" +
139
- "→ then: pica_work_completeness (check gaps), pica_credits_update (add songwriting credits)",
81
+ description: "Enrich a work from Spotify pulls track metadata, popularity, and streaming data. " +
82
+ "Optionally pass spotify_url to link the track URI before enriching. " +
83
+ " then: pica_works_inspect (check what changed), pica_credits_update (add credits)",
140
84
  inputSchema: {
141
85
  type: "object",
142
86
  properties: {
@@ -146,15 +90,10 @@ export class EnrichmentTools {
146
90
  },
147
91
  spotify_url: {
148
92
  type: "string",
149
- description: "Any Spotify URL or URI track, album, or playlist. " +
150
- "Examples: https://open.spotify.com/album/4aawyAB9vmqN3uQ7FjRGTy, " +
151
- "spotify:track:6rqhFgbbKwnb9MLmUQDhG6",
152
- },
153
- confirm: {
154
- type: "boolean",
155
- description: "For URL mode: set true to execute import/enrich. Omit or false to preview first.",
93
+ description: "Optional Spotify URL or URI to link before enriching",
156
94
  },
157
95
  },
96
+ required: ["work_id"],
158
97
  },
159
98
  },
160
99
  executor: this.enrichWorkSpotify.bind(this),
@@ -179,79 +118,37 @@ export class EnrichmentTools {
179
118
  },
180
119
  ];
181
120
  }
182
- async enrichWork(args) {
183
- const result = await this.pica.enrichment.enrichWork(args.work_id);
184
- return formatSuccess(`Enrichment triggered for work ${args.work_id}`, result);
185
- }
186
- async enrichPerson(args) {
187
- const result = await this.pica.enrichment.enrichPerson(args.person_id);
188
- return formatSuccess(`Enrichment triggered for person ${args.person_id}`, result);
189
- }
190
- async enrichmentStatus(args) {
191
- const result = await this.pica.enrichment.getWorkEnrichmentStatus(args.work_id);
192
- return formatAsText(result);
193
- }
194
121
  async enrichmentCandidates(_args) {
195
122
  const result = await this.pica.enrichment.getCandidates();
196
123
  return formatAsText(result);
197
124
  }
198
125
  async enrichWorkMlc(args) {
199
126
  const result = await this.pica.enrichment.enrichWorkMlc(args.work_id);
200
- return formatSuccess(`MLC lookup complete for work ${args.work_id}`, result);
127
+ return formatEnrichmentResult("work", args.work_id, "MLC", result);
201
128
  }
202
129
  async enrichWorkMusicBrainz(args) {
203
130
  const result = await this.pica.enrichment.enrichWorkMusicBrainz(args.work_id);
204
- return formatAsText(result);
131
+ return formatEnrichmentResult("work", args.work_id, "MusicBrainz", result);
205
132
  }
206
133
  async enrichWorkDiscogs(args) {
207
134
  const result = await this.pica.enrichment.enrichWorkDiscogs(args.work_id);
208
- return formatAsText(result);
135
+ return formatEnrichmentResult("work", args.work_id, "Discogs", result);
209
136
  }
210
137
  async enrichWorkSpotify(args) {
211
138
  const workId = args.work_id;
212
139
  const spotifyUrl = args.spotify_url;
213
- const confirm = args.confirm;
214
- if (!workId && !spotifyUrl) {
215
- return {
216
- content: [
217
- {
218
- type: "text",
219
- text: "Either work_id or spotify_url is required.",
220
- },
221
- ],
222
- isError: true,
223
- };
224
- }
225
- // Mode 1: work_id + spotify_url — link the track URI then enrich
226
- if (workId && spotifyUrl) {
140
+ // If spotify_url provided, link it to the work first, then enrich
141
+ if (spotifyUrl) {
227
142
  const result = await this.pica.enrichment.linkAndEnrichSpotify(workId, spotifyUrl);
228
143
  return formatSuccess(`Linked Spotify track and enriched work ${workId}`, result);
229
144
  }
230
- // Mode 2: spotify_url only — delegate to streaming-link (preview/execute)
231
- if (spotifyUrl) {
232
- if (confirm) {
233
- const result = await this.pica.enrichment.spotifyUrlExecute(spotifyUrl);
234
- const data = result.data ?? result;
235
- return formatSuccess(`Spotify import complete: ${data.worksCreated ?? 0} works created, ` +
236
- `${data.worksEnriched ?? data.enrichResults?.length ?? 0} works enriched, ` +
237
- `${data.duplicatesSkipped ?? 0} duplicates skipped`, data);
238
- }
239
- const result = await this.pica.enrichment.spotifyUrlPreview(spotifyUrl);
240
- const data = result.data ?? result;
241
- const trackCount = data.tracks?.length ?? 0;
242
- const newCount = data.newTracks?.length ?? 0;
243
- const dupCount = data.duplicates?.length ?? 0;
244
- return formatSuccess(`Spotify preview: ${trackCount} tracks found. ` +
245
- `${newCount} new (will be created), ${dupCount} already in catalog (will be enriched). ` +
246
- `Call again with confirm: true to execute.`, data);
247
- }
248
- // Mode 3: work_id only — existing single-work enrichment
145
+ // work_id only — enrich from already-linked Spotify data
249
146
  const result = await this.pica.enrichment.enrichWorkSpotify(workId);
250
- return formatSuccess(`Spotify enrichment complete for work ${workId}`, result);
147
+ return formatEnrichmentResult("work", workId, "Spotify", result);
251
148
  }
252
149
  async enrichWorkYouTube(args) {
253
150
  const result = await this.pica.enrichment.enrichWorkYouTube(args.work_id);
254
- return formatSuccess(`YouTube enrichment complete for work ${args.work_id}`, result);
151
+ return formatEnrichmentResult("work", args.work_id, "YouTube", result);
255
152
  }
256
153
  }
257
154
  //# sourceMappingURL=enrichment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enrichment.js","sourceRoot":"","sources":["../../src/tools/enrichment.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAQ7D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,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,kBAAkB;oBACxB,WAAW,EACT,4EAA4E;wBAC5E,+HAA+H;oBACjI,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,uBAAuB;6BACrC;yBACF;wBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;qBACtB;iBACF;gBACD,QAAQ,EAAE,cAAc,CACtB,IAAI,CAAC,IAAI,EACT,qBAAqB,EACrB,uBAAuB,EACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAC3B;aACF;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,oBAAoB;oBAC1B,WAAW,EACT,+EAA+E;wBAC/E,gHAAgH;oBAClH,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,SAAS,EAAE;gCACT,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,yBAAyB;6BACvC;yBACF;wBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;qBACxB;iBACF;gBACD,QAAQ,EAAE,cAAc,CACtB,IAAI,CAAC,IAAI,EACT,qBAAqB,EACrB,mBAAmB,EACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAC7B;aACF;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,wBAAwB;oBAC9B,WAAW,EACT,uGAAuG;oBACzG,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,sBAAsB;6BACpC;yBACF;wBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;qBACtB;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC3C;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,4BAA4B;oBAClC,WAAW,EACT,uGAAuG;wBACvG,gFAAgF;oBAClF,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,EAAE;qBACf;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC/C;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,sBAAsB;oBAC5B,WAAW,EACT,kHAAkH;wBAClH,iGAAiG;oBACnG,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,8BAA8B;6BAC5C;yBACF;wBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;qBACtB;iBACF;gBACD,QAAQ,EAAE,cAAc,CACtB,IAAI,CAAC,IAAI,EACT,qBAAqB,EACrB,YAAY,EACZ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9B;aACF;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,8BAA8B;oBACpC,WAAW,EACT,sFAAsF;wBACtF,sFAAsF;oBACxF,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,uCAAuC;6BACrD;yBACF;wBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;qBACtB;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;aAChD;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,0BAA0B;oBAChC,WAAW,EACT,oFAAoF;wBACpF,uEAAuE;oBACzE,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,mCAAmC;6BACjD;yBACF;wBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;qBACtB;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC5C;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,0BAA0B;oBAChC,WAAW,EACT,2EAA2E;wBAC3E,oFAAoF;wBACpF,4EAA4E;wBAC5E,2GAA2G;wBAC3G,oEAAoE;wBACpE,sGAAsG;wBACtG,4FAA4F;oBAC9F,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,oCAAoC;6BAClD;4BACD,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,sDAAsD;oCACtD,mEAAmE;oCACnE,sCAAsC;6BACzC;4BACD,OAAO,EAAE;gCACP,IAAI,EAAE,SAAS;gCACf,WAAW,EACT,kFAAkF;6BACrF;yBACF;qBACF;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC5C;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,0BAA0B;oBAChC,WAAW,EACT,+FAA+F;wBAC/F,uDAAuD;oBACzD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,oCAAoC;6BAClD;yBACF;wBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;qBACtB;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC5C;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,IAAyB;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnE,OAAO,aAAa,CAClB,iCAAiC,IAAI,CAAC,OAAO,EAAE,EAC/C,MAAM,CACP,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAyB;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvE,OAAO,aAAa,CAClB,mCAAmC,IAAI,CAAC,SAAS,EAAE,EACnD,MAAM,CACP,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,IAAyB;QAEzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAC/D,IAAI,CAAC,OAAO,CACb,CAAC;QACF,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,KAA0B;QAE1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC1D,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,IAAyB;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtE,OAAO,aAAa,CAClB,gCAAgC,IAAI,CAAC,OAAO,EAAE,EAC9C,MAAM,CACP,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,IAAyB;QAEzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAC7D,IAAI,CAAC,OAAO,CACb,CAAC;QACF,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,IAAyB;QAEzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1E,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,IAAyB;QAEzB,MAAM,MAAM,GAAG,IAAI,CAAC,OAA6B,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAiC,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,OAA8B,CAAC;QAEpD,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3B,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,4CAA4C;qBACnD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,iEAAiE;QACjE,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAC5D,MAAM,EACN,UAAU,CACX,CAAC;YACF,OAAO,aAAa,CAClB,0CAA0C,MAAM,EAAE,EAClD,MAAM,CACP,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBACxE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;gBACnC,OAAO,aAAa,CAClB,4BAA4B,IAAI,CAAC,YAAY,IAAI,CAAC,kBAAkB;oBAClE,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,mBAAmB;oBAC3E,GAAG,IAAI,CAAC,iBAAiB,IAAI,CAAC,qBAAqB,EACrD,IAAI,CACL,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACxE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC;YAC9C,OAAO,aAAa,CAClB,oBAAoB,UAAU,iBAAiB;gBAC7C,GAAG,QAAQ,2BAA2B,QAAQ,0CAA0C;gBACxF,2CAA2C,EAC7C,IAAI,CACL,CAAC;QACJ,CAAC;QAED,yDAAyD;QACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAO,CAAC,CAAC;QACrE,OAAO,aAAa,CAClB,wCAAwC,MAAM,EAAE,EAChD,MAAM,CACP,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,IAAyB;QAEzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1E,OAAO,aAAa,CAClB,wCAAwC,IAAI,CAAC,OAAO,EAAE,EACtD,MAAM,CACP,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"enrichment.js","sourceRoot":"","sources":["../../src/tools/enrichment.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Export Tools - MCP tools for exporting catalog data
3
3
  */
4
- import { PicaClient } from "../pica-sdk.js";
4
+ import { PicaClient } from "@withpica/mcp-sdk";
5
5
  import { ToolDefinition, ToolExecutor } from "./index.js";
6
6
  export declare class ExportTools {
7
7
  private pica;
@@ -1 +1 @@
1
- {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/tools/exports.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAItE,qBAAa,WAAW;IACtB,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;YAuH3D,gBAAgB;YAShB,sBAAsB;YAyBtB,mBAAmB;YAOnB,wBAAwB;YAgDxB,eAAe;CAS9B"}
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/tools/exports.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAItE,qBAAa,WAAW;IACtB,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;YAuH3D,gBAAgB;YAShB,sBAAsB;YAuBtB,mBAAmB;YAOnB,wBAAwB;YAgDxB,eAAe;CAS9B"}
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
- import { formatAsText, formatSuccess } from "../utils/formatting.js";
3
- import { withCreditGate } from "../utils/credit-gate.js";
2
+ import { formatAsText, formatSuccess } from "@withpica/mcp-utils";
3
+ import { withCreditGate } from "@withpica/mcp-utils";
4
4
  export class ExportTools {
5
5
  pica;
6
6
  constructor(pica) {
@@ -1 +1 @@
1
- {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/tools/exports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/tools/exports.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Import Documents Tools - MCP tools for canonical ingestion documents
3
3
  */
4
- import { PicaClient } from "../pica-sdk.js";
4
+ import { PicaClient } from "@withpica/mcp-sdk";
5
5
  import { ToolDefinition, ToolExecutor } from "./index.js";
6
6
  export declare class ImportDocumentTools {
7
7
  private pica;
@@ -13,9 +13,9 @@ export declare class ImportDocumentTools {
13
13
  definition: ToolDefinition;
14
14
  executor: ToolExecutor;
15
15
  }>;
16
- private listImportDocuments;
17
- private getImportDocument;
16
+ private queryImportDocuments;
17
+ private inspectImportDocument;
18
18
  private ingestStatement;
19
- private diffImportDocuments;
19
+ private computeDiff;
20
20
  }
21
21
  //# sourceMappingURL=import-documents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-documents.d.ts","sourceRoot":"","sources":["../../src/tools/import-documents.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAGtE,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B;;OAEG;IACH,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YAgG3D,mBAAmB;YAOnB,iBAAiB;YAkBjB,eAAe;YAgBf,mBAAmB;CA0ElC"}
1
+ {"version":3,"file":"import-documents.d.ts","sourceRoot":"","sources":["../../src/tools/import-documents.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAGtE,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B;;OAEG;IACH,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YA0F3D,oBAAoB;YAOpB,qBAAqB;YA+DrB,eAAe;IAgB7B,OAAO,CAAC,WAAW;CAyDpB"}
@@ -1,5 +1,5 @@
1
1
  // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
- import { formatStructuredList, formatSuccess } from "../utils/formatting.js";
2
+ import { formatStructuredList, formatSuccess } from "@withpica/mcp-utils";
3
3
  export class ImportDocumentTools {
4
4
  pica;
5
5
  constructor(pica) {
@@ -12,8 +12,8 @@ export class ImportDocumentTools {
12
12
  return [
13
13
  {
14
14
  definition: {
15
- name: "pica_import_documents_list",
16
- description: "List canonical ingestion documents — the readable, diffable record of every statement import. Filter by source (prs, distrokid, ascap, etc.), period (Q1 2024), or document type (statement, csv_import). Returns summaries without full body text. Use pica_import_documents_get for the full document.",
15
+ name: "pica_import_documents_query",
16
+ description: "List canonical ingestion documents — the readable, diffable record of every statement import. Filter by source (prs, distrokid, ascap, etc.), period (Q1 2024), or document type (statement, csv_import). Returns summaries without full body text. Use pica_import_documents_inspect for the full document.",
17
17
  inputSchema: {
18
18
  type: "object",
19
19
  properties: {
@@ -36,12 +36,14 @@ export class ImportDocumentTools {
36
36
  },
37
37
  },
38
38
  },
39
- executor: this.listImportDocuments.bind(this),
39
+ executor: this.queryImportDocuments.bind(this),
40
40
  },
41
41
  {
42
42
  definition: {
43
- name: "pica_import_documents_get",
44
- description: "Get the full canonical document for a specific import includes the complete markdown body with summary, identity extractions, line items table, field mapping decisions, and warnings. This is the human-readable, agent-readable record of exactly what was ingested and how it was interpreted.",
43
+ name: "pica_import_documents_inspect",
44
+ description: "Inspect a specific import document. By default returns the full canonical document " +
45
+ "(summary, identity extractions, line items, field mapping, warnings). " +
46
+ "Include 'diff' in sections to compare with a second document.",
45
47
  inputSchema: {
46
48
  type: "object",
47
49
  properties: {
@@ -49,32 +51,23 @@ export class ImportDocumentTools {
49
51
  type: "string",
50
52
  description: "Import document ID",
51
53
  },
52
- },
53
- required: ["id"],
54
- },
55
- },
56
- executor: this.getImportDocument.bind(this),
57
- },
58
- {
59
- definition: {
60
- name: "pica_import_documents_diff",
61
- description: "Compare two canonical import documents — typically the same source across different periods (e.g. PRS Q1 2024 vs PRS Q2 2024). Returns a structured diff showing: new works, removed works, amount changes, new writers, and summary deltas.",
62
- inputSchema: {
63
- type: "object",
64
- properties: {
65
- document_id_a: {
66
- type: "string",
67
- description: "ID of the first (earlier) import document",
54
+ sections: {
55
+ type: "array",
56
+ items: {
57
+ type: "string",
58
+ enum: ["basic", "diff"],
59
+ },
60
+ description: "Which sections to return (default: ['basic']). Add 'diff' to compare with compare_id.",
68
61
  },
69
- document_id_b: {
62
+ compare_id: {
70
63
  type: "string",
71
- description: "ID of the second (later) import document",
64
+ description: "Second document ID for diff comparison (required when sections includes 'diff')",
72
65
  },
73
66
  },
74
- required: ["document_id_a", "document_id_b"],
67
+ required: ["id"],
75
68
  },
76
69
  },
77
- executor: this.diffImportDocuments.bind(this),
70
+ executor: this.inspectImportDocument.bind(this),
78
71
  },
79
72
  {
80
73
  definition: {
@@ -95,18 +88,57 @@ export class ImportDocumentTools {
95
88
  },
96
89
  ];
97
90
  }
98
- async listImportDocuments(args) {
91
+ async queryImportDocuments(args) {
99
92
  const docs = await this.pica.importDocuments.list(args);
100
93
  return formatStructuredList(docs, "import document");
101
94
  }
102
- async getImportDocument(args) {
95
+ async inspectImportDocument(args) {
103
96
  if (!args.id) {
104
97
  return {
105
98
  content: [{ type: "text", text: "id is required" }],
106
99
  isError: true,
107
100
  };
108
101
  }
102
+ const sections = args.sections || ["basic"];
109
103
  const doc = await this.pica.importDocuments.get(args.id);
104
+ // If diff is requested, compute and append the diff
105
+ if (sections.includes("diff")) {
106
+ if (!args.compare_id) {
107
+ return {
108
+ content: [
109
+ {
110
+ type: "text",
111
+ text: "compare_id is required when sections includes 'diff'",
112
+ },
113
+ ],
114
+ isError: true,
115
+ };
116
+ }
117
+ const docB = await this.pica.importDocuments.get(args.compare_id);
118
+ const diffResult = this.computeDiff(args.id, doc, args.compare_id, docB);
119
+ if (sections.includes("basic")) {
120
+ // Return both basic + diff
121
+ const basicText = doc.body ?? JSON.stringify(doc, null, 2);
122
+ return {
123
+ content: [
124
+ {
125
+ type: "text",
126
+ text: basicText + "\n\n" + diffResult.text,
127
+ },
128
+ ],
129
+ structuredContent: {
130
+ document: doc,
131
+ diff: diffResult.structured,
132
+ },
133
+ };
134
+ }
135
+ // Diff only
136
+ return {
137
+ content: [{ type: "text", text: diffResult.text }],
138
+ structuredContent: diffResult.structured,
139
+ };
140
+ }
141
+ // Basic only (default)
110
142
  return {
111
143
  content: [
112
144
  { type: "text", text: doc.body ?? JSON.stringify(doc, null, 2) },
@@ -124,22 +156,7 @@ export class ImportDocumentTools {
124
156
  const result = await this.pica.importDocuments.ingest(args.markdown);
125
157
  return formatSuccess(`Statement ingested successfully. Document ID: ${result.id}`, result);
126
158
  }
127
- async diffImportDocuments(args) {
128
- if (!args.document_id_a || !args.document_id_b) {
129
- return {
130
- content: [
131
- {
132
- type: "text",
133
- text: "document_id_a and document_id_b are required",
134
- },
135
- ],
136
- isError: true,
137
- };
138
- }
139
- const [docA, docB] = await Promise.all([
140
- this.pica.importDocuments.get(args.document_id_a),
141
- this.pica.importDocuments.get(args.document_id_b),
142
- ]);
159
+ computeDiff(idA, docA, idB, docB) {
143
160
  const summaryA = docA.summary ?? {};
144
161
  const summaryB = docB.summary ?? {};
145
162
  const lineItemsDelta = (summaryB.line_count ?? 0) - (summaryA.line_count ?? 0);
@@ -160,15 +177,15 @@ export class ImportDocumentTools {
160
177
  `| matched works | ${summaryA.matched_works ?? "—"} | ${summaryB.matched_works ?? "—"} | ${sign(matchedWorksDelta)} |`,
161
178
  `| warnings | ${summaryA.warning_count ?? "—"} | ${summaryB.warning_count ?? "—"} | ${sign(warningsDelta)} |`,
162
179
  ].join("\n");
163
- const deltas = {
180
+ const structured = {
164
181
  document_a: {
165
- id: args.document_id_a,
182
+ id: idA,
166
183
  source: docA.source,
167
184
  period: docA.period,
168
185
  summary: summaryA,
169
186
  },
170
187
  document_b: {
171
- id: args.document_id_b,
188
+ id: idB,
172
189
  source: docB.source,
173
190
  period: docB.period,
174
191
  summary: summaryB,
@@ -180,10 +197,7 @@ export class ImportDocumentTools {
180
197
  warning_count: warningsDelta,
181
198
  },
182
199
  };
183
- return {
184
- content: [{ type: "text", text: table }],
185
- structuredContent: deltas,
186
- };
200
+ return { text: table, structured };
187
201
  }
188
202
  }
189
203
  //# sourceMappingURL=import-documents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-documents.js","sourceRoot":"","sources":["../../src/tools/import-documents.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAQ7D,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE7E,MAAM,OAAO,mBAAmB;IACtB,IAAI,CAAa;IAEzB,YAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO;YACL;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,4BAA4B;oBAClC,WAAW,EACT,0SAA0S;oBAC5S,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,MAAM,EAAE;gCACN,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,uMAAuM;6BAC1M;4BACD,MAAM,EAAE;gCACN,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,gDAAgD;6BAC9D;4BACD,aAAa,EAAE;gCACb,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,sDAAsD;6BACzD;4BACD,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,mDAAmD;6BACtD;yBACF;qBACF;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC9C;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,2BAA2B;oBACjC,WAAW,EACT,qSAAqS;oBACvS,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,EAAE,EAAE;gCACF,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,oBAAoB;6BAClC;yBACF;wBACD,QAAQ,EAAE,CAAC,IAAI,CAAC;qBACjB;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC5C;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,4BAA4B;oBAClC,WAAW,EACT,8OAA8O;oBAChP,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,aAAa,EAAE;gCACb,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,2CAA2C;6BACzD;4BACD,aAAa,EAAE;gCACb,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,0CAA0C;6BACxD;yBACF;wBACD,QAAQ,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;qBAC7C;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC9C;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,uBAAuB;oBAC7B,WAAW,EACT,qVAAqV;oBACvV,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,qGAAqG;6BACxG;yBACF;wBACD,QAAQ,EAAE,CAAC,UAAU,CAAC;qBACvB;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;aAC1C;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,IAAyB;QAEzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,IAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;gBACnD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzD,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;aACjE;YACD,iBAAiB,EAAE,GAAG;SACvB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,IAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;gBACzD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrE,OAAO,aAAa,CAClB,iDAAiD,MAAM,CAAC,EAAE,EAAE,EAC5D,MAAM,CACP,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,IAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC/C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,8CAA8C;qBACrD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;SAClD,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAEpC,MAAM,cAAc,GAClB,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAM,mBAAmB,GACvB,CAAC,QAAQ,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;QACpE,MAAM,iBAAiB,GACrB,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;QAChE,MAAM,aAAa,GACjB,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;QAEhE,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzE,MAAM,KAAK,GAAG;YACZ,yBAAyB;YACzB,EAAE;YACF,8CAA8C;YAC9C,2BAA2B;YAC3B,cAAc,IAAI,CAAC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,IAAI,GAAG,QAAQ;YAChE,cAAc,IAAI,CAAC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,IAAI,GAAG,QAAQ;YAChE,kBAAkB,QAAQ,CAAC,UAAU,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI;YAC1G,uBAAuB,QAAQ,CAAC,eAAe,IAAI,GAAG,MAAM,QAAQ,CAAC,eAAe,IAAI,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,IAAI;YAC/H,qBAAqB,QAAQ,CAAC,aAAa,IAAI,GAAG,MAAM,QAAQ,CAAC,aAAa,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI;YACtH,gBAAgB,QAAQ,CAAC,aAAa,IAAI,GAAG,MAAM,QAAQ,CAAC,aAAa,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI;SAC9G,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,MAAM,GAAG;YACb,UAAU,EAAE;gBACV,EAAE,EAAE,IAAI,CAAC,aAAa;gBACtB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,QAAQ;aAClB;YACD,UAAU,EAAE;gBACV,EAAE,EAAE,IAAI,CAAC,aAAa;gBACtB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,QAAQ;aAClB;YACD,MAAM,EAAE;gBACN,UAAU,EAAE,cAAc;gBAC1B,eAAe,EAAE,mBAAmB;gBACpC,aAAa,EAAE,iBAAiB;gBAChC,aAAa,EAAE,aAAa;aAC7B;SACF,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YACxC,iBAAiB,EAAE,MAAM;SAC1B,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"import-documents.js","sourceRoot":"","sources":["../../src/tools/import-documents.ts"],"names":[],"mappings":"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"}