@withpica/mcp-server 2.52.0 → 2.52.1

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 (251) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/dist/prompts/creator-question-atlas.d.ts +48 -0
  3. package/dist/prompts/creator-question-atlas.d.ts.map +1 -0
  4. package/dist/prompts/creator-question-atlas.js +618 -0
  5. package/dist/prompts/creator-question-atlas.js.map +1 -0
  6. package/dist/prompts/index.d.ts +32 -0
  7. package/dist/prompts/index.d.ts.map +1 -1
  8. package/dist/prompts/index.js +235 -0
  9. package/dist/prompts/index.js.map +1 -1
  10. package/dist/resources/index.d.ts +10 -0
  11. package/dist/resources/index.d.ts.map +1 -1
  12. package/dist/resources/index.js +134 -1
  13. package/dist/resources/index.js.map +1 -1
  14. package/dist/server-instructions.d.ts +4 -3
  15. package/dist/server-instructions.d.ts.map +1 -1
  16. package/dist/server-instructions.js +4 -1
  17. package/dist/server-instructions.js.map +1 -1
  18. package/dist/server.d.ts +26 -0
  19. package/dist/server.d.ts.map +1 -1
  20. package/dist/server.js +108 -10
  21. package/dist/server.js.map +1 -1
  22. package/dist/skills/index.d.ts +42 -0
  23. package/dist/skills/index.d.ts.map +1 -0
  24. package/dist/skills/index.js +59 -0
  25. package/dist/skills/index.js.map +1 -0
  26. package/dist/skills/skills.generated.d.ts +25 -0
  27. package/dist/skills/skills.generated.d.ts.map +1 -0
  28. package/dist/skills/skills.generated.js +86 -0
  29. package/dist/skills/skills.generated.js.map +1 -0
  30. package/dist/tools/access-simulate.d.ts +23 -0
  31. package/dist/tools/access-simulate.d.ts.map +1 -0
  32. package/dist/tools/access-simulate.js +165 -0
  33. package/dist/tools/access-simulate.js.map +1 -0
  34. package/dist/tools/agent-identity.d.ts.map +1 -1
  35. package/dist/tools/agent-identity.js +15 -0
  36. package/dist/tools/agent-identity.js.map +1 -1
  37. package/dist/tools/agreement-types.d.ts.map +1 -1
  38. package/dist/tools/agreement-types.js +24 -0
  39. package/dist/tools/agreement-types.js.map +1 -1
  40. package/dist/tools/agreements.d.ts.map +1 -1
  41. package/dist/tools/agreements.js +21 -3
  42. package/dist/tools/agreements.js.map +1 -1
  43. package/dist/tools/analytics.d.ts.map +1 -1
  44. package/dist/tools/analytics.js +19 -1
  45. package/dist/tools/analytics.js.map +1 -1
  46. package/dist/tools/app-tools.d.ts.map +1 -1
  47. package/dist/tools/app-tools.js +11 -2
  48. package/dist/tools/app-tools.js.map +1 -1
  49. package/dist/tools/assets.d.ts.map +1 -1
  50. package/dist/tools/assets.js +33 -0
  51. package/dist/tools/assets.js.map +1 -1
  52. package/dist/tools/audio-files.d.ts +5 -0
  53. package/dist/tools/audio-files.d.ts.map +1 -1
  54. package/dist/tools/audio-files.js +91 -0
  55. package/dist/tools/audio-files.js.map +1 -1
  56. package/dist/tools/audit.d.ts.map +1 -1
  57. package/dist/tools/audit.js +11 -2
  58. package/dist/tools/audit.js.map +1 -1
  59. package/dist/tools/auth.d.ts.map +1 -1
  60. package/dist/tools/auth.js +6 -0
  61. package/dist/tools/auth.js.map +1 -1
  62. package/dist/tools/bulk.d.ts +4 -0
  63. package/dist/tools/bulk.d.ts.map +1 -1
  64. package/dist/tools/bulk.js +304 -0
  65. package/dist/tools/bulk.js.map +1 -1
  66. package/dist/tools/calendar.d.ts.map +1 -1
  67. package/dist/tools/calendar.js +3 -0
  68. package/dist/tools/calendar.js.map +1 -1
  69. package/dist/tools/collaborators.d.ts.map +1 -1
  70. package/dist/tools/collaborators.js +24 -3
  71. package/dist/tools/collaborators.js.map +1 -1
  72. package/dist/tools/comparisons.d.ts.map +1 -1
  73. package/dist/tools/comparisons.js +6 -0
  74. package/dist/tools/comparisons.js.map +1 -1
  75. package/dist/tools/credits.d.ts +18 -0
  76. package/dist/tools/credits.d.ts.map +1 -1
  77. package/dist/tools/credits.js +344 -4
  78. package/dist/tools/credits.js.map +1 -1
  79. package/dist/tools/custody.d.ts.map +1 -1
  80. package/dist/tools/custody.js +23 -2
  81. package/dist/tools/custody.js.map +1 -1
  82. package/dist/tools/dashboard.d.ts.map +1 -1
  83. package/dist/tools/dashboard.js +43 -7
  84. package/dist/tools/dashboard.js.map +1 -1
  85. package/dist/tools/directory.d.ts.map +1 -1
  86. package/dist/tools/directory.js +3 -0
  87. package/dist/tools/directory.js.map +1 -1
  88. package/dist/tools/discovery.d.ts.map +1 -1
  89. package/dist/tools/discovery.js +99 -2
  90. package/dist/tools/discovery.js.map +1 -1
  91. package/dist/tools/disputes.d.ts.map +1 -1
  92. package/dist/tools/disputes.js +4 -1
  93. package/dist/tools/disputes.js.map +1 -1
  94. package/dist/tools/documents.d.ts.map +1 -1
  95. package/dist/tools/documents.js +3 -0
  96. package/dist/tools/documents.js.map +1 -1
  97. package/dist/tools/duplicates.d.ts.map +1 -1
  98. package/dist/tools/duplicates.js +6 -0
  99. package/dist/tools/duplicates.js.map +1 -1
  100. package/dist/tools/enrichment.d.ts.map +1 -1
  101. package/dist/tools/enrichment.js +33 -0
  102. package/dist/tools/enrichment.js.map +1 -1
  103. package/dist/tools/explainability.d.ts +24 -0
  104. package/dist/tools/explainability.d.ts.map +1 -0
  105. package/dist/tools/explainability.js +137 -0
  106. package/dist/tools/explainability.js.map +1 -0
  107. package/dist/tools/exports.d.ts.map +1 -1
  108. package/dist/tools/exports.js +18 -3
  109. package/dist/tools/exports.js.map +1 -1
  110. package/dist/tools/feedback.d.ts.map +1 -1
  111. package/dist/tools/feedback.js +3 -0
  112. package/dist/tools/feedback.js.map +1 -1
  113. package/dist/tools/files.d.ts.map +1 -1
  114. package/dist/tools/files.js +22 -0
  115. package/dist/tools/files.js.map +1 -1
  116. package/dist/tools/groups.d.ts.map +1 -1
  117. package/dist/tools/groups.js +12 -0
  118. package/dist/tools/groups.js.map +1 -1
  119. package/dist/tools/import-documents.d.ts.map +1 -1
  120. package/dist/tools/import-documents.js +10 -1
  121. package/dist/tools/import-documents.js.map +1 -1
  122. package/dist/tools/import.d.ts.map +1 -1
  123. package/dist/tools/import.js +65 -18
  124. package/dist/tools/import.js.map +1 -1
  125. package/dist/tools/index.d.ts +142 -6
  126. package/dist/tools/index.d.ts.map +1 -1
  127. package/dist/tools/index.js +289 -108
  128. package/dist/tools/index.js.map +1 -1
  129. package/dist/tools/integrations.d.ts.map +1 -1
  130. package/dist/tools/integrations.js +28 -8
  131. package/dist/tools/integrations.js.map +1 -1
  132. package/dist/tools/labels.d.ts.map +1 -1
  133. package/dist/tools/labels.js +3 -0
  134. package/dist/tools/labels.js.map +1 -1
  135. package/dist/tools/licensing.d.ts.map +1 -1
  136. package/dist/tools/licensing.js +15 -0
  137. package/dist/tools/licensing.js.map +1 -1
  138. package/dist/tools/memory.d.ts.map +1 -1
  139. package/dist/tools/memory.js +15 -3
  140. package/dist/tools/memory.js.map +1 -1
  141. package/dist/tools/metadata.d.ts.map +1 -1
  142. package/dist/tools/metadata.js +112 -0
  143. package/dist/tools/metadata.js.map +1 -1
  144. package/dist/tools/multimedia.d.ts.map +1 -1
  145. package/dist/tools/multimedia.js +15 -0
  146. package/dist/tools/multimedia.js.map +1 -1
  147. package/dist/tools/my-recent-questions.d.ts +25 -0
  148. package/dist/tools/my-recent-questions.d.ts.map +1 -0
  149. package/dist/tools/my-recent-questions.js +186 -0
  150. package/dist/tools/my-recent-questions.js.map +1 -0
  151. package/dist/tools/my-reported-issues.d.ts.map +1 -1
  152. package/dist/tools/my-reported-issues.js +3 -0
  153. package/dist/tools/my-reported-issues.js.map +1 -1
  154. package/dist/tools/notes.d.ts.map +1 -1
  155. package/dist/tools/notes.js +12 -0
  156. package/dist/tools/notes.js.map +1 -1
  157. package/dist/tools/notifications.d.ts.map +1 -1
  158. package/dist/tools/notifications.js +25 -1
  159. package/dist/tools/notifications.js.map +1 -1
  160. package/dist/tools/onboarding.d.ts.map +1 -1
  161. package/dist/tools/onboarding.js +3 -0
  162. package/dist/tools/onboarding.js.map +1 -1
  163. package/dist/tools/people.d.ts +4 -0
  164. package/dist/tools/people.d.ts.map +1 -1
  165. package/dist/tools/people.js +58 -1
  166. package/dist/tools/people.js.map +1 -1
  167. package/dist/tools/projects.d.ts.map +1 -1
  168. package/dist/tools/projects.js +18 -0
  169. package/dist/tools/projects.js.map +1 -1
  170. package/dist/tools/public-filter.d.ts.map +1 -1
  171. package/dist/tools/public-filter.js +6 -0
  172. package/dist/tools/public-filter.js.map +1 -1
  173. package/dist/tools/publishers.d.ts.map +1 -1
  174. package/dist/tools/publishers.js +6 -0
  175. package/dist/tools/publishers.js.map +1 -1
  176. package/dist/tools/recordings.d.ts.map +1 -1
  177. package/dist/tools/recordings.js +15 -0
  178. package/dist/tools/recordings.js.map +1 -1
  179. package/dist/tools/recovery-hints.d.ts.map +1 -1
  180. package/dist/tools/recovery-hints.js +105 -0
  181. package/dist/tools/recovery-hints.js.map +1 -1
  182. package/dist/tools/release-rich.d.ts.map +1 -1
  183. package/dist/tools/release-rich.js +4 -2
  184. package/dist/tools/release-rich.js.map +1 -1
  185. package/dist/tools/releases.d.ts.map +1 -1
  186. package/dist/tools/releases.js +55 -0
  187. package/dist/tools/releases.js.map +1 -1
  188. package/dist/tools/report-issue.d.ts.map +1 -1
  189. package/dist/tools/report-issue.js +3 -0
  190. package/dist/tools/report-issue.js.map +1 -1
  191. package/dist/tools/royalties.d.ts.map +1 -1
  192. package/dist/tools/royalties.js +18 -3
  193. package/dist/tools/royalties.js.map +1 -1
  194. package/dist/tools/search.d.ts.map +1 -1
  195. package/dist/tools/search.js +10 -1
  196. package/dist/tools/search.js.map +1 -1
  197. package/dist/tools/send.d.ts.map +1 -1
  198. package/dist/tools/send.js +9 -0
  199. package/dist/tools/send.js.map +1 -1
  200. package/dist/tools/sessions.d.ts.map +1 -1
  201. package/dist/tools/sessions.js +12 -0
  202. package/dist/tools/sessions.js.map +1 -1
  203. package/dist/tools/settings.d.ts.map +1 -1
  204. package/dist/tools/settings.js +30 -3
  205. package/dist/tools/settings.js.map +1 -1
  206. package/dist/tools/share-links.d.ts.map +1 -1
  207. package/dist/tools/share-links.js +15 -0
  208. package/dist/tools/share-links.js.map +1 -1
  209. package/dist/tools/share-send.d.ts +28 -0
  210. package/dist/tools/share-send.d.ts.map +1 -0
  211. package/dist/tools/share-send.js +131 -0
  212. package/dist/tools/share-send.js.map +1 -0
  213. package/dist/tools/sharing.d.ts +29 -0
  214. package/dist/tools/sharing.d.ts.map +1 -0
  215. package/dist/tools/sharing.js +131 -0
  216. package/dist/tools/sharing.js.map +1 -0
  217. package/dist/tools/signup.d.ts.map +1 -1
  218. package/dist/tools/signup.js +3 -0
  219. package/dist/tools/signup.js.map +1 -1
  220. package/dist/tools/skills.d.ts +25 -0
  221. package/dist/tools/skills.d.ts.map +1 -0
  222. package/dist/tools/skills.js +144 -0
  223. package/dist/tools/skills.js.map +1 -0
  224. package/dist/tools/split-sheets.d.ts.map +1 -1
  225. package/dist/tools/split-sheets.js +22 -1
  226. package/dist/tools/split-sheets.js.map +1 -1
  227. package/dist/tools/storage-config.d.ts.map +1 -1
  228. package/dist/tools/storage-config.js +6 -0
  229. package/dist/tools/storage-config.js.map +1 -1
  230. package/dist/tools/subscription.d.ts.map +1 -1
  231. package/dist/tools/subscription.js +9 -10
  232. package/dist/tools/subscription.js.map +1 -1
  233. package/dist/tools/sync-placements.d.ts.map +1 -1
  234. package/dist/tools/sync-placements.js +20 -2
  235. package/dist/tools/sync-placements.js.map +1 -1
  236. package/dist/tools/team.d.ts.map +1 -1
  237. package/dist/tools/team.js +15 -0
  238. package/dist/tools/team.js.map +1 -1
  239. package/dist/tools/telegram.d.ts.map +1 -1
  240. package/dist/tools/telegram.js +9 -0
  241. package/dist/tools/telegram.js.map +1 -1
  242. package/dist/tools/uploads.d.ts.map +1 -1
  243. package/dist/tools/uploads.js +6 -0
  244. package/dist/tools/uploads.js.map +1 -1
  245. package/dist/tools/works.d.ts +4 -0
  246. package/dist/tools/works.d.ts.map +1 -1
  247. package/dist/tools/works.js +83 -3
  248. package/dist/tools/works.js.map +1 -1
  249. package/package.json +7 -6
  250. package/scripts/build-skills.ts +229 -0
  251. package/server.json +2 -2
@@ -131,9 +131,12 @@ export class WorksTools {
131
131
  {
132
132
  definition: {
133
133
  name: "pica_works_query",
134
- description: "Find works by any criteria — text search, verified status, or health filter. " +
135
- " then: pica_works_inspect (details for a specific work)",
134
+ tier: "read",
135
+ description: "Use when the user asks: 'what's pending registration?', 'what hasn't been registered yet?', 'unregistered works', 'list pending registrations'. " +
136
+ "Find works by any criteria — text search, verified status, health filter, or registration status. Pass registration_status='pending' to list unregistered works specifically. " +
137
+ "→ then: pica_works_inspect (details for a specific work), am-i-ready-to-register (the orchestrated registration workflow)",
136
138
  workflows: "infrastructure",
139
+ vernacular_kind: "creator-entry",
137
140
  inputSchema: {
138
141
  type: "object",
139
142
  properties: {
@@ -166,12 +169,15 @@ export class WorksTools {
166
169
  {
167
170
  definition: {
168
171
  name: "pica_works_inspect",
169
- description: "Get details and quality data for a specific work. Omit sections for everything. " +
172
+ tier: "read",
173
+ description: "Use when the user asks: 'tell me about this song', 'show me this song', 'what do you know about this work?', 'inspect this song's details'. " +
174
+ "Get details and quality data for a specific work (the song-level entity, not its album/project). Omit sections for everything. " +
170
175
  "Use sections=['enrichment'] to see cascade provenance (which source wrote each field), " +
171
176
  "completeness_score, completeness_breakdown, AND live enrichment-job statuses (spotify, mlc, acrcloud, audio analysis) " +
172
177
  "in one response. " +
173
178
  "→ then: pica_credits_update (fix credits), pica_resolve_work (fill identifiers + metadata), pica_run_work_cascade (retry)",
174
179
  workflows: "infrastructure",
180
+ vernacular_kind: "creator-entry",
175
181
  inputSchema: {
176
182
  type: "object",
177
183
  properties: {
@@ -233,12 +239,15 @@ export class WorksTools {
233
239
  {
234
240
  definition: {
235
241
  name: "pica_works_create",
242
+ tier: "write",
236
243
  description: "Create a new musical work. IMPORTANT: call pica_works_query first to check for duplicates — same-title works cause split and registration issues. " +
237
244
  "Album and release metadata (album_name, album_art_url, track_number, upc, spotify_url) live on `pica_releases_create/update`, not here. " +
238
245
  "For label metadata, set it on the release via pica_releases_*.label_organization_id (resolve the name via pica_labels_query first). " +
239
246
  "After several mutations, surface a pica_dashboard_briefing to the user. " +
240
247
  "→ before: pica_works_query (check duplicates) → then: pica_credits_update (add writers), pica_works_inspect (check gaps), pica_resolve_work (fill identifiers)",
241
248
  workflows: ["work-required"],
249
+ vernacular_kind: "specialist",
250
+ vernacular_reason: "Specialist context; not yet covered by the Creator Question Atlas — pending telemetry-driven addition per ADR-226 Phase 4 substrate writes.",
242
251
  inputSchema: {
243
252
  type: "object",
244
253
  properties: WORK_WRITE_PROPERTIES,
@@ -262,12 +271,15 @@ export class WorksTools {
262
271
  {
263
272
  definition: {
264
273
  name: "pica_works_update",
274
+ tier: "write",
265
275
  description: "Update an existing musical work. Only real `works` columns are accepted — " +
266
276
  "album and release metadata (album_name, album_art_url, track_number, upc, spotify_url) must go through pica_releases_create/update, not here. " +
267
277
  "Audio-trait satellite fields (energy, vocal_type, available_for_licensing, danceability) are not exposed through MCP; set them through a release or recording path. " +
268
278
  "Three jsonb compliance fields (ai_disclosure, provenance_attestation, training_rights) are satellite-routed to work_licensing and ARE set-able here. " +
269
279
  "→ then: pica_works_inspect (verify changes persisted)",
270
280
  workflows: ["work-required"],
281
+ vernacular_kind: "specialist",
282
+ vernacular_reason: "Specialist context; not yet covered by the Creator Question Atlas — pending telemetry-driven addition per ADR-226 Phase 4 substrate writes.",
271
283
  inputSchema: {
272
284
  type: "object",
273
285
  properties: {
@@ -292,8 +304,11 @@ export class WorksTools {
292
304
  {
293
305
  definition: {
294
306
  name: "pica_works_delete",
307
+ tier: "destructive",
295
308
  description: "Delete a musical work",
296
309
  workflows: "infrastructure",
310
+ vernacular_kind: "specialist",
311
+ vernacular_reason: "Destructive operation; invoked by exact name after explicit user confirmation in a specialist flow.",
297
312
  inputSchema: {
298
313
  type: "object",
299
314
  properties: {
@@ -310,8 +325,11 @@ export class WorksTools {
310
325
  {
311
326
  definition: {
312
327
  name: "pica_works_verify",
328
+ tier: "write",
313
329
  description: "Mark a work as verified",
314
330
  workflows: "infrastructure",
331
+ vernacular_kind: "specialist",
332
+ vernacular_reason: "Specialist context; not yet covered by the Creator Question Atlas — pending telemetry-driven addition per ADR-226 Phase 4 substrate writes.",
315
333
  inputSchema: {
316
334
  type: "object",
317
335
  properties: {
@@ -328,8 +346,11 @@ export class WorksTools {
328
346
  {
329
347
  definition: {
330
348
  name: "pica_works_bulk_delete",
349
+ tier: "destructive",
331
350
  description: "Delete multiple works at once",
332
351
  workflows: "infrastructure",
352
+ vernacular_kind: "specialist",
353
+ vernacular_reason: "Destructive operation; invoked by exact name after explicit user confirmation in a specialist flow.",
333
354
  inputSchema: {
334
355
  type: "object",
335
356
  properties: {
@@ -340,12 +361,48 @@ export class WorksTools {
340
361
  type: "string",
341
362
  },
342
363
  },
364
+ dry_run: {
365
+ type: "boolean",
366
+ description: "When true, returns { dry_run: true, would_affect, target_count } without deleting any work. Preview before committing — bulk deletes cascade to credits and agreement links and cannot be undone for works without verified identifiers.",
367
+ },
343
368
  },
344
369
  required: ["ids"],
345
370
  },
371
+ previewMode: "dry_run",
346
372
  },
347
373
  executor: withBillingGate(this.pica, "bulk work deletion", this.bulkDeleteWorks.bind(this)),
348
374
  },
375
+ {
376
+ definition: {
377
+ name: "pica_works_bulk_move_to_performances",
378
+ tier: "destructive",
379
+ description: "Reclassify multiple works as live performances and DELETE the source work rows. " +
380
+ "Use when the catalog has works that are actually performances of existing repertoire " +
381
+ "(covers, live renditions). Each work becomes a new row in `live_performances` with " +
382
+ "title/artist mapped over; the source `works` row is then deleted. Per-row results " +
383
+ "are returned — partial success is possible.",
384
+ workflows: "infrastructure",
385
+ vernacular_kind: "specialist",
386
+ vernacular_reason: "Destructive reclassification; invoked by exact name after explicit user confirmation in a specialist flow.",
387
+ inputSchema: {
388
+ type: "object",
389
+ properties: {
390
+ ids: {
391
+ type: "array",
392
+ description: "Array of work IDs to reclassify as live performances",
393
+ items: { type: "string" },
394
+ },
395
+ dry_run: {
396
+ type: "boolean",
397
+ description: "When true, returns { dry_run: true, would_affect, target_count } without creating any performance row or deleting any work. Strongly recommended — this operation deletes work rows after creating the performance counterparts.",
398
+ },
399
+ },
400
+ required: ["ids"],
401
+ },
402
+ previewMode: "dry_run",
403
+ },
404
+ executor: withBillingGate(this.pica, "bulk work-to-performance reclassification", this.bulkMoveToPerformances.bind(this)),
405
+ },
349
406
  ];
350
407
  }
351
408
  /**
@@ -687,8 +744,31 @@ export class WorksTools {
687
744
  * Bulk delete works
688
745
  */
689
746
  async bulkDeleteWorks(args) {
747
+ if (args.dry_run === true) {
748
+ const ids = Array.isArray(args.ids) ? args.ids : [];
749
+ return formatSuccess(`Dry run — would delete ${ids.length} work(s)`, {
750
+ dry_run: true,
751
+ would_affect: ids,
752
+ target_count: ids.length,
753
+ });
754
+ }
690
755
  await this.pica.works.bulkDelete(args.ids);
691
756
  return formatSuccess(`${args.ids.length} works deleted successfully`);
692
757
  }
758
+ /**
759
+ * Bulk reclassify works as live performances + delete source work rows
760
+ */
761
+ async bulkMoveToPerformances(args) {
762
+ if (args.dry_run === true) {
763
+ const ids = Array.isArray(args.ids) ? args.ids : [];
764
+ return formatSuccess(`Dry run — would reclassify ${ids.length} work(s) as live performances and delete the source rows`, {
765
+ dry_run: true,
766
+ would_affect: ids,
767
+ target_count: ids.length,
768
+ });
769
+ }
770
+ const result = await this.pica.works.bulkMoveToPerformances(args.ids);
771
+ return formatSuccess(`Reclassified ${args.ids.length} work(s) to performances`, result);
772
+ }
693
773
  }
694
774
  //# sourceMappingURL=works.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"works.js","sourceRoot":"","sources":["../../src/tools/works.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"works.js","sourceRoot":"","sources":["../../src/tools/works.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@withpica/mcp-server",
3
3
  "mcpName": "io.github.withpica/pica",
4
- "version": "2.52.0",
4
+ "version": "2.52.1",
5
5
  "description": "MCP Server for PICA Platform - enables AI assistants to interact with PICA",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
@@ -9,7 +9,7 @@
9
9
  "pica-mcp": "./dist/index.js"
10
10
  },
11
11
  "scripts": {
12
- "prebuild": "tsx scripts/bundle-apps.ts && tsx scripts/build-required-schemas.ts",
12
+ "prebuild": "tsx scripts/bundle-apps.ts && tsx scripts/build-required-schemas.ts && tsx scripts/build-skills.ts",
13
13
  "build": "tsc",
14
14
  "dev": "tsx src/index.ts",
15
15
  "start": "node dist/index.js",
@@ -18,7 +18,8 @@
18
18
  "test:coverage": "NODE_OPTIONS=--experimental-vm-modules jest --coverage",
19
19
  "lint:required-schemas": "tsx ../scripts/lint-required-schemas.ts",
20
20
  "lint:agent-guide": "tsx ../scripts/lint-agent-guide.ts",
21
- "prepublishOnly": "npm run build && tsx ../scripts/check-mcp-bundle.ts && tsx ../scripts/lint-mcp-tools.ts && npm run lint:required-schemas && npm run lint:agent-guide"
21
+ "lint:resource-coverage": "tsx ../scripts/lint-resource-coverage.ts",
22
+ "prepublishOnly": "npm run build && tsx ../scripts/check-mcp-bundle.ts && tsx ../scripts/lint-mcp-tools.ts && npm run lint:required-schemas && npm run lint:agent-guide && npm run lint:resource-coverage"
22
23
  },
23
24
  "keywords": [
24
25
  "mcp",
@@ -32,9 +33,9 @@
32
33
  "author": "PICA Platform",
33
34
  "license": "MIT",
34
35
  "dependencies": {
35
- "@modelcontextprotocol/sdk": "^1.27.1",
36
- "@withpica/mcp-sdk": "^1.25.0",
37
- "@withpica/mcp-utils": "^1.18.0",
36
+ "@modelcontextprotocol/sdk": "~1.27.1",
37
+ "@withpica/mcp-sdk": "^1.25.1",
38
+ "@withpica/mcp-utils": "^1.21.0",
38
39
  "mppx": "^0.5.0"
39
40
  },
40
41
  "devDependencies": {
@@ -0,0 +1,229 @@
1
+ // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
+
3
+ /**
4
+ * ADR-140 Phase 2b — generator for `skills.generated.ts`.
5
+ *
6
+ * Reads `src/skills/<name>/SKILL.md` files, parses YAML frontmatter, and emits
7
+ * a TypeScript constant consumed by SkillsRegistry. Generation at build time
8
+ * (not runtime FS reads) so npm-published `dist/` ships bundled bytes — `.md`
9
+ * files are excluded by `.npmignore`.
10
+ *
11
+ * Frontmatter shape:
12
+ * ---
13
+ * name: kebab-case-name
14
+ * description: one-line
15
+ * triggers:
16
+ * - phrase one
17
+ * - phrase two
18
+ * audience: manager / artist / etc
19
+ * tools_required:
20
+ * - tool_a
21
+ * - tool_b
22
+ * output: one-line description
23
+ * ---
24
+ *
25
+ * Hand-rolled YAML parser (frontmatter only — no nested objects, no anchors).
26
+ * Adding a `js-yaml` dep would be overkill for the constrained shape.
27
+ *
28
+ * Re-runs are deterministic: same .md files produce a byte-identical output.
29
+ */
30
+
31
+ import { readFileSync, readdirSync, writeFileSync, existsSync } from "node:fs";
32
+ import { dirname, join } from "node:path";
33
+ import { fileURLToPath } from "node:url";
34
+
35
+ const __filename = fileURLToPath(import.meta.url);
36
+ const __dirname = dirname(__filename);
37
+ const MCP_SERVER_ROOT = join(__dirname, "..");
38
+ const SKILLS_ROOT = join(MCP_SERVER_ROOT, "src/skills");
39
+ const OUTPUT_PATH = join(SKILLS_ROOT, "skills.generated.ts");
40
+
41
+ interface SkillFrontmatter {
42
+ name: string;
43
+ description: string;
44
+ triggers: string[];
45
+ audience: string;
46
+ tools_required: string[];
47
+ output: string;
48
+ }
49
+
50
+ interface ParsedSkill extends SkillFrontmatter {
51
+ body: string;
52
+ }
53
+
54
+ function parseFrontmatter(src: string, sourceFile: string): ParsedSkill {
55
+ // Strip leading HTML comment (copyright header) if present, then expect ---
56
+ let i = 0;
57
+ if (src.startsWith("<!--")) {
58
+ const end = src.indexOf("-->");
59
+ if (end === -1) {
60
+ throw new Error(`${sourceFile}: unterminated HTML comment header`);
61
+ }
62
+ i = end + 3;
63
+ // Skip whitespace/newlines
64
+ while (i < src.length && /\s/.test(src[i])) i++;
65
+ }
66
+
67
+ if (src.slice(i, i + 3) !== "---") {
68
+ throw new Error(`${sourceFile}: missing --- frontmatter opener`);
69
+ }
70
+ i += 3;
71
+ // Skip newline after opener
72
+ while (i < src.length && src[i] !== "\n") i++;
73
+ i++;
74
+
75
+ const closeIdx = src.indexOf("\n---", i);
76
+ if (closeIdx === -1) {
77
+ throw new Error(`${sourceFile}: missing --- frontmatter closer`);
78
+ }
79
+
80
+ const frontmatterText = src.slice(i, closeIdx);
81
+ const bodyStart = closeIdx + 4; // skip \n---
82
+ const body = src.slice(bodyStart).replace(/^\n+/, "").trimEnd() + "\n";
83
+
84
+ // Parse: key: value OR key: (list follows)
85
+ const fm: Record<string, string | string[]> = {};
86
+ const lines = frontmatterText.split("\n");
87
+ let currentListKey: string | null = null;
88
+
89
+ for (const line of lines) {
90
+ if (line.trim() === "") {
91
+ currentListKey = null;
92
+ continue;
93
+ }
94
+ const listItemMatch = line.match(/^\s+-\s+(.+)$/);
95
+ if (listItemMatch && currentListKey) {
96
+ (fm[currentListKey] as string[]).push(listItemMatch[1].trim());
97
+ continue;
98
+ }
99
+ const kvMatch = line.match(/^([a-z_][a-z0-9_]*)\s*:\s*(.*)$/i);
100
+ if (!kvMatch) continue;
101
+ const key = kvMatch[1];
102
+ const value = kvMatch[2].trim();
103
+ if (value === "") {
104
+ // List follows
105
+ fm[key] = [];
106
+ currentListKey = key;
107
+ } else {
108
+ fm[key] = value;
109
+ currentListKey = null;
110
+ }
111
+ }
112
+
113
+ // Validate required fields
114
+ const required = [
115
+ "name",
116
+ "description",
117
+ "triggers",
118
+ "audience",
119
+ "tools_required",
120
+ "output",
121
+ ];
122
+ for (const field of required) {
123
+ if (!(field in fm)) {
124
+ throw new Error(`${sourceFile}: missing required frontmatter field "${field}"`);
125
+ }
126
+ }
127
+ if (!Array.isArray(fm.triggers) || fm.triggers.length === 0) {
128
+ throw new Error(`${sourceFile}: triggers must be a non-empty list`);
129
+ }
130
+ if (!Array.isArray(fm.tools_required) || fm.tools_required.length === 0) {
131
+ throw new Error(`${sourceFile}: tools_required must be a non-empty list`);
132
+ }
133
+
134
+ return {
135
+ name: fm.name as string,
136
+ description: fm.description as string,
137
+ triggers: fm.triggers as string[],
138
+ audience: fm.audience as string,
139
+ tools_required: fm.tools_required as string[],
140
+ output: fm.output as string,
141
+ body,
142
+ };
143
+ }
144
+
145
+ function discoverSkills(): ParsedSkill[] {
146
+ if (!existsSync(SKILLS_ROOT)) {
147
+ return [];
148
+ }
149
+ const entries = readdirSync(SKILLS_ROOT, { withFileTypes: true });
150
+ const skills: ParsedSkill[] = [];
151
+ for (const entry of entries) {
152
+ if (!entry.isDirectory()) continue;
153
+ const skillFile = join(SKILLS_ROOT, entry.name, "SKILL.md");
154
+ if (!existsSync(skillFile)) continue;
155
+ const src = readFileSync(skillFile, "utf-8");
156
+ const parsed = parseFrontmatter(src, `src/skills/${entry.name}/SKILL.md`);
157
+ if (parsed.name !== entry.name) {
158
+ throw new Error(
159
+ `src/skills/${entry.name}/SKILL.md: frontmatter name "${parsed.name}" must match directory name "${entry.name}"`,
160
+ );
161
+ }
162
+ skills.push(parsed);
163
+ }
164
+ skills.sort((a, b) => a.name.localeCompare(b.name));
165
+ return skills;
166
+ }
167
+
168
+ function emit(skills: ParsedSkill[]): string {
169
+ const header = `// Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
170
+
171
+ /**
172
+ * GENERATED FILE — DO NOT EDIT BY HAND.
173
+ *
174
+ * Regenerated by \`scripts/build-skills.ts\` from \`src/skills/<name>/SKILL.md\`.
175
+ * Runs in \`prebuild\` and \`prepublishOnly\`. See ADR-140 Phase 2b.
176
+ */
177
+
178
+ export interface Skill {
179
+ /** Stable kebab-case identifier matching the directory name. */
180
+ name: string;
181
+ /** One-line description shown in pica_skill_list. */
182
+ description: string;
183
+ /** Trigger phrases an agent should recognise as invoking this skill. */
184
+ triggers: string[];
185
+ /** Audience tag (manager / artist / sync supervisor / etc). */
186
+ audience: string;
187
+ /** Tools the skill body chains. Lint-checkable. */
188
+ tools_required: string[];
189
+ /** One-line output shape description. */
190
+ output: string;
191
+ /** Full skill methodology body — markdown, exposed by pica_skill_get. */
192
+ body: string;
193
+ }
194
+
195
+ `;
196
+ const lines: string[] = [header, "export const SKILLS: Record<string, Skill> = {"];
197
+ for (const skill of skills) {
198
+ lines.push(` ${JSON.stringify(skill.name)}: {`);
199
+ lines.push(` name: ${JSON.stringify(skill.name)},`);
200
+ lines.push(` description: ${JSON.stringify(skill.description)},`);
201
+ lines.push(` triggers: ${JSON.stringify(skill.triggers)},`);
202
+ lines.push(` audience: ${JSON.stringify(skill.audience)},`);
203
+ lines.push(` tools_required: ${JSON.stringify(skill.tools_required)},`);
204
+ lines.push(` output: ${JSON.stringify(skill.output)},`);
205
+ lines.push(` body: ${JSON.stringify(skill.body)},`);
206
+ lines.push(` },`);
207
+ }
208
+ lines.push("};");
209
+ lines.push("");
210
+ lines.push(
211
+ `export const SKILL_NAMES: ReadonlyArray<string> = ${JSON.stringify(skills.map((s) => s.name))};`,
212
+ );
213
+ lines.push("");
214
+ return lines.join("\n");
215
+ }
216
+
217
+ function main(): void {
218
+ const skills = discoverSkills();
219
+ const output = emit(skills);
220
+ writeFileSync(OUTPUT_PATH, output, "utf-8");
221
+ console.log(
222
+ `[build-skills] Wrote ${skills.length} skill(s) to src/skills/skills.generated.ts`,
223
+ );
224
+ for (const skill of skills) {
225
+ console.log(` - ${skill.name} (${skill.body.length} bytes body)`);
226
+ }
227
+ }
228
+
229
+ main();
package/server.json CHANGED
@@ -6,12 +6,12 @@
6
6
  "url": "https://github.com/withpica/pica",
7
7
  "source": "github"
8
8
  },
9
- "version": "2.52.0",
9
+ "version": "2.52.1",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "@withpica/mcp-server",
14
- "version": "2.52.0",
14
+ "version": "2.52.1",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  }