@withpica/mcp-server 2.46.0 → 2.48.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 (94) hide show
  1. package/CHANGELOG.md +81 -2
  2. package/dist/apps/generated/shared-bundle.d.ts +1 -1
  3. package/dist/apps/generated/shared-bundle.d.ts.map +1 -1
  4. package/dist/apps/generated/shared-bundle.js +1 -1
  5. package/dist/apps/generated/shared-bundle.js.map +1 -1
  6. package/dist/resources/required-schemas.generated.d.ts +65 -0
  7. package/dist/resources/required-schemas.generated.d.ts.map +1 -1
  8. package/dist/resources/required-schemas.generated.js +131 -0
  9. package/dist/resources/required-schemas.generated.js.map +1 -1
  10. package/dist/resources/required-schemas.source.d.ts.map +1 -1
  11. package/dist/resources/required-schemas.source.js +76 -0
  12. package/dist/resources/required-schemas.source.js.map +1 -1
  13. package/dist/tools/agreement-types.js +1 -1
  14. package/dist/tools/agreement-types.js.map +1 -1
  15. package/dist/tools/agreements.js +1 -1
  16. package/dist/tools/agreements.js.map +1 -1
  17. package/dist/tools/app-tools.js +2 -2
  18. package/dist/tools/app-tools.js.map +1 -1
  19. package/dist/tools/assets.d.ts.map +1 -1
  20. package/dist/tools/assets.js +40 -14
  21. package/dist/tools/assets.js.map +1 -1
  22. package/dist/tools/audio-files.js +3 -3
  23. package/dist/tools/audio-files.js.map +1 -1
  24. package/dist/tools/bulk.js +2 -2
  25. package/dist/tools/bulk.js.map +1 -1
  26. package/dist/tools/collaborators.js +6 -6
  27. package/dist/tools/collaborators.js.map +1 -1
  28. package/dist/tools/credits.js +3 -3
  29. package/dist/tools/credits.js.map +1 -1
  30. package/dist/tools/discovery.d.ts.map +1 -1
  31. package/dist/tools/discovery.js +26 -0
  32. package/dist/tools/discovery.js.map +1 -1
  33. package/dist/tools/enrichment.js +13 -13
  34. package/dist/tools/enrichment.js.map +1 -1
  35. package/dist/tools/feedback.js +1 -1
  36. package/dist/tools/feedback.js.map +1 -1
  37. package/dist/tools/forbidden-keywords.d.ts +62 -0
  38. package/dist/tools/forbidden-keywords.d.ts.map +1 -0
  39. package/dist/tools/forbidden-keywords.js +99 -0
  40. package/dist/tools/forbidden-keywords.js.map +1 -0
  41. package/dist/tools/groups.d.ts +29 -0
  42. package/dist/tools/groups.d.ts.map +1 -0
  43. package/dist/tools/groups.js +186 -0
  44. package/dist/tools/groups.js.map +1 -0
  45. package/dist/tools/index.d.ts +1 -1
  46. package/dist/tools/index.d.ts.map +1 -1
  47. package/dist/tools/index.js +13 -1
  48. package/dist/tools/index.js.map +1 -1
  49. package/dist/tools/metadata.d.ts.map +1 -1
  50. package/dist/tools/metadata.js +62 -0
  51. package/dist/tools/metadata.js.map +1 -1
  52. package/dist/tools/notifications.js +3 -3
  53. package/dist/tools/notifications.js.map +1 -1
  54. package/dist/tools/people.d.ts.map +1 -1
  55. package/dist/tools/people.js +5 -0
  56. package/dist/tools/people.js.map +1 -1
  57. package/dist/tools/projects.d.ts.map +1 -1
  58. package/dist/tools/projects.js +6 -7
  59. package/dist/tools/projects.js.map +1 -1
  60. package/dist/tools/public-filter.d.ts.map +1 -1
  61. package/dist/tools/public-filter.js +8 -36
  62. package/dist/tools/public-filter.js.map +1 -1
  63. package/dist/tools/recordings.d.ts.map +1 -1
  64. package/dist/tools/recordings.js +75 -27
  65. package/dist/tools/recordings.js.map +1 -1
  66. package/dist/tools/recovery-hints.d.ts +26 -0
  67. package/dist/tools/recovery-hints.d.ts.map +1 -1
  68. package/dist/tools/recovery-hints.js +615 -0
  69. package/dist/tools/recovery-hints.js.map +1 -1
  70. package/dist/tools/release-rich.d.ts.map +1 -1
  71. package/dist/tools/release-rich.js +10 -6
  72. package/dist/tools/release-rich.js.map +1 -1
  73. package/dist/tools/settings.d.ts.map +1 -1
  74. package/dist/tools/settings.js +14 -15
  75. package/dist/tools/settings.js.map +1 -1
  76. package/dist/tools/signup.js +1 -1
  77. package/dist/tools/signup.js.map +1 -1
  78. package/dist/tools/split-sheets.js +1 -1
  79. package/dist/tools/split-sheets.js.map +1 -1
  80. package/dist/tools/storage-config.js +2 -2
  81. package/dist/tools/storage-config.js.map +1 -1
  82. package/dist/tools/subscription.d.ts.map +1 -1
  83. package/dist/tools/subscription.js +4 -6
  84. package/dist/tools/subscription.js.map +1 -1
  85. package/dist/tools/sync-placements.d.ts +31 -0
  86. package/dist/tools/sync-placements.d.ts.map +1 -0
  87. package/dist/tools/sync-placements.js +431 -0
  88. package/dist/tools/sync-placements.js.map +1 -0
  89. package/dist/tools/works.d.ts.map +1 -1
  90. package/dist/tools/works.js +50 -22
  91. package/dist/tools/works.js.map +1 -1
  92. package/package.json +3 -3
  93. package/server.json +2 -2
  94. package/.claude/settings.local.json +0 -5
@@ -16,13 +16,13 @@ export class EnrichmentTools {
16
16
  definition: {
17
17
  name: "pica_resolve_recording",
18
18
  description: "Resolve a recording against every eligible external source in one call — Spotify, YouTube, MusicBrainz, Discogs. " +
19
- "First recording-side enrichment tool in the MCP (ADR-179 Phase 3). Returns a structured receipt: " +
19
+ "First recording-side enrichment tool in the MCP. Returns a structured receipt: " +
20
20
  "`applied[]` (identifier-matched Tier A writes), `proposals[]` (Tier B fuzzy matches — reserved for future cascade rules), " +
21
21
  "`errors[]` (per-source failures with retry hints). Partial failure is not an error — isError is set only when EVERY " +
22
22
  "eligible source errored. " +
23
23
  "Spotify adapter fetches Spotify track metadata (triggered by spotify_track_uri / spotify_track_id on the recording) " +
24
24
  "and writes preview_url, duration_ms, isrc, and the URL set to NULL columns only — non-destructive. " +
25
- "YouTube adapter fetches video metadata (triggered by youtube_video_id) and wires the ADR-166 classifyVersion() heuristic " +
25
+ "YouTube adapter fetches video metadata (triggered by youtube_video_id) and wires the version-classification heuristic " +
26
26
  "to populate version_type when it\'s NULL (satisfies the recordings.version_type CHECK constraint). An existing version_type " +
27
27
  "is never overwritten. " +
28
28
  "MusicBrainz + Discogs sources are stubs for now. " +
@@ -146,7 +146,7 @@ export class EnrichmentTools {
146
146
  {
147
147
  definition: {
148
148
  name: "pica_run_work_cascade",
149
- description: "Re-evaluate a work against every ADR-164 cascade rule and fire those whose preconditions are satisfied. " +
149
+ description: "Re-evaluate a work against every cascade rule and fire those whose preconditions are satisfied. " +
150
150
  "Use after a tool or direct edit that bypassed the cascade, or to retry enrichment after adding a missing identifier. " +
151
151
  "Idempotent: rules whose output is already present skip. Runs fire-and-forget; check results via pica_works_inspect. " +
152
152
  "→ then: pica_works_inspect (see what changed), pica_cascade_health (spot-check failures)",
@@ -167,7 +167,7 @@ export class EnrichmentTools {
167
167
  {
168
168
  definition: {
169
169
  name: "pica_run_person_cascade",
170
- description: "Re-evaluate a person against every ADR-164 cascade rule. Fires ipi_to_mlc_works (pulls MLC writer/publisher splits), " +
170
+ description: "Re-evaluate a person against every cascade rule. Fires ipi_to_mlc_works (pulls MLC writer/publisher splits), " +
171
171
  "mbid/isni→wikidata crosswalks, wikidata_to_awards, wikidata_to_biography, and the Google contact suggestion. " +
172
172
  "Idempotent. Fire-and-forget. → then: pica_people_inspect (see what the cascade wrote)",
173
173
  workflows: "infrastructure",
@@ -187,7 +187,7 @@ export class EnrichmentTools {
187
187
  {
188
188
  definition: {
189
189
  name: "pica_cascade_health",
190
- description: "Snapshot of the in-process enrichment cascade counters (ADR-164 Decision 5). " +
190
+ description: "Snapshot of the in-process enrichment cascade counters. " +
191
191
  "Returns per-rule failure counts bucketed by reason (empty_result, timeout, auth_error, rate_limit, schema_error, unknown) " +
192
192
  "plus outcome totals (wrote / no_match / already_enriched / error / proposed / suppressed). " +
193
193
  "Process-global and not persistent across serverless cold starts — treat as a spot-check, not a historical ledger. " +
@@ -206,7 +206,7 @@ export class EnrichmentTools {
206
206
  {
207
207
  definition: {
208
208
  name: "pica_enrichment_proposals_list",
209
- description: "List pending enrichment proposals awaiting review (ADR-163 Tier B). " +
209
+ description: "List pending enrichment proposals awaiting review (Tier B fuzzy matches). " +
210
210
  "These are matches from fuzzy-match cascade rules (MLC writer splits, " +
211
211
  "Spotify artist+title, YouTube recording classification) that the cascade " +
212
212
  "holds for human review instead of writing through automatically. " +
@@ -251,7 +251,7 @@ export class EnrichmentTools {
251
251
  {
252
252
  definition: {
253
253
  name: "pica_enrichment_proposal_apply",
254
- description: "Apply a pending enrichment proposal (ADR-163 Tier B). " +
254
+ description: "Apply a pending Tier B enrichment proposal. " +
255
255
  "For update proposals (e.g. MLC writer splits on a work), drift " +
256
256
  "detection runs first: if the entity has changed since the proposal " +
257
257
  "was created, the response is { status: 'drift_detected', conflicts } " +
@@ -285,7 +285,7 @@ export class EnrichmentTools {
285
285
  {
286
286
  definition: {
287
287
  name: "pica_enrichment_proposal_reject",
288
- description: "Reject a pending enrichment proposal (ADR-163 Tier B). " +
288
+ description: "Reject a pending Tier B enrichment proposal. " +
289
289
  "Content-hash suppression permanently blocks re-proposal of the " +
290
290
  "same exact content — the cascade will only re-propose if the " +
291
291
  "source data genuinely changes (different MLC record, different " +
@@ -316,7 +316,7 @@ export class EnrichmentTools {
316
316
  {
317
317
  definition: {
318
318
  name: "pica_enrichment_propose",
319
- description: "File an enrichment proposal sourced from open-web research (ADR-178). " +
319
+ description: "File an enrichment proposal sourced from open-web research. " +
320
320
  "Use when you've found a fact about a work, recording, or person " +
321
321
  "from an external site (Audiomack, Songdata, MusicBrainz page, " +
322
322
  "label portal, artist bio, etc.) and want PICA to hold it pending " +
@@ -337,11 +337,11 @@ export class EnrichmentTools {
337
337
  entity_type: {
338
338
  type: "string",
339
339
  enum: ["work", "person", "recording", "agreement"],
340
- description: "For update: what kind of entity this proposal anchors on. For create (ADR-193 Surface 4): what TYPE is being created (recording / agreement / person). Work + publisher creation are deferred.",
340
+ description: "For update: what kind of entity this proposal anchors on. For create: what TYPE is being created (recording / agreement / person). Work + publisher creation are deferred.",
341
341
  },
342
342
  entity_id: {
343
343
  type: "string",
344
- description: "The entity id in the caller's org. Required for update proposals; omit for create (ADR-193 Surface 4) — parent_entity_id carries the attach point instead.",
344
+ description: "The entity id in the caller's org. Required for update proposals; omit for create — parent_entity_id carries the attach point instead.",
345
345
  },
346
346
  proposed_fields: {
347
347
  type: "object",
@@ -350,7 +350,7 @@ export class EnrichmentTools {
350
350
  },
351
351
  sources: {
352
352
  type: "array",
353
- description: "Per-field URL citations. Each entry names the fields it sources. One URL can cite multiple fields; one field can be cited by multiple URLs. ADR-193: non-HTTP URIs (gmail:// gdrive:// notion:// file:// telegram:// user://) are accepted verbatim see docs/mcp-source-uri-conventions.md for shapes.",
353
+ description: "Per-field URL citations. Each entry names the fields it sources. One URL can cite multiple fields; one field can be cited by multiple URLs. Non-HTTP URIs (gmail:// gdrive:// notion:// file:// telegram:// user://) are accepted verbatim for sources behind paywalls or in private channels.",
354
354
  items: {
355
355
  type: "object",
356
356
  properties: {
@@ -382,7 +382,7 @@ export class EnrichmentTools {
382
382
  proposal_action: {
383
383
  type: "string",
384
384
  enum: ["update", "create"],
385
- description: "Defaults to 'update'. 'create' (ADR-193 Surface 4) spawns a new recording / agreement / person on a parent entity; pair with parent_entity_type + parent_entity_id. Review queue is mandatory — no silent auto-apply.",
385
+ description: "Defaults to 'update'. 'create' spawns a new recording / agreement / person on a parent entity; pair with parent_entity_type + parent_entity_id. Review queue is mandatory — no silent auto-apply.",
386
386
  },
387
387
  parent_entity_type: {
388
388
  type: "string",
@@ -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,qBAAqB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,OAAO,eAAe;IAClB,IAAI,CAAa;IAEzB,YAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,OAAO;YACL,+DAA+D;YAC/D,iEAAiE;YACjE,+DAA+D;YAC/D;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,wBAAwB;oBAC9B,WAAW,EACT,mHAAmH;wBACnH,mGAAmG;wBACnG,4HAA4H;wBAC5H,sHAAsH;wBACtH,2BAA2B;wBAC3B,sHAAsH;wBACtH,qGAAqG;wBACrG,2HAA2H;wBAC3H,8HAA8H;wBAC9H,wBAAwB;wBACxB,mDAAmD;wBACnD,oDAAoD;oBACtD,SAAS,EAAE,CAAC,6BAA6B,CAAC;oBAC1C,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,YAAY,EAAE;gCACZ,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,6BAA6B;6BAC3C;4BACD,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE;oCACL,IAAI,EAAE,QAAQ;oCACd,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC;iCACvD;gCACD,WAAW,EACT,iFAAiF;6BACpF;4BACD,aAAa,EAAE;gCACb,IAAI,EAAE,SAAS;gCACf,WAAW,EACT,2DAA2D;6BAC9D;yBACF;wBACD,QAAQ,EAAE,CAAC,cAAc,CAAC;qBAC3B;iBACF;gBACD,QAAQ,EAAE,eAAe,CACvB,IAAI,CAAC,IAAI,EACT,oBAAoB,EACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CACjC;aACF;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,qBAAqB;oBAC3B,WAAW,EACT,gIAAgI;wBAChI,gCAAgC;wBAChC,mFAAmF;wBACnF,kEAAkE;wBAClE,sHAAsH;wBACtH,2BAA2B;wBAC3B,iHAAiH;wBACjH,4EAA4E;wBAC5E,+GAA+G;wBAC/G,2JAA2J;oBAC7J,SAAS,EAAE,CAAC,6BAA6B,CAAC;oBAC1C,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,SAAS,EAAE;gCACT,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,0BAA0B;6BACxC;4BACD,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE;oCACL,IAAI,EAAE,QAAQ;oCACd,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;iCAC9B;gCACD,WAAW,EACT,iFAAiF;6BACpF;4BACD,aAAa,EAAE;gCACb,IAAI,EAAE,SAAS;gCACf,WAAW,EACT,wFAAwF;6BAC3F;yBACF;wBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;qBACxB;iBACF;gBACD,QAAQ,EAAE,eAAe,CACvB,IAAI,CAAC,IAAI,EACT,iBAAiB,EACjB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9B;aACF;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,mBAAmB;oBACzB,WAAW,EACT,mHAAmH;wBACnH,gCAAgC;wBAChC,kHAAkH;wBAClH,sHAAsH;wBACtH,2BAA2B;wBAC3B,+GAA+G;wBAC/G,+EAA+E;wBAC/E,+GAA+G;wBAC/G,0JAA0J;oBAC5J,SAAS,EAAE,CAAC,6BAA6B,CAAC;oBAC1C,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,wBAAwB;6BACtC;4BACD,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE;oCACL,IAAI,EAAE,QAAQ;oCACd,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC;iCAC9D;gCACD,WAAW,EACT,iFAAiF;6BACpF;4BACD,aAAa,EAAE;gCACb,IAAI,EAAE,SAAS;gCACf,WAAW,EACT,wFAAwF;6BAC3F;yBACF;wBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;qBACtB;iBACF;gBACD,QAAQ,EAAE,eAAe,CACvB,IAAI,CAAC,IAAI,EACT,eAAe,EACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5B;aACF;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,4BAA4B;oBAClC,WAAW,EACT,uGAAuG;wBACvG,yGAAyG;oBAC3G,SAAS,EAAE,gBAAgB;oBAC3B,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,uBAAuB;oBAC7B,WAAW,EACT,0GAA0G;wBAC1G,uHAAuH;wBACvH,sHAAsH;wBACtH,0FAA0F;oBAC5F,SAAS,EAAE,gBAAgB;oBAC3B,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,4BAA4B;6BAC1C;yBACF;wBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;qBACtB;iBACF;gBACD,QAAQ,EAAE,eAAe,CACvB,IAAI,CAAC,IAAI,EACT,kBAAkB,EAClB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/B;aACF;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,yBAAyB;oBAC/B,WAAW,EACT,uHAAuH;wBACvH,+GAA+G;wBAC/G,uFAAuF;oBACzF,SAAS,EAAE,gBAAgB;oBAC3B,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,SAAS,EAAE;gCACT,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,8BAA8B;6BAC5C;yBACF;wBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;qBACxB;iBACF;gBACD,QAAQ,EAAE,eAAe,CACvB,IAAI,CAAC,IAAI,EACT,oBAAoB,EACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CACjC;aACF;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,qBAAqB;oBAC3B,WAAW,EACT,+EAA+E;wBAC/E,4HAA4H;wBAC5H,6FAA6F;wBAC7F,oHAAoH;wBACpH,0EAA0E;oBAC5E,SAAS,EAAE,gBAAgB;oBAC3B,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,EAAE;qBACf;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;aACxC;YACD,+DAA+D;YAC/D,mDAAmD;YACnD,+DAA+D;YAC/D;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,gCAAgC;oBACtC,WAAW,EACT,sEAAsE;wBACtE,uEAAuE;wBACvE,2EAA2E;wBAC3E,mEAAmE;wBACnE,uEAAuE;wBACvE,uEAAuE;wBACvE,8DAA8D;wBAC9D,sDAAsD;oBACxD,SAAS,EAAE,CAAC,6BAA6B,CAAC;oBAC1C,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC;gCACrC,WAAW,EACT,wDAAwD;6BAC3D;4BACD,SAAS,EAAE;gCACT,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,4EAA4E;6BAC/E;4BACD,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,2GAA2G;6BAC9G;4BACD,MAAM,EAAE;gCACN,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,kEAAkE;6BACrE;4BACD,KAAK,EAAE;gCACL,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,kCAAkC;6BAChD;4BACD,MAAM,EAAE;gCACN,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,+BAA+B;6BAC7C;yBACF;qBACF;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;aAClD;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,gCAAgC;oBACtC,WAAW,EACT,wDAAwD;wBACxD,iEAAiE;wBACjE,qEAAqE;wBACrE,uEAAuE;wBACvE,mEAAmE;wBACnE,uEAAuE;wBACvE,sEAAsE;wBACtE,uEAAuE;wBACvE,yDAAyD;oBAC3D,SAAS,EAAE,CAAC,6BAA6B,CAAC;oBAC1C,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,0BAA0B;6BACxC;4BACD,KAAK,EAAE;gCACL,IAAI,EAAE,SAAS;gCACf,WAAW,EACT,0IAA0I;6BAC7I;4BACD,eAAe,EAAE;gCACf,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,6DAA6D;6BAChE;yBACF;wBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;qBAC1B;iBACF;gBACD,QAAQ,EAAE,eAAe,CACvB,IAAI,CAAC,IAAI,EACT,2BAA2B,EAC3B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CACxC;aACF;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,iCAAiC;oBACvC,WAAW,EACT,yDAAyD;wBACzD,iEAAiE;wBACjE,+DAA+D;wBAC/D,iEAAiE;wBACjE,kEAAkE;wBAClE,kEAAkE;wBAClE,oCAAoC;oBACtC,SAAS,EAAE,CAAC,6BAA6B,CAAC;oBAC1C,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,2BAA2B;6BACzC;4BACD,eAAe,EAAE;gCACf,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,8EAA8E;6BACjF;yBACF;wBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;qBAC1B;iBACF;gBACD,QAAQ,EAAE,eAAe,CACvB,IAAI,CAAC,IAAI,EACT,4BAA4B,EAC5B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CACzC;aACF;YACD,+DAA+D;YAC/D,4DAA4D;YAC5D,+DAA+D;YAC/D;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,yBAAyB;oBAC/B,WAAW,EACT,wEAAwE;wBACxE,kEAAkE;wBAClE,gEAAgE;wBAChE,mEAAmE;wBACnE,mEAAmE;wBACnE,kEAAkE;wBAClE,oDAAoD;wBACpD,+DAA+D;wBAC/D,wDAAwD;wBACxD,kEAAkE;wBAClE,+DAA+D;wBAC/D,gBAAgB;wBAChB,sEAAsE;wBACtE,6DAA6D;oBAC/D,SAAS,EAAE,gBAAgB;oBAC3B,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC;gCAClD,WAAW,EACT,gMAAgM;6BACnM;4BACD,SAAS,EAAE;gCACT,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,4JAA4J;6BAC/J;4BACD,eAAe,EAAE;gCACf,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,8LAA8L;gCAChM,oBAAoB,EAAE,IAAI;6BAC3B;4BACD,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,WAAW,EACT,0SAA0S;gCAC5S,KAAK,EAAE;oCACL,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE;wCACV,GAAG,EAAE;4CACH,IAAI,EAAE,QAAQ;4CACd,WAAW,EAAE,qCAAqC;yCACnD;wCACD,MAAM,EAAE;4CACN,IAAI,EAAE,OAAO;4CACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4CACzB,WAAW,EACT,yDAAyD;yCAC5D;wCACD,WAAW,EAAE;4CACX,IAAI,EAAE,QAAQ;4CACd,WAAW,EACT,iDAAiD;yCACpD;qCACF;oCACD,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC;iCAC3C;6BACF;4BACD,UAAU,EAAE;gCACV,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,sHAAsH;6BACzH;4BACD,SAAS,EAAE;gCACT,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,iHAAiH;6BACpH;4BACD,eAAe,EAAE;gCACf,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gCAC1B,WAAW,EACT,uNAAuN;6BAC1N;4BACD,kBAAkB,EAAE;gCAClB,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC;gCAClD,WAAW,EACT,sLAAsL;6BACzL;4BACD,gBAAgB,EAAE;gCAChB,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,6EAA6E;6BAChF;yBACF;wBACD,QAAQ,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,SAAS,CAAC;qBACxD;iBACF;gBACD,QAAQ,EAAE,eAAe,CACvB,IAAI,CAAC,IAAI,EACT,mCAAmC,EACnC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CACrC;aACF;SACF,CAAC;IACJ,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;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,WAAW,CAAC,IAAyB;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAiB,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAER,CAAC;QACd,MAAM,YAAY,GAChB,OAAO,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,EAAE;YAC5D,OAAO;YACP,YAAY;SACb,CAAC,CAAC;QAEH,mEAAmE;QACnE,mEAAmE;QACnE,iBAAiB;QACjB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QACxC,MAAM,UAAU,GAAG,QAAQ,GAAG,CAAC,IAAI,UAAU,IAAI,QAAQ,CAAC;QAE1D,MAAM,OAAO,GACX,gBAAgB,MAAM,KAAK;YAC3B,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,YAAY;YACpC,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,cAAc;YACxC,GAAG,UAAU,iBAAiB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC;QAE3E,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC1C,iBAAiB,EAAE,MAA4C;YAC/D,OAAO,EAAE,UAAU;SACpB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB,CAC5B,IAAyB;QAEzB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAsB,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAER,CAAC;QACd,MAAM,YAAY,GAChB,OAAO,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE;YACtE,OAAO;YACP,YAAY;SACb,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QACxC,MAAM,UAAU,GAAG,QAAQ,GAAG,CAAC,IAAI,UAAU,IAAI,QAAQ,CAAC;QAE1D,MAAM,OAAO,GACX,qBAAqB,WAAW,KAAK;YACrC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,YAAY;YACpC,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,cAAc;YACxC,GAAG,UAAU,iBAAiB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC;QAE3E,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC1C,iBAAiB,EAAE,MAA4C;YAC/D,OAAO,EAAE,UAAU;SACpB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,aAAa,CAAC,IAAyB;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAmB,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAoD,CAAC;QAC1E,MAAM,YAAY,GAChB,OAAO,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,EAAE;YAChE,OAAO;YACP,YAAY;SACb,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QACxC,MAAM,UAAU,GAAG,QAAQ,GAAG,CAAC,IAAI,UAAU,IAAI,QAAQ,CAAC;QAE1D,MAAM,OAAO,GACX,kBAAkB,QAAQ,KAAK;YAC/B,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,YAAY;YACpC,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,cAAc;YACxC,GAAG,UAAU,iBAAiB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC;QAE3E,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC1C,iBAAiB,EAAE,MAA4C;YAC/D,OAAO,EAAE,UAAU;SACpB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAyB;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvE,OAAO,aAAa,CAClB,yCAAyC,IAAI,CAAC,OAAO,EAAE,EACvD,MAAM,CACP,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,IAAyB;QAEzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3E,OAAO,aAAa,CAClB,2CAA2C,IAAI,CAAC,SAAS,EAAE,EAC3D,MAAM,CACP,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,KAA0B;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;QAC7D,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,+DAA+D;IAC/D,oCAAoC;IACpC,+DAA+D;IAEvD,KAAK,CAAC,uBAAuB,CACnC,IAAyB;QAEzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC;YAChE,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QAEH,8DAA8D;QAC9D,+DAA+D;QAC/D,iCAAiC;QACjC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACxC,CAAC,CAAE,MAAyB;YAC5B,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,SAAS,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;QAE5D,MAAM,OAAO,GACX,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QACnE,MAAM,OAAO,GACX,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAC1C,CAAC,CAAC,sBAAsB;YACxB,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC;QAC3E,OAAO,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,IAAyB;QAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAqB,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAC/D,UAAU,EACV;YACE,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI;YAC1B,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CACF,CAAC;QACF,OAAO,aAAa,CAClB,uBAAuB,UAAU,iBAAiB,EAClD,MAAM,CACP,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,IAAyB;QAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAqB,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAChE,UAAU,EACV;YACE,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CACF,CAAC;QACF,OAAO,aAAa,CAAC,uBAAuB,UAAU,WAAW,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,oBAAoB,CAChC,IAAyB;QAEzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;gBAC7D,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,gBAAgB,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;gBACzC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;aACxC,CAAC,CAAC;YACH,OAAO,aAAa,CAClB,uBAAuB,MAAM,CAAC,WAAW,yBAAyB,EAClE,MAAM,CACP,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,IAAI,GACR,MAAM,EAAE,IAAI;gBACZ,CAAC,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAClD,CAAC,CAAC,sBAAsB;oBACxB,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACxB,MAAM,YAAY,GAChB,MAAM,EAAE,KAAK,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YAE1E,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,+BAA+B,IAAI,KAAK,YAAY,EAAE;qBAC7D;iBACF;gBACD,iBAAiB,EAAE;oBACjB,IAAI;oBACJ,KAAK,EAAE,YAAY;oBACnB,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,IAAI;iBACjC;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAC1B,GAAY;IAEZ,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"enrichment.js","sourceRoot":"","sources":["../../src/tools/enrichment.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export class FeedbackTools {
21
21
  "without leaving the conversation. Routes to the correct team " +
22
22
  "role (bug_report→devops, feature_request→ceo, question→comms, " +
23
23
  "other→category-mapped) and creates a team_tasks row the " +
24
- "founder reviews directly. ADR-184 slice 8 — subject is always " +
24
+ "founder reviews directly. Subject is always " +
25
25
  "the authenticated user; no user_id parameter accepted.",
26
26
  workflows: "infrastructure",
27
27
  inputSchema: {
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/tools/feedback.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAc7D,OAAO,EACL,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAEhF,MAAM,OAAO,GAA2B;IACtC,UAAU,EAAE,QAAQ;IACpB,eAAe,EAAE,KAAK;IACtB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,iBAAiB;CACzB,CAAC;AAEF,MAAM,OAAO,aAAa;IAChB,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,gEAAgE;wBAChE,+DAA+D;wBAC/D,gEAAgE;wBAChE,0DAA0D;wBAC1D,gEAAgE;wBAChE,wDAAwD;oBAC1D,SAAS,EAAE,gBAAgB;oBAC3B,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,gCAAgC;wBAC5C,QAAQ,EAAE,wBAAwB;qBACnC;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;aACzC;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAyB;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAErC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC;gBACjE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,kCAAkC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;qBACvE;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,EAAE,CAAC;gBACpE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,kEAAkE;QAClE,4DAA4D;QAC5D,MAAM,SAAS,GACb,IAAI,CAAC,SAAS,KAAK,UAAU,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU;YAC5D,CAAC,CAAC,IAAI,CAAC,SAAS;YAChB,CAAC,CAAC,QAAQ,KAAK,YAAY;gBACzB,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,UAAU,CAAC;QAEnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC7C,UAAU,EAAE,WAAW,QAAQ,EAAE;YACjC,SAAS;YACT,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE;YAC3B,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC;QACpC,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,IAAI,SAAS,CAAC;QACjC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEjC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,yBAAyB,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI;wBACvD,aAAa,MAAM,wBAAwB,EAAE,GAAG;iBACnD;aACF;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,8BAA8B;gBACpC,OAAO,EAAE,CAAC;gBACV,IAAI,EAAE;oBACJ,EAAE;oBACF,QAAQ;oBACR,SAAS,EAAE,MAAM;oBACjB,SAAS;iBACV;aACF;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/tools/feedback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * ADR-180 Rule 9 (2026-05-02 amendment) — description hygiene.
3
+ *
4
+ * Two filter lists govern what's allowed in tool descriptions:
5
+ *
6
+ * PUBLIC_FORBIDDEN_KEYWORDS: broad. Bans data-source names + concept
7
+ * vocabulary so the unauthenticated lobby surface (anon `tools/list`,
8
+ * directory tools) gives no architectural intel to callers who haven't
9
+ * authenticated yet. Used by `public-filter.ts` to sanitise descriptions
10
+ * before they cross the lobby boundary.
11
+ *
12
+ * AUTHENTICATED_FORBIDDEN_KEYWORDS: narrow. Bans only infra / vendor /
13
+ * library names whose presence is always wrong regardless of audience —
14
+ * they leak hosting + integration choices that aren't load-bearing for
15
+ * any agent. Used by the lint at `scripts/lint-mcp-tools.ts` to enforce
16
+ * on every tool description, authenticated or not.
17
+ *
18
+ * Concept vocabulary that legitimately helps the agent (Tier A/B, cascade,
19
+ * "→ then:", MCP Apps) stays permitted on the authenticated surface — those
20
+ * are user-facing concepts the agent can reason about, not implementation
21
+ * leakage. Data-source names (MLC, ISNI, MusicBrainz, etc.) similarly stay
22
+ * permitted on the authenticated surface because the agent benefits from
23
+ * knowing which sources resolved a query.
24
+ *
25
+ * The two lists are explicitly disjoint by design — sanitisation for the
26
+ * lobby surface uses the union (PUBLIC ∪ AUTHENTICATED) since everything
27
+ * banned for authenticated surfaces is also banned for unauthenticated.
28
+ */
29
+ /**
30
+ * Banned on the unauthenticated lobby surface (also banned on authenticated
31
+ * via union — see PUBLIC_FORBIDDEN_KEYWORDS_FULL below).
32
+ *
33
+ * Notably absent: "Spotify" and "YouTube" are public product surface that
34
+ * customers see in tool names like `pica_import_from_spotify` — hiding
35
+ * them in lobby descriptions would gut the utility-signal of those tools
36
+ * without protecting any algorithm.
37
+ */
38
+ export declare const PUBLIC_FORBIDDEN_KEYWORDS: readonly string[];
39
+ /**
40
+ * Banned on every tool description, authenticated or not. These are infra /
41
+ * vendor / library names whose presence in a tool description is always
42
+ * implementation leakage — agents derive zero useful signal from knowing
43
+ * the email vendor, audio analysis library, or hosting platform.
44
+ *
45
+ * Stripe and Telegram are intentionally NOT banned — those are user-facing
46
+ * product surfaces (Stripe Checkout, Telegram reminders) the agent must
47
+ * reference in tool descriptions to drive correct behaviour.
48
+ */
49
+ export declare const AUTHENTICATED_FORBIDDEN_KEYWORDS: readonly string[];
50
+ /**
51
+ * The full lobby filter is the union of both lists — anything banned on
52
+ * authenticated surfaces is also banned on unauthenticated.
53
+ */
54
+ export declare const PUBLIC_FORBIDDEN_KEYWORDS_FULL: readonly string[];
55
+ /**
56
+ * Pattern matching any ADR reference (`ADR-123`, `ADR-1`, `ADR-9999` ...).
57
+ * The `\b` word boundaries prevent false matches on substrings like
58
+ * `LADRADR-`. ADR references are forbidden in every tool description on
59
+ * every surface.
60
+ */
61
+ export declare const ADR_REFERENCE_REGEX: RegExp;
62
+ //# sourceMappingURL=forbidden-keywords.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forbidden-keywords.d.ts","sourceRoot":"","sources":["../../src/tools/forbidden-keywords.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAetD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,gCAAgC,EAAE,SAAS,MAAM,EAkB7D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE,SAAS,MAAM,EAG3D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,QAAgB,CAAC"}
@@ -0,0 +1,99 @@
1
+ // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
+ /**
3
+ * ADR-180 Rule 9 (2026-05-02 amendment) — description hygiene.
4
+ *
5
+ * Two filter lists govern what's allowed in tool descriptions:
6
+ *
7
+ * PUBLIC_FORBIDDEN_KEYWORDS: broad. Bans data-source names + concept
8
+ * vocabulary so the unauthenticated lobby surface (anon `tools/list`,
9
+ * directory tools) gives no architectural intel to callers who haven't
10
+ * authenticated yet. Used by `public-filter.ts` to sanitise descriptions
11
+ * before they cross the lobby boundary.
12
+ *
13
+ * AUTHENTICATED_FORBIDDEN_KEYWORDS: narrow. Bans only infra / vendor /
14
+ * library names whose presence is always wrong regardless of audience —
15
+ * they leak hosting + integration choices that aren't load-bearing for
16
+ * any agent. Used by the lint at `scripts/lint-mcp-tools.ts` to enforce
17
+ * on every tool description, authenticated or not.
18
+ *
19
+ * Concept vocabulary that legitimately helps the agent (Tier A/B, cascade,
20
+ * "→ then:", MCP Apps) stays permitted on the authenticated surface — those
21
+ * are user-facing concepts the agent can reason about, not implementation
22
+ * leakage. Data-source names (MLC, ISNI, MusicBrainz, etc.) similarly stay
23
+ * permitted on the authenticated surface because the agent benefits from
24
+ * knowing which sources resolved a query.
25
+ *
26
+ * The two lists are explicitly disjoint by design — sanitisation for the
27
+ * lobby surface uses the union (PUBLIC ∪ AUTHENTICATED) since everything
28
+ * banned for authenticated surfaces is also banned for unauthenticated.
29
+ */
30
+ /**
31
+ * Banned on the unauthenticated lobby surface (also banned on authenticated
32
+ * via union — see PUBLIC_FORBIDDEN_KEYWORDS_FULL below).
33
+ *
34
+ * Notably absent: "Spotify" and "YouTube" are public product surface that
35
+ * customers see in tool names like `pica_import_from_spotify` — hiding
36
+ * them in lobby descriptions would gut the utility-signal of those tools
37
+ * without protecting any algorithm.
38
+ */
39
+ export const PUBLIC_FORBIDDEN_KEYWORDS = [
40
+ "MLC",
41
+ "ISNI",
42
+ "MusicBrainz",
43
+ "Wikidata",
44
+ "Discogs",
45
+ "ACRCloud",
46
+ "cascade",
47
+ "Tier A",
48
+ "Tier B",
49
+ "ADR-164",
50
+ "ADR-179",
51
+ "identity graph",
52
+ "identity-graph",
53
+ "CAR scoring",
54
+ ];
55
+ /**
56
+ * Banned on every tool description, authenticated or not. These are infra /
57
+ * vendor / library names whose presence in a tool description is always
58
+ * implementation leakage — agents derive zero useful signal from knowing
59
+ * the email vendor, audio analysis library, or hosting platform.
60
+ *
61
+ * Stripe and Telegram are intentionally NOT banned — those are user-facing
62
+ * product surfaces (Stripe Checkout, Telegram reminders) the agent must
63
+ * reference in tool descriptions to drive correct behaviour.
64
+ */
65
+ export const AUTHENTICATED_FORBIDDEN_KEYWORDS = [
66
+ "Railway",
67
+ "Postmark",
68
+ // SendGrid + Resend intentionally omitted:
69
+ // - SendGrid: not in use. CLAUDE.md still lists it as "legacy" but
70
+ // this is stale per a 2026-05-02 confirmation; the codebase
71
+ // transactional email path is Postmark-only.
72
+ // - "Resend" the email vendor collides with the English verb "resend"
73
+ // used in tool names (`pica_collaborators_invite_resend`,
74
+ // `pica_send_resend`) and their descriptions ("Resend a pending
75
+ // collaboration invite"). Too close to the verb to lint safely;
76
+ // PR review catches the rare vendor-name leakage.
77
+ "Librosa",
78
+ "Groq",
79
+ "Whisper",
80
+ "Supabase",
81
+ "Sentry",
82
+ "Vercel",
83
+ ];
84
+ /**
85
+ * The full lobby filter is the union of both lists — anything banned on
86
+ * authenticated surfaces is also banned on unauthenticated.
87
+ */
88
+ export const PUBLIC_FORBIDDEN_KEYWORDS_FULL = [
89
+ ...PUBLIC_FORBIDDEN_KEYWORDS,
90
+ ...AUTHENTICATED_FORBIDDEN_KEYWORDS,
91
+ ];
92
+ /**
93
+ * Pattern matching any ADR reference (`ADR-123`, `ADR-1`, `ADR-9999` ...).
94
+ * The `\b` word boundaries prevent false matches on substrings like
95
+ * `LADRADR-`. ADR references are forbidden in every tool description on
96
+ * every surface.
97
+ */
98
+ export const ADR_REFERENCE_REGEX = /\bADR-\d+\b/;
99
+ //# sourceMappingURL=forbidden-keywords.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forbidden-keywords.js","sourceRoot":"","sources":["../../src/tools/forbidden-keywords.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,KAAK;IACL,MAAM;IACN,aAAa;IACb,UAAU;IACV,SAAS;IACT,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,gBAAgB;IAChB,gBAAgB;IAChB,aAAa;CACd,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAsB;IACjE,SAAS;IACT,UAAU;IACV,2CAA2C;IAC3C,qEAAqE;IACrE,gEAAgE;IAChE,iDAAiD;IACjD,wEAAwE;IACxE,8DAA8D;IAC9D,oEAAoE;IACpE,oEAAoE;IACpE,sDAAsD;IACtD,SAAS;IACT,MAAM;IACN,SAAS;IACT,UAAU;IACV,QAAQ;IACR,QAAQ;CACT,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAsB;IAC/D,GAAG,yBAAyB;IAC5B,GAAG,gCAAgC;CACpC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Groups Tools — ADR-223 Phase 5
3
+ *
4
+ * MCP write/read surface for group → member relationships on people.
5
+ * Four tools:
6
+ * - pica_group_add_member (write, Tier 1)
7
+ * - pica_group_remove_member (write, Tier 1)
8
+ * - pica_group_list_members (read)
9
+ * - pica_person_list_groups (read)
10
+ *
11
+ * Server-side trigger tg_pgm_assert_parent enforces parent.is_group=true
12
+ * and same-org constraint on every insert. Errors map to friendly
13
+ * messages on the route layer.
14
+ */
15
+ import { PicaClient } from "@withpica/mcp-sdk";
16
+ import { ToolDefinition, ToolExecutor } from "./index.js";
17
+ export declare class GroupsTools {
18
+ private pica;
19
+ constructor(pica: PicaClient);
20
+ getTools(): Array<{
21
+ definition: ToolDefinition;
22
+ executor: ToolExecutor;
23
+ }>;
24
+ private addMember;
25
+ private removeMember;
26
+ private listMembers;
27
+ private listGroups;
28
+ }
29
+ //# sourceMappingURL=groups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/tools/groups.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAiBtE,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;YAiJ3D,SAAS;YAmBT,YAAY;YAcZ,WAAW;YAWX,UAAU;CASzB"}
@@ -0,0 +1,186 @@
1
+ // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
+ import { formatSuccess, formatStructuredList, withBillingGate, } from "@withpica/mcp-utils";
3
+ const ROLE_ENUM = [
4
+ "member",
5
+ "founder",
6
+ "lead",
7
+ "touring_member",
8
+ "session",
9
+ "guest",
10
+ "producer_in_residence",
11
+ ];
12
+ export class GroupsTools {
13
+ pica;
14
+ constructor(pica) {
15
+ this.pica = pica;
16
+ }
17
+ getTools() {
18
+ return [
19
+ {
20
+ definition: {
21
+ name: "pica_group_add_member",
22
+ description: "Add a person as a member of a group person row. The group must already have is_group=true on its people record. " +
23
+ "Defaults: role='member', receive_notifications=true. " +
24
+ "→ before: pica_people_query (find both people) → then: pica_group_list_members (verify roster)",
25
+ workflows: "infrastructure",
26
+ inputSchema: {
27
+ type: "object",
28
+ properties: {
29
+ group_person_id: {
30
+ type: "string",
31
+ description: "ID of the group person row (must have is_group=true)",
32
+ },
33
+ member_person_id: {
34
+ type: "string",
35
+ description: "ID of the member person row",
36
+ },
37
+ role: {
38
+ type: "string",
39
+ enum: [...ROLE_ENUM],
40
+ description: "Constrained role within the group. Default 'member'.",
41
+ },
42
+ role_label: {
43
+ type: "string",
44
+ description: "Free-text label for variants outside the enum (e.g. 'lead vocalist for tour 2025'). Optional.",
45
+ },
46
+ joined_at: {
47
+ type: "string",
48
+ description: "When the member joined (ISO 8601). Omit for unknown.",
49
+ },
50
+ receive_notifications: {
51
+ type: "boolean",
52
+ description: "Whether the member's linked user account (if any) gets notifications about group activity. Default true.",
53
+ },
54
+ notification_filter: {
55
+ type: "array",
56
+ items: { type: "string" },
57
+ description: "Optional subset of original event types to be notified about (e.g. ['work_credit_added','agreement_party_linked']). Omit for all.",
58
+ },
59
+ },
60
+ required: ["group_person_id", "member_person_id"],
61
+ },
62
+ },
63
+ executor: withBillingGate(this.pica, "group member add", this.addMember.bind(this)),
64
+ },
65
+ {
66
+ definition: {
67
+ name: "pica_group_remove_member",
68
+ description: "Remove a member from a group by setting left_at on the active row. The row is preserved — never deleted — so member history survives. " +
69
+ "→ then: pica_group_list_members (with include_inactive=true to see history)",
70
+ workflows: "infrastructure",
71
+ inputSchema: {
72
+ type: "object",
73
+ properties: {
74
+ group_person_id: {
75
+ type: "string",
76
+ description: "Group person ID",
77
+ },
78
+ member_person_id: {
79
+ type: "string",
80
+ description: "Member person ID",
81
+ },
82
+ left_at: {
83
+ type: "string",
84
+ description: "When they left (ISO 8601). Defaults to now.",
85
+ },
86
+ },
87
+ required: ["group_person_id", "member_person_id"],
88
+ },
89
+ },
90
+ executor: withBillingGate(this.pica, "group member remove", this.removeMember.bind(this)),
91
+ },
92
+ {
93
+ definition: {
94
+ name: "pica_group_list_members",
95
+ description: "List members of a group person. Active members only by default; pass include_inactive=true for history. " +
96
+ "→ then: pica_people_inspect (get details for a specific member)",
97
+ workflows: "infrastructure",
98
+ inputSchema: {
99
+ type: "object",
100
+ properties: {
101
+ group_person_id: {
102
+ type: "string",
103
+ description: "Group person ID (must have is_group=true)",
104
+ },
105
+ include_inactive: {
106
+ type: "boolean",
107
+ description: "Include rows with left_at set (past members). Default false.",
108
+ },
109
+ },
110
+ required: ["group_person_id"],
111
+ },
112
+ },
113
+ executor: this.listMembers.bind(this),
114
+ },
115
+ {
116
+ definition: {
117
+ name: "pica_person_list_groups",
118
+ description: "List the groups a person is (or was) a member of. Active memberships only by default. " +
119
+ "→ then: pica_people_inspect (get group details)",
120
+ workflows: "infrastructure",
121
+ inputSchema: {
122
+ type: "object",
123
+ properties: {
124
+ person_id: {
125
+ type: "string",
126
+ description: "Person ID",
127
+ },
128
+ include_inactive: {
129
+ type: "boolean",
130
+ description: "Include rows with left_at set (past memberships). Default false.",
131
+ },
132
+ },
133
+ required: ["person_id"],
134
+ },
135
+ },
136
+ executor: this.listGroups.bind(this),
137
+ },
138
+ ];
139
+ }
140
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- args bag from MCP transport
141
+ async addMember(args) {
142
+ const result = await this.pica.groups.addMember({
143
+ group_person_id: args.group_person_id,
144
+ member_person_id: args.member_person_id,
145
+ role: args.role,
146
+ role_label: args.role_label,
147
+ joined_at: args.joined_at,
148
+ receive_notifications: args.receive_notifications,
149
+ notification_filter: args.notification_filter,
150
+ });
151
+ const data = result?.data ?? result;
152
+ const role = data?.role ?? "member";
153
+ return formatSuccess(`Member added to group as ${role}${data?.role_label ? ` (${data.role_label})` : ""}.`, data);
154
+ }
155
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- args bag from MCP transport
156
+ async removeMember(args) {
157
+ const result = await this.pica.groups.removeMember({
158
+ group_person_id: args.group_person_id,
159
+ member_person_id: args.member_person_id,
160
+ left_at: args.left_at,
161
+ });
162
+ const data = result?.data ?? result;
163
+ return formatSuccess(`Member removed from group (left_at=${data?.left_at ?? "now"}). Row preserved for history.`, data);
164
+ }
165
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- args bag from MCP transport
166
+ async listMembers(args) {
167
+ const result = await this.pica.groups.listMembers(args.group_person_id, {
168
+ include_inactive: !!args.include_inactive,
169
+ });
170
+ const items = (result?.data ?? result ?? []);
171
+ return formatStructuredList(items, "group_membership", {
172
+ total: items.length,
173
+ });
174
+ }
175
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- args bag from MCP transport
176
+ async listGroups(args) {
177
+ const result = await this.pica.groups.listGroupsForPerson(args.person_id, {
178
+ include_inactive: !!args.include_inactive,
179
+ });
180
+ const items = (result?.data ?? result ?? []);
181
+ return formatStructuredList(items, "group_membership", {
182
+ total: items.length,
183
+ });
184
+ }
185
+ }
186
+ //# sourceMappingURL=groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../src/tools/groups.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,7 @@ export interface NextStepHint {
39
39
  * Optional in W1; W4 flips it to required after W2's resource registry
40
40
  * lands so every tool is forced to declare its workflow at compile time.
41
41
  */
42
- export type WorkflowTag = "work-required" | "recording-required" | "work-credits-required" | "recording-credits-required" | "person-required" | "audio-upload-required" | "enrichment-resolve-required" | "agreement-required" | "multimedia-required" | "export-required" | "claim-required" | "session-required" | "split-sheet-required" | "recording-splits-required" | "infrastructure";
42
+ export type WorkflowTag = "work-required" | "recording-required" | "work-credits-required" | "recording-credits-required" | "person-required" | "audio-upload-required" | "enrichment-resolve-required" | "agreement-required" | "multimedia-required" | "export-required" | "claim-required" | "session-required" | "split-sheet-required" | "recording-splits-required" | "sync-placement-required" | "infrastructure";
43
43
  export interface ToolDefinition {
44
44
  name: string;
45
45
  description: string;